@wordpress/fields 0.5.0 → 0.5.1-next.a9f418477.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 (299) hide show
  1. package/README.md +52 -27
  2. package/build/actions/delete-post.js +4 -0
  3. package/build/actions/delete-post.js.map +1 -1
  4. package/build/actions/duplicate-pattern.js +4 -0
  5. package/build/actions/duplicate-pattern.js.map +1 -1
  6. package/build/actions/duplicate-post.js +7 -3
  7. package/build/actions/duplicate-post.js.map +1 -1
  8. package/build/actions/duplicate-template-part.js +71 -0
  9. package/build/actions/duplicate-template-part.js.map +1 -0
  10. package/build/actions/export-pattern.js +4 -0
  11. package/build/actions/export-pattern.js.map +1 -1
  12. package/build/actions/index.js +3 -17
  13. package/build/actions/index.js.map +1 -1
  14. package/build/actions/permanently-delete-post.js +4 -1
  15. package/build/actions/permanently-delete-post.js.map +1 -1
  16. package/build/actions/rename-post.js +6 -2
  17. package/build/actions/rename-post.js.map +1 -1
  18. package/build/actions/reorder-page.js +4 -0
  19. package/build/actions/reorder-page.js.map +1 -1
  20. package/build/actions/reset-post.js +7 -3
  21. package/build/actions/reset-post.js.map +1 -1
  22. package/build/actions/restore-post.js +4 -1
  23. package/build/actions/restore-post.js.map +1 -1
  24. package/build/actions/trash-post.js +4 -1
  25. package/build/actions/trash-post.js.map +1 -1
  26. package/build/actions/utils.js +4 -12
  27. package/build/actions/utils.js.map +1 -1
  28. package/build/actions/view-post-revisions.js +4 -0
  29. package/build/actions/view-post-revisions.js.map +1 -1
  30. package/build/actions/view-post.js +4 -0
  31. package/build/actions/view-post.js.map +1 -1
  32. package/build/components/create-template-part-modal/index.js +213 -0
  33. package/build/components/create-template-part-modal/index.js.map +1 -0
  34. package/build/components/create-template-part-modal/utils.js +64 -0
  35. package/build/components/create-template-part-modal/utils.js.map +1 -0
  36. package/build/fields/featured-image/index.js +4 -0
  37. package/build/fields/featured-image/index.js.map +1 -1
  38. package/build/fields/index.js +28 -0
  39. package/build/fields/index.js.map +1 -1
  40. package/build/fields/order/index.js +4 -0
  41. package/build/fields/order/index.js.map +1 -1
  42. package/build/fields/page-title/index.js +36 -0
  43. package/build/fields/page-title/index.js.map +1 -0
  44. package/build/fields/page-title/view.js +45 -0
  45. package/build/fields/page-title/view.js.map +1 -0
  46. package/build/fields/parent/index.js +1 -1
  47. package/build/fields/parent/index.js.map +1 -1
  48. package/build/fields/password/index.js +1 -1
  49. package/build/fields/password/index.js.map +1 -1
  50. package/build/fields/pattern-title/index.js +36 -0
  51. package/build/fields/pattern-title/index.js.map +1 -0
  52. package/build/fields/pattern-title/view.js +45 -0
  53. package/build/fields/pattern-title/view.js.map +1 -0
  54. package/build/fields/slug/index.js +4 -0
  55. package/build/fields/slug/index.js.map +1 -1
  56. package/build/fields/slug/slug-view.js +1 -1
  57. package/build/fields/slug/slug-view.js.map +1 -1
  58. package/build/fields/slug/utils.js +3 -0
  59. package/build/fields/slug/utils.js.map +1 -1
  60. package/build/fields/template/index.js +29 -0
  61. package/build/fields/template/index.js.map +1 -0
  62. package/build/fields/template/template-edit.js +154 -0
  63. package/build/fields/template/template-edit.js.map +1 -0
  64. package/build/fields/template-title/index.js +36 -0
  65. package/build/fields/template-title/index.js.map +1 -0
  66. package/build/fields/title/index.js +10 -3
  67. package/build/fields/title/index.js.map +1 -1
  68. package/build/fields/title/view.js +48 -0
  69. package/build/fields/title/view.js.map +1 -0
  70. package/build/index.js +13 -0
  71. package/build/index.js.map +1 -1
  72. package/build/index.native.js +0 -26
  73. package/build/index.native.js.map +1 -1
  74. package/build/mutation/index.js +0 -1
  75. package/build/mutation/index.js.map +1 -1
  76. package/build/types.js.map +1 -1
  77. package/build-module/actions/delete-post.js +4 -0
  78. package/build-module/actions/delete-post.js.map +1 -1
  79. package/build-module/actions/duplicate-pattern.js +4 -0
  80. package/build-module/actions/duplicate-pattern.js.map +1 -1
  81. package/build-module/actions/duplicate-post.js +7 -3
  82. package/build-module/actions/duplicate-post.js.map +1 -1
  83. package/build-module/actions/duplicate-template-part.js +66 -0
  84. package/build-module/actions/duplicate-template-part.js.map +1 -0
  85. package/build-module/actions/export-pattern.js +4 -0
  86. package/build-module/actions/export-pattern.js.map +1 -1
  87. package/build-module/actions/index.js +1 -3
  88. package/build-module/actions/index.js.map +1 -1
  89. package/build-module/actions/permanently-delete-post.js +4 -1
  90. package/build-module/actions/permanently-delete-post.js.map +1 -1
  91. package/build-module/actions/rename-post.js +7 -3
  92. package/build-module/actions/rename-post.js.map +1 -1
  93. package/build-module/actions/reorder-page.js +4 -0
  94. package/build-module/actions/reorder-page.js.map +1 -1
  95. package/build-module/actions/reset-post.js +8 -4
  96. package/build-module/actions/reset-post.js.map +1 -1
  97. package/build-module/actions/restore-post.js +4 -1
  98. package/build-module/actions/restore-post.js.map +1 -1
  99. package/build-module/actions/trash-post.js +4 -1
  100. package/build-module/actions/trash-post.js.map +1 -1
  101. package/build-module/actions/utils.js +4 -11
  102. package/build-module/actions/utils.js.map +1 -1
  103. package/build-module/actions/view-post-revisions.js +4 -0
  104. package/build-module/actions/view-post-revisions.js.map +1 -1
  105. package/build-module/actions/view-post.js +4 -0
  106. package/build-module/actions/view-post.js.map +1 -1
  107. package/build-module/components/create-template-part-modal/index.js +204 -0
  108. package/build-module/components/create-template-part-modal/index.js.map +1 -0
  109. package/build-module/components/create-template-part-modal/utils.js +55 -0
  110. package/build-module/components/create-template-part-modal/utils.js.map +1 -0
  111. package/build-module/fields/featured-image/index.js +4 -0
  112. package/build-module/fields/featured-image/index.js.map +1 -1
  113. package/build-module/fields/index.js +4 -0
  114. package/build-module/fields/index.js.map +1 -1
  115. package/build-module/fields/order/index.js +4 -0
  116. package/build-module/fields/order/index.js.map +1 -1
  117. package/build-module/fields/page-title/index.js +30 -0
  118. package/build-module/fields/page-title/index.js.map +1 -0
  119. package/build-module/fields/page-title/view.js +39 -0
  120. package/build-module/fields/page-title/view.js.map +1 -0
  121. package/build-module/fields/parent/index.js +1 -1
  122. package/build-module/fields/parent/index.js.map +1 -1
  123. package/build-module/fields/password/index.js +1 -1
  124. package/build-module/fields/password/index.js.map +1 -1
  125. package/build-module/fields/pattern-title/index.js +30 -0
  126. package/build-module/fields/pattern-title/index.js.map +1 -0
  127. package/build-module/fields/pattern-title/view.js +36 -0
  128. package/build-module/fields/pattern-title/view.js.map +1 -0
  129. package/build-module/fields/slug/index.js +4 -0
  130. package/build-module/fields/slug/index.js.map +1 -1
  131. package/build-module/fields/slug/slug-view.js +1 -1
  132. package/build-module/fields/slug/slug-view.js.map +1 -1
  133. package/build-module/fields/slug/utils.js +3 -0
  134. package/build-module/fields/slug/utils.js.map +1 -1
  135. package/build-module/fields/template/index.js +22 -0
  136. package/build-module/fields/template/index.js.map +1 -0
  137. package/build-module/fields/template/template-edit.js +144 -0
  138. package/build-module/fields/template/template-edit.js.map +1 -0
  139. package/build-module/fields/template-title/index.js +30 -0
  140. package/build-module/fields/template-title/index.js.map +1 -0
  141. package/build-module/fields/title/index.js +9 -2
  142. package/build-module/fields/title/index.js.map +1 -1
  143. package/build-module/fields/title/view.js +39 -0
  144. package/build-module/fields/title/view.js.map +1 -0
  145. package/build-module/index.js +1 -0
  146. package/build-module/index.js.map +1 -1
  147. package/build-module/index.native.js +1 -2
  148. package/build-module/index.native.js.map +1 -1
  149. package/build-module/mutation/index.js +0 -1
  150. package/build-module/mutation/index.js.map +1 -1
  151. package/build-module/types.js.map +1 -1
  152. package/build-style/style-rtl.css +98 -0
  153. package/build-style/style.css +98 -0
  154. package/build-types/actions/delete-post.d.ts +3 -0
  155. package/build-types/actions/delete-post.d.ts.map +1 -1
  156. package/build-types/actions/duplicate-pattern.d.ts +3 -0
  157. package/build-types/actions/duplicate-pattern.d.ts.map +1 -1
  158. package/build-types/actions/duplicate-post.d.ts +3 -0
  159. package/build-types/actions/duplicate-post.d.ts.map +1 -1
  160. package/build-types/actions/duplicate-template-part.d.ts +14 -0
  161. package/build-types/actions/duplicate-template-part.d.ts.map +1 -0
  162. package/build-types/actions/export-pattern.d.ts +3 -0
  163. package/build-types/actions/export-pattern.d.ts.map +1 -1
  164. package/build-types/actions/index.d.ts +1 -3
  165. package/build-types/actions/index.d.ts.map +1 -1
  166. package/build-types/actions/permanently-delete-post.d.ts +3 -0
  167. package/build-types/actions/permanently-delete-post.d.ts.map +1 -1
  168. package/build-types/actions/rename-post.d.ts +3 -0
  169. package/build-types/actions/rename-post.d.ts.map +1 -1
  170. package/build-types/actions/reorder-page.d.ts +3 -0
  171. package/build-types/actions/reorder-page.d.ts.map +1 -1
  172. package/build-types/actions/reset-post.d.ts +3 -0
  173. package/build-types/actions/reset-post.d.ts.map +1 -1
  174. package/build-types/actions/restore-post.d.ts +3 -0
  175. package/build-types/actions/restore-post.d.ts.map +1 -1
  176. package/build-types/actions/trash-post.d.ts +3 -0
  177. package/build-types/actions/trash-post.d.ts.map +1 -1
  178. package/build-types/actions/utils.d.ts +7 -8
  179. package/build-types/actions/utils.d.ts.map +1 -1
  180. package/build-types/actions/view-post-revisions.d.ts +3 -0
  181. package/build-types/actions/view-post-revisions.d.ts.map +1 -1
  182. package/build-types/actions/view-post.d.ts +3 -0
  183. package/build-types/actions/view-post.d.ts.map +1 -1
  184. package/build-types/components/create-template-part-modal/index.d.ts +34 -0
  185. package/build-types/components/create-template-part-modal/index.d.ts.map +1 -0
  186. package/build-types/components/create-template-part-modal/utils.d.ts +4 -0
  187. package/build-types/components/create-template-part-modal/utils.d.ts.map +1 -0
  188. package/build-types/fields/featured-image/index.d.ts +3 -0
  189. package/build-types/fields/featured-image/index.d.ts.map +1 -1
  190. package/build-types/fields/index.d.ts +4 -0
  191. package/build-types/fields/index.d.ts.map +1 -1
  192. package/build-types/fields/order/index.d.ts +3 -0
  193. package/build-types/fields/order/index.d.ts.map +1 -1
  194. package/build-types/fields/page-title/index.d.ts +14 -0
  195. package/build-types/fields/page-title/index.d.ts.map +1 -0
  196. package/build-types/fields/page-title/view.d.ts +8 -0
  197. package/build-types/fields/page-title/view.d.ts.map +1 -0
  198. package/build-types/fields/parent/index.d.ts +1 -1
  199. package/build-types/fields/password/index.d.ts +1 -1
  200. package/build-types/fields/pattern-title/index.d.ts +14 -0
  201. package/build-types/fields/pattern-title/index.d.ts.map +1 -0
  202. package/build-types/fields/pattern-title/view.d.ts +9 -0
  203. package/build-types/fields/pattern-title/view.d.ts.map +1 -0
  204. package/build-types/fields/slug/index.d.ts +3 -0
  205. package/build-types/fields/slug/index.d.ts.map +1 -1
  206. package/build-types/fields/slug/utils.d.ts.map +1 -1
  207. package/build-types/fields/template/index.d.ts +11 -0
  208. package/build-types/fields/template/index.d.ts.map +1 -0
  209. package/build-types/fields/template/template-edit.d.ts +4 -0
  210. package/build-types/fields/template/template-edit.d.ts.map +1 -0
  211. package/build-types/fields/template-title/index.d.ts +14 -0
  212. package/build-types/fields/template-title/index.d.ts.map +1 -0
  213. package/build-types/fields/title/index.d.ts +7 -2
  214. package/build-types/fields/title/index.d.ts.map +1 -1
  215. package/build-types/fields/title/view.d.ts +14 -0
  216. package/build-types/fields/title/view.d.ts.map +1 -0
  217. package/build-types/index.d.ts +2 -1
  218. package/build-types/index.d.ts.map +1 -1
  219. package/build-types/index.native.d.ts +0 -2
  220. package/build-types/index.native.d.ts.map +1 -1
  221. package/build-types/lock-unlock.d.ts +1 -1
  222. package/build-types/lock-unlock.d.ts.map +1 -1
  223. package/build-types/types.d.ts +3 -0
  224. package/build-types/types.d.ts.map +1 -1
  225. package/package.json +24 -23
  226. package/src/actions/delete-post.tsx +3 -0
  227. package/src/actions/duplicate-pattern.tsx +3 -0
  228. package/src/actions/duplicate-post.tsx +6 -3
  229. package/src/actions/duplicate-template-part.tsx +74 -0
  230. package/src/actions/export-pattern.tsx +3 -0
  231. package/src/actions/index.ts +1 -3
  232. package/src/actions/permanently-delete-post.tsx +3 -0
  233. package/src/actions/rename-post.tsx +6 -6
  234. package/src/actions/reorder-page.tsx +3 -0
  235. package/src/actions/reset-post.tsx +7 -9
  236. package/src/actions/restore-post.tsx +3 -0
  237. package/src/actions/trash-post.tsx +3 -0
  238. package/src/actions/utils.ts +7 -15
  239. package/src/actions/view-post-revisions.tsx +3 -0
  240. package/src/actions/view-post.tsx +3 -0
  241. package/src/components/create-template-part-modal/index.tsx +274 -0
  242. package/src/components/create-template-part-modal/style.scss +63 -0
  243. package/src/components/create-template-part-modal/test/utils.js +60 -0
  244. package/src/components/create-template-part-modal/utils.js +68 -0
  245. package/src/fields/featured-image/index.ts +3 -0
  246. package/src/fields/index.ts +4 -0
  247. package/src/fields/order/index.ts +3 -0
  248. package/src/fields/page-title/index.ts +28 -0
  249. package/src/fields/page-title/style.scss +10 -0
  250. package/src/fields/page-title/view.tsx +38 -0
  251. package/src/fields/parent/index.ts +1 -1
  252. package/src/fields/password/index.tsx +1 -1
  253. package/src/fields/pattern-title/index.ts +28 -0
  254. package/src/fields/pattern-title/style.scss +3 -0
  255. package/src/fields/pattern-title/view.tsx +32 -0
  256. package/src/fields/slug/index.ts +3 -0
  257. package/src/fields/slug/slug-view.tsx +1 -1
  258. package/src/fields/slug/utils.ts +4 -0
  259. package/src/fields/template/index.ts +24 -0
  260. package/src/fields/template/style.scss +23 -0
  261. package/src/fields/template/template-edit.tsx +210 -0
  262. package/src/fields/template-title/index.ts +28 -0
  263. package/src/fields/title/index.ts +9 -3
  264. package/src/fields/title/style.scss +8 -0
  265. package/src/fields/title/view.tsx +43 -0
  266. package/src/index.native.ts +0 -2
  267. package/src/index.ts +2 -1
  268. package/src/style.scss +5 -0
  269. package/src/types.ts +3 -0
  270. package/tsconfig.json +2 -0
  271. package/tsconfig.tsbuildinfo +1 -1
  272. package/build/actions/duplicate-post.native.js +0 -9
  273. package/build/actions/duplicate-post.native.js.map +0 -1
  274. package/build/actions/export-pattern.native.js +0 -9
  275. package/build/actions/export-pattern.native.js.map +0 -1
  276. package/build/actions/reorder-page.native.js +0 -9
  277. package/build/actions/reorder-page.native.js.map +0 -1
  278. package/build/fields/title/title-view.js +0 -61
  279. package/build/fields/title/title-view.js.map +0 -1
  280. package/build-module/actions/duplicate-post.native.js +0 -3
  281. package/build-module/actions/duplicate-post.native.js.map +0 -1
  282. package/build-module/actions/export-pattern.native.js +0 -3
  283. package/build-module/actions/export-pattern.native.js.map +0 -1
  284. package/build-module/actions/reorder-page.native.js +0 -3
  285. package/build-module/actions/reorder-page.native.js.map +0 -1
  286. package/build-module/fields/title/title-view.js +0 -55
  287. package/build-module/fields/title/title-view.js.map +0 -1
  288. package/build-types/actions/duplicate-post.native.d.ts +0 -3
  289. package/build-types/actions/duplicate-post.native.d.ts.map +0 -1
  290. package/build-types/actions/export-pattern.native.d.ts +0 -3
  291. package/build-types/actions/export-pattern.native.d.ts.map +0 -1
  292. package/build-types/actions/reorder-page.native.d.ts +0 -3
  293. package/build-types/actions/reorder-page.native.d.ts.map +0 -1
  294. package/build-types/fields/title/title-view.d.ts +0 -9
  295. package/build-types/fields/title/title-view.d.ts.map +0 -1
  296. package/src/actions/duplicate-post.native.tsx +0 -3
  297. package/src/actions/export-pattern.native.tsx +0 -3
  298. package/src/actions/reorder-page.native.tsx +0 -3
  299. package/src/fields/title/title-view.tsx +0 -62
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PATTERN_TYPES = void 0;
7
+ exports.default = PatternTitleView;
8
+ var _i18n = require("@wordpress/i18n");
9
+ var _icons = require("@wordpress/icons");
10
+ var _components = require("@wordpress/components");
11
+ var _patterns = require("@wordpress/patterns");
12
+ var _view = require("../title/view");
13
+ var _lockUnlock = require("../../lock-unlock");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ /**
16
+ * WordPress dependencies
17
+ */
18
+
19
+ // @ts-ignore
20
+
21
+ /**
22
+ * Internal dependencies
23
+ */
24
+
25
+ const {
26
+ PATTERN_TYPES
27
+ } = (0, _lockUnlock.unlock)(_patterns.privateApis);
28
+ exports.PATTERN_TYPES = PATTERN_TYPES;
29
+ function PatternTitleView({
30
+ item
31
+ }) {
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_view.BaseTitleView, {
33
+ item: item,
34
+ className: "fields-field__pattern-title",
35
+ children: item.type === PATTERN_TYPES.theme && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Tooltip, {
36
+ placement: "top",
37
+ text: (0, _i18n.__)('This pattern cannot be edited.'),
38
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, {
39
+ icon: _icons.lockSmall,
40
+ size: 24
41
+ })
42
+ })
43
+ });
44
+ }
45
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_icons","_components","_patterns","_view","_lockUnlock","_jsxRuntime","PATTERN_TYPES","unlock","patternPrivateApis","exports","PatternTitleView","item","jsx","BaseTitleView","className","children","type","theme","Tooltip","placement","text","__","Icon","icon","lockSmall","size"],"sources":["@wordpress/fields/src/fields/pattern-title/view.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon, lockSmall } from '@wordpress/icons';\nimport { Tooltip } from '@wordpress/components';\n// @ts-ignore\nimport { privateApis as patternPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport type { CommonPost } from '../../types';\nimport { BaseTitleView } from '../title/view';\nimport { unlock } from '../../lock-unlock';\n\nexport const { PATTERN_TYPES } = unlock( patternPrivateApis );\n\nexport default function PatternTitleView( { item }: { item: CommonPost } ) {\n\treturn (\n\t\t<BaseTitleView item={ item } className=\"fields-field__pattern-title\">\n\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ lockSmall } size={ 24 } />\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t</BaseTitleView>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AAMA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAA2C,IAAAM,WAAA,GAAAN,OAAA;AAd3C;AACA;AACA;;AAIA;;AAGA;AACA;AACA;;AAKO,MAAM;EAAEO;AAAc,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAmB,CAAC;AAACC,OAAA,CAAAH,aAAA,GAAAA,aAAA;AAE/C,SAASI,gBAAgBA,CAAE;EAAEC;AAA2B,CAAC,EAAG;EAC1E,oBACC,IAAAN,WAAA,CAAAO,GAAA,EAACT,KAAA,CAAAU,aAAa;IAACF,IAAI,EAAGA,IAAM;IAACG,SAAS,EAAC,6BAA6B;IAAAC,QAAA,EACjEJ,IAAI,CAACK,IAAI,KAAKV,aAAa,CAACW,KAAK,iBAClC,IAAAZ,WAAA,CAAAO,GAAA,EAACX,WAAA,CAAAiB,OAAO;MACPC,SAAS,EAAC,KAAK;MACfC,IAAI,EAAG,IAAAC,QAAE,EAAE,gCAAiC,CAAG;MAAAN,QAAA,eAE/C,IAAAV,WAAA,CAAAO,GAAA,EAACZ,MAAA,CAAAsB,IAAI;QAACC,IAAI,EAAGC,gBAAW;QAACC,IAAI,EAAG;MAAI,CAAE;IAAC,CAC/B;EACT,CACa,CAAC;AAElB","ignoreList":[]}
@@ -23,5 +23,9 @@ const slugField = {
23
23
  Edit: _slugEdit.default,
24
24
  render: _slugView.default
25
25
  };
