@wordpress/edit-site 6.3.0 → 6.4.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 (221) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +8 -2
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +3 -1
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +1 -82
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/global-styles/block-preview-panel.js +14 -5
  9. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  10. package/build/components/global-styles/font-families.js +42 -23
  11. package/build/components/global-styles/font-families.js.map +1 -1
  12. package/build/components/global-styles/font-library-modal/index.js +4 -4
  13. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/installed-fonts.js +58 -10
  15. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  16. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +39 -0
  17. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
  18. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +39 -0
  19. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
  20. package/build/components/global-styles/font-sizes/font-size-preview.js +44 -0
  21. package/build/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
  22. package/build/components/global-styles/font-sizes/font-size.js +213 -0
  23. package/build/components/global-styles/font-sizes/font-size.js.map +1 -0
  24. package/build/components/global-styles/font-sizes/font-sizes-count.js +50 -0
  25. package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
  26. package/build/components/global-styles/font-sizes/font-sizes.js +163 -0
  27. package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -0
  28. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js +67 -0
  29. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
  30. package/build/components/global-styles/screen-block.js +10 -8
  31. package/build/components/global-styles/screen-block.js.map +1 -1
  32. package/build/components/global-styles/screen-style-variations.js +2 -2
  33. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  34. package/build/components/global-styles/screen-typography.js +3 -2
  35. package/build/components/global-styles/screen-typography.js.map +1 -1
  36. package/build/components/global-styles/size-control/index.js +85 -0
  37. package/build/components/global-styles/size-control/index.js.map +1 -0
  38. package/build/components/global-styles/style-variations-container.js +3 -0
  39. package/build/components/global-styles/style-variations-container.js.map +1 -1
  40. package/build/components/global-styles/ui.js +8 -0
  41. package/build/components/global-styles/ui.js.map +1 -1
  42. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  43. package/build/components/global-styles/variations/variations-typography.js +1 -1
  44. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  45. package/build/components/layout/index.js +6 -0
  46. package/build/components/layout/index.js.map +1 -1
  47. package/build/components/layout/router.js +14 -6
  48. package/build/components/layout/router.js.map +1 -1
  49. package/build/components/page-patterns/header.js +1 -1
  50. package/build/components/page-patterns/header.js.map +1 -1
  51. package/build/components/page-patterns/index.js +23 -11
  52. package/build/components/page-patterns/index.js.map +1 -1
  53. package/build/components/page-templates/index.js +41 -34
  54. package/build/components/page-templates/index.js.map +1 -1
  55. package/build/components/post-edit/index.js +105 -0
  56. package/build/components/post-edit/index.js.map +1 -0
  57. package/build/components/post-fields/index.js +314 -0
  58. package/build/components/post-fields/index.js.map +1 -0
  59. package/build/components/post-list/index.js +281 -0
  60. package/build/components/post-list/index.js.map +1 -0
  61. package/build/components/posts-app/router.js +3 -3
  62. package/build/components/posts-app/router.js.map +1 -1
  63. package/build/components/sidebar-dataviews/default-views.js +22 -10
  64. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  65. package/build/components/sidebar-dataviews/index.js +40 -1
  66. package/build/components/sidebar-dataviews/index.js.map +1 -1
  67. package/build/components/sidebar-navigation-screen-global-styles/content.js +64 -0
  68. package/build/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
  69. package/build/components/sidebar-navigation-screen-global-styles/index.js +2 -47
  70. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  71. package/build/hooks/push-changes-to-global-styles/index.js +1 -1
  72. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  73. package/build/index.js +5 -1
  74. package/build/index.js.map +1 -1
  75. package/build/store/selectors.js +34 -6
  76. package/build/store/selectors.js.map +1 -1
  77. package/build/utils/get-filtered-template-parts.js +64 -0
  78. package/build/utils/get-filtered-template-parts.js.map +1 -0
  79. package/build-module/components/add-new-pattern/index.js +8 -2
  80. package/build-module/components/add-new-pattern/index.js.map +1 -1
  81. package/build-module/components/add-new-template/index.js +3 -1
  82. package/build-module/components/add-new-template/index.js.map +1 -1
  83. package/build-module/components/block-editor/use-site-editor-settings.js +1 -82
  84. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  85. package/build-module/components/global-styles/block-preview-panel.js +14 -5
  86. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  87. package/build-module/components/global-styles/font-families.js +44 -25
  88. package/build-module/components/global-styles/font-families.js.map +1 -1
  89. package/build-module/components/global-styles/font-library-modal/index.js +4 -4
  90. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  91. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +61 -13
  92. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  93. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +32 -0
  94. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
  95. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +32 -0
  96. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
  97. package/build-module/components/global-styles/font-sizes/font-size-preview.js +37 -0
  98. package/build-module/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
  99. package/build-module/components/global-styles/font-sizes/font-size.js +207 -0
  100. package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -0
  101. package/build-module/components/global-styles/font-sizes/font-sizes-count.js +43 -0
  102. package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
  103. package/build-module/components/global-styles/font-sizes/font-sizes.js +157 -0
  104. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -0
  105. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +61 -0
  106. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
  107. package/build-module/components/global-styles/screen-block.js +10 -8
  108. package/build-module/components/global-styles/screen-block.js.map +1 -1
  109. package/build-module/components/global-styles/screen-style-variations.js +2 -2
  110. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  111. package/build-module/components/global-styles/screen-typography.js +3 -2
  112. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  113. package/build-module/components/global-styles/size-control/index.js +79 -0
  114. package/build-module/components/global-styles/size-control/index.js.map +1 -0
  115. package/build-module/components/global-styles/style-variations-container.js +3 -0
  116. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  117. package/build-module/components/global-styles/ui.js +8 -0
  118. package/build-module/components/global-styles/ui.js.map +1 -1
  119. package/build-module/components/global-styles/variations/variations-color.js +1 -1
  120. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  121. package/build-module/components/global-styles/variations/variations-typography.js +1 -2
  122. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  123. package/build-module/components/layout/index.js +6 -0
  124. package/build-module/components/layout/index.js.map +1 -1
  125. package/build-module/components/layout/router.js +14 -6
  126. package/build-module/components/layout/router.js.map +1 -1
  127. package/build-module/components/page-patterns/header.js +1 -1
  128. package/build-module/components/page-patterns/header.js.map +1 -1
  129. package/build-module/components/page-patterns/index.js +23 -11
  130. package/build-module/components/page-patterns/index.js.map +1 -1
  131. package/build-module/components/page-templates/index.js +43 -37
  132. package/build-module/components/page-templates/index.js.map +1 -1
  133. package/build-module/components/post-edit/index.js +98 -0
  134. package/build-module/components/post-edit/index.js.map +1 -0
  135. package/build-module/components/post-fields/index.js +306 -0
  136. package/build-module/components/post-fields/index.js.map +1 -0
  137. package/build-module/components/post-list/index.js +275 -0
  138. package/build-module/components/post-list/index.js.map +1 -0
  139. package/build-module/components/posts-app/router.js +3 -3
  140. package/build-module/components/posts-app/router.js.map +1 -1
  141. package/build-module/components/sidebar-dataviews/default-views.js +21 -9
  142. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  143. package/build-module/components/sidebar-dataviews/index.js +42 -3
  144. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  145. package/build-module/components/sidebar-navigation-screen-global-styles/content.js +57 -0
  146. package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
  147. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +2 -47
  148. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  149. package/build-module/hooks/push-changes-to-global-styles/index.js +1 -1
  150. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  151. package/build-module/index.js +5 -1
  152. package/build-module/index.js.map +1 -1
  153. package/build-module/store/selectors.js +35 -7
  154. package/build-module/store/selectors.js.map +1 -1
  155. package/build-module/utils/get-filtered-template-parts.js +57 -0
  156. package/build-module/utils/get-filtered-template-parts.js.map +1 -0
  157. package/build-style/posts-rtl.css +581 -503
  158. package/build-style/posts.css +581 -503
  159. package/build-style/style-rtl.css +621 -519
  160. package/build-style/style.css +621 -519
  161. package/package.json +41 -41
  162. package/src/components/add-new-pattern/index.js +8 -2
  163. package/src/components/add-new-template/index.js +4 -1
  164. package/src/components/add-new-template/style.scss +4 -6
  165. package/src/components/block-editor/use-site-editor-settings.js +15 -111
  166. package/src/components/global-styles/block-preview-panel.js +22 -9
  167. package/src/components/global-styles/font-families.js +66 -31
  168. package/src/components/global-styles/font-library-modal/index.js +4 -2
  169. package/src/components/global-styles/font-library-modal/installed-fonts.js +92 -11
  170. package/src/components/global-styles/font-library-modal/style.scss +9 -0
  171. package/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +43 -0
  172. package/src/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +37 -0
  173. package/src/components/global-styles/font-sizes/font-size-preview.js +43 -0
  174. package/src/components/global-styles/font-sizes/font-size.js +250 -0
  175. package/src/components/global-styles/font-sizes/font-sizes-count.js +40 -0
  176. package/src/components/global-styles/font-sizes/font-sizes.js +263 -0
  177. package/src/components/global-styles/font-sizes/rename-font-size-dialog.js +70 -0
  178. package/src/components/global-styles/screen-block.js +12 -14
  179. package/src/components/global-styles/screen-style-variations.js +2 -2
  180. package/src/components/global-styles/screen-typography.js +3 -2
  181. package/src/components/global-styles/size-control/index.js +86 -0
  182. package/src/components/global-styles/style-variations-container.js +4 -0
  183. package/src/components/global-styles/style.scss +13 -3
  184. package/src/components/global-styles/ui.js +10 -0
  185. package/src/components/global-styles/variations/variations-color.js +1 -1
  186. package/src/components/global-styles/variations/variations-typography.js +1 -2
  187. package/src/components/layout/index.js +11 -0
  188. package/src/components/layout/router.js +13 -5
  189. package/src/components/layout/style.scss +26 -8
  190. package/src/components/page-patterns/header.js +1 -1
  191. package/src/components/page-patterns/index.js +15 -8
  192. package/src/components/page-templates/index.js +51 -46
  193. package/src/components/page-templates/style.scss +5 -3
  194. package/src/components/post-edit/index.js +96 -0
  195. package/src/components/post-edit/style.scss +9 -0
  196. package/src/components/post-fields/index.js +345 -0
  197. package/src/components/post-list/index.js +326 -0
  198. package/src/components/{posts-app → post-list}/style.scss +12 -9
  199. package/src/components/posts-app/router.js +3 -3
  200. package/src/components/sidebar-dataviews/default-views.js +21 -9
  201. package/src/components/sidebar-dataviews/index.js +36 -1
  202. package/src/components/sidebar-navigation-screen-global-styles/content.js +55 -0
  203. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -55
  204. package/src/hooks/push-changes-to-global-styles/index.js +1 -1
  205. package/src/index.js +7 -1
  206. package/src/posts.scss +1 -1
  207. package/src/store/selectors.js +53 -14
  208. package/src/store/test/selectors.js +1 -26
  209. package/src/style.scss +2 -1
  210. package/src/utils/get-filtered-template-parts.js +61 -0
  211. package/src/utils/test/get-filtered-template-parts.js +127 -0
  212. package/build/components/global-styles/screen-background.js +0 -36
  213. package/build/components/global-styles/screen-background.js.map +0 -1
  214. package/build/components/posts-app/posts-list.js +0 -568
  215. package/build/components/posts-app/posts-list.js.map +0 -1
  216. package/build-module/components/global-styles/screen-background.js +0 -30
  217. package/build-module/components/global-styles/screen-background.js.map +0 -1
  218. package/build-module/components/posts-app/posts-list.js +0 -560
  219. package/build-module/components/posts-app/posts-list.js.map +0 -1
  220. package/src/components/global-styles/screen-background.js +0 -29
  221. package/src/components/posts-app/posts-list.js +0 -651
