@wordpress/edit-site 3.0.6 → 3.0.10

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 (373) hide show
  1. package/build/components/add-new-template/index.js +49 -0
  2. package/build/components/add-new-template/index.js.map +1 -0
  3. package/build/components/add-new-template/new-template-part.js +79 -0
  4. package/build/components/add-new-template/new-template-part.js.map +1 -0
  5. package/build/components/add-new-template/new-template.js +115 -0
  6. package/build/components/add-new-template/new-template.js.map +1 -0
  7. package/build/components/block-editor/block-inspector-button.js +4 -3
  8. package/build/components/block-editor/block-inspector-button.js.map +1 -1
  9. package/build/components/block-editor/index.js +12 -8
  10. package/build/components/block-editor/index.js.map +1 -1
  11. package/build/components/block-editor/resizable-editor.js +6 -5
  12. package/build/components/block-editor/resizable-editor.js.map +1 -1
  13. package/build/components/block-editor/resize-handle.js +6 -4
  14. package/build/components/block-editor/resize-handle.js.map +1 -1
  15. package/build/components/create-template-part-modal/index.js +115 -0
  16. package/build/components/create-template-part-modal/index.js.map +1 -0
  17. package/build/components/edit-template-part-menu-button/index.js +15 -11
  18. package/build/components/edit-template-part-menu-button/index.js.map +1 -1
  19. package/build/components/editor/index.js +16 -17
  20. package/build/components/editor/index.js.map +1 -1
  21. package/build/components/error-boundary/index.js +5 -4
  22. package/build/components/error-boundary/index.js.map +1 -1
  23. package/build/components/global-styles/border-panel.js +5 -4
  24. package/build/components/global-styles/border-panel.js.map +1 -1
  25. package/build/components/global-styles/color-palette-panel.js +4 -3
  26. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  27. package/build/components/global-styles/context-menu.js +5 -4
  28. package/build/components/global-styles/context-menu.js.map +1 -1
  29. package/build/components/global-styles/dimensions-panel.js +5 -4
  30. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  31. package/build/components/global-styles/global-styles-provider.js +16 -13
  32. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  33. package/build/components/global-styles/header.js +6 -5
  34. package/build/components/global-styles/header.js.map +1 -1
  35. package/build/components/global-styles/hooks.js +34 -30
  36. package/build/components/global-styles/hooks.js.map +1 -1
  37. package/build/components/global-styles/index.js +6 -6
  38. package/build/components/global-styles/navigation-button.js +8 -7
  39. package/build/components/global-styles/navigation-button.js.map +1 -1
  40. package/build/components/global-styles/palette.js +13 -9
  41. package/build/components/global-styles/palette.js.map +1 -1
  42. package/build/components/global-styles/screen-background-color.js +4 -3
  43. package/build/components/global-styles/screen-background-color.js.map +1 -1
  44. package/build/components/global-styles/screen-block-list.js +13 -4
  45. package/build/components/global-styles/screen-block-list.js.map +1 -1
  46. package/build/components/global-styles/screen-block.js +4 -3
  47. package/build/components/global-styles/screen-block.js.map +1 -1
  48. package/build/components/global-styles/screen-color-palette.js +4 -3
  49. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  50. package/build/components/global-styles/screen-colors.js +19 -15
  51. package/build/components/global-styles/screen-colors.js.map +1 -1
  52. package/build/components/global-styles/screen-layout.js +8 -5
  53. package/build/components/global-styles/screen-layout.js.map +1 -1
  54. package/build/components/global-styles/screen-link-color.js +4 -3
  55. package/build/components/global-styles/screen-link-color.js.map +1 -1
  56. package/build/components/global-styles/screen-text-color.js +4 -3
  57. package/build/components/global-styles/screen-text-color.js.map +1 -1
  58. package/build/components/global-styles/screen-typography.js +4 -3
  59. package/build/components/global-styles/screen-typography.js.map +1 -1
  60. package/build/components/global-styles/subtitle.js +4 -3
  61. package/build/components/global-styles/subtitle.js.map +1 -1
  62. package/build/components/global-styles/typography-panel.js +10 -8
  63. package/build/components/global-styles/typography-panel.js.map +1 -1
  64. package/build/components/global-styles/ui.js +4 -3
  65. package/build/components/global-styles/ui.js.map +1 -1
  66. package/build/components/global-styles/use-global-styles-output.js +61 -44
  67. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  68. package/build/components/global-styles/utils.js +4 -3
  69. package/build/components/global-styles/utils.js.map +1 -1
  70. package/build/components/header/document-actions/index.js +23 -19
  71. package/build/components/header/document-actions/index.js.map +1 -1
  72. package/build/components/header/feature-toggle/index.js +9 -7
  73. package/build/components/header/feature-toggle/index.js.map +1 -1
  74. package/build/components/header/index.js +15 -13
  75. package/build/components/header/index.js.map +1 -1
  76. package/build/components/header/more-menu/index.js +30 -27
  77. package/build/components/header/more-menu/index.js.map +1 -1
  78. package/build/components/header/tools-more-menu-group/index.js +10 -7
  79. package/build/components/header/tools-more-menu-group/index.js.map +1 -1
  80. package/build/components/keyboard-shortcuts/index.js +4 -3
  81. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  82. package/build/components/list/header.js +50 -0
  83. package/build/components/list/header.js.map +1 -0
  84. package/build/components/list/index.js +55 -0
  85. package/build/components/list/index.js.map +1 -0
  86. package/build/components/list/table.js +128 -0
  87. package/build/components/list/table.js.map +1 -0
  88. package/build/components/main-dashboard-button/index.js +4 -3
  89. package/build/components/main-dashboard-button/index.js.map +1 -1
  90. package/build/components/navigate-to-link/index.js +7 -6
  91. package/build/components/navigate-to-link/index.js.map +1 -1
  92. package/build/components/navigation-sidebar/index.js +12 -11
  93. package/build/components/navigation-sidebar/index.js.map +1 -1
  94. package/build/components/navigation-sidebar/navigation-panel/constants.js +1 -1
  95. package/build/components/navigation-sidebar/navigation-panel/content-navigation-item.js +4 -3
  96. package/build/components/navigation-sidebar/navigation-panel/content-navigation-item.js.map +1 -1
  97. package/build/components/navigation-sidebar/navigation-panel/index.js +36 -55
  98. package/build/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  99. package/build/components/navigation-sidebar/navigation-panel/menus/template-parts-sub.js +6 -5
  100. package/build/components/navigation-sidebar/navigation-panel/menus/template-parts-sub.js.map +1 -1
  101. package/build/components/navigation-sidebar/navigation-panel/menus/template-parts.js +26 -20
  102. package/build/components/navigation-sidebar/navigation-panel/menus/template-parts.js.map +1 -1
  103. package/build/components/navigation-sidebar/navigation-panel/menus/templates-sub.js +17 -10
  104. package/build/components/navigation-sidebar/navigation-panel/menus/templates-sub.js.map +1 -1
  105. package/build/components/navigation-sidebar/navigation-panel/menus/templates.js +11 -5
  106. package/build/components/navigation-sidebar/navigation-panel/menus/templates.js.map +1 -1
  107. package/build/components/navigation-sidebar/navigation-panel/navigation-entity-items.js +13 -11
  108. package/build/components/navigation-sidebar/navigation-panel/navigation-entity-items.js.map +1 -1
  109. package/build/components/navigation-sidebar/navigation-panel/new-template-dropdown.js +24 -18
  110. package/build/components/navigation-sidebar/navigation-panel/new-template-dropdown.js.map +1 -1
  111. package/build/components/navigation-sidebar/navigation-panel/search-results.js +14 -11
  112. package/build/components/navigation-sidebar/navigation-panel/search-results.js.map +1 -1
  113. package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js +8 -5
  114. package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +1 -1
  115. package/build/components/navigation-sidebar/navigation-panel/template-navigation-item.js +4 -3
  116. package/build/components/navigation-sidebar/navigation-panel/template-navigation-item.js.map +1 -1
  117. package/build/components/navigation-sidebar/navigation-panel/template-preview.js +5 -4
  118. package/build/components/navigation-sidebar/navigation-panel/template-preview.js.map +1 -1
  119. package/build/components/navigation-sidebar/navigation-toggle/index.js +7 -27
  120. package/build/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  121. package/build/components/save-button/index.js +5 -4
  122. package/build/components/save-button/index.js.map +1 -1
  123. package/build/components/sidebar/constants.js +1 -1
  124. package/build/components/sidebar/default-sidebar.js +11 -10
  125. package/build/components/sidebar/default-sidebar.js.map +1 -1
  126. package/build/components/sidebar/plugin-sidebar/index.js +5 -4
  127. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
  128. package/build/components/sidebar/settings-header/index.js +4 -3
  129. package/build/components/sidebar/settings-header/index.js.map +1 -1
  130. package/build/components/sidebar/template-card/template-areas.js +17 -13
  131. package/build/components/sidebar/template-card/template-areas.js.map +1 -1
  132. package/build/components/template-details/index.js +14 -9
  133. package/build/components/template-details/index.js.map +1 -1
  134. package/build/components/template-details/template-areas.js +38 -29
  135. package/build/components/template-details/template-areas.js.map +1 -1
  136. package/build/components/template-part-converter/convert-to-regular.js +15 -11
  137. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  138. package/build/components/template-part-converter/convert-to-template-part.js +29 -86
  139. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  140. package/build/components/welcome-guide/editor.js +58 -0
  141. package/build/components/welcome-guide/editor.js.map +1 -0
  142. package/build/components/welcome-guide/image.js +27 -0
  143. package/build/components/welcome-guide/image.js.map +1 -0
  144. package/build/components/welcome-guide/index.js +49 -0
  145. package/build/components/welcome-guide/index.js.map +1 -0
  146. package/build/components/welcome-guide/styles.js +83 -0
  147. package/build/components/welcome-guide/styles.js.map +1 -0
  148. package/build/index.js +40 -16
  149. package/build/index.js.map +1 -1
  150. package/build/plugins/index.js +4 -2
  151. package/build/plugins/index.js.map +1 -1
  152. package/build/plugins/welcome-guide-menu-item.js +39 -0
  153. package/build/plugins/welcome-guide-menu-item.js.map +1 -0
  154. package/build/store/actions.js +24 -24
  155. package/build/store/actions.js.map +1 -1
  156. package/build/store/constants.js +1 -1
  157. package/build/store/defaults.js +4 -1
  158. package/build/store/defaults.js.map +1 -1
  159. package/build/store/index.js +5 -3
  160. package/build/store/index.js.map +1 -1
  161. package/build/store/reducer.js +36 -14
  162. package/build/store/reducer.js.map +1 -1
  163. package/build/store/selectors.js +27 -19
  164. package/build/store/selectors.js.map +1 -1
  165. package/build/utils/is-template-removable.js +21 -0
  166. package/build/utils/is-template-removable.js.map +1 -0
  167. package/build-module/components/add-new-template/index.js +36 -0
  168. package/build-module/components/add-new-template/index.js.map +1 -0
  169. package/build-module/components/add-new-template/new-template-part.js +66 -0
  170. package/build-module/components/add-new-template/new-template-part.js.map +1 -0
  171. package/build-module/components/add-new-template/new-template.js +98 -0
  172. package/build-module/components/add-new-template/new-template.js.map +1 -0
  173. package/build-module/components/block-editor/block-inspector-button.js +4 -3
  174. package/build-module/components/block-editor/block-inspector-button.js.map +1 -1
  175. package/build-module/components/block-editor/index.js +12 -8
  176. package/build-module/components/block-editor/index.js.map +1 -1
  177. package/build-module/components/block-editor/resizable-editor.js +6 -5
  178. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  179. package/build-module/components/block-editor/resize-handle.js +6 -4
  180. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  181. package/build-module/components/create-template-part-modal/index.js +102 -0
  182. package/build-module/components/create-template-part-modal/index.js.map +1 -0
  183. package/build-module/components/edit-template-part-menu-button/index.js +15 -11
  184. package/build-module/components/edit-template-part-menu-button/index.js.map +1 -1
  185. package/build-module/components/editor/index.js +14 -17
  186. package/build-module/components/editor/index.js.map +1 -1
  187. package/build-module/components/error-boundary/index.js +5 -4
  188. package/build-module/components/error-boundary/index.js.map +1 -1
  189. package/build-module/components/global-styles/border-panel.js +4 -3
  190. package/build-module/components/global-styles/border-panel.js.map +1 -1
  191. package/build-module/components/global-styles/color-palette-panel.js +4 -3
  192. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  193. package/build-module/components/global-styles/context-menu.js +5 -4
  194. package/build-module/components/global-styles/context-menu.js.map +1 -1
  195. package/build-module/components/global-styles/dimensions-panel.js +4 -3
  196. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  197. package/build-module/components/global-styles/global-styles-provider.js +16 -13
  198. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  199. package/build-module/components/global-styles/header.js +6 -5
  200. package/build-module/components/global-styles/header.js.map +1 -1
  201. package/build-module/components/global-styles/hooks.js +32 -28
  202. package/build-module/components/global-styles/hooks.js.map +1 -1
  203. package/build-module/components/global-styles/navigation-button.js +8 -7
  204. package/build-module/components/global-styles/navigation-button.js.map +1 -1
  205. package/build-module/components/global-styles/palette.js +13 -9
  206. package/build-module/components/global-styles/palette.js.map +1 -1
  207. package/build-module/components/global-styles/screen-background-color.js +4 -3
  208. package/build-module/components/global-styles/screen-background-color.js.map +1 -1
  209. package/build-module/components/global-styles/screen-block-list.js +11 -4
  210. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  211. package/build-module/components/global-styles/screen-block.js +4 -3
  212. package/build-module/components/global-styles/screen-block.js.map +1 -1
  213. package/build-module/components/global-styles/screen-color-palette.js +4 -3
  214. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  215. package/build-module/components/global-styles/screen-colors.js +19 -15
  216. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  217. package/build-module/components/global-styles/screen-layout.js +4 -3
  218. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  219. package/build-module/components/global-styles/screen-link-color.js +4 -3
  220. package/build-module/components/global-styles/screen-link-color.js.map +1 -1
  221. package/build-module/components/global-styles/screen-text-color.js +4 -3
  222. package/build-module/components/global-styles/screen-text-color.js.map +1 -1
  223. package/build-module/components/global-styles/screen-typography.js +4 -3
  224. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  225. package/build-module/components/global-styles/subtitle.js +4 -3
  226. package/build-module/components/global-styles/subtitle.js.map +1 -1
  227. package/build-module/components/global-styles/typography-panel.js +9 -7
  228. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  229. package/build-module/components/global-styles/ui.js +4 -3
  230. package/build-module/components/global-styles/ui.js.map +1 -1
  231. package/build-module/components/global-styles/use-global-styles-output.js +60 -43
  232. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  233. package/build-module/components/global-styles/utils.js +3 -2
  234. package/build-module/components/global-styles/utils.js.map +1 -1
  235. package/build-module/components/header/document-actions/index.js +23 -19
  236. package/build-module/components/header/document-actions/index.js.map +1 -1
  237. package/build-module/components/header/feature-toggle/index.js +9 -7
  238. package/build-module/components/header/feature-toggle/index.js.map +1 -1
  239. package/build-module/components/header/index.js +15 -12
  240. package/build-module/components/header/index.js.map +1 -1
  241. package/build-module/components/header/more-menu/index.js +30 -27
  242. package/build-module/components/header/more-menu/index.js.map +1 -1
  243. package/build-module/components/header/tools-more-menu-group/index.js +10 -7
  244. package/build-module/components/header/tools-more-menu-group/index.js.map +1 -1
  245. package/build-module/components/keyboard-shortcuts/index.js +4 -3
  246. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  247. package/build-module/components/list/header.js +37 -0
  248. package/build-module/components/list/header.js.map +1 -0
  249. package/build-module/components/list/index.js +40 -0
  250. package/build-module/components/list/index.js.map +1 -0
  251. package/build-module/components/list/table.js +112 -0
  252. package/build-module/components/list/table.js.map +1 -0
  253. package/build-module/components/main-dashboard-button/index.js +4 -3
  254. package/build-module/components/main-dashboard-button/index.js.map +1 -1
  255. package/build-module/components/navigate-to-link/index.js +7 -6
  256. package/build-module/components/navigate-to-link/index.js.map +1 -1
  257. package/build-module/components/navigation-sidebar/index.js +12 -8
  258. package/build-module/components/navigation-sidebar/index.js.map +1 -1
  259. package/build-module/components/navigation-sidebar/navigation-panel/content-navigation-item.js +4 -3
  260. package/build-module/components/navigation-sidebar/navigation-panel/content-navigation-item.js.map +1 -1
  261. package/build-module/components/navigation-sidebar/navigation-panel/index.js +38 -55
  262. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  263. package/build-module/components/navigation-sidebar/navigation-panel/menus/template-parts-sub.js +6 -5
  264. package/build-module/components/navigation-sidebar/navigation-panel/menus/template-parts-sub.js.map +1 -1
  265. package/build-module/components/navigation-sidebar/navigation-panel/menus/template-parts.js +26 -20
  266. package/build-module/components/navigation-sidebar/navigation-panel/menus/template-parts.js.map +1 -1
  267. package/build-module/components/navigation-sidebar/navigation-panel/menus/templates-sub.js +17 -10
  268. package/build-module/components/navigation-sidebar/navigation-panel/menus/templates-sub.js.map +1 -1
  269. package/build-module/components/navigation-sidebar/navigation-panel/menus/templates.js +11 -5
  270. package/build-module/components/navigation-sidebar/navigation-panel/menus/templates.js.map +1 -1
  271. package/build-module/components/navigation-sidebar/navigation-panel/navigation-entity-items.js +13 -11
  272. package/build-module/components/navigation-sidebar/navigation-panel/navigation-entity-items.js.map +1 -1
  273. package/build-module/components/navigation-sidebar/navigation-panel/new-template-dropdown.js +24 -18
  274. package/build-module/components/navigation-sidebar/navigation-panel/new-template-dropdown.js.map +1 -1
  275. package/build-module/components/navigation-sidebar/navigation-panel/search-results.js +14 -11
  276. package/build-module/components/navigation-sidebar/navigation-panel/search-results.js.map +1 -1
  277. package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js +6 -3
  278. package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +1 -1
  279. package/build-module/components/navigation-sidebar/navigation-panel/template-navigation-item.js +4 -3
  280. package/build-module/components/navigation-sidebar/navigation-panel/template-navigation-item.js.map +1 -1
  281. package/build-module/components/navigation-sidebar/navigation-panel/template-preview.js +5 -4
  282. package/build-module/components/navigation-sidebar/navigation-panel/template-preview.js.map +1 -1
  283. package/build-module/components/navigation-sidebar/navigation-toggle/index.js +8 -27
  284. package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  285. package/build-module/components/save-button/index.js +5 -4
  286. package/build-module/components/save-button/index.js.map +1 -1
  287. package/build-module/components/sidebar/default-sidebar.js +11 -10
  288. package/build-module/components/sidebar/default-sidebar.js.map +1 -1
  289. package/build-module/components/sidebar/plugin-sidebar/index.js +5 -4
  290. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
  291. package/build-module/components/sidebar/settings-header/index.js +4 -3
  292. package/build-module/components/sidebar/settings-header/index.js.map +1 -1
  293. package/build-module/components/sidebar/template-card/template-areas.js +17 -13
  294. package/build-module/components/sidebar/template-card/template-areas.js.map +1 -1
  295. package/build-module/components/template-details/index.js +14 -9
  296. package/build-module/components/template-details/index.js.map +1 -1
  297. package/build-module/components/template-details/template-areas.js +38 -29
  298. package/build-module/components/template-details/template-areas.js.map +1 -1
  299. package/build-module/components/template-part-converter/convert-to-regular.js +15 -11
  300. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  301. package/build-module/components/template-part-converter/convert-to-template-part.js +29 -86
  302. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  303. package/build-module/components/welcome-guide/editor.js +45 -0
  304. package/build-module/components/welcome-guide/editor.js.map +1 -0
  305. package/build-module/components/welcome-guide/image.js +19 -0
  306. package/build-module/components/welcome-guide/image.js.map +1 -0
  307. package/build-module/components/welcome-guide/index.js +35 -0
  308. package/build-module/components/welcome-guide/index.js.map +1 -0
  309. package/build-module/components/welcome-guide/styles.js +69 -0
  310. package/build-module/components/welcome-guide/styles.js.map +1 -0
  311. package/build-module/index.js +21 -1
  312. package/build-module/index.js.map +1 -1
  313. package/build-module/plugins/index.js +3 -2
  314. package/build-module/plugins/index.js.map +1 -1
  315. package/build-module/plugins/welcome-guide-menu-item.js +27 -0
  316. package/build-module/plugins/welcome-guide-menu-item.js.map +1 -0
  317. package/build-module/store/actions.js +11 -11
  318. package/build-module/store/actions.js.map +1 -1
  319. package/build-module/store/defaults.js +4 -1
  320. package/build-module/store/defaults.js.map +1 -1
  321. package/build-module/store/reducer.js +31 -10
  322. package/build-module/store/reducer.js.map +1 -1
  323. package/build-module/store/selectors.js +17 -10
  324. package/build-module/store/selectors.js.map +1 -1
  325. package/build-module/utils/is-template-removable.js +14 -0
  326. package/build-module/utils/is-template-removable.js.map +1 -0
  327. package/build-style/style-rtl.css +365 -40
  328. package/build-style/style.css +365 -40
  329. package/package.json +27 -27
  330. package/src/components/add-new-template/index.js +30 -0
  331. package/src/components/add-new-template/new-template-part.js +67 -0
  332. package/src/components/add-new-template/new-template.js +117 -0
  333. package/src/components/add-new-template/style.scss +11 -0
  334. package/src/components/create-template-part-modal/index.js +132 -0
  335. package/src/components/{template-part-converter → create-template-part-modal}/style.scss +9 -9
  336. package/src/components/editor/index.js +10 -14
  337. package/src/components/editor/style.scss +8 -0
  338. package/src/components/global-styles/global-styles-provider.js +4 -3
  339. package/src/components/global-styles/hooks.js +58 -26
  340. package/src/components/global-styles/screen-block-list.js +11 -1
  341. package/src/components/global-styles/test/use-global-styles-output.js +2 -2
  342. package/src/components/global-styles/use-global-styles-output.js +2 -2
  343. package/src/components/global-styles/utils.js +1 -1
  344. package/src/components/header/index.js +0 -3
  345. package/src/components/list/header.js +34 -0
  346. package/src/components/list/index.js +38 -0
  347. package/src/components/list/style.scss +113 -0
  348. package/src/components/list/table.js +133 -0
  349. package/src/components/navigation-sidebar/index.js +15 -8
  350. package/src/components/navigation-sidebar/navigation-panel/index.js +44 -55
  351. package/src/components/navigation-sidebar/navigation-panel/style.scss +4 -2
  352. package/src/components/navigation-sidebar/navigation-toggle/index.js +4 -28
  353. package/src/components/template-details/index.js +3 -2
  354. package/src/components/template-part-converter/convert-to-template-part.js +20 -140
  355. package/src/components/welcome-guide/editor.js +63 -0
  356. package/src/components/welcome-guide/image.js +11 -0
  357. package/src/components/welcome-guide/index.js +33 -0
  358. package/src/components/welcome-guide/style.scss +37 -0
  359. package/src/components/welcome-guide/styles.js +116 -0
  360. package/src/index.js +21 -1
  361. package/src/plugins/index.js +3 -1
  362. package/src/plugins/welcome-guide-menu-item.js +35 -0
  363. package/src/store/actions.js +11 -9
  364. package/src/store/defaults.js +4 -1
  365. package/src/store/test/actions.js +14 -20
  366. package/src/style.scss +11 -7
  367. package/src/utils/is-template-removable.js +13 -0
  368. package/build/components/header/navigation-link/index.js +0 -86
  369. package/build/components/header/navigation-link/index.js.map +0 -1
  370. package/build-module/components/header/navigation-link/index.js +0 -73
  371. package/build-module/components/header/navigation-link/index.js.map +0 -1
  372. package/src/components/header/navigation-link/index.js +0 -71
  373. package/src/components/header/navigation-link/style.scss +0 -69