26
+
27
+ /**
28
+ * Slug field for BasePost.
29
+ */
26
30
  var _default = exports.default = slugField;
27
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_slugEdit","_interopRequireDefault","_slugView","slugField","id","type","label","__","Edit","SlugEdit","render","SlugView","_default","exports","default"],"sources":["@wordpress/fields/src/fields/slug/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport type { Field } from '@wordpress/dataviews';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { BasePost } from '../../types';\nimport SlugEdit from './slug-edit';\nimport SlugView from './slug-view';\n\nconst slugField: Field< BasePost > = {\n\tid: 'slug',\n\ttype: 'text',\n\tlabel: __( 'Slug' ),\n\tEdit: SlugEdit,\n\trender: SlugView,\n};\n\nexport default slugField;\n"],"mappings":";;;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AAMA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAKA,MAAMI,SAA4B,GAAG;EACpCC,EAAE,EAAE,MAAM;EACVC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,IAAI,EAAEC,iBAAQ;EACdC,MAAM,EAAEC;AACT,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaX,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_slugEdit","_interopRequireDefault","_slugView","slugField","id","type","label","__","Edit","SlugEdit","render","SlugView","_default","exports","default"],"sources":["@wordpress/fields/src/fields/slug/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport type { Field } from '@wordpress/dataviews';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { BasePost } from '../../types';\nimport SlugEdit from './slug-edit';\nimport SlugView from './slug-view';\n\nconst slugField: Field< BasePost > = {\n\tid: 'slug',\n\ttype: 'text',\n\tlabel: __( 'Slug' ),\n\tEdit: SlugEdit,\n\trender: SlugView,\n};\n\n/**\n * Slug field for BasePost.\n */\nexport default slugField;\n"],"mappings":";;;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AAMA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAKA,MAAMI,SAA4B,GAAG;EACpCC,EAAE,EAAE,MAAM;EACVC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,IAAI,EAAEC,iBAAQ;EACdC,MAAM,EAAEC;AACT,CAAC;;AAED;AACA;AACA;AAFA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGeX,SAAS","ignoreList":[]}
@@ -17,7 +17,7 @@ var _utils = require("./utils");
17
17
  const SlugView = ({
18
18
  item
19
19
  }) => {
20
- const slug = typeof item === 'object' ? (0, _utils.getSlug)(item) : '';
20
+ const slug = (0, _utils.getSlug)(item);
21
21
  const originalSlugRef = (0, _element.useRef)(slug);
22
22
  (0, _element.useEffect)(() => {
23
23
  if (slug && originalSlugRef.current === undefined) {
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_utils","SlugView","item","slug","getSlug","originalSlugRef","useRef","useEffect","current","undefined","slugToDisplay","_default","exports","default"],"sources":["@wordpress/fields/src/fields/slug/slug-view.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { BasePost } from '../../types';\nimport { getSlug } from './utils';\n\nconst SlugView = ( { item }: { item: BasePost } ) => {\n\tconst slug = typeof item === 'object' ? getSlug( item ) : '';\n\tconst originalSlugRef = useRef( slug );\n\n\tuseEffect( () => {\n\t\tif ( slug && originalSlugRef.current === undefined ) {\n\t\t\toriginalSlugRef.current = slug;\n\t\t}\n\t}, [ slug ] );\n\n\tconst slugToDisplay = slug || originalSlugRef.current;\n\n\treturn `${ slugToDisplay }`;\n};\n\nexport default SlugView;\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAD,OAAA;AATA;AACA;AACA;;AAGA;AACA;AACA;;AAIA,MAAME,QAAQ,GAAGA,CAAE;EAAEC;AAAyB,CAAC,KAAM;EACpD,MAAMC,IAAI,GAAG,OAAOD,IAAI,KAAK,QAAQ,GAAG,IAAAE,cAAO,EAAEF,IAAK,CAAC,GAAG,EAAE;EAC5D,MAAMG,eAAe,GAAG,IAAAC,eAAM,EAAEH,IAAK,CAAC;EAEtC,IAAAI,kBAAS,EAAE,MAAM;IAChB,IAAKJ,IAAI,IAAIE,eAAe,CAACG,OAAO,KAAKC,SAAS,EAAG;MACpDJ,eAAe,CAACG,OAAO,GAAGL,IAAI;IAC/B;EACD,CAAC,EAAE,CAAEA,IAAI,CAAG,CAAC;EAEb,MAAMO,aAAa,GAAGP,IAAI,IAAIE,eAAe,CAACG,OAAO;EAErD,OAAO,GAAIE,aAAa,EAAG;AAC5B,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaZ,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_utils","SlugView","item","slug","getSlug","originalSlugRef","useRef","useEffect","current","undefined","slugToDisplay","_default","exports","default"],"sources":["@wordpress/fields/src/fields/slug/slug-view.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { BasePost } from '../../types';\nimport { getSlug } from './utils';\n\nconst SlugView = ( { item }: { item: BasePost } ) => {\n\tconst slug = getSlug( item );\n\tconst originalSlugRef = useRef( slug );\n\n\tuseEffect( () => {\n\t\tif ( slug && originalSlugRef.current === undefined ) {\n\t\t\toriginalSlugRef.current = slug;\n\t\t}\n\t}, [ slug ] );\n\n\tconst slugToDisplay = slug || originalSlugRef.current;\n\n\treturn `${ slugToDisplay }`;\n};\n\nexport default SlugView;\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAD,OAAA;AATA;AACA;AACA;;AAGA;AACA;AACA;;AAIA,MAAME,QAAQ,GAAGA,CAAE;EAAEC;AAAyB,CAAC,KAAM;EACpD,MAAMC,IAAI,GAAG,IAAAC,cAAO,EAAEF,IAAK,CAAC;EAC5B,MAAMG,eAAe,GAAG,IAAAC,eAAM,EAAEH,IAAK,CAAC;EAEtC,IAAAI,kBAAS,EAAE,MAAM;IAChB,IAAKJ,IAAI,IAAIE,eAAe,CAACG,OAAO,KAAKC,SAAS,EAAG;MACpDJ,eAAe,CAACG,OAAO,GAAGL,IAAI;IAC/B;EACD,CAAC,EAAE,CAAEA,IAAI,CAAG,CAAC;EAEb,MAAMO,aAAa,GAAGP,IAAI,IAAIE,eAAe,CAACG,OAAO;EAErD,OAAO,GAAIE,aAAa,EAAG;AAC5B,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEaZ,QAAQ","ignoreList":[]}
@@ -15,6 +15,9 @@ var _utils = require("../../actions/utils");
15
15
  */
16
16
 
17
17
  const getSlug = item => {
18
+ if (typeof item !== 'object') {
19
+ return '';
20
+ }
18
21
  return item.slug || (0, _url.cleanForSlug)((0, _utils.getItemTitle)(item)) || item.id.toString();
19
22
  };
20
23
  exports.getSlug = getSlug;
@@ -1 +1 @@
1
- {"version":3,"names":["_url","require","_utils","getSlug","item","slug","cleanForSlug","getItemTitle","id","toString","exports"],"sources":["@wordpress/fields/src/fields/slug/utils.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cleanForSlug } from '@wordpress/url';\n/**\n * Internal dependencies\n */\nimport type { BasePost } from '../../types';\nimport { getItemTitle } from '../../actions/utils';\n\nexport const getSlug = ( item: BasePost ): string => {\n\treturn (\n\t\titem.slug || cleanForSlug( getItemTitle( item ) ) || item.id.toString()\n\t);\n};\n"],"mappings":";;;;;;AAGA,IAAAA,IAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAEA;AACA;AACA;;AAIO,MAAME,OAAO,GAAKC,IAAc,IAAc;EACpD,OACCA,IAAI,CAACC,IAAI,IAAI,IAAAC,iBAAY,EAAE,IAAAC,mBAAY,EAAEH,IAAK,CAAE,CAAC,IAAIA,IAAI,CAACI,EAAE,CAACC,QAAQ,CAAC,CAAC;AAEzE,CAAC;AAACC,OAAA,CAAAP,OAAA,GAAAA,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_url","require","_utils","getSlug","item","slug","cleanForSlug","getItemTitle","id","toString","exports"],"sources":["@wordpress/fields/src/fields/slug/utils.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { cleanForSlug } from '@wordpress/url';\n/**\n * Internal dependencies\n */\nimport type { BasePost } from '../../types';\nimport { getItemTitle } from '../../actions/utils';\n\nexport const getSlug = ( item: BasePost ): string => {\n\tif ( typeof item !== 'object' ) {\n\t\treturn '';\n\t}\n\n\treturn (\n\t\titem.slug || cleanForSlug( getItemTitle( item ) ) || item.id.toString()\n\t);\n};\n"],"mappings":";;;;;;AAGA,IAAAA,IAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAEA;AACA;AACA;;AAIO,MAAME,OAAO,GAAKC,IAAc,IAAc;EACpD,IAAK,OAAOA,IAAI,KAAK,QAAQ,EAAG;IAC/B,OAAO,EAAE;EACV;EAEA,OACCA,IAAI,CAACC,IAAI,IAAI,IAAAC,iBAAY,EAAE,IAAAC,mBAAY,EAAEH,IAAK,CAAE,CAAC,IAAIA,IAAI,CAACI,EAAE,CAACC,QAAQ,CAAC,CAAC;AAEzE,CAAC;AAACC,OAAA,CAAAP,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _i18n = require("@wordpress/i18n");
8
+ var _templateEdit = require("./template-edit");
9
+ /**
10
+ * WordPress dependencies
11
+ */
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+
17
+ const templateField = {
18
+ id: 'template',
19
+ type: 'text',
20
+ label: (0, _i18n.__)('Template'),
21
+ Edit: _templateEdit.TemplateEdit,
22
+ enableSorting: false
23
+ };
24
+
25
+ /**
26
+ * Template field for BasePost.
27
+ */
28
+ var _default = exports.default = templateField;
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_templateEdit","templateField","id","type","label","__","Edit","TemplateEdit","enableSorting","_default","exports","default"],"sources":["@wordpress/fields/src/fields/template/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport type { Field } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport type { BasePost } from '../../types';\nimport { TemplateEdit } from './template-edit';\n\nconst templateField: Field< BasePost > = {\n\tid: 'template',\n\ttype: 'text',\n\tlabel: __( 'Template' ),\n\tEdit: TemplateEdit,\n\tenableSorting: false,\n};\n\n/**\n * Template field for BasePost.\n */\nexport default templateField;\n"],"mappings":";;;;;;AAQA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAVA;AACA;AACA;;AAGA;AACA;AACA;;AAKA,MAAME,aAAgC,GAAG;EACxCC,EAAE,EAAE,UAAU;EACdC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,IAAAC,QAAE,EAAE,UAAW,CAAC;EACvBC,IAAI,EAAEC,0BAAY;EAClBC,aAAa,EAAE;AAChB,CAAC;;AAED;AACA;AACA;AAFA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGeV,aAAa","ignoreList":[]}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TemplateEdit = void 0;
7
+ var _element = require("@wordpress/element");
8
+ var _blocks = require("@wordpress/blocks");
9
+ var _coreData = require("@wordpress/core-data");
10
+ var _blockEditor = require("@wordpress/block-editor");
11
+ var _components = require("@wordpress/components");
12
+ var _compose = require("@wordpress/compose");
13
+ var _data = require("@wordpress/data");
14
+ var _htmlEntities = require("@wordpress/html-entities");
15
+ var _i18n = require("@wordpress/i18n");
16
+ var _utils = require("../../actions/utils");
17
+ var _lockUnlock = require("../../lock-unlock");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ /**
20
+ * WordPress dependencies
21
+ */
22
+
23
+ // @ts-ignore
24
+
25
+ /**
26
+ * Internal dependencies
27
+ */
28
+ // @ts-expect-error block-editor is not typed correctly.
29
+
30
+ const TemplateEdit = ({
31
+ data,
32
+ field,
33
+ onChange
34
+ }) => {
35
+ const {
36
+ id
37
+ } = field;
38
+ const postType = data.type;
39
+ const postId = typeof data.id === 'number' ? data.id : parseInt(data.id, 10);
40
+ const slug = data.slug;
41
+ const {
42
+ availableTemplates,
43
+ templates
44
+ } = (0, _data.useSelect)(select => {
45
+ var _select$getEntityReco;
46
+ const allTemplates = (_select$getEntityReco = select(_coreData.store).getEntityRecords('postType', 'wp_template', {
47
+ per_page: -1,
48
+ post_type: postType
49
+ })) !== null && _select$getEntityReco !== void 0 ? _select$getEntityReco : [];
50
+ const {
51
+ getHomePage,
52
+ getPostsPageId
53
+ } = (0, _lockUnlock.unlock)(select(_coreData.store));
54
+ const isPostsPage = getPostsPageId() === +postId;
55
+ const isFrontPage = postType === 'page' && getHomePage()?.postId === +postId;
56
+ const allowSwitchingTemplate = !isPostsPage && !isFrontPage;
57
+ return {
58
+ templates: allTemplates,
59
+ availableTemplates: allowSwitchingTemplate ? allTemplates.filter(template => template.is_custom && template.slug !== data.template && !!template.content.raw // Skip empty templates.
60
+ ) : []
61
+ };
62
+ }, [data.template, postId, postType]);
63
+ const templatesAsPatterns = (0, _element.useMemo)(() => availableTemplates.map(template => ({
64
+ name: template.slug,
65
+ blocks: (0, _blocks.parse)(template.content.raw),
66
+ title: (0, _htmlEntities.decodeEntities)(template.title.rendered),
67
+ id: template.id
68
+ })), [availableTemplates]);
69
+ const shownTemplates = (0, _compose.useAsyncList)(templatesAsPatterns);
70
+ const value = field.getValue({
71
+ item: data
72
+ });
73
+ const currentTemplate = (0, _data.useSelect)(select => {
74
+ const foundTemplate = templates?.find(template => template.slug === value);
75
+ if (foundTemplate) {
76
+ return foundTemplate;
77
+ }
78
+ let slugToCheck;
79
+ // In `draft` status we might not have a slug available, so we use the `single`
80
+ // post type templates slug(ex page, single-post, single-product etc..).
81
+ // Pages do not need the `single` prefix in the slug to be prioritized
82
+ // through template hierarchy.
83
+ if (slug) {
84
+ slugToCheck = postType === 'page' ? `${postType}-${slug}` : `single-${postType}-${slug}`;
85
+ } else {
86
+ slugToCheck = postType === 'page' ? 'page' : `single-${postType}`;
87
+ }
88
+ if (postType) {
89
+ const templateId = select(_coreData.store).getDefaultTemplateId({
90
+ slug: slugToCheck
91
+ });
92
+ return select(_coreData.store).getEntityRecord('postType', 'wp_template', templateId);
93
+ }
94
+ }, [postType, slug, templates, value]);
95
+ const [showModal, setShowModal] = (0, _element.useState)(false);
96
+ const onChangeControl = (0, _element.useCallback)(newValue => onChange({
97
+ [id]: newValue
98
+ }), [id, onChange]);
99
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("fieldset", {
100
+ className: "fields-controls__template",
101
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Dropdown, {
102
+ popoverProps: {
103
+ placement: 'bottom-start'
104
+ },
105
+ renderToggle: ({
106
+ onToggle
107
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
108
+ __next40pxDefaultSize: true,
109
+ variant: "tertiary",
110
+ size: "compact",
111
+ onClick: onToggle,
112
+ children: currentTemplate ? (0, _utils.getItemTitle)(currentTemplate) : ''
113
+ }),
114
+ renderContent: ({
115
+ onToggle
116
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.MenuGroup, {
117
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
118
+ onClick: () => {
119
+ setShowModal(true);
120
+ onToggle();
121
+ },
122
+ children: (0, _i18n.__)('Swap template')
123
+ }),
124
+ // The default template in a post is indicated by an empty string
125
+ value !== '' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
126
+ onClick: () => {
127
+ onChangeControl('');
128
+ onToggle();
129
+ },
130
+ children: (0, _i18n.__)('Use default template')
131
+ })]
132
+ })
133
+ }), showModal && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Modal, {
134
+ title: (0, _i18n.__)('Choose a template'),
135
+ onRequestClose: () => setShowModal(false),
136
+ overlayClassName: "fields-controls__template-modal",
137
+ isFullScreen: true,
138
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
139
+ className: "fields-controls__template-content",
140
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__experimentalBlockPatternsList, {
141
+ label: (0, _i18n.__)('Templates'),
142
+ blockPatterns: templatesAsPatterns,
143
+ shownPatterns: shownTemplates,
144
+ onClickPattern: template => {
145
+ onChangeControl(template.name);
146
+ setShowModal(false);
147
+ }
148
+ })
149
+ })
150
+ })]
151
+ });
152
+ };
153
+ exports.TemplateEdit = TemplateEdit;
154
+ //# sourceMappingURL=template-edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","_blocks","_coreData","_blockEditor","_components","_compose","_data","_htmlEntities","_i18n","_utils","_lockUnlock","_jsxRuntime","TemplateEdit","data","field","onChange","id","postType","type","postId","parseInt","slug","availableTemplates","templates","useSelect","select","_select$getEntityReco","allTemplates","coreStore","getEntityRecords","per_page","post_type","getHomePage","getPostsPageId","unlock","isPostsPage","isFrontPage","allowSwitchingTemplate","filter","template","is_custom","content","raw","templatesAsPatterns","useMemo","map","name","blocks","parse","title","decodeEntities","rendered","shownTemplates","useAsyncList","value","getValue","item","currentTemplate","foundTemplate","find","slugToCheck","templateId","getDefaultTemplateId","getEntityRecord","showModal","setShowModal","useState","onChangeControl","useCallback","newValue","jsxs","className","children","jsx","Dropdown","popoverProps","placement","renderToggle","onToggle","Button","__next40pxDefaultSize","variant","size","onClick","getItemTitle","renderContent","MenuGroup","MenuItem","__","Modal","onRequestClose","overlayClassName","isFullScreen","__experimentalBlockPatternsList","label","blockPatterns","shownPatterns","onClickPattern","exports"],"sources":["@wordpress/fields/src/fields/template/template-edit.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, useState } from '@wordpress/element';\n// @ts-ignore\nimport { parse } from '@wordpress/blocks';\nimport type { WpTemplate } from '@wordpress/core-data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport type { DataFormControlProps } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\n// @ts-expect-error block-editor is not typed correctly.\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport {\n\tButton,\n\tDropdown,\n\tMenuGroup,\n\tMenuItem,\n\tModal,\n} from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { getItemTitle } from '../../actions/utils';\nimport type { BasePost } from '../../types';\nimport { unlock } from '../../lock-unlock';\n\nexport const TemplateEdit = ( {\n\tdata,\n\tfield,\n\tonChange,\n}: DataFormControlProps< BasePost > ) => {\n\tconst { id } = field;\n\tconst postType = data.type;\n\tconst postId =\n\t\ttypeof data.id === 'number' ? data.id : parseInt( data.id, 10 );\n\tconst slug = data.slug;\n\n\tconst { availableTemplates, templates } = useSelect(\n\t\t( select ) => {\n\t\t\tconst allTemplates =\n\t\t\t\tselect( coreStore ).getEntityRecords< WpTemplate >(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_template',\n\t\t\t\t\t{\n\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\tpost_type: postType,\n\t\t\t\t\t}\n\t\t\t\t) ?? [];\n\n\t\t\tconst { getHomePage, getPostsPageId } = unlock(\n\t\t\t\tselect( coreStore )\n\t\t\t);\n\n\t\t\tconst isPostsPage = getPostsPageId() === +postId;\n\t\t\tconst isFrontPage =\n\t\t\t\tpostType === 'page' && getHomePage()?.postId === +postId;\n\n\t\t\tconst allowSwitchingTemplate = ! isPostsPage && ! isFrontPage;\n\n\t\t\treturn {\n\t\t\t\ttemplates: allTemplates,\n\t\t\t\tavailableTemplates: allowSwitchingTemplate\n\t\t\t\t\t? allTemplates.filter(\n\t\t\t\t\t\t\t( template ) =>\n\t\t\t\t\t\t\t\ttemplate.is_custom &&\n\t\t\t\t\t\t\t\ttemplate.slug !== data.template &&\n\t\t\t\t\t\t\t\t!! template.content.raw // Skip empty templates.\n\t\t\t\t\t )\n\t\t\t\t\t: [],\n\t\t\t};\n\t\t},\n\t\t[ data.template, postId, postType ]\n\t);\n\n\tconst templatesAsPatterns = useMemo(\n\t\t() =>\n\t\t\tavailableTemplates.map( ( template ) => ( {\n\t\t\t\tname: template.slug,\n\t\t\t\tblocks: parse( template.content.raw ),\n\t\t\t\ttitle: decodeEntities( template.title.rendered ),\n\t\t\t\tid: template.id,\n\t\t\t} ) ),\n\t\t[ availableTemplates ]\n\t);\n\n\tconst shownTemplates = useAsyncList( templatesAsPatterns );\n\n\tconst value = field.getValue( { item: data } );\n\n\tconst currentTemplate = useSelect(\n\t\t( select ) => {\n\t\t\tconst foundTemplate = templates?.find(\n\t\t\t\t( template ) => template.slug === value\n\t\t\t);\n\n\t\t\tif ( foundTemplate ) {\n\t\t\t\treturn foundTemplate;\n\t\t\t}\n\n\t\t\tlet slugToCheck;\n\t\t\t// In `draft` status we might not have a slug available, so we use the `single`\n\t\t\t// post type templates slug(ex page, single-post, single-product etc..).\n\t\t\t// Pages do not need the `single` prefix in the slug to be prioritized\n\t\t\t// through template hierarchy.\n\t\t\tif ( slug ) {\n\t\t\t\tslugToCheck =\n\t\t\t\t\tpostType === 'page'\n\t\t\t\t\t\t? `${ postType }-${ slug }`\n\t\t\t\t\t\t: `single-${ postType }-${ slug }`;\n\t\t\t} else {\n\t\t\t\tslugToCheck =\n\t\t\t\t\tpostType === 'page' ? 'page' : `single-${ postType }`;\n\t\t\t}\n\n\t\t\tif ( postType ) {\n\t\t\t\tconst templateId = select( coreStore ).getDefaultTemplateId( {\n\t\t\t\t\tslug: slugToCheck,\n\t\t\t\t} );\n\n\t\t\t\treturn select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_template',\n\t\t\t\t\ttemplateId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ postType, slug, templates, value ]\n\t);\n\n\tconst [ showModal, setShowModal ] = useState( false );\n\n\tconst onChangeControl = useCallback(\n\t\t( newValue: string ) =>\n\t\t\tonChange( {\n\t\t\t\t[ id ]: newValue,\n\t\t\t} ),\n\t\t[ id, onChange ]\n\t);\n\n\treturn (\n\t\t<fieldset className=\"fields-controls__template\">\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ { placement: 'bottom-start' } }\n\t\t\t\trenderToggle={ ( { onToggle } ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ currentTemplate\n\t\t\t\t\t\t\t? getItemTitle( currentTemplate )\n\t\t\t\t\t\t\t: '' }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onToggle } ) => (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowModal( true );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Swap template' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// The default template in a post is indicated by an empty string\n\t\t\t\t\t\t\tvalue !== '' && (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonChangeControl( '' );\n\t\t\t\t\t\t\t\t\t\tonToggle();\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\t\t{ __( 'Use default template' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Choose a template' ) }\n\t\t\t\t\tonRequestClose={ () => setShowModal( false ) }\n\t\t\t\t\toverlayClassName=\"fields-controls__template-modal\"\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<div className=\"fields-controls__template-content\">\n\t\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\t\tlabel={ __( 'Templates' ) }\n\t\t\t\t\t\t\tblockPatterns={ templatesAsPatterns }\n\t\t\t\t\t\t\tshownPatterns={ shownTemplates }\n\t\t\t\t\t\t\tonClickPattern={ (\n\t\t\t\t\t\t\t\ttemplate: ( typeof templatesAsPatterns )[ 0 ]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tonChangeControl( template.name );\n\t\t\t\t\t\t\t\tsetShowModal( false );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</fieldset>\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _i18n = require("@wordpress/i18n");
9
+ var _utils = require("../../actions/utils");
10
+ var _view = _interopRequireDefault(require("../title/view"));
11
+ /**
12
+ * WordPress dependencies
13
+ */
14
+
15
+ /**
16
+ * Internal dependencies
17
+ */
18
+
19
+ const templateTitleField = {
20
+ type: 'text',
21
+ label: (0, _i18n.__)('Template'),
22
+ placeholder: (0, _i18n.__)('No title'),
23
+ id: 'title',
24
+ getValue: ({
25
+ item
26
+ }) => (0, _utils.getItemTitle)(item),
27
+ render: _view.default,
28
+ enableHiding: false,
29
+ enableGlobalSearch: true
30
+ };
31
+
32
+ /**
33
+ * Title for the template entity.
34
+ */
35
+ var _default = exports.default = templateTitleField;
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_utils","_view","_interopRequireDefault","templateTitleField","type","label","__","placeholder","id","getValue","item","getItemTitle","render","TitleView","enableHiding","enableGlobalSearch","_default","exports","default"],"sources":["@wordpress/fields/src/fields/template-title/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport type { Field } from '@wordpress/dataviews';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { Template } from '../../types';\nimport { getItemTitle } from '../../actions/utils';\nimport TitleView from '../title/view';\n\nconst templateTitleField: Field< Template > = {\n\ttype: 'text',\n\tlabel: __( 'Template' ),\n\tplaceholder: __( 'No title' ),\n\tid: 'title',\n\tgetValue: ( { item } ) => getItemTitle( item ),\n\trender: TitleView,\n\tenableHiding: false,\n\tenableGlobalSearch: true,\n};\n\n/**\n * Title for the template entity.\n */\nexport default templateTitleField;\n"],"mappings":";;;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAKA,MAAMI,kBAAqC,GAAG;EAC7CC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,IAAAC,QAAE,EAAE,UAAW,CAAC;EACvBC,WAAW,EAAE,IAAAD,QAAE,EAAE,UAAW,CAAC;EAC7BE,EAAE,EAAE,OAAO;EACXC,QAAQ,EAAEA,CAAE;IAAEC;EAAK,CAAC,KAAM,IAAAC,mBAAY,EAAED,IAAK,CAAC;EAC9CE,MAAM,EAAEC,aAAS;EACjBC,YAAY,EAAE,KAAK;EACnBC,kBAAkB,EAAE;AACrB,CAAC;;AAED;AACA;AACA;AAFA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGef,kBAAkB","ignoreList":[]}
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _i18n = require("@wordpress/i18n");
9
9
  var _utils = require("../../actions/utils");
