@wordpress/edit-site 5.13.0 → 5.15.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 (646) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-page/index.js +2 -13
  3. package/build/components/add-new-page/index.js.map +1 -1
  4. package/build/components/add-new-pattern/index.js +29 -15
  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/add-new-template/utils.js +10 -8
  11. package/build/components/add-new-template/utils.js.map +1 -1
  12. package/build/components/block-editor/constants.js +1 -1
  13. package/build/components/block-editor/constants.js.map +1 -1
  14. package/build/components/block-editor/editor-canvas.js +1 -1
  15. package/build/components/block-editor/editor-canvas.js.map +1 -1
  16. package/build/components/block-editor/index.js +0 -4
  17. package/build/components/block-editor/index.js.map +1 -1
  18. package/build/components/block-editor/inserter-media-categories.js +1 -22
  19. package/build/components/block-editor/inserter-media-categories.js.map +1 -1
  20. package/build/components/block-editor/site-editor-canvas.js +29 -32
  21. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  22. package/build/components/block-editor/use-site-editor-settings.js +90 -19
  23. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  24. package/build/components/canvas-spinner/index.js +1 -18
  25. package/build/components/canvas-spinner/index.js.map +1 -1
  26. package/build/components/code-editor/index.js +60 -28
  27. package/build/components/code-editor/index.js.map +1 -1
  28. package/build/components/create-pattern-modal/index.js +15 -11
  29. package/build/components/create-pattern-modal/index.js.map +1 -1
  30. package/build/components/create-template-part-modal/index.js +1 -1
  31. package/build/components/create-template-part-modal/index.js.map +1 -1
  32. package/build/components/editor/index.js +11 -1
  33. package/build/components/editor/index.js.map +1 -1
  34. package/build/components/global-styles/palette.js +1 -1
  35. package/build/components/global-styles/palette.js.map +1 -1
  36. package/build/components/global-styles/ui.js +7 -2
  37. package/build/components/global-styles/ui.js.map +1 -1
  38. package/build/components/header-edit-mode/document-actions/index.js +9 -1
  39. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  40. package/build/components/header-edit-mode/index.js +49 -14
  41. package/build/components/header-edit-mode/index.js.map +1 -1
  42. package/build/components/header-edit-mode/more-menu/index.js +47 -17
  43. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  44. package/build/components/keyboard-shortcut-help-modal/index.js +17 -4
  45. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  46. package/build/components/keyboard-shortcuts/edit-mode.js +32 -1
  47. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  48. package/build/components/keyboard-shortcuts/register.js +9 -0
  49. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  50. package/build/components/layout/index.js +110 -28
  51. package/build/components/layout/index.js.map +1 -1
  52. package/build/components/page/header.js +1 -1
  53. package/build/components/page/header.js.map +1 -1
  54. package/build/components/page/index.js +3 -1
  55. package/build/components/page/index.js.map +1 -1
  56. package/build/components/page-actions/index.js +2 -2
  57. package/build/components/page-actions/index.js.map +1 -1
  58. package/build/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -15
  59. package/build/components/page-actions/trash-page-menu-item.js.map +1 -0
  60. package/build/components/page-content-focus-manager/back-to-page-notification.js +9 -3
  61. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  62. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -5
  63. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  64. package/build/components/page-main/index.js +8 -4
  65. package/build/components/page-main/index.js.map +1 -1
  66. package/build/components/page-patterns/duplicate-menu-item.js +163 -0
  67. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -0
  68. package/build/components/page-patterns/grid-item.js +218 -0
  69. package/build/components/page-patterns/grid-item.js.map +1 -0
  70. package/build/components/{page-library → page-patterns}/grid.js +6 -19
  71. package/build/components/page-patterns/grid.js.map +1 -0
  72. package/build/components/page-patterns/header.js +69 -0
  73. package/build/components/page-patterns/header.js.map +1 -0
  74. package/build/components/{page-library → page-patterns}/index.js +9 -7
  75. package/build/components/page-patterns/index.js.map +1 -0
  76. package/build/components/{page-library → page-patterns}/no-patterns.js +1 -1
  77. package/build/components/page-patterns/no-patterns.js.map +1 -0
  78. package/build/components/page-patterns/pagination.js +63 -0
  79. package/build/components/page-patterns/pagination.js.map +1 -0
  80. package/build/components/page-patterns/patterns-list.js +175 -0
  81. package/build/components/page-patterns/patterns-list.js.map +1 -0
  82. package/build/components/page-patterns/rename-menu-item.js +109 -0
  83. package/build/components/page-patterns/rename-menu-item.js.map +1 -0
  84. package/build/components/page-patterns/search-items.js.map +1 -0
  85. package/build/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +3 -3
  86. package/build/components/page-patterns/use-pattern-settings.js.map +1 -0
  87. package/build/components/page-patterns/use-patterns.js +185 -0
  88. package/build/components/page-patterns/use-patterns.js.map +1 -0
  89. package/build/components/{page-library → page-patterns}/utils.js +3 -3
  90. package/build/components/page-patterns/utils.js.map +1 -0
  91. package/build/components/page-template-parts/add-new-template-part.js +74 -0
  92. package/build/components/page-template-parts/add-new-template-part.js.map +1 -0
  93. package/build/components/page-template-parts/index.js +82 -0
  94. package/build/components/page-template-parts/index.js.map +1 -0
  95. package/build/components/page-templates/index.js +1 -0
  96. package/build/components/page-templates/index.js.map +1 -1
  97. package/build/components/preferences-modal/enable-feature.js +5 -1
  98. package/build/components/preferences-modal/enable-feature.js.map +1 -1
  99. package/build/components/preferences-modal/index.js +43 -4
  100. package/build/components/preferences-modal/index.js.map +1 -1
  101. package/build/components/resizable-frame/index.js +78 -36
  102. package/build/components/resizable-frame/index.js.map +1 -1
  103. package/build/components/save-panel/index.js +5 -5
  104. package/build/components/save-panel/index.js.map +1 -1
  105. package/build/components/sidebar/index.js +6 -6
  106. package/build/components/sidebar/index.js.map +1 -1
  107. package/build/components/sidebar-edit-mode/index.js +4 -2
  108. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  109. package/build/components/sidebar-edit-mode/page-panels/page-content.js +4 -3
  110. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  111. package/build/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  112. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  113. package/build/components/sidebar-edit-mode/settings-header/index.js +7 -1
  114. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  115. package/build/components/sidebar-navigation-screen/index.js +21 -11
  116. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  117. package/build/components/sidebar-navigation-screen-global-styles/index.js +69 -5
  118. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  119. package/build/components/sidebar-navigation-screen-main/index.js +5 -3
  120. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  121. package/build/components/sidebar-navigation-screen-main/template-part-hint.js +45 -0
  122. package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
  123. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +7 -16
  124. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  125. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +10 -11
  126. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  127. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +10 -10
  128. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  129. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  130. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  131. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +10 -1
  132. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  133. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +9 -3
  134. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  135. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +9 -4
  136. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  137. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +29 -0
  138. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +1 -0
  139. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  140. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  141. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +27 -4
  142. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  143. package/build/components/sidebar-navigation-screen-page/index.js +2 -3
  144. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  145. package/build/components/sidebar-navigation-screen-page/page-details.js +11 -4
  146. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  147. package/build/components/sidebar-navigation-screen-page/status-label.js +2 -35
  148. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  149. package/build/components/sidebar-navigation-screen-pages/index.js +33 -25
  150. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  151. package/build/components/sidebar-navigation-screen-pattern/index.js +20 -13
  152. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  153. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +4 -3
  154. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  155. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  156. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  157. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -3
  158. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  159. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +28 -2
  160. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  161. package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +4 -4
  162. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -0
  163. package/build/components/sidebar-navigation-screen-patterns/index.js +173 -0
  164. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -0
  165. package/build/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +1 -0
  166. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +34 -0
  167. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -0
  168. package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +11 -19
  169. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -0
  170. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +52 -0
  171. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -0
  172. package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +2 -2
  173. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -0
  174. package/build/components/sidebar-navigation-screen-templates/index.js +11 -63
  175. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  176. package/build/components/sidebar-navigation-screen-templates-browse/index.js +4 -2
  177. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  178. package/build/components/site-hub/index.js +25 -12
  179. package/build/components/site-hub/index.js.map +1 -1
  180. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -5
  181. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  182. package/build/components/sync-state-with-url/use-sync-path-with-url.js +16 -13
  183. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  184. package/build/components/template-actions/index.js +25 -7
  185. package/build/components/template-actions/index.js.map +1 -1
  186. package/build/components/template-actions/rename-menu-item.js +12 -8
  187. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  188. package/build/components/use-edited-entity-record/index.js +6 -1
  189. package/build/components/use-edited-entity-record/index.js.map +1 -1
  190. package/build/components/welcome-guide/editor.js +1 -1
  191. package/build/components/welcome-guide/editor.js.map +1 -1
  192. package/build/components/welcome-guide/index.js +5 -1
  193. package/build/components/welcome-guide/index.js.map +1 -1
  194. package/build/components/welcome-guide/page.js +70 -0
  195. package/build/components/welcome-guide/page.js.map +1 -0
  196. package/build/components/welcome-guide/styles.js +1 -1
  197. package/build/components/welcome-guide/styles.js.map +1 -1
  198. package/build/components/welcome-guide/template.js +71 -0
  199. package/build/components/welcome-guide/template.js.map +1 -0
  200. package/build/hooks/commands/use-common-commands.js +115 -20
  201. package/build/hooks/commands/use-common-commands.js.map +1 -1
  202. package/build/hooks/commands/use-edit-mode-commands.js +195 -44
  203. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  204. package/build/hooks/push-changes-to-global-styles/index.js +56 -10
  205. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  206. package/build/index.js +9 -0
  207. package/build/index.js.map +1 -1
  208. package/build/store/actions.js +5 -2
  209. package/build/store/actions.js.map +1 -1
  210. package/build/store/private-actions.js +7 -1
  211. package/build/store/private-actions.js.map +1 -1
  212. package/build/store/selectors.js +2 -1
  213. package/build/store/selectors.js.map +1 -1
  214. package/build/utils/get-is-list-page.js +2 -2
  215. package/build/utils/get-is-list-page.js.map +1 -1
  216. package/build/utils/normalize-record-key.js +19 -0
  217. package/build/utils/normalize-record-key.js.map +1 -0
  218. package/build/utils/template-part-create.js +2 -2
  219. package/build/utils/template-part-create.js.map +1 -1
  220. package/build/utils/use-activate-theme.js +1 -1
  221. package/build/utils/use-activate-theme.js.map +1 -1
  222. package/build-module/components/add-new-page/index.js +2 -12
  223. package/build-module/components/add-new-page/index.js.map +1 -1
  224. package/build-module/components/add-new-pattern/index.js +28 -16
  225. package/build-module/components/add-new-pattern/index.js.map +1 -1
  226. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +1 -1
  227. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  228. package/build-module/components/add-new-template/new-template.js +72 -17
  229. package/build-module/components/add-new-template/new-template.js.map +1 -1
  230. package/build-module/components/add-new-template/utils.js +9 -6
  231. package/build-module/components/add-new-template/utils.js.map +1 -1
  232. package/build-module/components/block-editor/constants.js +1 -1
  233. package/build-module/components/block-editor/constants.js.map +1 -1
  234. package/build-module/components/block-editor/editor-canvas.js +1 -1
  235. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  236. package/build-module/components/block-editor/index.js +0 -4
  237. package/build-module/components/block-editor/index.js.map +1 -1
  238. package/build-module/components/block-editor/inserter-media-categories.js +1 -22
  239. package/build-module/components/block-editor/inserter-media-categories.js.map +1 -1
  240. package/build-module/components/block-editor/site-editor-canvas.js +29 -32
  241. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  242. package/build-module/components/block-editor/use-site-editor-settings.js +92 -20
  243. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  244. package/build-module/components/canvas-spinner/index.js +1 -15
  245. package/build-module/components/canvas-spinner/index.js.map +1 -1
  246. package/build-module/components/code-editor/index.js +62 -30
  247. package/build-module/components/code-editor/index.js.map +1 -1
  248. package/build-module/components/create-pattern-modal/index.js +14 -11
  249. package/build-module/components/create-pattern-modal/index.js.map +1 -1
  250. package/build-module/components/create-template-part-modal/index.js +1 -1
  251. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  252. package/build-module/components/editor/index.js +11 -1
  253. package/build-module/components/editor/index.js.map +1 -1
  254. package/build-module/components/global-styles/palette.js +1 -1
  255. package/build-module/components/global-styles/palette.js.map +1 -1
  256. package/build-module/components/global-styles/ui.js +8 -3
  257. package/build-module/components/global-styles/ui.js.map +1 -1
  258. package/build-module/components/header-edit-mode/document-actions/index.js +10 -2
  259. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  260. package/build-module/components/header-edit-mode/index.js +51 -16
  261. package/build-module/components/header-edit-mode/index.js.map +1 -1
  262. package/build-module/components/header-edit-mode/more-menu/index.js +44 -20
  263. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  264. package/build-module/components/keyboard-shortcut-help-modal/index.js +15 -6
  265. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  266. package/build-module/components/keyboard-shortcuts/edit-mode.js +29 -1
  267. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  268. package/build-module/components/keyboard-shortcuts/register.js +9 -0
  269. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  270. package/build-module/components/layout/index.js +110 -28
  271. package/build-module/components/layout/index.js.map +1 -1
  272. package/build-module/components/page/header.js +1 -1
  273. package/build-module/components/page/header.js.map +1 -1
  274. package/build-module/components/page/index.js +2 -1
  275. package/build-module/components/page/index.js.map +1 -1
  276. package/build-module/components/page-actions/index.js +2 -2
  277. package/build-module/components/page-actions/index.js.map +1 -1
  278. package/build-module/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -16
  279. package/build-module/components/page-actions/trash-page-menu-item.js.map +1 -0
  280. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +9 -3
  281. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  282. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -3
  283. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  284. package/build-module/components/page-main/index.js +6 -3
  285. package/build-module/components/page-main/index.js.map +1 -1
  286. package/build-module/components/page-patterns/duplicate-menu-item.js +147 -0
  287. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -0
  288. package/build-module/components/page-patterns/grid-item.js +195 -0
  289. package/build-module/components/page-patterns/grid-item.js.map +1 -0
  290. package/build-module/components/page-patterns/grid.js +26 -0
  291. package/build-module/components/page-patterns/grid.js.map +1 -0
  292. package/build-module/components/page-patterns/header.js +54 -0
  293. package/build-module/components/page-patterns/header.js.map +1 -0
  294. package/build-module/components/{page-library → page-patterns}/index.js +8 -6
  295. package/build-module/components/page-patterns/index.js.map +1 -0
  296. package/build-module/components/{page-library → page-patterns}/no-patterns.js +1 -1
  297. package/build-module/components/page-patterns/no-patterns.js.map +1 -0
  298. package/build-module/components/page-patterns/pagination.js +54 -0
  299. package/build-module/components/page-patterns/pagination.js.map +1 -0
  300. package/build-module/components/page-patterns/patterns-list.js +152 -0
  301. package/build-module/components/page-patterns/patterns-list.js.map +1 -0
  302. package/build-module/components/page-patterns/rename-menu-item.js +97 -0
  303. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -0
  304. package/build-module/components/page-patterns/search-items.js.map +1 -0
  305. package/build-module/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +2 -2
  306. package/build-module/components/page-patterns/use-pattern-settings.js.map +1 -0
  307. package/build-module/components/page-patterns/use-patterns.js +167 -0
  308. package/build-module/components/page-patterns/use-patterns.js.map +1 -0
  309. package/build-module/components/{page-library → page-patterns}/utils.js +3 -3
  310. package/build-module/components/page-patterns/utils.js.map +1 -0
  311. package/build-module/components/page-template-parts/add-new-template-part.js +58 -0
  312. package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -0
  313. package/build-module/components/page-template-parts/index.js +63 -0
  314. package/build-module/components/page-template-parts/index.js.map +1 -0
  315. package/build-module/components/page-templates/index.js +1 -0
  316. package/build-module/components/page-templates/index.js.map +1 -1
  317. package/build-module/components/preferences-modal/enable-feature.js +5 -1
  318. package/build-module/components/preferences-modal/enable-feature.js.map +1 -1
  319. package/build-module/components/preferences-modal/index.js +38 -5
  320. package/build-module/components/preferences-modal/index.js.map +1 -1
  321. package/build-module/components/resizable-frame/index.js +79 -39
  322. package/build-module/components/resizable-frame/index.js.map +1 -1
  323. package/build-module/components/save-panel/index.js +5 -5
  324. package/build-module/components/save-panel/index.js.map +1 -1
  325. package/build-module/components/sidebar/index.js +5 -5
  326. package/build-module/components/sidebar/index.js.map +1 -1
  327. package/build-module/components/sidebar-edit-mode/index.js +4 -2
  328. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  329. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +5 -2
  330. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  331. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  332. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  333. package/build-module/components/sidebar-edit-mode/settings-header/index.js +6 -1
  334. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  335. package/build-module/components/sidebar-navigation-screen/index.js +22 -12
  336. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  337. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +67 -5
  338. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  339. package/build-module/components/sidebar-navigation-screen-main/index.js +5 -4
  340. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  341. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +33 -0
  342. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
  343. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +8 -17
  344. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  345. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +10 -9
  346. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
  347. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +9 -10
  348. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  349. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  350. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  351. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +11 -1
  352. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  353. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +8 -4
  354. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  355. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +9 -4
  356. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  357. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +20 -0
  358. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +1 -0
  359. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  360. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  361. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +26 -6
  362. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  363. package/build-module/components/sidebar-navigation-screen-page/index.js +2 -3
  364. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  365. package/build-module/components/sidebar-navigation-screen-page/page-details.js +11 -4
  366. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  367. package/build-module/components/sidebar-navigation-screen-page/status-label.js +2 -33
  368. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  369. package/build-module/components/sidebar-navigation-screen-pages/index.js +34 -26
  370. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  371. package/build-module/components/sidebar-navigation-screen-pattern/index.js +18 -12
  372. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  373. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +4 -3
  374. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  375. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  376. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  377. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -3
  378. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  379. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +25 -2
  380. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  381. package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +4 -4
  382. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -0
  383. package/build-module/components/sidebar-navigation-screen-patterns/index.js +148 -0
  384. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -0
  385. package/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +1 -0
  386. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +24 -0
  387. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -0
  388. package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +11 -17
  389. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -0
  390. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +43 -0
  391. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -0
  392. package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +2 -2
  393. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -0
  394. package/build-module/components/sidebar-navigation-screen-templates/index.js +12 -62
  395. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  396. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +4 -2
  397. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  398. package/build-module/components/site-hub/index.js +25 -12
  399. package/build-module/components/site-hub/index.js.map +1 -1
  400. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +7 -5
  401. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  402. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +17 -13
  403. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  404. package/build-module/components/template-actions/index.js +26 -8
  405. package/build-module/components/template-actions/index.js.map +1 -1
  406. package/build-module/components/template-actions/rename-menu-item.js +11 -8
  407. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  408. package/build-module/components/use-edited-entity-record/index.js +3 -1
  409. package/build-module/components/use-edited-entity-record/index.js.map +1 -1
  410. package/build-module/components/welcome-guide/editor.js +1 -1
  411. package/build-module/components/welcome-guide/editor.js.map +1 -1
  412. package/build-module/components/welcome-guide/index.js +3 -1
  413. package/build-module/components/welcome-guide/index.js.map +1 -1
  414. package/build-module/components/welcome-guide/page.js +59 -0
  415. package/build-module/components/welcome-guide/page.js.map +1 -0
  416. package/build-module/components/welcome-guide/styles.js +1 -1
  417. package/build-module/components/welcome-guide/styles.js.map +1 -1
  418. package/build-module/components/welcome-guide/template.js +60 -0
  419. package/build-module/components/welcome-guide/template.js.map +1 -0
  420. package/build-module/hooks/commands/use-common-commands.js +111 -21
  421. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  422. package/build-module/hooks/commands/use-edit-mode-commands.js +193 -46
  423. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  424. package/build-module/hooks/push-changes-to-global-styles/index.js +57 -10
  425. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  426. package/build-module/index.js +4 -0
  427. package/build-module/index.js.map +1 -1
  428. package/build-module/store/actions.js +5 -2
  429. package/build-module/store/actions.js.map +1 -1
  430. package/build-module/store/private-actions.js +7 -1
  431. package/build-module/store/private-actions.js.map +1 -1
  432. package/build-module/store/selectors.js +2 -1
  433. package/build-module/store/selectors.js.map +1 -1
  434. package/build-module/utils/get-is-list-page.js +2 -2
  435. package/build-module/utils/get-is-list-page.js.map +1 -1
  436. package/build-module/utils/normalize-record-key.js +12 -0
  437. package/build-module/utils/normalize-record-key.js.map +1 -0
  438. package/build-module/utils/template-part-create.js +1 -1
  439. package/build-module/utils/template-part-create.js.map +1 -1
  440. package/build-module/utils/use-activate-theme.js +1 -1
  441. package/build-module/utils/use-activate-theme.js.map +1 -1
  442. package/build-style/style-rtl.css +383 -109
  443. package/build-style/style.css +383 -109
  444. package/package.json +39 -40
  445. package/src/components/add-new-page/index.js +1 -9
  446. package/src/components/add-new-pattern/index.js +30 -21
  447. package/src/components/add-new-template/add-custom-generic-template-modal-content.js +1 -1
  448. package/src/components/add-new-template/new-template.js +120 -24
  449. package/src/components/add-new-template/style.scss +30 -2
  450. package/src/components/add-new-template/utils.js +9 -6
  451. package/src/components/block-editor/constants.js +5 -1
  452. package/src/components/block-editor/editor-canvas.js +3 -1
  453. package/src/components/block-editor/index.js +0 -4
  454. package/src/components/block-editor/inserter-media-categories.js +1 -21
  455. package/src/components/block-editor/site-editor-canvas.js +7 -1
  456. package/src/components/block-editor/use-site-editor-settings.js +100 -25
  457. package/src/components/canvas-spinner/index.js +1 -11
  458. package/src/components/canvas-spinner/style.scss +18 -0
  459. package/src/components/code-editor/index.js +51 -33
  460. package/src/components/create-pattern-modal/index.js +15 -13
  461. package/src/components/create-template-part-modal/index.js +1 -1
  462. package/src/components/editor/index.js +16 -1
  463. package/src/components/editor/style.scss +4 -0
  464. package/src/components/global-styles/palette.js +10 -9
  465. package/src/components/global-styles/stories/index.js +1 -0
  466. package/src/components/global-styles/ui.js +34 -24
  467. package/src/components/header-edit-mode/document-actions/index.js +9 -1
  468. package/src/components/header-edit-mode/document-actions/style.scss +12 -0
  469. package/src/components/header-edit-mode/index.js +136 -79
  470. package/src/components/header-edit-mode/more-menu/index.js +74 -30
  471. package/src/components/keyboard-shortcut-help-modal/index.js +21 -7
  472. package/src/components/keyboard-shortcuts/edit-mode.js +35 -2
  473. package/src/components/keyboard-shortcuts/register.js +10 -0
  474. package/src/components/layout/index.js +156 -78
  475. package/src/components/layout/style.scss +49 -2
  476. package/src/components/page/header.js +1 -1
  477. package/src/components/page/index.js +5 -1
  478. package/src/components/page-actions/index.js +2 -2
  479. package/src/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +9 -21
  480. package/src/components/page-content-focus-manager/back-to-page-notification.js +7 -2
  481. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +12 -3
  482. package/src/components/page-main/index.js +6 -3
  483. package/src/components/page-patterns/duplicate-menu-item.js +196 -0
  484. package/src/components/page-patterns/grid-item.js +284 -0
  485. package/src/components/page-patterns/grid.js +22 -0
  486. package/src/components/page-patterns/header.js +69 -0
  487. package/src/components/{page-library → page-patterns}/index.js +11 -6
  488. package/src/components/{page-library → page-patterns}/no-patterns.js +1 -1
  489. package/src/components/page-patterns/pagination.js +80 -0
  490. package/src/components/page-patterns/patterns-list.js +206 -0
  491. package/src/components/page-patterns/rename-menu-item.js +115 -0
  492. package/src/components/page-patterns/style.scss +219 -0
  493. package/src/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +1 -1
  494. package/src/components/page-patterns/use-patterns.js +177 -0
  495. package/src/components/{page-library → page-patterns}/utils.js +3 -3
  496. package/src/components/page-template-parts/add-new-template-part.js +57 -0
  497. package/src/components/page-template-parts/index.js +86 -0
  498. package/src/components/page-templates/index.js +1 -1
  499. package/src/components/preferences-modal/enable-feature.js +5 -2
  500. package/src/components/preferences-modal/index.js +35 -4
  501. package/src/components/resizable-frame/index.js +102 -34
  502. package/src/components/resizable-frame/style.scss +9 -9
  503. package/src/components/save-panel/index.js +10 -4
  504. package/src/components/sidebar/index.js +6 -6
  505. package/src/components/sidebar-button/style.scss +1 -1
  506. package/src/components/sidebar-edit-mode/index.js +4 -2
  507. package/src/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
  508. package/src/components/sidebar-edit-mode/page-panels/page-status.js +2 -5
  509. package/src/components/sidebar-edit-mode/settings-header/index.js +7 -2
  510. package/src/components/sidebar-navigation-item/style.scss +7 -13
  511. package/src/components/sidebar-navigation-screen/index.js +18 -9
  512. package/src/components/sidebar-navigation-screen/style.scss +21 -2
  513. package/src/components/sidebar-navigation-screen-details-panel/style.scss +1 -1
  514. package/src/components/sidebar-navigation-screen-global-styles/index.js +57 -17
  515. package/src/components/sidebar-navigation-screen-main/index.js +44 -40
  516. package/src/components/sidebar-navigation-screen-main/template-part-hint.js +34 -0
  517. package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +14 -35
  518. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +8 -11
  519. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +13 -11
  520. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  521. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +12 -1
  522. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +16 -7
  523. package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +2 -7
  524. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +20 -6
  525. package/src/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +24 -0
  526. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  527. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +39 -8
  528. package/src/components/sidebar-navigation-screen-page/index.js +3 -3
  529. package/src/components/sidebar-navigation-screen-page/page-details.js +8 -3
  530. package/src/components/sidebar-navigation-screen-page/status-label.js +2 -36
  531. package/src/components/sidebar-navigation-screen-pages/index.js +40 -30
  532. package/src/components/sidebar-navigation-screen-pattern/index.js +18 -8
  533. package/src/components/sidebar-navigation-screen-pattern/style.scss +29 -0
  534. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
  535. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +2 -1
  536. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +12 -2
  537. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +48 -3
  538. package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +4 -4
  539. package/src/components/sidebar-navigation-screen-patterns/index.js +194 -0
  540. package/src/components/sidebar-navigation-screen-patterns/style.scss +23 -0
  541. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +24 -0
  542. package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +9 -17
  543. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +55 -0
  544. package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +3 -2
  545. package/src/components/sidebar-navigation-screen-template/style.scss +15 -15
  546. package/src/components/sidebar-navigation-screen-templates/index.js +15 -82
  547. package/src/components/sidebar-navigation-screen-templates-browse/index.js +2 -0
  548. package/src/components/site-hub/index.js +46 -29
  549. package/src/components/site-hub/style.scss +17 -3
  550. package/src/components/start-template-options/style.scss +0 -3
  551. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +8 -2
  552. package/src/components/sync-state-with-url/use-sync-path-with-url.js +73 -66
  553. package/src/components/template-actions/index.js +40 -9
  554. package/src/components/template-actions/rename-menu-item.js +17 -10
  555. package/src/components/use-edited-entity-record/index.js +6 -1
  556. package/src/components/welcome-guide/editor.js +1 -1
  557. package/src/components/welcome-guide/index.js +4 -0
  558. package/src/components/welcome-guide/page.js +75 -0
  559. package/src/components/welcome-guide/style.scss +15 -1
  560. package/src/components/welcome-guide/styles.js +1 -1
  561. package/src/components/welcome-guide/template.js +82 -0
  562. package/src/hooks/commands/use-common-commands.js +88 -24
  563. package/src/hooks/commands/use-edit-mode-commands.js +182 -38
  564. package/src/hooks/push-changes-to-global-styles/index.js +63 -9
  565. package/src/index.js +4 -0
  566. package/src/store/actions.js +8 -1
  567. package/src/store/private-actions.js +5 -1
  568. package/src/store/selectors.js +5 -0
  569. package/src/store/test/selectors.js +2 -0
  570. package/src/style.scss +13 -14
  571. package/src/utils/get-is-list-page.js +4 -3
  572. package/src/utils/normalize-record-key.js +11 -0
  573. package/src/utils/template-part-create.js +1 -1
  574. package/src/utils/use-activate-theme.js +1 -1
  575. package/build/components/code-editor/code-editor-text-area.js +0 -96
  576. package/build/components/code-editor/code-editor-text-area.js.map +0 -1
  577. package/build/components/keyboard-shortcuts/index.js +0 -148
  578. package/build/components/keyboard-shortcuts/index.js.map +0 -1
  579. package/build/components/page-actions/delete-page-menu-item.js.map +0 -1
  580. package/build/components/page-content-focus-manager/constants.js +0 -9
  581. package/build/components/page-content-focus-manager/constants.js.map +0 -1
  582. package/build/components/page-library/grid-item.js +0 -165
  583. package/build/components/page-library/grid-item.js.map +0 -1
  584. package/build/components/page-library/grid.js.map +0 -1
  585. package/build/components/page-library/index.js.map +0 -1
  586. package/build/components/page-library/no-patterns.js.map +0 -1
  587. package/build/components/page-library/patterns-list.js +0 -108
  588. package/build/components/page-library/patterns-list.js.map +0 -1
  589. package/build/components/page-library/search-items.js.map +0 -1
  590. package/build/components/page-library/use-library-settings.js.map +0 -1
  591. package/build/components/page-library/use-patterns.js +0 -194
  592. package/build/components/page-library/use-patterns.js.map +0 -1
  593. package/build/components/page-library/utils.js.map +0 -1
  594. package/build/components/sidebar-navigation-screen-library/category-item.js.map +0 -1
  595. package/build/components/sidebar-navigation-screen-library/index.js +0 -112
  596. package/build/components/sidebar-navigation-screen-library/index.js.map +0 -1
  597. package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +0 -1
  598. package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +0 -1
  599. package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js +0 -41
  600. package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +0 -1
  601. package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +0 -1
  602. package/build-module/components/code-editor/code-editor-text-area.js +0 -84
  603. package/build-module/components/code-editor/code-editor-text-area.js.map +0 -1
  604. package/build-module/components/keyboard-shortcuts/index.js +0 -132
  605. package/build-module/components/keyboard-shortcuts/index.js.map +0 -1
  606. package/build-module/components/page-actions/delete-page-menu-item.js.map +0 -1
  607. package/build-module/components/page-content-focus-manager/constants.js +0 -2
  608. package/build-module/components/page-content-focus-manager/constants.js.map +0 -1
  609. package/build-module/components/page-library/grid-item.js +0 -145
  610. package/build-module/components/page-library/grid-item.js.map +0 -1
  611. package/build-module/components/page-library/grid.js +0 -38
  612. package/build-module/components/page-library/grid.js.map +0 -1
  613. package/build-module/components/page-library/index.js.map +0 -1
  614. package/build-module/components/page-library/no-patterns.js.map +0 -1
  615. package/build-module/components/page-library/patterns-list.js +0 -87
  616. package/build-module/components/page-library/patterns-list.js.map +0 -1
  617. package/build-module/components/page-library/search-items.js.map +0 -1
  618. package/build-module/components/page-library/use-library-settings.js.map +0 -1
  619. package/build-module/components/page-library/use-patterns.js +0 -176
  620. package/build-module/components/page-library/use-patterns.js.map +0 -1
  621. package/build-module/components/page-library/utils.js.map +0 -1
  622. package/build-module/components/sidebar-navigation-screen-library/category-item.js.map +0 -1
  623. package/build-module/components/sidebar-navigation-screen-library/index.js +0 -87
  624. package/build-module/components/sidebar-navigation-screen-library/index.js.map +0 -1
  625. package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +0 -1
  626. package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +0 -1
  627. package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js +0 -34
  628. package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +0 -1
  629. package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +0 -1
  630. package/src/components/code-editor/code-editor-text-area.js +0 -84
  631. package/src/components/keyboard-shortcuts/index.js +0 -137
  632. package/src/components/page-content-focus-manager/constants.js +0 -5
  633. package/src/components/page-library/grid-item.js +0 -179
  634. package/src/components/page-library/grid.js +0 -39
  635. package/src/components/page-library/patterns-list.js +0 -114
  636. package/src/components/page-library/style.scss +0 -105
  637. package/src/components/page-library/use-patterns.js +0 -238
  638. package/src/components/sidebar-navigation-screen-library/index.js +0 -136
  639. package/src/components/sidebar-navigation-screen-library/style.scss +0 -7
  640. package/src/components/sidebar-navigation-screen-library/use-template-part-areas.js +0 -33
  641. /package/build/components/{page-library → page-patterns}/search-items.js +0 -0
  642. /package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
  643. /package/build-module/components/{page-library → page-patterns}/search-items.js +0 -0
  644. /package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
  645. /package/src/components/{page-library → page-patterns}/search-items.js +0 -0
  646. /package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