@@ -60,7 +60,7 @@ function getPresetsDeclarations( blockPresets = {} ) {
60
60
  PRESET_METADATA,
61
61
  ( declarations, { path, valueKey, cssVarInfix } ) => {
62
62
  const presetByOrigin = get( blockPresets, path, [] );
63
- [ 'core', 'theme', 'user' ].forEach( ( origin ) => {
63
+ [ 'default', 'theme', 'user' ].forEach( ( origin ) => {
64
64
  if ( presetByOrigin[ origin ] ) {
65
65
  presetByOrigin[ origin ].forEach( ( value ) => {
66
66
  declarations.push(
@@ -94,7 +94,7 @@ function getPresetsClasses( blockSelector, blockPresets = {} ) {
94
94
  }
95
95
 
96
96
  const presetByOrigin = get( blockPresets, path, [] );
97
- [ 'core', 'theme', 'user' ].forEach( ( origin ) => {
97
+ [ 'default', 'theme', 'user' ].forEach( ( origin ) => {
98
98
  if ( presetByOrigin[ origin ] ) {
99
99
  presetByOrigin[ origin ].forEach( ( { slug } ) => {
100
100
  classes.forEach( ( { classSuffix, propertyName } ) => {
@@ -90,7 +90,7 @@ function findInPresetsBy(
90
90
  for ( const presetByOrigin of orderedPresetsByOrigin ) {
91
91
  if ( presetByOrigin ) {
92
92
  // Preset origins ordered by priority.
93
- const origins = [ 'user', 'theme', 'core' ];
93
+ const origins = [ 'user', 'theme', 'default' ];
94
94
  for ( const origin of origins ) {
95
95
  const presets = presetByOrigin[ origin ];
96
96
  if ( presets ) {
@@ -19,7 +19,6 @@ import { store as coreStore } from '@wordpress/core-data';
19
19
  /**
20
20
  * Internal dependencies
21
21
  */
22
- import NavigationLink from './navigation-link';
23
22
  import MoreMenu from './more-menu';
24
23
  import SaveButton from '../save-button';
25
24
  import UndoButton from './undo-redo/undo';
@@ -106,8 +105,6 @@ export default function Header( {
106
105
  return (
107
106
  <div className="edit-site-header">
108
107
  <div className="edit-site-header_start">
109
- <NavigationLink />
110
-
111
108
  <div className="edit-site-header__toolbar">
112
109
  <Button
113
110
  ref={ inserterButton }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useSelect } from '@wordpress/data';
5
+ import { store as coreStore } from '@wordpress/core-data';
6
+ import { __experimentalHeading as Heading } from '@wordpress/components';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import AddNewTemplate from '../add-new-template';
12
+
13
+ export default function Header( { templateType } ) {
14
+ const postType = useSelect(
15
+ ( select ) => select( coreStore ).getPostType( templateType ),
16
+ [ templateType ]
17
+ );
18
+
19
+ if ( ! postType ) {
20
+ return null;
21
+ }
22
+
23
+ return (
24
+ <header className="edit-site-list-header">
25
+ <Heading level={ 1 } className="edit-site-list-header__title">
26
+ { postType.labels?.name }
27
+ </Heading>
28
+
29
+ <div className="edit-site-list-header__right">
30
+ <AddNewTemplate templateType={ templateType } />
31
+ </div>
32
+ </header>
33
+ );
34
+ }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { InterfaceSkeleton } from '@wordpress/interface';
5
+ import { __ } from '@wordpress/i18n';
6
+ import { useViewportMatch } from '@wordpress/compose';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import Header from './header';
12
+ import NavigationSidebar from '../navigation-sidebar';
13
+ import Table from './table';
14
+
15
+ export default function List( { templateType } ) {
16
+ const isDesktopViewport = useViewportMatch( 'medium' );
17
+
18
+ return (
19
+ <InterfaceSkeleton
20
+ className="edit-site-list"
21
+ labels={ {
22
+ drawer: __( 'Navigation Sidebar' ),
23
+ } }
24
+ header={ <Header templateType={ templateType } /> }
25
+ drawer={
26
+ <NavigationSidebar
27
+ defaultIsOpen={ isDesktopViewport }
28
+ activeTemplateType={ templateType }
29
+ />
30
+ }
31
+ content={
32
+ <main className="edit-site-list-main">
33
+ <Table templateType={ templateType } />
34
+ </main>
35
+ }
36
+ />
37
+ );
38
+ }
@@ -0,0 +1,113 @@
1
+ .edit-site-list-header {
2
+ position: relative;
3
+ align-items: center;
4
+ background-color: $white;
5
+ display: flex;
6
+ height: $header-height;
7
+ box-sizing: border-box;
8
+ width: 100%;
9
+ justify-content: flex-end;
10
+ padding-right: $grid-unit-20;
11
+
12
+ body.is-fullscreen-mode & {
13
+ padding-left: 60px;
14
+ transition: padding-left 20ms linear;
15
+ transition-delay: 80ms;
16
+ @include reduce-motion("transition");
17
+ }
18
+
19
+ .edit-site-list-header__title {
20
+ position: absolute;
21
+ left: 0;
22
+ width: 100%;
23
+ text-align: center;
24
+ font-size: 20px;
25
+ padding: 0;
26
+ margin: 0;
27
+ }
28
+ }
29
+
30
+ .edit-site-list-header__right {
31
+ // Creating a stacking context so that it won't be covered by title.
32
+ position: relative;
33
+ }
34
+
35
+ .edit-site {
36
+ .edit-site-list {
37
+ .interface-interface-skeleton__editor {
38
+ min-width: 100%;
39
+
40
+ @include break-medium() {
41
+ min-width: 0;
42
+ }
43
+ }
44
+
45
+ .interface-interface-skeleton__content {
46
+ background: $white;
47
+ }
48
+ }
49
+ }
50
+
51
+ .edit-site-list-main {
52
+ display: flex;
53
+ align-items: center;
54
+ justify-content: center;
55
+ padding: $grid-unit-20;
56
+
57
+ @include break-medium() {
58
+ padding: $grid-unit * 9;
59
+ }
60
+ }
61
+
62
+ .edit-site-list-table {
63
+ width: 100%;
64
+ border: $border-width solid $gray-200;
65
+ border-radius: 2px;
66
+ margin: 0;
67
+ overflow: hidden;
68
+
69
+ li {
70
+ display: flex;
71
+ align-items: center;
72
+ padding: $grid-unit-20;
73
+ box-sizing: border-box;
74
+ border-top: $border-width solid $gray-100;
75
+ margin: 0;
76
+
77
+ @include break-medium() {
78
+ padding: $grid-unit-30 $grid-unit-40;
79
+ }
80
+
81
+ .edit-site-list-table-column:nth-child(1) {
82
+ width: calc(60% - 36px);
83
+
84
+ a {
85
+ display: block;
86
+ text-decoration: none;
87
+ font-weight: 500;
88
+ margin-bottom: $grid-unit-05;
89
+ }
90
+ }
91
+
92
+ .edit-site-list-table-column:nth-child(2) {
93
+ width: calc(40% - 36px);
94
+ }
95
+
96
+ .edit-site-list-table-column:nth-child(3) {
97
+ min-width: $button-size;
98
+ }
99
+ }
100
+
101
+ li.edit-site-list-table-head {
102
+ border-bottom: $border-width solid $gray-200;
103
+ font-size: 16px;
104
+ font-weight: 500;
105
+ text-align: left;
106
+ color: $black;
107
+ border-top: none;
108
+
109
+ & + li {
110
+ border-top: 0;
111
+ }
112
+ }
113
+ }
@@ -0,0 +1,133 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useSelect, useDispatch } from '@wordpress/data';
5
+ import { store as coreStore } from '@wordpress/core-data';
6
+ import { __, sprintf } from '@wordpress/i18n';
7
+ import {
8
+ VisuallyHidden,
9
+ FlexItem,
10
+ __experimentalHStack as HStack,
11
+ __experimentalHeading as Heading,
12
+ DropdownMenu,
13
+ MenuGroup,
14
+ MenuItem,
15
+ } from '@wordpress/components';
16
+ import { moreVertical } from '@wordpress/icons';
17
+ import { addQueryArgs } from '@wordpress/url';
18
+
19
+ /**
20
+ * Internal dependencies
21
+ */
22
+ import { store as editSiteStore } from '../../store';
23
+ import isTemplateRemovable from '../../utils/is-template-removable';
24
+
25
+ function Actions( { template, onClose } ) {
26
+ const { removeTemplate } = useDispatch( editSiteStore );
27
+
28
+ return (
29
+ <MenuGroup>
30
+ <MenuItem
31
+ onClick={ () => {
32
+ removeTemplate( template );
33
+ onClose();
34
+ } }
35
+ >
36
+ { __( 'Remove template' ) }
37
+ </MenuItem>
38
+ </MenuGroup>
39
+ );
40
+ }
41
+
42
+ export default function Table( { templateType } ) {
43
+ const { templates, isLoading, postType } = useSelect(
44
+ ( select ) => {
45
+ const {
46
+ getEntityRecords,
47
+ hasFinishedResolution,
48
+ getPostType,
49
+ } = select( coreStore );
50
+
51
+ return {
52
+ templates: getEntityRecords( 'postType', templateType ),
53
+ isLoading: ! hasFinishedResolution( 'getEntityRecords', [
54
+ 'postType',
55
+ templateType,
56
+ ] ),
57
+ postType: getPostType( templateType ),
58
+ };
59
+ },
60
+ [ templateType ]
61
+ );
62
+
63
+ if ( ! templates || isLoading ) {
64
+ return null;
65
+ }
66
+
67
+ if ( ! templates.length ) {
68
+ return (
69
+ <div>
70
+ { sprintf(
71
+ // translators: The template type name, should be either "templates" or "template parts".
72
+ __( 'No %s found.' ),
73
+ postType?.labels?.name?.toLowerCase()
74
+ ) }
75
+ </div>
76
+ );
77
+ }
78
+
79
+ return (
80
+ <ul className="edit-site-list-table">
81
+ <HStack className="edit-site-list-table-head" as="li">
82
+ <FlexItem className="edit-site-list-table-column">
83
+ <Heading level={ 4 }>{ __( 'Template' ) }</Heading>
84
+ </FlexItem>
85
+ <FlexItem className="edit-site-list-table-column">
86
+ <Heading level={ 4 }>{ __( 'Added by' ) }</Heading>
87
+ </FlexItem>
88
+ <FlexItem className="edit-site-list-table-column">
89
+ <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>
90
+ </FlexItem>
91
+ </HStack>
92
+
93
+ { templates.map( ( template ) => (
94
+ <li key={ template.id }>
95
+ <HStack className="edit-site-list-table-row">
96
+ <FlexItem className="edit-site-list-table-column">
97
+ <a
98
+ href={ addQueryArgs( '', {
99
+ page: 'gutenberg-edit-site',
100
+ postId: template.id,
101
+ postType: template.type,
102
+ } ) }
103
+ >
104
+ { template.title.rendered }
105
+ </a>
106
+ { template.description }
107
+ </FlexItem>
108
+
109
+ <FlexItem className="edit-site-list-table-column">
110
+ { template.theme }
111
+ </FlexItem>
112
+ <FlexItem className="edit-site-list-table-column">
113
+ { isTemplateRemovable( template ) && (
114
+ <DropdownMenu
115
+ icon={ moreVertical }
116
+ label={ __( 'Actions' ) }
117
+ className="edit-site-list-table__actions"
118
+ >
119
+ { ( { onClose } ) => (
120
+ <Actions
121
+ template={ template }
122
+ onClose={ onClose }
123
+ />
124
+ ) }
125
+ </DropdownMenu>
126
+ ) }
127
+ </FlexItem>
128
+ </HStack>
129
+ </li>
130
+ ) ) }
131
+ </ul>
132
+ );
133
+ }
@@ -1,30 +1,37 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
+ import { useState } from '@wordpress/element';
4
5
  import { createSlotFill } from '@wordpress/components';
5
- import { useSelect } from '@wordpress/data';
6
6
 
7
7
  /**
8
8
  * Internal dependencies
9
9
  */
10
10
  import NavigationPanel from './navigation-panel';
11
11
  import NavigationToggle from './navigation-toggle';
12
- import { store as editSiteStore } from '../../store';
13
12
 
14
13
  export const {
15
14
  Fill: NavigationPanelPreviewFill,
16
15
  Slot: NavigationPanelPreviewSlot,
17
16
  } = createSlotFill( 'EditSiteNavigationPanelPreview' );
18
17
 
19
- export default function NavigationSidebar() {
20
- const isNavigationOpen = useSelect( ( select ) => {
21
- return select( editSiteStore ).isNavigationOpened();
22
- }, [] );
18
+ export default function NavigationSidebar( {
19
+ defaultIsOpen = false,
20
+ activeTemplateType,
21
+ } ) {
22
+ const [ isNavigationOpen, setIsNavigationOpen ] = useState( defaultIsOpen );
23
23
 
24
24
  return (
25
25
  <>
26
- <NavigationToggle isOpen={ isNavigationOpen } />
27
- <NavigationPanel isOpen={ isNavigationOpen } />
26
+ <NavigationToggle
27
+ isOpen={ isNavigationOpen }
28
+ setIsOpen={ setIsNavigationOpen }
29
+ />
30
+ <NavigationPanel
31
+ isOpen={ isNavigationOpen }
32
+ setIsOpen={ setIsNavigationOpen }
33
+ activeTemplateType={ activeTemplateType }
34
+ />
28
35
  <NavigationPanelPreviewSlot />
29
36
  </>
30
37
  );
@@ -9,64 +9,33 @@ import classnames from 'classnames';
9
9
  import {
10
10
  __experimentalNavigation as Navigation,
11
11
  __experimentalNavigationBackButton as NavigationBackButton,
12
+ __experimentalNavigationGroup as NavigationGroup,
13
+ __experimentalNavigationItem as NavigationItem,
14
+ __experimentalNavigationMenu as NavigationMenu,
12
15
  } from '@wordpress/components';
13
16
  import { store as coreDataStore } from '@wordpress/core-data';
14
- import { useSelect, useDispatch } from '@wordpress/data';
17
+ import { useSelect } from '@wordpress/data';
15
18
  import { useEffect, useRef } from '@wordpress/element';
16
19
  import { __ } from '@wordpress/i18n';
17
20
  import { ESCAPE } from '@wordpress/keycodes';
18
21
  import { decodeEntities } from '@wordpress/html-entities';
22
+ import { addQueryArgs } from '@wordpress/url';
19
23
 
20
24
  /**
21
25
  * Internal dependencies
22
26
  */
23
- import SiteMenu from './menus';
24
27
  import MainDashboardButton from '../../main-dashboard-button';
25
- import { store as editSiteStore } from '../../../store';
26
- import { MENU_ROOT } from './constants';
27
28
 
28
- const NavigationPanel = ( { isOpen } ) => {
29
- const {
30
- page: { context: { postType, postId } = {} } = {},
31
- editedPostId,
32
- editedPostType,
33
- activeMenu,
34
- siteTitle,
35
- } = useSelect( ( select ) => {
36
- const {
37
- getEditedPostType,
38
- getEditedPostId,
39
- getNavigationPanelActiveMenu,
40
- getPage,
41
- } = select( editSiteStore );
29
+ const NavigationPanel = ( { isOpen, setIsOpen, activeTemplateType } ) => {
30
+ const siteTitle = useSelect( ( select ) => {
42
31
  const { getEntityRecord } = select( coreDataStore );
43
32
 
44
33
  const siteData =
45
34
  getEntityRecord( 'root', '__unstableBase', undefined ) || {};
46
35
 
47
- return {
48
- page: getPage(),
49
- editedPostId: getEditedPostId(),
50
- editedPostType: getEditedPostType(),
51
- activeMenu: getNavigationPanelActiveMenu(),
52
- siteTitle: siteData.name,
53
- };
36
+ return siteData.name;
54
37
  }, [] );
55
38
 
56
- const {
57
- setNavigationPanelActiveMenu: setActive,
58
- setIsNavigationPanelOpened,
59
- } = useDispatch( editSiteStore );
60
-
61
- let activeItem;
62
- if ( activeMenu !== MENU_ROOT ) {
63
- if ( activeMenu.startsWith( 'content' ) ) {
64
- activeItem = `${ postType }-${ postId }`;
65
- } else {
66
- activeItem = `${ editedPostType }-${ editedPostId }`;
67
- }
68
- }
69
-
70
39
  // Ensures focus is moved to the panel area when it is activated
71
40
  // from a separate component (such as document actions in the header).
72
41
  const panelRef = useRef();
@@ -74,12 +43,12 @@ const NavigationPanel = ( { isOpen } ) => {
74
43
  if ( isOpen ) {
75
44
  panelRef.current.focus();
76
45
  }
77
- }, [ activeMenu, isOpen ] );
46
+ }, [ activeTemplateType, isOpen ] );
78
47
 
79
48
  const closeOnEscape = ( event ) => {
80
49
  if ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {
81
50
  event.preventDefault();
82
- setIsNavigationPanelOpened( false );
51
+ setIsOpen( false );
83
52
  }
84
53
  };
85
54
 
@@ -100,21 +69,41 @@ const NavigationPanel = ( { isOpen } ) => {
100
69
  </div>
101
70
  </div>
102
71
  <div className="edit-site-navigation-panel__scroll-container">
103
- <Navigation
104
- activeItem={ activeItem }
105
- activeMenu={ activeMenu }
106
- onActivateMenu={ setActive }
107
- >
108
- { activeMenu === MENU_ROOT && (
109
- <MainDashboardButton.Slot>
110
- <NavigationBackButton
111
- backButtonLabel={ __( 'Dashboard' ) }
112
- className="edit-site-navigation-panel__back-to-dashboard"
113
- href="index.php"
72
+ <Navigation activeItem={ activeTemplateType }>
73
+ <MainDashboardButton.Slot>
74
+ <NavigationBackButton
75
+ backButtonLabel={ __( 'Dashboard' ) }
76
+ className="edit-site-navigation-panel__back-to-dashboard"
77
+ href="index.php"
78
+ />
79
+ </MainDashboardButton.Slot>
80
+
81
+ <NavigationMenu>
82
+ <NavigationGroup title={ __( 'Editor' ) }>
83
+ <NavigationItem
84
+ title={ __( 'Site' ) }
85
+ href={ addQueryArgs( '', {
86
+ page: 'gutenberg-edit-site',
87
+ } ) }
88
+ />
89
+ <NavigationItem
90
+ title={ __( 'Templates' ) }
91
+ item="wp_template"
92
+ href={ addQueryArgs( '', {
93
+ page: 'gutenberg-edit-site',
94
+ postType: 'wp_template',
95
+ } ) }
96
+ />
97
+ <NavigationItem
98
+ title={ __( 'Template Parts' ) }
99
+ item="wp_template_part"
100
+ href={ addQueryArgs( '', {
101
+ page: 'gutenberg-edit-site',
102
+ postType: 'wp_template_part',
103
+ } ) }
114
104
  />
115
- </MainDashboardButton.Slot>
116
- ) }
117
- <SiteMenu />
105
+ </NavigationGroup>
106
+ </NavigationMenu>
118
107
  </Navigation>
119
108
  </div>
120
109
  </div>
@@ -9,8 +9,10 @@
9
9
  @include reduce-motion("transition");
10
10
 
11
11
  // Footer is visible from medium so we subtract footer's height
12
- @include break-medium() {
13
- height: calc(100% - #{$button-size-small + $border-width});
12
+ .interface-interface-skeleton.has-footer & {
13
+ @include break-medium() {
14
+ height: calc(100% - #{$button-size-small + $border-width});
15
+ }
14
16
  }
15
17
  }
16
18
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useDispatch, useSelect } from '@wordpress/data';
4
+ import { useSelect } from '@wordpress/data';
5
5
  import {
6
6
  Button,
7
7
  Icon,
@@ -12,20 +12,8 @@ import { wordpress } from '@wordpress/icons';
12
12
  import { store as coreDataStore } from '@wordpress/core-data';
13
13
  import { useReducedMotion } from '@wordpress/compose';
14
14
 
15
- /**
16
- * Internal dependencies
17
- */
18
- import { store as editSiteStore } from '../../../store';
19
-
20
- function NavigationToggle( { icon, isOpen } ) {
21
- const {
22
- isRequestingSiteIcon,
23
- navigationPanelMenu,
24
- siteIconUrl,
25
- } = useSelect( ( select ) => {
26
- const { getCurrentTemplateNavigationPanelSubMenu } = select(
27
- editSiteStore
28
- );
15
+ function NavigationToggle( { icon, isOpen, setIsOpen } ) {
16
+ const { isRequestingSiteIcon, siteIconUrl } = useSelect( ( select ) => {
29
17
  const { getEntityRecord, isResolving } = select( coreDataStore );
30
18
  const siteData =
31
19
  getEntityRecord( 'root', '__unstableBase', undefined ) || {};
@@ -36,25 +24,13 @@ function NavigationToggle( { icon, isOpen } ) {
36
24
  '__unstableBase',
37
25
  undefined,
38
26
  ] ),
39
- navigationPanelMenu: getCurrentTemplateNavigationPanelSubMenu(),
40
27
  siteIconUrl: siteData.site_icon_url,
41
28
  };
42
29
  }, [] );
43
30
 
44
- const {
45
- openNavigationPanelToMenu,
46
- setIsNavigationPanelOpened,
47
- } = useDispatch( editSiteStore );
48
-
49
31
  const disableMotion = useReducedMotion();
50
32
 
51
- const toggleNavigationPanel = () => {
52
- if ( isOpen ) {
53
- setIsNavigationPanelOpened( false );
54
- return;
55
- }
56
- openNavigationPanelToMenu( navigationPanelMenu );
57
- };
33
+ const toggleNavigationPanel = () => setIsOpen( ( open ) => ! open );
58
34
 
59
35
  let buttonIcon = <Icon size="36px" icon={ wordpress } />;
60
36
 
@@ -90,9 +90,10 @@ export default function TemplateDetails( { template, onClose } ) {
90
90
 
91
91
  <Button
92
92
  className="edit-site-template-details__show-all-button"
93
- href={ addQueryArgs( 'edit.php', {
93
+ href={ addQueryArgs( '', {
94
+ page: 'gutenberg-edit-site',
94
95
  // TODO: We should update this to filter by template part's areas as well.
95
- post_type: template.type,
96
+ postType: template.type,
96
97
  } ) }
97
98
  >
98
99
  { sprintf(