@wordpress/edit-site 5.11.0 → 5.12.1

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 (1056) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/build/components/add-new-page/index.js +105 -0
  3. package/build/components/add-new-page/index.js.map +1 -0
  4. package/build/components/add-new-pattern/index.js +99 -0
  5. package/build/components/add-new-pattern/index.js.map +1 -0
  6. package/build/components/add-new-template/add-custom-generic-template-modal-content.js +4 -5
  7. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  8. package/build/components/add-new-template/add-custom-template-modal-content.js +27 -44
  9. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  10. package/build/components/add-new-template/index.js +6 -15
  11. package/build/components/add-new-template/index.js.map +1 -1
  12. package/build/components/add-new-template/new-template.js +26 -35
  13. package/build/components/add-new-template/new-template.js.map +1 -1
  14. package/build/components/add-new-template/utils.js +71 -120
  15. package/build/components/add-new-template/utils.js.map +1 -1
  16. package/build/components/app/index.js +2 -2
  17. package/build/components/app/index.js.map +1 -1
  18. package/build/components/block-editor/back-button.js +6 -6
  19. package/build/components/block-editor/back-button.js.map +1 -1
  20. package/build/components/block-editor/block-inspector-button.js +3 -4
  21. package/build/components/block-editor/block-inspector-button.js.map +1 -1
  22. package/build/components/block-editor/constants.js +9 -0
  23. package/build/components/block-editor/constants.js.map +1 -0
  24. package/build/components/block-editor/editor-canvas.js +14 -15
  25. package/build/components/block-editor/editor-canvas.js.map +1 -1
  26. package/build/components/block-editor/get-block-editor-provider.js +42 -0
  27. package/build/components/block-editor/get-block-editor-provider.js.map +1 -0
  28. package/build/components/block-editor/index.js +6 -129
  29. package/build/components/block-editor/index.js.map +1 -1
  30. package/build/components/block-editor/inserter-media-categories.js +25 -42
  31. package/build/components/block-editor/inserter-media-categories.js.map +1 -1
  32. package/build/components/block-editor/providers/default-block-editor-provider.js +58 -0
  33. package/build/components/block-editor/providers/default-block-editor-provider.js.map +1 -0
  34. package/build/components/block-editor/providers/navigation-block-editor-provider.js +117 -0
  35. package/build/components/block-editor/providers/navigation-block-editor-provider.js.map +1 -0
  36. package/build/components/block-editor/resizable-editor.js +6 -7
  37. package/build/components/block-editor/resizable-editor.js.map +1 -1
  38. package/build/components/block-editor/resize-handle.js +5 -7
  39. package/build/components/block-editor/resize-handle.js.map +1 -1
  40. package/build/components/block-editor/site-editor-canvas.js +137 -0
  41. package/build/components/block-editor/site-editor-canvas.js.map +1 -0
  42. package/build/components/block-editor/use-site-editor-settings.js +82 -0
  43. package/build/components/block-editor/use-site-editor-settings.js.map +1 -0
  44. package/build/components/canvas-spinner/index.js +18 -1
  45. package/build/components/canvas-spinner/index.js.map +1 -1
  46. package/build/components/code-editor/code-editor-text-area.js +5 -6
  47. package/build/components/code-editor/code-editor-text-area.js.map +1 -1
  48. package/build/components/create-pattern-modal/index.js +125 -0
  49. package/build/components/create-pattern-modal/index.js.map +1 -0
  50. package/build/components/create-template-part-modal/index.js +73 -33
  51. package/build/components/create-template-part-modal/index.js.map +1 -1
  52. package/build/components/editor/index.js +43 -24
  53. package/build/components/editor/index.js.map +1 -1
  54. package/build/components/editor-canvas-container/index.js +29 -12
  55. package/build/components/editor-canvas-container/index.js.map +1 -1
  56. package/build/components/error-boundary/warning.js +8 -10
  57. package/build/components/error-boundary/warning.js.map +1 -1
  58. package/build/components/global-styles/block-preview-panel.js +7 -10
  59. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  60. package/build/components/global-styles/color-indicator-wrapper.js +7 -9
  61. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
  62. package/build/components/global-styles/color-palette-panel.js +5 -6
  63. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  64. package/build/components/global-styles/dimensions-panel.js +3 -5
  65. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  66. package/build/components/global-styles/global-styles-provider.js +20 -26
  67. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  68. package/build/components/global-styles/gradients-palette-panel.js +5 -6
  69. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  70. package/build/components/global-styles/header.js +4 -5
  71. package/build/components/global-styles/header.js.map +1 -1
  72. package/build/components/global-styles/hooks.js +3 -3
  73. package/build/components/global-styles/hooks.js.map +1 -1
  74. package/build/components/global-styles/icon-with-current-color.js +7 -9
  75. package/build/components/global-styles/icon-with-current-color.js.map +1 -1
  76. package/build/components/global-styles/navigation-button.js +15 -17
  77. package/build/components/global-styles/navigation-button.js.map +1 -1
  78. package/build/components/global-styles/palette.js +12 -16
  79. package/build/components/global-styles/palette.js.map +1 -1
  80. package/build/components/global-styles/preview.js +43 -53
  81. package/build/components/global-styles/preview.js.map +1 -1
  82. package/build/components/global-styles/root-menu.js +2 -2
  83. package/build/components/global-styles/root-menu.js.map +1 -1
  84. package/build/components/global-styles/screen-block-list.js +6 -9
  85. package/build/components/global-styles/screen-block-list.js.map +1 -1
  86. package/build/components/global-styles/screen-block.js +11 -12
  87. package/build/components/global-styles/screen-block.js.map +1 -1
  88. package/build/components/global-styles/screen-color-palette.js +3 -4
  89. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  90. package/build/components/global-styles/screen-colors.js +2 -2
  91. package/build/components/global-styles/screen-colors.js.map +1 -1
  92. package/build/components/global-styles/screen-css.js +2 -2
  93. package/build/components/global-styles/screen-css.js.map +1 -1
  94. package/build/components/global-styles/screen-layout.js +2 -2
  95. package/build/components/global-styles/screen-layout.js.map +1 -1
  96. package/build/components/global-styles/screen-revisions/index.js +12 -12
  97. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  98. package/build/components/global-styles/screen-revisions/revisions-buttons.js +14 -19
  99. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  100. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +7 -13
  101. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  102. package/build/components/global-styles/screen-root.js +5 -5
  103. package/build/components/global-styles/screen-root.js.map +1 -1
  104. package/build/components/global-styles/screen-typography-element.js +3 -4
  105. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  106. package/build/components/global-styles/screen-typography.js +8 -9
  107. package/build/components/global-styles/screen-typography.js.map +1 -1
  108. package/build/components/global-styles/style-variations-container.js +15 -8
  109. package/build/components/global-styles/style-variations-container.js.map +1 -1
  110. package/build/components/global-styles/subtitle.js +4 -5
  111. package/build/components/global-styles/subtitle.js.map +1 -1
  112. package/build/components/global-styles/typography-panel.js +6 -7
  113. package/build/components/global-styles/typography-panel.js.map +1 -1
  114. package/build/components/global-styles/typography-preview.js +7 -8
  115. package/build/components/global-styles/typography-preview.js.map +1 -1
  116. package/build/components/global-styles/ui.js +123 -50
  117. package/build/components/global-styles/ui.js.map +1 -1
  118. package/build/components/global-styles/variations-panel.js +5 -6
  119. package/build/components/global-styles/variations-panel.js.map +1 -1
  120. package/build/components/global-styles-renderer/index.js +2 -2
  121. package/build/components/global-styles-renderer/index.js.map +1 -1
  122. package/build/components/header-edit-mode/document-actions/index.js +136 -24
  123. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  124. package/build/components/header-edit-mode/index.js +8 -14
  125. package/build/components/header-edit-mode/index.js.map +1 -1
  126. package/build/components/header-edit-mode/more-menu/index.js +49 -53
  127. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  128. package/build/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js +4 -7
  129. package/build/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js.map +1 -1
  130. package/build/components/header-edit-mode/tools-more-menu-group/index.js +5 -14
  131. package/build/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  132. package/build/components/header-edit-mode/undo-redo/redo.js +2 -6
  133. package/build/components/header-edit-mode/undo-redo/redo.js.map +1 -1
  134. package/build/components/header-edit-mode/undo-redo/undo.js +2 -6
  135. package/build/components/header-edit-mode/undo-redo/undo.js.map +1 -1
  136. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  137. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  138. package/build/components/keyboard-shortcut-help-modal/index.js +42 -51
  139. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  140. package/build/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  141. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  142. package/build/components/keyboard-shortcuts/edit-mode.js +7 -2
  143. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  144. package/build/components/keyboard-shortcuts/index.js +7 -2
  145. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  146. package/build/components/keyboard-shortcuts/register.js +1 -1
  147. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  148. package/build/components/layout/hooks.js +21 -0
  149. package/build/components/layout/hooks.js.map +1 -1
  150. package/build/components/layout/index.js +44 -34
  151. package/build/components/layout/index.js.map +1 -1
  152. package/build/components/list/added-by.js +13 -23
  153. package/build/components/list/added-by.js.map +1 -1
  154. package/build/components/list/header.js +4 -7
  155. package/build/components/list/header.js.map +1 -1
  156. package/build/components/list/index.js +4 -6
  157. package/build/components/list/index.js.map +1 -1
  158. package/build/components/list/table.js +35 -40
  159. package/build/components/list/table.js.map +1 -1
  160. package/build/components/page/header.js +41 -0
  161. package/build/components/page/header.js.map +1 -0
  162. package/build/components/page/index.js +49 -0
  163. package/build/components/page/index.js.map +1 -0
  164. package/build/components/page-actions/delete-page-menu-item.js +70 -0
  165. package/build/components/page-actions/delete-page-menu-item.js.map +1 -0
  166. package/build/components/page-actions/index.js +43 -0
  167. package/build/components/page-actions/index.js.map +1 -0
  168. package/build/components/page-content-focus-manager/back-to-page-notification.js +67 -0
  169. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -0
  170. package/build/components/page-content-focus-manager/constants.js +9 -0
  171. package/build/components/page-content-focus-manager/constants.js.map +1 -0
  172. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +60 -0
  173. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -0
  174. package/build/components/page-content-focus-manager/edit-template-notification.js +121 -0
  175. package/build/components/page-content-focus-manager/edit-template-notification.js.map +1 -0
  176. package/build/components/page-content-focus-manager/index.js +37 -0
  177. package/build/components/page-content-focus-manager/index.js.map +1 -0
  178. package/build/components/page-library/grid-item.js +165 -0
  179. package/build/components/page-library/grid-item.js.map +1 -0
  180. package/build/components/page-library/grid.js +49 -0
  181. package/build/components/page-library/grid.js.map +1 -0
  182. package/build/components/page-library/index.js +61 -0
  183. package/build/components/page-library/index.js.map +1 -0
  184. package/build/components/page-library/no-patterns.js +20 -0
  185. package/build/components/page-library/no-patterns.js.map +1 -0
  186. package/build/components/page-library/patterns-list.js +108 -0
  187. package/build/components/page-library/patterns-list.js.map +1 -0
  188. package/build/components/page-library/search-items.js +172 -0
  189. package/build/components/page-library/search-items.js.map +1 -0
  190. package/build/components/page-library/use-library-settings.js +53 -0
  191. package/build/components/page-library/use-library-settings.js.map +1 -0
  192. package/build/components/page-library/use-patterns.js +194 -0
  193. package/build/components/page-library/use-patterns.js.map +1 -0
  194. package/build/components/page-library/utils.js +30 -0
  195. package/build/components/page-library/utils.js.map +1 -0
  196. package/build/components/page-main/index.js +46 -0
  197. package/build/components/page-main/index.js.map +1 -0
  198. package/build/components/page-templates/index.js +101 -0
  199. package/build/components/page-templates/index.js.map +1 -0
  200. package/build/components/preferences-modal/enable-feature.js +4 -7
  201. package/build/components/preferences-modal/enable-feature.js.map +1 -1
  202. package/build/components/preferences-modal/index.js +4 -5
  203. package/build/components/preferences-modal/index.js.map +1 -1
  204. package/build/components/resizable-frame/index.js +25 -15
  205. package/build/components/resizable-frame/index.js.map +1 -1
  206. package/build/components/revisions/index.js +14 -17
  207. package/build/components/revisions/index.js.map +1 -1
  208. package/build/components/routes/link.js +15 -22
  209. package/build/components/routes/link.js.map +1 -1
  210. package/build/components/routes/use-title.js +3 -7
  211. package/build/components/routes/use-title.js.map +1 -1
  212. package/build/components/save-button/index.js +23 -13
  213. package/build/components/save-button/index.js.map +1 -1
  214. package/build/components/save-hub/index.js +97 -5
  215. package/build/components/save-hub/index.js.map +1 -1
  216. package/build/components/save-panel/index.js +63 -19
  217. package/build/components/save-panel/index.js.map +1 -1
  218. package/build/components/secondary-sidebar/inserter-sidebar.js +4 -8
  219. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  220. package/build/components/secondary-sidebar/list-view-sidebar.js +51 -9
  221. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  222. package/build/components/sidebar/index.js +14 -8
  223. package/build/components/sidebar/index.js.map +1 -1
  224. package/build/components/sidebar-button/index.js +2 -4
  225. package/build/components/sidebar-button/index.js.map +1 -1
  226. package/build/components/sidebar-edit-mode/default-sidebar.js +11 -12
  227. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  228. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +22 -8
  229. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  230. package/build/components/sidebar-edit-mode/index.js +13 -10
  231. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  232. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +84 -0
  233. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -0
  234. package/build/components/sidebar-edit-mode/page-panels/index.js +99 -0
  235. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -0
  236. package/build/components/sidebar-edit-mode/page-panels/page-content.js +35 -0
  237. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -0
  238. package/build/components/sidebar-edit-mode/page-panels/page-status.js +192 -0
  239. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -0
  240. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +45 -0
  241. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -0
  242. package/build/components/sidebar-edit-mode/page-panels/publish-date.js +98 -0
  243. package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +1 -0
  244. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +8 -12
  245. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  246. package/build/components/sidebar-edit-mode/settings-header/index.js +52 -21
  247. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  248. package/build/components/sidebar-edit-mode/sidebar-card/index.js +46 -0
  249. package/build/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -0
  250. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +5 -6
  251. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  252. package/build/components/sidebar-edit-mode/{template-card → template-panel}/index.js +30 -22
  253. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -0
  254. package/build/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +7 -8
  255. package/{build-module/components/sidebar-edit-mode/template-revisions/index.js.map → build/components/sidebar-edit-mode/template-panel/last-revision.js.map} +1 -1
  256. package/build/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +12 -16
  257. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -0
  258. package/build/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +15 -19
  259. package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -0
  260. package/build/components/sidebar-navigation-item/index.js +17 -14
  261. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  262. package/build/components/sidebar-navigation-screen/index.js +38 -20
  263. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  264. package/build/components/sidebar-navigation-screen-details-footer/index.js +36 -0
  265. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -0
  266. package/build/components/sidebar-navigation-screen-details-panel/index.js +58 -0
  267. package/build/components/sidebar-navigation-screen-details-panel/index.js.map +1 -0
  268. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +22 -0
  269. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -0
  270. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +35 -0
  271. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -0
  272. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +22 -0
  273. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -0
  274. package/build/components/sidebar-navigation-screen-global-styles/index.js +114 -24
  275. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  276. package/build/components/sidebar-navigation-screen-library/category-item.js +48 -0
  277. package/build/components/sidebar-navigation-screen-library/category-item.js.map +1 -0
  278. package/build/components/sidebar-navigation-screen-library/index.js +112 -0
  279. package/build/components/sidebar-navigation-screen-library/index.js.map +1 -0
  280. package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js +36 -0
  281. package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +1 -0
  282. package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js +76 -0
  283. package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +1 -0
  284. package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js +41 -0
  285. package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +1 -0
  286. package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js +40 -0
  287. package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +1 -0
  288. package/build/components/sidebar-navigation-screen-main/index.js +12 -13
  289. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  290. package/build/components/sidebar-navigation-screen-navigation-item/index.js +5 -7
  291. package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  292. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +42 -0
  293. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -0
  294. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +41 -0
  295. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -0
  296. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +49 -97
  297. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  298. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +84 -0
  299. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -0
  300. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +71 -0
  301. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -0
  302. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +54 -0
  303. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -0
  304. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +49 -0
  305. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -0
  306. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +163 -0
  307. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -0
  308. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +3 -1
  309. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  310. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +59 -26
  311. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  312. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +75 -31
  313. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  314. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +23 -53
  315. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  316. package/build/components/sidebar-navigation-screen-page/index.js +63 -12
  317. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  318. package/build/components/sidebar-navigation-screen-page/page-details.js +150 -0
  319. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -0
  320. package/build/components/sidebar-navigation-screen-page/status-label.js +111 -0
  321. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -0
  322. package/build/components/sidebar-navigation-screen-pages/index.js +133 -21
  323. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  324. package/build/components/sidebar-navigation-screen-pattern/index.js +66 -0
  325. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -0
  326. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +41 -0
  327. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -0
  328. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +33 -0
  329. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +1 -0
  330. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +40 -0
  331. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -0
  332. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +47 -0
  333. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -0
  334. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +82 -0
  335. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -0
  336. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +80 -0
  337. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -0
  338. package/build/components/sidebar-navigation-screen-template/home-template-details.js +212 -0
  339. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -0
  340. package/build/components/sidebar-navigation-screen-template/index.js +43 -23
  341. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  342. package/build/components/sidebar-navigation-screen-templates/index.js +23 -28
  343. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  344. package/build/components/site-hub/index.js +29 -24
  345. package/build/components/site-hub/index.js.map +1 -1
  346. package/build/components/site-icon/index.js +4 -5
  347. package/build/components/site-icon/index.js.map +1 -1
  348. package/build/components/start-template-options/index.js +15 -21
  349. package/build/components/start-template-options/index.js.map +1 -1
  350. package/build/components/style-book/index.js +45 -50
  351. package/build/components/style-book/index.js.map +1 -1
  352. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +16 -6
  353. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  354. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +4 -4
  355. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  356. package/build/components/sync-state-with-url/use-sync-path-with-url.js +21 -12
  357. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  358. package/build/components/table/index.js +29 -0
  359. package/build/components/table/index.js.map +1 -0
  360. package/build/components/{list/actions → template-actions}/index.js +34 -31
  361. package/build/components/template-actions/index.js.map +1 -0
  362. package/build/components/{list/actions → template-actions}/rename-menu-item.js +4 -5
  363. package/build/components/template-actions/rename-menu-item.js.map +1 -0
  364. package/build/components/template-part-converter/convert-to-regular.js +4 -5
  365. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  366. package/build/components/template-part-converter/convert-to-template-part.js +7 -27
  367. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  368. package/build/components/template-part-converter/index.js +12 -18
  369. package/build/components/template-part-converter/index.js.map +1 -1
  370. package/build/components/welcome-guide/editor.js +1 -1
  371. package/build/components/welcome-guide/editor.js.map +1 -1
  372. package/build/components/welcome-guide/image.js +4 -5
  373. package/build/components/welcome-guide/image.js.map +1 -1
  374. package/build/components/welcome-guide/styles.js +4 -3
  375. package/build/components/welcome-guide/styles.js.map +1 -1
  376. package/build/hooks/commands/use-common-commands.js +190 -0
  377. package/build/hooks/commands/use-common-commands.js.map +1 -0
  378. package/build/hooks/commands/use-edit-mode-commands.js +71 -29
  379. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  380. package/build/hooks/index.js +2 -0
  381. package/build/hooks/index.js.map +1 -1
  382. package/build/hooks/navigation-menu-edit.js +95 -0
  383. package/build/hooks/navigation-menu-edit.js.map +1 -0
  384. package/build/hooks/push-changes-to-global-styles/index.js +15 -10
  385. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  386. package/build/hooks/template-part-edit.js +11 -15
  387. package/build/hooks/template-part-edit.js.map +1 -1
  388. package/build/index.js +3 -6
  389. package/build/index.js.map +1 -1
  390. package/build/{private-apis.js → lock-unlock.js} +1 -1
  391. package/build/lock-unlock.js.map +1 -0
  392. package/build/store/actions.js +165 -125
  393. package/build/store/actions.js.map +1 -1
  394. package/build/store/index.js +3 -3
  395. package/build/store/index.js.map +1 -1
  396. package/build/store/private-actions.js +7 -10
  397. package/build/store/private-actions.js.map +1 -1
  398. package/build/store/reducer.js +33 -33
  399. package/build/store/reducer.js.map +1 -1
  400. package/build/store/selectors.js +70 -22
  401. package/build/store/selectors.js.map +1 -1
  402. package/build/store/utils.js +1 -3
  403. package/build/store/utils.js.map +1 -1
  404. package/build/utils/get-is-list-page.js +13 -7
  405. package/build/utils/get-is-list-page.js.map +1 -1
  406. package/build/utils/is-previewing-theme.js +2 -4
  407. package/build/utils/is-previewing-theme.js.map +1 -1
  408. package/build/utils/is-template-revertable.js +1 -1
  409. package/build/utils/is-template-revertable.js.map +1 -1
  410. package/build/utils/use-activate-theme.js +3 -3
  411. package/build/utils/use-activate-theme.js.map +1 -1
  412. package/build/utils/use-debounced-input.js +26 -0
  413. package/build/utils/use-debounced-input.js.map +1 -0
  414. package/build-module/components/add-new-page/index.js +93 -0
  415. package/build-module/components/add-new-page/index.js.map +1 -0
  416. package/build-module/components/add-new-pattern/index.js +82 -0
  417. package/build-module/components/add-new-pattern/index.js.map +1 -0
  418. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +4 -5
  419. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  420. package/build-module/components/add-new-template/add-custom-template-modal-content.js +25 -41
  421. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  422. package/build-module/components/add-new-template/index.js +6 -13
  423. package/build-module/components/add-new-template/index.js.map +1 -1
  424. package/build-module/components/add-new-template/new-template.js +22 -31
  425. package/build-module/components/add-new-template/new-template.js.map +1 -1
  426. package/build-module/components/add-new-template/utils.js +71 -120
  427. package/build-module/components/add-new-template/utils.js.map +1 -1
  428. package/build-module/components/app/index.js +1 -1
  429. package/build-module/components/app/index.js.map +1 -1
  430. package/build-module/components/block-editor/back-button.js +5 -5
  431. package/build-module/components/block-editor/back-button.js.map +1 -1
  432. package/build-module/components/block-editor/block-inspector-button.js +3 -4
  433. package/build-module/components/block-editor/block-inspector-button.js.map +1 -1
  434. package/build-module/components/block-editor/constants.js +2 -0
  435. package/build-module/components/block-editor/constants.js.map +1 -0
  436. package/build-module/components/block-editor/editor-canvas.js +12 -12
  437. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  438. package/build-module/components/block-editor/get-block-editor-provider.js +31 -0
  439. package/build-module/components/block-editor/get-block-editor-provider.js.map +1 -0
  440. package/build-module/components/block-editor/index.js +9 -125
  441. package/build-module/components/block-editor/index.js.map +1 -1
  442. package/build-module/components/block-editor/inserter-media-categories.js +25 -42
  443. package/build-module/components/block-editor/inserter-media-categories.js.map +1 -1
  444. package/build-module/components/block-editor/providers/default-block-editor-provider.js +42 -0
  445. package/build-module/components/block-editor/providers/default-block-editor-provider.js.map +1 -0
  446. package/build-module/components/block-editor/providers/navigation-block-editor-provider.js +102 -0
  447. package/build-module/components/block-editor/providers/navigation-block-editor-provider.js.map +1 -0
  448. package/build-module/components/block-editor/resizable-editor.js +6 -7
  449. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  450. package/build-module/components/block-editor/resize-handle.js +5 -7
  451. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  452. package/build-module/components/block-editor/site-editor-canvas.js +115 -0
  453. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -0
  454. package/build-module/components/block-editor/use-site-editor-settings.js +67 -0
  455. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -0
  456. package/build-module/components/canvas-spinner/index.js +15 -1
  457. package/build-module/components/canvas-spinner/index.js.map +1 -1
  458. package/build-module/components/code-editor/code-editor-text-area.js +5 -6
  459. package/build-module/components/code-editor/code-editor-text-area.js.map +1 -1
  460. package/build-module/components/create-pattern-modal/index.js +113 -0
  461. package/build-module/components/create-pattern-modal/index.js.map +1 -0
  462. package/build-module/components/create-template-part-modal/index.js +70 -34
  463. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  464. package/build-module/components/editor/index.js +43 -24
  465. package/build-module/components/editor/index.js.map +1 -1
  466. package/build-module/components/editor-canvas-container/index.js +26 -10
  467. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  468. package/build-module/components/error-boundary/warning.js +8 -10
  469. package/build-module/components/error-boundary/warning.js.map +1 -1
  470. package/build-module/components/global-styles/block-preview-panel.js +7 -10
  471. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  472. package/build-module/components/global-styles/color-indicator-wrapper.js +7 -8
  473. package/build-module/components/global-styles/color-indicator-wrapper.js.map +1 -1
  474. package/build-module/components/global-styles/color-palette-panel.js +4 -5
  475. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  476. package/build-module/components/global-styles/dimensions-panel.js +2 -4
  477. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  478. package/build-module/components/global-styles/global-styles-provider.js +18 -25
  479. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  480. package/build-module/components/global-styles/gradients-palette-panel.js +4 -5
  481. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  482. package/build-module/components/global-styles/header.js +4 -5
  483. package/build-module/components/global-styles/header.js.map +1 -1
  484. package/build-module/components/global-styles/hooks.js +1 -1
  485. package/build-module/components/global-styles/hooks.js.map +1 -1
  486. package/build-module/components/global-styles/icon-with-current-color.js +7 -8
  487. package/build-module/components/global-styles/icon-with-current-color.js.map +1 -1
  488. package/build-module/components/global-styles/navigation-button.js +15 -14
  489. package/build-module/components/global-styles/navigation-button.js.map +1 -1
  490. package/build-module/components/global-styles/palette.js +11 -15
  491. package/build-module/components/global-styles/palette.js.map +1 -1
  492. package/build-module/components/global-styles/preview.js +42 -52
  493. package/build-module/components/global-styles/preview.js.map +1 -1
  494. package/build-module/components/global-styles/root-menu.js +1 -1
  495. package/build-module/components/global-styles/root-menu.js.map +1 -1
  496. package/build-module/components/global-styles/screen-block-list.js +5 -8
  497. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  498. package/build-module/components/global-styles/screen-block.js +10 -11
  499. package/build-module/components/global-styles/screen-block.js.map +1 -1
  500. package/build-module/components/global-styles/screen-color-palette.js +3 -4
  501. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  502. package/build-module/components/global-styles/screen-colors.js +1 -1
  503. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  504. package/build-module/components/global-styles/screen-css.js +1 -1
  505. package/build-module/components/global-styles/screen-css.js.map +1 -1
  506. package/build-module/components/global-styles/screen-layout.js +1 -1
  507. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  508. package/build-module/components/global-styles/screen-revisions/index.js +9 -9
  509. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  510. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +14 -19
  511. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  512. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +6 -11
  513. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  514. package/build-module/components/global-styles/screen-root.js +4 -4
  515. package/build-module/components/global-styles/screen-root.js.map +1 -1
  516. package/build-module/components/global-styles/screen-typography-element.js +3 -4
  517. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  518. package/build-module/components/global-styles/screen-typography.js +6 -7
  519. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  520. package/build-module/components/global-styles/style-variations-container.js +15 -8
  521. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  522. package/build-module/components/global-styles/subtitle.js +4 -5
  523. package/build-module/components/global-styles/subtitle.js.map +1 -1
  524. package/build-module/components/global-styles/typography-panel.js +5 -6
  525. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  526. package/build-module/components/global-styles/typography-preview.js +6 -7
  527. package/build-module/components/global-styles/typography-preview.js.map +1 -1
  528. package/build-module/components/global-styles/ui.js +123 -50
  529. package/build-module/components/global-styles/ui.js.map +1 -1
  530. package/build-module/components/global-styles/variations-panel.js +5 -6
  531. package/build-module/components/global-styles/variations-panel.js.map +1 -1
  532. package/build-module/components/global-styles-renderer/index.js +1 -1
  533. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  534. package/build-module/components/header-edit-mode/document-actions/index.js +136 -25
  535. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  536. package/build-module/components/header-edit-mode/index.js +6 -12
  537. package/build-module/components/header-edit-mode/index.js.map +1 -1
  538. package/build-module/components/header-edit-mode/more-menu/index.js +49 -53
  539. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  540. package/build-module/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js +4 -4
  541. package/build-module/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js.map +1 -1
  542. package/build-module/components/header-edit-mode/tools-more-menu-group/index.js +5 -13
  543. package/build-module/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  544. package/build-module/components/header-edit-mode/undo-redo/redo.js +2 -3
  545. package/build-module/components/header-edit-mode/undo-redo/redo.js.map +1 -1
  546. package/build-module/components/header-edit-mode/undo-redo/undo.js +2 -3
  547. package/build-module/components/header-edit-mode/undo-redo/undo.js.map +1 -1
  548. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +3 -4
  549. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  550. package/build-module/components/keyboard-shortcut-help-modal/index.js +40 -49
  551. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  552. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +10 -12
  553. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  554. package/build-module/components/keyboard-shortcuts/edit-mode.js +7 -2
  555. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  556. package/build-module/components/keyboard-shortcuts/index.js +7 -2
  557. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  558. package/build-module/components/keyboard-shortcuts/register.js +1 -1
  559. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  560. package/build-module/components/layout/hooks.js +21 -0
  561. package/build-module/components/layout/hooks.js.map +1 -1
  562. package/build-module/components/layout/index.js +37 -28
  563. package/build-module/components/layout/index.js.map +1 -1
  564. package/build-module/components/list/added-by.js +13 -23
  565. package/build-module/components/list/added-by.js.map +1 -1
  566. package/build-module/components/list/header.js +4 -7
  567. package/build-module/components/list/header.js.map +1 -1
  568. package/build-module/components/list/index.js +3 -5
  569. package/build-module/components/list/index.js.map +1 -1
  570. package/build-module/components/list/table.js +34 -39
  571. package/build-module/components/list/table.js.map +1 -1
  572. package/build-module/components/page/header.js +33 -0
  573. package/build-module/components/page/header.js.map +1 -0
  574. package/build-module/components/page/index.js +37 -0
  575. package/build-module/components/page/index.js.map +1 -0
  576. package/build-module/components/page-actions/delete-page-menu-item.js +58 -0
  577. package/build-module/components/page-actions/delete-page-menu-item.js.map +1 -0
  578. package/build-module/components/page-actions/index.js +30 -0
  579. package/build-module/components/page-actions/index.js.map +1 -0
  580. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +53 -0
  581. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -0
  582. package/build-module/components/page-content-focus-manager/constants.js +2 -0
  583. package/build-module/components/page-content-focus-manager/constants.js.map +1 -0
  584. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +45 -0
  585. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -0
  586. package/build-module/components/page-content-focus-manager/edit-template-notification.js +110 -0
  587. package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +1 -0
  588. package/build-module/components/page-content-focus-manager/index.js +23 -0
  589. package/build-module/components/page-content-focus-manager/index.js.map +1 -0
  590. package/build-module/components/page-library/grid-item.js +145 -0
  591. package/build-module/components/page-library/grid-item.js.map +1 -0
  592. package/build-module/components/page-library/grid.js +38 -0
  593. package/build-module/components/page-library/grid.js.map +1 -0
  594. package/build-module/components/page-library/index.js +43 -0
  595. package/build-module/components/page-library/index.js.map +1 -0
  596. package/build-module/components/page-library/no-patterns.js +12 -0
  597. package/build-module/components/page-library/no-patterns.js.map +1 -0
  598. package/build-module/components/page-library/patterns-list.js +87 -0
  599. package/build-module/components/page-library/patterns-list.js.map +1 -0
  600. package/build-module/components/page-library/search-items.js +156 -0
  601. package/build-module/components/page-library/search-items.js.map +1 -0
  602. package/build-module/components/page-library/use-library-settings.js +40 -0
  603. package/build-module/components/page-library/use-library-settings.js.map +1 -0
  604. package/build-module/components/page-library/use-patterns.js +176 -0
  605. package/build-module/components/page-library/use-patterns.js.map +1 -0
  606. package/build-module/components/page-library/utils.js +13 -0
  607. package/build-module/components/page-library/utils.js.map +1 -0
  608. package/build-module/components/page-main/index.js +32 -0
  609. package/build-module/components/page-main/index.js.map +1 -0
  610. package/build-module/components/page-templates/index.js +80 -0
  611. package/build-module/components/page-templates/index.js.map +1 -0
  612. package/build-module/components/preferences-modal/enable-feature.js +4 -4
  613. package/build-module/components/preferences-modal/enable-feature.js.map +1 -1
  614. package/build-module/components/preferences-modal/index.js +4 -5
  615. package/build-module/components/preferences-modal/index.js.map +1 -1
  616. package/build-module/components/resizable-frame/index.js +24 -14
  617. package/build-module/components/resizable-frame/index.js.map +1 -1
  618. package/build-module/components/revisions/index.js +12 -14
  619. package/build-module/components/revisions/index.js.map +1 -1
  620. package/build-module/components/routes/link.js +14 -18
  621. package/build-module/components/routes/link.js.map +1 -1
  622. package/build-module/components/routes/use-title.js +2 -6
  623. package/build-module/components/routes/use-title.js.map +1 -1
  624. package/build-module/components/save-button/index.js +23 -13
  625. package/build-module/components/save-button/index.js.map +1 -1
  626. package/build-module/components/save-hub/index.js +95 -8
  627. package/build-module/components/save-hub/index.js.map +1 -1
  628. package/build-module/components/save-panel/index.js +62 -20
  629. package/build-module/components/save-panel/index.js.map +1 -1
  630. package/build-module/components/secondary-sidebar/inserter-sidebar.js +4 -5
  631. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  632. package/build-module/components/secondary-sidebar/list-view-sidebar.js +48 -8
  633. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  634. package/build-module/components/sidebar/index.js +11 -7
  635. package/build-module/components/sidebar/index.js.map +1 -1
  636. package/build-module/components/sidebar-button/index.js +2 -3
  637. package/build-module/components/sidebar-button/index.js.map +1 -1
  638. package/build-module/components/sidebar-edit-mode/default-sidebar.js +11 -12
  639. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  640. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +19 -6
  641. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  642. package/build-module/components/sidebar-edit-mode/index.js +14 -11
  643. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  644. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +71 -0
  645. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -0
  646. package/build-module/components/sidebar-edit-mode/page-panels/index.js +78 -0
  647. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -0
  648. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +23 -0
  649. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -0
  650. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +176 -0
  651. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -0
  652. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +33 -0
  653. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -0
  654. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +85 -0
  655. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +1 -0
  656. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +8 -9
  657. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  658. package/build-module/components/sidebar-edit-mode/settings-header/index.js +50 -23
  659. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  660. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js +35 -0
  661. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -0
  662. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +4 -5
  663. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -1
  664. package/build-module/components/sidebar-edit-mode/template-panel/index.js +72 -0
  665. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -0
  666. package/build-module/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +7 -8
  667. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -0
  668. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +12 -16
  669. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -0
  670. package/build-module/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +15 -19
  671. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -0
  672. package/build-module/components/sidebar-navigation-item/index.js +17 -14
  673. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  674. package/build-module/components/sidebar-navigation-screen/index.js +39 -21
  675. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  676. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +27 -0
  677. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -0
  678. package/build-module/components/sidebar-navigation-screen-details-panel/index.js +30 -0
  679. package/build-module/components/sidebar-navigation-screen-details-panel/index.js.map +1 -0
  680. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +14 -0
  681. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -0
  682. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +24 -0
  683. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -0
  684. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +14 -0
  685. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -0
  686. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +112 -21
  687. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  688. package/build-module/components/sidebar-navigation-screen-library/category-item.js +37 -0
  689. package/build-module/components/sidebar-navigation-screen-library/category-item.js.map +1 -0
  690. package/build-module/components/sidebar-navigation-screen-library/index.js +87 -0
  691. package/build-module/components/sidebar-navigation-screen-library/index.js.map +1 -0
  692. package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js +25 -0
  693. package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +1 -0
  694. package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js +61 -0
  695. package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +1 -0
  696. package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js +34 -0
  697. package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +1 -0
  698. package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js +27 -0
  699. package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +1 -0
  700. package/build-module/components/sidebar-navigation-screen-main/index.js +13 -13
  701. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  702. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +4 -6
  703. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  704. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +33 -0
  705. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -0
  706. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +26 -0
  707. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -0
  708. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +47 -95
  709. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  710. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +70 -0
  711. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -0
  712. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +58 -0
  713. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -0
  714. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +46 -0
  715. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -0
  716. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +35 -0
  717. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -0
  718. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +151 -0
  719. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -0
  720. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +3 -1
  721. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  722. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +58 -26
  723. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  724. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +73 -28
  725. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  726. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +24 -53
  727. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  728. package/build-module/components/sidebar-navigation-screen-page/index.js +59 -14
  729. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  730. package/build-module/components/sidebar-navigation-screen-page/page-details.js +131 -0
  731. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -0
  732. package/build-module/components/sidebar-navigation-screen-page/status-label.js +98 -0
  733. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -0
  734. package/build-module/components/sidebar-navigation-screen-pages/index.js +130 -22
  735. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  736. package/build-module/components/sidebar-navigation-screen-pattern/index.js +46 -0
  737. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -0
  738. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +28 -0
  739. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -0
  740. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +22 -0
  741. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +1 -0
  742. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +27 -0
  743. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -0
  744. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +34 -0
  745. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -0
  746. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +71 -0
  747. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -0
  748. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +64 -0
  749. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -0
  750. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +192 -0
  751. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -0
  752. package/build-module/components/sidebar-navigation-screen-template/index.js +40 -23
  753. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  754. package/build-module/components/sidebar-navigation-screen-templates/index.js +23 -27
  755. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  756. package/build-module/components/site-hub/index.js +28 -22
  757. package/build-module/components/site-hub/index.js.map +1 -1
  758. package/build-module/components/site-icon/index.js +4 -5
  759. package/build-module/components/site-icon/index.js.map +1 -1
  760. package/build-module/components/start-template-options/index.js +15 -21
  761. package/build-module/components/start-template-options/index.js.map +1 -1
  762. package/build-module/components/style-book/index.js +44 -48
  763. package/build-module/components/style-book/index.js.map +1 -1
  764. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +15 -5
  765. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  766. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  767. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  768. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +20 -11
  769. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  770. package/build-module/components/table/index.js +21 -0
  771. package/build-module/components/table/index.js.map +1 -0
  772. package/build-module/components/{list/actions → template-actions}/index.js +34 -31
  773. package/build-module/components/template-actions/index.js.map +1 -0
  774. package/build-module/components/{list/actions → template-actions}/rename-menu-item.js +4 -5
  775. package/build-module/components/template-actions/rename-menu-item.js.map +1 -0
  776. package/build-module/components/template-part-converter/convert-to-regular.js +4 -5
  777. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  778. package/build-module/components/template-part-converter/convert-to-template-part.js +8 -26
  779. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  780. package/build-module/components/template-part-converter/index.js +12 -18
  781. package/build-module/components/template-part-converter/index.js.map +1 -1
  782. package/build-module/components/welcome-guide/editor.js +1 -1
  783. package/build-module/components/welcome-guide/editor.js.map +1 -1
  784. package/build-module/components/welcome-guide/image.js +4 -5
  785. package/build-module/components/welcome-guide/image.js.map +1 -1
  786. package/build-module/components/welcome-guide/styles.js +5 -3
  787. package/build-module/components/welcome-guide/styles.js.map +1 -1
  788. package/build-module/hooks/commands/use-common-commands.js +172 -0
  789. package/build-module/hooks/commands/use-common-commands.js.map +1 -0
  790. package/build-module/hooks/commands/use-edit-mode-commands.js +72 -30
  791. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  792. package/build-module/hooks/index.js +1 -0
  793. package/build-module/hooks/index.js.map +1 -1
  794. package/build-module/hooks/navigation-menu-edit.js +77 -0
  795. package/build-module/hooks/navigation-menu-edit.js.map +1 -0
  796. package/build-module/hooks/push-changes-to-global-styles/index.js +14 -9
  797. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  798. package/build-module/hooks/template-part-edit.js +10 -11
  799. package/build-module/hooks/template-part-edit.js.map +1 -1
  800. package/build-module/index.js +3 -6
  801. package/build-module/index.js.map +1 -1
  802. package/build-module/{private-apis.js → lock-unlock.js} +1 -1
  803. package/build-module/lock-unlock.js.map +1 -0
  804. package/build-module/store/actions.js +157 -126
  805. package/build-module/store/actions.js.map +1 -1
  806. package/build-module/store/index.js +1 -1
  807. package/build-module/store/index.js.map +1 -1
  808. package/build-module/store/private-actions.js +7 -10
  809. package/build-module/store/private-actions.js.map +1 -1
  810. package/build-module/store/reducer.js +31 -33
  811. package/build-module/store/reducer.js.map +1 -1
  812. package/build-module/store/selectors.js +62 -21
  813. package/build-module/store/selectors.js.map +1 -1
  814. package/build-module/store/utils.js +1 -3
  815. package/build-module/store/utils.js.map +1 -1
  816. package/build-module/utils/get-is-list-page.js +13 -7
  817. package/build-module/utils/get-is-list-page.js.map +1 -1
  818. package/build-module/utils/is-previewing-theme.js +2 -4
  819. package/build-module/utils/is-previewing-theme.js.map +1 -1
  820. package/build-module/utils/is-template-revertable.js +1 -1
  821. package/build-module/utils/is-template-revertable.js.map +1 -1
  822. package/build-module/utils/use-activate-theme.js +2 -2
  823. package/build-module/utils/use-activate-theme.js.map +1 -1
  824. package/build-module/utils/use-debounced-input.js +17 -0
  825. package/build-module/utils/use-debounced-input.js.map +1 -0
  826. package/build-style/style-rtl.css +587 -71
  827. package/build-style/style.css +587 -71
  828. package/package.json +44 -37
  829. package/src/components/add-new-page/index.js +105 -0
  830. package/src/components/add-new-pattern/index.js +94 -0
  831. package/src/components/add-new-template/add-custom-template-modal-content.js +1 -13
  832. package/src/components/add-new-template/index.js +0 -3
  833. package/src/components/add-new-template/new-template.js +3 -3
  834. package/src/components/app/index.js +1 -1
  835. package/src/components/block-editor/back-button.js +5 -2
  836. package/src/components/block-editor/constants.js +1 -0
  837. package/src/components/block-editor/editor-canvas.js +1 -1
  838. package/src/components/block-editor/get-block-editor-provider.js +29 -0
  839. package/src/components/block-editor/index.js +15 -188
  840. package/src/components/block-editor/providers/default-block-editor-provider.js +44 -0
  841. package/src/components/block-editor/providers/navigation-block-editor-provider.js +114 -0
  842. package/src/components/block-editor/site-editor-canvas.js +155 -0
  843. package/src/components/block-editor/style.scss +6 -0
  844. package/src/components/block-editor/use-site-editor-settings.js +91 -0
  845. package/src/components/canvas-spinner/index.js +11 -1
  846. package/src/components/create-pattern-modal/index.js +134 -0
  847. package/src/components/create-pattern-modal/style.scss +3 -0
  848. package/src/components/create-template-part-modal/index.js +63 -3
  849. package/src/components/editor/index.js +32 -17
  850. package/src/components/editor/style.scss +6 -11
  851. package/src/components/editor-canvas-container/index.js +21 -4
  852. package/src/components/global-styles/color-palette-panel.js +1 -1
  853. package/src/components/global-styles/dimensions-panel.js +1 -1
  854. package/src/components/global-styles/global-styles-provider.js +10 -14
  855. package/src/components/global-styles/gradients-palette-panel.js +1 -1
  856. package/src/components/global-styles/hooks.js +1 -1
  857. package/src/components/global-styles/palette.js +2 -2
  858. package/src/components/global-styles/preview.js +1 -1
  859. package/src/components/global-styles/root-menu.js +1 -1
  860. package/src/components/global-styles/screen-block-list.js +1 -1
  861. package/src/components/global-styles/screen-block.js +1 -1
  862. package/src/components/global-styles/screen-colors.js +1 -1
  863. package/src/components/global-styles/screen-css.js +1 -1
  864. package/src/components/global-styles/screen-layout.js +1 -1
  865. package/src/components/global-styles/screen-revisions/index.js +1 -1
  866. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +8 -6
  867. package/src/components/global-styles/screen-root.js +1 -1
  868. package/src/components/global-styles/screen-typography.js +1 -1
  869. package/src/components/global-styles/stories/index.js +1 -1
  870. package/src/components/global-styles/style-variations-container.js +13 -3
  871. package/src/components/global-styles/style.scss +11 -0
  872. package/src/components/global-styles/typography-panel.js +1 -1
  873. package/src/components/global-styles/typography-preview.js +1 -1
  874. package/src/components/global-styles/ui.js +132 -45
  875. package/src/components/global-styles-renderer/index.js +1 -1
  876. package/src/components/header-edit-mode/document-actions/index.js +155 -36
  877. package/src/components/header-edit-mode/document-actions/style.scss +72 -13
  878. package/src/components/header-edit-mode/index.js +4 -4
  879. package/src/components/header-edit-mode/tools-more-menu-group/index.js +1 -6
  880. package/src/components/keyboard-shortcuts/edit-mode.js +5 -1
  881. package/src/components/keyboard-shortcuts/index.js +5 -1
  882. package/src/components/keyboard-shortcuts/register.js +1 -1
  883. package/src/components/layout/hooks.js +21 -0
  884. package/src/components/layout/index.js +92 -70
  885. package/src/components/layout/style.scss +7 -0
  886. package/src/components/list/index.js +1 -1
  887. package/src/components/list/table.js +6 -2
  888. package/src/components/page/header.js +38 -0
  889. package/src/components/page/index.js +38 -0
  890. package/src/components/page/style.scss +38 -0
  891. package/src/components/page-actions/delete-page-menu-item.js +71 -0
  892. package/src/components/page-actions/index.js +36 -0
  893. package/src/components/page-content-focus-manager/back-to-page-notification.js +65 -0
  894. package/src/components/page-content-focus-manager/constants.js +5 -0
  895. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +52 -0
  896. package/src/components/page-content-focus-manager/edit-template-notification.js +108 -0
  897. package/src/components/page-content-focus-manager/index.js +26 -0
  898. package/src/components/page-library/grid-item.js +179 -0
  899. package/src/components/page-library/grid.js +39 -0
  900. package/src/components/page-library/index.js +39 -0
  901. package/src/components/page-library/no-patterns.js +12 -0
  902. package/src/components/page-library/patterns-list.js +114 -0
  903. package/src/components/page-library/search-items.js +171 -0
  904. package/src/components/page-library/style.scss +105 -0
  905. package/src/components/page-library/use-library-settings.js +51 -0
  906. package/src/components/page-library/use-patterns.js +238 -0
  907. package/src/components/page-library/utils.js +21 -0
  908. package/src/components/page-main/index.js +27 -0
  909. package/src/components/page-templates/index.js +104 -0
  910. package/src/components/resizable-frame/index.js +18 -6
  911. package/src/components/resizable-frame/style.scss +20 -18
  912. package/src/components/revisions/index.js +7 -8
  913. package/src/components/routes/link.js +2 -2
  914. package/src/components/routes/use-title.js +1 -1
  915. package/src/components/save-button/index.js +16 -7
  916. package/src/components/save-hub/index.js +143 -38
  917. package/src/components/save-hub/style.scss +6 -0
  918. package/src/components/save-panel/index.js +63 -16
  919. package/src/components/secondary-sidebar/list-view-sidebar.js +56 -2
  920. package/src/components/sidebar/index.js +13 -7
  921. package/src/components/sidebar/style.scss +3 -4
  922. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +42 -29
  923. package/src/components/sidebar-edit-mode/index.js +16 -14
  924. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +69 -0
  925. package/src/components/sidebar-edit-mode/page-panels/index.js +89 -0
  926. package/src/components/sidebar-edit-mode/page-panels/page-content.js +27 -0
  927. package/src/components/sidebar-edit-mode/page-panels/page-status.js +233 -0
  928. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +35 -0
  929. package/src/components/sidebar-edit-mode/page-panels/publish-date.js +94 -0
  930. package/src/components/sidebar-edit-mode/page-panels/style.scss +41 -0
  931. package/src/components/sidebar-edit-mode/settings-header/index.js +61 -29
  932. package/src/components/sidebar-edit-mode/sidebar-card/index.js +34 -0
  933. package/src/components/sidebar-edit-mode/sidebar-card/style.scss +34 -0
  934. package/src/components/sidebar-edit-mode/sidebar-fixed-bottom.js +1 -1
  935. package/src/components/sidebar-edit-mode/template-panel/index.js +65 -0
  936. package/src/components/sidebar-edit-mode/{template-card → template-panel}/style.scss +2 -32
  937. package/src/components/sidebar-navigation-item/index.js +6 -2
  938. package/src/components/sidebar-navigation-item/style.scss +7 -0
  939. package/src/components/sidebar-navigation-screen/index.js +89 -53
  940. package/src/components/sidebar-navigation-screen/style.scss +66 -5
  941. package/src/components/sidebar-navigation-screen-details-footer/index.js +45 -0
  942. package/src/components/sidebar-navigation-screen-details-footer/style.scss +5 -0
  943. package/src/components/sidebar-navigation-screen-details-panel/index.js +40 -0
  944. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +14 -0
  945. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +29 -0
  946. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +14 -0
  947. package/src/components/sidebar-navigation-screen-details-panel/style.scss +25 -0
  948. package/src/components/sidebar-navigation-screen-global-styles/index.js +126 -14
  949. package/src/components/sidebar-navigation-screen-global-styles/style.scss +12 -0
  950. package/src/components/sidebar-navigation-screen-library/category-item.js +43 -0
  951. package/src/components/sidebar-navigation-screen-library/index.js +136 -0
  952. package/src/components/sidebar-navigation-screen-library/style.scss +7 -0
  953. package/src/components/sidebar-navigation-screen-library/use-default-pattern-categories.js +32 -0
  954. package/src/components/sidebar-navigation-screen-library/use-pattern-categories.js +64 -0
  955. package/src/components/sidebar-navigation-screen-library/use-template-part-areas.js +33 -0
  956. package/src/components/sidebar-navigation-screen-library/use-theme-patterns.js +44 -0
  957. package/src/components/sidebar-navigation-screen-main/index.js +11 -14
  958. package/src/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  959. package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +45 -0
  960. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +24 -0
  961. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +50 -96
  962. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +89 -0
  963. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +51 -0
  964. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +51 -0
  965. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +39 -0
  966. package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +15 -0
  967. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +175 -0
  968. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +3 -1
  969. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +43 -7
  970. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +61 -2
  971. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +25 -47
  972. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +5 -1
  973. package/src/components/sidebar-navigation-screen-page/index.js +98 -24
  974. package/src/components/sidebar-navigation-screen-page/page-details.js +166 -0
  975. package/src/components/sidebar-navigation-screen-page/status-label.js +105 -0
  976. package/src/components/sidebar-navigation-screen-page/style.scss +63 -0
  977. package/src/components/sidebar-navigation-screen-pages/index.js +181 -44
  978. package/src/components/sidebar-navigation-screen-pattern/index.js +44 -0
  979. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +28 -0
  980. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +21 -0
  981. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +30 -0
  982. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +33 -0
  983. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +71 -0
  984. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +86 -0
  985. package/src/components/sidebar-navigation-screen-template/home-template-details.js +230 -0
  986. package/src/components/sidebar-navigation-screen-template/index.js +44 -27
  987. package/src/components/sidebar-navigation-screen-template/style.scss +23 -0
  988. package/src/components/sidebar-navigation-screen-templates/index.js +19 -26
  989. package/src/components/site-hub/index.js +26 -7
  990. package/src/components/site-hub/style.scss +26 -0
  991. package/src/components/style-book/index.js +1 -1
  992. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +16 -3
  993. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  994. package/src/components/sync-state-with-url/use-sync-path-with-url.js +11 -1
  995. package/src/components/table/index.js +33 -0
  996. package/src/components/table/style.scss +37 -0
  997. package/src/components/{list/actions → template-actions}/index.js +19 -6
  998. package/src/components/template-part-converter/convert-to-template-part.js +4 -27
  999. package/src/components/welcome-guide/editor.js +1 -1
  1000. package/src/components/welcome-guide/styles.js +5 -3
  1001. package/src/hooks/commands/use-common-commands.js +167 -0
  1002. package/src/hooks/commands/use-edit-mode-commands.js +61 -25
  1003. package/src/hooks/index.js +1 -0
  1004. package/src/hooks/navigation-menu-edit.js +95 -0
  1005. package/src/hooks/push-changes-to-global-styles/index.js +14 -8
  1006. package/src/hooks/template-part-edit.js +1 -1
  1007. package/src/store/actions.js +52 -1
  1008. package/src/store/index.js +1 -1
  1009. package/src/store/reducer.js +21 -0
  1010. package/src/store/selectors.js +54 -5
  1011. package/src/store/test/actions.js +31 -0
  1012. package/src/store/test/reducer.js +44 -0
  1013. package/src/store/test/selectors.js +57 -0
  1014. package/src/style.scss +17 -4
  1015. package/src/utils/get-is-list-page.js +16 -4
  1016. package/src/utils/is-previewing-theme.js +2 -3
  1017. package/src/utils/use-activate-theme.js +3 -2
  1018. package/src/utils/use-debounced-input.js +17 -0
  1019. package/build/components/add-new-template/new-template-part.js +0 -116
  1020. package/build/components/add-new-template/new-template-part.js.map +0 -1
  1021. package/build/components/list/actions/index.js.map +0 -1
  1022. package/build/components/list/actions/rename-menu-item.js.map +0 -1
  1023. package/build/components/sidebar-edit-mode/template-card/index.js.map +0 -1
  1024. package/build/components/sidebar-edit-mode/template-card/template-actions.js.map +0 -1
  1025. package/build/components/sidebar-edit-mode/template-card/template-areas.js.map +0 -1
  1026. package/build/components/sidebar-edit-mode/template-revisions/index.js.map +0 -1
  1027. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +0 -53
  1028. package/build/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +0 -1
  1029. package/build/components/sidebar-navigation-subtitle/index.js +0 -18
  1030. package/build/components/sidebar-navigation-subtitle/index.js.map +0 -1
  1031. package/build/private-apis.js.map +0 -1
  1032. package/build-module/components/add-new-template/new-template-part.js +0 -96
  1033. package/build-module/components/add-new-template/new-template-part.js.map +0 -1
  1034. package/build-module/components/list/actions/index.js.map +0 -1
  1035. package/build-module/components/list/actions/rename-menu-item.js.map +0 -1
  1036. package/build-module/components/sidebar-edit-mode/template-card/index.js +0 -68
  1037. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +0 -1
  1038. package/build-module/components/sidebar-edit-mode/template-card/template-actions.js.map +0 -1
  1039. package/build-module/components/sidebar-edit-mode/template-card/template-areas.js.map +0 -1
  1040. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +0 -40
  1041. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigator-button.js.map +0 -1
  1042. package/build-module/components/sidebar-navigation-subtitle/index.js +0 -10
  1043. package/build-module/components/sidebar-navigation-subtitle/index.js.map +0 -1
  1044. package/build-module/private-apis.js.map +0 -1
  1045. package/src/components/add-new-template/new-template-part.js +0 -109
  1046. package/src/components/sidebar-edit-mode/template-card/index.js +0 -59
  1047. package/src/components/sidebar-navigation-screen-navigation-menus/navigator-button.js +0 -47
  1048. package/src/components/sidebar-navigation-screen-pages/style.scss +0 -4
  1049. package/src/components/sidebar-navigation-screen-templates/style.scss +0 -4
  1050. package/src/components/sidebar-navigation-subtitle/index.js +0 -5
  1051. package/src/components/sidebar-navigation-subtitle/style.scss +0 -7
  1052. /package/src/components/sidebar-edit-mode/{template-revisions/index.js → template-panel/last-revision.js} +0 -0
  1053. /package/src/components/sidebar-edit-mode/{template-card → template-panel}/template-actions.js +0 -0
  1054. /package/src/components/sidebar-edit-mode/{template-card → template-panel}/template-areas.js +0 -0
  1055. /package/src/components/{list/actions → template-actions}/rename-menu-item.js +0 -0
  1056. /package/src/{private-apis.js → lock-unlock.js} +0 -0
