@wordpress/edit-site 5.13.0 → 5.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-page/index.js +1 -7
  3. package/build/components/add-new-page/index.js.map +1 -1
  4. package/build/components/add-new-pattern/index.js +11 -11
  5. package/build/components/add-new-pattern/index.js.map +1 -1
  6. package/build/components/add-new-template/add-custom-generic-template-modal-content.js +2 -2
  7. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  8. package/build/components/add-new-template/new-template.js +69 -14
  9. package/build/components/add-new-template/new-template.js.map +1 -1
  10. package/build/components/block-editor/editor-canvas.js +1 -1
  11. package/build/components/block-editor/editor-canvas.js.map +1 -1
  12. package/build/components/block-editor/inserter-media-categories.js +1 -22
  13. package/build/components/block-editor/inserter-media-categories.js.map +1 -1
  14. package/build/components/block-editor/site-editor-canvas.js +29 -32
  15. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  16. package/build/components/block-editor/use-site-editor-settings.js +9 -12
  17. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  18. package/build/components/canvas-spinner/index.js +1 -18
  19. package/build/components/canvas-spinner/index.js.map +1 -1
  20. package/build/components/create-pattern-modal/index.js +9 -9
  21. package/build/components/create-pattern-modal/index.js.map +1 -1
  22. package/build/components/create-template-part-modal/index.js +1 -1
  23. package/build/components/create-template-part-modal/index.js.map +1 -1
  24. package/build/components/editor/index.js +11 -1
  25. package/build/components/editor/index.js.map +1 -1
  26. package/build/components/global-styles/palette.js +1 -1
  27. package/build/components/global-styles/palette.js.map +1 -1
  28. package/build/components/global-styles/ui.js +7 -2
  29. package/build/components/global-styles/ui.js.map +1 -1
  30. package/build/components/header-edit-mode/document-actions/index.js +9 -1
  31. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  32. package/build/components/header-edit-mode/index.js +41 -10
  33. package/build/components/header-edit-mode/index.js.map +1 -1
  34. package/build/components/header-edit-mode/more-menu/index.js +47 -17
  35. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  36. package/build/components/keyboard-shortcut-help-modal/index.js +17 -4
  37. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  38. package/build/components/keyboard-shortcuts/edit-mode.js +32 -1
  39. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  40. package/build/components/keyboard-shortcuts/register.js +9 -0
  41. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  42. package/build/components/layout/index.js +103 -26
  43. package/build/components/layout/index.js.map +1 -1
  44. package/build/components/page/header.js +1 -1
  45. package/build/components/page/header.js.map +1 -1
  46. package/build/components/page/index.js +3 -1
  47. package/build/components/page/index.js.map +1 -1
  48. package/build/components/page-actions/delete-page-menu-item.js +2 -1
  49. package/build/components/page-actions/delete-page-menu-item.js.map +1 -1
  50. package/build/components/page-content-focus-manager/back-to-page-notification.js +9 -3
  51. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  52. package/build/components/page-main/index.js +8 -4
  53. package/build/components/page-main/index.js.map +1 -1
  54. package/build/components/{page-library → page-patterns}/grid-item.js +61 -33
  55. package/build/components/page-patterns/grid-item.js.map +1 -0
  56. package/build/components/{page-library → page-patterns}/grid.js +1 -1
  57. package/build/components/page-patterns/grid.js.map +1 -0
  58. package/build/components/{page-library → page-patterns}/index.js +6 -6
  59. package/build/components/page-patterns/index.js.map +1 -0
  60. package/build/components/{page-library → page-patterns}/no-patterns.js +1 -1
  61. package/build/components/page-patterns/no-patterns.js.map +1 -0
  62. package/build/components/{page-library → page-patterns}/patterns-list.js +9 -7
  63. package/build/components/page-patterns/patterns-list.js.map +1 -0
  64. package/build/components/page-patterns/search-items.js.map +1 -0
  65. package/build/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +3 -3
  66. package/build/components/page-patterns/use-pattern-settings.js.map +1 -0
  67. package/build/components/{page-library → page-patterns}/use-patterns.js +12 -2
  68. package/build/components/page-patterns/use-patterns.js.map +1 -0
  69. package/build/components/{page-library → page-patterns}/utils.js +3 -3
  70. package/build/components/page-patterns/utils.js.map +1 -0
  71. package/build/components/page-template-parts/index.js +103 -0
  72. package/build/components/page-template-parts/index.js.map +1 -0
  73. package/build/components/page-templates/index.js +1 -0
  74. package/build/components/page-templates/index.js.map +1 -1
  75. package/build/components/preferences-modal/enable-feature.js +5 -1
  76. package/build/components/preferences-modal/enable-feature.js.map +1 -1
  77. package/build/components/preferences-modal/index.js +43 -4
  78. package/build/components/preferences-modal/index.js.map +1 -1
  79. package/build/components/sidebar/index.js +6 -6
  80. package/build/components/sidebar/index.js.map +1 -1
  81. package/build/components/sidebar-edit-mode/index.js +4 -2
  82. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  83. package/build/components/sidebar-edit-mode/settings-header/index.js +7 -1
  84. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  85. package/build/components/sidebar-navigation-screen/index.js +7 -3
  86. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  87. package/build/components/sidebar-navigation-screen-global-styles/index.js +69 -5
  88. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  89. package/build/components/sidebar-navigation-screen-main/index.js +2 -2
  90. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  91. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +7 -16
  92. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  93. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +10 -11
  94. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  95. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +6 -6
  96. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  97. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +10 -1
  98. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  99. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +9 -3
  100. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  101. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -1
  102. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  103. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +29 -0
  104. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +1 -0
  105. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +27 -4
  106. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  107. package/build/components/sidebar-navigation-screen-page/page-details.js +11 -4
  108. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  109. package/build/components/sidebar-navigation-screen-page/status-label.js +1 -1
  110. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  111. package/build/components/sidebar-navigation-screen-pages/index.js +1 -1
  112. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  113. package/build/components/sidebar-navigation-screen-pattern/index.js +13 -8
  114. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  115. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +1 -1
  116. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  117. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +23 -0
  118. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  119. package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +4 -4
  120. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -0
  121. package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/index.js +55 -15
  122. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -0
  123. package/build/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +1 -0
  124. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +30 -0
  125. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -0
  126. package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +2 -20
  127. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -0
  128. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -0
  129. package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +1 -1
  130. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -0
  131. package/build/components/sidebar-navigation-screen-templates/index.js +11 -63
  132. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  133. package/build/components/sidebar-navigation-screen-templates-browse/index.js +4 -2
  134. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  135. package/build/components/site-hub/index.js +1 -1
  136. package/build/components/site-hub/index.js.map +1 -1
  137. package/build/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
  138. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  139. package/build/components/template-actions/index.js +22 -6
  140. package/build/components/template-actions/index.js.map +1 -1
  141. package/build/components/welcome-guide/editor.js +1 -1
  142. package/build/components/welcome-guide/editor.js.map +1 -1
  143. package/build/components/welcome-guide/index.js +5 -1
  144. package/build/components/welcome-guide/index.js.map +1 -1
  145. package/build/components/welcome-guide/page.js +70 -0
  146. package/build/components/welcome-guide/page.js.map +1 -0
  147. package/build/components/welcome-guide/styles.js +1 -1
  148. package/build/components/welcome-guide/styles.js.map +1 -1
  149. package/build/components/welcome-guide/template.js +71 -0
  150. package/build/components/welcome-guide/template.js.map +1 -0
  151. package/build/hooks/commands/use-common-commands.js +37 -0
  152. package/build/hooks/commands/use-common-commands.js.map +1 -1
  153. package/build/hooks/commands/use-edit-mode-commands.js +195 -44
  154. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  155. package/build/index.js +9 -0
  156. package/build/index.js.map +1 -1
  157. package/build/store/actions.js +5 -2
  158. package/build/store/actions.js.map +1 -1
  159. package/build/store/selectors.js +2 -1
  160. package/build/store/selectors.js.map +1 -1
  161. package/build/utils/get-is-list-page.js +2 -2
  162. package/build/utils/get-is-list-page.js.map +1 -1
  163. package/build/utils/template-part-create.js +2 -2
  164. package/build/utils/template-part-create.js.map +1 -1
  165. package/build-module/components/add-new-page/index.js +1 -6
  166. package/build-module/components/add-new-page/index.js.map +1 -1
  167. package/build-module/components/add-new-pattern/index.js +11 -11
  168. package/build-module/components/add-new-pattern/index.js.map +1 -1
  169. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +1 -1
  170. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  171. package/build-module/components/add-new-template/new-template.js +72 -17
  172. package/build-module/components/add-new-template/new-template.js.map +1 -1
  173. package/build-module/components/block-editor/editor-canvas.js +1 -1
  174. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  175. package/build-module/components/block-editor/inserter-media-categories.js +1 -22
  176. package/build-module/components/block-editor/inserter-media-categories.js.map +1 -1
  177. package/build-module/components/block-editor/site-editor-canvas.js +29 -32
  178. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  179. package/build-module/components/block-editor/use-site-editor-settings.js +9 -12
  180. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  181. package/build-module/components/canvas-spinner/index.js +1 -15
  182. package/build-module/components/canvas-spinner/index.js.map +1 -1
  183. package/build-module/components/create-pattern-modal/index.js +9 -9
  184. package/build-module/components/create-pattern-modal/index.js.map +1 -1
  185. package/build-module/components/create-template-part-modal/index.js +1 -1
  186. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  187. package/build-module/components/editor/index.js +11 -1
  188. package/build-module/components/editor/index.js.map +1 -1
  189. package/build-module/components/global-styles/palette.js +1 -1
  190. package/build-module/components/global-styles/palette.js.map +1 -1
  191. package/build-module/components/global-styles/ui.js +8 -3
  192. package/build-module/components/global-styles/ui.js.map +1 -1
  193. package/build-module/components/header-edit-mode/document-actions/index.js +10 -2
  194. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  195. package/build-module/components/header-edit-mode/index.js +43 -12
  196. package/build-module/components/header-edit-mode/index.js.map +1 -1
  197. package/build-module/components/header-edit-mode/more-menu/index.js +44 -20
  198. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  199. package/build-module/components/keyboard-shortcut-help-modal/index.js +15 -6
  200. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  201. package/build-module/components/keyboard-shortcuts/edit-mode.js +29 -1
  202. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  203. package/build-module/components/keyboard-shortcuts/register.js +9 -0
  204. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  205. package/build-module/components/layout/index.js +103 -26
  206. package/build-module/components/layout/index.js.map +1 -1
  207. package/build-module/components/page/header.js +1 -1
  208. package/build-module/components/page/header.js.map +1 -1
  209. package/build-module/components/page/index.js +2 -1
  210. package/build-module/components/page/index.js.map +1 -1
  211. package/build-module/components/page-actions/delete-page-menu-item.js +2 -1
  212. package/build-module/components/page-actions/delete-page-menu-item.js.map +1 -1
  213. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +9 -3
  214. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  215. package/build-module/components/page-main/index.js +6 -3
  216. package/build-module/components/page-main/index.js.map +1 -1
  217. package/build-module/components/{page-library → page-patterns}/grid-item.js +65 -35
  218. package/build-module/components/page-patterns/grid-item.js.map +1 -0
  219. package/build-module/components/{page-library → page-patterns}/grid.js +1 -1
  220. package/build-module/components/page-patterns/grid.js.map +1 -0
  221. package/build-module/components/{page-library → page-patterns}/index.js +5 -5
  222. package/build-module/components/page-patterns/index.js.map +1 -0
  223. package/build-module/components/{page-library → page-patterns}/no-patterns.js +1 -1
  224. package/build-module/components/page-patterns/no-patterns.js.map +1 -0
  225. package/build-module/components/{page-library → page-patterns}/patterns-list.js +9 -7
  226. package/build-module/components/page-patterns/patterns-list.js.map +1 -0
  227. package/build-module/components/page-patterns/search-items.js.map +1 -0
  228. package/build-module/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +2 -2
  229. package/build-module/components/page-patterns/use-pattern-settings.js.map +1 -0
  230. package/build-module/components/{page-library → page-patterns}/use-patterns.js +12 -2
  231. package/build-module/components/page-patterns/use-patterns.js.map +1 -0
  232. package/build-module/components/{page-library → page-patterns}/utils.js +3 -3
  233. package/build-module/components/page-patterns/utils.js.map +1 -0
  234. package/build-module/components/page-template-parts/index.js +82 -0
  235. package/build-module/components/page-template-parts/index.js.map +1 -0
  236. package/build-module/components/page-templates/index.js +1 -0
  237. package/build-module/components/page-templates/index.js.map +1 -1
  238. package/build-module/components/preferences-modal/enable-feature.js +5 -1
  239. package/build-module/components/preferences-modal/enable-feature.js.map +1 -1
  240. package/build-module/components/preferences-modal/index.js +38 -5
  241. package/build-module/components/preferences-modal/index.js.map +1 -1
  242. package/build-module/components/sidebar/index.js +5 -5
  243. package/build-module/components/sidebar/index.js.map +1 -1
  244. package/build-module/components/sidebar-edit-mode/index.js +4 -2
  245. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  246. package/build-module/components/sidebar-edit-mode/settings-header/index.js +6 -1
  247. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  248. package/build-module/components/sidebar-navigation-screen/index.js +7 -3
  249. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  250. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +67 -5
  251. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  252. package/build-module/components/sidebar-navigation-screen-main/index.js +2 -2
  253. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  254. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +8 -17
  255. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  256. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +10 -9
  257. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  258. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +5 -6
  259. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  260. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +11 -1
  261. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  262. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +8 -4
  263. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  264. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -1
  265. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  266. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +20 -0
  267. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +1 -0
  268. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +26 -6
  269. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  270. package/build-module/components/sidebar-navigation-screen-page/page-details.js +11 -4
  271. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  272. package/build-module/components/sidebar-navigation-screen-page/status-label.js +1 -1
  273. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  274. package/build-module/components/sidebar-navigation-screen-pages/index.js +2 -2
  275. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  276. package/build-module/components/sidebar-navigation-screen-pattern/index.js +12 -7
  277. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  278. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +1 -1
  279. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  280. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +21 -0
  281. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  282. package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +4 -4
  283. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -0
  284. package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/index.js +54 -16
  285. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -0
  286. package/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +1 -0
  287. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +20 -0
  288. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -0
  289. package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +2 -17
  290. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -0
  291. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -0
  292. package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +1 -1
  293. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -0
  294. package/build-module/components/sidebar-navigation-screen-templates/index.js +12 -62
  295. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  296. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +4 -2
  297. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  298. package/build-module/components/site-hub/index.js +1 -1
  299. package/build-module/components/site-hub/index.js.map +1 -1
  300. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
  301. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  302. package/build-module/components/template-actions/index.js +24 -7
  303. package/build-module/components/template-actions/index.js.map +1 -1
  304. package/build-module/components/welcome-guide/editor.js +1 -1
  305. package/build-module/components/welcome-guide/editor.js.map +1 -1
  306. package/build-module/components/welcome-guide/index.js +3 -1
  307. package/build-module/components/welcome-guide/index.js.map +1 -1
  308. package/build-module/components/welcome-guide/page.js +59 -0
  309. package/build-module/components/welcome-guide/page.js.map +1 -0
  310. package/build-module/components/welcome-guide/styles.js +1 -1
  311. package/build-module/components/welcome-guide/styles.js.map +1 -1
  312. package/build-module/components/welcome-guide/template.js +60 -0
  313. package/build-module/components/welcome-guide/template.js.map +1 -0
  314. package/build-module/hooks/commands/use-common-commands.js +37 -1
  315. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  316. package/build-module/hooks/commands/use-edit-mode-commands.js +193 -46
  317. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  318. package/build-module/index.js +4 -0
  319. package/build-module/index.js.map +1 -1
  320. package/build-module/store/actions.js +5 -2
  321. package/build-module/store/actions.js.map +1 -1
  322. package/build-module/store/selectors.js +2 -1
  323. package/build-module/store/selectors.js.map +1 -1
  324. package/build-module/utils/get-is-list-page.js +2 -2
  325. package/build-module/utils/get-is-list-page.js.map +1 -1
  326. package/build-module/utils/template-part-create.js +1 -1
  327. package/build-module/utils/template-part-create.js.map +1 -1
  328. package/build-style/style-rtl.css +167 -51
  329. package/build-style/style.css +167 -51
  330. package/package.json +39 -39
  331. package/src/components/add-new-page/index.js +1 -6
  332. package/src/components/add-new-pattern/index.js +11 -13
  333. package/src/components/add-new-template/add-custom-generic-template-modal-content.js +1 -1
  334. package/src/components/add-new-template/new-template.js +120 -24
  335. package/src/components/add-new-template/style.scss +30 -2
  336. package/src/components/block-editor/editor-canvas.js +3 -1
  337. package/src/components/block-editor/inserter-media-categories.js +1 -21
  338. package/src/components/block-editor/site-editor-canvas.js +7 -1
  339. package/src/components/block-editor/use-site-editor-settings.js +8 -12
  340. package/src/components/canvas-spinner/index.js +1 -11
  341. package/src/components/canvas-spinner/style.scss +4 -0
  342. package/src/components/create-pattern-modal/index.js +11 -12
  343. package/src/components/create-template-part-modal/index.js +1 -1
  344. package/src/components/editor/index.js +16 -1
  345. package/src/components/editor/style.scss +4 -0
  346. package/src/components/global-styles/palette.js +10 -9
  347. package/src/components/global-styles/stories/index.js +1 -0
  348. package/src/components/global-styles/ui.js +34 -24
  349. package/src/components/header-edit-mode/document-actions/index.js +9 -1
  350. package/src/components/header-edit-mode/document-actions/style.scss +8 -0
  351. package/src/components/header-edit-mode/index.js +112 -62
  352. package/src/components/header-edit-mode/more-menu/index.js +74 -30
  353. package/src/components/keyboard-shortcut-help-modal/index.js +21 -7
  354. package/src/components/keyboard-shortcuts/edit-mode.js +35 -2
  355. package/src/components/keyboard-shortcuts/register.js +10 -0
  356. package/src/components/layout/index.js +140 -76
  357. package/src/components/layout/style.scss +47 -1
  358. package/src/components/page/header.js +1 -1
  359. package/src/components/page/index.js +5 -1
  360. package/src/components/page-actions/delete-page-menu-item.js +1 -0
  361. package/src/components/page-content-focus-manager/back-to-page-notification.js +7 -2
  362. package/src/components/page-main/index.js +6 -3
  363. package/src/components/{page-library → page-patterns}/grid-item.js +83 -34
  364. package/src/components/{page-library → page-patterns}/grid.js +1 -1
  365. package/src/components/{page-library → page-patterns}/index.js +5 -5
  366. package/src/components/{page-library → page-patterns}/no-patterns.js +1 -1
  367. package/src/components/{page-library → page-patterns}/patterns-list.js +13 -9
  368. package/src/components/{page-library → page-patterns}/style.scss +19 -15
  369. package/src/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +1 -1
  370. package/src/components/{page-library → page-patterns}/use-patterns.js +11 -2
  371. package/src/components/{page-library → page-patterns}/utils.js +3 -3
  372. package/src/components/page-template-parts/index.js +105 -0
  373. package/src/components/page-templates/index.js +1 -1
  374. package/src/components/preferences-modal/enable-feature.js +5 -2
  375. package/src/components/preferences-modal/index.js +35 -4
  376. package/src/components/sidebar/index.js +6 -6
  377. package/src/components/sidebar-button/style.scss +1 -1
  378. package/src/components/sidebar-edit-mode/index.js +4 -2
  379. package/src/components/sidebar-edit-mode/settings-header/index.js +7 -2
  380. package/src/components/sidebar-navigation-item/style.scss +2 -1
  381. package/src/components/sidebar-navigation-screen/index.js +4 -2
  382. package/src/components/sidebar-navigation-screen/style.scss +7 -2
  383. package/src/components/sidebar-navigation-screen-details-panel/style.scss +1 -1
  384. package/src/components/sidebar-navigation-screen-global-styles/index.js +57 -17
  385. package/src/components/sidebar-navigation-screen-main/index.js +2 -2
  386. package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +14 -35
  387. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +8 -11
  388. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +9 -8
  389. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +12 -1
  390. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +16 -7
  391. package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +2 -7
  392. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -1
  393. package/src/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +24 -0
  394. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +39 -8
  395. package/src/components/sidebar-navigation-screen-page/page-details.js +8 -3
  396. package/src/components/sidebar-navigation-screen-page/status-label.js +1 -1
  397. package/src/components/sidebar-navigation-screen-pages/index.js +2 -2
  398. package/src/components/sidebar-navigation-screen-pattern/index.js +13 -6
  399. package/src/components/sidebar-navigation-screen-pattern/style.scss +29 -0
  400. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +1 -1
  401. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +43 -1
  402. package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +4 -4
  403. package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/index.js +75 -22
  404. package/src/components/sidebar-navigation-screen-patterns/style.scss +3 -0
  405. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +23 -0
  406. package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +1 -18
  407. package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +1 -1
  408. package/src/components/sidebar-navigation-screen-template/style.scss +15 -15
  409. package/src/components/sidebar-navigation-screen-templates/index.js +15 -82
  410. package/src/components/sidebar-navigation-screen-templates-browse/index.js +2 -0
  411. package/src/components/site-hub/index.js +1 -1
  412. package/src/components/site-hub/style.scss +4 -3
  413. package/src/components/start-template-options/style.scss +0 -3
  414. package/src/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
  415. package/src/components/template-actions/index.js +38 -8
  416. package/src/components/welcome-guide/editor.js +1 -1
  417. package/src/components/welcome-guide/index.js +4 -0
  418. package/src/components/welcome-guide/page.js +75 -0
  419. package/src/components/welcome-guide/style.scss +15 -1
  420. package/src/components/welcome-guide/styles.js +1 -1
  421. package/src/components/welcome-guide/template.js +82 -0
  422. package/src/hooks/commands/use-common-commands.js +32 -1
  423. package/src/hooks/commands/use-edit-mode-commands.js +182 -38
  424. package/src/index.js +4 -0
  425. package/src/store/actions.js +8 -1
  426. package/src/store/selectors.js +5 -0
  427. package/src/store/test/selectors.js +2 -0
  428. package/src/style.scss +3 -2
  429. package/src/utils/get-is-list-page.js +4 -3
  430. package/src/utils/template-part-create.js +1 -1
  431. package/build/components/page-library/grid-item.js.map +0 -1
  432. package/build/components/page-library/grid.js.map +0 -1
  433. package/build/components/page-library/index.js.map +0 -1
  434. package/build/components/page-library/no-patterns.js.map +0 -1
  435. package/build/components/page-library/patterns-list.js.map +0 -1
  436. package/build/components/page-library/search-items.js.map +0 -1
  437. package/build/components/page-library/use-library-settings.js.map +0 -1
  438. package/build/components/page-library/use-patterns.js.map +0 -1
  439. package/build/components/page-library/utils.js.map +0 -1
  440. package/build/components/sidebar-navigation-screen-library/category-item.js.map +0 -1
  441. package/build/components/sidebar-navigation-screen-library/index.js.map +0 -1
  442. package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +0 -1
  443. package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +0 -1
  444. package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +0 -1
  445. package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +0 -1
  446. package/build-module/components/page-library/grid-item.js.map +0 -1
  447. package/build-module/components/page-library/grid.js.map +0 -1
  448. package/build-module/components/page-library/index.js.map +0 -1
  449. package/build-module/components/page-library/no-patterns.js.map +0 -1
  450. package/build-module/components/page-library/patterns-list.js.map +0 -1
  451. package/build-module/components/page-library/search-items.js.map +0 -1
  452. package/build-module/components/page-library/use-library-settings.js.map +0 -1
  453. package/build-module/components/page-library/use-patterns.js.map +0 -1
  454. package/build-module/components/page-library/utils.js.map +0 -1
  455. package/build-module/components/sidebar-navigation-screen-library/category-item.js.map +0 -1
  456. package/build-module/components/sidebar-navigation-screen-library/index.js.map +0 -1
  457. package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +0 -1
  458. package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +0 -1
  459. package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +0 -1
  460. package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +0 -1
  461. package/src/components/sidebar-navigation-screen-library/style.scss +0 -7
  462. /package/build/components/{page-library → page-patterns}/search-items.js +0 -0
  463. /package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
  464. /package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-template-part-areas.js +0 -0
  465. /package/build-module/components/{page-library → page-patterns}/search-items.js +0 -0
  466. /package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
  467. /package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-template-part-areas.js +0 -0
  468. /package/src/components/{page-library → page-patterns}/search-items.js +0 -0
  469. /package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
  470. /package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-template-part-areas.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-actions/delete-page-menu-item.js"],"names":["DeletePageMenuItem","postId","onRemove","isModalOpen","setIsModalOpen","createSuccessNotice","createErrorNotice","noticesStore","deleteEntityRecord","coreStore","page","select","getEntityRecord","removePage","throwOnError","title","rendered","type","id","error","errorMessage","message","code"],"mappings":";;;;;;;AAKA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AAIA;;AAZA;AACA;AACA;AAYe,SAASA,kBAAT,CAA6B;AAAEC,EAAAA,MAAF;AAAUC,EAAAA;AAAV,CAA7B,EAAoD;AAClE,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkC,uBAAU,KAAV,CAAxC;AACA,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MACL,uBAAaC,cAAb,CADD;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAyB,uBAAaC,eAAb,CAA/B;AACA,QAAMC,IAAI,GAAG,qBACVC,MAAF,IACCA,MAAM,CAAEF,eAAF,CAAN,CAAoBG,eAApB,CAAqC,UAArC,EAAiD,MAAjD,EAAyDX,MAAzD,CAFW,EAGZ,CAAEA,MAAF,CAHY,CAAb;;AAKA,iBAAeY,UAAf,GAA4B;AAC3B,QAAI;AACH,YAAML,kBAAkB,CACvB,UADuB,EAEvB,MAFuB,EAGvBP,MAHuB,EAIvB,EAJuB,EAKvB;AAAEa,QAAAA,YAAY,EAAE;AAAhB,OALuB,CAAxB;AAOAT,MAAAA,mBAAmB,CAClB;AACC;AACA,oBAAI,eAAJ,CAFD,EAGC,kCAAgBK,IAAI,CAACK,KAAL,CAAWC,QAA3B,CAHD,CADkB,EAMlB;AACCC,QAAAA,IAAI,EAAE,UADP;AAECC,QAAAA,EAAE,EAAE;AAFL,OANkB,CAAnB;AAWAhB,MAAAA,QAAQ;AACR,KApBD,CAoBE,OAAQiB,KAAR,EAAgB;AACjB,YAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEG,cAAI,4CAAJ,CAHJ;AAKAf,MAAAA,iBAAiB,CAAEc,YAAF,EAAgB;AAAEH,QAAAA,IAAI,EAAE;AAAR,OAAhB,CAAjB;AACA,KA3BD,SA2BU;AACTb,MAAAA,cAAc,CAAE,KAAF,CAAd;AACA;AACD;;AACD,SACC,qDACC,4BAAC,oBAAD;AAAU,IAAA,OAAO,EAAG,MAAMA,cAAc,CAAE,IAAF,CAAxC;AAAmD,IAAA,aAAa;AAAhE,KACG,cAAI,QAAJ,CADH,CADD,EAIC,4BAAC,uCAAD;AACC,IAAA,MAAM,EAAGD,WADV;AAEC,IAAA,SAAS,EAAGU,UAFb;AAGC,IAAA,QAAQ,EAAG,MAAMT,cAAc,CAAE,KAAF;AAHhC,KAKG,cAAI,4CAAJ,CALH,CAJD,CADD;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function DeletePageMenuItem( { postId, onRemove } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\tconst page = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecord( 'postType', 'page', postId ),\n\t\t[ postId ]\n\t);\n\tasync function removePage() {\n\t\ttry {\n\t\t\tawait deleteEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'page',\n\t\t\t\tpostId,\n\t\t\t\t{},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: The page's title. */\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\tdecodeEntities( page.title.rendered )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-page-removed',\n\t\t\t\t}\n\t\t\t);\n\t\t\tonRemove?.();\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while deleting the page.' );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t} finally {\n\t\t\tsetIsModalOpen( false );\n\t\t}\n\t}\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={ () => setIsModalOpen( true ) } isDestructive>\n\t\t\t\t{ __( 'Delete' ) }\n\t\t\t</MenuItem>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ isModalOpen }\n\t\t\t\tonConfirm={ removePage }\n\t\t\t\tonCancel={ () => setIsModalOpen( false ) }\n\t\t\t>\n\t\t\t\t{ __( 'Are you sure you want to delete this page?' ) }\n\t\t\t</ConfirmDialog>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-actions/delete-page-menu-item.js"],"names":["DeletePageMenuItem","postId","onRemove","isModalOpen","setIsModalOpen","createSuccessNotice","createErrorNotice","noticesStore","deleteEntityRecord","coreStore","page","select","getEntityRecord","removePage","throwOnError","title","rendered","type","id","error","errorMessage","message","code"],"mappings":";;;;;;;AAKA;;AAFA;;AACA;;AAEA;;AACA;;AACA;;AAIA;;AAZA;AACA;AACA;AAYe,SAASA,kBAAT,CAA6B;AAAEC,EAAAA,MAAF;AAAUC,EAAAA;AAAV,CAA7B,EAAoD;AAClE,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkC,uBAAU,KAAV,CAAxC;AACA,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA;AAAvB,MACL,uBAAaC,cAAb,CADD;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAyB,uBAAaC,eAAb,CAA/B;AACA,QAAMC,IAAI,GAAG,qBACVC,MAAF,IACCA,MAAM,CAAEF,eAAF,CAAN,CAAoBG,eAApB,CAAqC,UAArC,EAAiD,MAAjD,EAAyDX,MAAzD,CAFW,EAGZ,CAAEA,MAAF,CAHY,CAAb;;AAKA,iBAAeY,UAAf,GAA4B;AAC3B,QAAI;AACH,YAAML,kBAAkB,CACvB,UADuB,EAEvB,MAFuB,EAGvBP,MAHuB,EAIvB,EAJuB,EAKvB;AAAEa,QAAAA,YAAY,EAAE;AAAhB,OALuB,CAAxB;AAOAT,MAAAA,mBAAmB,CAClB;AACC;AACA,oBAAI,eAAJ,CAFD,EAGC,kCAAgBK,IAAI,CAACK,KAAL,CAAWC,QAA3B,CAHD,CADkB,EAMlB;AACCC,QAAAA,IAAI,EAAE,UADP;AAECC,QAAAA,EAAE,EAAE;AAFL,OANkB,CAAnB;AAWAhB,MAAAA,QAAQ;AACR,KApBD,CAoBE,OAAQiB,KAAR,EAAgB;AACjB,YAAMC,YAAY,GACjBD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,IAAN,KAAe,eAAhC,GACGH,KAAK,CAACE,OADT,GAEG,cAAI,4CAAJ,CAHJ;AAKAf,MAAAA,iBAAiB,CAAEc,YAAF,EAAgB;AAAEH,QAAAA,IAAI,EAAE;AAAR,OAAhB,CAAjB;AACA,KA3BD,SA2BU;AACTb,MAAAA,cAAc,CAAE,KAAF,CAAd;AACA;AACD;;AACD,SACC,qDACC,4BAAC,oBAAD;AAAU,IAAA,OAAO,EAAG,MAAMA,cAAc,CAAE,IAAF,CAAxC;AAAmD,IAAA,aAAa;AAAhE,KACG,cAAI,QAAJ,CADH,CADD,EAIC,4BAAC,uCAAD;AACC,IAAA,MAAM,EAAGD,WADV;AAEC,IAAA,SAAS,EAAGU,UAFb;AAGC,IAAA,QAAQ,EAAG,MAAMT,cAAc,CAAE,KAAF,CAHhC;AAIC,IAAA,iBAAiB,EAAG,cAAI,QAAJ;AAJrB,KAMG,cAAI,4CAAJ,CANH,CAJD,CADD;AAeA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { store as noticesStore } from '@wordpress/notices';\n\nexport default function DeletePageMenuItem( { postId, onRemove } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\tconst page = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecord( 'postType', 'page', postId ),\n\t\t[ postId ]\n\t);\n\tasync function removePage() {\n\t\ttry {\n\t\t\tawait deleteEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'page',\n\t\t\t\tpostId,\n\t\t\t\t{},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: The page's title. */\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\tdecodeEntities( page.title.rendered )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-page-removed',\n\t\t\t\t}\n\t\t\t);\n\t\t\tonRemove?.();\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while deleting the page.' );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t} finally {\n\t\t\tsetIsModalOpen( false );\n\t\t}\n\t}\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={ () => setIsModalOpen( true ) } isDestructive>\n\t\t\t\t{ __( 'Delete' ) }\n\t\t\t</MenuItem>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ isModalOpen }\n\t\t\t\tonConfirm={ removePage }\n\t\t\t\tonCancel={ () => setIsModalOpen( false ) }\n\t\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Are you sure you want to delete this page?' ) }\n\t\t\t</ConfirmDialog>\n\t\t</>\n\t);\n}\n"]}