@@ -44,7 +44,6 @@ const {
44
44
  usePostActions
45
45
  } = (0, _lockUnlock.unlock)(_editor.privateApis);
46
46
  const {
47
- ExperimentalBlockEditorProvider,
48
47
  useGlobalStyle
49
48
  } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
50
49
  const {
@@ -54,11 +53,32 @@ const {
54
53
  const EMPTY_ARRAY = [];
55
54
  const defaultLayouts = {
56
55
  [_constants.LAYOUT_TABLE]: {
56
+ fields: ['template', 'author'],
57
57
  layout: {
58
- primaryField: 'title'
58
+ primaryField: 'title',
59
+ combinedFields: [{
60
+ id: 'template',
61
+ label: (0, _i18n.__)('Template'),
62
+ children: ['title', 'description'],
63
+ direction: 'vertical'
64
+ }],
65
+ styles: {
66
+ template: {
67
+ maxWidth: 400,
68
+ minWidth: 320
69
+ },
70
+ preview: {
71
+ minWidth: 120,
72
+ maxWidth: 120
73
+ },
74
+ author: {
75
+ width: '1%'
76
+ }
77
+ }
59
78
  }
60
79
  },
61
80
  [_constants.LAYOUT_GRID]: {
81
+ fields: ['title', 'description', 'author'],
62
82
  layout: {
63
83
  mediaField: 'preview',
64
84
  primaryField: 'title',
@@ -66,6 +86,7 @@ const defaultLayouts = {
66
86
  }
67
87
  },
68
88
  [_constants.LAYOUT_LIST]: {
89
+ fields: ['title', 'description', 'author'],
69
90
  layout: {
70
91
  primaryField: 'title',
71
92
  mediaField: 'preview'
@@ -81,7 +102,7 @@ const DEFAULT_VIEW = {
81
102
  field: 'title',
82
103
  direction: 'asc'
83
104
  },
84
- fields: ['title', 'description', 'author'],
105
+ fields: defaultLayouts[_constants.LAYOUT_GRID].fields,
85
106
  layout: defaultLayouts[_constants.LAYOUT_GRID].layout,
86
107
  filters: []
87
108
  };
@@ -105,8 +126,7 @@ function Title({
105
126
  });
106
127
  }
107
128
  function AuthorField({
108
- item,
109
- viewType
129
+ item
110
130
  }) {
111
131
  const [isImageLoaded, setIsImageLoaded] = (0, _element.useState)(false);
112
132
  const {
@@ -114,11 +134,10 @@ function AuthorField({
114
134
  icon,
115
135
  imageUrl
116
136
  } = (0, _hooks.useAddedBy)(item.type, item.id);
117
- const withIcon = viewType !== _constants.LAYOUT_LIST;
118
137
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
119
138
  alignment: "left",
120
- spacing: 1,
121
- children: [withIcon && imageUrl && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
139
+ spacing: 0,
140
+ children: [imageUrl && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
122
141
  className: (0, _clsx.default)('page-templates-author-field__avatar', {
123
142
  'is-loaded': isImageLoaded
124
143
  }),
@@ -127,7 +146,7 @@ function AuthorField({
127
146
  alt: "",
128
147
  src: imageUrl
129
148
  })
130
- }), withIcon && !imageUrl && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
149
+ }), !imageUrl && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
131
150
  className: "page-templates-author-field__icon",
132
151
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
133
152
  icon: icon
@@ -162,7 +181,8 @@ function Preview({
162
181
  // TODO: Same approach is used in the patterns list and it becomes obvious that some of
163
182
  // the block editor settings are needed in context where we don't have the block editor.
164
183
  // Explore how we can solve this in a better way.
165
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(ExperimentalBlockEditorProvider, {
184
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.EditorProvider, {
185
+ post: item,
166
186
  settings: settings,
167
187
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
168
188
  className: `page-templates-preview-field is-viewtype-${viewType}`,
@@ -203,6 +223,7 @@ function PageTemplates() {
203
223
  ...DEFAULT_VIEW,
204
224
  type: usedType,
205
225
  layout: defaultLayouts[usedType].layout,
226
+ fields: defaultLayouts[usedType].fields,
206
227
  filters: activeView !== 'all' ? [{
207
228
  field: 'author',
208
229
  operator: 'isAny',
@@ -228,11 +249,12 @@ function PageTemplates() {
228
249
  per_page: -1
229
250
  });
230
251
  const history = useHistory();
231
- const onSelectionChange = (0, _element.useCallback)(items => {
252
+ const onChangeSelection = (0, _element.useCallback)(items => {
253
+ setSelection(items);
232
254
  if (view?.type === _constants.LAYOUT_LIST) {
233
255
  history.push({
234
256
  ...params,
235
- postId: items.length === 1 ? items[0].id : undefined
257
+ postId: items.length === 1 ? items[0] : undefined
236
258
  });
237
259
  }
238
260
  }, [history, params, view?.type]);
@@ -250,7 +272,7 @@ function PageTemplates() {
250
272
  }));
251
273
  }, [records]);
252
274
  const fields = (0, _element.useMemo)(() => [{
253
- header: (0, _i18n.__)('Preview'),
275
+ label: (0, _i18n.__)('Preview'),
254
276
  id: 'preview',
255
277
  render: ({
256
278
  item
@@ -260,11 +282,9 @@ function PageTemplates() {
260
282
  viewType: view.type
261
283
  });
262
284
  },
263
- minWidth: 120,
264
- maxWidth: 120,
265
285
  enableSorting: false
266
286
  }, {
267
- header: (0, _i18n.__)('Template'),
287
+ label: (0, _i18n.__)('Template'),
268
288
  id: 'title',
269
289
  getValue: ({
270
290
  item
@@ -275,34 +295,23 @@ function PageTemplates() {
275
295
  item: item,
276
296
  viewType: view.type
277
297
  }),
278
- maxWidth: 400,
279
298
  enableHiding: false,
280
299
  enableGlobalSearch: true
281
300
  }, {
282
- header: (0, _i18n.__)('Description'),
301
+ label: (0, _i18n.__)('Description'),
283
302
  id: 'description',
284
303
  render: ({
285
304
  item
286
305
  }) => {
287
- return item.description ? /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
306
+ return item.description && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
288
307
  className: "page-templates-description",
289
308
  children: (0, _htmlEntities.decodeEntities)(item.description)
290
- }) : view.type === _constants.LAYOUT_TABLE && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
291
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
292
- variant: "muted",
293
- "aria-hidden": "true",
294
- children: "\u2014"
295
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.VisuallyHidden, {
296
- children: (0, _i18n.__)('No description.')
297
- })]
298
309
  });
299
310
  },
300
- maxWidth: 400,
301
- minWidth: 320,
302
311
  enableSorting: false,
303
312
  enableGlobalSearch: true
304
313
  }, {
305
- header: (0, _i18n.__)('Author'),
314
+ label: (0, _i18n.__)('Author'),
306
315
  id: 'author',
307
316
  getValue: ({
308
317
  item
@@ -315,8 +324,7 @@ function PageTemplates() {
315
324
  item: item
316
325
  });
317
326
  },
318
- elements: authors,
319
- width: '1%'
327
+ elements: authors
320
328
  }], [authors, view.type]);
321
329
  const {
322
330
  data,
@@ -351,9 +359,8 @@ function PageTemplates() {
351
359
  isLoading: isLoadingData,
352
360
  view: view,
353
361
  onChangeView: onChangeView,
354
- onSelectionChange: onSelectionChange,
362
+ onChangeSelection: onChangeSelection,
355
363
  selection: selection,
356
- setSelection: setSelection,
357
364
  defaultLayouts: defaultLayouts
358
365
  })
359
366
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_coreData","_htmlEntities","_blocks","_blockEditor","_dataviews","_router","_editor","_async","_page","_link","_interopRequireWildcard","_addNewTemplate","_hooks","_constants","_usePatternSettings","_lockUnlock","_dataviewsActions","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","usePostActions","unlock","editorPrivateApis","ExperimentalBlockEditorProvider","useGlobalStyle","blockEditorPrivateApis","useHistory","useLocation","routerPrivateApis","EMPTY_ARRAY","defaultLayouts","LAYOUT_TABLE","layout","primaryField","LAYOUT_GRID","mediaField","columnFields","LAYOUT_LIST","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","fields","filters","Title","item","viewType","decodeEntities","title","rendered","__","linkProps","params","postId","id","postType","canvas","jsx","children","AuthorField","isImageLoaded","setIsImageLoaded","useState","text","icon","imageUrl","useAddedBy","withIcon","jsxs","__experimentalHStack","alignment","spacing","className","clsx","onLoad","alt","src","Icon","Preview","settings","usePatternSettings","backgroundColor","blocks","useMemo","parse","content","raw","onClick","useLink","isEmpty","length","style","Async","BlockPreview","PageTemplates","activeView","selection","setSelection","defaultView","usedType","operator","value","view","setView","useEffect","currentView","OPERATOR_IS_ANY","records","isResolving","isLoadingData","useEntityRecords","TEMPLATE_POST_TYPE","per_page","history","onSelectionChange","useCallback","items","push","undefined","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","label","header","render","minWidth","maxWidth","enableSorting","getValue","enableHiding","enableGlobalSearch","description","Fragment","__experimentalText","variant","VisuallyHidden","elements","width","data","paginationInfo","filterSortAndPaginate","postTypeActions","context","editAction","useEditPostAction","actions","onChangeView","newView","DataViews","isLoading"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { Async } from '../async';\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport AddNewTemplate from '../add-new-template';\nimport { useAddedBy } from './hooks';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\n\nconst { usePostActions } = unlock( editorPrivateApis );\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tcolumnFields: [ 'description' ],\n\t\t},\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tmediaField: 'preview',\n\t\t},\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\tfields: [ 'title', 'description', 'author' ],\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfilters: [],\n};\n\nfunction Title( { item, viewType } ) {\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn decodeEntities( item.title?.rendered ) || __( '(no title)' );\n\t}\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nfunction AuthorField( { item, viewType } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\tconst withIcon = viewType !== LAYOUT_LIST;\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ withIcon && imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ withIcon && ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ viewType === LAYOUT_LIST && ! isEmpty && (\n\t\t\t\t\t<Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</Async>\n\t\t\t\t) }\n\t\t\t\t{ viewType !== LAYOUT_LIST && (\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t\t<Async>\n\t\t\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t\t\t</Async>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function PageTemplates() {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout, postId } = params;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultLayouts[ usedType ].layout,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'isAny',\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_POST_TYPE,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ].id : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Preview item={ item } viewType={ view.type } />;\n\t\t\t\t},\n\t\t\t\tminWidth: 120,\n\t\t\t\tmaxWidth: 120,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Template' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn item.description ? (\n\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tview.type === LAYOUT_TABLE && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t&#8212;\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\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},\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tminWidth: 320,\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t\t},\n\t\t\t\telements: authors,\n\t\t\t\twidth: '1%',\n\t\t\t},\n\t\t],\n\t\t[ authors, view.type ]\n\t);\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\tselection={ selection }\n\t\t\t\tsetSelection={ setSelection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_coreData","_htmlEntities","_blocks","_blockEditor","_dataviews","_router","_editor","_async","_page","_link","_interopRequireWildcard","_addNewTemplate","_hooks","_constants","_usePatternSettings","_lockUnlock","_dataviewsActions","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","usePostActions","unlock","editorPrivateApis","useGlobalStyle","blockEditorPrivateApis","useHistory","useLocation","routerPrivateApis","EMPTY_ARRAY","defaultLayouts","LAYOUT_TABLE","fields","layout","primaryField","combinedFields","id","label","__","children","direction","styles","template","maxWidth","minWidth","preview","author","width","LAYOUT_GRID","mediaField","columnFields","LAYOUT_LIST","DEFAULT_VIEW","type","search","page","perPage","sort","field","filters","Title","item","viewType","decodeEntities","title","rendered","linkProps","params","postId","postType","canvas","jsx","AuthorField","isImageLoaded","setIsImageLoaded","useState","text","icon","imageUrl","useAddedBy","jsxs","__experimentalHStack","alignment","spacing","className","clsx","onLoad","alt","src","Icon","Preview","settings","usePatternSettings","backgroundColor","blocks","useMemo","parse","content","raw","onClick","useLink","isEmpty","length","EditorProvider","post","style","Async","BlockPreview","PageTemplates","activeView","selection","setSelection","defaultView","usedType","operator","value","view","setView","useEffect","currentView","OPERATOR_IS_ANY","records","isResolving","isLoadingData","useEntityRecords","TEMPLATE_POST_TYPE","per_page","history","onChangeSelection","useCallback","items","push","undefined","authors","authorsSet","Set","forEach","add","author_text","Array","from","map","render","enableSorting","getValue","enableHiding","enableGlobalSearch","description","elements","data","paginationInfo","filterSortAndPaginate","postTypeActions","context","editAction","useEditPostAction","actions","onChangeView","newView","DataViews","isLoading"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Icon, __experimentalHStack as HStack } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editorPrivateApis,\n\tEditorProvider,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { Async } from '../async';\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport AddNewTemplate from '../add-new-template';\nimport { useAddedBy } from './hooks';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tOPERATOR_IS_ANY,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\n\nconst { usePostActions } = unlock( editorPrivateApis );\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tfields: [ 'template', 'author' ],\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tcombinedFields: [\n\t\t\t\t{\n\t\t\t\t\tid: 'template',\n\t\t\t\t\tlabel: __( 'Template' ),\n\t\t\t\t\tchildren: [ 'title', 'description' ],\n\t\t\t\t\tdirection: 'vertical',\n\t\t\t\t},\n\t\t\t],\n\t\t\tstyles: {\n\t\t\t\ttemplate: {\n\t\t\t\t\tmaxWidth: 400,\n\t\t\t\t\tminWidth: 320,\n\t\t\t\t},\n\t\t\t\tpreview: {\n\t\t\t\t\tminWidth: 120,\n\t\t\t\t\tmaxWidth: 120,\n\t\t\t\t},\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tfields: [ 'title', 'description', 'author' ],\n\t\tlayout: {\n\t\t\tmediaField: 'preview',\n\t\t\tprimaryField: 'title',\n\t\t\tcolumnFields: [ 'description' ],\n\t\t},\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tfields: [ 'title', 'description', 'author' ],\n\t\tlayout: {\n\t\t\tprimaryField: 'title',\n\t\t\tmediaField: 'preview',\n\t\t},\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\tfields: defaultLayouts[ LAYOUT_GRID ].fields,\n\tlayout: defaultLayouts[ LAYOUT_GRID ].layout,\n\tfilters: [],\n};\n\nfunction Title( { item, viewType } ) {\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn decodeEntities( item.title?.rendered ) || __( '(no title)' );\n\t}\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<EditorProvider post={ item } settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ viewType === LAYOUT_LIST && ! isEmpty && (\n\t\t\t\t\t<Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</Async>\n\t\t\t\t) }\n\t\t\t\t{ viewType !== LAYOUT_LIST && (\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t\t\t<Async>\n\t\t\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t\t\t</Async>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorProvider>\n\t);\n}\n\nexport default function PageTemplates() {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout, postId } = params;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = layout ?? DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultLayouts[ usedType ].layout,\n\t\t\tfields: defaultLayouts[ usedType ].fields,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'isAny',\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: OPERATOR_IS_ANY,\n\t\t\t\t\t\t\t\tvalue: [ activeView ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_POST_TYPE,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tlabel: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Preview item={ item } viewType={ view.type } />;\n\t\t\t\t},\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: __( 'Template' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tenableHiding: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\titem.description && (\n\t\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableGlobalSearch: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tlabel: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t\t},\n\t\t\t\telements: authors,\n\t\t\t},\n\t\t],\n\t\t[ authors, view.type ]\n\t);\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PostEdit = PostEdit;
8
+ var _clsx = _interopRequireDefault(require("clsx"));
9
+ var _i18n = require("@wordpress/i18n");
10
+ var _dataviews = require("@wordpress/dataviews");
11
+ var _data = require("@wordpress/data");
12
+ var _coreData = require("@wordpress/core-data");
13
+ var _components = require("@wordpress/components");
14
+ var _element = require("@wordpress/element");
15
+ var _page = _interopRequireDefault(require("../page"));
16
+ var _postFields = _interopRequireDefault(require("../post-fields"));
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ /**
19
+ * External dependencies
20
+ */
21
+
22
+ /**
23
+ * WordPress dependencies
24
+ */
25
+
26
+ /**
27
+ * Internal dependencies
28
+ */
29
+
30
+ function PostEditForm({
31
+ postType,
32
+ postId
33
+ }) {
34
+ const ids = (0, _element.useMemo)(() => postId.split(','), [postId]);
35
+ const {
36
+ initialEdits
37
+ } = (0, _data.useSelect)(select => {
38
+ if (ids.length !== 1) {}
39
+ return {
40
+ initialEdits: ids.length === 1 ? select(_coreData.store).getEntityRecord('postType', postType, ids[0]) : null
41
+ };
42
+ }, [postType, ids]);
43
+ const registry = (0, _data.useRegistry)();
44
+ const {
45
+ saveEntityRecord
46
+ } = (0, _data.useDispatch)(_coreData.store);
47
+ const {
48
+ fields
49
+ } = (0, _postFields.default)();
50
+ const form = {
51
+ visibleFields: ['title']
52
+ };
53
+ const [edits, setEdits] = (0, _element.useState)({});
54
+ const itemWithEdits = (0, _element.useMemo)(() => {
55
+ return {
56
+ ...initialEdits,
57
+ ...edits
58
+ };
59
+ }, [initialEdits, edits]);
60
+ const onSubmit = async event => {
61
+ event.preventDefault();
62
+ const {
63
+ getEntityRecord
64
+ } = registry.resolveSelect(_coreData.store);
65
+ for (const id of ids) {
66
+ const item = await getEntityRecord('postType', postType, id);
67
+ saveEntityRecord('postType', postType, {
68
+ ...item,
69
+ ...edits
70
+ });
71
+ }
72
+ setEdits({});
73
+ };
74
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("form", {
75
+ onSubmit: onSubmit,
76
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviews.DataForm, {
77
+ data: itemWithEdits,
78
+ fields: fields,
79
+ form: form,
80
+ onChange: setEdits
81
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
82
+ variant: "primary",
83
+ type: "submit",
84
+ children: (0, _i18n.__)('Update')
85
+ })]
86
+ });
87
+ }
88
+ function PostEdit({
89
+ postType,
90
+ postId
91
+ }) {
92
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_page.default, {
93
+ className: (0, _clsx.default)('edit-site-post-edit', {
94
+ 'is-empty': !postId
95
+ }),
96
+ label: (0, _i18n.__)('Post Edit'),
97
+ children: [postId && /*#__PURE__*/(0, _jsxRuntime.jsx)(PostEditForm, {
98
+ postType: postType,
99
+ postId: postId
100
+ }), !postId && /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
101
+ children: (0, _i18n.__)('Select a page to edit')
102
+ })]
103
+ });
104
+ }
105
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_dataviews","_data","_coreData","_components","_element","_page","_postFields","_jsxRuntime","PostEditForm","postType","postId","ids","useMemo","split","initialEdits","useSelect","select","length","coreDataStore","getEntityRecord","registry","useRegistry","saveEntityRecord","useDispatch","fields","usePostFields","form","visibleFields","edits","setEdits","useState","itemWithEdits","onSubmit","event","preventDefault","resolveSelect","id","item","jsxs","children","jsx","DataForm","data","onChange","Button","variant","type","__","PostEdit","default","className","clsx","label"],"sources":["@wordpress/edit-site/src/components/post-edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { DataForm } from '@wordpress/dataviews';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { Button } from '@wordpress/components';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport usePostFields from '../post-fields';\n\nfunction PostEditForm( { postType, postId } ) {\n\tconst ids = useMemo( () => postId.split( ',' ), [ postId ] );\n\tconst { initialEdits } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ids.length !== 1 ) {\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tinitialEdits:\n\t\t\t\t\tids.length === 1\n\t\t\t\t\t\t? select( coreDataStore ).getEntityRecord(\n\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\t\tids[ 0 ]\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ postType, ids ]\n\t);\n\tconst registry = useRegistry();\n\tconst { saveEntityRecord } = useDispatch( coreDataStore );\n\tconst { fields } = usePostFields();\n\tconst form = {\n\t\tvisibleFields: [ 'title' ],\n\t};\n\tconst [ edits, setEdits ] = useState( {} );\n\tconst itemWithEdits = useMemo( () => {\n\t\treturn {\n\t\t\t...initialEdits,\n\t\t\t...edits,\n\t\t};\n\t}, [ initialEdits, edits ] );\n\tconst onSubmit = async ( event ) => {\n\t\tevent.preventDefault();\n\t\tconst { getEntityRecord } = registry.resolveSelect( coreDataStore );\n\t\tfor ( const id of ids ) {\n\t\t\tconst item = await getEntityRecord( 'postType', postType, id );\n\t\t\tsaveEntityRecord( 'postType', postType, {\n\t\t\t\t...item,\n\t\t\t\t...edits,\n\t\t\t} );\n\t\t}\n\t\tsetEdits( {} );\n\t};\n\n\treturn (\n\t\t<form onSubmit={ onSubmit }>\n\t\t\t<DataForm\n\t\t\t\tdata={ itemWithEdits }\n\t\t\t\tfields={ fields }\n\t\t\t\tform={ form }\n\t\t\t\tonChange={ setEdits }\n\t\t\t/>\n\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t{ __( 'Update' ) }\n\t\t\t</Button>\n\t\t</form>\n\t);\n}\n\nexport function PostEdit( { postType, postId } ) {\n\treturn (\n\t\t<Page\n\t\t\tclassName={ clsx( 'edit-site-post-edit', {\n\t\t\t\t'is-empty': ! postId,\n\t\t\t} ) }\n\t\t\tlabel={ __( 'Post Edit' ) }\n\t\t>\n\t\t\t{ postId && (\n\t\t\t\t<PostEditForm postType={ postType } postId={ postId } />\n\t\t\t) }\n\t\t\t{ ! postId && <p>{ __( 'Select a page to edit' ) }</p> }\n\t\t</Page>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}