@wordpress/fields 0.5.1-next.cd6172eb0.0 → 0.7.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 (267) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +32 -36
  4. package/build/actions/delete-post.js +5 -0
  5. package/build/actions/delete-post.js.map +1 -1
  6. package/build/actions/duplicate-pattern.js +4 -0
  7. package/build/actions/duplicate-pattern.js.map +1 -1
  8. package/build/actions/duplicate-post.js +8 -3
  9. package/build/actions/duplicate-post.js.map +1 -1
  10. package/build/actions/duplicate-template-part.js +3 -0
  11. package/build/actions/duplicate-template-part.js.map +1 -1
  12. package/build/actions/export-pattern.js +5 -0
  13. package/build/actions/export-pattern.js.map +1 -1
  14. package/build/actions/index.js +0 -21
  15. package/build/actions/index.js.map +1 -1
  16. package/build/actions/permanently-delete-post.js +109 -65
  17. package/build/actions/permanently-delete-post.js.map +1 -1
  18. package/build/actions/rename-post.js +4 -0
  19. package/build/actions/rename-post.js.map +1 -1
  20. package/build/actions/reorder-page.js +4 -0
  21. package/build/actions/reorder-page.js.map +1 -1
  22. package/build/actions/reset-post.js +4 -0
  23. package/build/actions/reset-post.js.map +1 -1
  24. package/build/actions/restore-post.js +5 -0
  25. package/build/actions/restore-post.js.map +1 -1
  26. package/build/actions/trash-post.js +5 -0
  27. package/build/actions/trash-post.js.map +1 -1
  28. package/build/actions/view-post-revisions.js +4 -0
  29. package/build/actions/view-post-revisions.js.map +1 -1
  30. package/build/actions/view-post.js +4 -0
  31. package/build/actions/view-post.js.map +1 -1
  32. package/build/components/create-template-part-modal/index.js +48 -52
  33. package/build/components/create-template-part-modal/index.js.map +1 -1
  34. package/build/components/create-template-part-modal/utils.js +1 -0
  35. package/build/components/create-template-part-modal/utils.js.map +1 -1
  36. package/build/fields/featured-image/index.js +4 -0
  37. package/build/fields/featured-image/index.js.map +1 -1
  38. package/build/fields/index.js +21 -0
  39. package/build/fields/index.js.map +1 -1
  40. package/build/fields/order/index.js +4 -0
  41. package/build/fields/order/index.js.map +1 -1
  42. package/build/fields/page-title/index.js +36 -0
  43. package/build/fields/page-title/index.js.map +1 -0
  44. package/build/fields/page-title/view.js +49 -0
  45. package/build/fields/page-title/view.js.map +1 -0
  46. package/build/fields/parent/index.js +1 -1
  47. package/build/fields/parent/index.js.map +1 -1
  48. package/build/fields/parent/parent-edit.js +1 -0
  49. package/build/fields/parent/parent-edit.js.map +1 -1
  50. package/build/fields/password/index.js +1 -1
  51. package/build/fields/password/index.js.map +1 -1
  52. package/build/fields/pattern-title/index.js +36 -0
  53. package/build/fields/pattern-title/index.js.map +1 -0
  54. package/build/fields/pattern-title/view.js +45 -0
  55. package/build/fields/pattern-title/view.js.map +1 -0
  56. package/build/fields/slug/index.js +4 -0
  57. package/build/fields/slug/index.js.map +1 -1
  58. package/build/fields/status/status-view.js +1 -0
  59. package/build/fields/status/status-view.js.map +1 -1
  60. package/build/fields/template/index.js +4 -3
  61. package/build/fields/template/index.js.map +1 -1
  62. package/build/fields/template/template-edit.js +1 -0
  63. package/build/fields/template/template-edit.js.map +1 -1
  64. package/build/fields/template-title/index.js +36 -0
  65. package/build/fields/template-title/index.js.map +1 -0
  66. package/build/fields/title/index.js +10 -3
  67. package/build/fields/title/index.js.map +1 -1
  68. package/build/fields/title/view.js +48 -0
  69. package/build/fields/title/view.js.map +1 -0
  70. package/build/index.native.js +0 -26
  71. package/build/index.native.js.map +1 -1
  72. package/build/mutation/index.js +1 -0
  73. package/build/mutation/index.js.map +1 -1
  74. package/build-module/actions/delete-post.js +5 -0
  75. package/build-module/actions/delete-post.js.map +1 -1
  76. package/build-module/actions/duplicate-pattern.js +4 -0
  77. package/build-module/actions/duplicate-pattern.js.map +1 -1
  78. package/build-module/actions/duplicate-post.js +8 -3
  79. package/build-module/actions/duplicate-post.js.map +1 -1
  80. package/build-module/actions/duplicate-template-part.js +3 -0
  81. package/build-module/actions/duplicate-template-part.js.map +1 -1
  82. package/build-module/actions/export-pattern.js +5 -0
  83. package/build-module/actions/export-pattern.js.map +1 -1
  84. package/build-module/actions/index.js +0 -3
  85. package/build-module/actions/index.js.map +1 -1
  86. package/build-module/actions/permanently-delete-post.js +110 -66
  87. package/build-module/actions/permanently-delete-post.js.map +1 -1
  88. package/build-module/actions/rename-post.js +4 -0
  89. package/build-module/actions/rename-post.js.map +1 -1
  90. package/build-module/actions/reorder-page.js +4 -0
  91. package/build-module/actions/reorder-page.js.map +1 -1
  92. package/build-module/actions/reset-post.js +4 -0
  93. package/build-module/actions/reset-post.js.map +1 -1
  94. package/build-module/actions/restore-post.js +5 -0
  95. package/build-module/actions/restore-post.js.map +1 -1
  96. package/build-module/actions/trash-post.js +5 -0
  97. package/build-module/actions/trash-post.js.map +1 -1
  98. package/build-module/actions/view-post-revisions.js +4 -0
  99. package/build-module/actions/view-post-revisions.js.map +1 -1
  100. package/build-module/actions/view-post.js +4 -0
  101. package/build-module/actions/view-post.js.map +1 -1
  102. package/build-module/components/create-template-part-modal/index.js +49 -53
  103. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  104. package/build-module/components/create-template-part-modal/utils.js +1 -0
  105. package/build-module/components/create-template-part-modal/utils.js.map +1 -1
  106. package/build-module/fields/featured-image/index.js +4 -0
  107. package/build-module/fields/featured-image/index.js.map +1 -1
  108. package/build-module/fields/index.js +3 -0
  109. package/build-module/fields/index.js.map +1 -1
  110. package/build-module/fields/order/index.js +4 -0
  111. package/build-module/fields/order/index.js.map +1 -1
  112. package/build-module/fields/page-title/index.js +30 -0
  113. package/build-module/fields/page-title/index.js.map +1 -0
  114. package/build-module/fields/page-title/view.js +43 -0
  115. package/build-module/fields/page-title/view.js.map +1 -0
  116. package/build-module/fields/parent/index.js +1 -1
  117. package/build-module/fields/parent/index.js.map +1 -1
  118. package/build-module/fields/parent/parent-edit.js +1 -0
  119. package/build-module/fields/parent/parent-edit.js.map +1 -1
  120. package/build-module/fields/password/index.js +1 -1
  121. package/build-module/fields/password/index.js.map +1 -1
  122. package/build-module/fields/pattern-title/index.js +30 -0
  123. package/build-module/fields/pattern-title/index.js.map +1 -0
  124. package/build-module/fields/pattern-title/view.js +36 -0
  125. package/build-module/fields/pattern-title/view.js.map +1 -0
  126. package/build-module/fields/slug/index.js +4 -0
  127. package/build-module/fields/slug/index.js.map +1 -1
  128. package/build-module/fields/status/status-view.js +1 -0
  129. package/build-module/fields/status/status-view.js.map +1 -1
  130. package/build-module/fields/template/index.js +4 -3
  131. package/build-module/fields/template/index.js.map +1 -1
  132. package/build-module/fields/template/template-edit.js +1 -0
  133. package/build-module/fields/template/template-edit.js.map +1 -1
  134. package/build-module/fields/template-title/index.js +30 -0
  135. package/build-module/fields/template-title/index.js.map +1 -0
  136. package/build-module/fields/title/index.js +9 -2
  137. package/build-module/fields/title/index.js.map +1 -1
  138. package/build-module/fields/title/view.js +39 -0
  139. package/build-module/fields/title/view.js.map +1 -0
  140. package/build-module/index.native.js +1 -2
  141. package/build-module/index.native.js.map +1 -1
  142. package/build-module/mutation/index.js +1 -0
  143. package/build-module/mutation/index.js.map +1 -1
  144. package/build-style/style-rtl.css +62 -32
  145. package/build-style/style.css +62 -32
  146. package/build-types/actions/delete-post.d.ts +3 -0
  147. package/build-types/actions/delete-post.d.ts.map +1 -1
  148. package/build-types/actions/duplicate-pattern.d.ts +3 -0
  149. package/build-types/actions/duplicate-pattern.d.ts.map +1 -1
  150. package/build-types/actions/duplicate-post.d.ts +3 -0
  151. package/build-types/actions/duplicate-post.d.ts.map +1 -1
  152. package/build-types/actions/duplicate-template-part.d.ts +3 -0
  153. package/build-types/actions/duplicate-template-part.d.ts.map +1 -1
  154. package/build-types/actions/export-pattern.d.ts +3 -0
  155. package/build-types/actions/export-pattern.d.ts.map +1 -1
  156. package/build-types/actions/index.d.ts +0 -3
  157. package/build-types/actions/index.d.ts.map +1 -1
  158. package/build-types/actions/permanently-delete-post.d.ts +3 -0
  159. package/build-types/actions/permanently-delete-post.d.ts.map +1 -1
  160. package/build-types/actions/rename-post.d.ts +3 -0
  161. package/build-types/actions/rename-post.d.ts.map +1 -1
  162. package/build-types/actions/reorder-page.d.ts +3 -0
  163. package/build-types/actions/reorder-page.d.ts.map +1 -1
  164. package/build-types/actions/reset-post.d.ts +3 -0
  165. package/build-types/actions/reset-post.d.ts.map +1 -1
  166. package/build-types/actions/restore-post.d.ts +3 -0
  167. package/build-types/actions/restore-post.d.ts.map +1 -1
  168. package/build-types/actions/trash-post.d.ts +3 -0
  169. package/build-types/actions/trash-post.d.ts.map +1 -1
  170. package/build-types/actions/view-post-revisions.d.ts +3 -0
  171. package/build-types/actions/view-post-revisions.d.ts.map +1 -1
  172. package/build-types/actions/view-post.d.ts +3 -0
  173. package/build-types/actions/view-post.d.ts.map +1 -1
  174. package/build-types/components/create-template-part-modal/index.d.ts.map +1 -1
  175. package/build-types/fields/featured-image/index.d.ts +3 -0
  176. package/build-types/fields/featured-image/index.d.ts.map +1 -1
  177. package/build-types/fields/index.d.ts +3 -0
  178. package/build-types/fields/index.d.ts.map +1 -1
  179. package/build-types/fields/order/index.d.ts +3 -0
  180. package/build-types/fields/order/index.d.ts.map +1 -1
  181. package/build-types/fields/page-title/index.d.ts +14 -0
  182. package/build-types/fields/page-title/index.d.ts.map +1 -0
  183. package/build-types/fields/page-title/view.d.ts +8 -0
  184. package/build-types/fields/page-title/view.d.ts.map +1 -0
  185. package/build-types/fields/parent/index.d.ts +1 -1
  186. package/build-types/fields/password/index.d.ts +1 -1
  187. package/build-types/fields/pattern-title/index.d.ts +14 -0
  188. package/build-types/fields/pattern-title/index.d.ts.map +1 -0
  189. package/build-types/fields/pattern-title/view.d.ts +9 -0
  190. package/build-types/fields/pattern-title/view.d.ts.map +1 -0
  191. package/build-types/fields/slug/index.d.ts +3 -0
  192. package/build-types/fields/slug/index.d.ts.map +1 -1
  193. package/build-types/fields/template/index.d.ts +3 -0
  194. package/build-types/fields/template/index.d.ts.map +1 -1
  195. package/build-types/fields/template-title/index.d.ts +14 -0
  196. package/build-types/fields/template-title/index.d.ts.map +1 -0
  197. package/build-types/fields/title/index.d.ts +7 -2
  198. package/build-types/fields/title/index.d.ts.map +1 -1
  199. package/build-types/fields/title/view.d.ts +14 -0
  200. package/build-types/fields/title/view.d.ts.map +1 -0
  201. package/build-types/index.native.d.ts +0 -2
  202. package/build-types/index.native.d.ts.map +1 -1
  203. package/package.json +25 -25
  204. package/src/actions/delete-post.tsx +3 -0
  205. package/src/actions/duplicate-pattern.tsx +3 -0
  206. package/src/actions/duplicate-post.tsx +6 -3
  207. package/src/actions/duplicate-template-part.tsx +3 -1
  208. package/src/actions/export-pattern.tsx +3 -0
  209. package/src/actions/index.ts +0 -3
  210. package/src/actions/permanently-delete-post.tsx +160 -86
  211. package/src/actions/rename-post.tsx +3 -0
  212. package/src/actions/reorder-page.tsx +3 -0
  213. package/src/actions/reset-post.tsx +3 -0
  214. package/src/actions/restore-post.tsx +3 -0
  215. package/src/actions/trash-post.tsx +3 -0
  216. package/src/actions/view-post-revisions.tsx +3 -0
  217. package/src/actions/view-post.tsx +3 -0
  218. package/src/components/create-template-part-modal/index.tsx +81 -66
  219. package/src/components/create-template-part-modal/style.scss +79 -54
  220. package/src/fields/featured-image/index.ts +3 -0
  221. package/src/fields/index.ts +3 -0
  222. package/src/fields/order/index.ts +3 -0
  223. package/src/fields/page-title/index.ts +28 -0
  224. package/src/fields/page-title/view.tsx +41 -0
  225. package/src/fields/parent/index.ts +1 -1
  226. package/src/fields/password/index.tsx +1 -1
  227. package/src/fields/pattern-title/index.ts +28 -0
  228. package/src/fields/pattern-title/style.scss +3 -0
  229. package/src/fields/pattern-title/view.tsx +32 -0
  230. package/src/fields/slug/index.ts +3 -0
  231. package/src/fields/template/index.ts +3 -1
  232. package/src/fields/template-title/index.ts +28 -0
  233. package/src/fields/title/index.ts +9 -3
  234. package/src/fields/title/style.scss +8 -0
  235. package/src/fields/title/view.tsx +43 -0
  236. package/src/index.native.ts +0 -2
  237. package/src/style.scss +2 -0
  238. package/tsconfig.json +1 -4
  239. package/tsconfig.tsbuildinfo +1 -1
  240. package/build/actions/duplicate-post.native.js +0 -9
  241. package/build/actions/duplicate-post.native.js.map +0 -1
  242. package/build/actions/export-pattern.native.js +0 -9
  243. package/build/actions/export-pattern.native.js.map +0 -1
  244. package/build/actions/reorder-page.native.js +0 -9
  245. package/build/actions/reorder-page.native.js.map +0 -1
  246. package/build/fields/title/title-view.js +0 -61
  247. package/build/fields/title/title-view.js.map +0 -1
  248. package/build-module/actions/duplicate-post.native.js +0 -3
  249. package/build-module/actions/duplicate-post.native.js.map +0 -1
  250. package/build-module/actions/export-pattern.native.js +0 -3
  251. package/build-module/actions/export-pattern.native.js.map +0 -1
  252. package/build-module/actions/reorder-page.native.js +0 -3
  253. package/build-module/actions/reorder-page.native.js.map +0 -1
  254. package/build-module/fields/title/title-view.js +0 -55
  255. package/build-module/fields/title/title-view.js.map +0 -1
  256. package/build-types/actions/duplicate-post.native.d.ts +0 -3
  257. package/build-types/actions/duplicate-post.native.d.ts.map +0 -1
  258. package/build-types/actions/export-pattern.native.d.ts +0 -3
  259. package/build-types/actions/export-pattern.native.d.ts.map +0 -1
  260. package/build-types/actions/reorder-page.native.d.ts +0 -3
  261. package/build-types/actions/reorder-page.native.d.ts.map +0 -1
  262. package/build-types/fields/title/title-view.d.ts +0 -9
  263. package/build-types/fields/title/title-view.d.ts.map +0 -1
  264. package/src/actions/duplicate-post.native.tsx +0 -3
  265. package/src/actions/export-pattern.native.tsx +0 -3
  266. package/src/actions/reorder-page.native.tsx +0 -3
  267. package/src/fields/title/title-view.tsx +0 -61
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/featured-image/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAE,QAAQ,CAOxC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/featured-image/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAE,QAAQ,CAOxC,CAAC;AAEF;;GAEG;AACH,eAAe,kBAAkB,CAAC"}
@@ -1,5 +1,8 @@
1
1
  export { default as slugField } from './slug';