@@ -0,0 +1,114 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+
5
+ import {
6
+ SearchControl,
7
+ __experimentalHeading as Heading,
8
+ __experimentalText as Text,
9
+ __experimentalVStack as VStack,
10
+ Flex,
11
+ FlexBlock,
12
+ } from '@wordpress/components';
13
+ import { __, isRTL } from '@wordpress/i18n';
14
+ import { symbol, chevronLeft, chevronRight } from '@wordpress/icons';
15
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
16
+ import { useViewportMatch } from '@wordpress/compose';
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+ import Grid from './grid';
22
+ import NoPatterns from './no-patterns';
23
+ import usePatterns from './use-patterns';
24
+ import SidebarButton from '../sidebar-button';
25
+ import useDebouncedInput from '../../utils/use-debounced-input';
26
+ import { unlock } from '../../lock-unlock';
27
+
28
+ const { useLocation, useHistory } = unlock( routerPrivateApis );
29
+
30
+ export default function PatternsList( { categoryId, type } ) {
31
+ const location = useLocation();
32
+ const history = useHistory();
33
+ const isMobileViewport = useViewportMatch( 'medium', '<' );
34
+ const [ filterValue, setFilterValue, delayedFilterValue ] =
35
+ useDebouncedInput( '' );
36
+
37
+ const [ patterns, isResolving ] = usePatterns(
38
+ type,
39
+ categoryId,
40
+ delayedFilterValue
41
+ );
42
+
43
+ const { syncedPatterns, unsyncedPatterns } = patterns;
44
+ const hasPatterns = !! syncedPatterns.length || !! unsyncedPatterns.length;
45
+
46
+ 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 library page.
55
+ // Otherwise push a stack onto the history.
56
+ if ( location.state?.backPath === '/library' ) {
57
+ history.back();
58
+ } else {
59
+ history.push( { path: '/library' } );
60
+ }
61
+ } }
62
+ />
63
+ ) }
64
+ <FlexBlock>
65
+ <SearchControl
66
+ className="edit-site-library__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-library__section-header">
79
+ <Heading level={ 4 }>{ __( 'Synced' ) }</Heading>
80
+ <Text variant="muted" as="p">
81
+ { __(
82
+ 'Patterns that are kept in sync across your site'
83
+ ) }
84
+ </Text>
85
+ </VStack>
86
+ <Grid
87
+ icon={ symbol }
88
+ categoryId={ categoryId }
89
+ label={ __( 'Synced patterns' ) }
90
+ items={ syncedPatterns }
91
+ />
92
+ </>
93
+ ) }
94
+ { ! isResolving && !! unsyncedPatterns.length && (
95
+ <>
96
+ <VStack className="edit-site-library__section-header">
97
+ <Heading level={ 4 }>{ __( 'Standard' ) }</Heading>
98
+ <Text variant="muted" as="p">
99
+ { __(
100
+ 'Patterns that can be changed freely without affecting your site'
101
+ ) }
102
+ </Text>
103
+ </VStack>
104
+ <Grid
105
+ categoryId={ categoryId }
106
+ label={ __( 'Standard patterns' ) }
107
+ items={ unsyncedPatterns }
108
+ />
109
+ </>
110
+ ) }
111
+ { ! isResolving && ! hasPatterns && <NoPatterns /> }
112
+ </VStack>
113
+ );
114
+ }
@@ -0,0 +1,171 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import removeAccents from 'remove-accents';
5
+ import { noCase } from 'change-case';
6
+
7
+ // Default search helpers.
8
+ const defaultGetName = ( item ) => item.name || '';
9
+ const defaultGetTitle = ( item ) => item.title;
10
+ const defaultGetDescription = ( item ) => item.description || '';
11
+ const defaultGetKeywords = ( item ) => item.keywords || [];
12
+ const defaultHasCategory = () => false;
13
+
14
+ /**
15
+ * Extracts words from an input string.
16
+ *
17
+ * @param {string} input The input string.
18
+ *
19
+ * @return {Array} Words, extracted from the input string.
20
+ */
21
+ function extractWords( input = '' ) {
22
+ return noCase( input, {
23
+ splitRegexp: [
24
+ /([\p{Ll}\p{Lo}\p{N}])([\p{Lu}\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.
25
+ /([\p{Lu}\p{Lt}])([\p{Lu}\p{Lt}][\p{Ll}\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.
26
+ ],
27
+ stripRegexp: /(\p{C}|\p{P}|\p{S})+/giu, // Anything that's not a punctuation, symbol or control/format character.
28
+ } )
29
+ .split( ' ' )
30
+ .filter( Boolean );
31
+ }
32
+
33
+ /**
34
+ * Sanitizes the search input string.
35
+ *
36
+ * @param {string} input The search input to normalize.
37
+ *
38
+ * @return {string} The normalized search input.
39
+ */
40
+ function normalizeSearchInput( input = '' ) {
41
+ // Disregard diacritics.
42
+ // Input: "média"
43
+ input = removeAccents( input );
44
+
45
+ // Accommodate leading slash, matching autocomplete expectations.
46
+ // Input: "/media"
47
+ input = input.replace( /^\//, '' );
48
+
49
+ // Lowercase.
50
+ // Input: "MEDIA"
51
+ input = input.toLowerCase();
52
+
53
+ return input;
54
+ }
55
+
56
+ /**
57
+ * Converts the search term into a list of normalized terms.
58
+ *
59
+ * @param {string} input The search term to normalize.
60
+ *
61
+ * @return {string[]} The normalized list of search terms.
62
+ */
63
+ export const getNormalizedSearchTerms = ( input = '' ) => {
64
+ return extractWords( normalizeSearchInput( input ) );
65
+ };
66
+
67
+ const removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {
68
+ return unmatchedTerms.filter(
69
+ ( term ) =>
70
+ ! getNormalizedSearchTerms( unprocessedTerms ).some(
71
+ ( unprocessedTerm ) => unprocessedTerm.includes( term )
72
+ )
73
+ );
74
+ };
75
+
76
+ /**
77
+ * Filters an item list given a search term.
78
+ *
79
+ * @param {Array} items Item list
80
+ * @param {string} searchInput Search input.
81
+ * @param {Object} config Search Config.
82
+ *
83
+ * @return {Array} Filtered item list.
84
+ */
85
+ export const searchItems = ( items = [], searchInput = '', config = {} ) => {
86
+ const normalizedSearchTerms = getNormalizedSearchTerms( searchInput );
87
+ const onlyFilterByCategory = ! normalizedSearchTerms.length;
88
+ const searchRankConfig = { ...config, onlyFilterByCategory };
89
+
90
+ // If we aren't filtering on search terms, matching on category is satisfactory.
91
+ // If we are, then we need more than a category match.
92
+ const threshold = onlyFilterByCategory ? 0 : 1;
93
+
94
+ const rankedItems = items
95
+ .map( ( item ) => {
96
+ return [
97
+ item,
98
+ getItemSearchRank( item, searchInput, searchRankConfig ),
99
+ ];
100
+ } )
101
+ .filter( ( [ , rank ] ) => rank > threshold );
102
+
103
+ // If we didn't have terms to search on, there's no point sorting.
104
+ if ( normalizedSearchTerms.length === 0 ) {
105
+ return rankedItems.map( ( [ item ] ) => item );
106
+ }
107
+
108
+ rankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );
109
+ return rankedItems.map( ( [ item ] ) => item );
110
+ };
111
+
112
+ /**
113
+ * Get the search rank for a given item and a specific search term.
114
+ * The better the match, the higher the rank.
115
+ * If the rank equals 0, it should be excluded from the results.
116
+ *
117
+ * @param {Object} item Item to filter.
118
+ * @param {string} searchTerm Search term.
119
+ * @param {Object} config Search Config.
120
+ *
121
+ * @return {number} Search Rank.
122
+ */
123
+ function getItemSearchRank( item, searchTerm, config ) {
124
+ const {
125
+ categoryId,
126
+ getName = defaultGetName,
127
+ getTitle = defaultGetTitle,
128
+ getDescription = defaultGetDescription,
129
+ getKeywords = defaultGetKeywords,
130
+ hasCategory = defaultHasCategory,
131
+ onlyFilterByCategory,
132
+ } = config;
133
+
134
+ let rank = hasCategory( item, categoryId ) ? 1 : 0;
135
+
136
+ // If an item doesn't belong to the current category or we don't have
137
+ // search terms to filter by, return the initial rank value.
138
+ if ( ! rank || onlyFilterByCategory ) {
139
+ return rank;
140
+ }
141
+
142
+ const name = getName( item );
143
+ const title = getTitle( item );
144
+ const description = getDescription( item );
145
+ const keywords = getKeywords( item );
146
+
147
+ const normalizedSearchInput = normalizeSearchInput( searchTerm );
148
+ const normalizedTitle = normalizeSearchInput( title );
149
+
150
+ // Prefers exact matches
151
+ // Then prefers if the beginning of the title matches the search term
152
+ // name, keywords, description matches come later.
153
+ if ( normalizedSearchInput === normalizedTitle ) {
154
+ rank += 30;
155
+ } else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {
156
+ rank += 20;
157
+ } else {
158
+ const terms = [ name, title, description, ...keywords ].join( ' ' );
159
+ const normalizedSearchTerms = extractWords( normalizedSearchInput );
160
+ const unmatchedTerms = removeMatchingTerms(
161
+ normalizedSearchTerms,
162
+ terms
163
+ );
164
+
165
+ if ( unmatchedTerms.length === 0 ) {
166
+ rank += 10;
167
+ }
168
+ }
169
+
170
+ return rank;
171
+ }
@@ -0,0 +1,105 @@
1
+ .edit-site-library {
2
+ background: rgba(0, 0, 0, 0.05);
3
+ margin: $header-height 0 0;
4
+ .components-text {
5
+ color: $gray-600;
6
+ }
7
+
8
+ .components-heading {
9
+ color: $white;
10
+ }
11
+
12
+ @include break-medium {
13
+ margin: 0;
14
+ }
15
+ }
16
+
17
+ .edit-site-library__grid {
18
+ column-gap: $grid-unit-30;
19
+ @include break-large() {
20
+ column-count: 2;
21
+ }
22
+
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;
27
+
28
+ .edit-site-library__pattern {
29
+ break-inside: avoid-column;
30
+ display: flex;
31
+ flex-direction: column;
32
+ margin-bottom: $grid-unit-60;
33
+
34
+ .edit-site-library__preview {
35
+ border-radius: $radius-block-ui;
36
+ cursor: pointer;
37
+ overflow: hidden;
38
+
39
+ &: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
+
42
+ // Windows High Contrast mode will show this outline, but not the box-shadow.
43
+ outline: 2px solid transparent;
44
+ }
45
+
46
+ &.is-inactive {
47
+ cursor: default;
48
+ }
49
+ }
50
+
51
+ .edit-site-library__footer,
52
+ .edit-site-library__button {
53
+ color: $gray-600;
54
+ }
55
+
56
+ &.is-placeholder .edit-site-library__preview {
57
+ min-height: $grid-unit-80;
58
+ color: $gray-600;
59
+ border: 1px dashed $gray-800;
60
+ display: flex;
61
+ align-items: center;
62
+ justify-content: center;
63
+
64
+ &:focus {
65
+ box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
66
+ }
67
+ }
68
+ }
69
+
70
+ .edit-site-library__preview {
71
+ flex: 1;
72
+ margin-bottom: $grid-unit-20;
73
+ }
74
+ }
75
+
76
+ // The increased specificity here is to overcome component styles
77
+ // without relying on internal component class names.
78
+ .edit-site-library__search {
79
+ &#{&} input[type="search"] {
80
+ background: $gray-800;
81
+ color: $gray-100;
82
+
83
+ &:focus {
84
+ background: $gray-800;
85
+ }
86
+ }
87
+
88
+ svg {
89
+ fill: $gray-600;
90
+ }
91
+ }
92
+
93
+ .edit-site-library__pattern-title {
94
+ color: $gray-600;
95
+
96
+ svg {
97
+ border-radius: $grid-unit-05;
98
+ background: var(--wp-block-synced-color);
99
+ fill: $white;
100
+ }
101
+ }
102
+
103
+ .edit-site-library__no-results {
104
+ color: $gray-600;
105
+ }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { store as coreStore } from '@wordpress/core-data';
5
+ import { useSelect } from '@wordpress/data';
6
+ import { useMemo } from '@wordpress/element';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import { unlock } from '../../lock-unlock';
12
+ import { store as editSiteStore } from '../../store';
13
+ import { filterOutDuplicatesByName } from './utils';
14
+
15
+ export default function useLibrarySettings() {
16
+ const storedSettings = useSelect( ( select ) => {
17
+ const { getSettings } = unlock( select( editSiteStore ) );
18
+ return getSettings();
19
+ }, [] );
20
+
21
+ const settingsBlockPatterns =
22
+ storedSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0
23
+ storedSettings.__experimentalBlockPatterns; // WP 5.9
24
+
25
+ const restBlockPatterns = useSelect(
26
+ ( select ) => select( coreStore ).getBlockPatterns(),
27
+ []
28
+ );
29
+
30
+ const blockPatterns = useMemo(
31
+ () =>
32
+ [
33
+ ...( settingsBlockPatterns || [] ),
34
+ ...( restBlockPatterns || [] ),
35
+ ].filter( filterOutDuplicatesByName ),
36
+ [ settingsBlockPatterns, restBlockPatterns ]
37
+ );
38
+
39
+ const settings = useMemo( () => {
40
+ const { __experimentalAdditionalBlockPatterns, ...restStoredSettings } =
41
+ storedSettings;
42
+
43
+ return {
44
+ ...restStoredSettings,
45
+ __experimentalBlockPatterns: blockPatterns,
46
+ __unstableIsPreviewMode: true,
47
+ };
48
+ }, [ storedSettings, blockPatterns ] );
49
+
50
+ return settings;
51
+ }
@@ -0,0 +1,238 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { parse } from '@wordpress/blocks';
5
+ import { useSelect } from '@wordpress/data';
6
+ import { store as coreStore } from '@wordpress/core-data';
7
+ import { useMemo } from '@wordpress/element';
8
+
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+ import {
13
+ CORE_PATTERN_SOURCES,
14
+ PATTERNS,
15
+ SYNC_TYPES,
16
+ TEMPLATE_PARTS,
17
+ USER_PATTERNS,
18
+ USER_PATTERN_CATEGORY,
19
+ filterOutDuplicatesByName,
20
+ } from './utils';
21
+ import { unlock } from '../../lock-unlock';
22
+ import { searchItems } from './search-items';
23
+ import { store as editSiteStore } from '../../store';
24
+
25
+ const EMPTY_PATTERN_LIST = [];
26
+
27
+ const createTemplatePartId = ( theme, slug ) =>
28
+ theme && slug ? theme + '//' + slug : null;
29
+
30
+ const templatePartToPattern = ( templatePart ) => ( {
31
+ blocks: parse( templatePart.content.raw ),
32
+ categories: [ templatePart.area ],
33
+ description: templatePart.description || '',
34
+ keywords: templatePart.keywords || [],
35
+ name: createTemplatePartId( templatePart.theme, templatePart.slug ),
36
+ title: templatePart.title.rendered,
37
+ type: templatePart.type,
38
+ templatePart,
39
+ } );
40
+
41
+ const useTemplatePartsAsPatterns = (
42
+ categoryId,
43
+ postType = TEMPLATE_PARTS,
44
+ filterValue = ''
45
+ ) => {
46
+ const { templateParts, isResolving } = useSelect(
47
+ ( select ) => {
48
+ if ( postType !== TEMPLATE_PARTS ) {
49
+ return {
50
+ templateParts: EMPTY_PATTERN_LIST,
51
+ isResolving: false,
52
+ };
53
+ }
54
+
55
+ const { getEntityRecords, isResolving: _isResolving } =
56
+ select( coreStore );
57
+ const query = { per_page: -1 };
58
+ const rawTemplateParts = getEntityRecords(
59
+ 'postType',
60
+ postType,
61
+ query
62
+ );
63
+ const partsAsPatterns = rawTemplateParts?.map( ( templatePart ) =>
64
+ templatePartToPattern( templatePart )
65
+ );
66
+
67
+ return {
68
+ templateParts: partsAsPatterns,
69
+ isResolving: _isResolving( 'getEntityRecords', [
70
+ 'postType',
71
+ 'wp_template_part',
72
+ query,
73
+ ] ),
74
+ };
75
+ },
76
+ [ postType ]
77
+ );
78
+
79
+ const filteredTemplateParts = useMemo( () => {
80
+ if ( ! templateParts ) {
81
+ return EMPTY_PATTERN_LIST;
82
+ }
83
+
84
+ return searchItems( templateParts, filterValue, {
85
+ categoryId,
86
+ hasCategory: ( item, area ) => item.templatePart.area === area,
87
+ } );
88
+ }, [ templateParts, filterValue, categoryId ] );
89
+
90
+ return { templateParts: filteredTemplateParts, isResolving };
91
+ };
92
+
93
+ const useThemePatterns = (
94
+ categoryId,
95
+ postType = PATTERNS,
96
+ filterValue = ''
97
+ ) => {
98
+ const blockPatterns = useSelect( ( select ) => {
99
+ const { getSettings } = unlock( select( editSiteStore ) );
100
+ const settings = getSettings();
101
+ return (
102
+ settings.__experimentalAdditionalBlockPatterns ??
103
+ settings.__experimentalBlockPatterns
104
+ );
105
+ } );
106
+
107
+ const restBlockPatterns = useSelect( ( select ) =>
108
+ select( coreStore ).getBlockPatterns()
109
+ );
110
+
111
+ const patterns = useMemo(
112
+ () =>
113
+ [ ...( blockPatterns || [] ), ...( restBlockPatterns || [] ) ]
114
+ .filter(
115
+ ( pattern ) =>
116
+ ! CORE_PATTERN_SOURCES.includes( pattern.source )
117
+ )
118
+ .filter( filterOutDuplicatesByName )
119
+ .map( ( pattern ) => ( {
120
+ ...pattern,
121
+ keywords: pattern.keywords || [],
122
+ type: 'pattern',
123
+ blocks: parse( pattern.content ),
124
+ } ) ),
125
+ [ blockPatterns, restBlockPatterns ]
126
+ );
127
+
128
+ const filteredPatterns = useMemo( () => {
129
+ if ( postType !== PATTERNS ) {
130
+ return EMPTY_PATTERN_LIST;
131
+ }
132
+
133
+ return searchItems( patterns, filterValue, {
134
+ categoryId,
135
+ hasCategory: ( item, currentCategory ) =>
136
+ item.categories?.includes( currentCategory ),
137
+ } );
138
+ }, [ patterns, filterValue, categoryId, postType ] );
139
+
140
+ return filteredPatterns;
141
+ };
142
+
143
+ const reusableBlockToPattern = ( reusableBlock ) => ( {
144
+ blocks: parse( reusableBlock.content.raw ),
145
+ categories: reusableBlock.wp_pattern,
146
+ id: reusableBlock.id,
147
+ name: reusableBlock.slug,
148
+ syncStatus: reusableBlock.meta?.sync_status,
149
+ title: reusableBlock.title.raw,
150
+ type: reusableBlock.type,
151
+ reusableBlock,
152
+ } );
153
+
154
+ const useUserPatterns = (
155
+ categoryId,
156
+ categoryType = PATTERNS,
157
+ filterValue = ''
158
+ ) => {
159
+ const postType = categoryType === PATTERNS ? USER_PATTERNS : categoryType;
160
+ const unfilteredPatterns = useSelect(
161
+ ( select ) => {
162
+ if (
163
+ postType !== USER_PATTERNS ||
164
+ categoryId !== USER_PATTERN_CATEGORY
165
+ ) {
166
+ return EMPTY_PATTERN_LIST;
167
+ }
168
+
169
+ const { getEntityRecords } = select( coreStore );
170
+ const records = getEntityRecords( 'postType', postType, {
171
+ per_page: -1,
172
+ } );
173
+
174
+ if ( ! records ) {
175
+ return EMPTY_PATTERN_LIST;
176
+ }
177
+
178
+ return records.map( ( record ) =>
179
+ reusableBlockToPattern( record )
180
+ );
181
+ },
182
+ [ postType, categoryId ]
183
+ );
184
+
185
+ const filteredPatterns = useMemo( () => {
186
+ if ( ! unfilteredPatterns.length ) {
187
+ return EMPTY_PATTERN_LIST;
188
+ }
189
+
190
+ return searchItems( unfilteredPatterns, filterValue, {
191
+ // We exit user pattern retrieval early if we aren't in the
192
+ // catch-all category for user created patterns, so it has
193
+ // to be in the category.
194
+ hasCategory: () => true,
195
+ } );
196
+ }, [ unfilteredPatterns, filterValue ] );
197
+
198
+ const patterns = { syncedPatterns: [], unsyncedPatterns: [] };
199
+
200
+ filteredPatterns.forEach( ( pattern ) => {
201
+ if ( pattern.syncStatus === SYNC_TYPES.full ) {
202
+ patterns.syncedPatterns.push( pattern );
203
+ } else {
204
+ patterns.unsyncedPatterns.push( pattern );
205
+ }
206
+ } );
207
+
208
+ return patterns;
209
+ };
210
+
211
+ export const usePatterns = ( categoryType, categoryId, filterValue ) => {
212
+ const blockPatterns = useThemePatterns(
213
+ categoryId,
214
+ categoryType,
215
+ filterValue
216
+ );
217
+
218
+ const { syncedPatterns = [], unsyncedPatterns = [] } = useUserPatterns(
219
+ categoryId,
220
+ categoryType,
221
+ filterValue
222
+ );
223
+
224
+ const { templateParts, isResolving } = useTemplatePartsAsPatterns(
225
+ categoryId,
226
+ categoryType,
227
+ filterValue
228
+ );
229
+
230
+ const patterns = {
231
+ syncedPatterns: [ ...templateParts, ...syncedPatterns ],
232
+ unsyncedPatterns: [ ...blockPatterns, ...unsyncedPatterns ],
233
+ };
234
+
235
+ return [ patterns, isResolving ];
236
+ };
237
+
238
+ export default usePatterns;
@@ -0,0 +1,21 @@
1
+ export const DEFAULT_CATEGORY = 'header';
2
+ export const DEFAULT_TYPE = 'wp_template_part';
3
+ export const PATTERNS = 'pattern';
4
+ export const TEMPLATE_PARTS = 'wp_template_part';
5
+ export const USER_PATTERNS = 'wp_block';
6
+ export const USER_PATTERN_CATEGORY = 'custom-patterns';
7
+
8
+ export const CORE_PATTERN_SOURCES = [
9
+ 'core',
10
+ 'pattern-directory/core',
11
+ 'pattern-directory/featured',
12
+ 'pattern-directory/theme',
13
+ ];
14
+
15
+ export const SYNC_TYPES = {
16
+ full: 'fully',
17
+ unsynced: 'unsynced',
18
+ };
19
+
20
+ export const filterOutDuplicatesByName = ( currentItem, index, items ) =>
21
+ index === items.findIndex( ( item ) => currentItem.name === item.name );