@wordpress/edit-site 5.14.0 → 5.16.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 (461) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-page/index.js +1 -6
  3. package/build/components/add-new-page/index.js.map +1 -1
  4. package/build/components/add-new-pattern/index.js +22 -7
  5. package/build/components/add-new-pattern/index.js.map +1 -1
  6. package/build/components/add-new-template/utils.js +10 -8
  7. package/build/components/add-new-template/utils.js.map +1 -1
  8. package/build/components/block-editor/constants.js +1 -1
  9. package/build/components/block-editor/constants.js.map +1 -1
  10. package/build/components/block-editor/editor-canvas.js +1 -1
  11. package/build/components/block-editor/editor-canvas.js.map +1 -1
  12. package/build/components/block-editor/index.js +0 -4
  13. package/build/components/block-editor/index.js.map +1 -1
  14. package/build/components/block-editor/use-site-editor-settings.js +114 -13
  15. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  16. package/build/components/code-editor/index.js +60 -28
  17. package/build/components/code-editor/index.js.map +1 -1
  18. package/build/components/create-pattern-modal/index.js +7 -3
  19. package/build/components/create-pattern-modal/index.js.map +1 -1
  20. package/build/components/editor/index.js +5 -5
  21. package/build/components/editor/index.js.map +1 -1
  22. package/build/components/global-styles/global-styles-provider.js +12 -7
  23. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  24. package/build/components/global-styles/screen-block.js +16 -0
  25. package/build/components/global-styles/screen-block.js.map +1 -1
  26. package/build/components/global-styles/screen-revisions/index.js +12 -5
  27. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  28. package/build/components/global-styles/screen-revisions/revisions-buttons.js +10 -22
  29. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  30. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +32 -25
  31. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  32. package/build/components/global-styles/style-variations-container.js +5 -3
  33. package/build/components/global-styles/style-variations-container.js.map +1 -1
  34. package/build/components/header-edit-mode/document-actions/index.js +4 -2
  35. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  36. package/build/components/header-edit-mode/index.js +13 -9
  37. package/build/components/header-edit-mode/index.js.map +1 -1
  38. package/build/components/keyboard-shortcuts/edit-mode.js +7 -5
  39. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  40. package/build/components/layout/index.js +17 -5
  41. package/build/components/layout/index.js.map +1 -1
  42. package/build/components/page/index.js +3 -3
  43. package/build/components/page/index.js.map +1 -1
  44. package/build/components/page-actions/index.js +2 -2
  45. package/build/components/page-actions/index.js.map +1 -1
  46. package/build/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -16
  47. package/build/components/page-actions/trash-page-menu-item.js.map +1 -0
  48. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -5
  49. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  50. package/build/components/page-patterns/duplicate-menu-item.js +163 -0
  51. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -0
  52. package/build/components/page-patterns/grid-item.js +83 -58
  53. package/build/components/page-patterns/grid-item.js.map +1 -1
  54. package/build/components/page-patterns/grid.js +5 -18
  55. package/build/components/page-patterns/grid.js.map +1 -1
  56. package/build/components/page-patterns/header.js +69 -0
  57. package/build/components/page-patterns/header.js.map +1 -0
  58. package/build/components/page-patterns/index.js +3 -1
  59. package/build/components/page-patterns/index.js.map +1 -1
  60. package/build/components/page-patterns/pagination.js +63 -0
  61. package/build/components/page-patterns/pagination.js.map +1 -0
  62. package/build/components/page-patterns/patterns-list.js +110 -31
  63. package/build/components/page-patterns/patterns-list.js.map +1 -1
  64. package/build/components/page-patterns/rename-menu-item.js +109 -0
  65. package/build/components/page-patterns/rename-menu-item.js.map +1 -0
  66. package/build/components/page-patterns/use-patterns.js +116 -118
  67. package/build/components/page-patterns/use-patterns.js.map +1 -1
  68. package/build/components/page-template-parts/add-new-template-part.js +74 -0
  69. package/build/components/page-template-parts/add-new-template-part.js.map +1 -0
  70. package/build/components/page-template-parts/index.js +3 -25
  71. package/build/components/page-template-parts/index.js.map +1 -1
  72. package/build/components/page-templates/index.js +1 -16
  73. package/build/components/page-templates/index.js.map +1 -1
  74. package/build/components/resizable-frame/index.js +85 -51
  75. package/build/components/resizable-frame/index.js.map +1 -1
  76. package/build/components/save-button/index.js +4 -2
  77. package/build/components/save-button/index.js.map +1 -1
  78. package/build/components/save-hub/index.js +10 -4
  79. package/build/components/save-hub/index.js.map +1 -1
  80. package/build/components/save-panel/index.js +5 -5
  81. package/build/components/save-panel/index.js.map +1 -1
  82. package/build/components/sidebar-edit-mode/page-panels/page-content.js +4 -3
  83. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  84. package/build/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  85. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  86. package/build/components/sidebar-edit-mode/template-panel/index.js +15 -8
  87. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen/index.js +31 -15
  89. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  90. package/build/components/sidebar-navigation-screen-global-styles/index.js +34 -40
  91. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  92. package/build/components/sidebar-navigation-screen-main/index.js +4 -2
  93. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  94. package/build/components/sidebar-navigation-screen-main/template-part-hint.js +45 -0
  95. package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
  96. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +4 -4
  97. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  98. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  99. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  100. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
  101. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  102. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -4
  103. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  105. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  106. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +4 -4
  107. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +8 -0
  109. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  110. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -1
  111. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  112. package/build/components/sidebar-navigation-screen-page/index.js +2 -3
  113. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  114. package/build/components/sidebar-navigation-screen-page/status-label.js +1 -34
  115. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  116. package/build/components/sidebar-navigation-screen-pages/index.js +35 -25
  117. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  118. package/build/components/sidebar-navigation-screen-pattern/index.js +9 -7
  119. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  120. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +4 -3
  121. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  122. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  123. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  124. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +19 -4
  125. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  126. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +55 -28
  127. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  128. package/build/components/sidebar-navigation-screen-patterns/category-item.js +0 -5
  129. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  130. package/build/components/sidebar-navigation-screen-patterns/index.js +72 -60
  131. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  132. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
  133. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
  134. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +11 -1
  135. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  136. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +20 -9
  137. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  138. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  139. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  140. package/build/components/sidebar-navigation-screen-templates/index.js +1 -10
  141. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  142. package/build/components/sidebar-navigation-screen-templates-browse/index.js +9 -0
  143. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  144. package/build/components/site-hub/index.js +29 -13
  145. package/build/components/site-hub/index.js.map +1 -1
  146. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -5
  147. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  148. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  149. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  150. package/build/components/sync-state-with-url/use-sync-path-with-url.js +15 -12
  151. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  152. package/build/components/template-actions/index.js +3 -1
  153. package/build/components/template-actions/index.js.map +1 -1
  154. package/build/components/template-actions/rename-menu-item.js +12 -8
  155. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  156. package/build/components/use-edited-entity-record/index.js +6 -1
  157. package/build/components/use-edited-entity-record/index.js.map +1 -1
  158. package/build/hooks/commands/use-common-commands.js +120 -32
  159. package/build/hooks/commands/use-common-commands.js.map +1 -1
  160. package/build/hooks/commands/use-edit-mode-commands.js +65 -7
  161. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  162. package/build/hooks/push-changes-to-global-styles/index.js +138 -57
  163. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  164. package/build/store/private-actions.js +9 -2
  165. package/build/store/private-actions.js.map +1 -1
  166. package/build/utils/normalize-record-key.js +19 -0
  167. package/build/utils/normalize-record-key.js.map +1 -0
  168. package/build/utils/use-activate-theme.js +1 -1
  169. package/build/utils/use-activate-theme.js.map +1 -1
  170. package/build/utils/use-debounced-input.js +5 -7
  171. package/build/utils/use-debounced-input.js.map +1 -1
  172. package/build-module/components/add-new-page/index.js +1 -6
  173. package/build-module/components/add-new-page/index.js.map +1 -1
  174. package/build-module/components/add-new-pattern/index.js +20 -7
  175. package/build-module/components/add-new-pattern/index.js.map +1 -1
  176. package/build-module/components/add-new-template/utils.js +9 -6
  177. package/build-module/components/add-new-template/utils.js.map +1 -1
  178. package/build-module/components/block-editor/constants.js +1 -1
  179. package/build-module/components/block-editor/constants.js.map +1 -1
  180. package/build-module/components/block-editor/editor-canvas.js +1 -1
  181. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  182. package/build-module/components/block-editor/index.js +0 -4
  183. package/build-module/components/block-editor/index.js.map +1 -1
  184. package/build-module/components/block-editor/use-site-editor-settings.js +116 -14
  185. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  186. package/build-module/components/code-editor/index.js +62 -30
  187. package/build-module/components/code-editor/index.js.map +1 -1
  188. package/build-module/components/create-pattern-modal/index.js +6 -3
  189. package/build-module/components/create-pattern-modal/index.js.map +1 -1
  190. package/build-module/components/editor/index.js +5 -5
  191. package/build-module/components/editor/index.js.map +1 -1
  192. package/build-module/components/global-styles/global-styles-provider.js +12 -7
  193. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  194. package/build-module/components/global-styles/screen-block.js +16 -0
  195. package/build-module/components/global-styles/screen-block.js.map +1 -1
  196. package/build-module/components/global-styles/screen-revisions/index.js +13 -6
  197. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  198. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +10 -22
  199. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  200. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +28 -21
  201. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  202. package/build-module/components/global-styles/style-variations-container.js +5 -3
  203. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  204. package/build-module/components/header-edit-mode/document-actions/index.js +6 -4
  205. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  206. package/build-module/components/header-edit-mode/index.js +13 -9
  207. package/build-module/components/header-edit-mode/index.js.map +1 -1
  208. package/build-module/components/keyboard-shortcuts/edit-mode.js +7 -5
  209. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  210. package/build-module/components/layout/index.js +17 -5
  211. package/build-module/components/layout/index.js.map +1 -1
  212. package/build-module/components/page/index.js +3 -3
  213. package/build-module/components/page/index.js.map +1 -1
  214. package/build-module/components/page-actions/index.js +2 -2
  215. package/build-module/components/page-actions/index.js.map +1 -1
  216. package/build-module/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -17
  217. package/build-module/components/page-actions/trash-page-menu-item.js.map +1 -0
  218. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -3
  219. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  220. package/build-module/components/page-patterns/duplicate-menu-item.js +147 -0
  221. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -0
  222. package/build-module/components/page-patterns/grid-item.js +84 -64
  223. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  224. package/build-module/components/page-patterns/grid.js +5 -17
  225. package/build-module/components/page-patterns/grid.js.map +1 -1
  226. package/build-module/components/page-patterns/header.js +54 -0
  227. package/build-module/components/page-patterns/header.js.map +1 -0
  228. package/build-module/components/page-patterns/index.js +3 -1
  229. package/build-module/components/page-patterns/index.js.map +1 -1
  230. package/build-module/components/page-patterns/pagination.js +54 -0
  231. package/build-module/components/page-patterns/pagination.js.map +1 -0
  232. package/build-module/components/page-patterns/patterns-list.js +111 -34
  233. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  234. package/build-module/components/page-patterns/rename-menu-item.js +97 -0
  235. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -0
  236. package/build-module/components/page-patterns/use-patterns.js +116 -119
  237. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  238. package/build-module/components/page-template-parts/add-new-template-part.js +58 -0
  239. package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -0
  240. package/build-module/components/page-template-parts/index.js +4 -24
  241. package/build-module/components/page-template-parts/index.js.map +1 -1
  242. package/build-module/components/page-templates/index.js +2 -15
  243. package/build-module/components/page-templates/index.js.map +1 -1
  244. package/build-module/components/resizable-frame/index.js +87 -55
  245. package/build-module/components/resizable-frame/index.js.map +1 -1
  246. package/build-module/components/save-button/index.js +4 -2
  247. package/build-module/components/save-button/index.js.map +1 -1
  248. package/build-module/components/save-hub/index.js +10 -4
  249. package/build-module/components/save-hub/index.js.map +1 -1
  250. package/build-module/components/save-panel/index.js +5 -5
  251. package/build-module/components/save-panel/index.js.map +1 -1
  252. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +5 -2
  253. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  254. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  255. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  256. package/build-module/components/sidebar-edit-mode/template-panel/index.js +15 -9
  257. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  258. package/build-module/components/sidebar-navigation-screen/index.js +29 -16
  259. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  260. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +34 -40
  261. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  262. package/build-module/components/sidebar-navigation-screen-main/index.js +4 -3
  263. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  264. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +33 -0
  265. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
  266. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +4 -4
  267. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  268. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  269. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  270. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
  271. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  272. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -4
  273. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  274. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  275. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  276. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +4 -4
  277. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  278. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +7 -0
  279. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  280. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +2 -2
  281. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  282. package/build-module/components/sidebar-navigation-screen-page/index.js +2 -3
  283. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  284. package/build-module/components/sidebar-navigation-screen-page/status-label.js +1 -32
  285. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  286. package/build-module/components/sidebar-navigation-screen-pages/index.js +35 -25
  287. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  288. package/build-module/components/sidebar-navigation-screen-pattern/index.js +8 -7
  289. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  290. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +4 -3
  291. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  292. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  293. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  294. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +18 -4
  295. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  296. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +53 -28
  297. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  298. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +0 -5
  299. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  300. package/build-module/components/sidebar-navigation-screen-patterns/index.js +76 -60
  301. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  302. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
  303. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
  304. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +10 -1
  305. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  306. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +18 -9
  307. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  308. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  309. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  310. package/build-module/components/sidebar-navigation-screen-templates/index.js +1 -8
  311. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  312. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +7 -0
  313. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  314. package/build-module/components/site-hub/index.js +28 -13
  315. package/build-module/components/site-hub/index.js.map +1 -1
  316. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +7 -5
  317. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  318. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  319. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  320. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +16 -12
  321. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  322. package/build-module/components/template-actions/index.js +2 -1
  323. package/build-module/components/template-actions/index.js.map +1 -1
  324. package/build-module/components/template-actions/rename-menu-item.js +11 -8
  325. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  326. package/build-module/components/use-edited-entity-record/index.js +3 -1
  327. package/build-module/components/use-edited-entity-record/index.js.map +1 -1
  328. package/build-module/hooks/commands/use-common-commands.js +116 -32
  329. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  330. package/build-module/hooks/commands/use-edit-mode-commands.js +65 -9
  331. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  332. package/build-module/hooks/push-changes-to-global-styles/index.js +139 -57
  333. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  334. package/build-module/store/private-actions.js +9 -2
  335. package/build-module/store/private-actions.js.map +1 -1
  336. package/build-module/utils/normalize-record-key.js +12 -0
  337. package/build-module/utils/normalize-record-key.js.map +1 -0
  338. package/build-module/utils/use-activate-theme.js +1 -1
  339. package/build-module/utils/use-activate-theme.js.map +1 -1
  340. package/build-module/utils/use-debounced-input.js +5 -7
  341. package/build-module/utils/use-debounced-input.js.map +1 -1
  342. package/build-style/style-rtl.css +281 -103
  343. package/build-style/style.css +281 -103
  344. package/package.json +39 -40
  345. package/src/components/add-new-page/index.js +0 -3
  346. package/src/components/add-new-pattern/index.js +25 -12
  347. package/src/components/add-new-template/utils.js +9 -6
  348. package/src/components/block-editor/constants.js +5 -1
  349. package/src/components/block-editor/editor-canvas.js +1 -1
  350. package/src/components/block-editor/index.js +0 -4
  351. package/src/components/block-editor/use-site-editor-settings.js +119 -20
  352. package/src/components/canvas-spinner/style.scss +14 -0
  353. package/src/components/code-editor/index.js +51 -33
  354. package/src/components/create-pattern-modal/index.js +5 -2
  355. package/src/components/editor/index.js +5 -5
  356. package/src/components/global-styles/global-styles-provider.js +7 -2
  357. package/src/components/global-styles/screen-block.js +15 -0
  358. package/src/components/global-styles/screen-revisions/index.js +64 -58
  359. package/src/components/global-styles/screen-revisions/revisions-buttons.js +17 -31
  360. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +14 -1
  361. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +64 -48
  362. package/src/components/global-styles/style-variations-container.js +2 -0
  363. package/src/components/header-edit-mode/document-actions/index.js +8 -4
  364. package/src/components/header-edit-mode/document-actions/style.scss +45 -28
  365. package/src/components/header-edit-mode/index.js +29 -22
  366. package/src/components/keyboard-shortcuts/edit-mode.js +4 -5
  367. package/src/components/layout/index.js +49 -22
  368. package/src/components/layout/style.scss +4 -3
  369. package/src/components/page/index.js +8 -8
  370. package/src/components/page/style.scss +8 -5
  371. package/src/components/page-actions/index.js +2 -2
  372. package/src/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +9 -22
  373. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +12 -3
  374. package/src/components/page-patterns/duplicate-menu-item.js +196 -0
  375. package/src/components/page-patterns/grid-item.js +189 -133
  376. package/src/components/page-patterns/grid.js +3 -20
  377. package/src/components/page-patterns/header.js +69 -0
  378. package/src/components/page-patterns/index.js +6 -1
  379. package/src/components/page-patterns/pagination.js +80 -0
  380. package/src/components/page-patterns/patterns-list.js +172 -71
  381. package/src/components/page-patterns/rename-menu-item.js +115 -0
  382. package/src/components/page-patterns/style.scss +141 -30
  383. package/src/components/page-patterns/use-patterns.js +115 -169
  384. package/src/components/page-template-parts/add-new-template-part.js +57 -0
  385. package/src/components/page-template-parts/index.js +3 -23
  386. package/src/components/page-templates/index.js +6 -19
  387. package/src/components/resizable-frame/index.js +104 -51
  388. package/src/components/resizable-frame/style.scss +9 -9
  389. package/src/components/save-button/index.js +2 -0
  390. package/src/components/save-hub/index.js +6 -1
  391. package/src/components/save-hub/style.scss +1 -1
  392. package/src/components/save-panel/index.js +10 -4
  393. package/src/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
  394. package/src/components/sidebar-edit-mode/page-panels/page-status.js +2 -5
  395. package/src/components/sidebar-edit-mode/template-panel/index.js +15 -11
  396. package/src/components/sidebar-navigation-item/style.scss +5 -12
  397. package/src/components/sidebar-navigation-screen/index.js +30 -15
  398. package/src/components/sidebar-navigation-screen/style.scss +18 -0
  399. package/src/components/sidebar-navigation-screen-details-panel/style.scss +1 -0
  400. package/src/components/sidebar-navigation-screen-global-styles/index.js +48 -44
  401. package/src/components/sidebar-navigation-screen-main/index.js +44 -40
  402. package/src/components/sidebar-navigation-screen-main/template-part-hint.js +34 -0
  403. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +4 -3
  404. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  405. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +1 -1
  406. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +16 -7
  407. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  408. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +4 -4
  409. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +27 -15
  410. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -4
  411. package/src/components/sidebar-navigation-screen-page/index.js +3 -3
  412. package/src/components/sidebar-navigation-screen-page/status-label.js +1 -35
  413. package/src/components/sidebar-navigation-screen-pages/index.js +48 -33
  414. package/src/components/sidebar-navigation-screen-pattern/index.js +5 -2
  415. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
  416. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +2 -1
  417. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +23 -3
  418. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +74 -43
  419. package/src/components/sidebar-navigation-screen-patterns/category-item.js +5 -13
  420. package/src/components/sidebar-navigation-screen-patterns/index.js +103 -106
  421. package/src/components/sidebar-navigation-screen-patterns/style.scss +20 -0
  422. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +7 -6
  423. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +9 -0
  424. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +31 -9
  425. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  426. package/src/components/sidebar-navigation-screen-templates/index.js +1 -9
  427. package/src/components/sidebar-navigation-screen-templates-browse/index.js +10 -0
  428. package/src/components/site-hub/index.js +48 -29
  429. package/src/components/site-hub/style.scss +14 -2
  430. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +8 -2
  431. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -4
  432. package/src/components/sync-state-with-url/use-sync-path-with-url.js +73 -66
  433. package/src/components/table/style.scss +1 -0
  434. package/src/components/template-actions/index.js +2 -1
  435. package/src/components/template-actions/rename-menu-item.js +17 -10
  436. package/src/components/use-edited-entity-record/index.js +6 -1
  437. package/src/hooks/commands/use-common-commands.js +105 -32
  438. package/src/hooks/commands/use-edit-mode-commands.js +94 -23
  439. package/src/hooks/push-changes-to-global-styles/index.js +141 -50
  440. package/src/store/private-actions.js +10 -2
  441. package/src/style.scss +10 -12
  442. package/src/utils/normalize-record-key.js +11 -0
  443. package/src/utils/use-activate-theme.js +1 -1
  444. package/src/utils/use-debounced-input.js +8 -7
  445. package/build/components/code-editor/code-editor-text-area.js +0 -96
  446. package/build/components/code-editor/code-editor-text-area.js.map +0 -1
  447. package/build/components/keyboard-shortcuts/index.js +0 -148
  448. package/build/components/keyboard-shortcuts/index.js.map +0 -1
  449. package/build/components/page-actions/delete-page-menu-item.js.map +0 -1
  450. package/build/components/page-content-focus-manager/constants.js +0 -9
  451. package/build/components/page-content-focus-manager/constants.js.map +0 -1
  452. package/build-module/components/code-editor/code-editor-text-area.js +0 -84
  453. package/build-module/components/code-editor/code-editor-text-area.js.map +0 -1
  454. package/build-module/components/keyboard-shortcuts/index.js +0 -132
  455. package/build-module/components/keyboard-shortcuts/index.js.map +0 -1
  456. package/build-module/components/page-actions/delete-page-menu-item.js.map +0 -1
  457. package/build-module/components/page-content-focus-manager/constants.js +0 -2
  458. package/build-module/components/page-content-focus-manager/constants.js.map +0 -1
  459. package/src/components/code-editor/code-editor-text-area.js +0 -84
  460. package/src/components/keyboard-shortcuts/index.js +0 -137
  461. package/src/components/page-content-focus-manager/constants.js +0 -5