2
2
  export { default as titleField } from './title';
3
+ export { default as pageTitleField } from './page-title';
4
+ export { default as templateTitleField } from './template-title';
5
+ export { default as patternTitleField } from './pattern-title';
3
6
  export { default as orderField } from './order';
4
7
  export { default as featuredImageField } from './featured-image';
5
8
  export { default as templateField } from './template';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -7,5 +7,8 @@ import type { Field } from '@wordpress/dataviews';
7
7
  */
8
8
  import type { BasePost } from '../../types';
9
9
  declare const orderField: Field<BasePost>;
10
+ /**
11
+ * Order field for BasePost.
12
+ */
10
13
  export default orderField;
11
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/order/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,QAAA,MAAM,UAAU,EAAE,KAAK,CAAE,QAAQ,CAKhC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/order/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,QAAA,MAAM,UAAU,EAAE,KAAK,CAAE,QAAQ,CAKhC,CAAC;AAEF;;GAEG;AACH,eAAe,UAAU,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import type { Field } from '@wordpress/dataviews';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+ import type { BasePost } from '../../types';
9
+ declare const pageTitleField: Field<BasePost>;
10
+ /**
11
+ * Title for the page entity.
12
+ */
13
+ export default pageTitleField;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/page-title/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,QAAA,MAAM,cAAc,EAAE,KAAK,CAAE,QAAQ,CASpC,CAAC;AAEF;;GAEG;AACH,eAAe,cAAc,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import type { CommonPost } from '../../types';
5
+ export default function PageTitleView({ item }: {
6
+ item: CommonPost;
7
+ }): import("react").JSX.Element;
8
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/fields/page-title/view.tsx"],"names":[],"mappings":"AASA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK9C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAE,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,+BAuBpE"}
@@ -8,7 +8,7 @@ import type { Field } from '@wordpress/dataviews';
8
8
  import type { BasePost } from '../../types';
