@wordpress/fields 0.24.0 → 0.24.1-next.ff1cebbba.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 (250) hide show
  1. package/README.md +1 -1
  2. package/build/actions/delete-post.js +168 -117
  3. package/build/actions/delete-post.js.map +7 -1
  4. package/build/actions/duplicate-pattern.js +42 -43
  5. package/build/actions/duplicate-pattern.js.map +7 -1
  6. package/build/actions/duplicate-post.js +104 -93
  7. package/build/actions/duplicate-post.js.map +7 -1
  8. package/build/actions/duplicate-template-part.js +71 -63
  9. package/build/actions/duplicate-template-part.js.map +7 -1
  10. package/build/actions/export-pattern.js +60 -45
  11. package/build/actions/export-pattern.js.map +7 -1
  12. package/build/actions/index.js +71 -94
  13. package/build/actions/index.js.map +7 -1
  14. package/build/actions/permanently-delete-post.js +161 -132
  15. package/build/actions/permanently-delete-post.js.map +7 -1
  16. package/build/actions/rename-post.js +77 -83
  17. package/build/actions/rename-post.js.map +7 -1
  18. package/build/actions/reorder-page.js +76 -73
  19. package/build/actions/reorder-page.js.map +7 -1
  20. package/build/actions/reset-post.js +214 -165
  21. package/build/actions/reset-post.js.map +7 -1
  22. package/build/actions/restore-post.js +91 -75
  23. package/build/actions/restore-post.js.map +7 -1
  24. package/build/actions/trash-post.js +167 -127
  25. package/build/actions/trash-post.js.map +7 -1
  26. package/build/actions/utils.js +48 -41
  27. package/build/actions/utils.js.map +7 -1
  28. package/build/actions/view-post-revisions.js +39 -35
  29. package/build/actions/view-post-revisions.js.map +7 -1
  30. package/build/actions/view-post.js +31 -28
  31. package/build/actions/view-post.js.map +7 -1
  32. package/build/components/create-template-part-modal/index.js +213 -169
  33. package/build/components/create-template-part-modal/index.js.map +7 -1
  34. package/build/components/create-template-part-modal/utils.js +48 -48
  35. package/build/components/create-template-part-modal/utils.js.map +7 -1
  36. package/build/fields/author/author-view.js +63 -69
  37. package/build/fields/author/author-view.js.map +7 -1
  38. package/build/fields/author/index.js +43 -29
  39. package/build/fields/author/index.js.map +7 -1
  40. package/build/fields/comment-status/index.js +42 -32
  41. package/build/fields/comment-status/index.js.map +7 -1
  42. package/build/fields/date/date-view.js +84 -58
  43. package/build/fields/date/date-view.js.map +7 -1
  44. package/build/fields/date/index.js +39 -25
  45. package/build/fields/date/index.js.map +7 -1
  46. package/build/fields/discussion/index.js +36 -32
  47. package/build/fields/discussion/index.js.map +7 -1
  48. package/build/fields/featured-image/featured-image-edit.js +115 -97
  49. package/build/fields/featured-image/featured-image-edit.js.map +7 -1
  50. package/build/fields/featured-image/featured-image-view.js +41 -34
  51. package/build/fields/featured-image/featured-image-view.js.map +7 -1
  52. package/build/fields/featured-image/index.js +31 -26
  53. package/build/fields/featured-image/index.js.map +7 -1
  54. package/build/fields/index.js +83 -118
  55. package/build/fields/index.js.map +7 -1
  56. package/build/fields/order/index.js +28 -23
  57. package/build/fields/order/index.js.map +7 -1
  58. package/build/fields/page-title/index.js +42 -30
  59. package/build/fields/page-title/index.js.map +7 -1
  60. package/build/fields/page-title/view.js +38 -41
  61. package/build/fields/page-title/view.js.map +7 -1
  62. package/build/fields/parent/index.js +31 -26
  63. package/build/fields/parent/index.js.map +7 -1
  64. package/build/fields/parent/parent-edit.js +200 -168
  65. package/build/fields/parent/parent-edit.js.map +7 -1
  66. package/build/fields/parent/parent-view.js +40 -31
  67. package/build/fields/parent/parent-view.js.map +7 -1
  68. package/build/fields/parent/utils.js +29 -16
  69. package/build/fields/parent/utils.js.map +7 -1
  70. package/build/fields/password/edit.js +67 -53
  71. package/build/fields/password/edit.js.map +7 -1
  72. package/build/fields/password/index.js +40 -26
  73. package/build/fields/password/index.js.map +7 -1
  74. package/build/fields/pattern-title/index.js +42 -30
  75. package/build/fields/pattern-title/index.js.map +7 -1
  76. package/build/fields/pattern-title/view.js +43 -41
  77. package/build/fields/pattern-title/view.js.map +7 -1
  78. package/build/fields/ping-status/index.js +66 -47
  79. package/build/fields/ping-status/index.js.map +7 -1
  80. package/build/fields/slug/index.js +41 -27
  81. package/build/fields/slug/index.js.map +7 -1
  82. package/build/fields/slug/slug-edit.js +116 -107
  83. package/build/fields/slug/slug-edit.js.map +7 -1
  84. package/build/fields/slug/slug-view.js +30 -23
  85. package/build/fields/slug/slug-view.js.map +7 -1
  86. package/build/fields/slug/utils.js +32 -20
  87. package/build/fields/slug/utils.js.map +7 -1
  88. package/build/fields/status/index.js +43 -29
  89. package/build/fields/status/index.js.map +7 -1
  90. package/build/fields/status/status-elements.js +58 -44
  91. package/build/fields/status/status-elements.js.map +7 -1
  92. package/build/fields/status/status-view.js +42 -36
  93. package/build/fields/status/status-view.js.map +7 -1
  94. package/build/fields/template/index.js +29 -24
  95. package/build/fields/template/index.js.map +7 -1
  96. package/build/fields/template/template-edit.js +167 -142
  97. package/build/fields/template/template-edit.js.map +7 -1
  98. package/build/fields/template-title/index.js +42 -30
  99. package/build/fields/template-title/index.js.map +7 -1
  100. package/build/fields/title/index.js +42 -32
  101. package/build/fields/title/index.js.map +7 -1
  102. package/build/fields/title/view.js +57 -39
  103. package/build/fields/title/view.js.map +7 -1
  104. package/build/index.js +39 -36
  105. package/build/index.js.map +7 -1
  106. package/build/lock-unlock.js +31 -14
  107. package/build/lock-unlock.js.map +7 -1
  108. package/build/mutation/index.js +91 -76
  109. package/build/mutation/index.js.map +7 -1
  110. package/build/types.js +16 -5
  111. package/build/types.js.map +7 -1
  112. package/build-module/actions/delete-post.js +155 -107
  113. package/build-module/actions/delete-post.js.map +7 -1
  114. package/build-module/actions/duplicate-pattern.js +24 -36
  115. package/build-module/actions/duplicate-pattern.js.map +7 -1
  116. package/build-module/actions/duplicate-post.js +87 -84
  117. package/build-module/actions/duplicate-post.js.map +7 -1
  118. package/build-module/actions/duplicate-template-part.js +51 -58
  119. package/build-module/actions/duplicate-template-part.js.map +7 -1
  120. package/build-module/actions/export-pattern.js +40 -39
  121. package/build-module/actions/export-pattern.js.map +7 -1
  122. package/build-module/actions/index.js +29 -14
  123. package/build-module/actions/index.js.map +7 -1
  124. package/build-module/actions/permanently-delete-post.js +146 -125
  125. package/build-module/actions/permanently-delete-post.js.map +7 -1
  126. package/build-module/actions/rename-post.js +63 -77
  127. package/build-module/actions/rename-post.js.map +7 -1
  128. package/build-module/actions/reorder-page.js +58 -65
  129. package/build-module/actions/reorder-page.js.map +7 -1
  130. package/build-module/actions/reset-post.js +185 -152
  131. package/build-module/actions/reset-post.js.map +7 -1
  132. package/build-module/actions/restore-post.js +72 -68
  133. package/build-module/actions/restore-post.js.map +7 -1
  134. package/build-module/actions/trash-post.js +152 -119
  135. package/build-module/actions/trash-post.js.map +7 -1
  136. package/build-module/actions/utils.js +23 -34
  137. package/build-module/actions/utils.js.map +7 -1
  138. package/build-module/actions/view-post-revisions.js +21 -31
  139. package/build-module/actions/view-post-revisions.js.map +7 -1
  140. package/build-module/actions/view-post.js +12 -23
  141. package/build-module/actions/view-post.js.map +7 -1
  142. package/build-module/components/create-template-part-modal/index.js +201 -154
  143. package/build-module/components/create-template-part-modal/index.js.map +7 -1
  144. package/build-module/components/create-template-part-modal/utils.js +26 -43
  145. package/build-module/components/create-template-part-modal/utils.js.map +7 -1
  146. package/build-module/fields/author/author-view.js +34 -62
  147. package/build-module/fields/author/author-view.js.map +7 -1
  148. package/build-module/fields/author/index.js +14 -24
  149. package/build-module/fields/author/index.js.map +7 -1
  150. package/build-module/fields/comment-status/index.js +24 -29
  151. package/build-module/fields/comment-status/index.js.map +7 -1
  152. package/build-module/fields/date/date-view.js +66 -53
  153. package/build-module/fields/date/date-view.js.map +7 -1
  154. package/build-module/fields/date/index.js +10 -20
  155. package/build-module/fields/date/index.js.map +7 -1
  156. package/build-module/fields/discussion/index.js +18 -29
  157. package/build-module/fields/discussion/index.js.map +7 -1
  158. package/build-module/fields/featured-image/featured-image-edit.js +93 -90
  159. package/build-module/fields/featured-image/featured-image-edit.js.map +7 -1
  160. package/build-module/fields/featured-image/featured-image-view.js +20 -29
  161. package/build-module/fields/featured-image/featured-image-view.js.map +7 -1
  162. package/build-module/fields/featured-image/index.js +11 -21
  163. package/build-module/fields/featured-image/index.js.map +7 -1
  164. package/build-module/fields/index.js +35 -17
  165. package/build-module/fields/index.js.map +7 -1
  166. package/build-module/fields/order/index.js +10 -20
  167. package/build-module/fields/order/index.js.map +7 -1
  168. package/build-module/fields/page-title/index.js +13 -25
  169. package/build-module/fields/page-title/index.js.map +7 -1
  170. package/build-module/fields/page-title/view.js +20 -37
  171. package/build-module/fields/page-title/view.js.map +7 -1
  172. package/build-module/fields/parent/index.js +11 -21
  173. package/build-module/fields/parent/index.js.map +7 -1
  174. package/build-module/fields/parent/parent-edit.js +172 -160
  175. package/build-module/fields/parent/parent-edit.js.map +7 -1
  176. package/build-module/fields/parent/parent-view.js +19 -27
  177. package/build-module/fields/parent/parent-view.js.map +7 -1
  178. package/build-module/fields/parent/utils.js +8 -13
  179. package/build-module/fields/parent/utils.js.map +7 -1
  180. package/build-module/fields/password/edit.js +53 -48
  181. package/build-module/fields/password/edit.js.map +7 -1
  182. package/build-module/fields/password/index.js +11 -21
  183. package/build-module/fields/password/index.js.map +7 -1
  184. package/build-module/fields/pattern-title/index.js +13 -25
  185. package/build-module/fields/pattern-title/index.js.map +7 -1
  186. package/build-module/fields/pattern-title/view.js +21 -34
  187. package/build-module/fields/pattern-title/view.js.map +7 -1
  188. package/build-module/fields/ping-status/index.js +48 -43
  189. package/build-module/fields/ping-status/index.js.map +7 -1
  190. package/build-module/fields/slug/index.js +11 -21
  191. package/build-module/fields/slug/index.js.map +7 -1
  192. package/build-module/fields/slug/slug-edit.js +101 -100
  193. package/build-module/fields/slug/slug-edit.js.map +7 -1
  194. package/build-module/fields/slug/slug-view.js +9 -16
  195. package/build-module/fields/slug/slug-view.js.map +7 -1
  196. package/build-module/fields/slug/utils.js +9 -13
  197. package/build-module/fields/slug/utils.js.map +7 -1
  198. package/build-module/fields/status/index.js +13 -23
  199. package/build-module/fields/status/index.js.map +7 -1
  200. package/build-module/fields/status/status-elements.js +47 -40
  201. package/build-module/fields/status/status-elements.js.map +7 -1
  202. package/build-module/fields/status/status-view.js +14 -31
  203. package/build-module/fields/status/status-view.js.map +7 -1
  204. package/build-module/fields/template/index.js +10 -18
  205. package/build-module/fields/template/index.js.map +7 -1
  206. package/build-module/fields/template/template-edit.js +147 -130
  207. package/build-module/fields/template/template-edit.js.map +7 -1
  208. package/build-module/fields/template-title/index.js +13 -25
  209. package/build-module/fields/template-title/index.js.map +7 -1
  210. package/build-module/fields/title/index.js +13 -27
  211. package/build-module/fields/title/index.js.map +7 -1
  212. package/build-module/fields/title/view.js +25 -32
  213. package/build-module/fields/title/view.js.map +7 -1
  214. package/build-module/index.js +7 -4
  215. package/build-module/index.js.map +7 -1
  216. package/build-module/lock-unlock.js +8 -7
  217. package/build-module/lock-unlock.js.map +7 -1
  218. package/build-module/mutation/index.js +70 -72
  219. package/build-module/mutation/index.js.map +7 -1
  220. package/build-module/types.js +1 -2
  221. package/build-module/types.js.map +7 -1
  222. package/build-style/style-rtl.css +4 -139
  223. package/build-style/style.css +4 -139
  224. package/build-types/fields/author/author-view.d.ts.map +1 -1
  225. package/build-types/fields/discussion/index.d.ts.map +1 -1
  226. package/build-types/fields/featured-image/featured-image-edit.d.ts +2 -2
  227. package/build-types/fields/featured-image/featured-image-edit.d.ts.map +1 -1
  228. package/build-types/fields/featured-image/featured-image-view.d.ts +5 -2
  229. package/build-types/fields/featured-image/featured-image-view.d.ts.map +1 -1
  230. package/build-types/fields/featured-image/index.d.ts +3 -3
  231. package/build-types/fields/featured-image/index.d.ts.map +1 -1
  232. package/build-types/types.d.ts +18 -0
  233. package/build-types/types.d.ts.map +1 -1
  234. package/package.json +34 -27
  235. package/src/components/create-template-part-modal/style.scss +4 -0
  236. package/src/fields/author/author-view.tsx +3 -17
  237. package/src/fields/discussion/index.tsx +1 -0
  238. package/src/fields/featured-image/featured-image-edit.tsx +2 -2
  239. package/src/fields/featured-image/featured-image-view.tsx +3 -15
  240. package/src/fields/featured-image/index.ts +3 -3
  241. package/src/fields/featured-image/style.scss +3 -0
  242. package/src/fields/template/style.scss +4 -0
  243. package/src/fields/title/style.scss +1 -1
  244. package/src/style.scss +9 -8
  245. package/src/types.ts +18 -0
  246. package/tsconfig.tsbuildinfo +1 -1
  247. package/build/index.native.js +0 -2
  248. package/build/index.native.js.map +0 -1
  249. package/build-module/index.native.js +0 -2
  250. package/build-module/index.native.js.map +0 -1
