@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,71 +1,72 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var duplicate_post_exports = {};
20
+ __export(duplicate_post_exports, {
21
+ default: () => duplicate_post_default
5
22
  });
6
- exports.default = void 0;
7
- var _data = require("@wordpress/data");
8
- var _coreData = require("@wordpress/core-data");
9
- var _i18n = require("@wordpress/i18n");
10
- var _notices = require("@wordpress/notices");
11
- var _element = require("@wordpress/element");
12
- var _dataviews = require("@wordpress/dataviews");
13
- var _components = require("@wordpress/components");
14
- var _fields = require("../fields");
15
- var _utils = require("./utils");
16
- var _jsxRuntime = require("react/jsx-runtime");
17
- /**
18
- * WordPress dependencies
19
- */
20
-
21
- /**
22
- * Internal dependencies
23
- */
24
-
25
- const fields = [_fields.titleField];
23
+ module.exports = __toCommonJS(duplicate_post_exports);
24
+ var import_jsx_runtime = require("react/jsx-runtime");
25
+ var import_data = require("@wordpress/data");
26
+ var import_core_data = require("@wordpress/core-data");
27
+ var import_i18n = require("@wordpress/i18n");
28
+ var import_notices = require("@wordpress/notices");
29
+ var import_element = require("@wordpress/element");
30
+ var import_dataviews = require("@wordpress/dataviews");
31
+ var import_components = require("@wordpress/components");
32
+ var import_fields = require("../fields");
33
+ var import_utils = require("./utils");
34
+ const fields = [import_fields.titleField];
26
35
  const formDuplicateAction = {
27
- fields: ['title']
36
+ fields: ["title"]
28
37
  };
29
38
  const duplicatePost = {
30
- id: 'duplicate-post',
31
- label: (0, _i18n._x)('Duplicate', 'action label'),
32
- isEligible({
33
- status
34
- }) {
35
- return status !== 'trash';
39
+ id: "duplicate-post",
40
+ label: (0, import_i18n._x)("Duplicate", "action label"),
41
+ isEligible({ status }) {
42
+ return status !== "trash";
36
43
  },
37
- modalFocusOnMount: 'firstContentElement',
38
- RenderModal: ({
39
- items,
40
- closeModal,
41
- onActionPerformed
42
- }) => {
43
- const [item, setItem] = (0, _element.useState)({
44
+ modalFocusOnMount: "firstContentElement",
45
+ RenderModal: ({ items, closeModal, onActionPerformed }) => {
46
+ const [item, setItem] = (0, import_element.useState)({
44
47
  ...items[0],
45
- title: (0, _i18n.sprintf)(/* translators: %s: Existing post title */
46
- (0, _i18n._x)('%s (Copy)', 'post'), (0, _utils.getItemTitle)(items[0]))
48
+ title: (0, import_i18n.sprintf)(
49
+ /* translators: %s: Existing post title */
50
+ (0, import_i18n._x)("%s (Copy)", "post"),
51
+ (0, import_utils.getItemTitle)(items[0])
52
+ )
47
53
  });
48
- const [isCreatingPage, setIsCreatingPage] = (0, _element.useState)(false);
49
- const {
50
- saveEntityRecord
51
- } = (0, _data.useDispatch)(_coreData.store);
52
- const {
53
- createSuccessNotice,
54
- createErrorNotice
55
- } = (0, _data.useDispatch)(_notices.store);
54
+ const [isCreatingPage, setIsCreatingPage] = (0, import_element.useState)(false);
55
+ const { saveEntityRecord } = (0, import_data.useDispatch)(import_core_data.store);
56
+ const { createSuccessNotice, createErrorNotice } = (0, import_data.useDispatch)(import_notices.store);
56
57
  async function createPage(event) {
57
58
  event.preventDefault();
58
59
  if (isCreatingPage) {
59
60
  return;
60
61
  }
61
- const isTemplate = item.type === 'wp_template' || item.type === 'wp_registered_template';
62
+ const isTemplate = item.type === "wp_template" || item.type === "wp_registered_template";
62
63
  const newItemObject = {
63
- status: isTemplate ? 'publish' : 'draft',
64
+ status: isTemplate ? "publish" : "draft",
64
65
  title: item.title,
65
- slug: isTemplate ? item.slug : item.title || (0, _i18n.__)('No title'),
66
+ slug: isTemplate ? item.slug : item.title || (0, import_i18n.__)("No title"),
66
67
  comment_status: item.comment_status,
67
- content: typeof item.content === 'string' ? item.content : item.content.raw,
68
- excerpt: typeof item.excerpt === 'string' ? item.excerpt : item.excerpt?.raw,
68
+ content: typeof item.content === "string" ? item.content : item.content.raw,
69
+ excerpt: typeof item.excerpt === "string" ? item.excerpt : item.excerpt?.raw,
69
70
  meta: item.meta,
70
71
  parent: item.parent,
71
72
  password: item.password,
@@ -75,77 +76,87 @@ const duplicatePost = {
75
76
  menu_order: item.menu_order,
76
77
  ping_status: item.ping_status
77
78
  };
78
- const assignablePropertiesPrefix = 'wp:action-assign-';
79
- // Get all the properties that the current user is able to assign normally author, categories, tags,
80
- // and custom taxonomies.
81
- const assignableProperties = Object.keys(item?._links || {}).filter(property => property.startsWith(assignablePropertiesPrefix)).map(property => property.slice(assignablePropertiesPrefix.length));
82
- assignableProperties.forEach(property => {
79
+ const assignablePropertiesPrefix = "wp:action-assign-";
80
+ const assignableProperties = Object.keys(item?._links || {}).filter(
81
+ (property) => property.startsWith(assignablePropertiesPrefix)
82
+ ).map(
83
+ (property) => property.slice(assignablePropertiesPrefix.length)
84
+ );
85
+ assignableProperties.forEach((property) => {
83
86
  if (item.hasOwnProperty(property)) {
84
- // @ts-ignore
85
87
  newItemObject[property] = item[property];
86
88
  }
87
89
  });
88
90
  setIsCreatingPage(true);
89
91
  try {
90
- const newItem = await saveEntityRecord('postType', item.type === 'wp_registered_template' ? 'wp_template' : item.type, newItemObject, {
91
- throwOnError: true
92
- });
93
- createSuccessNotice((0, _i18n.sprintf)(
94
- // translators: %s: Title of the created post, e.g: "Hello world".
95
- (0, _i18n.__)('"%s" successfully created.'), (0, _utils.getItemTitle)(newItem)), {
96
- id: 'duplicate-post-action',
97
- type: 'snackbar'
98
- });
92
+ const newItem = await saveEntityRecord(
93
+ "postType",
94
+ item.type === "wp_registered_template" ? "wp_template" : item.type,
95
+ newItemObject,
96
+ { throwOnError: true }
97
+ );
98
+ createSuccessNotice(
99
+ (0, import_i18n.sprintf)(
100
+ // translators: %s: Title of the created post, e.g: "Hello world".
101
+ (0, import_i18n.__)('"%s" successfully created.'),
102
+ (0, import_utils.getItemTitle)(newItem)
103
+ ),
104
+ {
105
+ id: "duplicate-post-action",
106
+ type: "snackbar"
107
+ }
108
+ );
99
109
  if (onActionPerformed) {
100
110
  onActionPerformed([newItem]);
101
111
  }
102
112
  } catch (error) {
103
113
  const typedError = error;
104
- const errorMessage = typedError.message && typedError.code !== 'unknown_error' ? typedError.message : (0, _i18n.__)('An error occurred while duplicating the page.');
114
+ const errorMessage = typedError.message && typedError.code !== "unknown_error" ? typedError.message : (0, import_i18n.__)("An error occurred while duplicating the page.");
105
115
  createErrorNotice(errorMessage, {
106
- type: 'snackbar'
116
+ type: "snackbar"
107
117
  });
108
118
  } finally {
109
119
  setIsCreatingPage(false);
110
120
  closeModal?.();
111
121
  }
112
122
  }
113
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
114
- onSubmit: createPage,
115
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
116
- spacing: 3,
117
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviews.DataForm, {
123
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("form", { onSubmit: createPage, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalVStack, { spacing: 3, children: [
124
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
125
+ import_dataviews.DataForm,
126
+ {
118
127
  data: item,
119
- fields: fields,
128
+ fields,
120
129
  form: formDuplicateAction,
121
- onChange: changes => setItem(prev => ({
130
+ onChange: (changes) => setItem((prev) => ({
122
131
  ...prev,
123
132
  ...changes
124
133
  }))
125
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
126
- spacing: 2,
127
- justify: "end",
128
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
134
+ }
135
+ ),
136
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalHStack, { spacing: 2, justify: "end", children: [
137
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
138
+ import_components.Button,
139
+ {
129
140
  variant: "tertiary",
130
141
  onClick: closeModal,
131
142
  __next40pxDefaultSize: true,
132
- children: (0, _i18n.__)('Cancel')
133
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
143
+ children: (0, import_i18n.__)("Cancel")
144
+ }
145
+ ),
146
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
147
+ import_components.Button,
148
+ {
134
149
  variant: "primary",
135
150
  type: "submit",
136
151
  isBusy: isCreatingPage,
137
152
  "aria-disabled": isCreatingPage,
138
153
  __next40pxDefaultSize: true,
139
- children: (0, _i18n._x)('Duplicate', 'action label')
140
- })]
141
- })]
142
- })
143
- });
154
+ children: (0, import_i18n._x)("Duplicate", "action label")
155
+ }
156
+ )
157
+ ] })
158
+ ] }) });
144
159
  }