9
9
  declare const parentField: Field<BasePost>;
10
10
  /**
11
- * This field is used to display the post parent.
11
+ * Parent field for BasePost.
12
12
  */
13
13
  export default parentField;
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -8,7 +8,7 @@ import type { Field } from '@wordpress/dataviews';
8
8
  import type { BasePost } from '../../types';
9
9
  declare const passwordField: Field<BasePost>;
10
10
  /**
11
- * This field is used to display the post password.
11
+ * Password field for BasePost.
12
12
  */
13
13
  export default passwordField;
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import type { Field } from '@wordpress/dataviews';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+ import type { Pattern } from '../../types';
9
+ declare const patternTitleField: Field<Pattern>;
10
+ /**
11
+ * Title for the pattern entity.
12
+ */
13
+ export default patternTitleField;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/pattern-title/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAI3C,QAAA,MAAM,iBAAiB,EAAE,KAAK,CAAE,OAAO,CAStC,CAAC;AAEF;;GAEG;AACH,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import type { CommonPost } from '../../types';
5
+ export declare const PATTERN_TYPES: any;
6
+ export default function PatternTitleView({ item }: {
7
+ item: CommonPost;
8
+ }): import("react").JSX.Element;
9
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/fields/pattern-title/view.tsx"],"names":[],"mappings":"AASA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,eAAO,MAAQ,aAAa,KAAiC,CAAC;AAE9D,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAE,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,+BAavE"}
@@ -7,5 +7,8 @@ import type { Field } from '@wordpress/dataviews';
7
7
  */