@@ -1,118 +1,219 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
-
4
+ import { useState, useDeferredValue, useId, useMemo } from '@wordpress/element';
5
5
  import {
6
6
  SearchControl,
7
- __experimentalHeading as Heading,
8
- __experimentalText as Text,
9
7
  __experimentalVStack as VStack,
10
8
  Flex,
11
9
  FlexBlock,
10
+ __experimentalToggleGroupControl as ToggleGroupControl,
11
+ __experimentalToggleGroupControlOption as ToggleGroupControlOption,
12
+ __experimentalHeading as Heading,
13
+ __experimentalText as Text,
12
14
  } from '@wordpress/components';
13
15
  import { __, isRTL } from '@wordpress/i18n';
14
- import { symbol, chevronLeft, chevronRight } from '@wordpress/icons';
16
+ import { chevronLeft, chevronRight } from '@wordpress/icons';
15
17
  import { privateApis as routerPrivateApis } from '@wordpress/router';
16
- import { useViewportMatch } from '@wordpress/compose';
18
+ import { useAsyncList, useViewportMatch } from '@wordpress/compose';
17
19
 
18
20
  /**
19
21
  * Internal dependencies
20
22
  */
23
+ import PatternsHeader from './header';
21
24
  import Grid from './grid';
22
25
  import NoPatterns from './no-patterns';