145
160
  };
146
-
147
- /**
148
- * Duplicate action for BasePost.
149
- */
150
- var _default = exports.default = duplicatePost;
151
- //# sourceMappingURL=duplicate-post.js.map
161
+ var duplicate_post_default = duplicatePost;
162
+ //# sourceMappingURL=duplicate-post.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["_data","require","_coreData","_i18n","_notices","_element","_dataviews","_components","_fields","_utils","_jsxRuntime","fields","titleField","formDuplicateAction","duplicatePost","id","label","_x","isEligible","status","modalFocusOnMount","RenderModal","items","closeModal","onActionPerformed","item","setItem","useState","title","sprintf","getItemTitle","isCreatingPage","setIsCreatingPage","saveEntityRecord","useDispatch","coreStore","createSuccessNotice","createErrorNotice","noticesStore","createPage","event","preventDefault","isTemplate","type","newItemObject","slug","__","comment_status","content","raw","excerpt","meta","parent","password","template","format","featured_media","menu_order","ping_status","assignablePropertiesPrefix","assignableProperties","Object","keys","_links","filter","property","startsWith","map","slice","length","forEach","hasOwnProperty","newItem","throwOnError","error","typedError","errorMessage","message","code","jsx","onSubmit","children","jsxs","__experimentalVStack","spacing","DataForm","data","form","onChange","changes","prev","__experimentalHStack","justify","Button","variant","onClick","__next40pxDefaultSize","isBusy","_default","exports","default"],"sources":["@wordpress/fields/src/actions/duplicate-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\nimport { DataForm } from '@wordpress/dataviews';\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { titleField } from '../fields';\nimport type { BasePost, CoreDataError } from '../types';\nimport { getItemTitle } from './utils';\n\nconst fields = [ titleField ];\nconst formDuplicateAction = {\n\tfields: [ 'title' ],\n};\n\nconst duplicatePost: Action< BasePost > = {\n\tid: 'duplicate-post',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tmodalFocusOnMount: 'firstContentElement',\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item, setItem ] = useState< BasePost >( {\n\t\t\t...items[ 0 ],\n\t\t\ttitle: sprintf(\n\t\t\t\t/* translators: %s: Existing post title */\n\t\t\t\t_x( '%s (Copy)', 'post' ),\n\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t),\n\t\t} );\n\n\t\tconst [ isCreatingPage, setIsCreatingPage ] = useState( false );\n\t\tconst { saveEntityRecord } = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function createPage( event: React.FormEvent ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( isCreatingPage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isTemplate =\n\t\t\t\titem.type === 'wp_template' ||\n\t\t\t\titem.type === 'wp_registered_template';\n\n\t\t\tconst newItemObject = {\n\t\t\t\tstatus: isTemplate ? 'publish' : 'draft',\n\t\t\t\ttitle: item.title,\n\t\t\t\tslug: isTemplate ? item.slug : item.title || __( 'No title' ),\n\t\t\t\tcomment_status: item.comment_status,\n\t\t\t\tcontent:\n\t\t\t\t\ttypeof item.content === 'string'\n\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t: item.content.raw,\n\t\t\t\texcerpt:\n\t\t\t\t\ttypeof item.excerpt === 'string'\n\t\t\t\t\t\t? item.excerpt\n\t\t\t\t\t\t: item.excerpt?.raw,\n\t\t\t\tmeta: item.meta,\n\t\t\t\tparent: item.parent,\n\t\t\t\tpassword: item.password,\n\t\t\t\ttemplate: item.template,\n\t\t\t\tformat: item.format,\n\t\t\t\tfeatured_media: item.featured_media,\n\t\t\t\tmenu_order: item.menu_order,\n\t\t\t\tping_status: item.ping_status,\n\t\t\t};\n\t\t\tconst assignablePropertiesPrefix = 'wp:action-assign-';\n\t\t\t// Get all the properties that the current user is able to assign normally author, categories, tags,\n\t\t\t// and custom taxonomies.\n\t\t\tconst assignableProperties = Object.keys( item?._links || {} )\n\t\t\t\t.filter( ( property ) =>\n\t\t\t\t\tproperty.startsWith( assignablePropertiesPrefix )\n\t\t\t\t)\n\t\t\t\t.map( ( property ) =>\n\t\t\t\t\tproperty.slice( assignablePropertiesPrefix.length )\n\t\t\t\t);\n\t\t\tassignableProperties.forEach( ( property ) => {\n\t\t\t\tif ( item.hasOwnProperty( property ) ) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tnewItemObject[ property ] = item[ property ];\n\t\t\t\t}\n\t\t\t} );\n\t\t\tsetIsCreatingPage( true );\n\t\t\ttry {\n\t\t\t\tconst newItem = await saveEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\titem.type === 'wp_registered_template'\n\t\t\t\t\t\t? 'wp_template'\n\t\t\t\t\t\t: item.type,\n\t\t\t\t\tnewItemObject,\n\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t);\n\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Title of the created post, e.g: \"Hello world\".\n\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\tgetItemTitle( newItem )\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\tonActionPerformed( [ newItem ] );\n\t\t\t\t}\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 duplicating the page.' );\n\n\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t} finally {\n\t\t\t\tsetIsCreatingPage( false );\n\t\t\t\tcloseModal?.();\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<form onSubmit={ createPage }>\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t<DataForm\n\t\t\t\t\t\tdata={ item }\n\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\tform={ formDuplicateAction }\n\t\t\t\t\t\tonChange={ ( changes ) =>\n\t\t\t\t\t\t\tsetItem( ( prev ) => ( {\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack spacing={ 2 } justify=\"end\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\t\t__next40pxDefaultSize\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\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isCreatingPage }\n\t\t\t\t\t\t\taria-disabled={ isCreatingPage }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'Duplicate', 'action label' ) }\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 * Duplicate action for BasePost.\n */\nexport default duplicatePost;\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/actions/duplicate-post.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\nimport { DataForm } from '@wordpress/dataviews';\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { titleField } from '../fields';\nimport type { BasePost, CoreDataError } from '../types';\nimport { getItemTitle } from './utils';\n\nconst fields = [ titleField ];\nconst formDuplicateAction = {\n\tfields: [ 'title' ],\n};\n\nconst duplicatePost: Action< BasePost > = {\n\tid: 'duplicate-post',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tmodalFocusOnMount: 'firstContentElement',\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ item, setItem ] = useState< BasePost >( {\n\t\t\t...items[ 0 ],\n\t\t\ttitle: sprintf(\n\t\t\t\t/* translators: %s: Existing post title */\n\t\t\t\t_x( '%s (Copy)', 'post' ),\n\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t),\n\t\t} );\n\n\t\tconst [ isCreatingPage, setIsCreatingPage ] = useState( false );\n\t\tconst { saveEntityRecord } = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\n\t\tasync function createPage( event: React.FormEvent ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tif ( isCreatingPage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isTemplate =\n\t\t\t\titem.type === 'wp_template' ||\n\t\t\t\titem.type === 'wp_registered_template';\n\n\t\t\tconst newItemObject = {\n\t\t\t\tstatus: isTemplate ? 'publish' : 'draft',\n\t\t\t\ttitle: item.title,\n\t\t\t\tslug: isTemplate ? item.slug : item.title || __( 'No title' ),\n\t\t\t\tcomment_status: item.comment_status,\n\t\t\t\tcontent:\n\t\t\t\t\ttypeof item.content === 'string'\n\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t: item.content.raw,\n\t\t\t\texcerpt:\n\t\t\t\t\ttypeof item.excerpt === 'string'\n\t\t\t\t\t\t? item.excerpt\n\t\t\t\t\t\t: item.excerpt?.raw,\n\t\t\t\tmeta: item.meta,\n\t\t\t\tparent: item.parent,\n\t\t\t\tpassword: item.password,\n\t\t\t\ttemplate: item.template,\n\t\t\t\tformat: item.format,\n\t\t\t\tfeatured_media: item.featured_media,\n\t\t\t\tmenu_order: item.menu_order,\n\t\t\t\tping_status: item.ping_status,\n\t\t\t};\n\t\t\tconst assignablePropertiesPrefix = 'wp:action-assign-';\n\t\t\t// Get all the properties that the current user is able to assign normally author, categories, tags,\n\t\t\t// and custom taxonomies.\n\t\t\tconst assignableProperties = Object.keys( item?._links || {} )\n\t\t\t\t.filter( ( property ) =>\n\t\t\t\t\tproperty.startsWith( assignablePropertiesPrefix )\n\t\t\t\t)\n\t\t\t\t.map( ( property ) =>\n\t\t\t\t\tproperty.slice( assignablePropertiesPrefix.length )\n\t\t\t\t);\n\t\t\tassignableProperties.forEach( ( property ) => {\n\t\t\t\tif ( item.hasOwnProperty( property ) ) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tnewItemObject[ property ] = item[ property ];\n\t\t\t\t}\n\t\t\t} );\n\t\t\tsetIsCreatingPage( true );\n\t\t\ttry {\n\t\t\t\tconst newItem = await saveEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\titem.type === 'wp_registered_template'\n\t\t\t\t\t\t? 'wp_template'\n\t\t\t\t\t\t: item.type,\n\t\t\t\t\tnewItemObject,\n\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t);\n\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Title of the created post, e.g: \"Hello world\".\n\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\tgetItemTitle( newItem )\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( onActionPerformed ) {\n\t\t\t\t\tonActionPerformed( [ newItem ] );\n\t\t\t\t}\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 duplicating the page.' );\n\n\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t} finally {\n\t\t\t\tsetIsCreatingPage( false );\n\t\t\t\tcloseModal?.();\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t<form onSubmit={ createPage }>\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t<DataForm\n\t\t\t\t\t\tdata={ item }\n\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\tform={ formDuplicateAction }\n\t\t\t\t\t\tonChange={ ( changes ) =>\n\t\t\t\t\t\t\tsetItem( ( prev ) => ( {\n\t\t\t\t\t\t\t\t...prev,\n\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack spacing={ 2 } justify=\"end\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\t\t__next40pxDefaultSize\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\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tisBusy={ isCreatingPage }\n\t\t\t\t\t\t\taria-disabled={ isCreatingPage }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ _x( 'Duplicate', 'action label' ) }\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 * Duplicate action for BasePost.\n */\nexport default duplicatePost;\n"],
5
+ "mappings": "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",
6
+ "names": ["coreStore", "noticesStore", "VStack", "HStack"]
7
+ }
@@ -1,72 +1,80 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var duplicate_template_part_exports = {};
20
+ __export(duplicate_template_part_exports, {
21
+ default: () => duplicate_template_part_default
5
22
  });