8
8
  import type { BasePost } from '../../types';
9
9
  declare const slugField: Field<BasePost>;
10
+ /**
11
+ * Slug field for BasePost.
12
+ */
10
13
  export default slugField;
11
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/slug/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,QAAA,MAAM,SAAS,EAAE,KAAK,CAAE,QAAQ,CAM/B,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/slug/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,QAAA,MAAM,SAAS,EAAE,KAAK,CAAE,QAAQ,CAM/B,CAAC;AAEF;;GAEG;AACH,eAAe,SAAS,CAAC"}
@@ -4,5 +4,8 @@
4
4
  import type { Field } from '@wordpress/dataviews';
5
5
  import type { BasePost } from '../../types';
6
6
  declare const templateField: Field<BasePost>;
7
+ /**
8
+ * Template field for BasePost.
9
+ */
7
10
  export default templateField;
8
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/template/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,QAAA,MAAM,aAAa,EAAE,KAAK,CAAE,QAAQ,CAOnC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/template/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,QAAA,MAAM,aAAa,EAAE,KAAK,CAAE,QAAQ,CAMnC,CAAC;AAEF;;GAEG;AACH,eAAe,aAAa,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import type { Field } from '@wordpress/dataviews';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+ import type { Template } from '../../types';
9
+ declare const templateTitleField: Field<Template>;
10
+ /**
11
+ * Title for the template entity.
12
+ */
13
+ export default templateTitleField;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/template-title/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAE,QAAQ,CASxC,CAAC;AAEF;;GAEG;AACH,eAAe,kBAAkB,CAAC"}
@@ -5,7 +5,12 @@ import type { Field } from '@wordpress/dataviews';
5
5
  /**
6
6
  * Internal dependencies
7
7
  */
