@wordpress/edit-site 5.28.5 → 5.30.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 (446) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/actions/index.js +1 -1
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/block-editor/editor-canvas.js +10 -11
  5. package/build/components/block-editor/editor-canvas.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +2 -1
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/code-editor/index.js +3 -2
  9. package/build/components/code-editor/index.js.map +1 -1
  10. package/build/components/editor/index.js +5 -19
  11. package/build/components/editor/index.js.map +1 -1
  12. package/build/components/editor-canvas-container/index.js +1 -1
  13. package/build/components/editor-canvas-container/index.js.map +1 -1
  14. package/build/components/global-styles/color-palette-panel.js +9 -0
  15. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  16. package/build/components/global-styles/font-families.js +1 -1
  17. package/build/components/global-styles/font-families.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  19. package/build/components/global-styles/font-library-modal/context.js +11 -0
  20. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  21. package/build/components/global-styles/font-library-modal/font-collection.js +5 -16
  22. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  23. package/build/components/global-styles/font-library-modal/index.js +2 -2
  24. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  25. package/build/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  26. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  27. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  29. package/build/components/global-styles/font-library-modal/utils/index.js +27 -0
  30. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  31. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +1 -1
  32. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  33. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  34. package/build/components/global-styles/header.js +1 -1
  35. package/build/components/global-styles/header.js.map +1 -1
  36. package/build/components/global-styles/highlighted-colors.js +50 -0
  37. package/build/components/global-styles/highlighted-colors.js.map +1 -0
  38. package/build/components/global-styles/preview-colors.js +62 -0
  39. package/build/components/global-styles/preview-colors.js.map +1 -0
  40. package/build/components/global-styles/preview-iframe.js +131 -0
  41. package/build/components/global-styles/preview-iframe.js.map +1 -0
  42. package/build/components/global-styles/preview-styles.js +163 -0
  43. package/build/components/global-styles/preview-styles.js.map +1 -0
  44. package/build/components/global-styles/preview-typography.js +65 -0
  45. package/build/components/global-styles/preview-typography.js.map +1 -0
  46. package/build/components/global-styles/screen-block-list.js +1 -1
  47. package/build/components/global-styles/screen-block-list.js.map +1 -1
  48. package/build/components/global-styles/screen-block.js +1 -1
  49. package/build/components/global-styles/screen-block.js.map +1 -1
  50. package/build/components/global-styles/screen-colors.js +10 -2
  51. package/build/components/global-styles/screen-colors.js.map +1 -1
  52. package/build/components/global-styles/screen-root.js +2 -2
  53. package/build/components/global-styles/screen-root.js.map +1 -1
  54. package/build/components/global-styles/screen-typography.js +10 -2
  55. package/build/components/global-styles/screen-typography.js.map +1 -1
  56. package/build/components/global-styles/style-variations-container.js +12 -84
  57. package/build/components/global-styles/style-variations-container.js.map +1 -1
  58. package/build/components/global-styles/{typogrphy-elements.js → typography-elements.js} +1 -1
  59. package/build/components/global-styles/typography-elements.js.map +1 -0
  60. package/build/components/global-styles/utils.js +22 -0
  61. package/build/components/global-styles/utils.js.map +1 -1
  62. package/build/components/global-styles/variations/variation.js +90 -0
  63. package/build/components/global-styles/variations/variation.js.map +1 -0
  64. package/build/components/global-styles/variations/variations-color.js +36 -0
  65. package/build/components/global-styles/variations/variations-color.js.map +1 -0
  66. package/build/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
  67. package/build/components/global-styles/variations/variations-panel.js.map +1 -0
  68. package/build/components/global-styles/variations/variations-typography.js +64 -0
  69. package/build/components/global-styles/variations/variations-typography.js.map +1 -0
  70. package/build/components/header-edit-mode/document-tools/index.js +1 -2
  71. package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
  72. package/build/components/header-edit-mode/index.js +16 -13
  73. package/build/components/header-edit-mode/index.js.map +1 -1
  74. package/build/components/header-edit-mode/more-menu/index.js +17 -6
  75. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  76. package/build/components/keyboard-shortcuts/edit-mode.js +0 -13
  77. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  78. package/build/components/keyboard-shortcuts/register.js +0 -18
  79. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  80. package/build/components/layout/index.js +4 -2
  81. package/build/components/layout/index.js.map +1 -1
  82. package/build/components/page-patterns/dataviews-pattern-actions.js +25 -8
  83. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  84. package/build/components/page-patterns/header.js +2 -1
  85. package/build/components/page-patterns/header.js.map +1 -1
  86. package/build/components/page-patterns/index.js +0 -1
  87. package/build/components/page-patterns/index.js.map +1 -1
  88. package/build/components/{list/added-by.js → page-templates-template-parts/hooks.js} +1 -61
  89. package/build/components/page-templates-template-parts/hooks.js.map +1 -0
  90. package/build/components/page-templates-template-parts/index.js +14 -6
  91. package/build/components/page-templates-template-parts/index.js.map +1 -1
  92. package/build/components/revisions/index.js.map +1 -1
  93. package/build/components/save-button/index.js +2 -1
  94. package/build/components/save-button/index.js.map +1 -1
  95. package/build/components/save-panel/index.js +18 -3
  96. package/build/components/save-panel/index.js.map +1 -1
  97. package/build/components/sidebar/index.js +1 -1
  98. package/build/components/sidebar/index.js.map +1 -1
  99. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
  100. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  101. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  102. package/build/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
  103. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  104. package/build/components/sidebar-edit-mode/template-panel/index.js +48 -5
  105. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  106. package/build/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
  107. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-global-styles/index.js +6 -2
  109. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  110. package/build/components/sidebar-navigation-screen-main/index.js +1 -2
  111. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  112. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  113. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -3
  114. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  115. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  116. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  117. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +2 -2
  118. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  119. package/build/components/sidebar-navigation-screen-template/index.js +2 -2
  120. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  121. package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  122. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  123. package/build/components/start-template-options/index.js.map +1 -1
  124. package/build/hooks/commands/use-edit-mode-commands.js +3 -171
  125. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  126. package/build/hooks/index.js +0 -1
  127. package/build/hooks/index.js.map +1 -1
  128. package/build/hooks/push-changes-to-global-styles/index.js +4 -5
  129. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  130. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +156 -0
  131. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
  132. package/build/store/actions.js +19 -50
  133. package/build/store/actions.js.map +1 -1
  134. package/build/utils/clone-deep.js +15 -0
  135. package/build/utils/clone-deep.js.map +1 -0
  136. package/build-module/components/actions/index.js +1 -1
  137. package/build-module/components/actions/index.js.map +1 -1
  138. package/build-module/components/block-editor/editor-canvas.js +10 -11
  139. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  140. package/build-module/components/block-editor/use-site-editor-settings.js +2 -1
  141. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  142. package/build-module/components/code-editor/index.js +3 -2
  143. package/build-module/components/code-editor/index.js.map +1 -1
  144. package/build-module/components/editor/index.js +6 -20
  145. package/build-module/components/editor/index.js.map +1 -1
  146. package/build-module/components/editor-canvas-container/index.js +2 -2
  147. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  148. package/build-module/components/global-styles/color-palette-panel.js +8 -0
  149. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  150. package/build-module/components/global-styles/font-families.js +1 -1
  151. package/build-module/components/global-styles/font-families.js.map +1 -1
  152. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  153. package/build-module/components/global-styles/font-library-modal/context.js +12 -1
  154. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  155. package/build-module/components/global-styles/font-library-modal/font-collection.js +7 -18
  156. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  157. package/build-module/components/global-styles/font-library-modal/index.js +2 -2
  158. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  159. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  160. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  161. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  162. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  163. package/build-module/components/global-styles/font-library-modal/utils/index.js +26 -0
  164. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  165. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +1 -1
  166. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  167. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  168. package/build-module/components/global-styles/header.js +1 -1
  169. package/build-module/components/global-styles/header.js.map +1 -1
  170. package/build-module/components/global-styles/highlighted-colors.js +43 -0
  171. package/build-module/components/global-styles/highlighted-colors.js.map +1 -0
  172. package/build-module/components/global-styles/preview-colors.js +54 -0
  173. package/build-module/components/global-styles/preview-colors.js.map +1 -0
  174. package/build-module/components/global-styles/preview-iframe.js +124 -0
  175. package/build-module/components/global-styles/preview-iframe.js.map +1 -0
  176. package/build-module/components/global-styles/preview-styles.js +155 -0
  177. package/build-module/components/global-styles/preview-styles.js.map +1 -0
  178. package/build-module/components/global-styles/preview-typography.js +58 -0
  179. package/build-module/components/global-styles/preview-typography.js.map +1 -0
  180. package/build-module/components/global-styles/screen-block-list.js +1 -1
  181. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  182. package/build-module/components/global-styles/screen-block.js +1 -1
  183. package/build-module/components/global-styles/screen-block.js.map +1 -1
  184. package/build-module/components/global-styles/screen-colors.js +10 -2
  185. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  186. package/build-module/components/global-styles/screen-root.js +2 -2
  187. package/build-module/components/global-styles/screen-root.js.map +1 -1
  188. package/build-module/components/global-styles/screen-typography.js +10 -2
  189. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  190. package/build-module/components/global-styles/style-variations-container.js +13 -85
  191. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  192. package/build-module/components/global-styles/{typogrphy-elements.js → typography-elements.js} +1 -1
  193. package/build-module/components/global-styles/typography-elements.js.map +1 -0
  194. package/build-module/components/global-styles/utils.js +21 -0
  195. package/build-module/components/global-styles/utils.js.map +1 -1
  196. package/build-module/components/global-styles/variations/variation.js +82 -0
  197. package/build-module/components/global-styles/variations/variation.js.map +1 -0
  198. package/build-module/components/global-styles/variations/variations-color.js +28 -0
  199. package/build-module/components/global-styles/variations/variations-color.js.map +1 -0
  200. package/build-module/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
  201. package/build-module/components/global-styles/variations/variations-panel.js.map +1 -0
  202. package/build-module/components/global-styles/variations/variations-typography.js +56 -0
  203. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -0
  204. package/build-module/components/header-edit-mode/document-tools/index.js +1 -2
  205. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
  206. package/build-module/components/header-edit-mode/index.js +17 -14
  207. package/build-module/components/header-edit-mode/index.js.map +1 -1
  208. package/build-module/components/header-edit-mode/more-menu/index.js +19 -8
  209. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  210. package/build-module/components/keyboard-shortcuts/edit-mode.js +0 -13
  211. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  212. package/build-module/components/keyboard-shortcuts/register.js +0 -18
  213. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  214. package/build-module/components/layout/index.js +5 -3
  215. package/build-module/components/layout/index.js.map +1 -1
  216. package/build-module/components/page-patterns/dataviews-pattern-actions.js +25 -8
  217. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  218. package/build-module/components/page-patterns/header.js +2 -1
  219. package/build-module/components/page-patterns/header.js.map +1 -1
  220. package/build-module/components/page-patterns/index.js +0 -1
  221. package/build-module/components/page-patterns/index.js.map +1 -1
  222. package/build-module/components/{list/added-by.js → page-templates-template-parts/hooks.js} +2 -59
  223. package/build-module/components/page-templates-template-parts/hooks.js.map +1 -0
  224. package/build-module/components/page-templates-template-parts/index.js +13 -5
  225. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  226. package/build-module/components/revisions/index.js.map +1 -1
  227. package/build-module/components/save-button/index.js +2 -1
  228. package/build-module/components/save-button/index.js.map +1 -1
  229. package/build-module/components/save-panel/index.js +18 -3
  230. package/build-module/components/save-panel/index.js.map +1 -1
  231. package/build-module/components/sidebar/index.js +1 -1
  232. package/build-module/components/sidebar/index.js.map +1 -1
  233. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
  234. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  235. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  236. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
  237. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  238. package/build-module/components/sidebar-edit-mode/template-panel/index.js +50 -7
  239. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  240. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
  241. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  242. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -2
  243. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  244. package/build-module/components/sidebar-navigation-screen-main/index.js +1 -2
  245. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  246. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  247. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -3
  248. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  249. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  250. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  251. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  252. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  253. package/build-module/components/sidebar-navigation-screen-template/index.js +1 -1
  254. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  255. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
  256. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  257. package/build-module/components/start-template-options/index.js.map +1 -1
  258. package/build-module/hooks/commands/use-edit-mode-commands.js +4 -172
  259. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  260. package/build-module/hooks/index.js +0 -1
  261. package/build-module/hooks/index.js.map +1 -1
  262. package/build-module/hooks/push-changes-to-global-styles/index.js +1 -3
  263. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  264. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +144 -0
  265. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
  266. package/build-module/store/actions.js +19 -50
  267. package/build-module/store/actions.js.map +1 -1
  268. package/build-module/utils/clone-deep.js +9 -0
  269. package/build-module/utils/clone-deep.js.map +1 -0
  270. package/build-style/style-rtl.css +152 -472
  271. package/build-style/style.css +152 -472
  272. package/package.json +43 -42
  273. package/src/components/actions/index.js +1 -1
  274. package/src/components/block-editor/editor-canvas.js +13 -12
  275. package/src/components/block-editor/style.scss +0 -3
  276. package/src/components/block-editor/use-site-editor-settings.js +1 -0
  277. package/src/components/code-editor/index.js +3 -2
  278. package/src/components/editor/index.js +10 -27
  279. package/src/components/editor-canvas-container/index.js +2 -5
  280. package/src/components/{test → error-boundary/test}/error-boundary.js +7 -5
  281. package/src/components/global-styles/color-palette-panel.js +11 -1
  282. package/src/components/global-styles/font-families.js +1 -1
  283. package/src/components/global-styles/font-library-modal/collection-font-variant.js +1 -1
  284. package/src/components/global-styles/font-library-modal/context.js +24 -0
  285. package/src/components/global-styles/font-library-modal/font-collection.js +7 -24
  286. package/src/components/global-styles/font-library-modal/index.js +2 -2
  287. package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  288. package/src/components/global-styles/font-library-modal/library-font-variant.js +1 -1
  289. package/src/components/global-styles/font-library-modal/upload-fonts.js +1 -1
  290. package/src/components/global-styles/font-library-modal/utils/index.js +34 -0
  291. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +2 -1
  292. package/src/components/global-styles/gradients-palette-panel.js +2 -2
  293. package/src/components/global-styles/header.js +1 -1
  294. package/src/components/global-styles/highlighted-colors.js +39 -0
  295. package/src/components/global-styles/preview-colors.js +61 -0
  296. package/src/components/global-styles/preview-iframe.js +153 -0
  297. package/src/components/global-styles/preview-styles.js +185 -0
  298. package/src/components/global-styles/preview-typography.js +62 -0
  299. package/src/components/global-styles/screen-block-list.js +1 -1
  300. package/src/components/global-styles/screen-block.js +4 -1
  301. package/src/components/global-styles/screen-colors.js +13 -1
  302. package/src/components/global-styles/screen-revisions/style.scss +2 -2
  303. package/src/components/global-styles/screen-root.js +2 -2
  304. package/src/components/global-styles/screen-typography.js +19 -2
  305. package/src/components/global-styles/style-variations-container.js +14 -92
  306. package/src/components/global-styles/style.scss +1 -35
  307. package/src/components/global-styles/utils.js +37 -0
  308. package/src/components/global-styles/variations/style.scss +44 -0
  309. package/src/components/global-styles/variations/variation.js +93 -0
  310. package/src/components/global-styles/variations/variations-color.js +30 -0
  311. package/src/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
  312. package/src/components/global-styles/variations/variations-typography.js +85 -0
  313. package/src/components/header-edit-mode/document-tools/index.js +1 -2
  314. package/src/components/header-edit-mode/index.js +22 -31
  315. package/src/components/header-edit-mode/more-menu/index.js +25 -11
  316. package/src/components/header-edit-mode/style.scss +4 -0
  317. package/src/components/keyboard-shortcuts/edit-mode.js +0 -11
  318. package/src/components/keyboard-shortcuts/register.js +0 -19
  319. package/src/components/layout/index.js +5 -2
  320. package/src/components/page-patterns/dataviews-pattern-actions.js +41 -10
  321. package/src/components/page-patterns/header.js +1 -0
  322. package/src/components/page-patterns/index.js +1 -2
  323. package/src/components/page-patterns/style.scss +0 -182
  324. package/src/components/{list/added-by.js → page-templates-template-parts/hooks.js} +1 -66
  325. package/src/components/page-templates-template-parts/index.js +20 -3
  326. package/src/components/page-templates-template-parts/style.scss +48 -0
  327. package/src/components/revisions/index.js +1 -1
  328. package/src/components/save-button/index.js +2 -1
  329. package/src/components/save-hub/style.scss +1 -1
  330. package/src/components/save-panel/index.js +34 -12
  331. package/src/components/sidebar/index.js +1 -1
  332. package/src/components/sidebar-button/style.scss +1 -1
  333. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +5 -7
  334. package/src/components/sidebar-edit-mode/page-panels/page-status.js +1 -1
  335. package/src/components/sidebar-edit-mode/style.scss +4 -0
  336. package/src/components/sidebar-edit-mode/template-panel/hooks.js +37 -24
  337. package/src/components/sidebar-edit-mode/template-panel/index.js +76 -18
  338. package/src/components/sidebar-edit-mode/template-panel/style.scss +5 -14
  339. package/src/components/sidebar-edit-mode/template-panel/template-actions.js +1 -12
  340. package/src/components/sidebar-navigation-screen-global-styles/index.js +4 -1
  341. package/src/components/sidebar-navigation-screen-main/index.js +0 -2
  342. package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +1 -1
  343. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -2
  344. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +1 -1
  345. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +1 -1
  346. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  347. package/src/components/sidebar-navigation-screen-template/index.js +1 -1
  348. package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
  349. package/src/components/start-template-options/index.js +1 -1
  350. package/src/hooks/commands/use-edit-mode-commands.js +3 -184
  351. package/src/hooks/index.js +0 -1
  352. package/src/hooks/push-changes-to-global-styles/index.js +1 -4
  353. package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +1137 -0
  354. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +159 -0
  355. package/src/store/actions.js +21 -85
  356. package/src/store/test/actions.js +0 -75
  357. package/src/style.scss +3 -8
  358. package/src/utils/clone-deep.js +8 -0
  359. package/build/components/global-styles/preview.js +0 -271
  360. package/build/components/global-styles/preview.js.map +0 -1
  361. package/build/components/global-styles/typogrphy-elements.js.map +0 -1
  362. package/build/components/global-styles/variations-panel.js.map +0 -1
  363. package/build/components/header-edit-mode/mode-switcher/index.js +0 -62
  364. package/build/components/header-edit-mode/mode-switcher/index.js.map +0 -1
  365. package/build/components/list/added-by.js.map +0 -1
  366. package/build/components/list/header.js +0 -55
  367. package/build/components/list/header.js.map +0 -1
  368. package/build/components/list/index.js +0 -80
  369. package/build/components/list/index.js.map +0 -1
  370. package/build/components/list/table.js +0 -94
  371. package/build/components/list/table.js.map +0 -1
  372. package/build/components/list/use-register-shortcuts.js +0 -51
  373. package/build/components/list/use-register-shortcuts.js.map +0 -1
  374. package/build/components/page-patterns/duplicate-menu-item.js +0 -93
  375. package/build/components/page-patterns/duplicate-menu-item.js.map +0 -1
  376. package/build/components/page-patterns/grid-item.js +0 -223
  377. package/build/components/page-patterns/grid-item.js.map +0 -1
  378. package/build/components/page-patterns/grid.js +0 -31
  379. package/build/components/page-patterns/grid.js.map +0 -1
  380. package/build/components/page-patterns/no-patterns.js +0 -18
  381. package/build/components/page-patterns/no-patterns.js.map +0 -1
  382. package/build/components/page-patterns/patterns-list.js +0 -168
  383. package/build/components/page-patterns/patterns-list.js.map +0 -1
  384. package/build/components/page-patterns/rename-menu-item.js +0 -105
  385. package/build/components/page-patterns/rename-menu-item.js.map +0 -1
  386. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -83
  387. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
  388. package/build/components/sidebar-navigation-screen-main/template-part-hint.js +0 -36
  389. package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +0 -1
  390. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -36
  391. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +0 -1
  392. package/build/hooks/navigation-menu-edit.js +0 -82
  393. package/build/hooks/navigation-menu-edit.js.map +0 -1
  394. package/build-module/components/global-styles/preview.js +0 -264
  395. package/build-module/components/global-styles/preview.js.map +0 -1
  396. package/build-module/components/global-styles/typogrphy-elements.js.map +0 -1
  397. package/build-module/components/global-styles/variations-panel.js.map +0 -1
  398. package/build-module/components/header-edit-mode/mode-switcher/index.js +0 -56
  399. package/build-module/components/header-edit-mode/mode-switcher/index.js.map +0 -1
  400. package/build-module/components/list/added-by.js.map +0 -1
  401. package/build-module/components/list/header.js +0 -47
  402. package/build-module/components/list/header.js.map +0 -1
  403. package/build-module/components/list/index.js +0 -72
  404. package/build-module/components/list/index.js.map +0 -1
  405. package/build-module/components/list/table.js +0 -86
  406. package/build-module/components/list/table.js.map +0 -1
  407. package/build-module/components/list/use-register-shortcuts.js +0 -45
  408. package/build-module/components/list/use-register-shortcuts.js.map +0 -1
  409. package/build-module/components/page-patterns/duplicate-menu-item.js +0 -85
  410. package/build-module/components/page-patterns/duplicate-menu-item.js.map +0 -1
  411. package/build-module/components/page-patterns/grid-item.js +0 -215
  412. package/build-module/components/page-patterns/grid-item.js.map +0 -1
  413. package/build-module/components/page-patterns/grid.js +0 -23
  414. package/build-module/components/page-patterns/grid.js.map +0 -1
  415. package/build-module/components/page-patterns/no-patterns.js +0 -11
  416. package/build-module/components/page-patterns/no-patterns.js.map +0 -1
  417. package/build-module/components/page-patterns/patterns-list.js +0 -160
  418. package/build-module/components/page-patterns/patterns-list.js.map +0 -1
  419. package/build-module/components/page-patterns/rename-menu-item.js +0 -98
  420. package/build-module/components/page-patterns/rename-menu-item.js.map +0 -1
  421. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -76
  422. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
  423. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +0 -29
  424. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +0 -1
  425. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -27
  426. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +0 -1
  427. package/build-module/hooks/navigation-menu-edit.js +0 -75
  428. package/build-module/hooks/navigation-menu-edit.js.map +0 -1
  429. package/src/components/global-styles/preview.js +0 -327
  430. package/src/components/header-edit-mode/mode-switcher/index.js +0 -60
  431. package/src/components/list/header.js +0 -48
  432. package/src/components/list/index.js +0 -87
  433. package/src/components/list/style.scss +0 -188
  434. package/src/components/list/table.js +0 -140
  435. package/src/components/list/use-register-shortcuts.js +0 -49
  436. package/src/components/page-patterns/duplicate-menu-item.js +0 -105
  437. package/src/components/page-patterns/grid-item.js +0 -331
  438. package/src/components/page-patterns/grid.js +0 -22
  439. package/src/components/page-patterns/no-patterns.js +0 -12
  440. package/src/components/page-patterns/patterns-list.js +0 -229
  441. package/src/components/page-patterns/rename-menu-item.js +0 -132
  442. package/src/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -89
  443. package/src/components/sidebar-navigation-screen-main/template-part-hint.js +0 -34
  444. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -22
  445. package/src/hooks/navigation-menu-edit.js +0 -92
  446. /package/src/components/global-styles/{typogrphy-elements.js → typography-elements.js} +0 -0
