@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 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-library/search-items.js"],"names":["defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultHasCategory","extractWords","input","splitRegexp","stripRegexp","split","filter","Boolean","normalizeSearchInput","replace","toLowerCase","getNormalizedSearchTerms","removeMatchingTerms","unmatchedTerms","unprocessedTerms","term","some","unprocessedTerm","includes","searchItems","items","searchInput","config","normalizedSearchTerms","onlyFilterByCategory","length","searchRankConfig","threshold","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","categoryId","getName","getTitle","getDescription","getKeywords","hasCategory","normalizedSearchInput","normalizedTitle","startsWith","terms","join"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { noCase } from 'change-case';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultHasCategory = () => false;\n\n/**\n * Extracts words from an input string.\n *\n * @param {string} input The input string.\n *\n * @return {Array} Words, extracted from the input string.\n */\nfunction extractWords( input = '' ) {\n\treturn noCase( input, {\n\t\tsplitRegexp: [\n\t\t\t/([\\p{Ll}\\p{Lo}\\p{N}])([\\p{Lu}\\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.\n\t\t\t/([\\p{Lu}\\p{Lt}])([\\p{Lu}\\p{Lt}][\\p{Ll}\\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.\n\t\t],\n\t\tstripRegexp: /(\\p{C}|\\p{P}|\\p{S})+/giu, // Anything that's not a punctuation, symbol or control/format character.\n\t} )\n\t\t.split( ' ' )\n\t\t.filter( Boolean );\n}\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tinput = removeAccents( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tinput = input.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tinput = input.toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\treturn extractWords( normalizeSearchInput( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tconst onlyFilterByCategory = ! normalizedSearchTerms.length;\n\tconst searchRankConfig = { ...config, onlyFilterByCategory };\n\n\t// If we aren't filtering on search terms, matching on category is satisfactory.\n\t// If we are, then we need more than a category match.\n\tconst threshold = onlyFilterByCategory ? 0 : 1;\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [\n\t\t\t\titem,\n\t\t\t\tgetItemSearchRank( item, searchInput, searchRankConfig ),\n\t\t\t];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > threshold );\n\n\t// If we didn't have terms to search on, there's no point sorting.\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn rankedItems.map( ( [ item ] ) => item );\n\t}\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nfunction getItemSearchRank( item, searchTerm, config ) {\n\tconst {\n\t\tcategoryId,\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\thasCategory = defaultHasCategory,\n\t\tonlyFilterByCategory,\n\t} = config;\n\n\tlet rank = hasCategory( item, categoryId ) ? 1 : 0;\n\n\t// If an item doesn't belong to the current category or we don't have\n\t// search terms to filter by, return the initial rank value.\n\tif ( ! rank || onlyFilterByCategory ) {\n\t\treturn rank;\n\t}\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\n\tconst normalizedSearchInput = normalizeSearchInput( searchTerm );\n\tconst normalizedTitle = normalizeSearchInput( title );\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, description matches come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [ name, title, description, ...keywords ].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\treturn rank;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-library/use-library-settings.js"],"names":["useLibrarySettings","storedSettings","select","getSettings","editSiteStore","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","coreStore","getBlockPatterns","blockPatterns","filter","filterOutDuplicatesByName","settings","restStoredSettings","__unstableIsPreviewMode"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AAZA;AACA;AACA;;AAKA;AACA;AACA;AAKe,SAASA,kBAAT,GAA8B;AAAA;;AAC5C,QAAMC,cAAc,GAAG,qBAAaC,MAAF,IAAc;AAC/C,UAAM;AAAEC,MAAAA;AAAF,QAAkB,wBAAQD,MAAM,CAAEE,YAAF,CAAd,CAAxB;AACA,WAAOD,WAAW,EAAlB;AACA,GAHsB,EAGpB,EAHoB,CAAvB;AAKA,QAAME,qBAAqB,4BAC1BJ,cAAc,CAACK,qCADW,yEAC8B;AACxDL,EAAAA,cAAc,CAACM,2BAFhB,CAN4C,CAQC;;AAE7C,QAAMC,iBAAiB,GAAG,qBACvBN,MAAF,IAAcA,MAAM,CAAEO,eAAF,CAAN,CAAoBC,gBAApB,EADW,EAEzB,EAFyB,CAA1B;AAKA,QAAMC,aAAa,GAAG,sBACrB,MACC,CACC,IAAKN,qBAAqB,IAAI,EAA9B,CADD,EAEC,IAAKG,iBAAiB,IAAI,EAA1B,CAFD,EAGEI,MAHF,CAGUC,gCAHV,CAFoB,EAMrB,CAAER,qBAAF,EAAyBG,iBAAzB,CANqB,CAAtB;AASA,QAAMM,QAAQ,GAAG,sBAAS,MAAM;AAC/B,UAAM;AAAER,MAAAA,qCAAF;AAAyC,SAAGS;AAA5C,QACLd,cADD;AAGA,WAAO,EACN,GAAGc,kBADG;AAENR,MAAAA,2BAA2B,EAAEI,aAFvB;AAGNK,MAAAA,uBAAuB,EAAE;AAHnB,KAAP;AAKA,GATgB,EASd,CAAEf,cAAF,EAAkBU,aAAlB,CATc,CAAjB;AAWA,SAAOG,QAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport { filterOutDuplicatesByName } from './utils';\n\nexport default function useLibrarySettings() {\n\tconst storedSettings = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\treturn getSettings();\n\t}, [] );\n\n\tconst settingsBlockPatterns =\n\t\tstoredSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatterns; // WP 5.9\n\n\tconst restBlockPatterns = useSelect(\n\t\t( select ) => select( coreStore ).getBlockPatterns(),\n\t\t[]\n\t);\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t].filter( filterOutDuplicatesByName ),\n\t\t[ settingsBlockPatterns, restBlockPatterns ]\n\t);\n\n\tconst settings = useMemo( () => {\n\t\tconst { __experimentalAdditionalBlockPatterns, ...restStoredSettings } =\n\t\t\tstoredSettings;\n\n\t\treturn {\n\t\t\t...restStoredSettings,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__unstableIsPreviewMode: true,\n\t\t};\n\t}, [ storedSettings, blockPatterns ] );\n\n\treturn settings;\n}\n"]}
@@ -1,194 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.usePatterns = exports.default = void 0;
7
-
8
- var _blocks = require("@wordpress/blocks");
9
-
10
- var _data = require("@wordpress/data");
11
-
12
- var _coreData = require("@wordpress/core-data");
13
-
14
- var _element = require("@wordpress/element");
15
-
16
- var _utils = require("./utils");
17
-
18
- var _lockUnlock = require("../../lock-unlock");
19
-
20
- var _searchItems = require("./search-items");
21
-
22
- var _store = require("../../store");
23
-
24
- /**
25
- * WordPress dependencies
26
- */
27
-
28
- /**
29
- * Internal dependencies
30
- */
31
- const EMPTY_PATTERN_LIST = [];
32
-
33
- const createTemplatePartId = (theme, slug) => theme && slug ? theme + '//' + slug : null;
34
-
35
- const templatePartToPattern = templatePart => ({
36
- blocks: (0, _blocks.parse)(templatePart.content.raw),
37
- categories: [templatePart.area],
38
- description: templatePart.description || '',
39
- keywords: templatePart.keywords || [],
40
- name: createTemplatePartId(templatePart.theme, templatePart.slug),
41
- title: templatePart.title.rendered,
42
- type: templatePart.type,
43
- templatePart
44
- });
45
-
46
- const useTemplatePartsAsPatterns = (categoryId, postType = _utils.TEMPLATE_PARTS, filterValue = '') => {
47
- const {
48
- templateParts,
49
- isResolving
50
- } = (0, _data.useSelect)(select => {
51
- if (postType !== _utils.TEMPLATE_PARTS) {
52
- return {
53
- templateParts: EMPTY_PATTERN_LIST,
54
- isResolving: false
55
- };
56
- }
57
-
58
- const {
59
- getEntityRecords,
60
- isResolving: _isResolving
61
- } = select(_coreData.store);
62
- const query = {
63
- per_page: -1
64
- };
65
- const rawTemplateParts = getEntityRecords('postType', postType, query);
66
- const partsAsPatterns = rawTemplateParts?.map(templatePart => templatePartToPattern(templatePart));
67
- return {
68
- templateParts: partsAsPatterns,
69
- isResolving: _isResolving('getEntityRecords', ['postType', 'wp_template_part', query])
70
- };
71
- }, [postType]);
72
- const filteredTemplateParts = (0, _element.useMemo)(() => {
73
- if (!templateParts) {
74
- return EMPTY_PATTERN_LIST;
75
- }
76
-
77
- return (0, _searchItems.searchItems)(templateParts, filterValue, {
78
- categoryId,
79
- hasCategory: (item, area) => item.templatePart.area === area
80
- });
81
- }, [templateParts, filterValue, categoryId]);
82
- return {
83
- templateParts: filteredTemplateParts,
84
- isResolving
85
- };
86
- };
87
-
88
- const useThemePatterns = (categoryId, postType = _utils.PATTERNS, filterValue = '') => {
89
- const blockPatterns = (0, _data.useSelect)(select => {
90
- var _settings$__experimen;
91
-
92
- const {
93
- getSettings
94
- } = (0, _lockUnlock.unlock)(select(_store.store));
95
- const settings = getSettings();
96
- return (_settings$__experimen = settings.__experimentalAdditionalBlockPatterns) !== null && _settings$__experimen !== void 0 ? _settings$__experimen : settings.__experimentalBlockPatterns;
97
- });
98
- const restBlockPatterns = (0, _data.useSelect)(select => select(_coreData.store).getBlockPatterns());
99
- const patterns = (0, _element.useMemo)(() => [...(blockPatterns || []), ...(restBlockPatterns || [])].filter(pattern => !_utils.CORE_PATTERN_SOURCES.includes(pattern.source)).filter(_utils.filterOutDuplicatesByName).map(pattern => ({ ...pattern,
100
- keywords: pattern.keywords || [],
101
- type: 'pattern',
102
- blocks: (0, _blocks.parse)(pattern.content)
103
- })), [blockPatterns, restBlockPatterns]);
104
- const filteredPatterns = (0, _element.useMemo)(() => {
105
- if (postType !== _utils.PATTERNS) {
106
- return EMPTY_PATTERN_LIST;
107
- }
108
-
109
- return (0, _searchItems.searchItems)(patterns, filterValue, {
110
- categoryId,
111
- hasCategory: (item, currentCategory) => item.categories?.includes(currentCategory)
112
- });
113
- }, [patterns, filterValue, categoryId, postType]);
114
- return filteredPatterns;
115
- };
116
-
117
- const reusableBlockToPattern = reusableBlock => ({
118
- blocks: (0, _blocks.parse)(reusableBlock.content.raw),
119
- categories: reusableBlock.wp_pattern,
120
- id: reusableBlock.id,
121
- name: reusableBlock.slug,
122
- syncStatus: reusableBlock.meta?.sync_status,
123
- title: reusableBlock.title.raw,
124
- type: reusableBlock.type,
125
- reusableBlock
126
- });
127
-
128
- const useUserPatterns = (categoryId, categoryType = _utils.PATTERNS, filterValue = '') => {
129
- const postType = categoryType === _utils.PATTERNS ? _utils.USER_PATTERNS : categoryType;
130
- const unfilteredPatterns = (0, _data.useSelect)(select => {
131
- if (postType !== _utils.USER_PATTERNS || categoryId !== _utils.USER_PATTERN_CATEGORY) {
132
- return EMPTY_PATTERN_LIST;
133
- }
134
-
135
- const {
136
- getEntityRecords
137
- } = select(_coreData.store);
138
- const records = getEntityRecords('postType', postType, {
139
- per_page: -1
140
- });
141
-
142
- if (!records) {
143
- return EMPTY_PATTERN_LIST;
144
- }
145
-
146
- return records.map(record => reusableBlockToPattern(record));
147
- }, [postType, categoryId]);
148
- const filteredPatterns = (0, _element.useMemo)(() => {
149
- if (!unfilteredPatterns.length) {
150
- return EMPTY_PATTERN_LIST;
151
- }
152
-
153
- return (0, _searchItems.searchItems)(unfilteredPatterns, filterValue, {
154
- // We exit user pattern retrieval early if we aren't in the
155
- // catch-all category for user created patterns, so it has
156
- // to be in the category.
157
- hasCategory: () => true
158
- });
159
- }, [unfilteredPatterns, filterValue]);
160
- const patterns = {
161
- syncedPatterns: [],
162
- unsyncedPatterns: []
163
- };
164
- filteredPatterns.forEach(pattern => {
165
- if (pattern.syncStatus === _utils.SYNC_TYPES.full) {
166
- patterns.syncedPatterns.push(pattern);
167
- } else {
168
- patterns.unsyncedPatterns.push(pattern);
169
- }
170
- });
171
- return patterns;
172
- };
173
-
174
- const usePatterns = (categoryType, categoryId, filterValue) => {
175
- const blockPatterns = useThemePatterns(categoryId, categoryType, filterValue);
176
- const {
177
- syncedPatterns = [],
178
- unsyncedPatterns = []
179
- } = useUserPatterns(categoryId, categoryType, filterValue);
180
- const {
181
- templateParts,
182
- isResolving
183
- } = useTemplatePartsAsPatterns(categoryId, categoryType, filterValue);
184
- const patterns = {
185
- syncedPatterns: [...templateParts, ...syncedPatterns],
186
- unsyncedPatterns: [...blockPatterns, ...unsyncedPatterns]
187
- };
188
- return [patterns, isResolving];
189
- };
190
-
191
- exports.usePatterns = usePatterns;
192
- var _default = usePatterns;
193
- exports.default = _default;
194
- //# sourceMappingURL=use-patterns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/page-library/use-patterns.js"],"names":["EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","categories","area","description","keywords","name","title","rendered","type","useTemplatePartsAsPatterns","categoryId","postType","TEMPLATE_PARTS","filterValue","templateParts","isResolving","select","getEntityRecords","_isResolving","coreStore","query","per_page","rawTemplateParts","partsAsPatterns","map","filteredTemplateParts","hasCategory","item","useThemePatterns","PATTERNS","blockPatterns","getSettings","editSiteStore","settings","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","patterns","filter","pattern","CORE_PATTERN_SOURCES","includes","source","filterOutDuplicatesByName","filteredPatterns","currentCategory","reusableBlockToPattern","reusableBlock","wp_pattern","id","syncStatus","meta","sync_status","useUserPatterns","categoryType","USER_PATTERNS","unfilteredPatterns","USER_PATTERN_CATEGORY","records","record","length","syncedPatterns","unsyncedPatterns","forEach","SYNC_TYPES","full","push","usePatterns"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AASA;;AACA;;AACA;;AAtBA;AACA;AACA;;AAMA;AACA;AACA;AAcA,MAAMA,kBAAkB,GAAG,EAA3B;;AAEA,MAAMC,oBAAoB,GAAG,CAAEC,KAAF,EAASC,IAAT,KAC5BD,KAAK,IAAIC,IAAT,GAAgBD,KAAK,GAAG,IAAR,GAAeC,IAA/B,GAAsC,IADvC;;AAGA,MAAMC,qBAAqB,GAAKC,YAAF,KAAsB;AACnDC,EAAAA,MAAM,EAAE,mBAAOD,YAAY,CAACE,OAAb,CAAqBC,GAA5B,CAD2C;AAEnDC,EAAAA,UAAU,EAAE,CAAEJ,YAAY,CAACK,IAAf,CAFuC;AAGnDC,EAAAA,WAAW,EAAEN,YAAY,CAACM,WAAb,IAA4B,EAHU;AAInDC,EAAAA,QAAQ,EAAEP,YAAY,CAACO,QAAb,IAAyB,EAJgB;AAKnDC,EAAAA,IAAI,EAAEZ,oBAAoB,CAAEI,YAAY,CAACH,KAAf,EAAsBG,YAAY,CAACF,IAAnC,CALyB;AAMnDW,EAAAA,KAAK,EAAET,YAAY,CAACS,KAAb,CAAmBC,QANyB;AAOnDC,EAAAA,IAAI,EAAEX,YAAY,CAACW,IAPgC;AAQnDX,EAAAA;AARmD,CAAtB,CAA9B;;AAWA,MAAMY,0BAA0B,GAAG,CAClCC,UADkC,EAElCC,QAAQ,GAAGC,qBAFuB,EAGlCC,WAAW,GAAG,EAHoB,KAI9B;AACJ,QAAM;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAiC,qBACpCC,MAAF,IAAc;AACb,QAAKL,QAAQ,KAAKC,qBAAlB,EAAmC;AAClC,aAAO;AACNE,QAAAA,aAAa,EAAEtB,kBADT;AAENuB,QAAAA,WAAW,EAAE;AAFP,OAAP;AAIA;;AAED,UAAM;AAAEE,MAAAA,gBAAF;AAAoBF,MAAAA,WAAW,EAAEG;AAAjC,QACLF,MAAM,CAAEG,eAAF,CADP;AAEA,UAAMC,KAAK,GAAG;AAAEC,MAAAA,QAAQ,EAAE,CAAC;AAAb,KAAd;AACA,UAAMC,gBAAgB,GAAGL,gBAAgB,CACxC,UADwC,EAExCN,QAFwC,EAGxCS,KAHwC,CAAzC;AAKA,UAAMG,eAAe,GAAGD,gBAAgB,EAAEE,GAAlB,CAAyB3B,YAAF,IAC9CD,qBAAqB,CAAEC,YAAF,CADE,CAAxB;AAIA,WAAO;AACNiB,MAAAA,aAAa,EAAES,eADT;AAENR,MAAAA,WAAW,EAAEG,YAAY,CAAE,kBAAF,EAAsB,CAC9C,UAD8C,EAE9C,kBAF8C,EAG9CE,KAH8C,CAAtB;AAFnB,KAAP;AAQA,GA7BqC,EA8BtC,CAAET,QAAF,CA9BsC,CAAvC;AAiCA,QAAMc,qBAAqB,GAAG,sBAAS,MAAM;AAC5C,QAAK,CAAEX,aAAP,EAAuB;AACtB,aAAOtB,kBAAP;AACA;;AAED,WAAO,8BAAasB,aAAb,EAA4BD,WAA5B,EAAyC;AAC/CH,MAAAA,UAD+C;AAE/CgB,MAAAA,WAAW,EAAE,CAAEC,IAAF,EAAQzB,IAAR,KAAkByB,IAAI,CAAC9B,YAAL,CAAkBK,IAAlB,KAA2BA;AAFX,KAAzC,CAAP;AAIA,GAT6B,EAS3B,CAAEY,aAAF,EAAiBD,WAAjB,EAA8BH,UAA9B,CAT2B,CAA9B;AAWA,SAAO;AAAEI,IAAAA,aAAa,EAAEW,qBAAjB;AAAwCV,IAAAA;AAAxC,GAAP;AACA,CAlDD;;AAoDA,MAAMa,gBAAgB,GAAG,CACxBlB,UADwB,EAExBC,QAAQ,GAAGkB,eAFa,EAGxBhB,WAAW,GAAG,EAHU,KAIpB;AACJ,QAAMiB,aAAa,GAAG,qBAAad,MAAF,IAAc;AAAA;;AAC9C,UAAM;AAAEe,MAAAA;AAAF,QAAkB,wBAAQf,MAAM,CAAEgB,YAAF,CAAd,CAAxB;AACA,UAAMC,QAAQ,GAAGF,WAAW,EAA5B;AACA,oCACCE,QAAQ,CAACC,qCADV,yEAECD,QAAQ,CAACE,2BAFV;AAIA,GAPqB,CAAtB;AASA,QAAMC,iBAAiB,GAAG,qBAAapB,MAAF,IACpCA,MAAM,CAAEG,eAAF,CAAN,CAAoBkB,gBAApB,EADyB,CAA1B;AAIA,QAAMC,QAAQ,GAAG,sBAChB,MACC,CAAE,IAAKR,aAAa,IAAI,EAAtB,CAAF,EAA8B,IAAKM,iBAAiB,IAAI,EAA1B,CAA9B,EACEG,MADF,CAEIC,OAAF,IACC,CAAEC,4BAAqBC,QAArB,CAA+BF,OAAO,CAACG,MAAvC,CAHL,EAKEJ,MALF,CAKUK,gCALV,EAMEpB,GANF,CAMSgB,OAAF,KAAiB,EACtB,GAAGA,OADmB;AAEtBpC,IAAAA,QAAQ,EAAEoC,OAAO,CAACpC,QAAR,IAAoB,EAFR;AAGtBI,IAAAA,IAAI,EAAE,SAHgB;AAItBV,IAAAA,MAAM,EAAE,mBAAO0C,OAAO,CAACzC,OAAf;AAJc,GAAjB,CANP,CAFe,EAchB,CAAE+B,aAAF,EAAiBM,iBAAjB,CAdgB,CAAjB;AAiBA,QAAMS,gBAAgB,GAAG,sBAAS,MAAM;AACvC,QAAKlC,QAAQ,KAAKkB,eAAlB,EAA6B;AAC5B,aAAOrC,kBAAP;AACA;;AAED,WAAO,8BAAa8C,QAAb,EAAuBzB,WAAvB,EAAoC;AAC1CH,MAAAA,UAD0C;AAE1CgB,MAAAA,WAAW,EAAE,CAAEC,IAAF,EAAQmB,eAAR,KACZnB,IAAI,CAAC1B,UAAL,EAAiByC,QAAjB,CAA2BI,eAA3B;AAHyC,KAApC,CAAP;AAKA,GAVwB,EAUtB,CAAER,QAAF,EAAYzB,WAAZ,EAAyBH,UAAzB,EAAqCC,QAArC,CAVsB,CAAzB;AAYA,SAAOkC,gBAAP;AACA,CAhDD;;AAkDA,MAAME,sBAAsB,GAAKC,aAAF,KAAuB;AACrDlD,EAAAA,MAAM,EAAE,mBAAOkD,aAAa,CAACjD,OAAd,CAAsBC,GAA7B,CAD6C;AAErDC,EAAAA,UAAU,EAAE+C,aAAa,CAACC,UAF2B;AAGrDC,EAAAA,EAAE,EAAEF,aAAa,CAACE,EAHmC;AAIrD7C,EAAAA,IAAI,EAAE2C,aAAa,CAACrD,IAJiC;AAKrDwD,EAAAA,UAAU,EAAEH,aAAa,CAACI,IAAd,EAAoBC,WALqB;AAMrD/C,EAAAA,KAAK,EAAE0C,aAAa,CAAC1C,KAAd,CAAoBN,GAN0B;AAOrDQ,EAAAA,IAAI,EAAEwC,aAAa,CAACxC,IAPiC;AAQrDwC,EAAAA;AARqD,CAAvB,CAA/B;;AAWA,MAAMM,eAAe,GAAG,CACvB5C,UADuB,EAEvB6C,YAAY,GAAG1B,eAFQ,EAGvBhB,WAAW,GAAG,EAHS,KAInB;AACJ,QAAMF,QAAQ,GAAG4C,YAAY,KAAK1B,eAAjB,GAA4B2B,oBAA5B,GAA4CD,YAA7D;AACA,QAAME,kBAAkB,GAAG,qBACxBzC,MAAF,IAAc;AACb,QACCL,QAAQ,KAAK6C,oBAAb,IACA9C,UAAU,KAAKgD,4BAFhB,EAGE;AACD,aAAOlE,kBAAP;AACA;;AAED,UAAM;AAAEyB,MAAAA;AAAF,QAAuBD,MAAM,CAAEG,eAAF,CAAnC;AACA,UAAMwC,OAAO,GAAG1C,gBAAgB,CAAE,UAAF,EAAcN,QAAd,EAAwB;AACvDU,MAAAA,QAAQ,EAAE,CAAC;AAD4C,KAAxB,CAAhC;;AAIA,QAAK,CAAEsC,OAAP,EAAiB;AAChB,aAAOnE,kBAAP;AACA;;AAED,WAAOmE,OAAO,CAACnC,GAAR,CAAeoC,MAAF,IACnBb,sBAAsB,CAAEa,MAAF,CADhB,CAAP;AAGA,GArByB,EAsB1B,CAAEjD,QAAF,EAAYD,UAAZ,CAtB0B,CAA3B;AAyBA,QAAMmC,gBAAgB,GAAG,sBAAS,MAAM;AACvC,QAAK,CAAEY,kBAAkB,CAACI,MAA1B,EAAmC;AAClC,aAAOrE,kBAAP;AACA;;AAED,WAAO,8BAAaiE,kBAAb,EAAiC5C,WAAjC,EAA8C;AACpD;AACA;AACA;AACAa,MAAAA,WAAW,EAAE,MAAM;AAJiC,KAA9C,CAAP;AAMA,GAXwB,EAWtB,CAAE+B,kBAAF,EAAsB5C,WAAtB,CAXsB,CAAzB;AAaA,QAAMyB,QAAQ,GAAG;AAAEwB,IAAAA,cAAc,EAAE,EAAlB;AAAsBC,IAAAA,gBAAgB,EAAE;AAAxC,GAAjB;AAEAlB,EAAAA,gBAAgB,CAACmB,OAAjB,CAA4BxB,OAAF,IAAe;AACxC,QAAKA,OAAO,CAACW,UAAR,KAAuBc,kBAAWC,IAAvC,EAA8C;AAC7C5B,MAAAA,QAAQ,CAACwB,cAAT,CAAwBK,IAAxB,CAA8B3B,OAA9B;AACA,KAFD,MAEO;AACNF,MAAAA,QAAQ,CAACyB,gBAAT,CAA0BI,IAA1B,CAAgC3B,OAAhC;AACA;AACD,GAND;AAQA,SAAOF,QAAP;AACA,CAvDD;;AAyDO,MAAM8B,WAAW,GAAG,CAAEb,YAAF,EAAgB7C,UAAhB,EAA4BG,WAA5B,KAA6C;AACvE,QAAMiB,aAAa,GAAGF,gBAAgB,CACrClB,UADqC,EAErC6C,YAFqC,EAGrC1C,WAHqC,CAAtC;AAMA,QAAM;AAAEiD,IAAAA,cAAc,GAAG,EAAnB;AAAuBC,IAAAA,gBAAgB,GAAG;AAA1C,MAAiDT,eAAe,CACrE5C,UADqE,EAErE6C,YAFqE,EAGrE1C,WAHqE,CAAtE;AAMA,QAAM;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAiCN,0BAA0B,CAChEC,UADgE,EAEhE6C,YAFgE,EAGhE1C,WAHgE,CAAjE;AAMA,QAAMyB,QAAQ,GAAG;AAChBwB,IAAAA,cAAc,EAAE,CAAE,GAAGhD,aAAL,EAAoB,GAAGgD,cAAvB,CADA;AAEhBC,IAAAA,gBAAgB,EAAE,CAAE,GAAGjC,aAAL,EAAoB,GAAGiC,gBAAvB;AAFF,GAAjB;AAKA,SAAO,CAAEzB,QAAF,EAAYvB,WAAZ,CAAP;AACA,CAzBM;;;eA2BQqD,W","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":";;;;;;AAAO,MAAMA,gBAAgB,GAAG,QAAzB;;AACA,MAAMC,YAAY,GAAG,kBAArB;;AACA,MAAMC,QAAQ,GAAG,SAAjB;;AACA,MAAMC,cAAc,GAAG,kBAAvB;;AACA,MAAMC,aAAa,GAAG,UAAtB;;AACA,MAAMC,qBAAqB,GAAG,iBAA9B;;AAEA,MAAMC,oBAAoB,GAAG,CACnC,MADmC,EAEnC,wBAFmC,EAGnC,4BAHmC,EAInC,yBAJmC,CAA7B;;AAOA,MAAMC,UAAU,GAAG;AACzBC,EAAAA,IAAI,EAAE,OADmB;AAEzBC,EAAAA,QAAQ,EAAE;AAFe,CAAnB;;;AAKA,MAAMC,yBAAyB,GAAG,CAAEC,WAAF,EAAeC,KAAf,EAAsBC,KAAtB,KACxCD,KAAK,KAAKC,KAAK,CAACC,SAAN,CAAmBC,IAAF,IAAYJ,WAAW,CAACK,IAAZ,KAAqBD,IAAI,CAACC,IAAvD,CADJ","sourcesContent":["export const DEFAULT_CATEGORY = '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":["CategoryItem","count","icon","id","isActive","label","type","linkInfo","path","categoryType","categoryId","backPath","undefined"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIe,SAASA,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,GAAG,mBAChB;AACCC,IAAAA,IAAI,EAAE,UADP;AAECC,IAAAA,YAAY,EAAEH,IAFf;AAGCI,IAAAA,UAAU,EAAEP;AAHb,GADgB,EAMhB;AACC;AACA;AACA;AACAQ,IAAAA,QAAQ,EAAE;AAJX,GANgB,CAAjB;;AAcA,MAAK,CAAEV,KAAP,EAAe;AACd;AACA;;AAED,SACC,4BAAC,8BAAD,OACMM,QADN;AAEC,IAAA,IAAI,EAAGL,IAFR;AAGC,IAAA,MAAM,EAAG,0CAAQD,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,112 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = SidebarNavigationScreenLibrary;
9
-
10
- var _element = require("@wordpress/element");
11
-
12
- var _components = require("@wordpress/components");
13
-
14
- var _compose = require("@wordpress/compose");
15
-
16
- var _data = require("@wordpress/data");
17
-
18
- var _editor = require("@wordpress/editor");
19
-
20
- var _i18n = require("@wordpress/i18n");
21
-
22
- var _url = require("@wordpress/url");
23
-
24
- var _icons = require("@wordpress/icons");
25
-
26
- var _addNewPattern = _interopRequireDefault(require("../add-new-pattern"));
27
-
28
- var _sidebarNavigationItem = _interopRequireDefault(require("../sidebar-navigation-item"));
29
-
30
- var _sidebarNavigationScreen = _interopRequireDefault(require("../sidebar-navigation-screen"));
31
-
32
- var _categoryItem = _interopRequireDefault(require("./category-item"));
33
-
34
- var _utils = require("../page-library/utils");
35
-
36
- var _store = require("../../store");
37
-
38
- var _usePatternCategories = _interopRequireDefault(require("./use-pattern-categories"));
39
-
40
- var _useTemplatePartAreas = _interopRequireDefault(require("./use-template-part-areas"));
41
-
42
- /**
43
- * WordPress dependencies
44
- */
45
-
46
- /**
47
- * Internal dependencies
48
- */
49
- const templatePartAreaLabels = {
50
- header: (0, _i18n.__)('Headers'),
51
- footer: (0, _i18n.__)('Footers'),
52
- sidebar: (0, _i18n.__)('Sidebar'),
53
- uncategorized: (0, _i18n.__)('Uncategorized')
54
- };
55
-
56
- function SidebarNavigationScreenLibrary() {
57
- const isMobileViewport = (0, _compose.useViewportMatch)('medium', '<');
58
- const {
59
- categoryType,
60
- categoryId
61
- } = (0, _url.getQueryArgs)(window.location.href);
62
- const currentCategory = categoryId || _utils.DEFAULT_CATEGORY;
63
- const currentType = categoryType || _utils.DEFAULT_TYPE;
64
- const {
65
- templatePartAreas,
66
- hasTemplateParts,
67
- isLoading
68
- } = (0, _useTemplatePartAreas.default)();
69
- const {
70
- patternCategories,
71
- hasPatterns
72
- } = (0, _usePatternCategories.default)();
73
- const isTemplatePartsMode = (0, _data.useSelect)(select => {
74
- const settings = select(_store.store).getSettings();
75
- return !!settings.supportsTemplatePartsMode;
76
- }, []);
77
- return (0, _element.createElement)(_sidebarNavigationScreen.default, {
78
- isRoot: isTemplatePartsMode,
79
- title: (0, _i18n.__)('Library'),
80
- description: (0, _i18n.__)('Manage what patterns are available when editing your site.'),
81
- actions: (0, _element.createElement)(_addNewPattern.default, null),
82
- footer: (0, _element.createElement)(_components.__experimentalItemGroup, null, !isMobileViewport && (0, _element.createElement)(_sidebarNavigationItem.default, {
83
- as: "a",
84
- href: "edit.php?post_type=wp_block",
85
- withChevron: true
86
- }, (0, _i18n.__)('Manage all custom patterns'))),
87
- content: (0, _element.createElement)(_element.Fragment, null, isLoading && (0, _i18n.__)('Loading library'), !isLoading && (0, _element.createElement)(_element.Fragment, null, !hasTemplateParts && !hasPatterns && (0, _element.createElement)(_components.__experimentalItemGroup, {
88
- className: "edit-site-sidebar-navigation-screen-library__group"
89
- }, (0, _element.createElement)(_components.__experimentalItem, null, (0, _i18n.__)('No template parts or patterns found'))), hasTemplateParts && (0, _element.createElement)(_components.__experimentalItemGroup, {
90
- className: "edit-site-sidebar-navigation-screen-library__group"
91
- }, Object.entries(templatePartAreas).map(([area, parts]) => (0, _element.createElement)(_categoryItem.default, {
92
- key: area,
93
- count: parts.length,
94
- icon: (0, _editor.getTemplatePartIcon)(area),
95
- label: templatePartAreaLabels[area],
96
- id: area,
97
- type: "wp_template_part",
98
- isActive: currentCategory === area && currentType === 'wp_template_part'
99
- }))), hasPatterns && (0, _element.createElement)(_components.__experimentalItemGroup, {
100
- className: "edit-site-sidebar-navigation-screen-library__group"
101
- }, patternCategories.map(category => (0, _element.createElement)(_categoryItem.default, {
102
- key: category.name,
103
- count: category.count,
104
- label: category.label,
105
- icon: _icons.file,
106
- id: category.name,
107
- type: "pattern",
108
- isActive: currentCategory === `${category.name}` && currentType === 'pattern'
109
- })))))
110
- });
111
- }
112
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-library/index.js"],"names":["templatePartAreaLabels","header","footer","sidebar","uncategorized","SidebarNavigationScreenLibrary","isMobileViewport","categoryType","categoryId","window","location","href","currentCategory","DEFAULT_CATEGORY","currentType","DEFAULT_TYPE","templatePartAreas","hasTemplateParts","isLoading","patternCategories","hasPatterns","isTemplatePartsMode","select","settings","editSiteStore","getSettings","supportsTemplatePartsMode","Object","entries","map","area","parts","length","category","name","count","label","file"],"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":["useDefaultPatternCategories","blockPatternCategories","select","getSettings","editSiteStore","settings","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatternCategories","coreStore","getBlockPatternCategories"],"mappings":";;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAVA;AACA;AACA;;AAIA;AACA;AACA;AAIe,SAASA,2BAAT,GAAuC;AACrD,QAAMC,sBAAsB,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AACvD,UAAM;AAAEC,MAAAA;AAAF,QAAkB,wBAAQD,MAAM,CAAEE,YAAF,CAAd,CAAxB;AACA,UAAMC,QAAQ,GAAGF,WAAW,EAA5B;AAEA,oCACCE,QAAQ,CAACC,8CADV,yEAECD,QAAQ,CAACE,oCAFV;AAIA,GAR8B,CAA/B;AAUA,QAAMC,0BAA0B,GAAG,qBAAaN,MAAF,IAC7CA,MAAM,CAAEO,eAAF,CAAN,CAAoBC,yBAApB,EADkC,CAAnC;AAIA,SAAO,CACN,IAAKT,sBAAsB,IAAI,EAA/B,CADM,EAEN,IAAKO,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":["usePatternCategories","defaultCategories","themePatterns","userPatterns","select","coreStore","getEntityRecords","per_page","patternCategories","categoryMap","categoriesWithCounts","forEach","category","name","count","pattern","categories","push","length","label","hasPatterns"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAZA;AACA;AACA;;AAMA;AACA;AACA;AAIe,SAASA,oBAAT,GAAgC;AAC9C,QAAMC,iBAAiB,GAAG,2CAA1B;AACA,QAAMC,aAAa,GAAG,gCAAtB;AACA,QAAMC,YAAY,GAAG,qBAAaC,MAAF,IAC/BA,MAAM,CAAEC,eAAF,CAAN,CAAoBC,gBAApB,CAAsC,UAAtC,EAAkD,UAAlD,EAA8D;AAC7DC,IAAAA,QAAQ,EAAE,CAAC;AADkD,GAA9D,CADoB,CAArB;AAMA,QAAMC,iBAAiB,GAAG,sBAAS,MAAM;AACxC,UAAMC,WAAW,GAAG,EAApB;AACA,UAAMC,oBAAoB,GAAG,EAA7B,CAFwC,CAIxC;;AACAT,IAAAA,iBAAiB,CAACU,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;;AACAZ,IAAAA,aAAa,CAACS,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;;AACAb,IAAAA,iBAAiB,CAACU,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,QAAKV,YAAY,EAAEe,MAAnB,EAA4B;AAC3BR,MAAAA,oBAAoB,CAACO,IAArB,CAA2B;AAC1BH,QAAAA,KAAK,EAAEX,YAAY,CAACe,MAAb,IAAuB,CADJ;AAE1BL,QAAAA,IAAI,EAAE,iBAFoB;AAG1BM,QAAAA,KAAK,EAAE,cAAI,iBAAJ;AAHmB,OAA3B;AAKA;;AAED,WAAOT,oBAAP;AACA,GArCyB,EAqCvB,CAAET,iBAAF,EAAqBC,aAArB,EAAoCC,YAApC,CArCuB,CAA1B;AAuCA,SAAO;AAAEK,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,41 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = useTemplatePartAreas;
7
-
8
- var _coreData = require("@wordpress/core-data");
9
-
10
- /**
11
- * WordPress dependencies
12
- */
13
- const getTemplatePartAreas = items => {
14
- const allItems = items || [];
15
- const groupedByArea = allItems.reduce((accumulator, item) => {
16
- const key = accumulator[item.area] ? item.area : 'uncategorized';
17
- accumulator[key].push(item);
18
- return accumulator;
19
- }, {
20
- header: [],
21
- footer: [],
22
- sidebar: [],
23
- uncategorized: []
24
- });
25
- return groupedByArea;
26
- };
27
-
28
- function useTemplatePartAreas() {
29
- const {
30
- records: templateParts,
31
- isResolving: isLoading
32
- } = (0, _coreData.useEntityRecords)('postType', 'wp_template_part', {
33
- per_page: -1
34
- });
35
- return {
36
- hasTemplateParts: templateParts ? !!templateParts.length : false,
37
- isLoading,
38
- templatePartAreas: getTemplatePartAreas(templateParts)
39
- };
40
- }
41
- //# 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":["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":";;;;;;;AAGA;;AAHA;AACA;AACA;AAGA,MAAMA,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;;AAee,SAASW,oBAAT,GAAgC;AAC9C,QAAM;AAAEC,IAAAA,OAAO,EAAEC,aAAX;AAA0BC,IAAAA,WAAW,EAAEC;AAAvC,MAAqD,gCAC1D,UAD0D,EAE1D,kBAF0D,EAG1D;AAAEC,IAAAA,QAAQ,EAAE,CAAC;AAAb,GAH0D,CAA3D;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":["useThemePatterns","blockPatterns","select","getSettings","editSiteStore","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","coreStore","getBlockPatterns","patterns","filter","pattern","CORE_PATTERN_SOURCES","includes","source","filterOutDuplicatesByName"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAIA;;AACA;;AAfA;AACA;AACA;;AAKA;AACA;AACA;AAQe,SAASA,gBAAT,GAA4B;AAC1C,QAAMC,aAAa,GAAG,qBAAaC,MAAF,IAAc;AAAA;;AAC9C,UAAM;AAAEC,MAAAA;AAAF,QAAkB,wBAAQD,MAAM,CAAEE,YAAF,CAAd,CAAxB;AAEA,oCACCD,WAAW,GAAGE,qCADf,yEAECF,WAAW,GAAGG,2BAFf;AAIA,GAPqB,CAAtB;AASA,QAAMC,iBAAiB,GAAG,qBAAaL,MAAF,IACpCA,MAAM,CAAEM,eAAF,CAAN,CAAoBC,gBAApB,EADyB,CAA1B;AAIA,QAAMC,QAAQ,GAAG,sBAChB,MACC,CAAE,IAAKT,aAAa,IAAI,EAAtB,CAAF,EAA8B,IAAKM,iBAAiB,IAAI,EAA1B,CAA9B,EACEI,MADF,CAEIC,OAAF,IACC,CAAEC,4BAAqBC,QAArB,CAA+BF,OAAO,CAACG,MAAvC,CAHL,EAKEJ,MALF,CAKUK,gCALV,CAFe,EAQhB,CAAEf,aAAF,EAAiBM,iBAAjB,CARgB,CAAjB;AAWA,SAAOG,QAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\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
- import { createElement, Fragment } from "@wordpress/element";
2
-
3
- /**
4
- * External dependencies
5
- */
6
- import Textarea from 'react-autosize-textarea';
7
- /**
8
- * WordPress dependencies
9
- */
10
-
11
- import { __ } from '@wordpress/i18n';
12
- import { useEffect, useState, useRef } from '@wordpress/element';
13
- import { useInstanceId } from '@wordpress/compose';
14
- import { VisuallyHidden } from '@wordpress/components';
15
- export default function CodeEditorTextArea({
16
- value,
17
- onChange,
18
- onInput
19
- }) {
20
- const [stateValue, setStateValue] = useState(value);
21
- const [isDirty, setIsDirty] = useState(false);
22
- const instanceId = useInstanceId(CodeEditorTextArea);
23
- const valueRef = useRef();
24
-
25
- if (!isDirty && stateValue !== value) {
26
- setStateValue(value);
27
- }
28
- /**
29
- * Handles a textarea change event to notify the onChange prop callback and
30
- * reflect the new value in the component's own state. This marks the start
31
- * of the user's edits, if not already changed, preventing future props
32
- * changes to value from replacing the rendered value. This is expected to
33
- * be followed by a reset to dirty state via `stopEditing`.
34
- *
35
- * @see stopEditing
36
- *
37
- * @param {Event} event Change event.
38
- */
39
-
40
-
41
- const onChangeHandler = event => {
42
- const newValue = event.target.value;
43
- onInput(newValue);
44
- setStateValue(newValue);
45
- setIsDirty(true);
46
- valueRef.current = newValue;
47
- };
48
- /**
49
- * Function called when the user has completed their edits, responsible for
50
- * ensuring that changes, if made, are surfaced to the onPersist prop
51
- * callback and resetting dirty state.
52
- */
53
-
54
-
55
- const stopEditing = () => {
56
- if (isDirty) {
57
- onChange(stateValue);
58
- setIsDirty(false);
59
- }
60
- }; // Ensure changes aren't lost when component unmounts.
61
-
62
-
63
- useEffect(() => {
64
- return () => {
65
- if (valueRef.current) {
66
- onChange(valueRef.current);
67
- }
68
- };
69
- }, []);
70
- return createElement(Fragment, null, createElement(VisuallyHidden, {
71
- as: "label",
72
- htmlFor: `code-editor-text-area-${instanceId}`
73
- }, __('Type text or HTML')), createElement(Textarea, {
74
- autoComplete: "off",
75
- dir: "auto",
76
- value: stateValue,
77
- onChange: onChangeHandler,
78
- onBlur: stopEditing,
79
- className: "edit-site-code-editor-text-area",
80
- id: `code-editor-text-area-${instanceId}`,
81
- placeholder: __('Start writing with text or HTML')
82
- }));
83
- }
84
- //# sourceMappingURL=code-editor-text-area.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/code-editor/code-editor-text-area.js"],"names":["Textarea","__","useEffect","useState","useRef","useInstanceId","VisuallyHidden","CodeEditorTextArea","value","onChange","onInput","stateValue","setStateValue","isDirty","setIsDirty","instanceId","valueRef","onChangeHandler","event","newValue","target","current","stopEditing"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,QAAP,MAAqB,yBAArB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,EAAoBC,QAApB,EAA8BC,MAA9B,QAA4C,oBAA5C;AACA,SAASC,aAAT,QAA8B,oBAA9B;AACA,SAASC,cAAT,QAA+B,uBAA/B;AAEA,eAAe,SAASC,kBAAT,CAA6B;AAAEC,EAAAA,KAAF;AAASC,EAAAA,QAAT;AAAmBC,EAAAA;AAAnB,CAA7B,EAA4D;AAC1E,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgCT,QAAQ,CAAEK,KAAF,CAA9C;AACA,QAAM,CAAEK,OAAF,EAAWC,UAAX,IAA0BX,QAAQ,CAAE,KAAF,CAAxC;AACA,QAAMY,UAAU,GAAGV,aAAa,CAAEE,kBAAF,CAAhC;AACA,QAAMS,QAAQ,GAAGZ,MAAM,EAAvB;;AAEA,MAAK,CAAES,OAAF,IAAaF,UAAU,KAAKH,KAAjC,EAAyC;AACxCI,IAAAA,aAAa,CAAEJ,KAAF,CAAb;AACA;AAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACC,QAAMS,eAAe,GAAKC,KAAF,IAAa;AACpC,UAAMC,QAAQ,GAAGD,KAAK,CAACE,MAAN,CAAaZ,KAA9B;AACAE,IAAAA,OAAO,CAAES,QAAF,CAAP;AACAP,IAAAA,aAAa,CAAEO,QAAF,CAAb;AACAL,IAAAA,UAAU,CAAE,IAAF,CAAV;AACAE,IAAAA,QAAQ,CAACK,OAAT,GAAmBF,QAAnB;AACA,GAND;AAQA;AACD;AACA;AACA;AACA;;;AACC,QAAMG,WAAW,GAAG,MAAM;AACzB,QAAKT,OAAL,EAAe;AACdJ,MAAAA,QAAQ,CAAEE,UAAF,CAAR;AACAG,MAAAA,UAAU,CAAE,KAAF,CAAV;AACA;AACD,GALD,CAlC0E,CAyC1E;;;AACAZ,EAAAA,SAAS,CAAE,MAAM;AAChB,WAAO,MAAM;AACZ,UAAKc,QAAQ,CAACK,OAAd,EAAwB;AACvBZ,QAAAA,QAAQ,CAAEO,QAAQ,CAACK,OAAX,CAAR;AACA;AACD,KAJD;AAKA,GANQ,EAMN,EANM,CAAT;AAQA,SACC,8BACC,cAAC,cAAD;AACC,IAAA,EAAE,EAAC,OADJ;AAEC,IAAA,OAAO,EAAI,yBAAyBN,UAAY;AAFjD,KAIGd,EAAE,CAAE,mBAAF,CAJL,CADD,EAOC,cAAC,QAAD;AACC,IAAA,YAAY,EAAC,KADd;AAEC,IAAA,GAAG,EAAC,MAFL;AAGC,IAAA,KAAK,EAAGU,UAHT;AAIC,IAAA,QAAQ,EAAGM,eAJZ;AAKC,IAAA,MAAM,EAAGK,WALV;AAMC,IAAA,SAAS,EAAC,iCANX;AAOC,IAAA,EAAE,EAAI,yBAAyBP,UAAY,EAP5C;AAQC,IAAA,WAAW,EAAGd,EAAE,CAAE,iCAAF;AARjB,IAPD,CADD;AAoBA","sourcesContent":["/**\n * External dependencies\n */\nimport Textarea from 'react-autosize-textarea';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { VisuallyHidden } from '@wordpress/components';\n\nexport default function CodeEditorTextArea( { value, onChange, onInput } ) {\n\tconst [ stateValue, setStateValue ] = useState( value );\n\tconst [ isDirty, setIsDirty ] = useState( false );\n\tconst instanceId = useInstanceId( CodeEditorTextArea );\n\tconst valueRef = useRef();\n\n\tif ( ! isDirty && stateValue !== value ) {\n\t\tsetStateValue( value );\n\t}\n\n\t/**\n\t * Handles a textarea change event to notify the onChange prop callback and\n\t * reflect the new value in the component's own state. This marks the start\n\t * of the user's edits, if not already changed, preventing future props\n\t * changes to value from replacing the rendered value. This is expected to\n\t * be followed by a reset to dirty state via `stopEditing`.\n\t *\n\t * @see stopEditing\n\t *\n\t * @param {Event} event Change event.\n\t */\n\tconst onChangeHandler = ( event ) => {\n\t\tconst newValue = event.target.value;\n\t\tonInput( newValue );\n\t\tsetStateValue( newValue );\n\t\tsetIsDirty( true );\n\t\tvalueRef.current = newValue;\n\t};\n\n\t/**\n\t * Function called when the user has completed their edits, responsible for\n\t * ensuring that changes, if made, are surfaced to the onPersist prop\n\t * callback and resetting dirty state.\n\t */\n\tconst stopEditing = () => {\n\t\tif ( isDirty ) {\n\t\t\tonChange( stateValue );\n\t\t\tsetIsDirty( false );\n\t\t}\n\t};\n\n\t// Ensure changes aren't lost when component unmounts.\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( valueRef.current ) {\n\t\t\t\tonChange( valueRef.current );\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<VisuallyHidden\n\t\t\t\tas=\"label\"\n\t\t\t\thtmlFor={ `code-editor-text-area-${ instanceId }` }\n\t\t\t>\n\t\t\t\t{ __( 'Type text or HTML' ) }\n\t\t\t</VisuallyHidden>\n\t\t\t<Textarea\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tdir=\"auto\"\n\t\t\t\tvalue={ stateValue }\n\t\t\t\tonChange={ onChangeHandler }\n\t\t\t\tonBlur={ stopEditing }\n\t\t\t\tclassName=\"edit-site-code-editor-text-area\"\n\t\t\t\tid={ `code-editor-text-area-${ instanceId }` }\n\t\t\t\tplaceholder={ __( 'Start writing with text or HTML' ) }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}