8
- import type { BasePost } from '../../types';
9
- declare const titleField: Field<BasePost>;
8
+ import type { CommonPost } from '../../types';
9
+ declare const titleField: Field<CommonPost>;
10
+ /**
11
+ * Title for the any entity with a `title` property.
12
+ * For patterns, pages or templates you should use the respective field
13
+ * because there are some differences in the rendering, labels, etc.
14
+ */
10
15
  export default titleField;
11
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/title/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,QAAA,MAAM,UAAU,EAAE,KAAK,CAAE,QAAQ,CAQhC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/title/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,QAAA,MAAM,UAAU,EAAE,KAAK,CAAE,UAAU,CASlC,CAAC;AAEF;;;;GAIG;AACH,eAAe,UAAU,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * Internal dependencies
4
+ */
5
+ import type { CommonPost } from '../../types';
6
+ export declare function BaseTitleView({ item, className, children, }: {
7
+ item: CommonPost;
8
+ className?: string;
9
+ children?: ReactNode;
10
+ }): import("react").JSX.Element;
11
+ export default function TitleView({ item }: {
12
+ item: CommonPost;
13
+ }): import("react").JSX.Element;
14
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/fields/title/view.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQvC;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,wBAAgB,aAAa,CAAE,EAC9B,IAAI,EACJ,SAAS,EACT,QAAQ,GACR,EAAE;IACF,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACrB,+BAYA;AAED,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,+BAEhE"}
@@ -1,3 +1 @@
1
- export * from './actions/duplicate-post.native';
2
- export * from './actions/reorder-page.native';
3
1
  //# sourceMappingURL=index.native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../src/index.native.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../src/index.native.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/fields",
3
- "version": "0.5.1-next.cd6172eb0.0",
3
+ "version": "0.7.0",
4
4
  "description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -33,29 +33,29 @@
33
33
  ],