10
- var _titleView = _interopRequireDefault(require("./title-view"));
10
+ var _view = _interopRequireDefault(require("./view"));
11
11
  /**
12
12
  * WordPress dependencies
13
13
  */
@@ -24,8 +24,15 @@ const titleField = {
24
24
  getValue: ({
25
25
  item
26
26
  }) => (0, _utils.getItemTitle)(item),
27
- render: _titleView.default,
28
- enableHiding: false
27
+ render: _view.default,
28
+ enableHiding: false,
29
+ enableGlobalSearch: true
29
30
  };
31
+
32
+ /**
33
+ * Title for the any entity with a `title` property.
34
+ * For patterns, pages or templates you should use the respective field
35
+ * because there are some differences in the rendering, labels, etc.
36
+ */
30
37
  var _default = exports.default = titleField;
31
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_utils","_titleView","_interopRequireDefault","titleField","type","id","label","__","placeholder","getValue","item","getItemTitle","render","TitleView","enableHiding","_default","exports","default"],"sources":["@wordpress/fields/src/fields/title/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport type { Field } from '@wordpress/dataviews';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { BasePost } from '../../types';\nimport { getItemTitle } from '../../actions/utils';\nimport TitleView from './title-view';\n\nconst titleField: Field< BasePost > = {\n\ttype: 'text',\n\tid: 'title',\n\tlabel: __( 'Title' ),\n\tplaceholder: __( 'No title' ),\n\tgetValue: ( { item } ) => getItemTitle( item ),\n\trender: TitleView,\n\tenableHiding: false,\n};\n\nexport default titleField;\n"],"mappings":";;;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAKA,MAAMI,UAA6B,GAAG;EACrCC,IAAI,EAAE,MAAM;EACZC,EAAE,EAAE,OAAO;EACXC,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBC,WAAW,EAAE,IAAAD,QAAE,EAAE,UAAW,CAAC;EAC7BE,QAAQ,EAAEA,CAAE;IAAEC;EAAK,CAAC,KAAM,IAAAC,mBAAY,EAAED,IAAK,CAAC;EAC9CE,MAAM,EAAEC,kBAAS;EACjBC,YAAY,EAAE;AACf,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEad,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_utils","_view","_interopRequireDefault","titleField","type","id","label","__","placeholder","getValue","item","getItemTitle","render","TitleView","enableHiding","enableGlobalSearch","_default","exports","default"],"sources":["@wordpress/fields/src/fields/title/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport type { Field } from '@wordpress/dataviews';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { CommonPost } from '../../types';\nimport { getItemTitle } from '../../actions/utils';\nimport TitleView from './view';\n\nconst titleField: Field< CommonPost > = {\n\ttype: 'text',\n\tid: 'title',\n\tlabel: __( 'Title' ),\n\tplaceholder: __( 'No title' ),\n\tgetValue: ( { item } ) => getItemTitle( item ),\n\trender: TitleView,\n\tenableHiding: false,\n\tenableGlobalSearch: true,\n};\n\n/**\n * Title for the any entity with a `title` property.\n * For patterns, pages or templates you should use the respective field\n * because there are some differences in the rendering, labels, etc.\n */\nexport default titleField;\n"],"mappings":";;;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AAMA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAKA,MAAMI,UAA+B,GAAG;EACvCC,IAAI,EAAE,MAAM;EACZC,EAAE,EAAE,OAAO;EACXC,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBC,WAAW,EAAE,IAAAD,QAAE,EAAE,UAAW,CAAC;EAC7BE,QAAQ,EAAEA,CAAE;IAAEC;EAAK,CAAC,KAAM,IAAAC,mBAAY,EAAED,IAAK,CAAC;EAC9CE,MAAM,EAAEC,aAAS;EACjBC,YAAY,EAAE,KAAK;EACnBC,kBAAkB,EAAE;AACrB,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAKef,UAAU","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.BaseTitleView = BaseTitleView;
8
+ exports.default = TitleView;
9
+ var _clsx = _interopRequireDefault(require("clsx"));
10
+ var _components = require("@wordpress/components");
11
+ var _i18n = require("@wordpress/i18n");
12
+ var _utils = require("../../actions/utils");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ /**
15
+ * External dependencies
16
+ */
17
+
18
+ /**
19
+ * WordPress dependencies
20
+ */
21
+
22
+ /**
23
+ * Internal dependencies
24
+ */
25
+
26
+ function BaseTitleView({
27
+ item,
28
+ className,
29
+ children
30
+ }) {
31
+ const renderedTitle = (0, _utils.getItemTitle)(item);
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
33
+ className: (0, _clsx.default)('fields-field__title', className),
34
+ alignment: "center",
35
+ justify: "flex-start",
36
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
37
+ children: renderedTitle || (0, _i18n.__)('(no title)')
38
+ }), children]
39
+ });
40
+ }
41
+ function TitleView({
42
+ item
43
+ }) {
44
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(BaseTitleView, {
45
+ item: item
46
+ });
47
+ }
48
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_utils","_jsxRuntime","BaseTitleView","item","className","children","renderedTitle","getItemTitle","jsxs","__experimentalHStack","clsx","alignment","justify","jsx","__","TitleView"],"sources":["@wordpress/fields/src/fields/title/view.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ReactNode } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { CommonPost } from '../../types';\nimport { getItemTitle } from '../../actions/utils';\n\nexport function BaseTitleView( {\n\titem,\n\tclassName,\n\tchildren,\n}: {\n\titem: CommonPost;\n\tclassName?: string;\n\tchildren?: ReactNode;\n} ) {\n\tconst renderedTitle = getItemTitle( item );\n\treturn (\n\t\t<HStack\n\t\t\tclassName={ clsx( 'fields-field__title', className ) }\n\t\t\talignment=\"center\"\n\t\t\tjustify=\"flex-start\"\n\t\t>\n\t\t\t<span>{ renderedTitle || __( '(no title)' ) }</span>\n\t\t\t{ children }\n\t\t</HStack>\n\t);\n}\n\nexport default function TitleView( { item }: { item: CommonPost } ) {\n\treturn <BaseTitleView item={ item } />;\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAMA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAMA,IAAAG,MAAA,GAAAH,OAAA;AAAmD,IAAAI,WAAA,GAAAJ,OAAA;AAhBnD;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;;AAIO,SAASK,aAAaA,CAAE;EAC9BC,IAAI;EACJC,SAAS;EACTC;AAKD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAG,IAAAC,mBAAY,EAAEJ,IAAK,CAAC;EAC1C,oBACC,IAAAF,WAAA,CAAAO,IAAA,EAACV,WAAA,CAAAW,oBAAM;IACNL,SAAS,EAAG,IAAAM,aAAI,EAAE,qBAAqB,EAAEN,SAAU,CAAG;IACtDO,SAAS,EAAC,QAAQ;IAClBC,OAAO,EAAC,YAAY;IAAAP,QAAA,gBAEpB,IAAAJ,WAAA,CAAAY,GAAA;MAAAR,QAAA,EAAQC,aAAa,IAAI,IAAAQ,QAAE,EAAE,YAAa;IAAC,CAAQ,CAAC,EAClDT,QAAQ;EAAA,CACH,CAAC;AAEX;AAEe,SAASU,SAASA,CAAE;EAAEZ;AAA2B,CAAC,EAAG;EACnE,oBAAO,IAAAF,WAAA,CAAAY,GAAA,EAACX,aAAa;IAACC,IAAI,EAAGA;EAAM,CAAE,CAAC;AACvC","ignoreList":[]}
package/build/index.js CHANGED
@@ -1,11 +1,22 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
7
+ var _exportNames = {
8
+ CreateTemplatePartModal: true
9
+ };
10
+ Object.defineProperty(exports, "CreateTemplatePartModal", {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _createTemplatePartModal.default;
14
+ }
15
+ });
6
16
  var _fields = require("./fields");
