@wordpress/edit-site 5.24.0 → 5.25.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 (347) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-template/add-custom-template-modal-content.js +2 -3
  3. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  4. package/build/components/block-editor/editor-canvas.js +48 -23
  5. package/build/components/block-editor/editor-canvas.js.map +1 -1
  6. package/build/components/block-editor/site-editor-canvas.js +5 -54
  7. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  8. package/build/components/block-editor/use-site-editor-settings.js +14 -5
  9. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  10. package/build/components/editor/index.js +6 -17
  11. package/build/components/editor/index.js.map +1 -1
  12. package/build/components/global-styles/font-library-modal/collection-font-variant.js +8 -7
  13. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/context.js +1 -1
  15. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  16. package/build/components/global-styles/font-library-modal/library-font-variant.js +8 -7
  17. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  18. package/build/components/global-styles/screen-revisions/get-revision-changes.js +146 -0
  19. package/build/components/global-styles/screen-revisions/get-revision-changes.js.map +1 -0
  20. package/build/components/global-styles/screen-revisions/index.js +6 -10
  21. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  22. package/build/components/global-styles/screen-revisions/revisions-buttons.js +63 -13
  23. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  24. package/build/components/header-edit-mode/document-tools/index.js +17 -10
  25. package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
  26. package/build/components/header-edit-mode/index.js +16 -38
  27. package/build/components/header-edit-mode/index.js.map +1 -1
  28. package/build/components/header-edit-mode/more-menu/index.js +11 -9
  29. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  30. package/build/components/layout/index.js +9 -8
  31. package/build/components/layout/index.js.map +1 -1
  32. package/build/components/page/header.js +2 -1
  33. package/build/components/page/header.js.map +1 -1
  34. package/build/components/page-pages/index.js +31 -28
  35. package/build/components/page-pages/index.js.map +1 -1
  36. package/build/components/page-patterns/patterns-list.js +1 -2
  37. package/build/components/page-patterns/patterns-list.js.map +1 -1
  38. package/build/components/page-patterns/rename-menu-item.js +3 -0
  39. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  40. package/build/components/page-templates/dataviews-templates.js +18 -17
  41. package/build/components/page-templates/dataviews-templates.js.map +1 -1
  42. package/build/components/preferences-modal/index.js +36 -20
  43. package/build/components/preferences-modal/index.js.map +1 -1
  44. package/build/components/routes/use-title.js +3 -4
  45. package/build/components/routes/use-title.js.map +1 -1
  46. package/build/components/save-button/index.js +2 -1
  47. package/build/components/save-button/index.js.map +1 -1
  48. package/build/components/sidebar/index.js +26 -12
  49. package/build/components/sidebar/index.js.map +1 -1
  50. package/build/components/sidebar-dataviews/dataview-item.js +2 -10
  51. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  52. package/build/components/sidebar-dataviews/default-views.js +2 -2
  53. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  54. package/build/components/sidebar-edit-mode/page-panels/index.js +9 -3
  55. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  56. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +1 -2
  57. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  58. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -0
  59. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  60. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  61. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  62. package/build/components/sidebar-navigation-screen-template/home-template-details.js +3 -89
  63. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  64. package/build/components/sidebar-navigation-screen-template/index.js +2 -1
  65. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  66. package/build/components/sidebar-navigation-screen-template/template-areas.js +117 -0
  67. package/build/components/sidebar-navigation-screen-template/template-areas.js.map +1 -0
  68. package/build/components/site-hub/index.js +6 -3
  69. package/build/components/site-hub/index.js.map +1 -1
  70. package/build/components/template-actions/rename-menu-item.js +3 -0
  71. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  72. package/build/components/welcome-guide/styles.js +1 -1
  73. package/build/components/welcome-guide/styles.js.map +1 -1
  74. package/build/hooks/commands/use-common-commands.js +9 -1
  75. package/build/hooks/commands/use-common-commands.js.map +1 -1
  76. package/build/hooks/navigation-menu-edit.js +1 -1
  77. package/build/hooks/navigation-menu-edit.js.map +1 -1
  78. package/build/hooks/template-part-edit.js +1 -1
  79. package/build/hooks/template-part-edit.js.map +1 -1
  80. package/build/store/actions.js +15 -8
  81. package/build/store/actions.js.map +1 -1
  82. package/build/store/reducer.js +0 -18
  83. package/build/store/reducer.js.map +1 -1
  84. package/build/store/selectors.js +12 -6
  85. package/build/store/selectors.js.map +1 -1
  86. package/build/utils/constants.js +15 -1
  87. package/build/utils/constants.js.map +1 -1
  88. package/build-module/components/add-new-template/add-custom-template-modal-content.js +1 -1
  89. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  90. package/build-module/components/block-editor/editor-canvas.js +50 -25
  91. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  92. package/build-module/components/block-editor/site-editor-canvas.js +8 -56
  93. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  94. package/build-module/components/block-editor/use-site-editor-settings.js +14 -5
  95. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  96. package/build-module/components/editor/index.js +9 -20
  97. package/build-module/components/editor/index.js.map +1 -1
  98. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +9 -7
  99. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  100. package/build-module/components/global-styles/font-library-modal/context.js +1 -1
  101. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  102. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +9 -7
  103. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  104. package/build-module/components/global-styles/screen-revisions/get-revision-changes.js +139 -0
  105. package/build-module/components/global-styles/screen-revisions/get-revision-changes.js.map +1 -0
  106. package/build-module/components/global-styles/screen-revisions/index.js +7 -11
  107. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  108. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +64 -14
  109. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  110. package/build-module/components/header-edit-mode/document-tools/index.js +17 -10
  111. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
  112. package/build-module/components/header-edit-mode/index.js +20 -42
  113. package/build-module/components/header-edit-mode/index.js.map +1 -1
  114. package/build-module/components/header-edit-mode/more-menu/index.js +12 -10
  115. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  116. package/build-module/components/layout/index.js +9 -8
  117. package/build-module/components/layout/index.js.map +1 -1
  118. package/build-module/components/page/header.js +2 -1
  119. package/build-module/components/page/header.js.map +1 -1
  120. package/build-module/components/page-pages/index.js +31 -28
  121. package/build-module/components/page-pages/index.js.map +1 -1
  122. package/build-module/components/page-patterns/patterns-list.js +1 -2
  123. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  124. package/build-module/components/page-patterns/rename-menu-item.js +3 -0
  125. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  126. package/build-module/components/page-templates/dataviews-templates.js +18 -17
  127. package/build-module/components/page-templates/dataviews-templates.js.map +1 -1
  128. package/build-module/components/preferences-modal/index.js +37 -21
  129. package/build-module/components/preferences-modal/index.js.map +1 -1
  130. package/build-module/components/routes/use-title.js +3 -4
  131. package/build-module/components/routes/use-title.js.map +1 -1
  132. package/build-module/components/save-button/index.js +2 -1
  133. package/build-module/components/save-button/index.js.map +1 -1
  134. package/build-module/components/sidebar/index.js +26 -12
  135. package/build-module/components/sidebar/index.js.map +1 -1
  136. package/build-module/components/sidebar-dataviews/dataview-item.js +2 -10
  137. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  138. package/build-module/components/sidebar-dataviews/default-views.js +2 -2
  139. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  140. package/build-module/components/sidebar-edit-mode/page-panels/index.js +9 -3
  141. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  142. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -3
  143. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  144. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -0
  145. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  146. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  147. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  148. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +5 -90
  149. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  150. package/build-module/components/sidebar-navigation-screen-template/index.js +2 -1
  151. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  152. package/build-module/components/sidebar-navigation-screen-template/template-areas.js +109 -0
  153. package/build-module/components/sidebar-navigation-screen-template/template-areas.js.map +1 -0
  154. package/build-module/components/site-hub/index.js +6 -3
  155. package/build-module/components/site-hub/index.js.map +1 -1
  156. package/build-module/components/template-actions/rename-menu-item.js +3 -0
  157. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  158. package/build-module/components/welcome-guide/styles.js +1 -1
  159. package/build-module/components/welcome-guide/styles.js.map +1 -1
  160. package/build-module/hooks/commands/use-common-commands.js +9 -1
  161. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  162. package/build-module/hooks/navigation-menu-edit.js +1 -1
  163. package/build-module/hooks/navigation-menu-edit.js.map +1 -1
  164. package/build-module/hooks/template-part-edit.js +1 -1
  165. package/build-module/hooks/template-part-edit.js.map +1 -1
  166. package/build-module/store/actions.js +13 -6
  167. package/build-module/store/actions.js.map +1 -1
  168. package/build-module/store/reducer.js +0 -17
  169. package/build-module/store/reducer.js.map +1 -1
  170. package/build-module/store/selectors.js +10 -3
  171. package/build-module/store/selectors.js.map +1 -1
  172. package/build-module/utils/constants.js +8 -0
  173. package/build-module/utils/constants.js.map +1 -1
  174. package/build-style/style-rtl.css +302 -354
  175. package/build-style/style.css +302 -354
  176. package/package.json +42 -42
  177. package/src/components/add-new-template/add-custom-template-modal-content.js +1 -1
  178. package/src/components/block-editor/editor-canvas.js +63 -47
  179. package/src/components/block-editor/site-editor-canvas.js +32 -96
  180. package/src/components/block-editor/style.scss +6 -12
  181. package/src/components/block-editor/use-site-editor-settings.js +47 -36
  182. package/src/components/editor/index.js +10 -16
  183. package/src/components/global-styles/font-library-modal/collection-font-variant.js +12 -6
  184. package/src/components/global-styles/font-library-modal/context.js +1 -1
  185. package/src/components/global-styles/font-library-modal/library-font-variant.js +12 -6
  186. package/src/components/global-styles/screen-revisions/get-revision-changes.js +171 -0
  187. package/src/components/global-styles/screen-revisions/index.js +4 -11
  188. package/src/components/global-styles/screen-revisions/revisions-buttons.js +86 -17
  189. package/src/components/global-styles/screen-revisions/style.scss +10 -2
  190. package/src/components/global-styles/screen-revisions/test/get-revision-changes.js +191 -0
  191. package/src/components/header-edit-mode/document-tools/index.js +13 -13
  192. package/src/components/header-edit-mode/index.js +29 -63
  193. package/src/components/header-edit-mode/more-menu/index.js +18 -22
  194. package/src/components/header-edit-mode/style.scss +58 -33
  195. package/src/components/layout/index.js +21 -20
  196. package/src/components/list/style.scss +5 -0
  197. package/src/components/page/header.js +2 -1
  198. package/src/components/page/style.scss +2 -2
  199. package/src/components/page-pages/index.js +59 -35
  200. package/src/components/page-pages/style.scss +3 -1
  201. package/src/components/page-patterns/patterns-list.js +5 -2
  202. package/src/components/page-patterns/rename-menu-item.js +7 -1
  203. package/src/components/page-templates/dataviews-templates.js +28 -13
  204. package/src/components/preferences-modal/index.js +59 -33
  205. package/src/components/routes/use-title.js +3 -10
  206. package/src/components/save-button/index.js +1 -0
  207. package/src/components/sidebar/index.js +41 -24
  208. package/src/components/sidebar/style.scss +10 -12
  209. package/src/components/sidebar-dataviews/dataview-item.js +3 -7
  210. package/src/components/sidebar-dataviews/default-views.js +2 -2
  211. package/src/components/sidebar-edit-mode/page-panels/index.js +39 -25
  212. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -2
  213. package/src/components/sidebar-edit-mode/page-panels/style.scss +1 -42
  214. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +7 -1
  215. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  216. package/src/components/sidebar-navigation-screen-template/home-template-details.js +1 -96
  217. package/src/components/sidebar-navigation-screen-template/index.js +8 -2
  218. package/src/components/sidebar-navigation-screen-template/template-areas.js +135 -0
  219. package/src/components/site-hub/index.js +4 -5
  220. package/src/components/template-actions/rename-menu-item.js +7 -1
  221. package/src/components/welcome-guide/styles.js +1 -1
  222. package/src/hooks/commands/use-common-commands.js +10 -5
  223. package/src/hooks/navigation-menu-edit.js +1 -1
  224. package/src/hooks/template-part-edit.js +1 -1
  225. package/src/store/actions.js +15 -5
  226. package/src/store/reducer.js +0 -18
  227. package/src/store/selectors.js +15 -3
  228. package/src/style.scss +1 -2
  229. package/src/utils/constants.js +8 -0
  230. package/build/components/dataviews/add-filter.js +0 -91
  231. package/build/components/dataviews/add-filter.js.map +0 -1
  232. package/build/components/dataviews/constants.js +0 -14
  233. package/build/components/dataviews/constants.js.map +0 -1
  234. package/build/components/dataviews/dataviews.js +0 -99
  235. package/build/components/dataviews/dataviews.js.map +0 -1
  236. package/build/components/dataviews/filter-summary.js +0 -62
  237. package/build/components/dataviews/filter-summary.js.map +0 -1
  238. package/build/components/dataviews/filters.js +0 -63
  239. package/build/components/dataviews/filters.js.map +0 -1
  240. package/build/components/dataviews/index.js +0 -21
  241. package/build/components/dataviews/index.js.map +0 -1
  242. package/build/components/dataviews/item-actions.js +0 -184
  243. package/build/components/dataviews/item-actions.js.map +0 -1
  244. package/build/components/dataviews/pagination.js +0 -123
  245. package/build/components/dataviews/pagination.js.map +0 -1
  246. package/build/components/dataviews/reset-filters.js +0 -33
  247. package/build/components/dataviews/reset-filters.js.map +0 -1
  248. package/build/components/dataviews/search.js +0 -51
  249. package/build/components/dataviews/search.js.map +0 -1
  250. package/build/components/dataviews/view-actions.js +0 -244
  251. package/build/components/dataviews/view-actions.js.map +0 -1
  252. package/build/components/dataviews/view-grid.js +0 -82
  253. package/build/components/dataviews/view-grid.js.map +0 -1
  254. package/build/components/dataviews/view-list.js +0 -399
  255. package/build/components/dataviews/view-list.js.map +0 -1
  256. package/build/components/dataviews/view-side-by-side.js +0 -20
  257. package/build/components/dataviews/view-side-by-side.js.map +0 -1
  258. package/build/components/header-edit-mode/document-actions/index.js +0 -172
  259. package/build/components/header-edit-mode/document-actions/index.js.map +0 -1
  260. package/build/components/page-content-focus-notifications/back-to-page-notification.js +0 -61
  261. package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +0 -1
  262. package/build/components/page-content-focus-notifications/edit-template-notification.js +0 -102
  263. package/build/components/page-content-focus-notifications/edit-template-notification.js.map +0 -1
  264. package/build/components/page-content-focus-notifications/index.js +0 -22
  265. package/build/components/page-content-focus-notifications/index.js.map +0 -1
  266. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +0 -101
  267. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +0 -1
  268. package/build/components/sidebar-edit-mode/page-panels/hooks.js +0 -79
  269. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +0 -1
  270. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -48
  271. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +0 -1
  272. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -84
  273. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +0 -1
  274. package/build/utils/use-debounced-input.js +0 -22
  275. package/build/utils/use-debounced-input.js.map +0 -1
  276. package/build-module/components/dataviews/add-filter.js +0 -84
  277. package/build-module/components/dataviews/add-filter.js.map +0 -1
  278. package/build-module/components/dataviews/constants.js +0 -6
  279. package/build-module/components/dataviews/constants.js.map +0 -1
  280. package/build-module/components/dataviews/dataviews.js +0 -90
  281. package/build-module/components/dataviews/dataviews.js.map +0 -1
  282. package/build-module/components/dataviews/filter-summary.js +0 -55
  283. package/build-module/components/dataviews/filter-summary.js.map +0 -1
  284. package/build-module/components/dataviews/filters.js +0 -55
  285. package/build-module/components/dataviews/filters.js.map +0 -1
  286. package/build-module/components/dataviews/index.js +0 -2
  287. package/build-module/components/dataviews/index.js.map +0 -1
  288. package/build-module/components/dataviews/item-actions.js +0 -177
  289. package/build-module/components/dataviews/item-actions.js.map +0 -1
  290. package/build-module/components/dataviews/pagination.js +0 -115
  291. package/build-module/components/dataviews/pagination.js.map +0 -1
  292. package/build-module/components/dataviews/reset-filters.js +0 -26
  293. package/build-module/components/dataviews/reset-filters.js.map +0 -1
  294. package/build-module/components/dataviews/search.js +0 -43
  295. package/build-module/components/dataviews/search.js.map +0 -1
  296. package/build-module/components/dataviews/view-actions.js +0 -237
  297. package/build-module/components/dataviews/view-actions.js.map +0 -1
  298. package/build-module/components/dataviews/view-grid.js +0 -74
  299. package/build-module/components/dataviews/view-grid.js.map +0 -1
  300. package/build-module/components/dataviews/view-list.js +0 -390
  301. package/build-module/components/dataviews/view-list.js.map +0 -1
  302. package/build-module/components/dataviews/view-side-by-side.js +0 -12
  303. package/build-module/components/dataviews/view-side-by-side.js.map +0 -1
  304. package/build-module/components/header-edit-mode/document-actions/index.js +0 -164
  305. package/build-module/components/header-edit-mode/document-actions/index.js.map +0 -1
  306. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js +0 -54
  307. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +0 -1
  308. package/build-module/components/page-content-focus-notifications/edit-template-notification.js +0 -96
  309. package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +0 -1
  310. package/build-module/components/page-content-focus-notifications/index.js +0 -14
  311. package/build-module/components/page-content-focus-notifications/index.js.map +0 -1
  312. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +0 -93
  313. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +0 -1
  314. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +0 -69
  315. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +0 -1
  316. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -41
  317. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +0 -1
  318. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -77
  319. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +0 -1
  320. package/build-module/utils/use-debounced-input.js +0 -15
  321. package/build-module/utils/use-debounced-input.js.map +0 -1
  322. package/src/components/dataviews/README.md +0 -191
  323. package/src/components/dataviews/add-filter.js +0 -108
  324. package/src/components/dataviews/constants.js +0 -5
  325. package/src/components/dataviews/dataviews.js +0 -99
  326. package/src/components/dataviews/filter-summary.js +0 -79
  327. package/src/components/dataviews/filters.js +0 -65
  328. package/src/components/dataviews/index.js +0 -1
  329. package/src/components/dataviews/item-actions.js +0 -208
  330. package/src/components/dataviews/pagination.js +0 -144
  331. package/src/components/dataviews/reset-filters.js +0 -26
  332. package/src/components/dataviews/search.js +0 -42
  333. package/src/components/dataviews/style.scss +0 -131
  334. package/src/components/dataviews/view-actions.js +0 -319
  335. package/src/components/dataviews/view-grid.js +0 -90
  336. package/src/components/dataviews/view-list.js +0 -512
  337. package/src/components/dataviews/view-side-by-side.js +0 -9
  338. package/src/components/header-edit-mode/document-actions/index.js +0 -204
  339. package/src/components/header-edit-mode/document-actions/style.scss +0 -145
  340. package/src/components/page-content-focus-notifications/back-to-page-notification.js +0 -58
  341. package/src/components/page-content-focus-notifications/edit-template-notification.js +0 -104
  342. package/src/components/page-content-focus-notifications/index.js +0 -14
  343. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +0 -108
  344. package/src/components/sidebar-edit-mode/page-panels/hooks.js +0 -99
  345. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -45
  346. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -83
  347. package/src/utils/use-debounced-input.js +0 -18