34
34
  "dependencies": {
35
35
  "@babel/runtime": "7.25.7",
36
- "@wordpress/api-fetch": "^7.13.1-next.cd6172eb0.0",
37
- "@wordpress/blob": "^4.13.1-next.cd6172eb0.0",
38
- "@wordpress/block-editor": "^14.8.1-next.cd6172eb0.0",
39
- "@wordpress/blocks": "^14.2.1-next.cd6172eb0.0",
40
- "@wordpress/components": "*",
41
- "@wordpress/compose": "^7.13.1-next.cd6172eb0.0",
42
- "@wordpress/core-data": "^7.13.1-next.cd6172eb0.0",
43
- "@wordpress/data": "^10.13.1-next.cd6172eb0.0",
44
- "@wordpress/dataviews": "^4.9.1-next.cd6172eb0.0",
45
- "@wordpress/date": "^5.13.1-next.cd6172eb0.0",
46
- "@wordpress/element": "^6.13.1-next.cd6172eb0.0",
47
- "@wordpress/hooks": "^4.13.1-next.cd6172eb0.0",
48
- "@wordpress/html-entities": "^4.13.1-next.cd6172eb0.0",
49
- "@wordpress/i18n": "^5.13.1-next.cd6172eb0.0",
50
- "@wordpress/icons": "^10.13.1-next.cd6172eb0.0",
51
- "@wordpress/media-utils": "^5.13.1-next.cd6172eb0.0",
52
- "@wordpress/notices": "^5.13.1-next.cd6172eb0.0",
53
- "@wordpress/patterns": "^2.13.1-next.cd6172eb0.0",
54
- "@wordpress/primitives": "^4.13.1-next.cd6172eb0.0",
55
- "@wordpress/private-apis": "^1.13.1-next.cd6172eb0.0",
56
- "@wordpress/router": "^1.13.1-next.cd6172eb0.0",
57
- "@wordpress/url": "^4.13.1-next.cd6172eb0.0",
58
- "@wordpress/warning": "^3.13.1-next.cd6172eb0.0",
36
+ "@wordpress/api-fetch": "^7.15.0",
37
+ "@wordpress/blob": "^4.15.0",
38
+ "@wordpress/block-editor": "^14.10.0",
39
+ "@wordpress/blocks": "^14.4.0",
40
+ "@wordpress/components": "^29.1.0",
41
+ "@wordpress/compose": "^7.15.0",
42
+ "@wordpress/core-data": "^7.15.0",
43
+ "@wordpress/data": "^10.15.0",
44
+ "@wordpress/dataviews": "^4.11.0",
45
+ "@wordpress/date": "^5.15.0",
46
+ "@wordpress/element": "^6.15.0",
47
+ "@wordpress/hooks": "^4.15.0",
48
+ "@wordpress/html-entities": "^4.15.0",
49
+ "@wordpress/i18n": "^5.15.0",
50
+ "@wordpress/icons": "^10.15.0",
51
+ "@wordpress/media-utils": "^5.15.0",
52
+ "@wordpress/notices": "^5.15.0",
53
+ "@wordpress/patterns": "^2.15.0",
54
+ "@wordpress/primitives": "^4.15.0",
55
+ "@wordpress/private-apis": "^1.15.0",
56
+ "@wordpress/router": "^1.15.0",
57
+ "@wordpress/url": "^4.15.0",
58
+ "@wordpress/warning": "^3.15.0",
59
59
  "change-case": "4.1.2",
60
60
  "client-zip": "^2.4.5",
61
61
  "clsx": "2.1.1",
@@ -67,5 +67,5 @@
67
67
  "publishConfig": {
68
68
  "access": "public"
69
69
  },
70
- "gitHead": "4cc93dc1781d8a7bc2bbde265913917920e2bd45"
70
+ "gitHead": "75a65eb8ffc168a92042544052f46d080a71ea45"
71
71
  }
@@ -203,4 +203,7 @@ const deletePostAction: Action< Template | TemplatePart | Pattern > = {
203
203
  },
204
204
  };
205
205
 
206
+ /**
207
+ * Delete action for Templates, Patterns and Template Parts.
208
+ */
206
209
  export default deletePostAction;
@@ -37,4 +37,7 @@ const duplicatePattern: Action< Pattern > = {
37
37
  },
38
38
  };
39
39
 
40
+ /**
41
+ * Duplicate action for Pattern.
42
+ */
40
43
  export default duplicatePattern;
@@ -37,8 +37,8 @@ const duplicatePost: Action< BasePost > = {
37
37
  const [ item, setItem ] = useState< BasePost >( {
38
38
  ...items[ 0 ],
39
39
  title: sprintf(
40
- /* translators: %s: Existing template title */
41
- _x( '%s (Copy)', 'template' ),
40
+ /* translators: %s: Existing post title */
41
+ _x( '%s (Copy)', 'post' ),
42
42
  getItemTitle( items[ 0 ] )
43
43
  ),
44
44
  } );
@@ -104,7 +104,7 @@ const duplicatePost: Action< BasePost > = {
104
104
 
105
105
  createSuccessNotice(
106
106
  sprintf(
107
- // translators: %s: Title of the created post or template, e.g: "Hello world".
107
+ // translators: %s: Title of the created post, e.g: "Hello world".
108
108
  __( '"%s" successfully created.' ),
109
109
  decodeEntities( newItem.title?.rendered || item.title )
110
110
  ),
@@ -171,4 +171,7 @@ const duplicatePost: Action< BasePost > = {
171
171
  },
172
172
  };
173
173
 
174
+ /**
175
+ * Duplicate action for BasePost.
176
+ */
174
177
  export default duplicatePost;
@@ -68,5 +68,7 @@ const duplicateTemplatePart: Action< TemplatePart > = {
68
68
  );
69
69
  },
70
70
  };
71
-
71
+ /**
72
+ * Duplicate action for TemplatePart.
73
+ */
72
74
  export default duplicateTemplatePart;
@@ -73,4 +73,7 @@ const exportPattern: Action< Pattern > = {
73
73
  },
74
74
  };
75
75
 
76
+ /**
77
+ * Export action as JSON for Pattern.
78
+ */
76
79
  export default exportPattern;
@@ -1,13 +1,10 @@
1
1
  export { default as viewPost } from './view-post';
2
2
  export { default as reorderPage } from './reorder-page';