@@ -1,87 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { store as coreStore } from '@wordpress/core-data';
5
- import { useSelect } from '@wordpress/data';
6
- import { InterfaceSkeleton } from '@wordpress/interface';
7
- import { __, sprintf } from '@wordpress/i18n';
8
- import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
9
- import { EditorSnackbars } from '@wordpress/editor';
10
- import { privateApis as routerPrivateApis } from '@wordpress/router';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import useRegisterShortcuts from './use-register-shortcuts';
16
- import Header from './header';
17
- import Table from './table';
18
- import useTitle from '../routes/use-title';
19
- import { unlock } from '../../lock-unlock';
20
- import {
21
- TEMPLATE_POST_TYPE,
22
- TEMPLATE_PART_POST_TYPE,
23
- } from '../../utils/constants';
24
-
25
- const { useLocation } = unlock( routerPrivateApis );
26
-
27
- export default function List() {
28
- const {
29
- params: { path },
30
- } = useLocation();
31
- const templateType =
32
- path === '/wp_template/all'
33
- ? TEMPLATE_POST_TYPE
34
- : TEMPLATE_PART_POST_TYPE;
35
-
36
- useRegisterShortcuts();
37
-
38
- const { previousShortcut, nextShortcut } = useSelect( ( select ) => {
39
- return {
40
- previousShortcut: select(
41
- keyboardShortcutsStore
42
- ).getAllShortcutKeyCombinations( 'core/edit-site/previous-region' ),
43
- nextShortcut: select(
44
- keyboardShortcutsStore
45
- ).getAllShortcutKeyCombinations( 'core/edit-site/next-region' ),
46
- };
47
- }, [] );
48
-
49
- const postType = useSelect(
50
- ( select ) => select( coreStore ).getPostType( templateType ),
51
- [ templateType ]
52
- );
53
-
54
- useTitle( postType?.labels?.name );
55
-
56
- // `postType` could load in asynchronously. Only provide the detailed region labels if
57
- // the postType has loaded, otherwise `InterfaceSkeleton` will fallback to the defaults.
58
- const itemsListLabel = postType?.labels?.items_list;
59
- const detailedRegionLabels = postType
60
- ? {
61
- header: sprintf(
62
- // translators: %s - the name of the page, 'Header' as in the header area of that page.
63
- __( '%s - Header' ),
64
- itemsListLabel
65
- ),
66
- body: sprintf(
67
- // translators: %s - the name of the page, 'Content' as in the content area of that page.
68
- __( '%s - Content' ),
69
- itemsListLabel
70
- ),
71
- }
72
- : undefined;
73
-
74
- return (
75
- <InterfaceSkeleton
76
- className="edit-site-list"
77
- labels={ detailedRegionLabels }
78
- header={ <Header templateType={ templateType } /> }
79
- notices={ <EditorSnackbars /> }
80
- content={ <Table templateType={ templateType } /> }
81
- shortcuts={ {
82
- previous: previousShortcut,
83
- next: nextShortcut,
84
- } }
85
- />
86
- );
87
- }
@@ -1,188 +0,0 @@
1
- .edit-site-list-header {
2
- position: relative;
3
- align-items: center;
4
- display: flex;
5
- height: $header-height;
6
- box-sizing: border-box;
7
- width: 100%;
8
- justify-content: flex-end;
9
- padding-right: $grid-unit-20;
10
-
11
- body.is-fullscreen-mode & {
12
- padding-left: 60px;
13
- transition: padding-left 20ms linear;
14
- transition-delay: 80ms;
15
- @include reduce-motion("transition");
16
- }
17
-
18
- .edit-site-list-header__title {
19
- position: absolute;
20
- left: 0;
21
- width: 100%;
22
- text-align: center;
23
- font-size: 20px;
24
- padding: 0;
25
- margin: 0;
26
- }
27
- }
28
-
29
- .edit-site-list-header__right {
30
- // Creating a stacking context so that it won't be covered by title.
31
- position: relative;
32
- }
33
-
34
- .edit-site {
35
- .edit-site-list {
36
- flex-grow: 1;
37
- background: $white;
38
- border-radius: $radius-block-ui * 4;
39
- box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.8), 0 8px 10px -6px rgba(0, 0, 0, 0.8);
40
-
41
- .interface-interface-skeleton__editor {
42
- min-width: 100%;
43
-
44
- @include break-medium() {
45
- min-width: 0;
46
- }
47
- }
48
-
49
- .interface-interface-skeleton__content {
50
- background: $white;
51
- padding: $grid-unit-20;
52
- align-items: center;
53
-
54
- @include break-medium() {
55
- padding: $grid-unit * 9;
56
- }
57
- }
58
- }
59
- }
60
-
61
- .edit-site-list-table {
62
- min-width: 100%;
63
- border: $border-width solid $gray-300;
64
- border-radius: 2px;
65
- margin: 0 auto;
66
- overflow: hidden;
67
- border-spacing: 0;
68
- max-width: 960px;
69
-
70
- tr {
71
- display: flex;
72
- align-items: center;
73
- padding: $grid-unit-20;
74
- box-sizing: border-box;
75
- border-top: $border-width solid $gray-100;
76
- margin: 0;
77
-
78
- &:first-child {
79
- border-top: 0;
80
- }
81
-
82
- @include break-medium() {
83
- padding: $grid-unit-30 $grid-unit-40;
84
- }
85
-
86
- // Template.
87
- .edit-site-list-table-column:nth-child(1) {
88
- width: calc(60% - 18px);
89
- padding-right: $grid-unit-30;
90
-
91
- a {
92
- display: inline-block;
93
- text-decoration: none;
94
- font-weight: 500;
95
- margin-bottom: $grid-unit-05;
96
- }
97
- }
98
-
99
- // Added by.
100
- .edit-site-list-table-column:nth-child(2) {
101
- width: calc(40% - 18px);
102
- word-break: break-word;
103
- }
104
-
105
- // Actions.
106
- .edit-site-list-table-column:nth-child(3) {
107
- min-width: $button-size;
108
- flex-shrink: 0;
109
- }
110
- }
111
-
112
- tr.edit-site-list-table-head {
113
- font-size: 16px;
114
- font-weight: 600;
115
- text-align: left;
116
- color: $gray-900;
117
- border-top: none;
118
- border-bottom: $border-width solid $gray-300;
119
-
120
- th {
121
- font-weight: inherit;
122
- }
123
- }
124
- }
125
-
126
- .edit-site-list.is-navigation-open .components-snackbar-list {
127
- @include break-medium() {
128
- margin-left: $nav-sidebar-width;
129
- }
130
- }
131
-
132
- .edit-site-list__rename-modal {
133
- // The rename dropdown popover is open at the same time as the rename modal. The latter has to be higher.
134
- z-index: z-index(".edit-site-list__rename-modal");
135
- .components-base-control {
136
- @include break-medium() {
137
- width: $grid-unit * 40;
138
- }
139
- }
140
- }
141
-
142
- .edit-site-template__actions {
143
- button:not(:last-child) {
144
- margin-right: $grid-unit-10;
145
- }
146
- }
147
-
148
- .edit-site-list-added-by__icon {
149
- display: flex;
150
- flex-shrink: 0;
151
- width: $grid-unit-30;
152
- height: $grid-unit-30;
153
-
154
- svg {
155
- fill: currentColor;
156
- }
157
- }
158
-
159
- .edit-site-list-added-by__avatar {
160
- flex-shrink: 0;
161
- overflow: hidden;
162
- width: $grid-unit-30;
163
- height: $grid-unit-30;
164
- align-items: center;
165
- justify-content: center;
166
- display: flex;
167
-
168
- img {
169
- width: 20px;
170
- height: 20px;
171
- object-fit: cover;
172
- opacity: 0;
173
- transition: opacity 0.1s linear;
174
- @include reduce-motion("transition");
175
- border-radius: 100%;
176
- }
177
-
178
- &.is-loaded {
179
- img {
180
- opacity: 1;
181
- }
182
- }
183
- }
184
-
185
- .edit-site-list-added-by__customized-info {
186
- display: block;
187
- color: $gray-700;
188
- }
@@ -1,140 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useSelect } from '@wordpress/data';
5
- import { store as coreStore, useEntityRecords } from '@wordpress/core-data';
6
- import { __, sprintf } from '@wordpress/i18n';
7
- import {
8
- VisuallyHidden,
9
- __experimentalHeading as Heading,
10
- } from '@wordpress/components';
11
- import { decodeEntities } from '@wordpress/html-entities';
12
-
13
- /**
14
- * Internal dependencies
15
- */
16
- import TemplateActions from '../template-actions';
17
- import Link from '../routes/link';
18
- import AddedBy from './added-by';
19
-
20
- export default function Table( { templateType } ) {
21
- const { records: allTemplates } = useEntityRecords(
22
- 'postType',
23
- templateType,
24
- {
25
- per_page: -1,
26
- }
27
- );
28
-
29
- const templates = useSelect(
30
- ( select ) =>
31
- allTemplates?.filter(
32
- ( template ) =>
33
- ! select( coreStore ).isDeletingEntityRecord(
34
- 'postType',
35
- templateType,
36
- template.id
37
- )
38
- ),
39
- [ allTemplates ]
40
- );
41
-
42
- const postType = useSelect(
43
- ( select ) => select( coreStore ).getPostType( templateType ),
44
- [ templateType ]
45
- );
46
-
47
- if ( ! templates ) {
48
- return null;
49
- }
50
-
51
- if ( ! templates.length ) {
52
- return (
53
- <div>
54
- { sprintf(
55
- // translators: The template type name, should be either "templates" or "template parts".
56
- __( 'No %s found.' ),
57
- postType?.labels?.name?.toLowerCase()
58
- ) }
59
- </div>
60
- );
61
- }
62
-
63
- const sortedTemplates = [ ...templates ];
64
- sortedTemplates.sort( ( a, b ) =>
65
- a.title.rendered.localeCompare( b.title.rendered )
66
- );
67
-
68
- return (
69
- // These explicit aria roles are needed for Safari.
70
- // See https://developer.mozilla.org/en-US/docs/Web/CSS/display#tables
71
- <table className="edit-site-list-table" role="table">
72
- <thead>
73
- <tr className="edit-site-list-table-head" role="row">
74
- <th
75
- className="edit-site-list-table-column"
76
- role="columnheader"
77
- >
78
- { __( 'Template' ) }
79
- </th>
80
- <th
81
- className="edit-site-list-table-column"
82
- role="columnheader"
83
- >
84
- { __( 'Added by' ) }
85
- </th>
86
- <th
87
- className="edit-site-list-table-column"
88
- role="columnheader"
89
- >
90
- <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>
91
- </th>
92
- </tr>
93
- </thead>
94
-
95
- <tbody>
96
- { sortedTemplates.map( ( template ) => (
97
- <tr
98
- key={ template.id }
99
- className="edit-site-list-table-row"
100
- role="row"
101
- >
102
- <td className="edit-site-list-table-column" role="cell">
103
- <Heading level={ 4 }>
104
- <Link
105
- params={ {
106
- postId: template.id,
107
- postType: template.type,
108
- canvas: 'edit',
109
- } }
110
- >
111
- { decodeEntities(
112
- template.title?.rendered ||
113
- template.slug
114
- ) }
115
- </Link>
116
- </Heading>
117
- { decodeEntities( template.description ) }
118
- </td>
119
-
120
- <td className="edit-site-list-table-column" role="cell">
121
- { template ? (
122
- <AddedBy
123
- postType={ template.type }
124
- postId={ template.id }
125
- />
126
- ) : null }
127
- </td>
128
- <td className="edit-site-list-table-column" role="cell">
129
- <TemplateActions
130
- postType={ template.type }
131
- postId={ template.id }
132
- className="edit-site-list-table__actions"
133
- />
134
- </td>
135
- </tr>
136
- ) ) }
137
- </tbody>
138
- </table>
139
- );
140
- }
@@ -1,49 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
-
5
- import { useDispatch } from '@wordpress/data';
6
- import { useEffect } from '@wordpress/element';
7
- import { __ } from '@wordpress/i18n';
8
- import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
9
-
10
- export default function useRegisterShortcuts() {
11
- const { registerShortcut } = useDispatch( keyboardShortcutsStore );
12
- useEffect( () => {
13
- registerShortcut( {
14
- name: 'core/edit-site/next-region',
15
- category: 'global',
16
- description: __( 'Navigate to the next part of the editor.' ),
17
- keyCombination: {
18
- modifier: 'ctrl',
19
- character: '`',
20
- },
21
- aliases: [
22
- {
23
- modifier: 'access',
24
- character: 'n',
25
- },
26
- ],
27
- } );
28
-
29
- registerShortcut( {
30
- name: 'core/edit-site/previous-region',
31
- category: 'global',
32
- description: __( 'Navigate to the previous part of the editor.' ),
33
- keyCombination: {
34
- modifier: 'ctrlShift',
35
- character: '`',
36
- },
37
- aliases: [
38
- {
39
- modifier: 'access',
40
- character: 'p',
41
- },
42
- {
43
- modifier: 'ctrlShift',
44
- character: '~',
45
- },
46
- ],
47
- } );
48
- }, [] );
49
- }
@@ -1,105 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { MenuItem } from '@wordpress/components';
5
- import { useDispatch } from '@wordpress/data';
6
- import { useState } from '@wordpress/element';
7
- import { __, sprintf } from '@wordpress/i18n';
8
- import { store as noticesStore } from '@wordpress/notices';
9
- import { privateApis as patternsPrivateApis } from '@wordpress/patterns';
10
- import { privateApis as routerPrivateApis } from '@wordpress/router';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import { TEMPLATE_PART_POST_TYPE, PATTERN_TYPES } from '../../utils/constants';
16
- import { unlock } from '../../lock-unlock';
17
- import CreateTemplatePartModal from '../create-template-part-modal';
18
-
19
- const { DuplicatePatternModal } = unlock( patternsPrivateApis );
20
- const { useHistory } = unlock( routerPrivateApis );
21
-
22
- export default function DuplicateMenuItem( {
23
- categoryId,
24
- item,
25
- label = __( 'Duplicate' ),
26
- onClose,
27
- } ) {
28
- const { createSuccessNotice } = useDispatch( noticesStore );
29
- const [ isModalOpen, setIsModalOpen ] = useState( false );
30
- const history = useHistory();
31
-
32
- const closeModal = () => setIsModalOpen( false );
33
-
34
- const isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;
35
- const isThemePattern = item.type === PATTERN_TYPES.theme;
36
-
37
- async function onTemplatePartSuccess( templatePart ) {
38
- createSuccessNotice(
39
- sprintf(
40
- // translators: %s: The new template part's title e.g. 'Call to action (copy)'.
41
- __( '"%s" duplicated.' ),
42
- item.title
43
- ),
44
- {
45
- type: 'snackbar',
46
- id: 'edit-site-patterns-success',
47
- }
48
- );
49
-
50
- history.push( {
51
- postType: TEMPLATE_PART_POST_TYPE,
52
- postId: templatePart?.id,
53
- categoryType: TEMPLATE_PART_POST_TYPE,
54
- categoryId,
55
- } );
56
-
57
- onClose();
58
- }
59
-
60
- function onPatternSuccess( { pattern } ) {
61
- history.push( {
62
- categoryType: PATTERN_TYPES.theme,
63
- categoryId,
64
- postType: PATTERN_TYPES.user,
65
- postId: pattern.id,
66
- } );
67
-
68
- onClose();
69
- }
70
-
71
- return (
72
- <>
73
- <MenuItem
74
- onClick={ () => setIsModalOpen( true ) }
75
- aria-expanded={ isModalOpen }
76
- aria-haspopup="dialog"
77
- >
78
- { label }
79
- </MenuItem>
80
- { isModalOpen && ! isTemplatePart && (
81
- <DuplicatePatternModal
82
- onClose={ closeModal }
83
- onSuccess={ onPatternSuccess }
84
- pattern={ isThemePattern ? item : item.patternPost }
85
- />
86
- ) }
87
- { isModalOpen && isTemplatePart && (
88
- <CreateTemplatePartModal
89
- blocks={ item.blocks }
90
- closeModal={ closeModal }
91
- confirmLabel={ __( 'Duplicate' ) }
92
- defaultArea={ item.templatePart.area }
93
- defaultTitle={ sprintf(
94
- /* translators: %s: Existing template part title */
95
- __( '%s (Copy)' ),
96
- item.title
97
- ) }
98
- modalTitle={ __( 'Duplicate template part' ) }
99
- onCreate={ onTemplatePartSuccess }
100
- onError={ closeModal }
101
- />
102
- ) }
103
- </>
104
- );
105
- }