@@ -1,176 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { parse } from '@wordpress/blocks';
5
- import { useSelect } from '@wordpress/data';
6
- import { store as coreStore } from '@wordpress/core-data';
7
- import { useMemo } from '@wordpress/element';
8
- /**
9
- * Internal dependencies
10
- */
11
-
12
- import { CORE_PATTERN_SOURCES, PATTERNS, SYNC_TYPES, TEMPLATE_PARTS, USER_PATTERNS, USER_PATTERN_CATEGORY, filterOutDuplicatesByName } from './utils';
13
- import { unlock } from '../../lock-unlock';
14
- import { searchItems } from './search-items';
15
- import { store as editSiteStore } from '../../store';
16
- const EMPTY_PATTERN_LIST = [];
17
-
18
- const createTemplatePartId = (theme, slug) => theme && slug ? theme + '//' + slug : null;
19
-
20
- const templatePartToPattern = templatePart => ({
21
- blocks: parse(templatePart.content.raw),
22
- categories: [templatePart.area],
23
- description: templatePart.description || '',
24
- keywords: templatePart.keywords || [],
25
- name: createTemplatePartId(templatePart.theme, templatePart.slug),
26
- title: templatePart.title.rendered,
27
- type: templatePart.type,
28
- templatePart
29
- });
30
-
31
- const useTemplatePartsAsPatterns = (categoryId, postType = TEMPLATE_PARTS, filterValue = '') => {
32
- const {
33
- templateParts,
34
- isResolving
35
- } = useSelect(select => {
36
- if (postType !== TEMPLATE_PARTS) {
37
- return {
38
- templateParts: EMPTY_PATTERN_LIST,
39
- isResolving: false
40
- };
41
- }
42
-
43
- const {
44
- getEntityRecords,
45
- isResolving: _isResolving
46
- } = select(coreStore);
47
- const query = {
48
- per_page: -1
49
- };
50
- const rawTemplateParts = getEntityRecords('postType', postType, query);
51
- const partsAsPatterns = rawTemplateParts?.map(templatePart => templatePartToPattern(templatePart));
52
- return {
53
- templateParts: partsAsPatterns,
54
- isResolving: _isResolving('getEntityRecords', ['postType', 'wp_template_part', query])
55
- };
56
- }, [postType]);
57
- const filteredTemplateParts = useMemo(() => {
58
- if (!templateParts) {
59
- return EMPTY_PATTERN_LIST;
60
- }
61
-
62
- return searchItems(templateParts, filterValue, {
63
- categoryId,
64
- hasCategory: (item, area) => item.templatePart.area === area
65
- });
66
- }, [templateParts, filterValue, categoryId]);
67
- return {
68
- templateParts: filteredTemplateParts,
69
- isResolving
70
- };
71
- };
72
-
73
- const useThemePatterns = (categoryId, postType = PATTERNS, filterValue = '') => {
74
- const blockPatterns = useSelect(select => {
75
- var _settings$__experimen;
76
-
77
- const {
78
- getSettings
79
- } = unlock(select(editSiteStore));
80
- const settings = getSettings();
81
- return (_settings$__experimen = settings.__experimentalAdditionalBlockPatterns) !== null && _settings$__experimen !== void 0 ? _settings$__experimen : settings.__experimentalBlockPatterns;
82
- });
83
- const restBlockPatterns = useSelect(select => select(coreStore).getBlockPatterns());
84
- const patterns = useMemo(() => [...(blockPatterns || []), ...(restBlockPatterns || [])].filter(pattern => !CORE_PATTERN_SOURCES.includes(pattern.source)).filter(filterOutDuplicatesByName).map(pattern => ({ ...pattern,
85
- keywords: pattern.keywords || [],
86
- type: 'pattern',
87
- blocks: parse(pattern.content)
88
- })), [blockPatterns, restBlockPatterns]);
89
- const filteredPatterns = useMemo(() => {
90
- if (postType !== PATTERNS) {
91
- return EMPTY_PATTERN_LIST;
92
- }
93
-
94
- return searchItems(patterns, filterValue, {
95
- categoryId,
96
- hasCategory: (item, currentCategory) => item.categories?.includes(currentCategory)
97
- });
98
- }, [patterns, filterValue, categoryId, postType]);
99
- return filteredPatterns;
100
- };
101
-
102
- const reusableBlockToPattern = reusableBlock => ({
103
- blocks: parse(reusableBlock.content.raw),
104
- categories: reusableBlock.wp_pattern,
105
- id: reusableBlock.id,
106
- name: reusableBlock.slug,
107
- syncStatus: reusableBlock.meta?.sync_status,
108
- title: reusableBlock.title.raw,
109
- type: reusableBlock.type,
110
- reusableBlock
111
- });
112
-
113
- const useUserPatterns = (categoryId, categoryType = PATTERNS, filterValue = '') => {
114
- const postType = categoryType === PATTERNS ? USER_PATTERNS : categoryType;
115
- const unfilteredPatterns = useSelect(select => {
116
- if (postType !== USER_PATTERNS || categoryId !== USER_PATTERN_CATEGORY) {
117
- return EMPTY_PATTERN_LIST;
118
- }
119
-
120
- const {
121
- getEntityRecords
122
- } = select(coreStore);
123
- const records = getEntityRecords('postType', postType, {
124
- per_page: -1
125
- });
126
-
127
- if (!records) {
128
- return EMPTY_PATTERN_LIST;
129
- }
130
-
131
- return records.map(record => reusableBlockToPattern(record));
132
- }, [postType, categoryId]);
133
- const filteredPatterns = useMemo(() => {
134
- if (!unfilteredPatterns.length) {
135
- return EMPTY_PATTERN_LIST;
136
- }
137
-
138
- return searchItems(unfilteredPatterns, filterValue, {
139
- // We exit user pattern retrieval early if we aren't in the
140
- // catch-all category for user created patterns, so it has
141
- // to be in the category.
142
- hasCategory: () => true
143
- });
144
- }, [unfilteredPatterns, filterValue]);
145
- const patterns = {
146
- syncedPatterns: [],
147
- unsyncedPatterns: []
148
- };
149
- filteredPatterns.forEach(pattern => {
150
- if (pattern.syncStatus === SYNC_TYPES.full) {
151
- patterns.syncedPatterns.push(pattern);
152
- } else {
153
- patterns.unsyncedPatterns.push(pattern);
154
- }
155
- });
156
- return patterns;
157
- };
158
-
159
- export const usePatterns = (categoryType, categoryId, filterValue) => {
160
- const blockPatterns = useThemePatterns(categoryId, categoryType, filterValue);
161
- const {
162
- syncedPatterns = [],
163
- unsyncedPatterns = []
164
- } = useUserPatterns(categoryId, categoryType, filterValue);
165
- const {
166
- templateParts,
167
- isResolving
168
- } = useTemplatePartsAsPatterns(categoryId, categoryType, filterValue);
169
- const patterns = {
170
- syncedPatterns: [...templateParts, ...syncedPatterns],
171
- unsyncedPatterns: [...blockPatterns, ...unsyncedPatterns]
172
- };
173
- return [patterns, isResolving];
174
- };
175
- export default usePatterns;
176
- //# sourceMappingURL=use-patterns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-library/use-patterns.js"],"names":["parse","useSelect","store","coreStore","useMemo","CORE_PATTERN_SOURCES","PATTERNS","SYNC_TYPES","TEMPLATE_PARTS","USER_PATTERNS","USER_PATTERN_CATEGORY","filterOutDuplicatesByName","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","categories","area","description","keywords","name","title","rendered","type","useTemplatePartsAsPatterns","categoryId","postType","filterValue","templateParts","isResolving","select","getEntityRecords","_isResolving","query","per_page","rawTemplateParts","partsAsPatterns","map","filteredTemplateParts","hasCategory","item","useThemePatterns","blockPatterns","getSettings","settings","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","patterns","filter","pattern","includes","source","filteredPatterns","currentCategory","reusableBlockToPattern","reusableBlock","wp_pattern","id","syncStatus","meta","sync_status","useUserPatterns","categoryType","unfilteredPatterns","records","record","length","syncedPatterns","unsyncedPatterns","forEach","full","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 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: ( item, area ) => item.templatePart.area === area,\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.meta?.sync_status,\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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-library/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":"AAAA,OAAO,MAAMA,gBAAgB,GAAG,QAAzB;AACP,OAAO,MAAMC,YAAY,GAAG,kBAArB;AACP,OAAO,MAAMC,QAAQ,GAAG,SAAjB;AACP,OAAO,MAAMC,cAAc,GAAG,kBAAvB;AACP,OAAO,MAAMC,aAAa,GAAG,UAAtB;AACP,OAAO,MAAMC,qBAAqB,GAAG,iBAA9B;AAEP,OAAO,MAAMC,oBAAoB,GAAG,CACnC,MADmC,EAEnC,wBAFmC,EAGnC,4BAHmC,EAInC,yBAJmC,CAA7B;AAOP,OAAO,MAAMC,UAAU,GAAG;AACzBC,EAAAA,IAAI,EAAE,OADmB;AAEzBC,EAAAA,QAAQ,EAAE;AAFe,CAAnB;AAKP,OAAO,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 = 'header';\nexport const DEFAULT_TYPE = 'wp_template_part';\nexport const PATTERNS = 'pattern';\nexport const TEMPLATE_PARTS = 'wp_template_part';\nexport const USER_PATTERNS = 'wp_block';\nexport const USER_PATTERN_CATEGORY = 'custom-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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-library/category-item.js"],"names":["SidebarNavigationItem","useLink","CategoryItem","count","icon","id","isActive","label","type","linkInfo","path","categoryType","categoryId","backPath","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,qBAAP,MAAkC,4BAAlC;AACA,SAASC,OAAT,QAAwB,gBAAxB;AAEA,eAAe,SAASC,YAAT,CAAuB;AACrCC,EAAAA,KADqC;AAErCC,EAAAA,IAFqC;AAGrCC,EAAAA,EAHqC;AAIrCC,EAAAA,QAJqC;AAKrCC,EAAAA,KALqC;AAMrCC,EAAAA;AANqC,CAAvB,EAOX;AACH,QAAMC,QAAQ,GAAGR,OAAO,CACvB;AACCS,IAAAA,IAAI,EAAE,UADP;AAECC,IAAAA,YAAY,EAAEH,IAFf;AAGCI,IAAAA,UAAU,EAAEP;AAHb,GADuB,EAMvB;AACC;AACA;AACA;AACAQ,IAAAA,QAAQ,EAAE;AAJX,GANuB,CAAxB;;AAcA,MAAK,CAAEV,KAAP,EAAe;AACd;AACA;;AAED,SACC,cAAC,qBAAD,OACMM,QADN;AAEC,IAAA,IAAI,EAAGL,IAFR;AAGC,IAAA,MAAM,EAAG,4BAAQD,KAAR,CAHV;AAIC,IAAA,SAAS,EAAGG,QAAQ,GAAG,oBAAH,GAA0BQ;AAJ/C,KAMGP,KANH,CADD;AAUA","sourcesContent":["/**\n * Internal dependencies\n */\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport { useLink } from '../routes/link';\n\nexport default function CategoryItem( {\n\tcount,\n\ticon,\n\tid,\n\tisActive,\n\tlabel,\n\ttype,\n} ) {\n\tconst linkInfo = useLink(\n\t\t{\n\t\t\tpath: '/library',\n\t\t\tcategoryType: type,\n\t\t\tcategoryId: id,\n\t\t},\n\t\t{\n\t\t\t// Keep a record of where we came from in state so we can\n\t\t\t// use the browser's back button to go back to the library.\n\t\t\t// See the implementation of the back button in patterns-list.\n\t\t\tbackPath: '/library',\n\t\t}\n\t);\n\n\tif ( ! count ) {\n\t\treturn;\n\t}\n\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\t{ ...linkInfo }\n\t\t\ticon={ icon }\n\t\t\tsuffix={ <span>{ count }</span> }\n\t\t\tclassName={ isActive ? 'is-active-category' : undefined }\n\t\t>\n\t\t\t{ label }\n\t\t</SidebarNavigationItem>\n\t);\n}\n"]}
@@ -1,87 +0,0 @@
1
- import { createElement, Fragment } from "@wordpress/element";
2
-
3
- /**
4
- * WordPress dependencies
5
- */
6
- import { __experimentalItemGroup as ItemGroup, __experimentalItem as Item } from '@wordpress/components';
7
- import { useViewportMatch } from '@wordpress/compose';
8
- import { useSelect } from '@wordpress/data';
9
- import { getTemplatePartIcon } from '@wordpress/editor';
10
- import { __ } from '@wordpress/i18n';
11
- import { getQueryArgs } from '@wordpress/url';
12
- import { file } from '@wordpress/icons';
13
- /**
14
- * Internal dependencies
15
- */
16
-
17
- import AddNewPattern from '../add-new-pattern';
18
- import SidebarNavigationItem from '../sidebar-navigation-item';
19
- import SidebarNavigationScreen from '../sidebar-navigation-screen';
20
- import CategoryItem from './category-item';
21
- import { DEFAULT_CATEGORY, DEFAULT_TYPE } from '../page-library/utils';
22
- import { store as editSiteStore } from '../../store';
23
- import usePatternCategories from './use-pattern-categories';
24
- import useTemplatePartAreas from './use-template-part-areas';
25
- const templatePartAreaLabels = {
26
- header: __('Headers'),
27
- footer: __('Footers'),
28
- sidebar: __('Sidebar'),
29
- uncategorized: __('Uncategorized')
30
- };
31
- export default function SidebarNavigationScreenLibrary() {
32
- const isMobileViewport = useViewportMatch('medium', '<');
33
- const {
34
- categoryType,
35
- categoryId
36
- } = getQueryArgs(window.location.href);
37
- const currentCategory = categoryId || DEFAULT_CATEGORY;
38
- const currentType = categoryType || DEFAULT_TYPE;
39
- const {
40
- templatePartAreas,
41
- hasTemplateParts,
42
- isLoading
43
- } = useTemplatePartAreas();
44
- const {
45
- patternCategories,
46
- hasPatterns
47
- } = usePatternCategories();
48
- const isTemplatePartsMode = useSelect(select => {
49
- const settings = select(editSiteStore).getSettings();
50
- return !!settings.supportsTemplatePartsMode;
51
- }, []);
52
- return createElement(SidebarNavigationScreen, {
53
- isRoot: isTemplatePartsMode,
54
- title: __('Library'),
55
- description: __('Manage what patterns are available when editing your site.'),
56
- actions: createElement(AddNewPattern, null),
57
- footer: createElement(ItemGroup, null, !isMobileViewport && createElement(SidebarNavigationItem, {
58
- as: "a",
59
- href: "edit.php?post_type=wp_block",
60
- withChevron: true
61
- }, __('Manage all custom patterns'))),
62
- content: createElement(Fragment, null, isLoading && __('Loading library'), !isLoading && createElement(Fragment, null, !hasTemplateParts && !hasPatterns && createElement(ItemGroup, {
63
- className: "edit-site-sidebar-navigation-screen-library__group"
64
- }, createElement(Item, null, __('No template parts or patterns found'))), hasTemplateParts && createElement(ItemGroup, {
65
- className: "edit-site-sidebar-navigation-screen-library__group"
66
- }, Object.entries(templatePartAreas).map(([area, parts]) => createElement(CategoryItem, {
67
- key: area,
68
- count: parts.length,
69
- icon: getTemplatePartIcon(area),
70
- label: templatePartAreaLabels[area],
71
- id: area,
72
- type: "wp_template_part",
73
- isActive: currentCategory === area && currentType === 'wp_template_part'
74
- }))), hasPatterns && createElement(ItemGroup, {
75
- className: "edit-site-sidebar-navigation-screen-library__group"
76
- }, patternCategories.map(category => createElement(CategoryItem, {
77
- key: category.name,
78
- count: category.count,
79
- label: category.label,
80
- icon: file,
81
- id: category.name,
82
- type: "pattern",
83
- isActive: currentCategory === `${category.name}` && currentType === 'pattern'
84
- })))))
85
- });
86
- }
87
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-library/index.js"],"names":["__experimentalItemGroup","ItemGroup","__experimentalItem","Item","useViewportMatch","useSelect","getTemplatePartIcon","__","getQueryArgs","file","AddNewPattern","SidebarNavigationItem","SidebarNavigationScreen","CategoryItem","DEFAULT_CATEGORY","DEFAULT_TYPE","store","editSiteStore","usePatternCategories","useTemplatePartAreas","templatePartAreaLabels","header","footer","sidebar","uncategorized","SidebarNavigationScreenLibrary","isMobileViewport","categoryType","categoryId","window","location","href","currentCategory","currentType","templatePartAreas","hasTemplateParts","isLoading","patternCategories","hasPatterns","isTemplatePartsMode","select","settings","getSettings","supportsTemplatePartsMode","Object","entries","map","area","parts","length","category","name","count","label"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { getTemplatePartIcon } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { getQueryArgs } from '@wordpress/url';\nimport { file } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport AddNewPattern from '../add-new-pattern';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport CategoryItem from './category-item';\nimport { DEFAULT_CATEGORY, DEFAULT_TYPE } from '../page-library/utils';\nimport { store as editSiteStore } from '../../store';\nimport usePatternCategories from './use-pattern-categories';\nimport useTemplatePartAreas from './use-template-part-areas';\n\nconst templatePartAreaLabels = {\n\theader: __( 'Headers' ),\n\tfooter: __( 'Footers' ),\n\tsidebar: __( 'Sidebar' ),\n\tuncategorized: __( 'Uncategorized' ),\n};\n\nexport default function SidebarNavigationScreenLibrary() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst { categoryType, categoryId } = getQueryArgs( window.location.href );\n\tconst currentCategory = categoryId || DEFAULT_CATEGORY;\n\tconst currentType = categoryType || DEFAULT_TYPE;\n\n\tconst { templatePartAreas, hasTemplateParts, isLoading } =\n\t\tuseTemplatePartAreas();\n\tconst { patternCategories, hasPatterns } = usePatternCategories();\n\n\tconst isTemplatePartsMode = useSelect( ( select ) => {\n\t\tconst settings = select( editSiteStore ).getSettings();\n\t\treturn !! settings.supportsTemplatePartsMode;\n\t}, [] );\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\tisRoot={ isTemplatePartsMode }\n\t\t\ttitle={ __( 'Library' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Manage what patterns are available when editing your site.'\n\t\t\t) }\n\t\t\tactions={ <AddNewPattern /> }\n\t\t\tfooter={\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{ ! isMobileViewport && (\n\t\t\t\t\t\t<SidebarNavigationItem\n\t\t\t\t\t\t\tas=\"a\"\n\t\t\t\t\t\t\thref=\"edit.php?post_type=wp_block\"\n\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Manage all custom patterns' ) }\n\t\t\t\t\t\t</SidebarNavigationItem>\n\t\t\t\t\t) }\n\t\t\t\t</ItemGroup>\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ isLoading && __( 'Loading library' ) }\n\t\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! hasTemplateParts && ! hasPatterns && (\n\t\t\t\t\t\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-library__group\">\n\t\t\t\t\t\t\t\t\t<Item>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'No template parts or patterns found'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasTemplateParts && (\n\t\t\t\t\t\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-library__group\">\n\t\t\t\t\t\t\t\t\t{ Object.entries( templatePartAreas ).map(\n\t\t\t\t\t\t\t\t\t\t( [ area, parts ] ) => (\n\t\t\t\t\t\t\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ area }\n\t\t\t\t\t\t\t\t\t\t\t\tcount={ parts.length }\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ getTemplatePartIcon(\n\t\t\t\t\t\t\t\t\t\t\t\t\tarea\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\t\t\ttemplatePartAreaLabels[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tarea\n\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tid={ area }\n\t\t\t\t\t\t\t\t\t\t\t\ttype=\"wp_template_part\"\n\t\t\t\t\t\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentCategory === area &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentType ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'wp_template_part'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\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</ItemGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-library__group\">\n\t\t\t\t\t\t\t\t\t{ patternCategories.map( ( category ) => (\n\t\t\t\t\t\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\t\t\t\t\t\tcount={ category.count }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ category.label }\n\t\t\t\t\t\t\t\t\t\t\ticon={ file }\n\t\t\t\t\t\t\t\t\t\t\tid={ category.name }\n\t\t\t\t\t\t\t\t\t\t\ttype=\"pattern\"\n\t\t\t\t\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentCategory ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t`${ category.name }` &&\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentType === 'pattern'\n\t\t\t\t\t\t\t\t\t\t\t}\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</ItemGroup>\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}\n\t\t/>\n\t);\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-library/use-default-pattern-categories.js"],"names":["store","coreStore","useSelect","unlock","editSiteStore","useDefaultPatternCategories","blockPatternCategories","select","getSettings","settings","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatternCategories","getBlockPatternCategories"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,mBAAvB;AACA,SAASH,KAAK,IAAII,aAAlB,QAAuC,aAAvC;AAEA,eAAe,SAASC,2BAAT,GAAuC;AACrD,QAAMC,sBAAsB,GAAGJ,SAAS,CAAIK,MAAF,IAAc;AAAA;;AACvD,UAAM;AAAEC,MAAAA;AAAF,QAAkBL,MAAM,CAAEI,MAAM,CAAEH,aAAF,CAAR,CAA9B;AACA,UAAMK,QAAQ,GAAGD,WAAW,EAA5B;AAEA,oCACCC,QAAQ,CAACC,8CADV,yEAECD,QAAQ,CAACE,oCAFV;AAIA,GARuC,CAAxC;AAUA,QAAMC,0BAA0B,GAAGV,SAAS,CAAIK,MAAF,IAC7CA,MAAM,CAAEN,SAAF,CAAN,CAAoBY,yBAApB,EAD2C,CAA5C;AAIA,SAAO,CACN,IAAKP,sBAAsB,IAAI,EAA/B,CADM,EAEN,IAAKM,0BAA0B,IAAI,EAAnC,CAFM,CAAP;AAIA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nexport default function useDefaultPatternCategories() {\n\tconst blockPatternCategories = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst settings = getSettings();\n\n\t\treturn (\n\t\t\tsettings.__experimentalAdditionalBlockPatternCategories ??\n\t\t\tsettings.__experimentalBlockPatternCategories\n\t\t);\n\t} );\n\n\tconst restBlockPatternCategories = useSelect( ( select ) =>\n\t\tselect( coreStore ).getBlockPatternCategories()\n\t);\n\n\treturn [\n\t\t...( blockPatternCategories || [] ),\n\t\t...( restBlockPatternCategories || [] ),\n\t];\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-library/use-pattern-categories.js"],"names":["store","coreStore","useSelect","useMemo","__","useDefaultPatternCategories","useThemePatterns","usePatternCategories","defaultCategories","themePatterns","userPatterns","select","getEntityRecords","per_page","patternCategories","categoryMap","categoriesWithCounts","forEach","category","name","count","pattern","categories","push","length","label","hasPatterns"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,2BAAP,MAAwC,kCAAxC;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AAEA,eAAe,SAASC,oBAAT,GAAgC;AAC9C,QAAMC,iBAAiB,GAAGH,2BAA2B,EAArD;AACA,QAAMI,aAAa,GAAGH,gBAAgB,EAAtC;AACA,QAAMI,YAAY,GAAGR,SAAS,CAAIS,MAAF,IAC/BA,MAAM,CAAEV,SAAF,CAAN,CAAoBW,gBAApB,CAAsC,UAAtC,EAAkD,UAAlD,EAA8D;AAC7DC,IAAAA,QAAQ,EAAE,CAAC;AADkD,GAA9D,CAD6B,CAA9B;AAMA,QAAMC,iBAAiB,GAAGX,OAAO,CAAE,MAAM;AACxC,UAAMY,WAAW,GAAG,EAApB;AACA,UAAMC,oBAAoB,GAAG,EAA7B,CAFwC,CAIxC;;AACAR,IAAAA,iBAAiB,CAACS,OAAlB,CAA6BC,QAAF,IAAgB;AAC1C,UAAK,CAAEH,WAAW,CAAEG,QAAQ,CAACC,IAAX,CAAlB,EAAsC;AACrCJ,QAAAA,WAAW,CAAEG,QAAQ,CAACC,IAAX,CAAX,GAA+B,EAAE,GAAGD,QAAL;AAAeE,UAAAA,KAAK,EAAE;AAAtB,SAA/B;AACA;AACD,KAJD,EALwC,CAWxC;;AACAX,IAAAA,aAAa,CAACQ,OAAd,CAAyBI,OAAF,IAAe;AACrCA,MAAAA,OAAO,CAACC,UAAR,EAAoBL,OAApB,CAA+BC,QAAF,IAAgB;AAC5C,YAAKH,WAAW,CAAEG,QAAF,CAAhB,EAA+B;AAC9BH,UAAAA,WAAW,CAAEG,QAAF,CAAX,CAAwBE,KAAxB,IAAiC,CAAjC;AACA;AACD,OAJD;AAKA,KAND,EAZwC,CAoBxC;;AACAZ,IAAAA,iBAAiB,CAACS,OAAlB,CAA6BC,QAAF,IAAgB;AAC1C,UAAKH,WAAW,CAAEG,QAAQ,CAACC,IAAX,CAAX,CAA6BC,KAAlC,EAA0C;AACzCJ,QAAAA,oBAAoB,CAACO,IAArB,CAA2BR,WAAW,CAAEG,QAAQ,CAACC,IAAX,CAAtC;AACA;AACD,KAJD,EArBwC,CA2BxC;;AACA,QAAKT,YAAY,EAAEc,MAAnB,EAA4B;AAC3BR,MAAAA,oBAAoB,CAACO,IAArB,CAA2B;AAC1BH,QAAAA,KAAK,EAAEV,YAAY,CAACc,MAAb,IAAuB,CADJ;AAE1BL,QAAAA,IAAI,EAAE,iBAFoB;AAG1BM,QAAAA,KAAK,EAAErB,EAAE,CAAE,iBAAF;AAHiB,OAA3B;AAKA;;AAED,WAAOY,oBAAP;AACA,GArCgC,EAqC9B,CAAER,iBAAF,EAAqBC,aAArB,EAAoCC,YAApC,CArC8B,CAAjC;AAuCA,SAAO;AAAEI,IAAAA,iBAAF;AAAqBY,IAAAA,WAAW,EAAE,CAAC,CAAEZ,iBAAiB,CAACU;AAAvD,GAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useDefaultPatternCategories from './use-default-pattern-categories';\nimport useThemePatterns from './use-theme-patterns';\n\nexport default function usePatternCategories() {\n\tconst defaultCategories = useDefaultPatternCategories();\n\tconst themePatterns = useThemePatterns();\n\tconst userPatterns = useSelect( ( select ) =>\n\t\tselect( coreStore ).getEntityRecords( 'postType', 'wp_block', {\n\t\t\tper_page: -1,\n\t\t} )\n\t);\n\n\tconst patternCategories = useMemo( () => {\n\t\tconst categoryMap = {};\n\t\tconst categoriesWithCounts = [];\n\n\t\t// Create a map for easier counting of patterns in categories.\n\t\tdefaultCategories.forEach( ( category ) => {\n\t\t\tif ( ! categoryMap[ category.name ] ) {\n\t\t\t\tcategoryMap[ category.name ] = { ...category, count: 0 };\n\t\t\t}\n\t\t} );\n\n\t\t// Update the category counts to reflect theme registered patterns.\n\t\tthemePatterns.forEach( ( pattern ) => {\n\t\t\tpattern.categories?.forEach( ( category ) => {\n\t\t\t\tif ( categoryMap[ category ] ) {\n\t\t\t\t\tcategoryMap[ category ].count += 1;\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\t// Filter categories so we only have those containing patterns.\n\t\tdefaultCategories.forEach( ( category ) => {\n\t\t\tif ( categoryMap[ category.name ].count ) {\n\t\t\t\tcategoriesWithCounts.push( categoryMap[ category.name ] );\n\t\t\t}\n\t\t} );\n\n\t\t// Add \"Your Patterns\" category for user patterns if there are any.\n\t\tif ( userPatterns?.length ) {\n\t\t\tcategoriesWithCounts.push( {\n\t\t\t\tcount: userPatterns.length || 0,\n\t\t\t\tname: 'custom-patterns',\n\t\t\t\tlabel: __( 'Custom patterns' ),\n\t\t\t} );\n\t\t}\n\n\t\treturn categoriesWithCounts;\n\t}, [ defaultCategories, themePatterns, userPatterns ] );\n\n\treturn { patternCategories, hasPatterns: !! patternCategories.length };\n}\n"]}
@@ -1,34 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useEntityRecords } from '@wordpress/core-data';
5
-
6
- const getTemplatePartAreas = items => {
7
- const allItems = items || [];
8
- const groupedByArea = allItems.reduce((accumulator, item) => {
9
- const key = accumulator[item.area] ? item.area : 'uncategorized';
10
- accumulator[key].push(item);
11
- return accumulator;
12
- }, {
13
- header: [],
14
- footer: [],
15
- sidebar: [],
16
- uncategorized: []
17
- });
18
- return groupedByArea;
19
- };
20
-
21
- export default function useTemplatePartAreas() {
22
- const {
23
- records: templateParts,
24
- isResolving: isLoading
25
- } = useEntityRecords('postType', 'wp_template_part', {
26
- per_page: -1
27
- });
28
- return {
29
- hasTemplateParts: templateParts ? !!templateParts.length : false,
30
- isLoading,
31
- templatePartAreas: getTemplatePartAreas(templateParts)
32
- };
33
- }
34
- //# sourceMappingURL=use-template-part-areas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-library/use-template-part-areas.js"],"names":["useEntityRecords","getTemplatePartAreas","items","allItems","groupedByArea","reduce","accumulator","item","key","area","push","header","footer","sidebar","uncategorized","useTemplatePartAreas","records","templateParts","isResolving","isLoading","per_page","hasTemplateParts","length","templatePartAreas"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gBAAT,QAAiC,sBAAjC;;AAEA,MAAMC,oBAAoB,GAAKC,KAAF,IAAa;AACzC,QAAMC,QAAQ,GAAGD,KAAK,IAAI,EAA1B;AAEA,QAAME,aAAa,GAAGD,QAAQ,CAACE,MAAT,CACrB,CAAEC,WAAF,EAAeC,IAAf,KAAyB;AACxB,UAAMC,GAAG,GAAGF,WAAW,CAAEC,IAAI,CAACE,IAAP,CAAX,GAA2BF,IAAI,CAACE,IAAhC,GAAuC,eAAnD;AACAH,IAAAA,WAAW,CAAEE,GAAF,CAAX,CAAmBE,IAAnB,CAAyBH,IAAzB;AACA,WAAOD,WAAP;AACA,GALoB,EAMrB;AAAEK,IAAAA,MAAM,EAAE,EAAV;AAAcC,IAAAA,MAAM,EAAE,EAAtB;AAA0BC,IAAAA,OAAO,EAAE,EAAnC;AAAuCC,IAAAA,aAAa,EAAE;AAAtD,GANqB,CAAtB;AASA,SAAOV,aAAP;AACA,CAbD;;AAeA,eAAe,SAASW,oBAAT,GAAgC;AAC9C,QAAM;AAAEC,IAAAA,OAAO,EAAEC,aAAX;AAA0BC,IAAAA,WAAW,EAAEC;AAAvC,MAAqDnB,gBAAgB,CAC1E,UAD0E,EAE1E,kBAF0E,EAG1E;AAAEoB,IAAAA,QAAQ,EAAE,CAAC;AAAb,GAH0E,CAA3E;AAMA,SAAO;AACNC,IAAAA,gBAAgB,EAAEJ,aAAa,GAAG,CAAC,CAAEA,aAAa,CAACK,MAApB,GAA6B,KADtD;AAENH,IAAAA,SAFM;AAGNI,IAAAA,iBAAiB,EAAEtB,oBAAoB,CAAEgB,aAAF;AAHjC,GAAP;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityRecords } from '@wordpress/core-data';\n\nconst getTemplatePartAreas = ( items ) => {\n\tconst allItems = items || [];\n\n\tconst groupedByArea = allItems.reduce(\n\t\t( accumulator, item ) => {\n\t\t\tconst key = accumulator[ item.area ] ? item.area : 'uncategorized';\n\t\t\taccumulator[ key ].push( item );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ header: [], footer: [], sidebar: [], uncategorized: [] }\n\t);\n\n\treturn groupedByArea;\n};\n\nexport default function useTemplatePartAreas() {\n\tconst { records: templateParts, isResolving: isLoading } = useEntityRecords(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t{ per_page: -1 }\n\t);\n\n\treturn {\n\t\thasTemplateParts: templateParts ? !! templateParts.length : false,\n\t\tisLoading,\n\t\ttemplatePartAreas: getTemplatePartAreas( templateParts ),\n\t};\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-library/use-theme-patterns.js"],"names":["store","coreStore","useSelect","useMemo","CORE_PATTERN_SOURCES","filterOutDuplicatesByName","unlock","editSiteStore","useThemePatterns","blockPatterns","select","getSettings","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","patterns","filter","pattern","includes","source"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SACCC,oBADD,EAECC,yBAFD,QAGO,uBAHP;AAIA,SAASC,MAAT,QAAuB,mBAAvB;AACA,SAASN,KAAK,IAAIO,aAAlB,QAAuC,aAAvC;AAEA,eAAe,SAASC,gBAAT,GAA4B;AAC1C,QAAMC,aAAa,GAAGP,SAAS,CAAIQ,MAAF,IAAc;AAAA;;AAC9C,UAAM;AAAEC,MAAAA;AAAF,QAAkBL,MAAM,CAAEI,MAAM,CAAEH,aAAF,CAAR,CAA9B;AAEA,oCACCI,WAAW,GAAGC,qCADf,yEAECD,WAAW,GAAGE,2BAFf;AAIA,GAP8B,CAA/B;AASA,QAAMC,iBAAiB,GAAGZ,SAAS,CAAIQ,MAAF,IACpCA,MAAM,CAAET,SAAF,CAAN,CAAoBc,gBAApB,EADkC,CAAnC;AAIA,QAAMC,QAAQ,GAAGb,OAAO,CACvB,MACC,CAAE,IAAKM,aAAa,IAAI,EAAtB,CAAF,EAA8B,IAAKK,iBAAiB,IAAI,EAA1B,CAA9B,EACEG,MADF,CAEIC,OAAF,IACC,CAAEd,oBAAoB,CAACe,QAArB,CAA+BD,OAAO,CAACE,MAAvC,CAHL,EAKEH,MALF,CAKUZ,yBALV,CAFsB,EAQvB,CAAEI,aAAF,EAAiBK,iBAAjB,CARuB,CAAxB;AAWA,SAAOE,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 {\n\tCORE_PATTERN_SOURCES,\n\tfilterOutDuplicatesByName,\n} from '../page-library/utils';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\n\nexport default function useThemePatterns() {\n\tconst blockPatterns = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\n\t\treturn (\n\t\t\tgetSettings().__experimentalAdditionalBlockPatterns ??\n\t\t\tgetSettings().__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[ blockPatterns, restBlockPatterns ]\n\t);\n\n\treturn patterns;\n}\n"]}
@@ -1,84 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import Textarea from 'react-autosize-textarea';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { __ } from '@wordpress/i18n';
10
- import { useEffect, useState, useRef } from '@wordpress/element';
11
- import { useInstanceId } from '@wordpress/compose';
12
- import { VisuallyHidden } from '@wordpress/components';
13
-
14
- export default function CodeEditorTextArea( { value, onChange, onInput } ) {
15
- const [ stateValue, setStateValue ] = useState( value );
16
- const [ isDirty, setIsDirty ] = useState( false );
17
- const instanceId = useInstanceId( CodeEditorTextArea );
18
- const valueRef = useRef();
19
-
20
- if ( ! isDirty && stateValue !== value ) {
21
- setStateValue( value );
22
- }
23
-
24
- /**
25
- * Handles a textarea change event to notify the onChange prop callback and
26
- * reflect the new value in the component's own state. This marks the start
27
- * of the user's edits, if not already changed, preventing future props
28
- * changes to value from replacing the rendered value. This is expected to
29
- * be followed by a reset to dirty state via `stopEditing`.
30
- *
31
- * @see stopEditing
32
- *
33
- * @param {Event} event Change event.
34
- */
35
- const onChangeHandler = ( event ) => {
36
- const newValue = event.target.value;
37
- onInput( newValue );
38
- setStateValue( newValue );
39
- setIsDirty( true );
40
- valueRef.current = newValue;
41
- };
42
-
43
- /**
44
- * Function called when the user has completed their edits, responsible for
45
- * ensuring that changes, if made, are surfaced to the onPersist prop
46
- * callback and resetting dirty state.
47
- */
48
- const stopEditing = () => {
49
- if ( isDirty ) {
50
- onChange( stateValue );
51
- setIsDirty( false );
52
- }
53
- };
54
-
55
- // Ensure changes aren't lost when component unmounts.
56
- useEffect( () => {
57
- return () => {
58
- if ( valueRef.current ) {
59
- onChange( valueRef.current );
60
- }
61
- };
62
- }, [] );
63
-
64
- return (
65
- <>
66
- <VisuallyHidden
67
- as="label"
68
- htmlFor={ `code-editor-text-area-${ instanceId }` }
69
- >
70
- { __( 'Type text or HTML' ) }
71
- </VisuallyHidden>
72
- <Textarea
73
- autoComplete="off"
74
- dir="auto"
75
- value={ stateValue }
76
- onChange={ onChangeHandler }
77
- onBlur={ stopEditing }
78
- className="edit-site-code-editor-text-area"
79
- id={ `code-editor-text-area-${ instanceId }` }
80
- placeholder={ __( 'Start writing with text or HTML' ) }
81
- />
82
- </>
83
- );
84
- }
@@ -1,137 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useShortcut } from '@wordpress/keyboard-shortcuts';
5
- import { useDispatch, useSelect } from '@wordpress/data';
6
- import { store as coreStore } from '@wordpress/core-data';
7
- import { store as blockEditorStore } from '@wordpress/block-editor';
8
- import { store as interfaceStore } from '@wordpress/interface';
9
- import { createBlock } from '@wordpress/blocks';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import { store as editSiteStore } from '../../store';
15
- import { SIDEBAR_BLOCK } from '../sidebar-edit-mode/constants';
16
- import { STORE_NAME } from '../../store/constants';
17
-
18
- function KeyboardShortcuts() {
19
- const { __experimentalGetDirtyEntityRecords, isSavingEntityRecord } =
20
- useSelect( coreStore );
21
- const { getEditorMode } = useSelect( editSiteStore );
22
- const isListViewOpen = useSelect(
23
- ( select ) => select( editSiteStore ).isListViewOpened(),
24
- []
25
- );
26
- const isBlockInspectorOpen = useSelect(
27
- ( select ) =>
28
- select( interfaceStore ).getActiveComplementaryArea(
29
- editSiteStore.name
30
- ) === SIDEBAR_BLOCK,
31
- []
32
- );
33
- const { redo, undo } = useDispatch( coreStore );
34
- const { setIsListViewOpened, switchEditorMode } =
35
- useDispatch( editSiteStore );
36
- const { enableComplementaryArea, disableComplementaryArea } =
37
- useDispatch( interfaceStore );
38
- const { setIsSaveViewOpened } = useDispatch( editSiteStore );
39
-
40
- const { replaceBlocks } = useDispatch( blockEditorStore );
41
- const { getBlockName, getSelectedBlockClientId, getBlockAttributes } =
42
- useSelect( blockEditorStore );
43
-
44
- const handleTextLevelShortcut = ( event, level ) => {
45
- event.preventDefault();
46
- const destinationBlockName =
47
- level === 0 ? 'core/paragraph' : 'core/heading';
48
- const currentClientId = getSelectedBlockClientId();
49
- if ( currentClientId === null ) {
50
- return;
51
- }
52
- const blockName = getBlockName( currentClientId );
53
- if ( blockName !== 'core/paragraph' && blockName !== 'core/heading' ) {
54
- return;
55
- }
56
- const attributes = getBlockAttributes( currentClientId );
57
- const textAlign =
58
- blockName === 'core/paragraph' ? 'align' : 'textAlign';
59
- const destinationTextAlign =
60
- destinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';
61
-
62
- replaceBlocks(
63
- currentClientId,
64
- createBlock( destinationBlockName, {
65
- level,
66
- content: attributes.content,
67
- ...{ [ destinationTextAlign ]: attributes[ textAlign ] },
68
- } )
69
- );
70
- };
71
-
72
- useShortcut( 'core/edit-site/save', ( event ) => {
73
- event.preventDefault();
74
-
75
- const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
76
- const isDirty = !! dirtyEntityRecords.length;
77
- const isSaving = dirtyEntityRecords.some( ( record ) =>
78
- isSavingEntityRecord( record.kind, record.name, record.key )
79
- );
80
-
81
- if ( ! isSaving && isDirty ) {
82
- setIsSaveViewOpened( true );
83
- }
84
- } );
85
-
86
- useShortcut( 'core/edit-site/undo', ( event ) => {
87
- undo();
88
- event.preventDefault();
89
- } );
90
-
91
- useShortcut( 'core/edit-site/redo', ( event ) => {
92
- redo();
93
- event.preventDefault();
94
- } );
95
-
96
- // Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.
97
- useShortcut( 'core/edit-site/toggle-list-view', () => {
98
- if ( ! isListViewOpen ) {
99
- return;
100
- }
101
- setIsListViewOpened( true );
102
- } );
103
-
104
- useShortcut( 'core/edit-site/toggle-block-settings-sidebar', ( event ) => {
105
- // This shortcut has no known clashes, but use preventDefault to prevent any
106
- // obscure shortcuts from triggering.
107
- event.preventDefault();
108
-
109
- if ( isBlockInspectorOpen ) {
110
- disableComplementaryArea( STORE_NAME );
111
- } else {
112
- enableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );
113
- }
114
- } );
115
-
116
- useShortcut( 'core/edit-site/toggle-mode', () => {
117
- switchEditorMode( getEditorMode() === 'visual' ? 'text' : 'visual' );
118
- } );
119
-
120
- useShortcut( 'core/edit-site/transform-heading-to-paragraph', ( event ) =>
121
- handleTextLevelShortcut( event, 0 )
122
- );
123
-
124
- [ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {
125
- //the loop is based off on a constant therefore
126
- //the hook will execute the same way every time
127
- //eslint-disable-next-line react-hooks/rules-of-hooks
128
- useShortcut(
129
- `core/edit-site/transform-paragraph-to-heading-${ level }`,
130
- ( event ) => handleTextLevelShortcut( event, level )
131
- );
132
- } );
133
-
134
- return null;
135
- }
136
-
137
- export default KeyboardShortcuts;
@@ -1,5 +0,0 @@
1
- export const PAGE_CONTENT_BLOCK_TYPES = [
2
- 'core/post-title',
3
- 'core/post-featured-image',
4
- 'core/post-content',
5
- ];