3
- export { default as reorderPageNative } from './reorder-page.native';
4
3
  export { default as duplicatePost } from './duplicate-post';
5
- export { default as duplicatePostNative } from './duplicate-post.native';
6
4
  export { default as renamePost } from './rename-post';
7
5
  export { default as resetPost } from './reset-post';
8
6
  export { default as duplicatePattern } from './duplicate-pattern';
9
7
  export { default as exportPattern } from './export-pattern';
10
- export { default as exportPatternNative } from './export-pattern.native';
11
8
  export { default as viewPostRevisions } from './view-post-revisions';
12
9
  export { default as permanentlyDeletePost } from './permanently-delete-post';
13
10
  export { default as restorePost } from './restore-post';
@@ -2,10 +2,19 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { store as coreStore } from '@wordpress/core-data';
5
- import { __, sprintf } from '@wordpress/i18n';
5
+ import { __, _n, sprintf } from '@wordpress/i18n';
6
6
  import { store as noticesStore } from '@wordpress/notices';
7
7
  import type { Action } from '@wordpress/dataviews';
8
8
  import { trash } from '@wordpress/icons';
9
+ import { useState } from '@wordpress/element';
10
+ import { useDispatch } from '@wordpress/data';
11
+ import {
12
+ Button,
13
+ __experimentalText as Text,
14
+ __experimentalHStack as HStack,
15
+ __experimentalVStack as VStack,
16
+ } from '@wordpress/components';
17
+ import { decodeEntities } from '@wordpress/html-entities';
9
18
 
10
19
  /**
11
20
  * Internal dependencies
@@ -25,94 +34,159 @@ const permanentlyDeletePost: Action< PostWithPermissions > = {
25
34
  const { status, permissions } = item;
26
35
  return status === 'trash' && permissions?.delete;
27
36
  },
28
- async callback( posts, { registry, onActionPerformed } ) {
37
+ hideModalHeader: true,
38
+ RenderModal: ( { items, closeModal, onActionPerformed } ) => {
39
+ const [ isBusy, setIsBusy ] = useState( false );
29
40
  const { createSuccessNotice, createErrorNotice } =
30
- registry.dispatch( noticesStore );
31
- const { deleteEntityRecord } = registry.dispatch( coreStore );
32
- const promiseResult = await Promise.allSettled(
33
- posts.map( ( post ) => {
34
- return deleteEntityRecord(
35
- 'postType',
36
- post.type,
37
- post.id,
38
- { force: true },
39
- { throwOnError: true }
40
- );
41
- } )
41
+ useDispatch( noticesStore );
42
+ const { deleteEntityRecord } = useDispatch( coreStore );
43
+
44
+ return (
45
+ <VStack spacing="5">
46
+ <Text>
47
+ { items.length > 1
48
+ ? sprintf(
49
+ // translators: %d: number of items to delete.
50
+ _n(
51
+ 'Are you sure you want to permanently delete %d item?',
52
+ 'Are you sure you want to permanently delete %d items?',
53
+ items.length
54
+ ),
55
+ items.length
56
+ )
57
+ : sprintf(
58
+ // translators: %s: The post's title
59
+ __(
60
+ 'Are you sure you want to permanently delete "%s"?'
61
+ ),
62
+ decodeEntities( getItemTitle( items[ 0 ] ) )
63
+ ) }
64
+ </Text>
65
+ <HStack justify="right">
66
+ <Button
67
+ variant="tertiary"
68
+ onClick={ closeModal }
69
+ disabled={ isBusy }
70
+ accessibleWhenDisabled
71
+ __next40pxDefaultSize
72
+ >
73
+ { __( 'Cancel' ) }
74
+ </Button>
75
+ <Button
76
+ variant="primary"
77
+ onClick={ async () => {
78
+ setIsBusy( true );
79
+ const promiseResult = await Promise.allSettled(
80
+ items.map( ( post ) =>
81
+ deleteEntityRecord(
82
+ 'postType',
83
+ post.type,
84
+ post.id,
85
+ { force: true },
86
+ { throwOnError: true }
87
+ )
88
+ )
89
+ );
90
+
91
+ // If all the promises were fulfilled with success.
92
+ if (
93
+ promiseResult.every(
94
+ ( { status } ) => status === 'fulfilled'
95
+ )
96
+ ) {
97
+ let successMessage;
98
+ if ( promiseResult.length === 1 ) {
99
+ successMessage = sprintf(
100
+ /* translators: The posts's title. */
101
+ __( '"%s" permanently deleted.' ),
102
+ getItemTitle( items[ 0 ] )
103
+ );
104
+ } else {
105
+ successMessage = __(
106
+ 'The items were permanently deleted.'
107
+ );
108
+ }
109
+ createSuccessNotice( successMessage, {
110
+ type: 'snackbar',
111
+ id: 'permanently-delete-post-action',
112
+ } );
113
+ onActionPerformed?.( items );
114
+ } else {
115
+ // If there was at lease one failure.
116
+ let errorMessage;
117
+ // If we were trying to permanently delete a single post.
118
+ if ( promiseResult.length === 1 ) {
119
+ const typedError = promiseResult[ 0 ] as {
120
+ reason?: CoreDataError;
121
+ };
122
+ if ( typedError.reason?.message ) {
123
+ errorMessage =
124
+ typedError.reason.message;
125
+ } else {
126
+ errorMessage = __(
127
+ 'An error occurred while permanently deleting the item.'
128
+ );
129
+ }
130
+ // If we were trying to permanently delete multiple posts
131
+ } else {
132
+ const errorMessages = new Set();
133
+ const failedPromises = promiseResult.filter(
134
+ ( { status } ) => status === 'rejected'
135
+ );
136
+ for ( const failedPromise of failedPromises ) {
137
+ const typedError = failedPromise as {
138
+ reason?: CoreDataError;
139
+ };
140
+ if ( typedError.reason?.message ) {
141
+ errorMessages.add(
142
+ typedError.reason.message
143
+ );
144
+ }
145
+ }
146
+ if ( errorMessages.size === 0 ) {
147
+ errorMessage = __(
148
+ 'An error occurred while permanently deleting the items.'
149
+ );
150
+ } else if ( errorMessages.size === 1 ) {
151
+ errorMessage = sprintf(
152
+ /* translators: %s: an error message */
153
+ __(
154
+ 'An error occurred while permanently deleting the items: %s'
155
+ ),
156
+ [ ...errorMessages ][ 0 ]
157
+ );
158
+ } else {
159
+ errorMessage = sprintf(
160
+ /* translators: %s: a list of comma separated error messages */
161
+ __(
162
+ 'Some errors occurred while permanently deleting the items: %s'
163
+ ),
164
+ [ ...errorMessages ].join( ',' )
165
+ );
166
+ }
167
+ }
168
+ createErrorNotice( errorMessage, {
169
+ type: 'snackbar',
170
+ } );
171
+ }
172
+
173
+ setIsBusy( false );
174
+ closeModal?.();
175
+ } }
176
+ isBusy={ isBusy }
177
+ disabled={ isBusy }
178
+ accessibleWhenDisabled
179
+ __next40pxDefaultSize
180
+ >
181
+ { __( 'Delete permanently' ) }
182
+ </Button>
183
+ </HStack>
184
+ </VStack>
42
185
  );