@@ -39,7 +39,13 @@ function BackToPageNotification() {
39
39
 
40
40
 
41
41
  function useBackToPageNotification() {
42
- const hasPageContentFocus = (0, _data.useSelect)(select => select(_store.store).hasPageContentFocus(), []);
42
+ const {
43
+ isPage,
44
+ hasPageContentFocus
45
+ } = (0, _data.useSelect)(select => ({
46
+ isPage: select(_store.store).isPage(),
47
+ hasPageContentFocus: select(_store.store).hasPageContentFocus()
48
+ }), []);
43
49
  const alreadySeen = (0, _element.useRef)(false);
44
50
  const prevHasPageContentFocus = (0, _element.useRef)(false);
45
51
  const {
@@ -49,7 +55,7 @@ function useBackToPageNotification() {
49
55
  setHasPageContentFocus
50
56
  } = (0, _data.useDispatch)(_store.store);
51
57
  (0, _element.useEffect)(() => {
52
- if (!alreadySeen.current && prevHasPageContentFocus.current && !hasPageContentFocus) {
58
+ if (!alreadySeen.current && isPage && prevHasPageContentFocus.current && !hasPageContentFocus) {
53
59
  createInfoNotice((0, _i18n.__)('You are editing a template.'), {
54
60
  isDismissible: true,
55
61
  type: 'snackbar',
@@ -62,6 +68,6 @@ function useBackToPageNotification() {
62
68
  }
63
69
 
64
70
  prevHasPageContentFocus.current = hasPageContentFocus;
65
- }, [alreadySeen, prevHasPageContentFocus, hasPageContentFocus, createInfoNotice, setHasPageContentFocus]);
71
+ }, [alreadySeen, isPage, prevHasPageContentFocus, hasPageContentFocus, createInfoNotice, setHasPageContentFocus]);
66
72
  }
67
73
  //# sourceMappingURL=back-to-page-notification.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/back-to-page-notification.js"],"names":["BackToPageNotification","useBackToPageNotification","hasPageContentFocus","select","editSiteStore","alreadySeen","prevHasPageContentFocus","createInfoNotice","noticesStore","setHasPageContentFocus","current","isDismissible","type","actions","label","onClick"],"mappings":";;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACe,SAASA,sBAAT,GAAkC;AAChDC,EAAAA,yBAAyB;AACzB,SAAO,IAAP;AACA;AAED;AACA;AACA;AACA;;;AACO,SAASA,yBAAT,GAAqC;AAC3C,QAAMC,mBAAmB,GAAG,qBACzBC,MAAF,IAAcA,MAAM,CAAEC,YAAF,CAAN,CAAwBF,mBAAxB,EADa,EAE3B,EAF2B,CAA5B;AAKA,QAAMG,WAAW,GAAG,qBAAQ,KAAR,CAApB;AACA,QAAMC,uBAAuB,GAAG,qBAAQ,KAAR,CAAhC;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAuB,uBAAaC,cAAb,CAA7B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA6B,uBAAaL,YAAb,CAAnC;AAEA,0BAAW,MAAM;AAChB,QACC,CAAEC,WAAW,CAACK,OAAd,IACAJ,uBAAuB,CAACI,OADxB,IAEA,CAAER,mBAHH,EAIE;AACDK,MAAAA,gBAAgB,CAAE,cAAI,6BAAJ,CAAF,EAAuC;AACtDI,QAAAA,aAAa,EAAE,IADuC;AAEtDC,QAAAA,IAAI,EAAE,UAFgD;AAGtDC,QAAAA,OAAO,EAAE,CACR;AACCC,UAAAA,KAAK,EAAE,cAAI,cAAJ,CADR;AAECC,UAAAA,OAAO,EAAE,MAAMN,sBAAsB,CAAE,IAAF;AAFtC,SADQ;AAH6C,OAAvC,CAAhB;AAUAJ,MAAAA,WAAW,CAACK,OAAZ,GAAsB,IAAtB;AACA;;AACDJ,IAAAA,uBAAuB,CAACI,OAAxB,GAAkCR,mBAAlC;AACA,GAnBD,EAmBG,CACFG,WADE,EAEFC,uBAFE,EAGFJ,mBAHE,EAIFK,gBAJE,EAKFE,sBALE,CAnBH;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that displays a 'You are editing a template' notification when the\n * user switches from focusing on editing page content to editing a template.\n */\nexport default function BackToPageNotification() {\n\tuseBackToPageNotification();\n\treturn null;\n}\n\n/**\n * Hook that displays a 'You are editing a template' notification when the user\n * switches from focusing on editing page content to editing a template.\n */\nexport function useBackToPageNotification() {\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\n\tconst alreadySeen = useRef( false );\n\tconst prevHasPageContentFocus = useRef( false );\n\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! alreadySeen.current &&\n\t\t\tprevHasPageContentFocus.current &&\n\t\t\t! hasPageContentFocus\n\t\t) {\n\t\t\tcreateInfoNotice( __( 'You are editing a template.' ), {\n\t\t\t\tisDismissible: true,\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Back to page' ),\n\t\t\t\t\t\tonClick: () => setHasPageContentFocus( true ),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t} );\n\t\t\talreadySeen.current = true;\n\t\t}\n\t\tprevHasPageContentFocus.current = hasPageContentFocus;\n\t}, [\n\t\talreadySeen,\n\t\tprevHasPageContentFocus,\n\t\thasPageContentFocus,\n\t\tcreateInfoNotice,\n\t\tsetHasPageContentFocus,\n\t] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/back-to-page-notification.js"],"names":["BackToPageNotification","useBackToPageNotification","isPage","hasPageContentFocus","select","editSiteStore","alreadySeen","prevHasPageContentFocus","createInfoNotice","noticesStore","setHasPageContentFocus","current","isDismissible","type","actions","label","onClick"],"mappings":";;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACe,SAASA,sBAAT,GAAkC;AAChDC,EAAAA,yBAAyB;AACzB,SAAO,IAAP;AACA;AAED;AACA;AACA;AACA;;;AACO,SAASA,yBAAT,GAAqC;AAC3C,QAAM;AAAEC,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAkC,qBACrCC,MAAF,KAAgB;AACfF,IAAAA,MAAM,EAAEE,MAAM,CAAEC,YAAF,CAAN,CAAwBH,MAAxB,EADO;AAEfC,IAAAA,mBAAmB,EAAEC,MAAM,CAAEC,YAAF,CAAN,CAAwBF,mBAAxB;AAFN,GAAhB,CADuC,EAKvC,EALuC,CAAxC;AAQA,QAAMG,WAAW,GAAG,qBAAQ,KAAR,CAApB;AACA,QAAMC,uBAAuB,GAAG,qBAAQ,KAAR,CAAhC;AAEA,QAAM;AAAEC,IAAAA;AAAF,MAAuB,uBAAaC,cAAb,CAA7B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA6B,uBAAaL,YAAb,CAAnC;AAEA,0BAAW,MAAM;AAChB,QACC,CAAEC,WAAW,CAACK,OAAd,IACAT,MADA,IAEAK,uBAAuB,CAACI,OAFxB,IAGA,CAAER,mBAJH,EAKE;AACDK,MAAAA,gBAAgB,CAAE,cAAI,6BAAJ,CAAF,EAAuC;AACtDI,QAAAA,aAAa,EAAE,IADuC;AAEtDC,QAAAA,IAAI,EAAE,UAFgD;AAGtDC,QAAAA,OAAO,EAAE,CACR;AACCC,UAAAA,KAAK,EAAE,cAAI,cAAJ,CADR;AAECC,UAAAA,OAAO,EAAE,MAAMN,sBAAsB,CAAE,IAAF;AAFtC,SADQ;AAH6C,OAAvC,CAAhB;AAUAJ,MAAAA,WAAW,CAACK,OAAZ,GAAsB,IAAtB;AACA;;AACDJ,IAAAA,uBAAuB,CAACI,OAAxB,GAAkCR,mBAAlC;AACA,GApBD,EAoBG,CACFG,WADE,EAEFJ,MAFE,EAGFK,uBAHE,EAIFJ,mBAJE,EAKFK,gBALE,EAMFE,sBANE,CApBH;AA4BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that displays a 'You are editing a template' notification when the\n * user switches from focusing on editing page content to editing a template.\n */\nexport default function BackToPageNotification() {\n\tuseBackToPageNotification();\n\treturn null;\n}\n\n/**\n * Hook that displays a 'You are editing a template' notification when the user\n * switches from focusing on editing page content to editing a template.\n */\nexport function useBackToPageNotification() {\n\tconst { isPage, hasPageContentFocus } = useSelect(\n\t\t( select ) => ( {\n\t\t\tisPage: select( editSiteStore ).isPage(),\n\t\t\thasPageContentFocus: select( editSiteStore ).hasPageContentFocus(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst alreadySeen = useRef( false );\n\tconst prevHasPageContentFocus = useRef( false );\n\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! alreadySeen.current &&\n\t\t\tisPage &&\n\t\t\tprevHasPageContentFocus.current &&\n\t\t\t! hasPageContentFocus\n\t\t) {\n\t\t\tcreateInfoNotice( __( 'You are editing a template.' ), {\n\t\t\t\tisDismissible: true,\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Back to page' ),\n\t\t\t\t\t\tonClick: () => setHasPageContentFocus( true ),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t} );\n\t\t\talreadySeen.current = true;\n\t\t}\n\t\tprevHasPageContentFocus.current = hasPageContentFocus;\n\t}, [\n\t\talreadySeen,\n\t\tisPage,\n\t\tprevHasPageContentFocus,\n\t\thasPageContentFocus,\n\t\tcreateInfoNotice,\n\t\tsetHasPageContentFocus,\n\t] );\n}\n"]}
@@ -11,9 +11,11 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _router = require("@wordpress/router");
13
13
 
14
- var _pageTemplates = _interopRequireDefault(require("../page-templates"));
14
+ var _pagePatterns = _interopRequireDefault(require("../page-patterns"));
15
+
16
+ var _pageTemplateParts = _interopRequireDefault(require("../page-template-parts"));
15
17
 
16
- var _pageLibrary = _interopRequireDefault(require("../page-library"));
18
+ var _pageTemplates = _interopRequireDefault(require("../page-templates"));
17
19
 
18
20
  var _lockUnlock = require("../../lock-unlock");
19
21
 
@@ -37,8 +39,10 @@ function PageMain() {
37
39
 
38
40
  if (path === '/wp_template/all') {
39
41
  return (0, _element.createElement)(_pageTemplates.default, null);
40
- } else if (path === '/library') {
41
- return (0, _element.createElement)(_pageLibrary.default, null);
42
+ } else if (path === '/wp_template_part/all') {
43
+ return (0, _element.createElement)(_pageTemplateParts.default, null);
44
+ } else if (path === '/patterns') {
45
+ return (0, _element.createElement)(_pagePatterns.default, null);
42
46
  }
43
47
 
44
48
  return null;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-main/index.js"],"names":["useLocation","routerPrivateApis","PageMain","params","path"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAkB,wBAAQC,mBAAR,CAAxB;;AAEe,SAASC,QAAT,GAAoB;AAClC,QAAM;AACLC,IAAAA,MAAM,EAAE;AAAEC,MAAAA;AAAF;AADH,MAEFJ,WAAW,EAFf;;AAIA,MAAKI,IAAI,KAAK,kBAAd,EAAmC;AAClC,WAAO,4BAAC,sBAAD,OAAP;AACA,GAFD,MAEO,IAAKA,IAAI,KAAK,UAAd,EAA2B;AACjC,WAAO,4BAAC,oBAAD,OAAP;AACA;;AAED,SAAO,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport PageTemplates from '../page-templates';\nimport PageLibrary from '../page-library';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function PageMain() {\n\tconst {\n\t\tparams: { path },\n\t} = useLocation();\n\n\tif ( path === '/wp_template/all' ) {\n\t\treturn <PageTemplates />;\n\t} else if ( path === '/library' ) {\n\t\treturn <PageLibrary />;\n\t}\n\n\treturn null;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-main/index.js"],"names":["useLocation","routerPrivateApis","PageMain","params","path"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAkB,wBAAQC,mBAAR,CAAxB;;AAEe,SAASC,QAAT,GAAoB;AAClC,QAAM;AACLC,IAAAA,MAAM,EAAE;AAAEC,MAAAA;AAAF;AADH,MAEFJ,WAAW,EAFf;;AAIA,MAAKI,IAAI,KAAK,kBAAd,EAAmC;AAClC,WAAO,4BAAC,sBAAD,OAAP;AACA,GAFD,MAEO,IAAKA,IAAI,KAAK,uBAAd,EAAwC;AAC9C,WAAO,4BAAC,0BAAD,OAAP;AACA,GAFM,MAEA,IAAKA,IAAI,KAAK,WAAd,EAA4B;AAClC,WAAO,4BAAC,qBAAD,OAAP;AACA;;AAED,SAAO,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport PagePatterns from '../page-patterns';\nimport PageTemplateParts from '../page-template-parts';\nimport PageTemplates from '../page-templates';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function PageMain() {\n\tconst {\n\t\tparams: { path },\n\t} = useLocation();\n\n\tif ( path === '/wp_template/all' ) {\n\t\treturn <PageTemplates />;\n\t} else if ( path === '/wp_template_part/all' ) {\n\t\treturn <PageTemplateParts />;\n\t} else if ( path === '/patterns' ) {\n\t\treturn <PagePatterns />;\n\t}\n\n\treturn null;\n}\n"]}
@@ -15,8 +15,6 @@ var _blockEditor = require("@wordpress/block-editor");
15
15
 
16
16
  var _components = require("@wordpress/components");
17
17
 
18
- var _compose = require("@wordpress/compose");
19
-
20
18
  var _data = require("@wordpress/data");
21
19
 
22
20
  var _i18n = require("@wordpress/i18n");
@@ -44,14 +42,15 @@ var _link = require("../routes/link");
44
42
  /**
45
43
  * Internal dependencies
46
44
  */
45
+ const THEME_PATTERN_TOOLTIP = (0, _i18n.__)('Theme patterns cannot be edited.');
46
+
47
47
  function GridItem({
48
48
  categoryId,
49
49
  composite,
50
50
  icon,
51
51
  item
52
52
  }) {
53
- const instanceId = (0, _compose.useInstanceId)(GridItem);
54
- const descriptionId = `edit-site-library__pattern-description-${instanceId}`;
53
+ const descriptionId = (0, _element.useId)();
55
54
  const [isDeleteDialogOpen, setIsDeleteDialogOpen] = (0, _element.useState)(false);
56
55
  const {
57
56
  __experimentalDeleteReusableBlock
@@ -66,14 +65,20 @@ function GridItem({
66
65
  postType: item.type,
67
66
  postId: item.type === _utils.USER_PATTERNS ? item.id : item.name,
68
67
  categoryId,
69
- categoryType: item.type,
70
- canvas: 'edit'
68
+ categoryType: item.type
71
69
  });
70
+
71
+ const onKeyDown = event => {
72
+ if (_keycodes.DELETE === event.keyCode || _keycodes.BACKSPACE === event.keyCode) {
73
+ setIsDeleteDialogOpen(true);
74
+ }
75
+ };
76
+
72
77
  const isEmpty = !item.blocks?.length;
73
- const patternClassNames = (0, _classnames.default)('edit-site-library__pattern', {
78
+ const patternClassNames = (0, _classnames.default)('edit-site-patterns__pattern', {
74
79
  'is-placeholder': isEmpty
75
80
  });
76
- const previewClassNames = (0, _classnames.default)('edit-site-library__preview', {
81
+ const previewClassNames = (0, _classnames.default)('edit-site-patterns__preview', {
77
82
  'is-inactive': item.type === _utils.PATTERNS
78
83
  });
79
84
 
@@ -91,13 +96,28 @@ function GridItem({
91
96
  }
92
97
  };
93
98
 
94
- let ariaDescription;
99
+ const isUserPattern = item.type === _utils.USER_PATTERNS;
100
+ const ariaDescriptions = [];
95
101
 
96
- if (item.type === _utils.USER_PATTERNS) {
102
+ if (isUserPattern) {
97
103
  // User patterns don't have descriptions, but can be edited and deleted, so include some help text.
98
- ariaDescription = (0, _i18n.__)('Press Enter to edit, or Delete to delete the pattern.');
104
+ ariaDescriptions.push((0, _i18n.__)('Press Enter to edit, or Delete to delete the pattern.'));
99
105
  } else if (item.description) {
100
- ariaDescription = item.description;
106
+ ariaDescriptions.push(item.description);
107
+ }
108
+
109
+ if (item.type === _utils.PATTERNS) {
110
+ ariaDescriptions.push(THEME_PATTERN_TOOLTIP);
111
+ }
112
+
113
+ let itemIcon = icon;
114
+
115
+ if (categoryId === 'header') {
116
+ itemIcon = _icons.header;
117
+ } else if (categoryId === 'footer') {
118
+ itemIcon = _icons.footer;
119
+ } else if (categoryId === 'uncategorized') {
120
+ itemIcon = _icons.symbolFilled;
101
121
  }
102
122
 
103
123
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("div", {
@@ -108,43 +128,51 @@ function GridItem({
108
128
  as: "div",
109
129
  ...composite,
110
130
  onClick: item.type !== _utils.PATTERNS ? onClick : undefined,
131
+ onKeyDown: isUserPattern ? onKeyDown : undefined,
111
132
  "aria-label": item.title,
112
- "aria-describedby": ariaDescription ? descriptionId : undefined,
113
- onKeyDown: event => {
114
- if (_keycodes.DELETE === event.keyCode || _keycodes.BACKSPACE === event.keyCode) {
115
- setIsDeleteDialogOpen(true);
116
- }
117
- }
133
+ "aria-describedby": ariaDescriptions.length ? ariaDescriptions.map((_, index) => `${descriptionId}-${index}`).join(' ') : undefined
118
134
  }, isEmpty && (0, _i18n.__)('Empty pattern'), !isEmpty && (0, _element.createElement)(_blockEditor.BlockPreview, {
119
135
  blocks: item.blocks
120
- })), ariaDescription && (0, _element.createElement)("div", {
121
- "aria-hidden": "true",
122
- style: {
123
- display: 'none'
124
- },
125
- id: descriptionId
126
- }, ariaDescription), (0, _element.createElement)(_components.__experimentalHStack, {
136
+ })), ariaDescriptions.map((ariaDescription, index) => (0, _element.createElement)("div", {
137
+ key: index,
138
+ hidden: true,
139
+ id: `${descriptionId}-${index}`
140
+ }, ariaDescription)), (0, _element.createElement)(_components.__experimentalHStack, {
127
141
  "aria-hidden": "true",
128
- className: "edit-site-library__footer",
142
+ className: "edit-site-patterns__footer",
129
143
  justify: "space-between"
130
144
  }, (0, _element.createElement)(_components.__experimentalHStack, {
131
145
  alignment: "center",
132
146
  justify: "left",
133
147
  spacing: 3,
134
- className: "edit-site-library__pattern-title"
148
+ className: "edit-site-patterns__pattern-title"
135
149
  }, icon && (0, _element.createElement)(_icons.Icon, {
136
- icon: icon
137
- }), (0, _element.createElement)(_components.__experimentalHeading, {
138
- level: 5
139
- }, item.title)), item.type === _utils.USER_PATTERNS && (0, _element.createElement)(_components.DropdownMenu, {
150
+ className: "edit-site-patterns__pattern-icon",
151
+ icon: itemIcon
152
+ }), (0, _element.createElement)(_components.Flex, {
153
+ as: "span",
154
+ gap: 0,
155
+ justify: "left"
156
+ }, item.title, item.type === _utils.PATTERNS && (0, _element.createElement)(_components.Tooltip, {
157
+ position: "top center",
158
+ text: (0, _i18n.__)('Theme patterns cannot be edited.')
159
+ }, (0, _element.createElement)("span", {
160
+ className: "edit-site-patterns__pattern-lock-icon"
161
+ }, (0, _element.createElement)(_icons.Icon, {
162
+ style: {
163
+ fill: 'currentcolor'
164
+ },
165
+ icon: _icons.lockSmall,
166
+ size: 24
167
+ }))))), item.type === _utils.USER_PATTERNS && (0, _element.createElement)(_components.DropdownMenu, {
140
168
  icon: _icons.moreHorizontal,
141
169
  label: (0, _i18n.__)('Actions'),
142
- className: "edit-site-library__dropdown",
170
+ className: "edit-site-patterns__dropdown",
143
171
  popoverProps: {
144
172
  placement: 'bottom-end'
145
173
  },
146
174
  toggleProps: {
147
- className: 'edit-site-library__button',
175
+ className: 'edit-site-patterns__button',
148
176
  isSmall: true,
149
177
  describedBy: (0, _i18n.sprintf)(
150
178
  /* translators: %s: pattern name */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/grid-item.js"],"names":["THEME_PATTERN_TOOLTIP","GridItem","categoryId","composite","icon","item","descriptionId","isDeleteDialogOpen","setIsDeleteDialogOpen","__experimentalDeleteReusableBlock","reusableBlocksStore","createErrorNotice","createSuccessNotice","noticesStore","onClick","postType","type","postId","USER_PATTERNS","id","name","categoryType","onKeyDown","event","DELETE","keyCode","BACKSPACE","isEmpty","blocks","length","patternClassNames","previewClassNames","PATTERNS","deletePattern","error","errorMessage","message","code","isUserPattern","ariaDescriptions","push","description","itemIcon","header","footer","symbolFilled","undefined","title","map","_","index","join","ariaDescription","fill","lockSmall","moreHorizontal","placement","className","isSmall","describedBy","tabIndex"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { BlockPreview } from '@wordpress/block-editor';\nimport {\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHStack as HStack,\n\t__unstableCompositeItem as CompositeItem,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useId } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tIcon,\n\theader,\n\tfooter,\n\tsymbolFilled,\n\tmoreHorizontal,\n\tlockSmall,\n} from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { DELETE, BACKSPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { PATTERNS, USER_PATTERNS } from './utils';\nimport { useLink } from '../routes/link';\n\nconst THEME_PATTERN_TOOLTIP = __( 'Theme patterns cannot be edited.' );\n\nexport default function GridItem( { categoryId, composite, icon, item } ) {\n\tconst descriptionId = useId();\n\tconst [ isDeleteDialogOpen, setIsDeleteDialogOpen ] = useState( false );\n\n\tconst { __experimentalDeleteReusableBlock } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: item.type === USER_PATTERNS ? item.id : item.name,\n\t\tcategoryId,\n\t\tcategoryType: item.type,\n\t} );\n\n\tconst onKeyDown = ( event ) => {\n\t\tif ( DELETE === event.keyCode || BACKSPACE === event.keyCode ) {\n\t\t\tsetIsDeleteDialogOpen( true );\n\t\t}\n\t};\n\n\tconst isEmpty = ! item.blocks?.length;\n\tconst patternClassNames = classnames( 'edit-site-patterns__pattern', {\n\t\t'is-placeholder': isEmpty,\n\t} );\n\tconst previewClassNames = classnames( 'edit-site-patterns__preview', {\n\t\t'is-inactive': item.type === PATTERNS,\n\t} );\n\n\tconst deletePattern = async () => {\n\t\ttry {\n\t\t\tawait __experimentalDeleteReusableBlock( item.id );\n\t\t\tcreateSuccessNotice( __( 'Pattern successfully deleted.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while deleting the pattern.' );\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t}\n\t};\n\n\tconst isUserPattern = item.type === USER_PATTERNS;\n\tconst ariaDescriptions = [];\n\tif ( isUserPattern ) {\n\t\t// User patterns don't have descriptions, but can be edited and deleted, so include some help text.\n\t\tariaDescriptions.push(\n\t\t\t__( 'Press Enter to edit, or Delete to delete the pattern.' )\n\t\t);\n\t} else if ( item.description ) {\n\t\tariaDescriptions.push( item.description );\n\t}\n\tif ( item.type === PATTERNS ) {\n\t\tariaDescriptions.push( THEME_PATTERN_TOOLTIP );\n\t}\n\n\tlet itemIcon = icon;\n\tif ( categoryId === 'header' ) {\n\t\titemIcon = header;\n\t} else if ( categoryId === 'footer' ) {\n\t\titemIcon = footer;\n\t} else if ( categoryId === 'uncategorized' ) {\n\t\titemIcon = symbolFilled;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div className={ patternClassNames }>\n\t\t\t\t<CompositeItem\n\t\t\t\t\tclassName={ previewClassNames }\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tas=\"div\"\n\t\t\t\t\t{ ...composite }\n\t\t\t\t\tonClick={ item.type !== PATTERNS ? onClick : undefined }\n\t\t\t\t\tonKeyDown={ isUserPattern ? onKeyDown : undefined }\n\t\t\t\t\taria-label={ item.title }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\tariaDescriptions.length\n\t\t\t\t\t\t\t? ariaDescriptions\n\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t( _, index ) =>\n\t\t\t\t\t\t\t\t\t\t\t`${ descriptionId }-${ index }`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.join( ' ' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty && __( 'Empty pattern' ) }\n\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ item.blocks } /> }\n\t\t\t\t</CompositeItem>\n\t\t\t\t{ ariaDescriptions.map( ( ariaDescription, index ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\thidden\n\t\t\t\t\t\tid={ `${ descriptionId }-${ index }` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ariaDescription }\n\t\t\t\t\t</div>\n\t\t\t\t) ) }\n\t\t\t\t<HStack\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName=\"edit-site-patterns__footer\"\n\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\talignment=\"center\"\n\t\t\t\t\t\tjustify=\"left\"\n\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ icon && (\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-icon\"\n\t\t\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Flex as=\"span\" gap={ 0 } justify=\"left\">\n\t\t\t\t\t\t\t{ item.title }\n\t\t\t\t\t\t\t{ item.type === PATTERNS && (\n\t\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\t\tposition=\"top center\"\n\t\t\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t\t\t'Theme patterns cannot be edited.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-patterns__pattern-lock-icon\">\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\tstyle={ { fill: 'currentcolor' } }\n\t\t\t\t\t\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t{ item.type === USER_PATTERNS && (\n\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\ticon={ moreHorizontal }\n\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__dropdown\"\n\t\t\t\t\t\t\tpopoverProps={ { placement: 'bottom-end' } }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: pattern name */\n\t\t\t\t\t\t\t\t\t__( 'Action menu for %s pattern' ),\n\t\t\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t// The dropdown menu is not focusable using the\n\t\t\t\t\t\t\t\t// keyboard as this would interfere with the grid's\n\t\t\t\t\t\t\t\t// roving tab index system. Instead, keyboard users\n\t\t\t\t\t\t\t\t// use keyboard shortcuts to trigger actions.\n\t\t\t\t\t\t\t\ttabIndex: -1,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetIsDeleteDialogOpen( true )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</div>\n\t\t\t{ isDeleteDialogOpen && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tonConfirm={ deletePattern }\n\t\t\t\t\tonCancel={ () => setIsDeleteDialogOpen( false ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Are you sure you want to delete this pattern?' ) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -36,7 +36,7 @@ function Grid({
36
36
 
37
37
  return (0, _element.createElement)(_components.__unstableComposite, { ...composite,
38
38
  role: "listbox",
39
- className: "edit-site-library__grid",
39
+ className: "edit-site-patterns__grid",
40
40
  "aria-label": label
41
41
  }, items.map(item => (0, _element.createElement)(_gridItem.default, {
42
42
  key: item.name,
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/grid.js"],"names":["Grid","categoryId","label","icon","items","composite","orientation","length","map","item","name"],"mappings":";;;;;;;;;;;AAGA;;AAQA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;AAGe,SAASA,IAAT,CAAe;AAAEC,EAAAA,UAAF;AAAcC,EAAAA,KAAd;AAAqBC,EAAAA,IAArB;AAA2BC,EAAAA;AAA3B,CAAf,EAAoD;AAClE,QAAMC,SAAS,GAAG,6CAAmB;AAAEC,IAAAA,WAAW,EAAE;AAAf,GAAnB,CAAlB;;AAEA,MAAK,CAAEF,KAAK,EAAEG,MAAd,EAAuB;AACtB,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,+BAAD,OACMF,SADN;AAEC,IAAA,IAAI,EAAC,SAFN;AAGC,IAAA,SAAS,EAAC,0BAHX;AAIC,kBAAaH;AAJd,KAMGE,KAAK,CAACI,GAAN,CAAaC,IAAF,IACZ,4BAAC,iBAAD;AACC,IAAA,GAAG,EAAGA,IAAI,CAACC,IADZ;AAEC,IAAA,IAAI,EAAGP,IAFR;AAGC,IAAA,IAAI,EAAGM,IAHR;AAIC,IAAA,UAAU,EAAGR,UAJd;AAKC,IAAA,SAAS,EAAGI;AALb,IADC,CANH,CADD;AAkBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport GridItem from './grid-item';\n\nexport default function Grid( { categoryId, label, icon, items } ) {\n\tconst composite = useCompositeState( { orientation: 'vertical' } );\n\n\tif ( ! items?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\t{ ...composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"edit-site-patterns__grid\"\n\t\t\taria-label={ label }\n\t\t>\n\t\t\t{ items.map( ( item ) => (\n\t\t\t\t<GridItem\n\t\t\t\t\tkey={ item.name }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\titem={ item }\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\tcomposite={ composite }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n"]}
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = PageLibrary;
8
+ exports.default = PagePatterns;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
@@ -21,7 +21,7 @@ var _page = _interopRequireDefault(require("../page"));
21
21
 
22
22
  var _patternsList = _interopRequireDefault(require("./patterns-list"));
23
23
 
24
- var _useLibrarySettings = _interopRequireDefault(require("./use-library-settings"));
24
+ var _usePatternSettings = _interopRequireDefault(require("./use-pattern-settings"));
25
25
 
26
26
  var _lockUnlock = require("../../lock-unlock");
27
27
 
@@ -36,22 +36,22 @@ const {
36
36
  ExperimentalBlockEditorProvider
37
37
  } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
38
38
 
39
- function PageLibrary() {
39
+ function PagePatterns() {
40
40
  const {
41
41
  categoryType,
42
42
  categoryId
43
43
  } = (0, _url.getQueryArgs)(window.location.href);
44
44
  const type = categoryType || _utils.DEFAULT_TYPE;
45
45
  const category = categoryId || _utils.DEFAULT_CATEGORY;
46
- const settings = (0, _useLibrarySettings.default)(); // Wrap everything in a block editor provider.
46
+ const settings = (0, _usePatternSettings.default)(); // Wrap everything in a block editor provider.
47
47
  // This ensures 'styles' that are needed for the previews are synced
48
48
  // from the site editor store to the block editor store.
49
49
 
50
50
  return (0, _element.createElement)(ExperimentalBlockEditorProvider, {
51
51
  settings: settings
52
52
  }, (0, _element.createElement)(_page.default, {
53
- className: "edit-site-library",
54
- title: (0, _i18n.__)('Library content'),
53
+ className: "edit-site-patterns",
54
+ title: (0, _i18n.__)('Patterns content'),
55
55
  hideTitleFromUI: true
56
56
  }, (0, _element.createElement)(_patternsList.default, {
57
57
  type: type,
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"names":["ExperimentalBlockEditorProvider","blockEditorPrivateApis","PagePatterns","categoryType","categoryId","window","location","href","type","DEFAULT_TYPE","category","DEFAULT_CATEGORY","settings"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAdA;AACA;AACA;;AAKA;AACA;AACA;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAsC,wBAAQC,wBAAR,CAA5C;;AAEe,SAASC,YAAT,GAAwB;AACtC,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,MAA+B,uBAAcC,MAAM,CAACC,QAAP,CAAgBC,IAA9B,CAArC;AACA,QAAMC,IAAI,GAAGL,YAAY,IAAIM,mBAA7B;AACA,QAAMC,QAAQ,GAAGN,UAAU,IAAIO,uBAA/B;AACA,QAAMC,QAAQ,GAAG,kCAAjB,CAJsC,CAMtC;AACA;AACA;;AACA,SACC,4BAAC,+BAAD;AAAiC,IAAA,QAAQ,EAAGA;AAA5C,KACC,4BAAC,aAAD;AACC,IAAA,SAAS,EAAC,oBADX;AAEC,IAAA,KAAK,EAAG,cAAI,kBAAJ,CAFT;AAGC,IAAA,eAAe;AAHhB,KAKC,4BAAC,qBAAD;AAAc,IAAA,IAAI,EAAGJ,IAArB;AAA4B,IAAA,UAAU,EAAGE;AAAzC,IALD,CADD,CADD;AAWA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { getQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_CATEGORY, DEFAULT_TYPE } from './utils';\nimport Page from '../page';\nimport PatternsList from './patterns-list';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\n\nexport default function PagePatterns() {\n\tconst { categoryType, categoryId } = getQueryArgs( window.location.href );\n\tconst type = categoryType || DEFAULT_TYPE;\n\tconst category = categoryId || DEFAULT_CATEGORY;\n\tconst settings = usePatternSettings();\n\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\tclassName=\"edit-site-patterns\"\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\thideTitleFromUI\n\t\t\t>\n\t\t\t\t<PatternsList type={ type } categoryId={ category } />\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"]}
@@ -14,7 +14,7 @@ var _i18n = require("@wordpress/i18n");
14
14
  */
15
15
  function NoPatterns() {
16
16
  return (0, _element.createElement)("div", {
17
- className: "edit-site-library__no-results"
17
+ className: "edit-site-patterns__no-results"
18
18
  }, (0, _i18n.__)('No patterns found.'));
19
19
  }
20
20
  //# sourceMappingURL=no-patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/no-patterns.js"],"names":["NoPatterns"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGe,SAASA,UAAT,GAAsB;AACpC,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,cAAI,oBAAJ,CADH,CADD;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport default function NoPatterns() {\n\treturn (\n\t\t<div className=\"edit-site-patterns__no-results\">\n\t\t\t{ __( 'No patterns found.' ) }\n\t\t</div>\n\t);\n}\n"]}
@@ -63,26 +63,27 @@ function PatternsList({
63
63
  icon: (0, _i18n.isRTL)() ? _icons.chevronRight : _icons.chevronLeft,
64
64
  label: (0, _i18n.__)('Back'),
65
65
  onClick: () => {
66
- // Go back in history if we came from the library page.
66
+ // Go back in history if we came from the Patterns page.
67
67
  // Otherwise push a stack onto the history.
68
- if (location.state?.backPath === '/library') {
68
+ if (location.state?.backPath === '/patterns') {
69
69
  history.back();
70
70
  } else {
71
71
  history.push({
72
- path: '/library'
72
+ path: '/patterns'
73
73
  });
74
74
  }
75
75
  }
76
76
  }), (0, _element.createElement)(_components.FlexBlock, null, (0, _element.createElement)(_components.SearchControl, {
77
- className: "edit-site-library__search",
77
+ className: "edit-site-patterns__search",
78
78
  onChange: value => setFilterValue(value),
79
79
  placeholder: (0, _i18n.__)('Search patterns'),
80
80
  label: (0, _i18n.__)('Search patterns'),
81
81
  value: filterValue,
82
82
  __nextHasNoMarginBottom: true
83
83
  }))), isResolving && (0, _i18n.__)('Loading'), !isResolving && !!syncedPatterns.length && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalVStack, {
84
- className: "edit-site-library__section-header"
84
+ className: "edit-site-patterns__section-header"
85
85
  }, (0, _element.createElement)(_components.__experimentalHeading, {
86
+ as: "h2",
86
87
  level: 4
87
88
  }, (0, _i18n.__)('Synced')), (0, _element.createElement)(_components.__experimentalText, {
88
89
  variant: "muted",
@@ -90,11 +91,12 @@ function PatternsList({
90
91
  }, (0, _i18n.__)('Patterns that are kept in sync across your site'))), (0, _element.createElement)(_grid.default, {
91
92
  icon: _icons.symbol,
92
93
  categoryId: categoryId,
93
- label: (0, _i18n.__)('Synced patterns'),
94
+ label: (0, _i18n.__)('Synced'),
94
95
  items: syncedPatterns
95
96
  })), !isResolving && !!unsyncedPatterns.length && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalVStack, {
96
- className: "edit-site-library__section-header"
97
+ className: "edit-site-patterns__section-header"
97
98
  }, (0, _element.createElement)(_components.__experimentalHeading, {
99
+ as: "h2",
98
100
  level: 4
99
101
  }, (0, _i18n.__)('Standard')), (0, _element.createElement)(_components.__experimentalText, {
100
102
  variant: "muted",
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/patterns-list.js"],"names":["useLocation","useHistory","routerPrivateApis","PatternsList","categoryId","type","location","history","isMobileViewport","filterValue","setFilterValue","delayedFilterValue","patterns","isResolving","syncedPatterns","unsyncedPatterns","hasPatterns","length","chevronRight","chevronLeft","state","backPath","back","push","path","value","symbol"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\n\nimport {\n\tSearchControl,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tFlexBlock,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { symbol, chevronLeft, chevronRight } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Grid from './grid';\nimport NoPatterns from './no-patterns';\nimport usePatterns from './use-patterns';\nimport SidebarButton from '../sidebar-button';\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nexport default function PatternsList( { categoryId, type } ) {\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( '' );\n\n\tconst [ patterns, isResolving ] = usePatterns(\n\t\ttype,\n\t\tcategoryId,\n\t\tdelayedFilterValue\n\t);\n\n\tconst { syncedPatterns, unsyncedPatterns } = patterns;\n\tconst hasPatterns = !! syncedPatterns.length || !! unsyncedPatterns.length;\n\n\treturn (\n\t\t<VStack spacing={ 6 }>\n\t\t\t<Flex>\n\t\t\t\t{ isMobileViewport && (\n\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t// Go back in history if we came from the Patterns page.\n\t\t\t\t\t\t\t// Otherwise push a stack onto the history.\n\t\t\t\t\t\t\tif ( location.state?.backPath === '/patterns' ) {\n\t\t\t\t\t\t\t\thistory.back();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\thistory.push( { path: '/patterns' } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<FlexBlock>\n\t\t\t\t\t<SearchControl\n\t\t\t\t\t\tclassName=\"edit-site-patterns__search\"\n\t\t\t\t\t\tonChange={ ( value ) => setFilterValue( value ) }\n\t\t\t\t\t\tplaceholder={ __( 'Search patterns' ) }\n\t\t\t\t\t\tlabel={ __( 'Search patterns' ) }\n\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</FlexBlock>\n\t\t\t</Flex>\n\t\t\t{ isResolving && __( 'Loading' ) }\n\t\t\t{ ! isResolving && !! syncedPatterns.length && (\n\t\t\t\t<>\n\t\t\t\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t\t\t\t<Heading as=\"h2\" level={ 4 }>\n\t\t\t\t\t\t\t{ __( 'Synced' ) }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t<Text variant=\"muted\" as=\"p\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Patterns that are kept in sync across your site'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</VStack>\n\t\t\t\t\t<Grid\n\t\t\t\t\t\ticon={ symbol }\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\tlabel={ __( 'Synced' ) }\n\t\t\t\t\t\titems={ syncedPatterns }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! isResolving && !! unsyncedPatterns.length && (\n\t\t\t\t<>\n\t\t\t\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t\t\t\t<Heading as=\"h2\" level={ 4 }>\n\t\t\t\t\t\t\t{ __( 'Standard' ) }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t<Text variant=\"muted\" as=\"p\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Patterns that can be changed freely without affecting your site'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</VStack>\n\t\t\t\t\t<Grid\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\tlabel={ __( 'Standard patterns' ) }\n\t\t\t\t\t\titems={ unsyncedPatterns }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! isResolving && ! hasPatterns && <NoPatterns /> }\n\t\t</VStack>\n\t);\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/search-items.js"],"names":["defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultHasCategory","extractWords","input","splitRegexp","stripRegexp","split","filter","Boolean","normalizeSearchInput","replace","toLowerCase","getNormalizedSearchTerms","removeMatchingTerms","unmatchedTerms","unprocessedTerms","term","some","unprocessedTerm","includes","searchItems","items","searchInput","config","normalizedSearchTerms","onlyFilterByCategory","length","searchRankConfig","threshold","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","categoryId","getName","getTitle","getDescription","getKeywords","hasCategory","normalizedSearchInput","normalizedTitle","startsWith","terms","join"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { noCase } from 'change-case';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultHasCategory = () => false;\n\n/**\n * Extracts words from an input string.\n *\n * @param {string} input The input string.\n *\n * @return {Array} Words, extracted from the input string.\n */\nfunction extractWords( input = '' ) {\n\treturn noCase( input, {\n\t\tsplitRegexp: [\n\t\t\t/([\\p{Ll}\\p{Lo}\\p{N}])([\\p{Lu}\\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.\n\t\t\t/([\\p{Lu}\\p{Lt}])([\\p{Lu}\\p{Lt}][\\p{Ll}\\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.\n\t\t],\n\t\tstripRegexp: /(\\p{C}|\\p{P}|\\p{S})+/giu, // Anything that's not a punctuation, symbol or control/format character.\n\t} )\n\t\t.split( ' ' )\n\t\t.filter( Boolean );\n}\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tinput = removeAccents( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tinput = input.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tinput = input.toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\treturn extractWords( normalizeSearchInput( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tconst onlyFilterByCategory = ! normalizedSearchTerms.length;\n\tconst searchRankConfig = { ...config, onlyFilterByCategory };\n\n\t// If we aren't filtering on search terms, matching on category is satisfactory.\n\t// If we are, then we need more than a category match.\n\tconst threshold = onlyFilterByCategory ? 0 : 1;\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [\n\t\t\t\titem,\n\t\t\t\tgetItemSearchRank( item, searchInput, searchRankConfig ),\n\t\t\t];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > threshold );\n\n\t// If we didn't have terms to search on, there's no point sorting.\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn rankedItems.map( ( [ item ] ) => item );\n\t}\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nfunction getItemSearchRank( item, searchTerm, config ) {\n\tconst {\n\t\tcategoryId,\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\thasCategory = defaultHasCategory,\n\t\tonlyFilterByCategory,\n\t} = config;\n\n\tlet rank = hasCategory( item, categoryId ) ? 1 : 0;\n\n\t// If an item doesn't belong to the current category or we don't have\n\t// search terms to filter by, return the initial rank value.\n\tif ( ! rank || onlyFilterByCategory ) {\n\t\treturn rank;\n\t}\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\n\tconst normalizedSearchInput = normalizeSearchInput( searchTerm );\n\tconst normalizedTitle = normalizeSearchInput( title );\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, description matches come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [ name, title, description, ...keywords ].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\treturn rank;\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = useLibrarySettings;
6
+ exports.default = usePatternSettings;
7
7
 
8
8
  var _coreData = require("@wordpress/core-data");
9
9
 
@@ -24,7 +24,7 @@ var _utils = require("./utils");
24
24
  /**
25
25
  * Internal dependencies
26
26
  */
27
- function useLibrarySettings() {
27
+ function usePatternSettings() {
28
28
  var _storedSettings$__exp;
29
29
 
30
30
  const storedSettings = (0, _data.useSelect)(select => {
@@ -50,4 +50,4 @@ function useLibrarySettings() {
50
50
  }, [storedSettings, blockPatterns]);
51
51
  return settings;
52
52
  }
53
- //# sourceMappingURL=use-library-settings.js.map
53
+ //# sourceMappingURL=use-pattern-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/use-pattern-settings.js"],"names":["usePatternSettings","storedSettings","select","getSettings","editSiteStore","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","coreStore","getBlockPatterns","blockPatterns","filter","filterOutDuplicatesByName","settings","restStoredSettings","__unstableIsPreviewMode"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AAZA;AACA;AACA;;AAKA;AACA;AACA;AAKe,SAASA,kBAAT,GAA8B;AAAA;;AAC5C,QAAMC,cAAc,GAAG,qBAAaC,MAAF,IAAc;AAC/C,UAAM;AAAEC,MAAAA;AAAF,QAAkB,wBAAQD,MAAM,CAAEE,YAAF,CAAd,CAAxB;AACA,WAAOD,WAAW,EAAlB;AACA,GAHsB,EAGpB,EAHoB,CAAvB;AAKA,QAAME,qBAAqB,4BAC1BJ,cAAc,CAACK,qCADW,yEAC8B;AACxDL,EAAAA,cAAc,CAACM,2BAFhB,CAN4C,CAQC;;AAE7C,QAAMC,iBAAiB,GAAG,qBACvBN,MAAF,IAAcA,MAAM,CAAEO,eAAF,CAAN,CAAoBC,gBAApB,EADW,EAEzB,EAFyB,CAA1B;AAKA,QAAMC,aAAa,GAAG,sBACrB,MACC,CACC,IAAKN,qBAAqB,IAAI,EAA9B,CADD,EAEC,IAAKG,iBAAiB,IAAI,EAA1B,CAFD,EAGEI,MAHF,CAGUC,gCAHV,CAFoB,EAMrB,CAAER,qBAAF,EAAyBG,iBAAzB,CANqB,CAAtB;AASA,QAAMM,QAAQ,GAAG,sBAAS,MAAM;AAC/B,UAAM;AAAER,MAAAA,qCAAF;AAAyC,SAAGS;AAA5C,QACLd,cADD;AAGA,WAAO,EACN,GAAGc,kBADG;AAENR,MAAAA,2BAA2B,EAAEI,aAFvB;AAGNK,MAAAA,uBAAuB,EAAE;AAHnB,KAAP;AAKA,GATgB,EASd,CAAEf,cAAF,EAAkBU,aAAlB,CATc,CAAjB;AAWA,SAAOG,QAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport { filterOutDuplicatesByName } from './utils';\n\nexport default function usePatternSettings() {\n\tconst storedSettings = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\treturn getSettings();\n\t}, [] );\n\n\tconst settingsBlockPatterns =\n\t\tstoredSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatterns; // WP 5.9\n\n\tconst restBlockPatterns = useSelect(\n\t\t( select ) => select( coreStore ).getBlockPatterns(),\n\t\t[]\n\t);\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t].filter( filterOutDuplicatesByName ),\n\t\t[ settingsBlockPatterns, restBlockPatterns ]\n\t);\n\n\tconst settings = useMemo( () => {\n\t\tconst { __experimentalAdditionalBlockPatterns, ...restStoredSettings } =\n\t\t\tstoredSettings;\n\n\t\treturn {\n\t\t\t...restStoredSettings,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__unstableIsPreviewMode: true,\n\t\t};\n\t}, [ storedSettings, blockPatterns ] );\n\n\treturn settings;\n}\n"]}
@@ -43,6 +43,16 @@ const templatePartToPattern = templatePart => ({
43
43
  templatePart
44
44
  });
45
45
 
46
+ const templatePartCategories = ['header', 'footer', 'sidebar'];
47
+
48
+ const templatePartHasCategory = (item, category) => {
49
+ if (category === 'uncategorized') {
50
+ return !templatePartCategories.includes(item.templatePart.area);
51
+ }
52
+
53
+ return item.templatePart.area === category;
54
+ };
55
+
46
56
  const useTemplatePartsAsPatterns = (categoryId, postType = _utils.TEMPLATE_PARTS, filterValue = '') => {
47
57
  const {
48
58
  templateParts,
@@ -76,7 +86,7 @@ const useTemplatePartsAsPatterns = (categoryId, postType = _utils.TEMPLATE_PARTS
76
86
 
77
87
  return (0, _searchItems.searchItems)(templateParts, filterValue, {
78
88
  categoryId,
79
- hasCategory: (item, area) => item.templatePart.area === area
89
+ hasCategory: templatePartHasCategory
80
90
  });
81
91
  }, [templateParts, filterValue, categoryId]);
82
92
  return {
@@ -119,7 +129,7 @@ const reusableBlockToPattern = reusableBlock => ({
119
129
  categories: reusableBlock.wp_pattern,
120
130
  id: reusableBlock.id,
121
131
  name: reusableBlock.slug,
122
- syncStatus: reusableBlock.meta?.sync_status,
132
+ syncStatus: reusableBlock.wp_pattern_sync_status || _utils.SYNC_TYPES.full,
123
133
  title: reusableBlock.title.raw,
124
134
  type: reusableBlock.type,
125
135
  reusableBlock
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"names":["EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","categories","area","description","keywords","name","title","rendered","type","templatePartCategories","templatePartHasCategory","item","category","includes","useTemplatePartsAsPatterns","categoryId","postType","TEMPLATE_PARTS","filterValue","templateParts","isResolving","select","getEntityRecords","_isResolving","coreStore","query","per_page","rawTemplateParts","partsAsPatterns","map","filteredTemplateParts","hasCategory","useThemePatterns","PATTERNS","blockPatterns","getSettings","editSiteStore","settings","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","patterns","filter","pattern","CORE_PATTERN_SOURCES","source","filterOutDuplicatesByName","filteredPatterns","currentCategory","reusableBlockToPattern","reusableBlock","wp_pattern","id","syncStatus","wp_pattern_sync_status","SYNC_TYPES","full","useUserPatterns","categoryType","USER_PATTERNS","unfilteredPatterns","USER_PATTERN_CATEGORY","records","record","length","syncedPatterns","unsyncedPatterns","forEach","push","usePatterns"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tCORE_PATTERN_SOURCES,\n\tPATTERNS,\n\tSYNC_TYPES,\n\tTEMPLATE_PARTS,\n\tUSER_PATTERNS,\n\tUSER_PATTERN_CATEGORY,\n\tfilterOutDuplicatesByName,\n} from './utils';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tkeywords: templatePart.keywords || [],\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: templatePart.title.rendered,\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst templatePartCategories = [ 'header', 'footer', 'sidebar' ];\nconst templatePartHasCategory = ( item, category ) => {\n\tif ( category === 'uncategorized' ) {\n\t\treturn ! templatePartCategories.includes( item.templatePart.area );\n\t}\n\n\treturn item.templatePart.area === category;\n};\n\nconst useTemplatePartsAsPatterns = (\n\tcategoryId,\n\tpostType = TEMPLATE_PARTS,\n\tfilterValue = ''\n) => {\n\tconst { templateParts, isResolving } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType !== TEMPLATE_PARTS ) {\n\t\t\t\treturn {\n\t\t\t\t\ttemplateParts: EMPTY_PATTERN_LIST,\n\t\t\t\t\tisResolving: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst { getEntityRecords, isResolving: _isResolving } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst query = { per_page: -1 };\n\t\t\tconst rawTemplateParts = getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tquery\n\t\t\t);\n\t\t\tconst partsAsPatterns = rawTemplateParts?.map( ( templatePart ) =>\n\t\t\t\ttemplatePartToPattern( templatePart )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ttemplateParts: partsAsPatterns,\n\t\t\t\tisResolving: _isResolving( 'getEntityRecords', [\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_template_part',\n\t\t\t\t\tquery,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tif ( ! templateParts ) {\n\t\t\treturn EMPTY_PATTERN_LIST;\n\t\t}\n\n\t\treturn searchItems( templateParts, filterValue, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\t}, [ templateParts, filterValue, categoryId ] );\n\n\treturn { templateParts: filteredTemplateParts, isResolving };\n};\n\nconst useThemePatterns = (\n\tcategoryId,\n\tpostType = PATTERNS,\n\tfilterValue = ''\n) => {\n\tconst blockPatterns = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst settings = getSettings();\n\t\treturn (\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns\n\t\t);\n\t} );\n\n\tconst restBlockPatterns = useSelect( ( select ) =>\n\t\tselect( coreStore ).getBlockPatterns()\n\t);\n\n\tconst patterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( blockPatterns || [] ), ...( restBlockPatterns || [] ) ]\n\t\t\t\t.filter(\n\t\t\t\t\t( pattern ) =>\n\t\t\t\t\t\t! CORE_PATTERN_SOURCES.includes( pattern.source )\n\t\t\t\t)\n\t\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t\t...pattern,\n\t\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\t\ttype: 'pattern',\n\t\t\t\t\tblocks: parse( pattern.content ),\n\t\t\t\t} ) ),\n\t\t[ blockPatterns, restBlockPatterns ]\n\t);\n\n\tconst filteredPatterns = useMemo( () => {\n\t\tif ( postType !== PATTERNS ) {\n\t\t\treturn EMPTY_PATTERN_LIST;\n\t\t}\n\n\t\treturn searchItems( patterns, filterValue, {\n\t\t\tcategoryId,\n\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t} );\n\t}, [ patterns, filterValue, categoryId, postType ] );\n\n\treturn filteredPatterns;\n};\n\nconst reusableBlockToPattern = ( reusableBlock ) => ( {\n\tblocks: parse( reusableBlock.content.raw ),\n\tcategories: reusableBlock.wp_pattern,\n\tid: reusableBlock.id,\n\tname: reusableBlock.slug,\n\tsyncStatus: reusableBlock.wp_pattern_sync_status || SYNC_TYPES.full,\n\ttitle: reusableBlock.title.raw,\n\ttype: reusableBlock.type,\n\treusableBlock,\n} );\n\nconst useUserPatterns = (\n\tcategoryId,\n\tcategoryType = PATTERNS,\n\tfilterValue = ''\n) => {\n\tconst postType = categoryType === PATTERNS ? USER_PATTERNS : categoryType;\n\tconst unfilteredPatterns = useSelect(\n\t\t( select ) => {\n\t\t\tif (\n\t\t\t\tpostType !== USER_PATTERNS ||\n\t\t\t\tcategoryId !== USER_PATTERN_CATEGORY\n\t\t\t) {\n\t\t\t\treturn EMPTY_PATTERN_LIST;\n\t\t\t}\n\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst records = getEntityRecords( 'postType', postType, {\n\t\t\t\tper_page: -1,\n\t\t\t} );\n\n\t\t\tif ( ! records ) {\n\t\t\t\treturn EMPTY_PATTERN_LIST;\n\t\t\t}\n\n\t\t\treturn records.map( ( record ) =>\n\t\t\t\treusableBlockToPattern( record )\n\t\t\t);\n\t\t},\n\t\t[ postType, categoryId ]\n\t);\n\n\tconst filteredPatterns = useMemo( () => {\n\t\tif ( ! unfilteredPatterns.length ) {\n\t\t\treturn EMPTY_PATTERN_LIST;\n\t\t}\n\n\t\treturn searchItems( unfilteredPatterns, filterValue, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\t}, [ unfilteredPatterns, filterValue ] );\n\n\tconst patterns = { syncedPatterns: [], unsyncedPatterns: [] };\n\n\tfilteredPatterns.forEach( ( pattern ) => {\n\t\tif ( pattern.syncStatus === SYNC_TYPES.full ) {\n\t\t\tpatterns.syncedPatterns.push( pattern );\n\t\t} else {\n\t\t\tpatterns.unsyncedPatterns.push( pattern );\n\t\t}\n\t} );\n\n\treturn patterns;\n};\n\nexport const usePatterns = ( categoryType, categoryId, filterValue ) => {\n\tconst blockPatterns = useThemePatterns(\n\t\tcategoryId,\n\t\tcategoryType,\n\t\tfilterValue\n\t);\n\n\tconst { syncedPatterns = [], unsyncedPatterns = [] } = useUserPatterns(\n\t\tcategoryId,\n\t\tcategoryType,\n\t\tfilterValue\n\t);\n\n\tconst { templateParts, isResolving } = useTemplatePartsAsPatterns(\n\t\tcategoryId,\n\t\tcategoryType,\n\t\tfilterValue\n\t);\n\n\tconst patterns = {\n\t\tsyncedPatterns: [ ...templateParts, ...syncedPatterns ],\n\t\tunsyncedPatterns: [ ...blockPatterns, ...unsyncedPatterns ],\n\t};\n\n\treturn [ patterns, isResolving ];\n};\n\nexport default usePatterns;\n"]}
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.filterOutDuplicatesByName = exports.USER_PATTERN_CATEGORY = exports.USER_PATTERNS = exports.TEMPLATE_PARTS = exports.SYNC_TYPES = exports.PATTERNS = exports.DEFAULT_TYPE = exports.DEFAULT_CATEGORY = exports.CORE_PATTERN_SOURCES = void 0;
7
- const DEFAULT_CATEGORY = 'header';
7
+ const DEFAULT_CATEGORY = 'my-patterns';
8
8
  exports.DEFAULT_CATEGORY = DEFAULT_CATEGORY;
9
- const DEFAULT_TYPE = 'wp_template_part';
9
+ const DEFAULT_TYPE = 'wp_block';
10
10
  exports.DEFAULT_TYPE = DEFAULT_TYPE;
11
11
  const PATTERNS = 'pattern';
12
12
  exports.PATTERNS = PATTERNS;
@@ -14,7 +14,7 @@ const TEMPLATE_PARTS = 'wp_template_part';
14
14
  exports.TEMPLATE_PARTS = TEMPLATE_PARTS;
15
15
  const USER_PATTERNS = 'wp_block';
16
16
  exports.USER_PATTERNS = USER_PATTERNS;
17
- const USER_PATTERN_CATEGORY = 'custom-patterns';
17
+ const USER_PATTERN_CATEGORY = 'my-patterns';
18
18
  exports.USER_PATTERN_CATEGORY = USER_PATTERN_CATEGORY;
19
19
  const CORE_PATTERN_SOURCES = ['core', 'pattern-directory/core', 'pattern-directory/featured', 'pattern-directory/theme'];
20
20
  exports.CORE_PATTERN_SOURCES = CORE_PATTERN_SOURCES;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/page-patterns/utils.js"],"names":["DEFAULT_CATEGORY","DEFAULT_TYPE","PATTERNS","TEMPLATE_PARTS","USER_PATTERNS","USER_PATTERN_CATEGORY","CORE_PATTERN_SOURCES","SYNC_TYPES","full","unsynced","filterOutDuplicatesByName","currentItem","index","items","findIndex","item","name"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,GAAG,aAAzB;;AACA,MAAMC,YAAY,GAAG,UAArB;;AACA,MAAMC,QAAQ,GAAG,SAAjB;;AACA,MAAMC,cAAc,GAAG,kBAAvB;;AACA,MAAMC,aAAa,GAAG,UAAtB;;AACA,MAAMC,qBAAqB,GAAG,aAA9B;;AAEA,MAAMC,oBAAoB,GAAG,CACnC,MADmC,EAEnC,wBAFmC,EAGnC,4BAHmC,EAInC,yBAJmC,CAA7B;;AAOA,MAAMC,UAAU,GAAG;AACzBC,EAAAA,IAAI,EAAE,OADmB;AAEzBC,EAAAA,QAAQ,EAAE;AAFe,CAAnB;;;AAKA,MAAMC,yBAAyB,GAAG,CAAEC,WAAF,EAAeC,KAAf,EAAsBC,KAAtB,KACxCD,KAAK,KAAKC,KAAK,CAACC,SAAN,CAAmBC,IAAF,IAAYJ,WAAW,CAACK,IAAZ,KAAqBD,IAAI,CAACC,IAAvD,CADJ","sourcesContent":["export const DEFAULT_CATEGORY = 'my-patterns';\nexport const DEFAULT_TYPE = 'wp_block';\nexport const PATTERNS = 'pattern';\nexport const TEMPLATE_PARTS = 'wp_template_part';\nexport const USER_PATTERNS = 'wp_block';\nexport const USER_PATTERN_CATEGORY = 'my-patterns';\n\nexport const CORE_PATTERN_SOURCES = [\n\t'core',\n\t'pattern-directory/core',\n\t'pattern-directory/featured',\n\t'pattern-directory/theme',\n];\n\nexport const SYNC_TYPES = {\n\tfull: 'fully',\n\tunsynced: 'unsynced',\n};\n\nexport const filterOutDuplicatesByName = ( currentItem, index, items ) =>\n\tindex === items.findIndex( ( item ) => currentItem.name === item.name );\n"]}