23
26
  import usePatterns from './use-patterns';
24
27
  import SidebarButton from '../sidebar-button';
25
28
  import useDebouncedInput from '../../utils/use-debounced-input';
26
29
  import { unlock } from '../../lock-unlock';
30
+ import { SYNC_TYPES, USER_PATTERN_CATEGORY, PATTERNS } from './utils';
31
+ import Pagination from './pagination';
27
32
 
28
33
  const { useLocation, useHistory } = unlock( routerPrivateApis );
29
34
 
35
+ const SYNC_FILTERS = {
36
+ all: __( 'All' ),
37
+ [ SYNC_TYPES.full ]: __( 'Synced' ),
38
+ [ SYNC_TYPES.unsynced ]: __( 'Standard' ),
39
+ };
40
+
41
+ const SYNC_DESCRIPTIONS = {
42
+ all: '',
43
+ [ SYNC_TYPES.full ]: __(
44
+ 'Patterns that are kept in sync across the site.'
45
+ ),
46
+ [ SYNC_TYPES.unsynced ]: __(
47
+ 'Patterns that can be changed freely without affecting the site.'
48
+ ),
49
+ };
50
+
51
+ const PAGE_SIZE = 20;
52
+
30
53
  export default function PatternsList( { categoryId, type } ) {
31
54
  const location = useLocation();
32
55
  const history = useHistory();
33
56
  const isMobileViewport = useViewportMatch( 'medium', '<' );
34
57
  const [ filterValue, setFilterValue, delayedFilterValue ] =
35
58
  useDebouncedInput( '' );
59
+ const deferredFilterValue = useDeferredValue( delayedFilterValue );
36
60
 
37
- const [ patterns, isResolving ] = usePatterns(
61
+ const [ syncFilter, setSyncFilter ] = useState( 'all' );
62
+ const [ currentPage, setCurrentPage ] = useState( 1 );
63
+
64
+ const deferredSyncedFilter = useDeferredValue( syncFilter );
65
+
66
+ const isUncategorizedThemePatterns =
67
+ type === PATTERNS && categoryId === 'uncategorized';
68
+
69
+ const { patterns, isResolving } = usePatterns(
38
70
  type,
39
- categoryId,
40
- delayedFilterValue
71
+ isUncategorizedThemePatterns ? '' : categoryId,
72
+ {
73
+ search: deferredFilterValue,
74
+ syncStatus:
75
+ deferredSyncedFilter === 'all'
76
+ ? undefined
77
+ : deferredSyncedFilter,
78
+ }
41
79
  );
42
80
 
43
- const { syncedPatterns, unsyncedPatterns } = patterns;
44
- const hasPatterns = !! syncedPatterns.length || !! unsyncedPatterns.length;
81
+ const updateSearchFilter = ( value ) => {
82
+ setCurrentPage( 1 );
83
+ setFilterValue( value );
84
+ };
85
+
86
+ const updateSyncFilter = ( value ) => {
87
+ setCurrentPage( 1 );
88
+ setSyncFilter( value );
89
+ };
90
+
91
+ const id = useId();
92
+ const titleId = `${ id }-title`;
93
+ const descriptionId = `${ id }-description`;
94
+
95
+ const hasPatterns = patterns.length;
96
+ const title = SYNC_FILTERS[ syncFilter ];
97
+ const description = SYNC_DESCRIPTIONS[ syncFilter ];
98
+
99
+ const totalItems = patterns.length;
100
+ const pageIndex = currentPage - 1;
101
+ const numPages = Math.ceil( patterns.length / PAGE_SIZE );
102
+
103
+ const list = useMemo( () => {
104
+ return patterns.slice(
105
+ pageIndex * PAGE_SIZE,
106
+ pageIndex * PAGE_SIZE + PAGE_SIZE
107
+ );
108
+ }, [ pageIndex, patterns ] );
109
+
110
+ const asyncList = useAsyncList( list, { step: 10 } );
111
+
112
+ const changePage = ( page ) => {
113
+ const scrollContainer = document.querySelector( '.edit-site-patterns' );
114
+ scrollContainer?.scrollTo( 0, 0 );
115
+
116
+ setCurrentPage( page );
117
+ };
45
118
 
46
119
  return (
47
- <VStack spacing={ 6 }>
48
- <Flex>
49
- { isMobileViewport && (
50
- <SidebarButton
51
- icon={ isRTL() ? chevronRight : chevronLeft }
52
- label={ __( 'Back' ) }
53
- onClick={ () => {
54
- // Go back in history if we came from the Patterns page.
55
- // Otherwise push a stack onto the history.
56
- if ( location.state?.backPath === '/patterns' ) {
57
- history.back();
58
- } else {
59
- history.push( { path: '/patterns' } );
120
+ <>
121
+ <VStack className="edit-site-patterns__header" spacing={ 6 }>
122
+ <PatternsHeader
123
+ categoryId={ categoryId }
124
+ type={ type }
125
+ titleId={ titleId }
126
+ descriptionId={ descriptionId }
127
+ />
128
+ <Flex alignment="stretch" wrap>
129
+ { isMobileViewport && (
130
+ <SidebarButton
131
+ icon={ isRTL() ? chevronRight : chevronLeft }
132
+ label={ __( 'Back' ) }
133
+ onClick={ () => {
134
+ // Go back in history if we came from the Patterns page.
135
+ // Otherwise push a stack onto the history.
136
+ if (
137
+ location.state?.backPath === '/patterns'
138
+ ) {
139
+ history.back();
140
+ } else {
141
+ history.push( { path: '/patterns' } );
142
+ }
143
+ } }
144
+ />
145
+ ) }
146
+ <FlexBlock className="edit-site-patterns__search-block">
147
+ <SearchControl
148
+ className="edit-site-patterns__search"
149
+ onChange={ ( value ) =>
150
+ updateSearchFilter( value )
60
151
  }
61
- } }
62
- />
63
- ) }
64
- <FlexBlock>
65
- <SearchControl
66
- className="edit-site-patterns__search"
67
- onChange={ ( value ) => setFilterValue( value ) }
68
- placeholder={ __( 'Search patterns' ) }
69
- label={ __( 'Search patterns' ) }
70
- value={ filterValue }
71
- __nextHasNoMarginBottom
72
- />
73
- </FlexBlock>
74
- </Flex>
75
- { isResolving && __( 'Loading' ) }
76
- { ! isResolving && !! syncedPatterns.length && (
77
- <>
78
- <VStack className="edit-site-patterns__section-header">
79
- <Heading as="h2" level={ 4 }>
80
- { __( 'Synced' ) }
81
- </Heading>
82
- <Text variant="muted" as="p">
83
- { __(
84
- 'Patterns that are kept in sync across your site'
152
+ placeholder={ __( 'Search patterns' ) }
153
+ label={ __( 'Search patterns' ) }
154
+ value={ filterValue }
155
+ __nextHasNoMarginBottom
156
+ />
157
+ </FlexBlock>
158
+ { categoryId === USER_PATTERN_CATEGORY && (
159
+ <ToggleGroupControl
160
+ className="edit-site-patterns__sync-status-filter"
161
+ hideLabelFromVision
162
+ label={ __( 'Filter by sync status' ) }
163
+ value={ syncFilter }
164
+ isBlock
165
+ onChange={ ( value ) => updateSyncFilter( value ) }
166
+ __nextHasNoMarginBottom
167
+ >
168
+ { Object.entries( SYNC_FILTERS ).map(
169
+ ( [ key, label ] ) => (
170
+ <ToggleGroupControlOption
171
+ className="edit-site-patterns__sync-status-filter-option"
172
+ key={ key }
173
+ value={ key }
174
+ label={ label }
175
+ />
176
+ )
85
177
  ) }
86
- </Text>
87
- </VStack>
88
- <Grid
89
- icon={ symbol }
90
- categoryId={ categoryId }
91
- label={ __( 'Synced' ) }
92
- items={ syncedPatterns }
93
- />
94
- </>
95
- ) }
96
- { ! isResolving && !! unsyncedPatterns.length && (
97
- <>
178
+ </ToggleGroupControl>
179
+ ) }
180
+ </Flex>
181
+ </VStack>
182
+ <VStack
183
+ className="edit-site-patterns__section"
184
+ justify="flex-start"
185
+ spacing={ 6 }
186
+ >
187
+ { syncFilter !== 'all' && (
98
188
  <VStack className="edit-site-patterns__section-header">
99
- <Heading as="h2" level={ 4 }>
100
- { __( 'Standard' ) }
189
+ <Heading as="h3" level={ 5 } id={ titleId }>
190
+ { title }
101
191
  </Heading>
102
- <Text variant="muted" as="p">
103
- { __(
104
- 'Patterns that can be changed freely without affecting your site'
105
- ) }
106
- </Text>
192
+ { description ? (
193
+ <Text variant="muted" as="p" id={ descriptionId }>
194
+ { description }
195
+ </Text>
196
+ ) : null }
107
197
  </VStack>
198
+ ) }
199
+ { hasPatterns && (
108
200
  <Grid
109
201
  categoryId={ categoryId }
110
- label={ __( 'Standard patterns' ) }
111
- items={ unsyncedPatterns }
202
+ items={ asyncList }
203
+ aria-labelledby={ titleId }
204
+ aria-describedby={ descriptionId }
112
205
  />
113
- </>
206
+ ) }
207
+ { ! isResolving && ! hasPatterns && <NoPatterns /> }
208
+ </VStack>
209
+ { numPages > 1 && (
210
+ <Pagination
211
+ currentPage={ currentPage }
212
+ numPages={ numPages }
213
+ changePage={ changePage }
214
+ totalItems={ totalItems }
215
+ />
114
216
  ) }
115
- { ! isResolving && ! hasPatterns && <NoPatterns /> }
116
- </VStack>
217
+ </>
117
218
  );
118
219
  }
@@ -0,0 +1,115 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import {
5
+ Button,
6
+ MenuItem,
7
+ Modal,
8
+ TextControl,
9
+ __experimentalHStack as HStack,
10
+ __experimentalVStack as VStack,
11
+ } from '@wordpress/components';
12
+ import { store as coreStore } from '@wordpress/core-data';
13
+ import { useDispatch } from '@wordpress/data';
14
+ import { useState } from '@wordpress/element';
15
+ import { __ } from '@wordpress/i18n';
16
+ import { store as noticesStore } from '@wordpress/notices';
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+ import { TEMPLATE_PARTS } from './utils';
22
+
23
+ export default function RenameMenuItem( { item, onClose } ) {
24
+ const [ title, setTitle ] = useState( () => item.title );
25
+ const [ isModalOpen, setIsModalOpen ] = useState( false );
26
+
27
+ const { editEntityRecord, saveEditedEntityRecord } =
28
+ useDispatch( coreStore );
29
+ const { createSuccessNotice, createErrorNotice } =
30
+ useDispatch( noticesStore );
31
+
32
+ if ( item.type === TEMPLATE_PARTS && ! item.isCustom ) {
33
+ return null;
34
+ }
35
+
36
+ async function onRename( event ) {
37
+ event.preventDefault();
38
+
39
+ try {
40
+ await editEntityRecord( 'postType', item.type, item.id, { title } );
41
+
42
+ // Update state before saving rerenders the list.
43
+ setTitle( '' );
44
+ setIsModalOpen( false );
45
+ onClose();
46
+
47
+ // Persist edited entity.
48
+ await saveEditedEntityRecord( 'postType', item.type, item.id, {
49
+ throwOnError: true,
50
+ } );
51
+
52
+ createSuccessNotice( __( 'Entity renamed.' ), {
53
+ type: 'snackbar',
54
+ } );
55
+ } catch ( error ) {
56
+ const errorMessage =
57
+ error.message && error.code !== 'unknown_error'
58
+ ? error.message
59
+ : __( 'An error occurred while renaming the entity.' );
60
+
61
+ createErrorNotice( errorMessage, { type: 'snackbar' } );
62
+ }
63
+ }
64
+
65
+ return (
66
+ <>
67
+ <MenuItem
68
+ onClick={ () => {
69
+ setIsModalOpen( true );
70
+ setTitle( item.title );
71
+ } }
72
+ >
73
+ { __( 'Rename' ) }
74
+ </MenuItem>
75
+ { isModalOpen && (
76
+ <Modal
77
+ title={ __( 'Rename' ) }
78
+ onRequestClose={ () => {
79
+ setIsModalOpen( false );
80
+ onClose();
81
+ } }
82
+ overlayClassName="edit-site-list__rename_modal"
83
+ >
84
+ <form onSubmit={ onRename }>
85
+ <VStack spacing="5">
86
+ <TextControl
87
+ __nextHasNoMarginBottom
88
+ label={ __( 'Name' ) }
89
+ value={ title }
90
+ onChange={ setTitle }
91
+ required
92
+ />
93
+
94
+ <HStack justify="right">
95
+ <Button
96
+ variant="tertiary"
97
+ onClick={ () => {
98
+ setIsModalOpen( false );
99
+ onClose();
100
+ } }
101
+ >
102
+ { __( 'Cancel' ) }
103
+ </Button>
104
+
105
+ <Button variant="primary" type="submit">
106
+ { __( 'Save' ) }
107
+ </Button>
108
+ </HStack>
109
+ </VStack>
110
+ </form>
111
+ </Modal>
112
+ ) }
113
+ </>
114
+ );
115
+ }
@@ -1,6 +1,18 @@
1
1
  .edit-site-patterns {
2
- background: rgba(0, 0, 0, 0.05);
2
+ border-left: 1px solid $gray-800;
3
+ background: none;
3
4
  margin: $header-height 0 0;
5
+ border-radius: 0;
6
+ padding: 0;
7
+ overflow-x: auto;
8
+
9
+ .components-base-control {
10
+ width: 100%;
11
+ @include break-medium {
12
+ width: auto;
13
+ }
14
+ }
15
+
4
16
  .components-text {
5
17
  color: $gray-600;
6
18
  }
@@ -12,33 +24,127 @@
12
24
  @include break-medium {
13
25
  margin: 0;
14
26
  }
15
- }
16
27
 
17
- .edit-site-patterns__grid {
18
- column-gap: $grid-unit-30;
19
- @include break-large() {
20
- column-count: 2;
28
+ .edit-site-patterns__search-block {
29
+ min-width: fit-content;
30
+ flex-grow: 1;
31
+ }
32
+
33
+ // The increased specificity here is to overcome component styles
34
+ // without relying on internal component class names.
35
+ .edit-site-patterns__search {
36
+ input[type="search"] {
37
+ height: $button-size-next-default-40px;
38
+ background: $gray-800;
39
+ color: $gray-200;
40
+
41
+ &:focus {
42
+ background: $gray-800;
43
+ }
44
+ }
45
+
46
+ svg {
47
+ fill: $gray-600;
48
+ }
49
+ }
50
+
51
+ .edit-site-patterns__sync-status-filter {
52
+ background: $gray-800;
53
+ border: none;
54
+ height: $button-size-next-default-40px;
55
+ min-width: max-content;
56
+ width: 100%;
57
+ max-width: 100%;
58
+
59
+ @include break-medium {
60
+ width: 300px;
61
+ }
62
+ }
63
+ .edit-site-patterns__sync-status-filter-option:not([aria-checked="true"]) {
64
+ color: $gray-600;
65
+ }
66
+ .edit-site-patterns__sync-status-filter-option:active {
67
+ background: $gray-700;
68
+ color: $gray-100;
69
+ }
70
+
71
+ .edit-site-patterns__grid-pagination {
72
+ border-top: 1px solid $gray-800;
73
+ background: $gray-900;
74
+ padding: $grid-unit-30 $grid-unit-40;
75
+ position: sticky;
76
+ bottom: 0;
77
+ z-index: z-index(".edit-site-patterns__grid-pagination");
78
+
79
+ .components-button.is-tertiary {
80
+ width: $button-size-compact;
81
+ height: $button-size-compact;
82
+ color: $gray-100;
83
+ background-color: $gray-800;
84
+ justify-content: center;
85
+
86
+ &:disabled {
87
+ color: $gray-600;
88
+ background: none;
89
+ }
90
+
91
+ &:hover:not(:disabled) {
92
+ background-color: $gray-700;
93
+ }
94
+ }
21
95
  }
96
+ }
97
+
98
+ .edit-site-patterns__header {
99
+ position: sticky;
100
+ top: 0;
101
+ background: $gray-900;
102
+ padding: $grid-unit-40 $grid-unit-40 $grid-unit-20;
103
+ z-index: z-index(".edit-site-patterns__header");
104
+ }
105
+
106
+ .edit-site-patterns__section {
107
+ padding: $grid-unit-30 $grid-unit-40;
108
+ flex: 1;
109
+ }
22
110
 
23
- // Small top padding required to avoid cutting off the visible outline
24
- // when hovering items.
25
- padding-top: $border-width-focus-fallback;
26
- margin-bottom: $grid-unit-40;
111
+ .edit-site-patterns__section-header {
112
+ .screen-reader-shortcut:focus {
113
+ top: 0;
114
+ }
115
+ }
27
116
 
117
+ .edit-site-patterns__grid {
118
+ display: grid;
119
+ grid-template-columns: 1fr;
120
+ gap: $grid-unit-40;
121
+ margin-top: 0;
122
+ margin-bottom: 0;
123
+ @include break-large {
124
+ grid-template-columns: 1fr 1fr;
125
+ }
126
+ @include break-huge {
127
+ grid-template-columns: 1fr 1fr 1fr;
128
+ }
129
+ @include break-xhuge {
130
+ grid-template-columns: 1fr 1fr 1fr 1fr;
131
+ }
28
132
  .edit-site-patterns__pattern {
29
133
  break-inside: avoid-column;
30
134
  display: flex;
31
135
  flex-direction: column;
32
- margin-bottom: $grid-unit-60;
33
-
34
136
  .edit-site-patterns__preview {
35
- border-radius: $radius-block-ui;
137
+ box-shadow: none;
138
+ border: none;
139
+ padding: 0;
140
+ background-color: unset;
141
+ box-sizing: border-box;
142
+ border-radius: 4px;
36
143
  cursor: pointer;
37
144
  overflow: hidden;
38
145
 
39
146
  &:focus {
40
- box-shadow: inset 0 0 0 2px $white, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
41
-
147
+ box-shadow: inset 0 0 0 0 $white, 0 0 0 2px var(--wp-admin-theme-color);
42
148
  // Windows High Contrast mode will show this outline, but not the box-shadow.
43
149
  outline: 2px solid transparent;
44
150
  }
@@ -46,6 +152,10 @@
46
152
  &.is-inactive {
47
153
  cursor: default;
48
154
  }
155
+ &.is-inactive:focus {
156
+ box-shadow: 0 0 0 var(--wp-admin-border-width-focus) $gray-800;
157
+ opacity: 0.8;
158
+ }
49
159
  }
50
160
 
51
161
  .edit-site-patterns__footer,
@@ -68,31 +178,28 @@
68
178
  }
69
179
 
70
180
  .edit-site-patterns__preview {
71
- flex: 1;
181
+ flex: 0 1 auto;
72
182
  margin-bottom: $grid-unit-20;
73
183
  }
74
184
  }
75
185
 
76
- // The increased specificity here is to overcome component styles
77
- // without relying on internal component class names.
78
- .edit-site-patterns__search {
79
- &#{&} input[type="search"] {
80
- background: $gray-800;
186
+ .edit-site-patterns__load-more {
187
+ align-self: center;
188
+ }
189
+
190
+ .edit-site-patterns__pattern-title {
191
+ color: $gray-200;
192
+
193
+ .is-link {
194
+ text-decoration: none;
81
195
  color: $gray-200;
82
196
 
197
+ &:hover,
83
198
  &:focus {
84
- background: $gray-800;
199
+ color: $white;
85
200
  }
86
201
  }
87
202
 
88
- svg {
89
- fill: $gray-600;
90
- }
91
- }
92
-
93
- .edit-site-patterns__pattern-title {
94
- color: $gray-200;
95
-
96
203
  .edit-site-patterns__pattern-icon {
97
204
  border-radius: $grid-unit-05;
98
205
  background: var(--wp-block-synced-color);
@@ -101,6 +208,10 @@
101
208
 
102
209
  .edit-site-patterns__pattern-lock-icon {
103
210
  display: inline-flex;
211
+
212
+ svg {
213
+ fill: currentcolor;
214
+ }
104
215
  }
105
216
  }
106
217