43
- // If all the promises were fulfilled with success.
44
- if ( promiseResult.every( ( { status } ) => status === 'fulfilled' ) ) {
45
- let successMessage;
46
- if ( promiseResult.length === 1 ) {
47
- successMessage = sprintf(
48
- /* translators: The posts's title. */
49
- __( '"%s" permanently deleted.' ),
50
- getItemTitle( posts[ 0 ] )
51
- );
52
- } else {
53
- successMessage = __( 'The items were permanently deleted.' );
54
- }
55
- createSuccessNotice( successMessage, {
56
- type: 'snackbar',
57
- id: 'permanently-delete-post-action',
58
- } );
59
- onActionPerformed?.( posts );
60
- } else {
61
- // If there was at lease one failure.
62
- let errorMessage;
63
- // If we were trying to permanently delete a single post.
64
- if ( promiseResult.length === 1 ) {
65
- const typedError = promiseResult[ 0 ] as {
66
- reason?: CoreDataError;
67
- };
68
- if ( typedError.reason?.message ) {
69
- errorMessage = typedError.reason.message;
70
- } else {
71
- errorMessage = __(
72
- 'An error occurred while permanently deleting the item.'
73
- );
74
- }
75
- // If we were trying to permanently delete multiple posts
76
- } else {
77
- const errorMessages = new Set();
78
- const failedPromises = promiseResult.filter(
79
- ( { status } ) => status === 'rejected'
80
- );
81
- for ( const failedPromise of failedPromises ) {
82
- const typedError = failedPromise as {
83
- reason?: CoreDataError;
84
- };
85
- if ( typedError.reason?.message ) {
86
- errorMessages.add( typedError.reason.message );
87
- }
88
- }
89
- if ( errorMessages.size === 0 ) {
90
- errorMessage = __(
91
- 'An error occurred while permanently deleting the items.'
92
- );
93
- } else if ( errorMessages.size === 1 ) {
94
- errorMessage = sprintf(
95
- /* translators: %s: an error message */
96
- __(
97
- 'An error occurred while permanently deleting the items: %s'
98
- ),
99
- [ ...errorMessages ][ 0 ]
100
- );
101
- } else {
102
- errorMessage = sprintf(
103
- /* translators: %s: a list of comma separated error messages */
104
- __(
105
- 'Some errors occurred while permanently deleting the items: %s'
106
- ),
107
- [ ...errorMessages ].join( ',' )
108
- );
109
- }
110
- }
111
- createErrorNotice( errorMessage, {
112
- type: 'snackbar',
113
- } );
114
- }
115
186
  },
116
187
  };
117
188
 
189
+ /**
190
+ * Delete action for PostWithPermissions.
191
+ */
118
192
  export default permanentlyDeletePost;
@@ -139,4 +139,7 @@ const renamePost: Action< PostWithPermissions > = {
139
139
  },
140
140
  };
141
141
 
142
+ /**
143
+ * Rename action for PostWithPermissions.
144
+ */
142
145
  export default renamePost;