7
17
  Object.keys(_fields).forEach(function (key) {
8
18
  if (key === "default" || key === "__esModule") return;
19
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
9
20
  if (key in exports && exports[key] === _fields[key]) return;
10
21
  Object.defineProperty(exports, key, {
11
22
  enumerable: true,
@@ -17,6 +28,7 @@ Object.keys(_fields).forEach(function (key) {
17
28
  var _actions = require("./actions");
18
29
  Object.keys(_actions).forEach(function (key) {
19
30
  if (key === "default" || key === "__esModule") return;
31
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
32
  if (key in exports && exports[key] === _actions[key]) return;
21
33
  Object.defineProperty(exports, key, {
22
34
  enumerable: true,
@@ -25,4 +37,5 @@ Object.keys(_actions).forEach(function (key) {
25
37
  }
26
38
  });
27
39
  });
40
+ var _createTemplatePartModal = _interopRequireDefault(require("./components/create-template-part-modal"));
28
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_fields","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_actions"],"sources":["@wordpress/fields/src/index.ts"],"sourcesContent":["export * from './fields';\nexport * from './actions';\nexport type * from './types';\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,QAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,QAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,QAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_fields","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_actions","_createTemplatePartModal","_interopRequireDefault"],"sources":["@wordpress/fields/src/index.ts"],"sourcesContent":["export * from './fields';\nexport * from './actions';\nexport { default as CreateTemplatePartModal } from './components/create-template-part-modal';\nexport type { BasePostWithEmbeddedAuthor, PostType } from './types';\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,QAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,QAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,QAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,wBAAA,GAAAC,sBAAA,CAAAf,OAAA","ignoreList":[]}
@@ -1,28 +1,2 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _duplicatePost = require("./actions/duplicate-post.native");
7
- Object.keys(_duplicatePost).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _duplicatePost[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _duplicatePost[key];
14
- }
15
- });
16
- });
17
- var _reorderPage = require("./actions/reorder-page.native");
18
- Object.keys(_reorderPage).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _reorderPage[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _reorderPage[key];
25
- }
26
- });
27
- });
28
2
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_duplicatePost","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_reorderPage"],"sources":["@wordpress/fields/src/index.native.ts"],"sourcesContent":["export * from './actions/duplicate-post.native';\nexport * from './actions/reorder-page.native';\n"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,YAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,YAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,YAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,YAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["@wordpress/fields/src/index.native.ts"],"sourcesContent":[""],"mappings":"","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
2
 