@@ -1,146 +1,167 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { store as coreStore } from '@wordpress/core-data';
5
- import { __, _n, sprintf } from '@wordpress/i18n';
6
- import { store as noticesStore } from '@wordpress/notices';
7
- import { trash } from '@wordpress/icons';
8
- import { useState } from '@wordpress/element';
9
- import { useDispatch } from '@wordpress/data';
10
- import { Button, __experimentalText as Text, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
11
- import { decodeEntities } from '@wordpress/html-entities';
12
-
13
- /**
14
- * Internal dependencies
15
- */
16
- import { getItemTitle, isTemplateOrTemplatePart } from './utils';
17
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { store as coreStore } from "@wordpress/core-data";
3
+ import { __, _n, sprintf } from "@wordpress/i18n";
4
+ import { store as noticesStore } from "@wordpress/notices";
5
+ import { trash } from "@wordpress/icons";
6
+ import { useState } from "@wordpress/element";
7
+ import { useDispatch } from "@wordpress/data";
8
+ import {
9
+ Button,
10
+ __experimentalText as Text,
11
+ __experimentalHStack as HStack,
12
+ __experimentalVStack as VStack
13
+ } from "@wordpress/components";
14
+ import { decodeEntities } from "@wordpress/html-entities";
15
+ import { getItemTitle, isTemplateOrTemplatePart } from "./utils";
18
16
  const permanentlyDeletePost = {
19
- id: 'permanently-delete',
20
- label: __('Permanently delete'),
17
+ id: "permanently-delete",
18
+ label: __("Permanently delete"),
21
19
  supportsBulk: true,
22
20
  icon: trash,
23
21
  isEligible(item) {
24
- if (isTemplateOrTemplatePart(item) || item.type === 'wp_block') {
22
+ if (isTemplateOrTemplatePart(item) || item.type === "wp_block") {
25
23
  return false;
26
24
  }
27
- const {
28
- status,
29
- permissions
30
- } = item;
31
- return status === 'trash' && permissions?.delete;
25
+ const { status, permissions } = item;
26
+ return status === "trash" && permissions?.delete;
32
27
  },
33
28
  hideModalHeader: true,
34
- modalFocusOnMount: 'firstContentElement',
35
- RenderModal: ({
36
- items,
37
- closeModal,
38
- onActionPerformed
39
- }) => {
29
+ modalFocusOnMount: "firstContentElement",
30
+ RenderModal: ({ items, closeModal, onActionPerformed }) => {
40
31
  const [isBusy, setIsBusy] = useState(false);
41
- const {
42
- createSuccessNotice,
43
- createErrorNotice
44
- } = useDispatch(noticesStore);
45
- const {
46
- deleteEntityRecord
47
- } = useDispatch(coreStore);
48
- return /*#__PURE__*/_jsxs(VStack, {
49
- spacing: "5",
50
- children: [/*#__PURE__*/_jsx(Text, {
51
- children: items.length > 1 ? sprintf(
32
+ const { createSuccessNotice, createErrorNotice } = useDispatch(noticesStore);
33
+ const { deleteEntityRecord } = useDispatch(coreStore);
34
+ return /* @__PURE__ */ jsxs(VStack, { spacing: "5", children: [
35
+ /* @__PURE__ */ jsx(Text, { children: items.length > 1 ? sprintf(
52
36
  // translators: %d: number of items to delete.
53
- _n('Are you sure you want to permanently delete %d item?', 'Are you sure you want to permanently delete %d items?', items.length), items.length) : sprintf(
37
+ _n(
38
+ "Are you sure you want to permanently delete %d item?",
39
+ "Are you sure you want to permanently delete %d items?",
40
+ items.length
41
+ ),
42
+ items.length
43
+ ) : sprintf(
54
44
  // translators: %s: The post's title
55
- __('Are you sure you want to permanently delete "%s"?'), decodeEntities(getItemTitle(items[0])))
56
- }), /*#__PURE__*/_jsxs(HStack, {
57
- justify: "right",
58
- children: [/*#__PURE__*/_jsx(Button, {
59
- variant: "tertiary",
60
- onClick: closeModal,
61
- disabled: isBusy,
62
- accessibleWhenDisabled: true,
63
- __next40pxDefaultSize: true,
64
- children: __('Cancel')
65
- }), /*#__PURE__*/_jsx(Button, {
66
- variant: "primary",
67
- onClick: async () => {
68
- setIsBusy(true);
69
- const promiseResult = await Promise.allSettled(items.map(post => deleteEntityRecord('postType', post.type, post.id, {
70
- force: true
71
- }, {
72
- throwOnError: true
73
- })));
74
-
75
- // If all the promises were fulfilled with success.
76
- if (promiseResult.every(({
77
- status
78
- }) => status === 'fulfilled')) {
79
- let successMessage;
80
- if (promiseResult.length === 1) {
81
- successMessage = sprintf(/* translators: %s: The posts's title. */
82
- __('"%s" permanently deleted.'), getItemTitle(items[0]));
83
- } else {
84
- successMessage = __('The items were permanently deleted.');
85
- }
86
- createSuccessNotice(successMessage, {
87
- type: 'snackbar',
88
- id: 'permanently-delete-post-action'
89
- });
90
- onActionPerformed?.(items);
91
- } else {
92
- // If there was at lease one failure.
93
- let errorMessage;
94
- // If we were trying to permanently delete a single post.
95
- if (promiseResult.length === 1) {
96
- const typedError = promiseResult[0];
97
- if (typedError.reason?.message) {
98
- errorMessage = typedError.reason.message;
45
+ __(
46
+ 'Are you sure you want to permanently delete "%s"?'
47
+ ),
48
+ decodeEntities(getItemTitle(items[0]))
49
+ ) }),
50
+ /* @__PURE__ */ jsxs(HStack, { justify: "right", children: [
51
+ /* @__PURE__ */ jsx(
52
+ Button,
53
+ {
54
+ variant: "tertiary",
55
+ onClick: closeModal,
56
+ disabled: isBusy,
57
+ accessibleWhenDisabled: true,
58
+ __next40pxDefaultSize: true,
59
+ children: __("Cancel")
60
+ }
61
+ ),
62
+ /* @__PURE__ */ jsx(
63
+ Button,
64
+ {
65
+ variant: "primary",
66
+ onClick: async () => {
67
+ setIsBusy(true);
68
+ const promiseResult = await Promise.allSettled(
69
+ items.map(
70
+ (post) => deleteEntityRecord(
71
+ "postType",
72
+ post.type,
73
+ post.id,
74
+ { force: true },
75
+ { throwOnError: true }
76
+ )
77
+ )
78
+ );
79
+ if (promiseResult.every(
80
+ ({ status }) => status === "fulfilled"
81
+ )) {
82
+ let successMessage;
83
+ if (promiseResult.length === 1) {
84
+ successMessage = sprintf(
85
+ /* translators: %s: The posts's title. */
86
+ __('"%s" permanently deleted.'),
87
+ getItemTitle(items[0])
88
+ );
99
89
  } else {
100
- errorMessage = __('An error occurred while permanently deleting the item.');
90
+ successMessage = __(
91
+ "The items were permanently deleted."
92
+ );
101
93
  }
102
- // If we were trying to permanently delete multiple posts
94
+ createSuccessNotice(successMessage, {
95
+ type: "snackbar",
96
+ id: "permanently-delete-post-action"
97
+ });
98
+ onActionPerformed?.(items);
103
99
  } else {
104
- const errorMessages = new Set();
105
- const failedPromises = promiseResult.filter(({
106
- status
107
- }) => status === 'rejected');
108
- for (const failedPromise of failedPromises) {
109
- const typedError = failedPromise;
100
+ let errorMessage;
101
+ if (promiseResult.length === 1) {
102
+ const typedError = promiseResult[0];
110
103
  if (typedError.reason?.message) {
111
- errorMessages.add(typedError.reason.message);
104
+ errorMessage = typedError.reason.message;
105
+ } else {
106
+ errorMessage = __(
107
+ "An error occurred while permanently deleting the item."
108
+ );
112
109
  }
113
- }
114
- if (errorMessages.size === 0) {
115
- errorMessage = __('An error occurred while permanently deleting the items.');
116
- } else if (errorMessages.size === 1) {
117
- errorMessage = sprintf(/* translators: %s: an error message */
118
- __('An error occurred while permanently deleting the items: %s'), [...errorMessages][0]);
119
110
  } else {
120
- errorMessage = sprintf(/* translators: %s: a list of comma separated error messages */
121
- __('Some errors occurred while permanently deleting the items: %s'), [...errorMessages].join(','));
111
+ const errorMessages = /* @__PURE__ */ new Set();
112
+ const failedPromises = promiseResult.filter(
113
+ ({ status }) => status === "rejected"
114
+ );
115
+ for (const failedPromise of failedPromises) {
116
+ const typedError = failedPromise;
117
+ if (typedError.reason?.message) {
118
+ errorMessages.add(
119
+ typedError.reason.message
120
+ );
121
+ }
122
+ }
123
+ if (errorMessages.size === 0) {
124
+ errorMessage = __(
125
+ "An error occurred while permanently deleting the items."
126
+ );
127
+ } else if (errorMessages.size === 1) {
128
+ errorMessage = sprintf(
129
+ /* translators: %s: an error message */
130
+ __(
131
+ "An error occurred while permanently deleting the items: %s"
132
+ ),
133
+ [...errorMessages][0]
134
+ );
135
+ } else {
136
+ errorMessage = sprintf(
137
+ /* translators: %s: a list of comma separated error messages */
138
+ __(
139
+ "Some errors occurred while permanently deleting the items: %s"
140
+ ),
141
+ [...errorMessages].join(",")
142
+ );
143
+ }
122
144
  }
145
+ createErrorNotice(errorMessage, {
146
+ type: "snackbar"
147
+ });
123
148
  }
124
- createErrorNotice(errorMessage, {
125
- type: 'snackbar'
126
- });
127
- }
128
- setIsBusy(false);
129
- closeModal?.();
130
- },
131
- isBusy: isBusy,
132
- disabled: isBusy,
133
- accessibleWhenDisabled: true,
134
- __next40pxDefaultSize: true,
135
- children: __('Delete permanently')
136
- })]
137
- })]
138
- });
149
+ setIsBusy(false);
150
+ closeModal?.();
151
+ },
152
+ isBusy,
153
+ disabled: isBusy,
154
+ accessibleWhenDisabled: true,
155
+ __next40pxDefaultSize: true,
156
+ children: __("Delete permanently")
157
+ }
158
+ )
159
+ ] })
160
+ ] });
139
161
  }
140
162
  };
141
-
142
- /**
143
- * Delete action for PostWithPermissions.
144
- */
145
- export default permanentlyDeletePost;
146
- //# sourceMappingURL=permanently-delete-post.js.map
163
+ var permanently_delete_post_default = permanentlyDeletePost;
164
+ export {
165
+ permanently_delete_post_default as default
166
+ };
167
+ //# sourceMappingURL=permanently-delete-post.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["store","coreStore","__","_n","sprintf","noticesStore","trash","useState","useDispatch","Button","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","decodeEntities","getItemTitle","isTemplateOrTemplatePart","jsx","_jsx","jsxs","_jsxs","permanentlyDeletePost","id","label","supportsBulk","icon","isEligible","item","type","status","permissions","delete","hideModalHeader","modalFocusOnMount","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","createSuccessNotice","createErrorNotice","deleteEntityRecord","spacing","children","length","justify","variant","onClick","disabled","accessibleWhenDisabled","__next40pxDefaultSize","promiseResult","Promise","allSettled","map","post","force","throwOnError","every","successMessage","errorMessage","typedError","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join"],"sources":["@wordpress/fields/src/actions/permanently-delete-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport type { Action } from '@wordpress/dataviews';\nimport { trash } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { getItemTitle, isTemplateOrTemplatePart } from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\nconst permanentlyDeletePost: Action< PostWithPermissions > = {\n\tid: 'permanently-delete',\n\tlabel: __( 'Permanently delete' ),\n\tsupportsBulk: true,\n\ticon: trash,\n\tisEligible( item ) {\n\t\tif ( isTemplateOrTemplatePart( item ) || item.type === 'wp_block' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst { status, permissions } = item;\n\t\treturn status === 'trash' && permissions?.delete;\n\t},\n\thideModalHeader: true,\n\tmodalFocusOnMount: 'firstContentElement',\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ items.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: number of items to delete.\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to permanently delete %d item?',\n\t\t\t\t\t\t\t\t\t'Are you sure you want to permanently delete %d items?',\n\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The post's title\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to permanently delete \"%s\"?'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tdecodeEntities( getItemTitle( items[ 0 ] ) )\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\t\t\t\titems.map( ( post ) =>\n\t\t\t\t\t\t\t\t\tdeleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tlet successMessage;\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: The posts's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" permanently deleted.' ),\n\t\t\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t\t\t\t'The items were permanently deleted.'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tid: 'permanently-delete-post-action',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tonActionPerformed?.( items );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t\t\t\t// If we were trying to permanently delete a single post.\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tconst typedError = promiseResult[ 0 ] as {\n\t\t\t\t\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\t\t\t\t\ttypedError.reason.message;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the item.'\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// If we were trying to permanently delete multiple posts\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst errorMessages = new Set< string >();\n\t\t\t\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\t\t\t\tconst typedError = failedPromise as {\n\t\t\t\t\t\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\t\t\t\ttypedError.reason.message\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}\n\t\t\t\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the items.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: an error message */\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'An error occurred while permanently deleting the items: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\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'Some errors occurred while permanently deleting the items: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete permanently' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\n/**\n * Delete action for PostWithPermissions.\n */\nexport default permanentlyDeletePost;\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/actions/permanently-delete-post.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport type { Action } from '@wordpress/dataviews';\nimport { trash } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { getItemTitle, isTemplateOrTemplatePart } from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\nconst permanentlyDeletePost: Action< PostWithPermissions > = {\n\tid: 'permanently-delete',\n\tlabel: __( 'Permanently delete' ),\n\tsupportsBulk: true,\n\ticon: trash,\n\tisEligible( item ) {\n\t\tif ( isTemplateOrTemplatePart( item ) || item.type === 'wp_block' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst { status, permissions } = item;\n\t\treturn status === 'trash' && permissions?.delete;\n\t},\n\thideModalHeader: true,\n\tmodalFocusOnMount: 'firstContentElement',\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ items.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: number of items to delete.\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to permanently delete %d item?',\n\t\t\t\t\t\t\t\t\t'Are you sure you want to permanently delete %d items?',\n\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The post's title\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to permanently delete \"%s\"?'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tdecodeEntities( getItemTitle( items[ 0 ] ) )\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\t\t\t\titems.map( ( post ) =>\n\t\t\t\t\t\t\t\t\tdeleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tlet successMessage;\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: The posts's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" permanently deleted.' ),\n\t\t\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t\t\t\t'The items were permanently deleted.'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tid: 'permanently-delete-post-action',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tonActionPerformed?.( items );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t\t\t\t// If we were trying to permanently delete a single post.\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tconst typedError = promiseResult[ 0 ] as {\n\t\t\t\t\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\t\t\t\t\ttypedError.reason.message;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the item.'\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// If we were trying to permanently delete multiple posts\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst errorMessages = new Set< string >();\n\t\t\t\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\t\t\t\tconst typedError = failedPromise as {\n\t\t\t\t\t\t\t\t\t\t\treason?: CoreDataError;\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\t\t\t\ttypedError.reason.message\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}\n\t\t\t\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the items.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: an error message */\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'An error occurred while permanently deleting the items: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\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'Some errors occurred while permanently deleting the items: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete permanently' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\n/**\n * Delete action for PostWithPermissions.\n */\nexport default permanentlyDeletePost;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,117 +1,103 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useDispatch } from '@wordpress/data';
5
- import { store as coreStore } from '@wordpress/core-data';
6
- import { __ } from '@wordpress/i18n';
7
- import { useState } from '@wordpress/element';
8
- // @ts-ignore
9
- import { privateApis as patternsPrivateApis } from '@wordpress/patterns';
10
- import { Button, TextControl, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
11
- import { store as noticesStore } from '@wordpress/notices';
12
-
13
- /**
14
- * Internal dependencies
15
- */
16
-
17
- import { unlock } from '../lock-unlock';
18
- import { getItemTitle, isTemplatePart } from './utils';
19
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
- // Patterns.
21
- const {
22
- PATTERN_TYPES
23
- } = unlock(patternsPrivateApis);
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useDispatch } from "@wordpress/data";
3
+ import { store as coreStore } from "@wordpress/core-data";
4
+ import { __ } from "@wordpress/i18n";
5
+ import { useState } from "@wordpress/element";
6
+ import { privateApis as patternsPrivateApis } from "@wordpress/patterns";
7
+ import {
8
+ Button,
9
+ TextControl,
10
+ __experimentalHStack as HStack,
11
+ __experimentalVStack as VStack
12
+ } from "@wordpress/components";
13
+ import { store as noticesStore } from "@wordpress/notices";
14
+ import { unlock } from "../lock-unlock";
15
+ import { getItemTitle, isTemplatePart } from "./utils";
16
+ const { PATTERN_TYPES } = unlock(patternsPrivateApis);
24
17
  const renamePost = {
25
- id: 'rename-post',
26
- label: __('Rename'),
27
- modalFocusOnMount: 'firstContentElement',
18
+ id: "rename-post",
19
+ label: __("Rename"),
20
+ modalFocusOnMount: "firstContentElement",
28
21
  isEligible(post) {
29
- if (post.status === 'trash') {
22
+ if (post.status === "trash") {
30
23
  return false;
31
24
  }
32
- // Templates, template parts and patterns have special checks for renaming.
33
- if (!['wp_template_part', ...Object.values(PATTERN_TYPES)].includes(post.type)) {
25
+ if (![
26
+ "wp_template_part",
27
+ ...Object.values(PATTERN_TYPES)
28
+ ].includes(post.type)) {
34
29
  return post.permissions?.update;
35
30
  }
36
31
  if (isTemplatePart(post)) {
37
- return post.source === 'custom' && !post?.has_theme_file && post.permissions?.update;
32
+ return post.source === "custom" && !post?.has_theme_file && post.permissions?.update;
38
33
  }
39
34
  return post.type === PATTERN_TYPES.user && post.permissions?.update;
40
35
  },
41
- RenderModal: ({
42
- items,
43
- closeModal,
44
- onActionPerformed
45
- }) => {
36
+ RenderModal: ({ items, closeModal, onActionPerformed }) => {
46
37
  const [item] = items;
47
- const [title, setTitle] = useState(() => getItemTitle(item, ''));
48
- const {
49
- editEntityRecord,
50
- saveEditedEntityRecord
51
- } = useDispatch(coreStore);
52
- const {
53
- createSuccessNotice,
54
- createErrorNotice
55
- } = useDispatch(noticesStore);
38
+ const [title, setTitle] = useState(() => getItemTitle(item, ""));
39
+ const { editEntityRecord, saveEditedEntityRecord } = useDispatch(coreStore);
40
+ const { createSuccessNotice, createErrorNotice } = useDispatch(noticesStore);
56
41
  async function onRename(event) {
57
42
  event.preventDefault();
58
43
  try {
59
- await editEntityRecord('postType', item.type, item.id, {
44
+ await editEntityRecord("postType", item.type, item.id, {
60
45
  title
61
46
  });
62
- // Update state before saving rerenders the list.
63
- setTitle('');
47
+ setTitle("");
64
48
  closeModal?.();
65
- // Persist edited entity.
66
- await saveEditedEntityRecord('postType', item.type, item.id, {
49
+ await saveEditedEntityRecord("postType", item.type, item.id, {
67
50
  throwOnError: true
68
51
  });
69
- createSuccessNotice(__('Name updated'), {
70
- type: 'snackbar'
52
+ createSuccessNotice(__("Name updated"), {
53
+ type: "snackbar"
71
54
  });
72
55
  onActionPerformed?.(items);
73
56
  } catch (error) {
74
57
  const typedError = error;
75
- const errorMessage = typedError.message && typedError.code !== 'unknown_error' ? typedError.message : __('An error occurred while updating the name');
76
- createErrorNotice(errorMessage, {
77
- type: 'snackbar'
78
- });
58
+ const errorMessage = typedError.message && typedError.code !== "unknown_error" ? typedError.message : __("An error occurred while updating the name");
59
+ createErrorNotice(errorMessage, { type: "snackbar" });
79
60
  }
80
61
  }
81
- return /*#__PURE__*/_jsx("form", {
82
- onSubmit: onRename,
83
- children: /*#__PURE__*/_jsxs(VStack, {
84
- spacing: "5",
85
- children: [/*#__PURE__*/_jsx(TextControl, {
62
+ return /* @__PURE__ */ jsx("form", { onSubmit: onRename, children: /* @__PURE__ */ jsxs(VStack, { spacing: "5", children: [
63
+ /* @__PURE__ */ jsx(
64
+ TextControl,
65
+ {
86
66
  __nextHasNoMarginBottom: true,
87
67
  __next40pxDefaultSize: true,
88
- label: __('Name'),
68
+ label: __("Name"),
89
69
  value: title,
90
70
  onChange: setTitle,
91
71
  required: true
92
- }), /*#__PURE__*/_jsxs(HStack, {
93
- justify: "right",
94
- children: [/*#__PURE__*/_jsx(Button, {
72
+ }
73
+ ),
74
+ /* @__PURE__ */ jsxs(HStack, { justify: "right", children: [
75
+ /* @__PURE__ */ jsx(
76
+ Button,
77
+ {
95
78
  __next40pxDefaultSize: true,
96
79
  variant: "tertiary",
97
80
  onClick: () => {
98
81
  closeModal?.();
99
82
  },
100
- children: __('Cancel')
101
- }), /*#__PURE__*/_jsx(Button, {
83
+ children: __("Cancel")
84
+ }
85
+ ),
86
+ /* @__PURE__ */ jsx(
87
+ Button,
88
+ {
102
89
  __next40pxDefaultSize: true,
103
90
  variant: "primary",
104
91
  type: "submit",
105
- children: __('Save')
106
- })]
107
- })]
108
- })
109
- });
92
+ children: __("Save")
93
+ }
94
+ )
95
+ ] })
96
+ ] }) });
110
97
  }
111
98
  };
112
-
113
- /**
114
- * Rename action for PostWithPermissions.
115
- */
116
- export default renamePost;
117
- //# sourceMappingURL=rename-post.js.map
99
+ var rename_post_default = renamePost;
100
+ export {
101
+ rename_post_default as default
102
+ };
103
+ //# sourceMappingURL=rename-post.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["useDispatch","store","coreStore","__","useState","privateApis","patternsPrivateApis","Button","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","noticesStore","unlock","getItemTitle","isTemplatePart","jsx","_jsx","jsxs","_jsxs","PATTERN_TYPES","renamePost","id","label","modalFocusOnMount","isEligible","post","status","Object","values","includes","type","permissions","update","source","has_theme_file","user","RenderModal","items","closeModal","onActionPerformed","item","title","setTitle","editEntityRecord","saveEditedEntityRecord","createSuccessNotice","createErrorNotice","onRename","event","preventDefault","throwOnError","error","typedError","errorMessage","message","code","onSubmit","children","spacing","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","required","justify","variant","onClick"],"sources":["@wordpress/fields/src/actions/rename-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n// @ts-ignore\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\n\nimport { unlock } from '../lock-unlock';\nimport { getItemTitle, isTemplatePart } from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\n// Patterns.\nconst { PATTERN_TYPES } = unlock( patternsPrivateApis );\n\nconst renamePost: Action< PostWithPermissions > = {\n\tid: 'rename-post',\n\tlabel: __( 'Rename' ),\n\tmodalFocusOnMount: 'firstContentElement',\n\tisEligible( post ) {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\t// Templates, template parts and patterns have special checks for renaming.\n\t\tif (\n\t\t\t! [\n\t\t\t\t'wp_template_part',\n\t\t\t\t...Object.values( PATTERN_TYPES ),\n\t\t\t].includes( post.type )\n\t\t) {\n\t\t\treturn post.permissions?.update;\n\t\t}\n\n\t\tif ( isTemplatePart( post ) ) {\n\t\t\treturn (\n\t\t\t\tpost.source === 'custom' &&\n\t\t\t\t! post?.has_theme_file &&\n\t\t\t\tpost.permissions?.update\n\t\t\t);\n\t\t}\n\n\t\treturn post.type === PATTERN_TYPES.user && post.permissions?.update;\n\t},\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item ] = items;\n\t\tconst [ title, setTitle ] = useState( () => getItemTitle( item, '' ) );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tuseDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function onRename( event: React.FormEvent ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\ttitle,\n\t\t\t\t} );\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetTitle( '' );\n\t\t\t\tcloseModal?.();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t\tcreateSuccessNotice( __( 'Name updated' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\tonActionPerformed?.( items );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst typedError = error as CoreDataError;\n\t\t\t\tconst errorMessage =\n\t\t\t\t\ttypedError.message && typedError.code !== 'unknown_error'\n\t\t\t\t\t\t? typedError.message\n\t\t\t\t\t\t: __( 'An error occurred while updating the name' );\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\n/**\n * Rename action for PostWithPermissions.\n */\nexport default renamePost;\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/actions/rename-post.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n// @ts-ignore\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\n\nimport { unlock } from '../lock-unlock';\nimport { getItemTitle, isTemplatePart } from './utils';\nimport type { CoreDataError, PostWithPermissions } from '../types';\n\n// Patterns.\nconst { PATTERN_TYPES } = unlock( patternsPrivateApis );\n\nconst renamePost: Action< PostWithPermissions > = {\n\tid: 'rename-post',\n\tlabel: __( 'Rename' ),\n\tmodalFocusOnMount: 'firstContentElement',\n\tisEligible( post ) {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\t// Templates, template parts and patterns have special checks for renaming.\n\t\tif (\n\t\t\t! [\n\t\t\t\t'wp_template_part',\n\t\t\t\t...Object.values( PATTERN_TYPES ),\n\t\t\t].includes( post.type )\n\t\t) {\n\t\t\treturn post.permissions?.update;\n\t\t}\n\n\t\tif ( isTemplatePart( post ) ) {\n\t\t\treturn (\n\t\t\t\tpost.source === 'custom' &&\n\t\t\t\t! post?.has_theme_file &&\n\t\t\t\tpost.permissions?.update\n\t\t\t);\n\t\t}\n\n\t\treturn post.type === PATTERN_TYPES.user && post.permissions?.update;\n\t},\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item ] = items;\n\t\tconst [ title, setTitle ] = useState( () => getItemTitle( item, '' ) );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tuseDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function onRename( event: React.FormEvent ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\ttitle,\n\t\t\t\t} );\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetTitle( '' );\n\t\t\t\tcloseModal?.();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t\tcreateSuccessNotice( __( 'Name updated' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t\tonActionPerformed?.( items );\n\t\t\t} catch ( error ) {\n\t\t\t\tconst typedError = error as CoreDataError;\n\t\t\t\tconst errorMessage =\n\t\t\t\t\ttypedError.message && typedError.code !== 'unknown_error'\n\t\t\t\t\t\t? typedError.message\n\t\t\t\t\t\t: __( 'An error occurred while updating the name' );\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\n/**\n * Rename action for PostWithPermissions.\n */\nexport default renamePost;\n"],
5
+ "mappings": "AA+FK,cAQA,YARA;AA5FL,SAAS,mBAAmB;AAC5B,SAAS,SAAS,iBAAiB;AACnC,SAAS,UAAU;AACnB,SAAS,gBAAgB;AAEzB,SAAS,eAAe,2BAA2B;AACnD;AAAA,EACC;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,OAClB;AAEP,SAAS,SAAS,oBAAoB;AAMtC,SAAS,cAAc;AACvB,SAAS,cAAc,sBAAsB;AAI7C,MAAM,EAAE,cAAc,IAAI,OAAQ,mBAAoB;AAEtD,MAAM,aAA4C;AAAA,EACjD,IAAI;AAAA,EACJ,OAAO,GAAI,QAAS;AAAA,EACpB,mBAAmB;AAAA,EACnB,WAAY,MAAO;AAClB,QAAK,KAAK,WAAW,SAAU;AAC9B,aAAO;AAAA,IACR;AAEA,QACC,CAAE;AAAA,MACD;AAAA,MACA,GAAG,OAAO,OAAQ,aAAc;AAAA,IACjC,EAAE,SAAU,KAAK,IAAK,GACrB;AACD,aAAO,KAAK,aAAa;AAAA,IAC1B;AAEA,QAAK,eAAgB,IAAK,GAAI;AAC7B,aACC,KAAK,WAAW,YAChB,CAAE,MAAM,kBACR,KAAK,aAAa;AAAA,IAEpB;AAEA,WAAO,KAAK,SAAS,cAAc,QAAQ,KAAK,aAAa;AAAA,EAC9D;AAAA,EACA,aAAa,CAAE,EAAE,OAAO,YAAY,kBAAkB,MAAO;AAC5D,UAAM,CAAE,IAAK,IAAI;AACjB,UAAM,CAAE,OAAO,QAAS,IAAI,SAAU,MAAM,aAAc,MAAM,EAAG,CAAE;AACrE,UAAM,EAAE,kBAAkB,uBAAuB,IAChD,YAAa,SAAU;AACxB,UAAM,EAAE,qBAAqB,kBAAkB,IAC9C,YAAa,YAAa;AAE3B,mBAAe,SAAU,OAAyB;AACjD,YAAM,eAAe;AACrB,UAAI;AACH,cAAM,iBAAkB,YAAY,KAAK,MAAM,KAAK,IAAI;AAAA,UACvD;AAAA,QACD,CAAE;AAEF,iBAAU,EAAG;AACb,qBAAa;AAEb,cAAM,uBAAwB,YAAY,KAAK,MAAM,KAAK,IAAI;AAAA,UAC7D,cAAc;AAAA,QACf,CAAE;AACF,4BAAqB,GAAI,cAAe,GAAG;AAAA,UAC1C,MAAM;AAAA,QACP,CAAE;AACF,4BAAqB,KAAM;AAAA,MAC5B,SAAU,OAAQ;AACjB,cAAM,aAAa;AACnB,cAAM,eACL,WAAW,WAAW,WAAW,SAAS,kBACvC,WAAW,UACX,GAAI,2CAA4C;AACpD,0BAAmB,cAAc,EAAE,MAAM,WAAW,CAAE;AAAA,MACvD;AAAA,IACD;AAEA,WACC,oBAAC,UAAK,UAAW,UAChB,+BAAC,UAAO,SAAQ,KACf;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,yBAAuB;AAAA,UACvB,uBAAqB;AAAA,UACrB,OAAQ,GAAI,MAAO;AAAA,UACnB,OAAQ;AAAA,UACR,UAAW;AAAA,UACX,UAAQ;AAAA;AAAA,MACT;AAAA,MACA,qBAAC,UAAO,SAAQ,SACf;AAAA;AAAA,UAAC;AAAA;AAAA,YACA,uBAAqB;AAAA,YACrB,SAAQ;AAAA,YACR,SAAU,MAAM;AACf,2BAAa;AAAA,YACd;AAAA,YAEE,aAAI,QAAS;AAAA;AAAA,QAChB;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACA,uBAAqB;AAAA,YACrB,SAAQ;AAAA,YACR,MAAK;AAAA,YAEH,aAAI,MAAO;AAAA;AAAA,QACd;AAAA,SACD;AAAA,OACD,GACD;AAAA,EAEF;AACD;AAKA,IAAO,sBAAQ;",
6
+ "names": []
7
+ }