@wordpress/edit-site 5.30.0 → 5.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (470) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/block-editor/editor-canvas.js +24 -4
  3. package/build/components/block-editor/editor-canvas.js.map +1 -1
  4. package/build/components/block-editor/site-editor-canvas.js +15 -4
  5. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +1 -1
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/editor/index.js +12 -3
  9. package/build/components/editor/index.js.map +1 -1
  10. package/build/components/editor-canvas-container/index.js +1 -2
  11. package/build/components/editor-canvas-container/index.js.map +1 -1
  12. package/build/components/global-styles/background-panel.js +38 -0
  13. package/build/components/global-styles/background-panel.js.map +1 -0
  14. package/build/components/global-styles/color-palette-panel.js +0 -9
  15. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  16. package/build/components/global-styles/font-families.js +1 -1
  17. package/build/components/global-styles/font-families.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/context.js +53 -17
  19. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/font-collection.js +4 -3
  21. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +3 -2
  23. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  25. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/upload-fonts.js +44 -10
  27. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/utils/index.js +22 -4
  29. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  30. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +3 -0
  31. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  32. package/build/components/global-styles/header.js +1 -1
  33. package/build/components/global-styles/header.js.map +1 -1
  34. package/build/components/global-styles/hooks.js +50 -1
  35. package/build/components/global-styles/hooks.js.map +1 -1
  36. package/build/components/global-styles/palette.js +3 -1
  37. package/build/components/global-styles/palette.js.map +1 -1
  38. package/build/components/global-styles/preview-colors.js +2 -2
  39. package/build/components/global-styles/preview-colors.js.map +1 -1
  40. package/build/components/global-styles/preview-iframe.js +0 -1
  41. package/build/components/global-styles/preview-iframe.js.map +1 -1
  42. package/build/components/global-styles/preview-styles.js +2 -2
  43. package/build/components/global-styles/preview-styles.js.map +1 -1
  44. package/build/components/global-styles/root-menu.js +8 -2
  45. package/build/components/global-styles/root-menu.js.map +1 -1
  46. package/build/components/global-styles/screen-background.js +34 -0
  47. package/build/components/global-styles/screen-background.js.map +1 -0
  48. package/build/components/global-styles/screen-color-palette.js +2 -2
  49. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  50. package/build/components/global-styles/screen-colors.js +5 -10
  51. package/build/components/global-styles/screen-colors.js.map +1 -1
  52. package/build/components/global-styles/screen-style-variations.js +3 -37
  53. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  54. package/build/components/global-styles/screen-typography.js +6 -11
  55. package/build/components/global-styles/screen-typography.js.map +1 -1
  56. package/build/components/global-styles/style-variations-container.js +5 -2
  57. package/build/components/global-styles/style-variations-container.js.map +1 -1
  58. package/build/components/global-styles/typography-elements.js +3 -1
  59. package/build/components/global-styles/typography-elements.js.map +1 -1
  60. package/build/components/global-styles/{preview-typography.js → typography-example.js} +4 -2
  61. package/build/components/global-styles/typography-example.js.map +1 -0
  62. package/build/components/global-styles/typography-preview.js +3 -1
  63. package/build/components/global-styles/typography-preview.js.map +1 -1
  64. package/build/components/global-styles/ui.js +4 -1
  65. package/build/components/global-styles/ui.js.map +1 -1
  66. package/build/components/global-styles/utils.js +1 -1
  67. package/build/components/global-styles/utils.js.map +1 -1
  68. package/build/components/global-styles/variations/variations-color.js +13 -7
  69. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  70. package/build/components/global-styles/variations/variations-typography.js +34 -37
  71. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  72. package/build/components/header-edit-mode/index.js +2 -1
  73. package/build/components/header-edit-mode/index.js.map +1 -1
  74. package/build/components/keyboard-shortcut-help-modal/config.js +6 -0
  75. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  76. package/build/components/keyboard-shortcut-help-modal/index.js +3 -0
  77. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  78. package/build/components/keyboard-shortcuts/global.js +17 -3
  79. package/build/components/keyboard-shortcuts/global.js.map +1 -1
  80. package/build/components/layout/animation.js +129 -0
  81. package/build/components/layout/animation.js.map +1 -0
  82. package/build/components/layout/index.js +9 -17
  83. package/build/components/layout/index.js.map +1 -1
  84. package/build/components/layout/router.js +22 -22
  85. package/build/components/layout/router.js.map +1 -1
  86. package/build/components/page-pages/index.js +24 -27
  87. package/build/components/page-pages/index.js.map +1 -1
  88. package/build/components/page-patterns/delete-category-menu-item.js +6 -1
  89. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
  90. package/build/components/page-patterns/index.js +19 -32
  91. package/build/components/page-patterns/index.js.map +1 -1
  92. package/build/components/page-patterns/search-items.js +16 -58
  93. package/build/components/page-patterns/search-items.js.map +1 -1
  94. package/build/components/page-patterns/use-patterns.js +9 -9
  95. package/build/components/page-patterns/use-patterns.js.map +1 -1
  96. package/build/components/page-templates-template-parts/actions.js +54 -41
  97. package/build/components/page-templates-template-parts/actions.js.map +1 -1
  98. package/build/components/page-templates-template-parts/index.js +31 -69
  99. package/build/components/page-templates-template-parts/index.js.map +1 -1
  100. package/build/components/plugin-template-setting-panel/index.js +12 -1
  101. package/build/components/plugin-template-setting-panel/index.js.map +1 -1
  102. package/build/components/save-button/index.js +45 -16
  103. package/build/components/save-button/index.js.map +1 -1
  104. package/build/components/save-hub/index.js +8 -112
  105. package/build/components/save-hub/index.js.map +1 -1
  106. package/build/components/save-panel/index.js +14 -9
  107. package/build/components/save-panel/index.js.map +1 -1
  108. package/build/components/sidebar/index.js +3 -8
  109. package/build/components/sidebar/index.js.map +1 -1
  110. package/build/components/sidebar-dataviews/custom-dataviews-list.js +2 -2
  111. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  112. package/build/components/sidebar-dataviews/dataview-item.js +2 -2
  113. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  114. package/build/components/sidebar-dataviews/default-views.js +3 -3
  115. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  116. package/build/components/sidebar-dataviews/index.js +5 -4
  117. package/build/components/sidebar-dataviews/index.js.map +1 -1
  118. package/build/components/sidebar-edit-mode/index.js +1 -2
  119. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  120. package/build/components/sidebar-edit-mode/page-panels/index.js +7 -17
  121. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  122. package/build/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
  123. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  124. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +3 -1
  125. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  126. package/build/components/sidebar-edit-mode/template-panel/index.js +32 -18
  127. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  128. package/build/components/sidebar-navigation-screen-details-footer/index.js +5 -1
  129. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  130. package/build/components/sidebar-navigation-screen-global-styles/index.js +18 -1
  131. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  132. package/build/components/sidebar-navigation-screen-navigation-menu/{delete-modal.js → delete-confirm-dialog.js} +4 -5
  133. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +1 -0
  134. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +6 -6
  135. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  136. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
  137. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  138. package/build/components/sidebar-navigation-screen-patterns/index.js +1 -5
  139. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  140. package/build/components/sidebar-navigation-screen-template/index.js +5 -1
  141. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  142. package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  143. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  144. package/build/components/style-book/index.js +1 -1
  145. package/build/components/style-book/index.js.map +1 -1
  146. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -3
  147. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  148. package/build/components/sync-state-with-url/use-sync-path-with-url.js +1 -11
  149. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  150. package/build/components/template-actions/index.js +44 -27
  151. package/build/components/template-actions/index.js.map +1 -1
  152. package/build/components/welcome-guide/editor.js +11 -2
  153. package/build/components/welcome-guide/editor.js.map +1 -1
  154. package/build/hooks/index.js +0 -1
  155. package/build/hooks/index.js.map +1 -1
  156. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +15 -2
  157. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  158. package/build/store/selectors.js +1 -9
  159. package/build/store/selectors.js.map +1 -1
  160. package/build/utils/constants.js +5 -3
  161. package/build/utils/constants.js.map +1 -1
  162. package/build/utils/get-is-list-page.js +1 -1
  163. package/build/utils/get-is-list-page.js.map +1 -1
  164. package/build/utils/math.js +98 -0
  165. package/build/utils/math.js.map +1 -0
  166. package/build-module/components/block-editor/editor-canvas.js +24 -4
  167. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  168. package/build-module/components/block-editor/site-editor-canvas.js +15 -4
  169. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  170. package/build-module/components/block-editor/use-site-editor-settings.js +1 -1
  171. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  172. package/build-module/components/editor/index.js +13 -4
  173. package/build-module/components/editor/index.js.map +1 -1
  174. package/build-module/components/editor-canvas-container/index.js +1 -2
  175. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  176. package/build-module/components/global-styles/background-panel.js +31 -0
  177. package/build-module/components/global-styles/background-panel.js.map +1 -0
  178. package/build-module/components/global-styles/color-palette-panel.js +0 -8
  179. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  180. package/build-module/components/global-styles/font-families.js +1 -1
  181. package/build-module/components/global-styles/font-families.js.map +1 -1
  182. package/build-module/components/global-styles/font-library-modal/context.js +54 -18
  183. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  184. package/build-module/components/global-styles/font-library-modal/font-collection.js +4 -3
  185. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  186. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +4 -3
  187. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  188. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  189. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  190. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +44 -10
  191. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  192. package/build-module/components/global-styles/font-library-modal/utils/index.js +22 -4
  193. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  194. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +3 -0
  195. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  196. package/build-module/components/global-styles/header.js +1 -1
  197. package/build-module/components/global-styles/header.js.map +1 -1
  198. package/build-module/components/global-styles/hooks.js +48 -1
  199. package/build-module/components/global-styles/hooks.js.map +1 -1
  200. package/build-module/components/global-styles/palette.js +3 -1
  201. package/build-module/components/global-styles/palette.js.map +1 -1
  202. package/build-module/components/global-styles/preview-colors.js +2 -2
  203. package/build-module/components/global-styles/preview-colors.js.map +1 -1
  204. package/build-module/components/global-styles/preview-iframe.js +0 -1
  205. package/build-module/components/global-styles/preview-iframe.js.map +1 -1
  206. package/build-module/components/global-styles/preview-styles.js +2 -2
  207. package/build-module/components/global-styles/preview-styles.js.map +1 -1
  208. package/build-module/components/global-styles/root-menu.js +9 -3
  209. package/build-module/components/global-styles/root-menu.js.map +1 -1
  210. package/build-module/components/global-styles/screen-background.js +26 -0
  211. package/build-module/components/global-styles/screen-background.js.map +1 -0
  212. package/build-module/components/global-styles/screen-color-palette.js +2 -2
  213. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  214. package/build-module/components/global-styles/screen-colors.js +5 -10
  215. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  216. package/build-module/components/global-styles/screen-style-variations.js +4 -38
  217. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  218. package/build-module/components/global-styles/screen-typography.js +6 -11
  219. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  220. package/build-module/components/global-styles/style-variations-container.js +5 -2
  221. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  222. package/build-module/components/global-styles/typography-elements.js +3 -1
  223. package/build-module/components/global-styles/typography-elements.js.map +1 -1
  224. package/build-module/components/global-styles/{preview-typography.js → typography-example.js} +4 -2
  225. package/build-module/components/global-styles/typography-example.js.map +1 -0
  226. package/build-module/components/global-styles/typography-preview.js +3 -1
  227. package/build-module/components/global-styles/typography-preview.js.map +1 -1
  228. package/build-module/components/global-styles/ui.js +4 -1
  229. package/build-module/components/global-styles/ui.js.map +1 -1
  230. package/build-module/components/global-styles/utils.js +1 -1
  231. package/build-module/components/global-styles/utils.js.map +1 -1
  232. package/build-module/components/global-styles/variations/variations-color.js +13 -7
  233. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  234. package/build-module/components/global-styles/variations/variations-typography.js +35 -38
  235. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  236. package/build-module/components/header-edit-mode/index.js +2 -1
  237. package/build-module/components/header-edit-mode/index.js.map +1 -1
  238. package/build-module/components/keyboard-shortcut-help-modal/config.js +6 -0
  239. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  240. package/build-module/components/keyboard-shortcut-help-modal/index.js +3 -0
  241. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  242. package/build-module/components/keyboard-shortcuts/global.js +17 -3
  243. package/build-module/components/keyboard-shortcuts/global.js.map +1 -1
  244. package/build-module/components/layout/animation.js +122 -0
  245. package/build-module/components/layout/animation.js.map +1 -0
  246. package/build-module/components/layout/index.js +9 -17
  247. package/build-module/components/layout/index.js.map +1 -1
  248. package/build-module/components/layout/router.js +22 -22
  249. package/build-module/components/layout/router.js.map +1 -1
  250. package/build-module/components/page-pages/index.js +25 -28
  251. package/build-module/components/page-pages/index.js.map +1 -1
  252. package/build-module/components/page-patterns/delete-category-menu-item.js +6 -1
  253. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
  254. package/build-module/components/page-patterns/index.js +21 -34
  255. package/build-module/components/page-patterns/index.js.map +1 -1
  256. package/build-module/components/page-patterns/search-items.js +14 -55
  257. package/build-module/components/page-patterns/search-items.js.map +1 -1
  258. package/build-module/components/page-patterns/use-patterns.js +9 -9
  259. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  260. package/build-module/components/page-templates-template-parts/actions.js +54 -40
  261. package/build-module/components/page-templates-template-parts/actions.js.map +1 -1
  262. package/build-module/components/page-templates-template-parts/index.js +34 -72
  263. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  264. package/build-module/components/plugin-template-setting-panel/index.js +12 -1
  265. package/build-module/components/plugin-template-setting-panel/index.js.map +1 -1
  266. package/build-module/components/save-button/index.js +46 -17
  267. package/build-module/components/save-button/index.js.map +1 -1
  268. package/build-module/components/save-hub/index.js +10 -114
  269. package/build-module/components/save-hub/index.js.map +1 -1
  270. package/build-module/components/save-panel/index.js +14 -9
  271. package/build-module/components/save-panel/index.js.map +1 -1
  272. package/build-module/components/sidebar/index.js +3 -8
  273. package/build-module/components/sidebar/index.js.map +1 -1
  274. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +2 -2
  275. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  276. package/build-module/components/sidebar-dataviews/dataview-item.js +2 -2
  277. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  278. package/build-module/components/sidebar-dataviews/default-views.js +4 -4
  279. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  280. package/build-module/components/sidebar-dataviews/index.js +5 -4
  281. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  282. package/build-module/components/sidebar-edit-mode/index.js +1 -2
  283. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  284. package/build-module/components/sidebar-edit-mode/page-panels/index.js +10 -20
  285. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  286. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
  287. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  288. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +4 -2
  289. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  290. package/build-module/components/sidebar-edit-mode/template-panel/index.js +33 -19
  291. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  292. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +5 -1
  293. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  294. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +19 -2
  295. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  296. package/build-module/components/sidebar-navigation-screen-navigation-menu/{delete-modal.js → delete-confirm-dialog.js} +3 -4
  297. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +1 -0
  298. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +6 -6
  299. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  300. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
  301. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  302. package/build-module/components/sidebar-navigation-screen-patterns/index.js +1 -5
  303. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  304. package/build-module/components/sidebar-navigation-screen-template/index.js +5 -1
  305. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  306. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  307. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  308. package/build-module/components/style-book/index.js +1 -1
  309. package/build-module/components/style-book/index.js.map +1 -1
  310. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -3
  311. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  312. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +1 -11
  313. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  314. package/build-module/components/template-actions/index.js +44 -27
  315. package/build-module/components/template-actions/index.js.map +1 -1
  316. package/build-module/components/welcome-guide/editor.js +11 -2
  317. package/build-module/components/welcome-guide/editor.js.map +1 -1
  318. package/build-module/hooks/index.js +0 -1
  319. package/build-module/hooks/index.js.map +1 -1
  320. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +15 -2
  321. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  322. package/build-module/store/selectors.js +1 -9
  323. package/build-module/store/selectors.js.map +1 -1
  324. package/build-module/utils/constants.js +4 -2
  325. package/build-module/utils/constants.js.map +1 -1
  326. package/build-module/utils/get-is-list-page.js +1 -1
  327. package/build-module/utils/get-is-list-page.js.map +1 -1
  328. package/build-module/utils/math.js +92 -0
  329. package/build-module/utils/math.js.map +1 -0
  330. package/build-style/style-rtl.css +146 -130
  331. package/build-style/style.css +146 -130
  332. package/package.json +44 -44
  333. package/src/components/block-editor/editor-canvas.js +34 -9
  334. package/src/components/block-editor/site-editor-canvas.js +10 -7
  335. package/src/components/block-editor/use-site-editor-settings.js +0 -2
  336. package/src/components/editor/index.js +11 -4
  337. package/src/components/editor-canvas-container/index.js +0 -1
  338. package/src/components/global-styles/background-panel.js +34 -0
  339. package/src/components/global-styles/color-palette-panel.js +0 -11
  340. package/src/components/global-styles/font-families.js +1 -1
  341. package/src/components/global-styles/font-library-modal/context.js +77 -31
  342. package/src/components/global-styles/font-library-modal/font-collection.js +4 -3
  343. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +9 -2
  344. package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  345. package/src/components/global-styles/font-library-modal/style.scss +15 -6
  346. package/src/components/global-styles/font-library-modal/upload-fonts.js +53 -8
  347. package/src/components/global-styles/font-library-modal/utils/index.js +21 -8
  348. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +4 -0
  349. package/src/components/global-styles/header.js +1 -1
  350. package/src/components/global-styles/hooks.js +68 -1
  351. package/src/components/global-styles/palette.js +3 -1
  352. package/src/components/global-styles/preview-colors.js +2 -2
  353. package/src/components/global-styles/preview-iframe.js +0 -1
  354. package/src/components/global-styles/preview-styles.js +2 -2
  355. package/src/components/global-styles/root-menu.js +12 -1
  356. package/src/components/global-styles/screen-background.js +29 -0
  357. package/src/components/global-styles/screen-color-palette.js +2 -2
  358. package/src/components/global-styles/screen-colors.js +4 -15
  359. package/src/components/global-styles/screen-style-variations.js +4 -36
  360. package/src/components/global-styles/screen-typography.js +6 -20
  361. package/src/components/global-styles/style-variations-container.js +2 -1
  362. package/src/components/global-styles/style.scss +15 -10
  363. package/src/components/global-styles/typography-elements.js +5 -1
  364. package/src/components/global-styles/{preview-typography.js → typography-example.js} +3 -1
  365. package/src/components/global-styles/typography-preview.js +3 -1
  366. package/src/components/global-styles/ui.js +5 -0
  367. package/src/components/global-styles/utils.js +1 -1
  368. package/src/components/global-styles/variations/style.scss +32 -23
  369. package/src/components/global-styles/variations/variations-color.js +12 -6
  370. package/src/components/global-styles/variations/variations-typography.js +41 -60
  371. package/src/components/header-edit-mode/index.js +1 -0
  372. package/src/components/header-edit-mode/style.scss +28 -17
  373. package/src/components/keyboard-shortcut-help-modal/config.js +4 -0
  374. package/src/components/keyboard-shortcut-help-modal/index.js +4 -0
  375. package/src/components/keyboard-shortcuts/global.js +16 -4
  376. package/src/components/layout/animation.js +122 -0
  377. package/src/components/layout/index.js +12 -27
  378. package/src/components/layout/router.js +26 -25
  379. package/src/components/layout/style.scss +2 -0
  380. package/src/components/page-pages/index.js +33 -54
  381. package/src/components/page-patterns/delete-category-menu-item.js +7 -0
  382. package/src/components/page-patterns/index.js +22 -31
  383. package/src/components/page-patterns/search-items.js +13 -58
  384. package/src/components/page-patterns/use-patterns.js +17 -10
  385. package/src/components/page-templates-template-parts/actions.js +106 -91
  386. package/src/components/page-templates-template-parts/index.js +41 -93
  387. package/src/components/page-templates-template-parts/style.scss +5 -0
  388. package/src/components/plugin-template-setting-panel/index.js +14 -1
  389. package/src/components/save-button/index.js +55 -26
  390. package/src/components/save-hub/index.js +20 -164
  391. package/src/components/save-panel/index.js +24 -17
  392. package/src/components/sidebar/index.js +2 -8
  393. package/src/components/sidebar-dataviews/custom-dataviews-list.js +2 -2
  394. package/src/components/sidebar-dataviews/dataview-item.js +2 -2
  395. package/src/components/sidebar-dataviews/default-views.js +12 -4
  396. package/src/components/sidebar-dataviews/index.js +5 -4
  397. package/src/components/sidebar-edit-mode/index.js +0 -2
  398. package/src/components/sidebar-edit-mode/page-panels/index.js +31 -62
  399. package/src/components/sidebar-edit-mode/page-panels/page-content.js +10 -10
  400. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -0
  401. package/src/components/sidebar-edit-mode/template-panel/index.js +33 -24
  402. package/src/components/sidebar-edit-mode/template-panel/style.scss +1 -29
  403. package/src/components/sidebar-navigation-screen/style.scss +21 -9
  404. package/src/components/sidebar-navigation-screen-details-footer/index.js +6 -2
  405. package/src/components/sidebar-navigation-screen-global-styles/index.js +29 -2
  406. package/src/components/sidebar-navigation-screen-navigation-menu/{delete-modal.js → delete-confirm-dialog.js} +2 -3
  407. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +11 -9
  408. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +6 -3
  409. package/src/components/sidebar-navigation-screen-patterns/index.js +0 -7
  410. package/src/components/sidebar-navigation-screen-template/index.js +6 -1
  411. package/src/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  412. package/src/components/style-book/index.js +1 -3
  413. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -3
  414. package/src/components/sync-state-with-url/use-sync-path-with-url.js +3 -19
  415. package/src/components/template-actions/index.js +63 -46
  416. package/src/components/welcome-guide/editor.js +9 -6
  417. package/src/hooks/index.js +0 -1
  418. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +21 -4
  419. package/src/store/selectors.js +3 -15
  420. package/src/style.scss +0 -2
  421. package/src/utils/constants.js +4 -2
  422. package/src/utils/get-is-list-page.js +1 -1
  423. package/src/utils/math.js +93 -0
  424. package/build/components/actions/index.js +0 -321
  425. package/build/components/actions/index.js.map +0 -1
  426. package/build/components/global-styles/preview-typography.js.map +0 -1
  427. package/build/components/sidebar-edit-mode/sidebar-card/index.js +0 -42
  428. package/build/components/sidebar-edit-mode/sidebar-card/index.js.map +0 -1
  429. package/build/components/sidebar-edit-mode/template-panel/template-actions.js +0 -50
  430. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +0 -1
  431. package/build/components/sidebar-edit-mode/template-panel/template-areas.js +0 -70
  432. package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +0 -1
  433. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +0 -1
  434. package/build/components/sidebar-navigation-screen-pages/index.js +0 -175
  435. package/build/components/sidebar-navigation-screen-pages/index.js.map +0 -1
  436. package/build/components/sidebar-navigation-screen-templates/index.js +0 -132
  437. package/build/components/sidebar-navigation-screen-templates/index.js.map +0 -1
  438. package/build/hooks/template-part-edit.js +0 -82
  439. package/build/hooks/template-part-edit.js.map +0 -1
  440. package/build/store/utils.js +0 -71
  441. package/build/store/utils.js.map +0 -1
  442. package/build-module/components/actions/index.js +0 -310
  443. package/build-module/components/actions/index.js.map +0 -1
  444. package/build-module/components/global-styles/preview-typography.js.map +0 -1
  445. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js +0 -34
  446. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js.map +0 -1
  447. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +0 -42
  448. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +0 -1
  449. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js +0 -63
  450. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +0 -1
  451. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +0 -1
  452. package/build-module/components/sidebar-navigation-screen-pages/index.js +0 -167
  453. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +0 -1
  454. package/build-module/components/sidebar-navigation-screen-templates/index.js +0 -124
  455. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +0 -1
  456. package/build-module/hooks/template-part-edit.js +0 -75
  457. package/build-module/hooks/template-part-edit.js.map +0 -1
  458. package/build-module/store/utils.js +0 -64
  459. package/build-module/store/utils.js.map +0 -1
  460. package/src/components/actions/index.js +0 -411
  461. package/src/components/sidebar-edit-mode/sidebar-card/index.js +0 -34
  462. package/src/components/sidebar-edit-mode/sidebar-card/style.scss +0 -37
  463. package/src/components/sidebar-edit-mode/template-panel/template-actions.js +0 -49
  464. package/src/components/sidebar-edit-mode/template-panel/template-areas.js +0 -86
  465. package/src/components/sidebar-navigation-screen-pages/index.js +0 -238
  466. package/src/components/sidebar-navigation-screen-templates/index.js +0 -156
  467. package/src/components/sidebar-navigation-screen-templates/style.scss +0 -9
  468. package/src/hooks/template-part-edit.js +0 -89
  469. package/src/store/test/utils.js +0 -191
  470. package/src/store/utils.js +0 -69