6
- exports.default = void 0;
7
- var _data = require("@wordpress/data");
8
- var _i18n = require("@wordpress/i18n");
9
- var _notices = require("@wordpress/notices");
10
- var _element = require("@wordpress/element");
11
- var _blocks = require("@wordpress/blocks");
12
- var _createTemplatePartModal = require("../components/create-template-part-modal");
13
- var _utils = require("./utils");
14
- var _jsxRuntime = require("react/jsx-runtime");
15
- /**
16
- * WordPress dependencies
17
- */
18
-
19
- // @ts-ignore
20
-
21
- /**
22
- * Internal dependencies
23
- */
24
-
25
- /**
26
- * This action is used to duplicate a template part.
27
- */const duplicateTemplatePart = {
28
- id: 'duplicate-template-part',
29
- label: (0, _i18n._x)('Duplicate', 'action label'),
30
- isEligible: item => item.type === 'wp_template_part',
31
- modalHeader: (0, _i18n._x)('Duplicate template part', 'action label'),
32
- modalFocusOnMount: 'firstContentElement',
33
- RenderModal: ({
34
- items,
35
- closeModal
36
- }) => {
23
+ module.exports = __toCommonJS(duplicate_template_part_exports);
24
+ var import_jsx_runtime = require("react/jsx-runtime");
25
+ var import_data = require("@wordpress/data");
26
+ var import_i18n = require("@wordpress/i18n");
27
+ var import_notices = require("@wordpress/notices");
28
+ var import_element = require("@wordpress/element");
29
+ var import_blocks = require("@wordpress/blocks");
30
+ var import_create_template_part_modal = require("../components/create-template-part-modal");
31
+ var import_utils = require("./utils");
32
+ const duplicateTemplatePart = {
33
+ id: "duplicate-template-part",
34
+ label: (0, import_i18n._x)("Duplicate", "action label"),
35
+ isEligible: (item) => item.type === "wp_template_part",
36
+ modalHeader: (0, import_i18n._x)("Duplicate template part", "action label"),
37
+ modalFocusOnMount: "firstContentElement",
38
+ RenderModal: ({ items, closeModal }) => {
37
39
  const [item] = items;
38
- const blocks = (0, _element.useMemo)(() => {
39
- var _item$blocks;
40
- return (_item$blocks = item.blocks) !== null && _item$blocks !== void 0 ? _item$blocks : (0, _blocks.parse)(typeof item.content === 'string' ? item.content : item.content.raw, {
41
- __unstableSkipMigrationLogs: true
42
- });
40
+ const blocks = (0, import_element.useMemo)(() => {
41
+ return item.blocks ?? (0, import_blocks.parse)(
42
+ typeof item.content === "string" ? item.content : item.content.raw,
43
+ {
44
+ __unstableSkipMigrationLogs: true
45
+ }
46
+ );
43
47
  }, [item.content, item.blocks]);
44
- const {
45
- createSuccessNotice
46
- } = (0, _data.useDispatch)(_notices.store);
48
+ const { createSuccessNotice } = (0, import_data.useDispatch)(import_notices.store);
47
49
  function onTemplatePartSuccess(templatePart) {
48
- createSuccessNotice((0, _i18n.sprintf)(
49
- // translators: %s: The new template part's title e.g. 'Call to action (copy)'.
50
- (0, _i18n._x)('"%s" duplicated.', 'template part'), (0, _utils.getItemTitle)(templatePart)), {
51
- type: 'snackbar',
52
- id: 'edit-site-patterns-success'
53
- });
50
+ createSuccessNotice(
51
+ (0, import_i18n.sprintf)(
52
+ // translators: %s: The new template part's title e.g. 'Call to action (copy)'.
53
+ (0, import_i18n._x)('"%s" duplicated.', "template part"),
54
+ (0, import_utils.getItemTitle)(templatePart)
55
+ ),
56
+ { type: "snackbar", id: "edit-site-patterns-success" }
57
+ );
54
58
  closeModal?.();
55
59
  }
56
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_createTemplatePartModal.CreateTemplatePartModalContents, {
57
- blocks: blocks,
58
- defaultArea: item.area,
59
- defaultTitle: (0, _i18n.sprintf)(/* translators: %s: Existing template part title */
60
- (0, _i18n._x)('%s (Copy)', 'template part'), (0, _utils.getItemTitle)(item)),
61
- onCreate: onTemplatePartSuccess,
62
- onError: closeModal,
63
- confirmLabel: (0, _i18n._x)('Duplicate', 'action label'),
64
- closeModal: closeModal !== null && closeModal !== void 0 ? closeModal : () => {}
65
- });
60
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
61
+ import_create_template_part_modal.CreateTemplatePartModalContents,
62
+ {
63
+ blocks,
64
+ defaultArea: item.area,
65
+ defaultTitle: (0, import_i18n.sprintf)(
66
+ /* translators: %s: Existing template part title */
67
+ (0, import_i18n._x)("%s (Copy)", "template part"),
68
+ (0, import_utils.getItemTitle)(item)
69
+ ),
70
+ onCreate: onTemplatePartSuccess,
71
+ onError: closeModal,
72
+ confirmLabel: (0, import_i18n._x)("Duplicate", "action label"),
73
+ closeModal: closeModal ?? (() => {
74
+ })
75
+ }
76
+ );
66
77
  }
67
78
  };
68
- /**
69
- * Duplicate action for TemplatePart.
70
- */
71
- var _default = exports.default = duplicateTemplatePart;
72
- //# sourceMappingURL=duplicate-template-part.js.map
79
+ var duplicate_template_part_default = duplicateTemplatePart;
80
+ //# sourceMappingURL=duplicate-template-part.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["_data","require","_i18n","_notices","_element","_blocks","_createTemplatePartModal","_utils","_jsxRuntime","duplicateTemplatePart","id","label","_x","isEligible","item","type","modalHeader","modalFocusOnMount","RenderModal","items","closeModal","blocks","useMemo","_item$blocks","parse","content","raw","__unstableSkipMigrationLogs","createSuccessNotice","useDispatch","noticesStore","onTemplatePartSuccess","templatePart","sprintf","getItemTitle","jsx","CreateTemplatePartModalContents","defaultArea","area","defaultTitle","onCreate","onError","confirmLabel","_default","exports","default"],"sources":["@wordpress/fields/src/actions/duplicate-template-part.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { _x, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\n// @ts-ignore\nimport { parse } from '@wordpress/blocks';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport type { Post, TemplatePart } from '../types';\nimport { CreateTemplatePartModalContents } from '../components/create-template-part-modal';\nimport { getItemTitle } from './utils';\n\n/**\n * This action is used to duplicate a template part.\n */\nconst duplicateTemplatePart: Action< TemplatePart > = {\n\tid: 'duplicate-template-part',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible: ( item ) => item.type === 'wp_template_part',\n\tmodalHeader: _x( 'Duplicate template part', 'action label' ),\n\tmodalFocusOnMount: 'firstContentElement',\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst blocks = useMemo( () => {\n\t\t\treturn (\n\t\t\t\titem.blocks ??\n\t\t\t\tparse(\n\t\t\t\t\ttypeof item.content === 'string'\n\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t: item.content.raw,\n\t\t\t\t\t{\n\t\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t);\n\t\t}, [ item.content, item.blocks ] );\n\t\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\t\tfunction onTemplatePartSuccess( templatePart: Post ) {\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new template part's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t_x( '\"%s\" duplicated.', 'template part' ),\n\t\t\t\t\tgetItemTitle( templatePart )\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'edit-site-patterns-success' }\n\t\t\t);\n\t\t\tcloseModal?.();\n\t\t}\n\t\treturn (\n\t\t\t<CreateTemplatePartModalContents\n\t\t\t\tblocks={ blocks }\n\t\t\t\tdefaultArea={ item.area }\n\t\t\t\tdefaultTitle={ sprintf(\n\t\t\t\t\t/* translators: %s: Existing template part title */\n\t\t\t\t\t_x( '%s (Copy)', 'template part' ),\n\t\t\t\t\tgetItemTitle( item )\n\t\t\t\t) }\n\t\t\t\tonCreate={ onTemplatePartSuccess }\n\t\t\t\tonError={ closeModal }\n\t\t\t\tconfirmLabel={ _x( 'Duplicate', 'action label' ) }\n\t\t\t\tcloseModal={ closeModal ?? ( () => {} ) }\n\t\t\t/>\n\t\t);\n\t},\n};\n/**\n * Duplicate action for TemplatePart.\n */\nexport default duplicateTemplatePart;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAOA,IAAAK,wBAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAAuC,IAAAO,WAAA,GAAAP,OAAA;AAhBvC;AACA;AACA;;AAKA;;AAIA;AACA;AACA;;AAKA;AACA;AACA,GACA,MAAMQ,qBAA6C,GAAG;EACrDC,EAAE,EAAE,yBAAyB;EAC7BC,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAW,EAAE,cAAe,CAAC;EACxCC,UAAU,EAAIC,IAAI,IAAMA,IAAI,CAACC,IAAI,KAAK,kBAAkB;EACxDC,WAAW,EAAE,IAAAJ,QAAE,EAAE,yBAAyB,EAAE,cAAe,CAAC;EAC5DK,iBAAiB,EAAE,qBAAqB;EACxCC,WAAW,EAAEA,CAAE;IAAEC,KAAK;IAAEC;EAAW,CAAC,KAAM;IACzC,MAAM,CAAEN,IAAI,CAAE,GAAGK,KAAK;IACtB,MAAME,MAAM,GAAG,IAAAC,gBAAO,EAAE,MAAM;MAAA,IAAAC,YAAA;MAC7B,QAAAA,YAAA,GACCT,IAAI,CAACO,MAAM,cAAAE,YAAA,cAAAA,YAAA,GACX,IAAAC,aAAK,EACJ,OAAOV,IAAI,CAACW,OAAO,KAAK,QAAQ,GAC7BX,IAAI,CAACW,OAAO,GACZX,IAAI,CAACW,OAAO,CAACC,GAAG,EACnB;QACCC,2BAA2B,EAAE;MAC9B,CACD,CAAC;IAEH,CAAC,EAAE,CAAEb,IAAI,CAACW,OAAO,EAAEX,IAAI,CAACO,MAAM,CAAG,CAAC;IAClC,MAAM;MAAEO;IAAoB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;IAC3D,SAASC,qBAAqBA,CAAEC,YAAkB,EAAG;MACpDJ,mBAAmB,CAClB,IAAAK,aAAO;MACN;MACA,IAAArB,QAAE,EAAE,kBAAkB,EAAE,eAAgB,CAAC,EACzC,IAAAsB,mBAAY,EAAEF,YAAa,CAC5B,CAAC,EACD;QAAEjB,IAAI,EAAE,UAAU;QAAEL,EAAE,EAAE;MAA6B,CACtD,CAAC;MACDU,UAAU,GAAG,CAAC;IACf;IACA,oBACC,IAAAZ,WAAA,CAAA2B,GAAA,EAAC7B,wBAAA,CAAA8B,+BAA+B;MAC/Bf,MAAM,EAAGA,MAAQ;MACjBgB,WAAW,EAAGvB,IAAI,CAACwB,IAAM;MACzBC,YAAY,EAAG,IAAAN,aAAO,EACrB;MACA,IAAArB,QAAE,EAAE,WAAW,EAAE,eAAgB,CAAC,EAClC,IAAAsB,mBAAY,EAAEpB,IAAK,CACpB,CAAG;MACH0B,QAAQ,EAAGT,qBAAuB;MAClCU,OAAO,EAAGrB,UAAY;MACtBsB,YAAY,EAAG,IAAA9B,QAAE,EAAE,WAAW,EAAE,cAAe,CAAG;MAClDQ,UAAU,EAAGA,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAM,MAAM,CAAC;IAAK,CACzC,CAAC;EAEJ;AACD,CAAC;AACD;AACA;AACA;AAFA,IAAAuB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGepC,qBAAqB","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/actions/duplicate-template-part.tsx"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { _x, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\n// @ts-ignore\nimport { parse } from '@wordpress/blocks';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport type { Post, TemplatePart } from '../types';\nimport { CreateTemplatePartModalContents } from '../components/create-template-part-modal';\nimport { getItemTitle } from './utils';\n\n/**\n * This action is used to duplicate a template part.\n */\nconst duplicateTemplatePart: Action< TemplatePart > = {\n\tid: 'duplicate-template-part',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible: ( item ) => item.type === 'wp_template_part',\n\tmodalHeader: _x( 'Duplicate template part', 'action label' ),\n\tmodalFocusOnMount: 'firstContentElement',\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst blocks = useMemo( () => {\n\t\t\treturn (\n\t\t\t\titem.blocks ??\n\t\t\t\tparse(\n\t\t\t\t\ttypeof item.content === 'string'\n\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t: item.content.raw,\n\t\t\t\t\t{\n\t\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t);\n\t\t}, [ item.content, item.blocks ] );\n\t\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\t\tfunction onTemplatePartSuccess( templatePart: Post ) {\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new template part's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t_x( '\"%s\" duplicated.', 'template part' ),\n\t\t\t\t\tgetItemTitle( templatePart )\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'edit-site-patterns-success' }\n\t\t\t);\n\t\t\tcloseModal?.();\n\t\t}\n\t\treturn (\n\t\t\t<CreateTemplatePartModalContents\n\t\t\t\tblocks={ blocks }\n\t\t\t\tdefaultArea={ item.area }\n\t\t\t\tdefaultTitle={ sprintf(\n\t\t\t\t\t/* translators: %s: Existing template part title */\n\t\t\t\t\t_x( '%s (Copy)', 'template part' ),\n\t\t\t\t\tgetItemTitle( item )\n\t\t\t\t) }\n\t\t\t\tonCreate={ onTemplatePartSuccess }\n\t\t\t\tonError={ closeModal }\n\t\t\t\tconfirmLabel={ _x( 'Duplicate', 'action label' ) }\n\t\t\t\tcloseModal={ closeModal ?? ( () => {} ) }\n\t\t\t/>\n\t\t);\n\t},\n};\n/**\n * Duplicate action for TemplatePart.\n */\nexport default duplicateTemplatePart;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuDG;AApDH,kBAA4B;AAC5B,kBAA4B;AAC5B,qBAAsC;AACtC,qBAAwB;AAExB,oBAAsB;AAOtB,wCAAgD;AAChD,mBAA6B;AAK7B,MAAM,wBAAgD;AAAA,EACrD,IAAI;AAAA,EACJ,WAAO,gBAAI,aAAa,cAAe;AAAA,EACvC,YAAY,CAAE,SAAU,KAAK,SAAS;AAAA,EACtC,iBAAa,gBAAI,2BAA2B,cAAe;AAAA,EAC3D,mBAAmB;AAAA,EACnB,aAAa,CAAE,EAAE,OAAO,WAAW,MAAO;AACzC,UAAM,CAAE,IAAK,IAAI;AACjB,UAAM,aAAS,wBAAS,MAAM;AAC7B,aACC,KAAK,cACL;AAAA,QACC,OAAO,KAAK,YAAY,WACrB,KAAK,UACL,KAAK,QAAQ;AAAA,QAChB;AAAA,UACC,6BAA6B;AAAA,QAC9B;AAAA,MACD;AAAA,IAEF,GAAG,CAAE,KAAK,SAAS,KAAK,MAAO,CAAE;AACjC,UAAM,EAAE,oBAAoB,QAAI,yBAAa,eAAAA,KAAa;AAC1D,aAAS,sBAAuB,cAAqB;AACpD;AAAA,YACC;AAAA;AAAA,cAEC,gBAAI,oBAAoB,eAAgB;AAAA,cACxC,2BAAc,YAAa;AAAA,QAC5B;AAAA,QACA,EAAE,MAAM,YAAY,IAAI,6BAA6B;AAAA,MACtD;AACA,mBAAa;AAAA,IACd;AACA,WACC;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,aAAc,KAAK;AAAA,QACnB,kBAAe;AAAA;AAAA,cAEd,gBAAI,aAAa,eAAgB;AAAA,cACjC,2BAAc,IAAK;AAAA,QACpB;AAAA,QACA,UAAW;AAAA,QACX,SAAU;AAAA,QACV,kBAAe,gBAAI,aAAa,cAAe;AAAA,QAC/C,YAAa,eAAgB,MAAM;AAAA,QAAC;AAAA;AAAA,IACrC;AAAA,EAEF;AACD;AAIA,IAAO,kCAAQ;",
6
+ "names": ["noticesStore"]
7
+ }
@@ -1,61 +1,76 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var export_pattern_exports = {};
20
+ __export(export_pattern_exports, {
21
+ default: () => export_pattern_default
5
22
  });
6
- exports.default = void 0;
7
- var _changeCase = require("change-case");
8
- var _clientZip = require("client-zip");
9
- var _blob = require("@wordpress/blob");
10
- var _i18n = require("@wordpress/i18n");
11
- var _icons = require("@wordpress/icons");
12
- var _utils = require("./utils");
13
- /**
14
- * External dependencies
15
- */
16
-
17
- /**
18
- * WordPress dependencies
19
- */
20
-
21
- /**
22
- * Internal dependencies
23
- */
24
-
23
+ module.exports = __toCommonJS(export_pattern_exports);
24
+ var import_change_case = require("change-case");
25
+ var import_client_zip = require("client-zip");
26
+ var import_blob = require("@wordpress/blob");
27
+ var import_i18n = require("@wordpress/i18n");
28
+ var import_icons = require("@wordpress/icons");
29
+ var import_utils = require("./utils");
25
30
  function getJsonFromItem(item) {
26
- return JSON.stringify({
27
- __file: item.type,
28
- title: (0, _utils.getItemTitle)(item),
29
- content: typeof item.content === 'string' ? item.content : item.content?.raw,
30
- syncStatus: item.wp_pattern_sync_status
31
- }, null, 2);
31
+ return JSON.stringify(
32
+ {
33
+ __file: item.type,
34
+ title: (0, import_utils.getItemTitle)(item),
35
+ content: typeof item.content === "string" ? item.content : item.content?.raw,
36
+ syncStatus: item.wp_pattern_sync_status
37
+ },
38
+ null,
39
+ 2
40
+ );
32
41
  }
33
42
  const exportPattern = {
34
- id: 'export-pattern',
35
- label: (0, _i18n.__)('Export as JSON'),
36
- icon: _icons.download,
43
+ id: "export-pattern",
44
+ label: (0, import_i18n.__)("Export as JSON"),
45
+ icon: import_icons.download,
37
46
  supportsBulk: true,
38
- isEligible: item => item.type === 'wp_block',
39
- callback: async items => {
47
+ isEligible: (item) => item.type === "wp_block",
48
+ callback: async (items) => {
40
49
  if (items.length === 1) {
41
- return (0, _blob.downloadBlob)(`${(0, _changeCase.paramCase)((0, _utils.getItemTitle)(items[0]) || items[0].slug)}.json`, getJsonFromItem(items[0]), 'application/json');
50
+ return (0, import_blob.downloadBlob)(
51
+ `${(0, import_change_case.paramCase)(
52
+ (0, import_utils.getItemTitle)(items[0]) || items[0].slug
53
+ )}.json`,
54
+ getJsonFromItem(items[0]),
55
+ "application/json"
56
+ );
42
57
  }
43
58
  const nameCount = {};
44
- const filesToZip = items.map(item => {
45
- const name = (0, _changeCase.paramCase)((0, _utils.getItemTitle)(item) || item.slug);
59
+ const filesToZip = items.map((item) => {
60
+ const name = (0, import_change_case.paramCase)((0, import_utils.getItemTitle)(item) || item.slug);
46
61
  nameCount[name] = (nameCount[name] || 0) + 1;
47
62
  return {
48
- name: `${name + (nameCount[name] > 1 ? '-' + (nameCount[name] - 1) : '')}.json`,
49
- lastModified: new Date(),
63
+ name: `${name + (nameCount[name] > 1 ? "-" + (nameCount[name] - 1) : "")}.json`,
64
+ lastModified: /* @__PURE__ */ new Date(),
50
65
  input: getJsonFromItem(item)
51
66
  };
52
67
  });
53
- return (0, _blob.downloadBlob)((0, _i18n.__)('patterns-export') + '.zip', await (0, _clientZip.downloadZip)(filesToZip).blob(), 'application/zip');
68
+ return (0, import_blob.downloadBlob)(
69
+ (0, import_i18n.__)("patterns-export") + ".zip",
70
+ await (0, import_client_zip.downloadZip)(filesToZip).blob(),
71
+ "application/zip"
72
+ );
54
73
  }
55
74
  };
56
-
57
- /**
58
- * Export action as JSON for Pattern.
59
- */
60
- var _default = exports.default = exportPattern;
61
- //# sourceMappingURL=export-pattern.js.map
75
+ var export_pattern_default = exportPattern;
76
+ //# sourceMappingURL=export-pattern.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["_changeCase","require","_clientZip","_blob","_i18n","_icons","_utils","getJsonFromItem","item","JSON","stringify","__file","type","title","getItemTitle","content","raw","syncStatus","wp_pattern_sync_status","exportPattern","id","label","__","icon","download","supportsBulk","isEligible","callback","items","length","downloadBlob","kebabCase","slug","nameCount","filesToZip","map","name","lastModified","Date","input","downloadZip","blob","_default","exports","default"],"sources":["@wordpress/fields/src/actions/export-pattern.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\nimport { downloadZip } from 'client-zip';\n\n/**\n * WordPress dependencies\n */\nimport { downloadBlob } from '@wordpress/blob';\nimport { __ } from '@wordpress/i18n';\nimport { download } from '@wordpress/icons';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport type { Pattern } from '../types';\nimport { getItemTitle } from './utils';\n\nfunction getJsonFromItem( item: Pattern ) {\n\treturn JSON.stringify(\n\t\t{\n\t\t\t__file: item.type,\n\t\t\ttitle: getItemTitle( item ),\n\t\t\tcontent:\n\t\t\t\ttypeof item.content === 'string'\n\t\t\t\t\t? item.content\n\t\t\t\t\t: item.content?.raw,\n\t\t\tsyncStatus: item.wp_pattern_sync_status,\n\t\t},\n\t\tnull,\n\t\t2\n\t);\n}\n\nconst exportPattern: Action< Pattern > = {\n\tid: 'export-pattern',\n\tlabel: __( 'Export as JSON' ),\n\ticon: download,\n\tsupportsBulk: true,\n\tisEligible: ( item ) => item.type === 'wp_block',\n\tcallback: async ( items ) => {\n\t\tif ( items.length === 1 ) {\n\t\t\treturn downloadBlob(\n\t\t\t\t`${ kebabCase(\n\t\t\t\t\tgetItemTitle( items[ 0 ] ) || items[ 0 ].slug\n\t\t\t\t) }.json`,\n\t\t\t\tgetJsonFromItem( items[ 0 ] ),\n\t\t\t\t'application/json'\n\t\t\t);\n\t\t}\n\t\tconst nameCount: Record< string, number > = {};\n\t\tconst filesToZip = items.map( ( item ) => {\n\t\t\tconst name = kebabCase( getItemTitle( item ) || item.slug );\n\t\t\tnameCount[ name ] = ( nameCount[ name ] || 0 ) + 1;\n\t\t\treturn {\n\t\t\t\tname: `${\n\t\t\t\t\tname +\n\t\t\t\t\t( nameCount[ name ] > 1\n\t\t\t\t\t\t? '-' + ( nameCount[ name ] - 1 )\n\t\t\t\t\t\t: '' )\n\t\t\t\t}.json`,\n\t\t\t\tlastModified: new Date(),\n\t\t\t\tinput: getJsonFromItem( item ),\n\t\t\t};\n\t\t} );\n\t\treturn downloadBlob(\n\t\t\t__( 'patterns-export' ) + '.zip',\n\t\t\tawait downloadZip( filesToZip ).blob(),\n\t\t\t'application/zip'\n\t\t);\n\t},\n};\n\n/**\n * Export action as JSON for Pattern.\n */\nexport default exportPattern;\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAOA,IAAAK,MAAA,GAAAL,OAAA;AAlBA;AACA;AACA;;AAIA;AACA;AACA;;AAMA;AACA;AACA;;AAIA,SAASM,eAAeA,CAAEC,IAAa,EAAG;EACzC,OAAOC,IAAI,CAACC,SAAS,CACpB;IACCC,MAAM,EAAEH,IAAI,CAACI,IAAI;IACjBC,KAAK,EAAE,IAAAC,mBAAY,EAAEN,IAAK,CAAC;IAC3BO,OAAO,EACN,OAAOP,IAAI,CAACO,OAAO,KAAK,QAAQ,GAC7BP,IAAI,CAACO,OAAO,GACZP,IAAI,CAACO,OAAO,EAAEC,GAAG;IACrBC,UAAU,EAAET,IAAI,CAACU;EAClB,CAAC,EACD,IAAI,EACJ,CACD,CAAC;AACF;AAEA,MAAMC,aAAgC,GAAG;EACxCC,EAAE,EAAE,gBAAgB;EACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,gBAAiB,CAAC;EAC7BC,IAAI,EAAEC,eAAQ;EACdC,YAAY,EAAE,IAAI;EAClBC,UAAU,EAAIlB,IAAI,IAAMA,IAAI,CAACI,IAAI,KAAK,UAAU;EAChDe,QAAQ,EAAE,MAAQC,KAAK,IAAM;IAC5B,IAAKA,KAAK,CAACC,MAAM,KAAK,CAAC,EAAG;MACzB,OAAO,IAAAC,kBAAY,EAClB,GAAI,IAAAC,qBAAS,EACZ,IAAAjB,mBAAY,EAAEc,KAAK,CAAE,CAAC,CAAG,CAAC,IAAIA,KAAK,CAAE,CAAC,CAAE,CAACI,IAC1C,CAAC,OAAQ,EACTzB,eAAe,CAAEqB,KAAK,CAAE,CAAC,CAAG,CAAC,EAC7B,kBACD,CAAC;IACF;IACA,MAAMK,SAAmC,GAAG,CAAC,CAAC;IAC9C,MAAMC,UAAU,GAAGN,KAAK,CAACO,GAAG,CAAI3B,IAAI,IAAM;MACzC,MAAM4B,IAAI,GAAG,IAAAL,qBAAS,EAAE,IAAAjB,mBAAY,EAAEN,IAAK,CAAC,IAAIA,IAAI,CAACwB,IAAK,CAAC;MAC3DC,SAAS,CAAEG,IAAI,CAAE,GAAG,CAAEH,SAAS,CAAEG,IAAI,CAAE,IAAI,CAAC,IAAK,CAAC;MAClD,OAAO;QACNA,IAAI,EAAE,GACLA,IAAI,IACFH,SAAS,CAAEG,IAAI,CAAE,GAAG,CAAC,GACpB,GAAG,IAAKH,SAAS,CAAEG,IAAI,CAAE,GAAG,CAAC,CAAE,GAC/B,EAAE,CAAE,OACD;QACPC,YAAY,EAAE,IAAIC,IAAI,CAAC,CAAC;QACxBC,KAAK,EAAEhC,eAAe,CAAEC,IAAK;MAC9B,CAAC;IACF,CAAE,CAAC;IACH,OAAO,IAAAsB,kBAAY,EAClB,IAAAR,QAAE,EAAE,iBAAkB,CAAC,GAAG,MAAM,EAChC,MAAM,IAAAkB,sBAAW,EAAEN,UAAW,CAAC,CAACO,IAAI,CAAC,CAAC,EACtC,iBACD,CAAC;EACF;AACD,CAAC;;AAED;AACA;AACA;AAFA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGezB,aAAa","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/actions/export-pattern.tsx"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\nimport { downloadZip } from 'client-zip';\n\n/**\n * WordPress dependencies\n */\nimport { downloadBlob } from '@wordpress/blob';\nimport { __ } from '@wordpress/i18n';\nimport { download } from '@wordpress/icons';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport type { Pattern } from '../types';\nimport { getItemTitle } from './utils';\n\nfunction getJsonFromItem( item: Pattern ) {\n\treturn JSON.stringify(\n\t\t{\n\t\t\t__file: item.type,\n\t\t\ttitle: getItemTitle( item ),\n\t\t\tcontent:\n\t\t\t\ttypeof item.content === 'string'\n\t\t\t\t\t? item.content\n\t\t\t\t\t: item.content?.raw,\n\t\t\tsyncStatus: item.wp_pattern_sync_status,\n\t\t},\n\t\tnull,\n\t\t2\n\t);\n}\n\nconst exportPattern: Action< Pattern > = {\n\tid: 'export-pattern',\n\tlabel: __( 'Export as JSON' ),\n\ticon: download,\n\tsupportsBulk: true,\n\tisEligible: ( item ) => item.type === 'wp_block',\n\tcallback: async ( items ) => {\n\t\tif ( items.length === 1 ) {\n\t\t\treturn downloadBlob(\n\t\t\t\t`${ kebabCase(\n\t\t\t\t\tgetItemTitle( items[ 0 ] ) || items[ 0 ].slug\n\t\t\t\t) }.json`,\n\t\t\t\tgetJsonFromItem( items[ 0 ] ),\n\t\t\t\t'application/json'\n\t\t\t);\n\t\t}\n\t\tconst nameCount: Record< string, number > = {};\n\t\tconst filesToZip = items.map( ( item ) => {\n\t\t\tconst name = kebabCase( getItemTitle( item ) || item.slug );\n\t\t\tnameCount[ name ] = ( nameCount[ name ] || 0 ) + 1;\n\t\t\treturn {\n\t\t\t\tname: `${\n\t\t\t\t\tname +\n\t\t\t\t\t( nameCount[ name ] > 1\n\t\t\t\t\t\t? '-' + ( nameCount[ name ] - 1 )\n\t\t\t\t\t\t: '' )\n\t\t\t\t}.json`,\n\t\t\t\tlastModified: new Date(),\n\t\t\t\tinput: getJsonFromItem( item ),\n\t\t\t};\n\t\t} );\n\t\treturn downloadBlob(\n\t\t\t__( 'patterns-export' ) + '.zip',\n\t\t\tawait downloadZip( filesToZip ).blob(),\n\t\t\t'application/zip'\n\t\t);\n\t},\n};\n\n/**\n * Export action as JSON for Pattern.\n */\nexport default exportPattern;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAAuC;AACvC,wBAA4B;AAK5B,kBAA6B;AAC7B,kBAAmB;AACnB,mBAAyB;AAOzB,mBAA6B;AAE7B,SAAS,gBAAiB,MAAgB;AACzC,SAAO,KAAK;AAAA,IACX;AAAA,MACC,QAAQ,KAAK;AAAA,MACb,WAAO,2BAAc,IAAK;AAAA,MAC1B,SACC,OAAO,KAAK,YAAY,WACrB,KAAK,UACL,KAAK,SAAS;AAAA,MAClB,YAAY,KAAK;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEA,MAAM,gBAAmC;AAAA,EACxC,IAAI;AAAA,EACJ,WAAO,gBAAI,gBAAiB;AAAA,EAC5B,MAAM;AAAA,EACN,cAAc;AAAA,EACd,YAAY,CAAE,SAAU,KAAK,SAAS;AAAA,EACtC,UAAU,OAAQ,UAAW;AAC5B,QAAK,MAAM,WAAW,GAAI;AACzB,iBAAO;AAAA,QACN,OAAI,mBAAAA;AAAA,cACH,2BAAc,MAAO,CAAE,CAAE,KAAK,MAAO,CAAE,EAAE;AAAA,QAC1C,CAAE;AAAA,QACF,gBAAiB,MAAO,CAAE,CAAE;AAAA,QAC5B;AAAA,MACD;AAAA,IACD;AACA,UAAM,YAAsC,CAAC;AAC7C,UAAM,aAAa,MAAM,IAAK,CAAE,SAAU;AACzC,YAAM,WAAO,mBAAAA,eAAW,2BAAc,IAAK,KAAK,KAAK,IAAK;AAC1D,gBAAW,IAAK,KAAM,UAAW,IAAK,KAAK,KAAM;AACjD,aAAO;AAAA,QACN,MAAM,GACL,QACE,UAAW,IAAK,IAAI,IACnB,OAAQ,UAAW,IAAK,IAAI,KAC5B,GACJ;AAAA,QACA,cAAc,oBAAI,KAAK;AAAA,QACvB,OAAO,gBAAiB,IAAK;AAAA,MAC9B;AAAA,IACD,CAAE;AACF,eAAO;AAAA,UACN,gBAAI,iBAAkB,IAAI;AAAA,MAC1B,UAAM,+BAAa,UAAW,EAAE,KAAK;AAAA,MACrC;AAAA,IACD;AAAA,EACD;AACD;AAKA,IAAO,yBAAQ;",
6
+ "names": ["kebabCase"]
7
+ }