4
3
  Object.defineProperty(exports, "__esModule", {
@@ -1 +1 @@
1
- {"version":3,"names":["_notices","require","_coreData","_data","getErrorMessagesFromPromises","allSettledResults","errorMessages","Set","length","typedError","reason","message","add","failedPromises","filter","status","failedPromise","deletePostWithNotices","posts","notice","callbacks","createSuccessNotice","createErrorNotice","dispatch","noticesStore","deleteEntityRecord","coreStore","Promise","allSettled","map","post","type","id","force","throwOnError","every","_notice$success$type","successMessage","success","messages","getMessage","getBatchMessage","onActionPerformed","_notice$error$type","errorMessage","error","onActionError","exports","editPostWithNotices","postsWithUpdates","editEntityRecord","saveEditedEntityRecord","originalPost","changes","_notice$success$type2","_notice$error$type2"],"sources":["@wordpress/fields/src/mutation/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { dispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport type { CoreDataError, Post } from '../types';\n\nfunction getErrorMessagesFromPromises< T >(\n\tallSettledResults: PromiseSettledResult< T >[]\n) {\n\tconst errorMessages = new Set< string >();\n\t// If there was at lease one failure.\n\tif ( allSettledResults.length === 1 ) {\n\t\tconst typedError = allSettledResults[ 0 ] as {\n\t\t\treason?: CoreDataError;\n\t\t};\n\t\tif ( typedError.reason?.message ) {\n\t\t\terrorMessages.add( typedError.reason.message );\n\t\t}\n\t} else {\n\t\tconst failedPromises = allSettledResults.filter(\n\t\t\t( { status } ) => status === 'rejected'\n\t\t);\n\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\tconst typedError = failedPromise as {\n\t\t\t\treason?: CoreDataError;\n\t\t\t};\n\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\terrorMessages.add( typedError.reason.message );\n\t\t\t}\n\t\t}\n\t}\n\treturn errorMessages;\n}\n\nexport type NoticeSettings< T extends Post > = {\n\tsuccess: {\n\t\tid?: string;\n\t\ttype?: string;\n\t\tmessages: {\n\t\t\tgetMessage: ( posts: T ) => string;\n\t\t\tgetBatchMessage: ( posts: T[] ) => string;\n\t\t};\n\t};\n\terror: {\n\t\tid?: string;\n\t\ttype?: string;\n\t\tmessages: {\n\t\t\tgetMessage: ( errors: Set< string > ) => string;\n\t\t\tgetBatchMessage: ( errors: Set< string > ) => string;\n\t\t};\n\t};\n};\n\nexport const deletePostWithNotices = async < T extends Post >(\n\tposts: T[],\n\tnotice: NoticeSettings< T >,\n\tcallbacks: {\n\t\tonActionPerformed?: ( posts: T[] ) => void;\n\t\tonActionError?: () => void;\n\t}\n) => {\n\tconst { createSuccessNotice, createErrorNotice } = dispatch( noticesStore );\n\tconst { deleteEntityRecord } = dispatch( coreStore );\n\tconst allSettledResults = await Promise.allSettled(\n\t\tposts.map( ( post ) => {\n\t\t\treturn deleteEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpost.type,\n\t\t\t\tpost.id,\n\t\t\t\t{ force: true },\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t} )\n\t);\n\t// If all the promises were fulfilled with success.\n\tif ( allSettledResults.every( ( { status } ) => status === 'fulfilled' ) ) {\n\t\tlet successMessage;\n\t\tif ( allSettledResults.length === 1 ) {\n\t\t\tsuccessMessage = notice.success.messages.getMessage( posts[ 0 ] );\n\t\t} else {\n\t\t\tsuccessMessage = notice.success.messages.getBatchMessage( posts );\n\t\t}\n\t\tcreateSuccessNotice( successMessage, {\n\t\t\ttype: notice.success.type ?? 'snackbar',\n\t\t\tid: notice.success.id,\n\t\t} );\n\t\tcallbacks.onActionPerformed?.( posts );\n\t} else {\n\t\tconst errorMessages = getErrorMessagesFromPromises( allSettledResults );\n\t\tlet errorMessage = '';\n\t\tif ( allSettledResults.length === 1 ) {\n\t\t\terrorMessage = notice.error.messages.getMessage( errorMessages );\n\t\t} else {\n\t\t\terrorMessage =\n\t\t\t\tnotice.error.messages.getBatchMessage( errorMessages );\n\t\t}\n\n\t\tcreateErrorNotice( errorMessage, {\n\t\t\ttype: notice.error.type ?? 'snackbar',\n\t\t\tid: notice.error.id,\n\t\t} );\n\t\tcallbacks.onActionError?.();\n\t}\n};\n\nexport const editPostWithNotices = async < T extends Post >(\n\tpostsWithUpdates: {\n\t\toriginalPost: T;\n\t\tchanges: Partial< T >;\n\t}[],\n\tnotice: NoticeSettings< T >,\n\tcallbacks: {\n\t\tonActionPerformed?: ( posts: T[] ) => void;\n\t\tonActionError?: () => void;\n\t}\n) => {\n\tconst { createSuccessNotice, createErrorNotice } = dispatch( noticesStore );\n\tconst { editEntityRecord, saveEditedEntityRecord } = dispatch( coreStore );\n\tawait Promise.allSettled(\n\t\tpostsWithUpdates.map( ( post ) => {\n\t\t\treturn editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpost.originalPost.type,\n\t\t\t\tpost.originalPost.id,\n\t\t\t\t{\n\t\t\t\t\t...post.changes,\n\t\t\t\t}\n\t\t\t);\n\t\t} )\n\t);\n\tconst allSettledResults = await Promise.allSettled(\n\t\tpostsWithUpdates.map( ( post ) => {\n\t\t\treturn saveEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpost.originalPost.type,\n\t\t\t\tpost.originalPost.id,\n\t\t\t\t{\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t}\n\t\t\t);\n\t\t} )\n\t);\n\t// If all the promises were fulfilled with success.\n\tif ( allSettledResults.every( ( { status } ) => status === 'fulfilled' ) ) {\n\t\tlet successMessage;\n\t\tif ( allSettledResults.length === 1 ) {\n\t\t\tsuccessMessage = notice.success.messages.getMessage(\n\t\t\t\tpostsWithUpdates[ 0 ].originalPost\n\t\t\t);\n\t\t} else {\n\t\t\tsuccessMessage = notice.success.messages.getBatchMessage(\n\t\t\t\tpostsWithUpdates.map( ( post ) => post.originalPost )\n\t\t\t);\n\t\t}\n\t\tcreateSuccessNotice( successMessage, {\n\t\t\ttype: notice.success.type ?? 'snackbar',\n\t\t\tid: notice.success.id,\n\t\t} );\n\t\tcallbacks.onActionPerformed?.(\n\t\t\tpostsWithUpdates.map( ( post ) => post.originalPost )\n\t\t);\n\t} else {\n\t\tconst errorMessages = getErrorMessagesFromPromises( allSettledResults );\n\t\tlet errorMessage = '';\n\t\tif ( allSettledResults.length === 1 ) {\n\t\t\terrorMessage = notice.error.messages.getMessage( errorMessages );\n\t\t} else {\n\t\t\terrorMessage =\n\t\t\t\tnotice.error.messages.getBatchMessage( errorMessages );\n\t\t}\n\n\t\tcreateErrorNotice( errorMessage, {\n\t\t\ttype: notice.error.type ?? 'snackbar',\n\t\t\tid: notice.error.id,\n\t\t} );\n\t\tcallbacks.onActionError?.();\n\t}\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_notices","require","_coreData","_data","getErrorMessagesFromPromises","allSettledResults","errorMessages","Set","length","typedError","reason","message","add","failedPromises","filter","status","failedPromise","deletePostWithNotices","posts","notice","callbacks","createSuccessNotice","createErrorNotice","dispatch","noticesStore","deleteEntityRecord","coreStore","Promise","allSettled","map","post","type","id","force","throwOnError","every","_notice$success$type","successMessage","success","messages","getMessage","getBatchMessage","onActionPerformed","_notice$error$type","errorMessage","error","onActionError","exports","editPostWithNotices","postsWithUpdates","editEntityRecord","saveEditedEntityRecord","originalPost","changes","_notice$success$type2","_notice$error$type2"],"sources":["@wordpress/fields/src/mutation/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { dispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport type { CoreDataError, Post } from '../types';\n\nfunction getErrorMessagesFromPromises< T >(\n\tallSettledResults: PromiseSettledResult< T >[]\n) {\n\tconst errorMessages = new Set< string >();\n\t// If there was at lease one failure.\n\tif ( allSettledResults.length === 1 ) {\n\t\tconst typedError = allSettledResults[ 0 ] as {\n\t\t\treason?: CoreDataError;\n\t\t};\n\t\tif ( typedError.reason?.message ) {\n\t\t\terrorMessages.add( typedError.reason.message );\n\t\t}\n\t} else {\n\t\tconst failedPromises = allSettledResults.filter(\n\t\t\t( { status } ) => status === 'rejected'\n\t\t);\n\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\tconst typedError = failedPromise as {\n\t\t\t\treason?: CoreDataError;\n\t\t\t};\n\t\t\tif ( typedError.reason?.message ) {\n\t\t\t\terrorMessages.add( typedError.reason.message );\n\t\t\t}\n\t\t}\n\t}\n\treturn errorMessages;\n}\n\nexport type NoticeSettings< T extends Post > = {\n\tsuccess: {\n\t\tid?: string;\n\t\ttype?: string;\n\t\tmessages: {\n\t\t\tgetMessage: ( posts: T ) => string;\n\t\t\tgetBatchMessage: ( posts: T[] ) => string;\n\t\t};\n\t};\n\terror: {\n\t\tid?: string;\n\t\ttype?: string;\n\t\tmessages: {\n\t\t\tgetMessage: ( errors: Set< string > ) => string;\n\t\t\tgetBatchMessage: ( errors: Set< string > ) => string;\n\t\t};\n\t};\n};\n\nexport const deletePostWithNotices = async < T extends Post >(\n\tposts: T[],\n\tnotice: NoticeSettings< T >,\n\tcallbacks: {\n\t\tonActionPerformed?: ( posts: T[] ) => void;\n\t\tonActionError?: () => void;\n\t}\n) => {\n\tconst { createSuccessNotice, createErrorNotice } = dispatch( noticesStore );\n\tconst { deleteEntityRecord } = dispatch( coreStore );\n\tconst allSettledResults = await Promise.allSettled(\n\t\tposts.map( ( post ) => {\n\t\t\treturn deleteEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpost.type,\n\t\t\t\tpost.id,\n\t\t\t\t{ force: true },\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t} )\n\t);\n\t// If all the promises were fulfilled with success.\n\tif ( allSettledResults.every( ( { status } ) => status === 'fulfilled' ) ) {\n\t\tlet successMessage;\n\t\tif ( allSettledResults.length === 1 ) {\n\t\t\tsuccessMessage = notice.success.messages.getMessage( posts[ 0 ] );\n\t\t} else {\n\t\t\tsuccessMessage = notice.success.messages.getBatchMessage( posts );\n\t\t}\n\t\tcreateSuccessNotice( successMessage, {\n\t\t\ttype: notice.success.type ?? 'snackbar',\n\t\t\tid: notice.success.id,\n\t\t} );\n\t\tcallbacks.onActionPerformed?.( posts );\n\t} else {\n\t\tconst errorMessages = getErrorMessagesFromPromises( allSettledResults );\n\t\tlet errorMessage = '';\n\t\tif ( allSettledResults.length === 1 ) {\n\t\t\terrorMessage = notice.error.messages.getMessage( errorMessages );\n\t\t} else {\n\t\t\terrorMessage =\n\t\t\t\tnotice.error.messages.getBatchMessage( errorMessages );\n\t\t}\n\n\t\tcreateErrorNotice( errorMessage, {\n\t\t\ttype: notice.error.type ?? 'snackbar',\n\t\t\tid: notice.error.id,\n\t\t} );\n\t\tcallbacks.onActionError?.();\n\t}\n};\n\nexport const editPostWithNotices = async < T extends Post >(\n\tpostsWithUpdates: {\n\t\toriginalPost: T;\n\t\tchanges: Partial< T >;\n\t}[],\n\tnotice: NoticeSettings< T >,\n\tcallbacks: {\n\t\tonActionPerformed?: ( posts: T[] ) => void;\n\t\tonActionError?: () => void;\n\t}\n) => {\n\tconst { createSuccessNotice, createErrorNotice } = dispatch( noticesStore );\n\tconst { editEntityRecord, saveEditedEntityRecord } = dispatch( coreStore );\n\tawait Promise.allSettled(\n\t\tpostsWithUpdates.map( ( post ) => {\n\t\t\treturn editEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpost.originalPost.type,\n\t\t\t\tpost.originalPost.id,\n\t\t\t\t{\n\t\t\t\t\t...post.changes,\n\t\t\t\t}\n\t\t\t);\n\t\t} )\n\t);\n\tconst allSettledResults = await Promise.allSettled(\n\t\tpostsWithUpdates.map( ( post ) => {\n\t\t\treturn saveEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpost.originalPost.type,\n\t\t\t\tpost.originalPost.id,\n\t\t\t\t{\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t}\n\t\t\t);\n\t\t} )\n\t);\n\t// If all the promises were fulfilled with success.\n\tif ( allSettledResults.every( ( { status } ) => status === 'fulfilled' ) ) {\n\t\tlet successMessage;\n\t\tif ( allSettledResults.length === 1 ) {\n\t\t\tsuccessMessage = notice.success.messages.getMessage(\n\t\t\t\tpostsWithUpdates[ 0 ].originalPost\n\t\t\t);\n\t\t} else {\n\t\t\tsuccessMessage = notice.success.messages.getBatchMessage(\n\t\t\t\tpostsWithUpdates.map( ( post ) => post.originalPost )\n\t\t\t);\n\t\t}\n\t\tcreateSuccessNotice( successMessage, {\n\t\t\ttype: notice.success.type ?? 'snackbar',\n\t\t\tid: notice.success.id,\n\t\t} );\n\t\tcallbacks.onActionPerformed?.(\n\t\t\tpostsWithUpdates.map( ( post ) => post.originalPost )\n\t\t);\n\t} else {\n\t\tconst errorMessages = getErrorMessagesFromPromises( allSettledResults );\n\t\tlet errorMessage = '';\n\t\tif ( allSettledResults.length === 1 ) {\n\t\t\terrorMessage = notice.error.messages.getMessage( errorMessages );\n\t\t} else {\n\t\t\terrorMessage =\n\t\t\t\tnotice.error.messages.getBatchMessage( errorMessages );\n\t\t}\n\n\t\tcreateErrorNotice( errorMessage, {\n\t\t\ttype: notice.error.type ?? 'snackbar',\n\t\t\tid: notice.error.id,\n\t\t} );\n\t\tcallbacks.onActionError?.();\n\t}\n};\n"],"mappings":"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","ignoreList":[]}