@@ -1,191 +0,0 @@
1
- # DataView
2
-
3
- This file documents the DataViews UI component, which provides an API to render datasets using different view types (table, grid, etc.).
4
-
5
- ```js
6
- <DataViews
7
- data={ pages }
8
- getItemId={ ( item ) => item.id }
9
- isLoading={ isLoadingPages }
10
- view={ view }
11
- onChangeView={ onChangeView }
12
- fields={ fields }
13
- actions={ [ trashPostAction ] }
14
- paginationInfo={ { totalItems, totalPages } }
15
- />
16
- ```
17
-
18
- ## Data
19
-
20
- The dataset to work with, represented as a one-dimensional array.
21
-
22
- Example:
23
-
24
- ```js
25
- [
26
- { id: 1, title: "Title", ... },
27
- { ... }
28
- ]
29
- ```
30
-
31
- ## View
32
-
33
- The view object configures how the dataset is visible to the user.
34
-
35
- Example:
36
-
37
- ```js
38
- {
39
- type: 'list',
40
- perPage: 5,
41
- page: 1,
42
- sort: {
43
- field: 'date',
44
- direction: 'desc',
45
- },
46
- search: '',
47
- filters: [
48
- { field: 'author', operator: OPERATOR_IN, value: 2 },
49
- { field: 'status', operator: OPERATOR_IN, value: 'publish,draft' }
50
- ],
51
- hiddenFields: [ 'date', 'featured-image' ],
52
- layout: {},
53
- }
54
- ```
55
-
56
- - `type`: view type, one of `list` or `grid`.
57
- - `perPage`: number of records to show per page.
58
- - `page`: the page that is visible.
59
- - `sort.field`: field used for sorting the dataset.
60
- - `sort.direction`: the direction to use for sorting, one of `asc` or `desc`.
61
- - `search`: the text search applied to the dataset.
62
- - `filters`: the filters applied to the dataset. Each item describes:
63
- - `field`: which field this filter is bound to.
64
- - `operator`: which type of filter it is. Only `in` available at the moment.
65
- - `value`: the actual value selected by the user.
66
- - `hiddenFields`: the `id` of the fields that are hidden in the UI.
67
- - `layout`: config that is specific to a particular layout type.
68
- - `mediaField`: used by the `grid` layout. The `id` of the field to be used for rendering each card's media.
69
- - `primaryField`: used by the `grid` layout. The `id` of the field to be used for rendering each card's title.
70
-
71
- ### View <=> data
72
-
73
- The view is a representation of the visible state of the dataset. Note, however, that it's the consumer's responsibility to work with the data provider to make sure the user options defined through the view's config (sort, pagination, filters, etc.) are respected.
74
-
75
- The following example shows how a view object is used to query the WordPress REST API via the entities abstraction. The same can be done with any other data provider.
76
-
77
- ```js
78
- function MyCustomPageList() {
79
- const [ view, setView ] = useState( {
80
- type: 'list',
81
- perPage: 5,
82
- page: 1,
83
- sort: {
84
- field: 'date',
85
- direction: 'desc',
86
- },
87
- search: '',
88
- filters: [
89
- { field: 'author', operator: OPERATOR_IN, value: 2 },
90
- { field: 'status', operator: OPERATOR_IN, value: 'publish,draft' }
91
- ],
92
- hiddenFields: [ 'date', 'featured-image' ],
93
- layout: {},
94
- } );
95
-
96
- const queryArgs = useMemo( () => {
97
- const filters = {};
98
- view.filters.forEach( ( filter ) => {
99
- if ( filter.field === 'status' && filter.operator === OPERATOR_IN ) {
100
- filters.status = filter.value;
101
- }
102
- if ( filter.field === 'author' && filter.operator === OPERATOR_IN ) {
103
- filters.author = filter.value;
104
- }
105
- } );
106
- return {
107
- per_page: view.perPage,
108
- page: view.page,
109
- _embed: 'author',
110
- order: view.sort?.direction,
111
- orderby: view.sort?.field,
112
- search: view.search,
113
- ...filters,
114
- };
115
- }, [ view ] );
116
-
117
- const {
118
- records
119
- } = useEntityRecords( 'postType', 'page', queryArgs );
120
-
121
- return (
122
- <DataViews
123
- data={ records }
124
- view={ view }
125
- onChangeView={ setView }
126
- "..."
127
- />
128
- );
129
- }
130
- ```
131
-
132
- ## Fields
133
-
134
- The fields describe the visible items for each record in the dataset.
135
-
136
- Example:
137
-
138
- ```js
139
- [
140
- {
141
- id: 'date',
142
- header: __( 'Date' ),
143
- getValue: ( { item } ) => item.date,
144
- render: ( { item } ) => {
145
- return (
146
- <time>{ getFormattedDate( item.date ) }</time>
147
- );
148
- },
149
- enableHiding: false
150
- },
151
- {
152
- id: 'author',
153
- header: __( 'Author' ),
154
- getValue: ( { item } ) => item.author,
155
- render: ( { item } ) => {
156
- return (
157
- <a href="...">{ item.author }</a>
158
- );
159
- },
160
- type: ENUMERATION_TYPE,
161
- elements: [
162
- { value: 1, label: 'Admin' }
163
- { value: 2, label: 'User' }
164
- ]
165
- enableSorting: false
166
- }
167
- ]
168
- ```
169
-
170
- - `id`: identifier for the field. Unique.
171
- - `header`: the field's name to be shown in the UI.
172
- - `getValue`: function that returns the value of the field.
173
- - `render`: function that renders the field.
174
- - `elements`: the set of valid values for the field's value.
175
- - `type`: the type of the field. Used to generate the proper filters. Only `enumeration` available at the moment.
176
- - `enableSorting`: whether the data can be sorted by the given field. True by default.
177
- - `enableHiding`: whether the field can be hidden. True by default.
178
-
179
- ## Actions
180
-
181
- Array of operations that can be performed upon each record. Each action is an object with the following properties:
182
-
183
- - `id`: string, required. Unique identifier of the action. For example, `move-to-trash`.
184
- - `label`: string, required. User facing description of the action. For example, `Move to Trash`.
185
- - `isPrimary`: boolean, optional. Whether the action should be listed inline (primary) or in hidden in the more actions menu (secondary).
186
- - `icon`: icon to show for primary actions. It's required for a primary action, otherwise the action would be considered secondary.
187
- - `isEligible`: function, optional. Whether the action can be performed for a given record. If not present, the action is considered to be eligible for all items. It takes the given record as input.
188
- - `isDestructive`: boolean, optional. Whether the action can delete data, in which case the UI would communicate it via red color.
189
- - `callback`: function, required unless `RenderModal` is provided. Callback function that takes the record as input and performs the required action.
190
- - `RenderModal`: ReactElement, optional. If an action requires that some UI be rendered in a modal, it can provide a component which takes as props the record as `item` and a `closeModal` function. When this prop is provided, the `callback` property is ignored.
191
- - `hideModalHeader`: boolean, optional. This property is used in combination with `RenderModal` and controls the visibility of the modal's header. If the action renders a modal and doesn't hide the header, the action's label is going to be used in the modal's header.
@@ -1,108 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import {
5
- privateApis as componentsPrivateApis,
6
- Button,
7
- Icon,
8
- } from '@wordpress/components';
9
- import { chevronRightSmall, plus } from '@wordpress/icons';
10
- import { __ } from '@wordpress/i18n';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import { unlock } from '../../lock-unlock';
16
- import { ENUMERATION_TYPE, OPERATOR_IN } from './constants';
17
-
18
- const {
19
- DropdownMenuV2: DropdownMenu,
20
- DropdownSubMenuV2: DropdownSubMenu,
21
- DropdownSubMenuTriggerV2: DropdownSubMenuTrigger,
22
- DropdownMenuItemV2: DropdownMenuItem,
23
- } = unlock( componentsPrivateApis );
24
-
25
- export default function AddFilter( { fields, view, onChangeView } ) {
26
- const filters = [];
27
- fields.forEach( ( field ) => {
28
- if ( ! field.type ) {
29
- return;
30
- }
31
-
32
- switch ( field.type ) {
33
- case ENUMERATION_TYPE:
34
- filters.push( {
35
- field: field.id,
36
- name: field.header,
37
- elements: field.elements || [],
38
- isVisible: view.filters.some(
39
- ( f ) =>
40
- f.field === field.id && f.operator === OPERATOR_IN
41
- ),
42
- } );
43
- }
44
- } );
45
-
46
- if ( filters.length === 0 ) {
47
- return null;
48
- }
49
-
50
- return (
51
- <DropdownMenu
52
- label={ __( 'Add filter' ) }
53
- trigger={
54
- <Button
55
- disabled={ filters.length === view.filters?.length }
56
- __experimentalIsFocusable
57
- variant="tertiary"
58
- size="compact"
59
- >
60
- <Icon icon={ plus } style={ { flexShrink: 0 } } />
61
- { __( 'Add filter' ) }
62
- </Button>
63
- }
64
- >
65
- { filters.map( ( filter ) => {
66
- if ( filter.isVisible ) {
67
- return null;
68
- }
69
-
70
- return (
71
- <DropdownSubMenu
72
- key={ filter.field }
73
- trigger={
74
- <DropdownSubMenuTrigger
75
- suffix={ <Icon icon={ chevronRightSmall } /> }
76
- >
77
- { filter.name }
78
- </DropdownSubMenuTrigger>
79
- }
80
- >
81
- { filter.elements.map( ( element ) => (
82
- <DropdownMenuItem
83
- key={ element.value }
84
- onSelect={ () => {
85
- onChangeView( ( currentView ) => ( {
86
- ...currentView,
87
- page: 1,
88
- filters: [
89
- ...currentView.filters,
90
- {
91
- field: filter.field,
92
- operator: OPERATOR_IN,
93
- value: element.value,
94
- },
95
- ],
96
- } ) );
97
- } }
98
- role="menuitemcheckbox"
99
- >
100
- { element.label }
101
- </DropdownMenuItem>
102
- ) ) }
103
- </DropdownSubMenu>
104
- );
105
- } ) }
106
- </DropdownMenu>
107
- );
108
- }
@@ -1,5 +0,0 @@
1
- // Field types.
2
- export const ENUMERATION_TYPE = 'enumeration';
3
-
4
- // Filter operators.
5
- export const OPERATOR_IN = 'in';
@@ -1,99 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import {
5
- __experimentalVStack as VStack,
6
- __experimentalHStack as HStack,
7
- } from '@wordpress/components';
8
- import { useMemo } from '@wordpress/element';
9
-
10
- /**
11
- * Internal dependencies
12
- */
13
- import ViewList from './view-list';
14
- import Pagination from './pagination';
15
- import ViewActions from './view-actions';
16
- import Filters from './filters';
17
- import Search from './search';
18
- import { ViewGrid } from './view-grid';
19
- import { ViewSideBySide } from './view-side-by-side';
20
-
21
- // To do: convert to view type registry.
22
- export const viewTypeSupportsMap = {
23
- list: {},
24
- grid: {},
25
- 'side-by-side': {
26
- preview: true,
27
- },
28
- };
29
-
30
- const viewTypeMap = {
31
- list: ViewList,
32
- grid: ViewGrid,
33
- 'side-by-side': ViewSideBySide,
34
- };
35
-
36
- export default function DataViews( {
37
- view,
38
- onChangeView,
39
- fields,
40
- search = true,
41
- searchLabel = undefined,
42
- actions,
43
- data,
44
- getItemId,
45
- isLoading = false,
46
- paginationInfo,
47
- supportedLayouts,
48
- } ) {
49
- const ViewComponent = viewTypeMap[ view.type ];
50
- const _fields = useMemo( () => {
51
- return fields.map( ( field ) => ( {
52
- ...field,
53
- render: field.render || field.getValue,
54
- } ) );
55
- }, [ fields ] );
56
- return (
57
- <div className="dataviews-wrapper">
58
- <VStack spacing={ 4 } justify="flex-start">
59
- <HStack alignment="flex-start">
60
- <HStack justify="start" wrap>
61
- { search && (
62
- <Search
63
- label={ searchLabel }
64
- view={ view }
65
- onChangeView={ onChangeView }
66
- />
67
- ) }
68
- <Filters
69
- fields={ fields }
70
- view={ view }
71
- onChangeView={ onChangeView }
72
- />
73
- </HStack>
74
- <ViewActions
75
- fields={ fields }
76
- view={ view }
77
- onChangeView={ onChangeView }
78
- supportedLayouts={ supportedLayouts }
79
- />
80
- </HStack>
81
- <ViewComponent
82
- fields={ _fields }
83
- view={ view }
84
- onChangeView={ onChangeView }
85
- paginationInfo={ paginationInfo }
86
- actions={ actions }
87
- data={ data }
88
- getItemId={ getItemId }
89
- isLoading={ isLoading }
90
- />
91
- <Pagination
92
- view={ view }
93
- onChangeView={ onChangeView }
94
- paginationInfo={ paginationInfo }
95
- />
96
- </VStack>
97
- </div>
98
- );
99
- }
@@ -1,79 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import {
5
- Button,
6
- privateApis as componentsPrivateApis,
7
- Icon,
8
- } from '@wordpress/components';
9
- import { chevronDown } from '@wordpress/icons';
10
- import { __, sprintf } from '@wordpress/i18n';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import { OPERATOR_IN } from './constants';
16
- import { unlock } from '../../lock-unlock';
17
-
18
- const {
19
- DropdownMenuV2: DropdownMenu,
20
- DropdownMenuCheckboxItemV2: DropdownMenuCheckboxItem,
21
- } = unlock( componentsPrivateApis );
22
-
23
- export default function FilterSummary( { filter, view, onChangeView } ) {
24
- const filterInView = view.filters.find( ( f ) => f.field === filter.field );
25
- const activeElement = filter.elements.find(
26
- ( element ) => element.value === filterInView?.value
27
- );
28
-
29
- return (
30
- <DropdownMenu
31
- key={ filter.field }
32
- trigger={
33
- <Button variant="tertiary" size="compact" label={ filter.name }>
34
- { activeElement !== undefined
35
- ? sprintf(
36
- /* translators: 1: Filter name. 2: filter value. e.g.: "Author is Admin". */
37
- __( '%1$s is %2$s' ),
38
- filter.name,
39
- activeElement.label
40
- )
41
- : filter.name }
42
- <Icon icon={ chevronDown } style={ { flexShrink: 0 } } />
43
- </Button>
44
- }
45
- >
46
- { filter.elements.map( ( element ) => {
47
- return (
48
- <DropdownMenuCheckboxItem
49
- key={ element.value }
50
- value={ element.value }
51
- checked={ activeElement?.value === element.value }
52
- onSelect={ () =>
53
- onChangeView( ( currentView ) => ( {
54
- ...currentView,
55
- page: 1,
56
- filters: [
57
- ...view.filters.filter(
58
- ( f ) => f.field !== filter.field
59
- ),
60
- {
61
- field: filter.field,
62
- operator: OPERATOR_IN,
63
- value:
64
- activeElement?.value ===
65
- element.value
66
- ? undefined
67
- : element.value,
68
- },
69
- ],
70
- } ) )
71
- }
72
- >
73
- { element.label }
74
- </DropdownMenuCheckboxItem>
75
- );
76
- } ) }
77
- </DropdownMenu>
78
- );
79
- }
@@ -1,65 +0,0 @@
1
- /**
2
- * Internal dependencies
3
- */
4
- import FilterSummary from './filter-summary';
5
- import AddFilter from './add-filter';
6
- import ResetFilters from './reset-filters';
7
- import { ENUMERATION_TYPE, OPERATOR_IN } from './constants';
8
-
9
- export default function Filters( { fields, view, onChangeView } ) {
10
- const filters = [];
11
- fields.forEach( ( field ) => {
12
- if ( ! field.type ) {
13
- return;
14
- }
15
-
16
- switch ( field.type ) {
17
- case ENUMERATION_TYPE:
18
- filters.push( {
19
- field: field.id,
20
- name: field.header,
21
- elements: field.elements || [],
22
- isVisible: view.filters.some(
23
- ( f ) =>
24
- f.field === field.id && f.operator === OPERATOR_IN
25
- ),
26
- } );
27
- }
28
- } );
29
-
30
- const filterComponents = filters.map( ( filter ) => {
31
- if ( ! filter.isVisible ) {
32
- return null;
33
- }
34
-
35
- return (
36
- <FilterSummary
37
- key={ filter.field + '.' + filter.operator }
38
- filter={ filter }
39
- view={ view }
40
- onChangeView={ onChangeView }
41
- />
42
- );
43
- } );
44
-
45
- filterComponents.push(
46
- <AddFilter
47
- key="add-filter"
48
- fields={ fields }
49
- view={ view }
50
- onChangeView={ onChangeView }
51
- />
52
- );
53
-
54
- if ( filterComponents.length > 1 ) {
55
- filterComponents.push(
56
- <ResetFilters
57
- key="reset-filters"
58
- view={ view }
59
- onChangeView={ onChangeView }
60
- />
61
- );
62
- }
63
-
64
- return filterComponents;
65
- }
@@ -1 +0,0 @@
1
- export { default as DataViews, viewTypeSupportsMap } from './dataviews';