@@ -18,10 +18,11 @@ import {
18
18
  TEMPLATE_PART_POST_TYPE,
19
19
  } from '../../utils/constants';
20
20
 
21
- const { useLocation } = unlock( routerPrivateApis );
21
+ const { useLocation, useHistory } = unlock( routerPrivateApis );
22
22
 
23
23
  export default function useLayoutAreas() {
24
24
  const isSiteEditorLoading = useIsSiteEditorLoading();
25
+ const history = useHistory();
25
26
  const { params } = useLocation();
26
27
  const { postType, postId, path, layout, isCustom, canvas } = params ?? {};
27
28
 
@@ -30,36 +31,29 @@ export default function useLayoutAreas() {
30
31
 
31
32
  // Regular page
32
33
  if ( path === '/page' ) {
34
+ const isListLayout = layout === 'list' || ! layout;
33
35
  return {
36
+ key: 'pages-list',
34
37
  areas: {
35
- content: undefined,
36
- preview: <Editor isLoading={ isSiteEditorLoading } />,
38
+ content: <PagePages />,
39
+ preview: isListLayout && (
40
+ <Editor
41
+ isLoading={ isSiteEditorLoading }
42
+ onClick={ () =>
43
+ history.push( {
44
+ path,
45
+ postType: 'page',
46
+ postId,
47
+ canvas: 'edit',
48
+ } )
49
+ }
50
+ />
51
+ ),
37
52
  mobile:
38
53
  canvas === 'edit' ? (
39
54
  <Editor isLoading={ isSiteEditorLoading } />
40
55
  ) : undefined,
41
56
  },
42
- widths: {
43
- content: undefined,
44
- },
45
- };
46
- }
47
-
48
- // List layout is still experimental.
49
- // Extracted it here out of the conditionals so it doesn't unintentionally becomes stable.
50
- const isListLayout =
51
- isCustom !== 'true' &&
52
- layout === 'list' &&
53
- window?.__experimentalAdminViews;
54
-
55
- if ( path === '/pages' ) {
56
- return {
57
- areas: {
58
- content: <PagePages />,
59
- preview: isListLayout && (
60
- <Editor isLoading={ isSiteEditorLoading } />
61
- ),
62
- },
63
57
  widths: {
64
58
  content: isListLayout ? 380 : undefined,
65
59
  },
@@ -69,6 +63,7 @@ export default function useLayoutAreas() {
69
63
  // Regular other post types
70
64
  if ( postType && postId ) {
71
65
  return {
66
+ key: 'page',
72
67
  areas: {
73
68
  preview: <Editor isLoading={ isSiteEditorLoading } />,
74
69
  mobile:
@@ -80,8 +75,10 @@ export default function useLayoutAreas() {
80
75
  }
81
76
 
82
77
  // Templates
83
- if ( path === '/wp_template/all' ) {
78
+ if ( path === '/wp_template' ) {
79
+ const isListLayout = isCustom !== 'true' && layout === 'list';
84
80
  return {
81
+ key: 'templates-list',
85
82
  areas: {
86
83
  content: (
87
84
  <PageTemplatesTemplateParts
@@ -105,7 +102,9 @@ export default function useLayoutAreas() {
105
102
 
106
103
  // Template parts
107
104
  if ( path === '/wp_template_part/all' ) {
105
+ const isListLayout = isCustom !== 'true' && layout === 'list';
108
106
  return {
107
+ key: 'template-parts',
109
108
  areas: {
110
109
  content: (
111
110
  <PageTemplatesTemplateParts
@@ -130,6 +129,7 @@ export default function useLayoutAreas() {
130
129
  // Patterns
131
130
  if ( path === '/patterns' ) {
132
131
  return {
132
+ key: 'patterns',
133
133
  areas: {
134
134
  content: <PagePatterns />,
135
135
  mobile: <PagePatterns />,
@@ -139,6 +139,7 @@ export default function useLayoutAreas() {
139
139
 
140
140
  // Fallback shows the home page preview
141
141
  return {
142
+ key: 'default',
142
143
  areas: {
143
144
  preview: <Editor isLoading={ isSiteEditorLoading } />,
144
145
  mobile:
@@ -93,6 +93,8 @@
93
93
  position: relative;
94
94
  flex-grow: 1;
95
95
  z-index: z-index(".edit-site-layout__canvas-container");
96
+ // When animating the frame size can exceed its container size.
97
+ overflow: visible;
96
98
 
97
99
  &.is-resizing::after {
98
100
  // This covers the whole content which ensures mouse up triggers
@@ -15,6 +15,7 @@ import { dateI18n, getDate, getSettings } from '@wordpress/date';
15
15
  import { privateApis as routerPrivateApis } from '@wordpress/router';
16
16
  import { useSelect, useDispatch } from '@wordpress/data';
17
17
  import { DataViews } from '@wordpress/dataviews';
18
+ import { privateApis as editorPrivateApis } from '@wordpress/editor';
18
19
 
19
20
  /**
20
21
  * Internal dependencies
@@ -30,28 +31,19 @@ import {
30
31
  LAYOUT_GRID,
31
32
  LAYOUT_TABLE,
32
33
  LAYOUT_LIST,
33
- OPERATOR_IN,
34
- OPERATOR_NOT_IN,
34
+ OPERATOR_IS_ANY,
35
+ OPERATOR_IS_NONE,
35
36
  } from '../../utils/constants';
36
37
 
37
- import {
38
- trashPostAction,
39
- usePermanentlyDeletePostAction,
40
- useRestorePostAction,
41
- postRevisionsAction,
42
- viewPostAction,
43
- useEditPostAction,
44
- } from '../actions';
45
38
  import AddNewPageModal from '../add-new-page';
46
39
  import Media from '../media';
47
40
  import { unlock } from '../../lock-unlock';
48
41
 
42
+ const { usePostActions } = unlock( editorPrivateApis );
43
+
49
44
  const { useLocation, useHistory } = unlock( routerPrivateApis );
50
45
 
51
46
  const EMPTY_ARRAY = [];
52
- const SUPPORTED_LAYOUTS = window?.__experimentalAdminViews
53
- ? [ LAYOUT_GRID, LAYOUT_TABLE, LAYOUT_LIST ]
54
- : [ LAYOUT_GRID, LAYOUT_TABLE ];
55
47
 
56
48
  function useView( postType ) {
57
49
  const { params } = useLocation();
@@ -222,18 +214,18 @@ export default function PagePages() {
222
214
  view.filters.forEach( ( filter ) => {
223
215
  if (
224
216
  filter.field === 'status' &&
225
- filter.operator === OPERATOR_IN
217
+ filter.operator === OPERATOR_IS_ANY
226
218
  ) {
227
219
  filters.status = filter.value;
228
220
  }
229
221
  if (
230
222
  filter.field === 'author' &&
231
- filter.operator === OPERATOR_IN
223
+ filter.operator === OPERATOR_IS_ANY
232
224
  ) {
233
225
  filters.author = filter.value;
234
226
  } else if (
235
227
  filter.field === 'author' &&
236
- filter.operator === OPERATOR_NOT_IN
228
+ filter.operator === OPERATOR_IS_NONE
237
229
  ) {
238
230
  filters.author_exclude = filter.value;
239
231
  }
@@ -331,13 +323,12 @@ export default function PagePages() {
331
323
  elements: STATUSES,
332
324
  enableSorting: false,
333
325
  filterBy: {
334
- operators: [ OPERATOR_IN ],
326
+ operators: [ OPERATOR_IS_ANY ],
335
327
  },
336
328
  },
337
329
  {
338
330
  header: __( 'Date' ),
339
331
  id: 'date',
340
- getValue: ( { item } ) => item.date,
341
332
  render: ( { item } ) => {
342
333
  const formattedDate = dateI18n(
343
334
  getSettings().formats.datetimeAbbreviated,
@@ -349,21 +340,20 @@ export default function PagePages() {
349
340
  ],
350
341
  [ authors, view.type ]
351
342
  );
352
-
353
- const permanentlyDeletePostAction = usePermanentlyDeletePostAction();
354
- const restorePostAction = useRestorePostAction();
355
- const editPostAction = useEditPostAction();
356
- const actions = useMemo(
357
- () => [
358
- viewPostAction,
359
- trashPostAction,
360
- restorePostAction,
361
- permanentlyDeletePostAction,
362
- editPostAction,
363
- postRevisionsAction,
364
- ],
365
- [ permanentlyDeletePostAction, restorePostAction, editPostAction ]
343
+ const onActionPerformed = useCallback(
344
+ ( actionId, items ) => {
345
+ if ( actionId === 'edit-post' ) {
346
+ const post = items[ 0 ];
347
+ history.push( {
348
+ postId: post.id,
349
+ postType: post.type,
350
+ canvas: 'edit',
351
+ } );
352
+ }
353
+ },
354
+ [ history ]
366
355
  );
356
+ const actions = usePostActions( onActionPerformed );
367
357
  const onChangeView = useCallback(
368
358
  ( newView ) => {
369
359
  if ( newView.type !== view.type ) {
@@ -381,27 +371,17 @@ export default function PagePages() {
381
371
  );
382
372
 
383
373
  const [ showAddPageModal, setShowAddPageModal ] = useState( false );
384
- const openModal = useCallback( () => {
385
- if ( ! showAddPageModal ) {
386
- setShowAddPageModal( true );
387
- }
388
- }, [ showAddPageModal ] );
389
- const closeModal = useCallback( () => {
390
- if ( showAddPageModal ) {
391
- setShowAddPageModal( false );
392
- }
393
- }, [ showAddPageModal ] );
394
- const handleNewPage = useCallback(
395
- ( { type, id } ) => {
396
- history.push( {
397
- postId: id,
398
- postType: type,
399
- canvas: 'edit',
400
- } );
401
- closeModal();
402
- },
403
- [ history ]
404
- );
374
+
375
+ const openModal = () => setShowAddPageModal( true );
376
+ const closeModal = () => setShowAddPageModal( false );
377
+ const handleNewPage = ( { type, id } ) => {
378
+ history.push( {
379
+ postId: id,
380
+ postType: type,
381
+ canvas: 'edit',
382
+ } );
383
+ closeModal();
384
+ };
405
385
 
406
386
  // TODO: we need to handle properly `data={ data || EMPTY_ARRAY }` for when `isLoading`.
407
387
  return (
@@ -430,7 +410,6 @@ export default function PagePages() {
430
410
  view={ view }
431
411
  onChangeView={ onChangeView }
432
412
  onSelectionChange={ onSelectionChange }
433
- supportedLayouts={ SUPPORTED_LAYOUTS }
434
413
  />
435
414
  </Page>
436
415
  );
@@ -90,6 +90,13 @@ export default function DeleteCategoryMenuItem( { category, onClose } ) {
90
90
  onCancel={ () => setIsModalOpen( false ) }
91
91
  confirmButtonText={ __( 'Delete' ) }
92
92
  className="edit-site-patterns__delete-modal"
93
+ title={ sprintf(
94
+ // translators: %s: The pattern category's name.
95
+ __( 'Delete "%s"?' ),
96
+ decodeEntities( category.label )
97
+ ) }
98
+ size="medium"
99
+ __experimentalHideHeader={ false }
93
100
  >
94
101
  { sprintf(
95
102
  // translators: %s: The pattern category's name.
@@ -20,11 +20,7 @@ import {
20
20
  BlockPreview,
21
21
  privateApis as blockEditorPrivateApis,
22
22
  } from '@wordpress/block-editor';
23
- import {
24
- DataViews,
25
- sortByTextFields,
26
- getPaginationResults,
27
- } from '@wordpress/dataviews';
23
+ import { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';
28
24
  import {
29
25
  Icon,
30
26
  header,
@@ -41,12 +37,13 @@ import { usePrevious } from '@wordpress/compose';
41
37
  import Page from '../page';
42
38
  import {
43
39
  LAYOUT_GRID,
40
+ LAYOUT_TABLE,
44
41
  PATTERN_TYPES,
45
42
  TEMPLATE_PART_POST_TYPE,
46
43
  PATTERN_SYNC_TYPES,
47
44
  PATTERN_DEFAULT_CATEGORY,
48
45
  ENUMERATION_TYPE,
49
- OPERATOR_IN,
46
+ OPERATOR_IS,
50
47
  } from '../../utils/constants';
51
48
  import {
52
49
  exportJSONaction,
@@ -69,6 +66,9 @@ const { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(
69
66
  const templatePartIcons = { header, footer, uncategorized };
70
67
  const EMPTY_ARRAY = [];
71
68
  const defaultConfigPerViewType = {
69
+ [ LAYOUT_TABLE ]: {
70
+ primaryField: 'title',
71
+ },
72
72
  [ LAYOUT_GRID ]: {
73
73
  mediaField: 'preview',
74
74
  primaryField: 'title',
@@ -151,6 +151,7 @@ function Preview( { item, categoryId, viewType } ) {
151
151
  postId: isUserPattern ? item.id : item.name,
152
152
  categoryId,
153
153
  categoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme,
154
+ canvas: 'edit',
154
155
  } );
155
156
 
156
157
  return (
@@ -175,7 +176,12 @@ function Preview( { item, categoryId, viewType } ) {
175
176
  >
176
177
  { isEmpty && isTemplatePart && __( 'Empty template part' ) }
177
178
  { isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }
178
- { ! isEmpty && <BlockPreview blocks={ item.blocks } /> }
179
+ { ! isEmpty && (
180
+ <BlockPreview
181
+ blocks={ item.blocks }
182
+ viewportWidth={ item.viewportWidth }
183
+ />
184
+ ) }
179
185
  </PreviewWrapper>
180
186
  </div>
181
187
  { ariaDescriptions.map( ( ariaDescription, index ) => (
@@ -201,6 +207,7 @@ function Title( { item, categoryId } ) {
201
207
  postId: isUserPattern ? item.id : item.name,
202
208
  categoryId,
203
209
  categoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme,
210
+ canvas: 'edit',
204
211
  } );
205
212
  if ( ! isUserPattern && templatePartIcons[ categoryId ] ) {
206
213
  itemIcon = templatePartIcons[ categoryId ];
@@ -296,7 +303,6 @@ export default function DataviewsPatterns() {
296
303
  {
297
304
  header: __( 'Title' ),
298
305
  id: 'title',
299
- getValue: ( { item } ) => item.title,
300
306
  render: ( { item } ) => (
301
307
  <Title item={ item } categoryId={ categoryId } />
302
308
  ),
@@ -323,7 +329,7 @@ export default function DataviewsPatterns() {
323
329
  type: ENUMERATION_TYPE,
324
330
  elements: SYNC_FILTERS,
325
331
  filterBy: {
326
- operators: [ OPERATOR_IN ],
332
+ operators: [ OPERATOR_IS ],
327
333
  isPrimary: true,
328
334
  },
329
335
  enableSorting: false,
@@ -338,27 +344,12 @@ export default function DataviewsPatterns() {
338
344
  }
339
345
  }, [ categoryId, previousCategoryId ] );
340
346
  const { data, paginationInfo } = useMemo( () => {
341
- if ( ! patterns ) {
342
- return {
343
- data: EMPTY_ARRAY,
344
- paginationInfo: { totalItems: 0, totalPages: 0 },
345
- };
346
- }
347
- let filteredData = [ ...patterns ];
348
- // Handle sorting.
349
- if ( view.sort ) {
350
- filteredData = sortByTextFields( {
351
- data: filteredData,
352
- view,
353
- fields,
354
- textFields: [ 'title', 'author' ],
355
- } );
356
- }
357
- // Handle pagination.
358
- return getPaginationResults( {
359
- data: filteredData,
360
- view,
361
- } );
347
+ // Since filters are applied server-side,
348
+ // we need to remove them from the view
349
+ const viewWithoutFilters = { ...view };
350
+ delete viewWithoutFilters.search;
351
+ viewWithoutFilters.filters = [];
352
+ return filterSortAndPaginate( patterns, viewWithoutFilters, fields );
362
353
  }, [ patterns, view, fields ] );
363
354
 
364
355
  const actions = useMemo(
@@ -414,7 +405,7 @@ export default function DataviewsPatterns() {
414
405
  view={ view }
415
406
  onChangeView={ onChangeView }
416
407
  deferredRendering
417
- supportedLayouts={ [ LAYOUT_GRID ] }
408
+ supportedLayouts={ [ LAYOUT_GRID, LAYOUT_TABLE ] }
418
409
  />
419
410
  </Page>
420
411
  </ExperimentalBlockEditorProvider>
@@ -1,8 +1,16 @@
1
1
  /**
2
- * External dependencies
2
+ * WordPress dependencies
3
3
  */
4
- import removeAccents from 'remove-accents';
5
- import { noCase } from 'change-case';
4
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { unlock } from '../../lock-unlock';
10
+
11
+ const { extractWords, getNormalizedSearchTerms, normalizeString } = unlock(
12
+ blockEditorPrivateApis
13
+ );
6
14
 
7
15
  /**
8
16
  * Internal dependencies
@@ -20,59 +28,6 @@ const defaultGetDescription = ( item ) => item.description || '';
20
28
  const defaultGetKeywords = ( item ) => item.keywords || [];
21
29
  const defaultHasCategory = () => false;
22
30
 
23
- /**
24
- * Extracts words from an input string.
25
- *
26
- * @param {string} input The input string.
27
- *
28
- * @return {Array} Words, extracted from the input string.
29
- */
30
- function extractWords( input = '' ) {
31
- return noCase( input, {
32
- splitRegexp: [
33
- /([\p{Ll}\p{Lo}\p{N}])([\p{Lu}\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.
34
- /([\p{Lu}\p{Lt}])([\p{Lu}\p{Lt}][\p{Ll}\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.
35
- ],
36
- stripRegexp: /(\p{C}|\p{P}|\p{S})+/giu, // Anything that's not a punctuation, symbol or control/format character.
37
- } )
38
- .split( ' ' )
39
- .filter( Boolean );
40
- }
41
-
42
- /**
43
- * Sanitizes the search input string.
44
- *
45
- * @param {string} input The search input to normalize.
46
- *
47
- * @return {string} The normalized search input.
48
- */
49
- function normalizeSearchInput( input = '' ) {
50
- // Disregard diacritics.
51
- // Input: "média"
52
- input = removeAccents( input );
53
-
54
- // Accommodate leading slash, matching autocomplete expectations.
55
- // Input: "/media"
56
- input = input.replace( /^\//, '' );
57
-
58
- // Lowercase.
59
- // Input: "MEDIA"
60
- input = input.toLowerCase();
61
-
62
- return input;
63
- }
64
-
65
- /**
66
- * Converts the search term into a list of normalized terms.
67
- *
68
- * @param {string} input The search term to normalize.
69
- *
70
- * @return {string[]} The normalized list of search terms.
71
- */
72
- export const getNormalizedSearchTerms = ( input = '' ) => {
73
- return extractWords( normalizeSearchInput( input ) );
74
- };
75
-
76
31
  const removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {
77
32
  return unmatchedTerms.filter(
78
33
  ( term ) =>
@@ -162,8 +117,8 @@ function getItemSearchRank( item, searchTerm, config ) {
162
117
  const description = getDescription( item );
163
118
  const keywords = getKeywords( item );
164
119
 
165
- const normalizedSearchInput = normalizeSearchInput( searchTerm );
166
- const normalizedTitle = normalizeSearchInput( title );
120
+ const normalizedSearchInput = normalizeString( searchTerm );
121
+ const normalizedTitle = normalizeString( title );
167
122
 
168
123
  // Prefers exact matches
169
124
  // Then prefers if the beginning of the title matches the search term
@@ -50,7 +50,8 @@ const templatePartToPattern = ( templatePart ) => ( {
50
50
 
51
51
  const selectTemplatePartsAsPatterns = createSelector(
52
52
  ( select, categoryId, search = '' ) => {
53
- const { getEntityRecords, getIsResolving } = select( coreStore );
53
+ const { getEntityRecords, isResolving: isResolvingSelector } =
54
+ select( coreStore );
54
55
  const { __experimentalGetDefaultTemplatePartAreas } =
55
56
  select( editorStore );
56
57
  const query = { per_page: -1 };
@@ -78,7 +79,7 @@ const selectTemplatePartsAsPatterns = createSelector(
78
79
  );
79
80
  };
80
81
 
81
- const isResolving = getIsResolving( 'getEntityRecords', [
82
+ const isResolving = isResolvingSelector( 'getEntityRecords', [
82
83
  'postType',
83
84
  TEMPLATE_PART_POST_TYPE,
84
85
  query,
@@ -99,7 +100,7 @@ const selectTemplatePartsAsPatterns = createSelector(
99
100
  per_page: -1,
100
101
  }
101
102
  ),
102
- select( coreStore ).getIsResolving( 'getEntityRecords', [
103
+ select( coreStore ).isResolving( 'getEntityRecords', [
103
104
  'postType',
104
105
  TEMPLATE_PART_POST_TYPE,
105
106
  { per_page: -1 },
@@ -111,7 +112,7 @@ const selectTemplatePartsAsPatterns = createSelector(
111
112
  const selectThemePatterns = createSelector(
112
113
  ( select ) => {
113
114
  const { getSettings } = unlock( select( editSiteStore ) );
114
- const { getIsResolving } = select( coreStore );
115
+ const { isResolving: isResolvingSelector } = select( coreStore );
115
116
  const settings = getSettings();
116
117
  const blockPatterns =
117
118
  settings.__experimentalAdditionalBlockPatterns ??
@@ -137,11 +138,14 @@ const selectThemePatterns = createSelector(
137
138
  __unstableSkipMigrationLogs: true,
138
139
  } ),
139
140
  } ) );
140
- return { patterns, isResolving: getIsResolving( 'getBlockPatterns' ) };
141
+ return {
142
+ patterns,
143
+ isResolving: isResolvingSelector( 'getBlockPatterns' ),
144
+ };
141
145
  },
142
146
  ( select ) => [
143
147
  select( coreStore ).getBlockPatterns(),
144
- select( coreStore ).getIsResolving( 'getBlockPatterns' ),
148
+ select( coreStore ).isResolving( 'getBlockPatterns' ),
145
149
  unlock( select( editSiteStore ) ).getSettings(),
146
150
  ]
147
151
  );
@@ -228,8 +232,11 @@ const convertPatternPostToItem = ( patternPost, categories ) => ( {
228
232
 
229
233
  const selectUserPatterns = createSelector(
230
234
  ( select, syncStatus, search = '' ) => {
231
- const { getEntityRecords, getIsResolving, getUserPatternCategories } =
232
- select( coreStore );
235
+ const {
236
+ getEntityRecords,
237
+ isResolving: isResolvingSelector,
238
+ getUserPatternCategories,
239
+ } = select( coreStore );
233
240
 
234
241
  const query = { per_page: -1 };
235
242
  const patternPosts = getEntityRecords(
@@ -248,7 +255,7 @@ const selectUserPatterns = createSelector(
248
255
  )
249
256
  : EMPTY_PATTERN_LIST;
250
257
 
251
- const isResolving = getIsResolving( 'getEntityRecords', [
258
+ const isResolving = isResolvingSelector( 'getEntityRecords', [
252
259
  'postType',
253
260
  PATTERN_TYPES.user,
254
261
  query,
@@ -277,7 +284,7 @@ const selectUserPatterns = createSelector(
277
284
  select( coreStore ).getEntityRecords( 'postType', PATTERN_TYPES.user, {
278
285
  per_page: -1,
279
286
  } ),
280
- select( coreStore ).getIsResolving( 'getEntityRecords', [
287
+ select( coreStore ).isResolving( 'getEntityRecords', [
281
288
  'postType',
282
289
  PATTERN_TYPES.user,
283
290
  { per_page: -1 },