@wordpress/edit-site 5.24.1 → 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,390 +0,0 @@
1
- import { createElement } from "react";
2
- /**
3
- * External dependencies
4
- */
5
- import { getCoreRowModel, getFilteredRowModel, getSortedRowModel, getPaginationRowModel, useReactTable, flexRender } from '@tanstack/react-table';
6
-
7
- /**
8
- * WordPress dependencies
9
- */
10
- import { __ } from '@wordpress/i18n';
11
- import { useAsyncList } from '@wordpress/compose';
12
- import { chevronDown, chevronUp, unseen, check, arrowUp, arrowDown, chevronRightSmall, funnel } from '@wordpress/icons';
13
- import { Button, Icon, privateApis as componentsPrivateApis } from '@wordpress/components';
14
- import { useMemo, Children, Fragment } from '@wordpress/element';
15
-
16
- /**
17
- * Internal dependencies
18
- */
19
- import { unlock } from '../../lock-unlock';
20
- import ItemActions from './item-actions';
21
- import { ENUMERATION_TYPE, OPERATOR_IN } from './constants';
22
- const {
23
- DropdownMenuV2: DropdownMenu,
24
- DropdownMenuGroupV2: DropdownMenuGroup,
25
- DropdownMenuItemV2: DropdownMenuItem,
26
- DropdownMenuSeparatorV2: DropdownMenuSeparator,
27
- DropdownSubMenuV2: DropdownSubMenu,
28
- DropdownSubMenuTriggerV2: DropdownSubMenuTrigger
29
- } = unlock(componentsPrivateApis);
30
- const EMPTY_OBJECT = {};
31
- const sortingItemsInfo = {
32
- asc: {
33
- icon: arrowUp,
34
- label: __('Sort ascending')
35
- },
36
- desc: {
37
- icon: arrowDown,
38
- label: __('Sort descending')
39
- }
40
- };
41
- const sortIcons = {
42
- asc: chevronUp,
43
- desc: chevronDown
44
- };
45
- function HeaderMenu({
46
- dataView,
47
- header
48
- }) {
49
- if (header.isPlaceholder) {
50
- return null;
51
- }
52
- const text = flexRender(header.column.columnDef.header, header.getContext());
53
- const isSortable = !!header.column.getCanSort();
54
- const isHidable = !!header.column.getCanHide();
55
- if (!isSortable && !isHidable) {
56
- return text;
57
- }
58
- const sortedDirection = header.column.getIsSorted();
59
- let filter;
60
- if (header.column.columnDef.type === ENUMERATION_TYPE) {
61
- filter = {
62
- field: header.column.columnDef.id,
63
- elements: header.column.columnDef.elements || []
64
- };
65
- }
66
- const isFilterable = !!filter;
67
- return createElement(DropdownMenu, {
68
- align: "start",
69
- trigger: createElement(Button, {
70
- icon: sortIcons[header.column.getIsSorted()],
71
- iconPosition: "right",
72
- text: text,
73
- style: {
74
- padding: 0
75
- }
76
- })
77
- }, createElement(WithSeparators, null, isSortable && createElement(DropdownMenuGroup, null, Object.entries(sortingItemsInfo).map(([direction, info]) => createElement(DropdownMenuItem, {
78
- key: direction,
79
- prefix: createElement(Icon, {
80
- icon: info.icon
81
- }),
82
- suffix: sortedDirection === direction && createElement(Icon, {
83
- icon: check
84
- }),
85
- onSelect: event => {
86
- event.preventDefault();
87
- if (sortedDirection === direction) {
88
- dataView.resetSorting();
89
- } else {
90
- dataView.setSorting([{
91
- id: header.column.id,
92
- desc: direction === 'desc'
93
- }]);
94
- }
95
- }
96
- }, info.label))), isHidable && createElement(DropdownMenuItem, {
97
- prefix: createElement(Icon, {
98
- icon: unseen
99
- }),
100
- onSelect: event => {
101
- event.preventDefault();
102
- header.column.getToggleVisibilityHandler()(event);
103
- }
104
- }, __('Hide')), isFilterable && createElement(DropdownMenuGroup, null, createElement(DropdownSubMenu, {
105
- key: filter.field,
106
- trigger: createElement(DropdownSubMenuTrigger, {
107
- prefix: createElement(Icon, {
108
- icon: funnel
109
- }),
110
- suffix: createElement(Icon, {
111
- icon: chevronRightSmall
112
- })
113
- }, __('Filter by'))
114
- }, filter.elements.map(element => {
115
- let isActive = false;
116
- const columnFilters = dataView.getState().columnFilters;
117
- const columnFilter = columnFilters.find(f => Object.keys(f)[0].split(':')[0] === filter.field);
118
- if (columnFilter) {
119
- const value = Object.values(columnFilter)[0];
120
- // Intentionally use loose comparison, so it does type conversion.
121
- // This covers the case where a top-level filter for the same field converts a number into a string.
122
- isActive = element.value == value; // eslint-disable-line eqeqeq
123
- }
124
-
125
- return createElement(DropdownMenuItem, {
126
- key: element.value,
127
- suffix: isActive && createElement(Icon, {
128
- icon: check
129
- }),
130
- onSelect: () => {
131
- const otherFilters = columnFilters?.filter(f => {
132
- const [field, operator] = Object.keys(f)[0].split(':');
133
- return field !== filter.field || operator !== OPERATOR_IN;
134
- });
135
- dataView.setColumnFilters([...otherFilters, {
136
- [filter.field + ':in']: isActive ? undefined : element.value
137
- }]);
138
- }
139
- }, element.label);
140
- })))));
141
- }
142
- function WithSeparators({
143
- children
144
- }) {
145
- return Children.toArray(children).filter(Boolean).map((child, i) => createElement(Fragment, {
146
- key: i
147
- }, i > 0 && createElement(DropdownMenuSeparator, null), child));
148
- }
149
- function ViewList({
150
- view,
151
- onChangeView,
152
- fields,
153
- actions,
154
- data,
155
- getItemId,
156
- isLoading = false,
157
- paginationInfo
158
- }) {
159
- const columns = useMemo(() => {
160
- const _columns = fields.map(field => {
161
- const {
162
- render,
163
- getValue,
164
- ...column
165
- } = field;
166
- column.cell = props => render({
167
- item: props.row.original,
168
- view
169
- });
170
- if (getValue) {
171
- column.accessorFn = item => getValue({
172
- item
173
- });
174
- }
175
- return column;
176
- });
177
- if (actions?.length) {
178
- _columns.push({
179
- header: __('Actions'),
180
- id: 'actions',
181
- cell: props => {
182
- return createElement(ItemActions, {
183
- item: props.row.original,
184
- actions: actions
185
- });
186
- },
187
- enableHiding: false
188
- });
189
- }
190
- return _columns;
191
- }, [fields, actions, view]);
192
- const columnVisibility = useMemo(() => {
193
- if (!view.hiddenFields?.length) {
194
- return;
195
- }
196
- return view.hiddenFields.reduce((accumulator, fieldId) => ({
197
- ...accumulator,
198
- [fieldId]: false
199
- }), {});
200
- }, [view.hiddenFields]);
201
-
202
- /**
203
- * Transform the filters from the view format into the tanstack columns filter format.
204
- *
205
- * Input:
206
- *
207
- * view.filters = [
208
- * { field: 'date', operator: 'before', value: '2020-01-01' },
209
- * { field: 'date', operator: 'after', value: '2020-01-01' },
210
- * ]
211
- *
212
- * Output:
213
- *
214
- * columnFilters = [
215
- * { "date:before": '2020-01-01' },
216
- * { "date:after": '2020-01-01' }
217
- * ]
218
- *
219
- * @param {Array} filters The view filters to transform.
220
- * @return {Array} The transformed TanStack column filters.
221
- */
222
- const toTanStackColumnFilters = filters => filters?.map(filter => ({
223
- [filter.field + ':' + filter.operator]: filter.value
224
- }));
225
-
226
- /**
227
- * Transform the filters from the view format into the tanstack columns filter format.
228
- *
229
- * Input:
230
- *
231
- * columnFilters = [
232
- * { "date:before": '2020-01-01'},
233
- * { "date:after": '2020-01-01' }
234
- * ]
235
- *
236
- * Output:
237
- *
238
- * view.filters = [
239
- * { field: 'date', operator: 'before', value: '2020-01-01' },
240
- * { field: 'date', operator: 'after', value: '2020-01-01' },
241
- * ]
242
- *
243
- * @param {Array} filters The TanStack column filters to transform.
244
- * @return {Array} The transformed view filters.
245
- */
246
- const fromTanStackColumnFilters = filters => filters.map(filter => {
247
- const [key, value] = Object.entries(filter)[0];
248
- const [field, operator] = key.split(':');
249
- return {
250
- field,
251
- operator,
252
- value
253
- };
254
- });
255
- const shownData = useAsyncList(data);
256
- const dataView = useReactTable({
257
- data: shownData,
258
- columns,
259
- manualSorting: true,
260
- manualFiltering: true,
261
- manualPagination: true,
262
- enableRowSelection: true,
263
- state: {
264
- sorting: view.sort ? [{
265
- id: view.sort.field,
266
- desc: view.sort.direction === 'desc'
267
- }] : [],
268
- globalFilter: view.search,
269
- columnFilters: toTanStackColumnFilters(view.filters),
270
- pagination: {
271
- pageIndex: view.page,
272
- pageSize: view.perPage
273
- },
274
- columnVisibility: columnVisibility !== null && columnVisibility !== void 0 ? columnVisibility : EMPTY_OBJECT
275
- },
276
- getRowId: getItemId,
277
- onSortingChange: sortingUpdater => {
278
- onChangeView(currentView => {
279
- const sort = typeof sortingUpdater === 'function' ? sortingUpdater(currentView.sort ? [{
280
- id: currentView.sort.field,
281
- desc: currentView.sort.direction === 'desc'
282
- }] : []) : sortingUpdater;
283
- if (!sort.length) {
284
- return {
285
- ...currentView,
286
- sort: {}
287
- };
288
- }
289
- const [{
290
- id,
291
- desc
292
- }] = sort;
293
- return {
294
- ...currentView,
295
- sort: {
296
- field: id,
297
- direction: desc ? 'desc' : 'asc'
298
- }
299
- };
300
- });
301
- },
302
- onColumnVisibilityChange: columnVisibilityUpdater => {
303
- onChangeView(currentView => {
304
- const hiddenFields = Object.entries(columnVisibilityUpdater()).reduce((accumulator, [fieldId, value]) => {
305
- if (value) {
306
- return accumulator.filter(id => id !== fieldId);
307
- }
308
- return [...accumulator, fieldId];
309
- }, [...(currentView.hiddenFields || [])]);
310
- return {
311
- ...currentView,
312
- hiddenFields
313
- };
314
- });
315
- },
316
- onGlobalFilterChange: value => {
317
- onChangeView({
318
- ...view,
319
- search: value,
320
- page: 1
321
- });
322
- },
323
- onColumnFiltersChange: columnFiltersUpdater => {
324
- onChangeView({
325
- ...view,
326
- filters: fromTanStackColumnFilters(columnFiltersUpdater()),
327
- page: 1
328
- });
329
- },
330
- onPaginationChange: paginationUpdater => {
331
- onChangeView(currentView => {
332
- const {
333
- pageIndex,
334
- pageSize
335
- } = paginationUpdater({
336
- pageIndex: currentView.page,
337
- pageSize: currentView.perPage
338
- });
339
- return {
340
- ...view,
341
- page: pageIndex,
342
- perPage: pageSize
343
- };
344
- });
345
- },
346
- getCoreRowModel: getCoreRowModel(),
347
- getFilteredRowModel: getFilteredRowModel(),
348
- getSortedRowModel: getSortedRowModel(),
349
- getPaginationRowModel: getPaginationRowModel(),
350
- pageCount: paginationInfo.totalPages
351
- });
352
- const {
353
- rows
354
- } = dataView.getRowModel();
355
- const hasRows = !!rows?.length;
356
- if (isLoading) {
357
- // TODO:Add spinner or progress bar..
358
- return createElement("h3", null, __('Loading'));
359
- }
360
- return createElement("div", {
361
- className: "dataviews-list-view-wrapper"
362
- }, hasRows && createElement("table", {
363
- className: "dataviews-list-view"
364
- }, createElement("thead", null, dataView.getHeaderGroups().map(headerGroup => createElement("tr", {
365
- key: headerGroup.id
366
- }, headerGroup.headers.map(header => createElement("th", {
367
- key: header.id,
368
- colSpan: header.colSpan,
369
- style: {
370
- width: header.column.columnDef.width || undefined,
371
- minWidth: header.column.columnDef.minWidth || undefined,
372
- maxWidth: header.column.columnDef.maxWidth || undefined
373
- },
374
- "data-field-id": header.id
375
- }, createElement(HeaderMenu, {
376
- dataView: dataView,
377
- header: header
378
- })))))), createElement("tbody", null, rows.map(row => createElement("tr", {
379
- key: row.id
380
- }, row.getVisibleCells().map(cell => createElement("td", {
381
- key: cell.column.id,
382
- style: {
383
- width: cell.column.columnDef.width || undefined,
384
- minWidth: cell.column.columnDef.minWidth || undefined,
385
- maxWidth: cell.column.columnDef.maxWidth || undefined
386
- }
387
- }, flexRender(cell.column.columnDef.cell, cell.getContext()))))))), !hasRows && createElement("p", null, __('no results')));
388
- }
389
- export default ViewList;
390
- //# sourceMappingURL=view-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getCoreRowModel","getFilteredRowModel","getSortedRowModel","getPaginationRowModel","useReactTable","flexRender","__","useAsyncList","chevronDown","chevronUp","unseen","check","arrowUp","arrowDown","chevronRightSmall","funnel","Button","Icon","privateApis","componentsPrivateApis","useMemo","Children","Fragment","unlock","ItemActions","ENUMERATION_TYPE","OPERATOR_IN","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuSeparatorV2","DropdownMenuSeparator","DropdownSubMenuV2","DropdownSubMenu","DropdownSubMenuTriggerV2","DropdownSubMenuTrigger","EMPTY_OBJECT","sortingItemsInfo","asc","icon","label","desc","sortIcons","HeaderMenu","dataView","header","isPlaceholder","text","column","columnDef","getContext","isSortable","getCanSort","isHidable","getCanHide","sortedDirection","getIsSorted","filter","type","field","id","elements","isFilterable","createElement","align","trigger","iconPosition","style","padding","WithSeparators","Object","entries","map","direction","info","key","prefix","suffix","onSelect","event","preventDefault","resetSorting","setSorting","getToggleVisibilityHandler","element","isActive","columnFilters","getState","columnFilter","find","f","keys","split","value","values","otherFilters","operator","setColumnFilters","undefined","children","toArray","Boolean","child","i","ViewList","view","onChangeView","fields","actions","data","getItemId","isLoading","paginationInfo","columns","_columns","render","getValue","cell","props","item","row","original","accessorFn","length","push","enableHiding","columnVisibility","hiddenFields","reduce","accumulator","fieldId","toTanStackColumnFilters","filters","fromTanStackColumnFilters","shownData","manualSorting","manualFiltering","manualPagination","enableRowSelection","state","sorting","sort","globalFilter","search","pagination","pageIndex","page","pageSize","perPage","getRowId","onSortingChange","sortingUpdater","currentView","onColumnVisibilityChange","columnVisibilityUpdater","onGlobalFilterChange","onColumnFiltersChange","columnFiltersUpdater","onPaginationChange","paginationUpdater","pageCount","totalPages","rows","getRowModel","hasRows","className","getHeaderGroups","headerGroup","headers","colSpan","width","minWidth","maxWidth","getVisibleCells"],"sources":["@wordpress/edit-site/src/components/dataviews/view-list.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tgetCoreRowModel,\n\tgetFilteredRowModel,\n\tgetSortedRowModel,\n\tgetPaginationRowModel,\n\tuseReactTable,\n\tflexRender,\n} from '@tanstack/react-table';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useAsyncList } from '@wordpress/compose';\nimport {\n\tchevronDown,\n\tchevronUp,\n\tunseen,\n\tcheck,\n\tarrowUp,\n\tarrowDown,\n\tchevronRightSmall,\n\tfunnel,\n} from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useMemo, Children, Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport ItemActions from './item-actions';\nimport { ENUMERATION_TYPE, OPERATOR_IN } from './constants';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n\tDropdownSubMenuV2: DropdownSubMenu,\n\tDropdownSubMenuTriggerV2: DropdownSubMenuTrigger,\n} = unlock( componentsPrivateApis );\n\nconst EMPTY_OBJECT = {};\nconst sortingItemsInfo = {\n\tasc: { icon: arrowUp, label: __( 'Sort ascending' ) },\n\tdesc: { icon: arrowDown, label: __( 'Sort descending' ) },\n};\nconst sortIcons = { asc: chevronUp, desc: chevronDown };\n\nfunction HeaderMenu( { dataView, header } ) {\n\tif ( header.isPlaceholder ) {\n\t\treturn null;\n\t}\n\tconst text = flexRender(\n\t\theader.column.columnDef.header,\n\t\theader.getContext()\n\t);\n\tconst isSortable = !! header.column.getCanSort();\n\tconst isHidable = !! header.column.getCanHide();\n\tif ( ! isSortable && ! isHidable ) {\n\t\treturn text;\n\t}\n\tconst sortedDirection = header.column.getIsSorted();\n\n\tlet filter;\n\tif ( header.column.columnDef.type === ENUMERATION_TYPE ) {\n\t\tfilter = {\n\t\t\tfield: header.column.columnDef.id,\n\t\t\telements: header.column.columnDef.elements || [],\n\t\t};\n\t}\n\tconst isFilterable = !! filter;\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\ticon={ sortIcons[ header.column.getIsSorted() ] }\n\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\ttext={ text }\n\t\t\t\t\tstyle={ { padding: 0 } }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t<WithSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t{ Object.entries( sortingItemsInfo ).map(\n\t\t\t\t\t\t\t( [ direction, info ] ) => (\n\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ info.icon } /> }\n\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\tsortedDirection === direction && (\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tif ( sortedDirection === direction ) {\n\t\t\t\t\t\t\t\t\t\t\tdataView.resetSorting();\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tdataView.setSorting( [\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tid: header.column.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdesc: direction === 'desc',\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ info.label }\n\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ isHidable && (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\tonSelect={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\theader.column.getToggleVisibilityHandler()( event );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Hide' ) }\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t) }\n\t\t\t\t{ isFilterable && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t<DropdownSubMenu\n\t\t\t\t\t\t\tkey={ filter.field }\n\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t<DropdownSubMenuTrigger\n\t\t\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ chevronRightSmall } />\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Filter by' ) }\n\t\t\t\t\t\t\t\t</DropdownSubMenuTrigger>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ filter.elements.map( ( element ) => {\n\t\t\t\t\t\t\t\tlet isActive = false;\n\t\t\t\t\t\t\t\tconst columnFilters =\n\t\t\t\t\t\t\t\t\tdataView.getState().columnFilters;\n\t\t\t\t\t\t\t\tconst columnFilter = columnFilters.find(\n\t\t\t\t\t\t\t\t\t( f ) =>\n\t\t\t\t\t\t\t\t\t\tObject.keys( f )[ 0 ].split(\n\t\t\t\t\t\t\t\t\t\t\t':'\n\t\t\t\t\t\t\t\t\t\t)[ 0 ] === filter.field\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tif ( columnFilter ) {\n\t\t\t\t\t\t\t\t\tconst value =\n\t\t\t\t\t\t\t\t\t\tObject.values( columnFilter )[ 0 ];\n\t\t\t\t\t\t\t\t\t// Intentionally use loose comparison, so it does type conversion.\n\t\t\t\t\t\t\t\t\t// This covers the case where a top-level filter for the same field converts a number into a string.\n\t\t\t\t\t\t\t\t\tisActive = element.value == value; // eslint-disable-line eqeqeq\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\t\tkey={ element.value }\n\t\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\t\tisActive && <Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonSelect={ () => {\n\t\t\t\t\t\t\t\t\t\t\tconst otherFilters =\n\t\t\t\t\t\t\t\t\t\t\t\tcolumnFilters?.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t\t( f ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tObject.keys(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tf\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)[ 0 ].split( ':' );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfield !==\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.field ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator !==\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tOPERATOR_IN\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t\tdataView.setColumnFilters( [\n\t\t\t\t\t\t\t\t\t\t\t\t...otherFilters,\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t[ filter.field + ':in' ]:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisActive\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: element.value,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ element.label }\n\t\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</DropdownSubMenu>\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t</WithSeparators>\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction WithSeparators( { children } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <DropdownMenuSeparator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nfunction ViewList( {\n\tview,\n\tonChangeView,\n\tfields,\n\tactions,\n\tdata,\n\tgetItemId,\n\tisLoading = false,\n\tpaginationInfo,\n} ) {\n\tconst columns = useMemo( () => {\n\t\tconst _columns = fields.map( ( field ) => {\n\t\t\tconst { render, getValue, ...column } = field;\n\t\t\tcolumn.cell = ( props ) =>\n\t\t\t\trender( { item: props.row.original, view } );\n\t\t\tif ( getValue ) {\n\t\t\t\tcolumn.accessorFn = ( item ) => getValue( { item } );\n\t\t\t}\n\t\t\treturn column;\n\t\t} );\n\t\tif ( actions?.length ) {\n\t\t\t_columns.push( {\n\t\t\t\theader: __( 'Actions' ),\n\t\t\t\tid: 'actions',\n\t\t\t\tcell: ( props ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ItemActions\n\t\t\t\t\t\t\titem={ props.row.original }\n\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tenableHiding: false,\n\t\t\t} );\n\t\t}\n\n\t\treturn _columns;\n\t}, [ fields, actions, view ] );\n\n\tconst columnVisibility = useMemo( () => {\n\t\tif ( ! view.hiddenFields?.length ) {\n\t\t\treturn;\n\t\t}\n\t\treturn view.hiddenFields.reduce(\n\t\t\t( accumulator, fieldId ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ fieldId ]: false,\n\t\t\t} ),\n\t\t\t{}\n\t\t);\n\t}, [ view.hiddenFields ] );\n\n\t/**\n\t * Transform the filters from the view format into the tanstack columns filter format.\n\t *\n\t * Input:\n\t *\n\t * view.filters = [\n\t * { field: 'date', operator: 'before', value: '2020-01-01' },\n\t * { field: 'date', operator: 'after', value: '2020-01-01' },\n\t * ]\n\t *\n\t * Output:\n\t *\n\t * columnFilters = [\n\t * { \"date:before\": '2020-01-01' },\n\t * { \"date:after\": '2020-01-01' }\n\t * ]\n\t *\n\t * @param {Array} filters The view filters to transform.\n\t * @return {Array} The transformed TanStack column filters.\n\t */\n\tconst toTanStackColumnFilters = ( filters ) =>\n\t\tfilters?.map( ( filter ) => ( {\n\t\t\t[ filter.field + ':' + filter.operator ]: filter.value,\n\t\t} ) );\n\n\t/**\n\t * Transform the filters from the view format into the tanstack columns filter format.\n\t *\n\t * Input:\n\t *\n\t * columnFilters = [\n\t * { \"date:before\": '2020-01-01'},\n\t * { \"date:after\": '2020-01-01' }\n\t * ]\n\t *\n\t * Output:\n\t *\n\t * view.filters = [\n\t * { field: 'date', operator: 'before', value: '2020-01-01' },\n\t * { field: 'date', operator: 'after', value: '2020-01-01' },\n\t * ]\n\t *\n\t * @param {Array} filters The TanStack column filters to transform.\n\t * @return {Array} The transformed view filters.\n\t */\n\tconst fromTanStackColumnFilters = ( filters ) =>\n\t\tfilters.map( ( filter ) => {\n\t\t\tconst [ key, value ] = Object.entries( filter )[ 0 ];\n\t\t\tconst [ field, operator ] = key.split( ':' );\n\t\t\treturn { field, operator, value };\n\t\t} );\n\n\tconst shownData = useAsyncList( data );\n\tconst dataView = useReactTable( {\n\t\tdata: shownData,\n\t\tcolumns,\n\t\tmanualSorting: true,\n\t\tmanualFiltering: true,\n\t\tmanualPagination: true,\n\t\tenableRowSelection: true,\n\t\tstate: {\n\t\t\tsorting: view.sort\n\t\t\t\t? [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: view.sort.field,\n\t\t\t\t\t\t\tdesc: view.sort.direction === 'desc',\n\t\t\t\t\t\t},\n\t\t\t\t ]\n\t\t\t\t: [],\n\t\t\tglobalFilter: view.search,\n\t\t\tcolumnFilters: toTanStackColumnFilters( view.filters ),\n\t\t\tpagination: {\n\t\t\t\tpageIndex: view.page,\n\t\t\t\tpageSize: view.perPage,\n\t\t\t},\n\t\t\tcolumnVisibility: columnVisibility ?? EMPTY_OBJECT,\n\t\t},\n\t\tgetRowId: getItemId,\n\t\tonSortingChange: ( sortingUpdater ) => {\n\t\t\tonChangeView( ( currentView ) => {\n\t\t\t\tconst sort =\n\t\t\t\t\ttypeof sortingUpdater === 'function'\n\t\t\t\t\t\t? sortingUpdater(\n\t\t\t\t\t\t\t\tcurrentView.sort\n\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tid: currentView.sort.field,\n\t\t\t\t\t\t\t\t\t\t\t\tdesc:\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentView.sort\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.direction === 'desc',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t\t\t: []\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sortingUpdater;\n\t\t\t\tif ( ! sort.length ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentView,\n\t\t\t\t\t\tsort: {},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst [ { id, desc } ] = sort;\n\t\t\t\treturn {\n\t\t\t\t\t...currentView,\n\t\t\t\t\tsort: { field: id, direction: desc ? 'desc' : 'asc' },\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\tonColumnVisibilityChange: ( columnVisibilityUpdater ) => {\n\t\t\tonChangeView( ( currentView ) => {\n\t\t\t\tconst hiddenFields = Object.entries(\n\t\t\t\t\tcolumnVisibilityUpdater()\n\t\t\t\t).reduce(\n\t\t\t\t\t( accumulator, [ fieldId, value ] ) => {\n\t\t\t\t\t\tif ( value ) {\n\t\t\t\t\t\t\treturn accumulator.filter(\n\t\t\t\t\t\t\t\t( id ) => id !== fieldId\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn [ ...accumulator, fieldId ];\n\t\t\t\t\t},\n\t\t\t\t\t[ ...( currentView.hiddenFields || [] ) ]\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\t...currentView,\n\t\t\t\t\thiddenFields,\n\t\t\t\t};\n\t\t\t} );\n\t\t},\n\t\tonGlobalFilterChange: ( value ) => {\n\t\t\tonChangeView( { ...view, search: value, page: 1 } );\n\t\t},\n\t\tonColumnFiltersChange: ( columnFiltersUpdater ) => {\n\t\t\tonChangeView( {\n\t\t\t\t...view,\n\t\t\t\tfilters: fromTanStackColumnFilters( columnFiltersUpdater() ),\n\t\t\t\tpage: 1,\n\t\t\t} );\n\t\t},\n\t\tonPaginationChange: ( paginationUpdater ) => {\n\t\t\tonChangeView( ( currentView ) => {\n\t\t\t\tconst { pageIndex, pageSize } = paginationUpdater( {\n\t\t\t\t\tpageIndex: currentView.page,\n\t\t\t\t\tpageSize: currentView.perPage,\n\t\t\t\t} );\n\t\t\t\treturn { ...view, page: pageIndex, perPage: pageSize };\n\t\t\t} );\n\t\t},\n\t\tgetCoreRowModel: getCoreRowModel(),\n\t\tgetFilteredRowModel: getFilteredRowModel(),\n\t\tgetSortedRowModel: getSortedRowModel(),\n\t\tgetPaginationRowModel: getPaginationRowModel(),\n\t\tpageCount: paginationInfo.totalPages,\n\t} );\n\n\tconst { rows } = dataView.getRowModel();\n\tconst hasRows = !! rows?.length;\n\tif ( isLoading ) {\n\t\t// TODO:Add spinner or progress bar..\n\t\treturn <h3>{ __( 'Loading' ) }</h3>;\n\t}\n\treturn (\n\t\t<div className=\"dataviews-list-view-wrapper\">\n\t\t\t{ hasRows && (\n\t\t\t\t<table className=\"dataviews-list-view\">\n\t\t\t\t\t<thead>\n\t\t\t\t\t\t{ dataView.getHeaderGroups().map( ( headerGroup ) => (\n\t\t\t\t\t\t\t<tr key={ headerGroup.id }>\n\t\t\t\t\t\t\t\t{ headerGroup.headers.map( ( header ) => (\n\t\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\t\tkey={ header.id }\n\t\t\t\t\t\t\t\t\t\tcolSpan={ header.colSpan }\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\theader.column.columnDef.width ||\n\t\t\t\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t\t\t\tminWidth:\n\t\t\t\t\t\t\t\t\t\t\t\theader.column.columnDef\n\t\t\t\t\t\t\t\t\t\t\t\t\t.minWidth || undefined,\n\t\t\t\t\t\t\t\t\t\t\tmaxWidth:\n\t\t\t\t\t\t\t\t\t\t\t\theader.column.columnDef\n\t\t\t\t\t\t\t\t\t\t\t\t\t.maxWidth || undefined,\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdata-field-id={ header.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<HeaderMenu\n\t\t\t\t\t\t\t\t\t\t\tdataView={ dataView }\n\t\t\t\t\t\t\t\t\t\t\theader={ header }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</thead>\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t{ rows.map( ( row ) => (\n\t\t\t\t\t\t\t<tr key={ row.id }>\n\t\t\t\t\t\t\t\t{ row.getVisibleCells().map( ( cell ) => (\n\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\tkey={ cell.column.id }\n\t\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\tcell.column.columnDef.width ||\n\t\t\t\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t\t\t\tminWidth:\n\t\t\t\t\t\t\t\t\t\t\t\tcell.column.columnDef\n\t\t\t\t\t\t\t\t\t\t\t\t\t.minWidth || undefined,\n\t\t\t\t\t\t\t\t\t\t\tmaxWidth:\n\t\t\t\t\t\t\t\t\t\t\t\tcell.column.columnDef\n\t\t\t\t\t\t\t\t\t\t\t\t\t.maxWidth || undefined,\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ flexRender(\n\t\t\t\t\t\t\t\t\t\t\tcell.column.columnDef.cell,\n\t\t\t\t\t\t\t\t\t\t\tcell.getContext()\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t) }\n\t\t\t{ ! hasRows && <p>{ __( 'no results' ) }</p> }\n\t\t</div>\n\t);\n}\n\nexport default ViewList;\n"],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { createElement } from "react";
2
- /**
3
- * Internal dependencies
4
- */
5
- import ViewList from './view-list';
6
- export function ViewSideBySide(props) {
7
- // To do: change to email-like preview list.
8
- return createElement(ViewList, {
9
- ...props
10
- });
11
- }
12
- //# sourceMappingURL=view-side-by-side.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["ViewList","ViewSideBySide","props","createElement"],"sources":["@wordpress/edit-site/src/components/dataviews/view-side-by-side.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport ViewList from './view-list';\n\nexport function ViewSideBySide( props ) {\n\t// To do: change to email-like preview list.\n\treturn <ViewList { ...props } />;\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,aAAa;AAElC,OAAO,SAASC,cAAcA,CAAEC,KAAK,EAAG;EACvC;EACA,OAAOC,aAAA,CAACH,QAAQ;IAAA,GAAME;EAAK,CAAI,CAAC;AACjC"}
@@ -1,164 +0,0 @@
1
- import { createElement } from "react";
2
- /**
3
- * External dependencies
4
- */
5
- import classnames from 'classnames';
6
-
7
- /**
8
- * WordPress dependencies
9
- */
10
- import { __, isRTL } from '@wordpress/i18n';
11
- import { useSelect, useDispatch } from '@wordpress/data';
12
- import { Button, VisuallyHidden, __experimentalText as Text, __experimentalHStack as HStack } from '@wordpress/components';
13
- import { BlockIcon } from '@wordpress/block-editor';
14
- import { store as commandsStore } from '@wordpress/commands';
15
- import { chevronLeftSmall, chevronRightSmall, page as pageIcon, navigation as navigationIcon, symbol } from '@wordpress/icons';
16
- import { displayShortcut } from '@wordpress/keycodes';
17
- import { store as coreStore } from '@wordpress/core-data';
18
- import { store as editorStore } from '@wordpress/editor';
19
- import { useRef, useState, useEffect } from '@wordpress/element';
20
-
21
- /**
22
- * Internal dependencies
23
- */
24
- import useEditedEntityRecord from '../../use-edited-entity-record';
25
- import { store as editSiteStore } from '../../../store';
26
- import { TEMPLATE_POST_TYPE, NAVIGATION_POST_TYPE, TEMPLATE_PART_POST_TYPE, PATTERN_TYPES, PATTERN_SYNC_TYPES } from '../../../utils/constants';
27
- const typeLabels = {
28
- [PATTERN_TYPES.user]: __('Editing pattern:'),
29
- [NAVIGATION_POST_TYPE]: __('Editing navigation menu:'),
30
- [TEMPLATE_POST_TYPE]: __('Editing template:'),
31
- [TEMPLATE_PART_POST_TYPE]: __('Editing template part:')
32
- };
33
- export default function DocumentActions() {
34
- const isPage = useSelect(select => select(editSiteStore).isPage(), []);
35
- return isPage ? createElement(PageDocumentActions, null) : createElement(TemplateDocumentActions, null);
36
- }
37
- function PageDocumentActions() {
38
- const {
39
- isEditingPage,
40
- hasResolved,
41
- isFound,
42
- title
43
- } = useSelect(select => {
44
- const {
45
- getEditedPostContext
46
- } = select(editSiteStore);
47
- const {
48
- getEditedEntityRecord,
49
- hasFinishedResolution
50
- } = select(coreStore);
51
- const {
52
- getRenderingMode
53
- } = select(editorStore);
54
- const context = getEditedPostContext();
55
- const queryArgs = ['postType', context.postType, context.postId];
56
- const page = getEditedEntityRecord(...queryArgs);
57
- return {
58
- isEditingPage: !!context.postId && getRenderingMode() !== 'template-only',
59
- hasResolved: hasFinishedResolution('getEditedEntityRecord', queryArgs),
60
- isFound: !!page,
61
- title: page?.title
62
- };
63
- }, []);
64
- const {
65
- setRenderingMode
66
- } = useDispatch(editorStore);
67
- const [isAnimated, setIsAnimated] = useState(false);
68
- const isLoading = useRef(true);
69
- useEffect(() => {
70
- if (!isLoading.current) {
71
- setIsAnimated(true);
72
- }
73
- isLoading.current = false;
74
- }, [isEditingPage]);
75
- if (!hasResolved) {
76
- return null;
77
- }
78
- if (!isFound) {
79
- return createElement("div", {
80
- className: "edit-site-document-actions"
81
- }, __('Document not found'));
82
- }
83
- return isEditingPage ? createElement(BaseDocumentActions, {
84
- className: classnames('is-page', {
85
- 'is-animated': isAnimated
86
- }),
87
- icon: pageIcon
88
- }, title) : createElement(TemplateDocumentActions, {
89
- className: classnames({
90
- 'is-animated': isAnimated
91
- }),
92
- onBack: () => setRenderingMode('template-locked')
93
- });
94
- }
95
- function TemplateDocumentActions({
96
- className,
97
- onBack
98
- }) {
99
- var _typeLabels$record$ty;
100
- const {
101
- isLoaded,
102
- record,
103
- getTitle,
104
- icon
105
- } = useEditedEntityRecord();
106
- if (!isLoaded) {
107
- return null;
108
- }
109
- if (!record) {
110
- return createElement("div", {
111
- className: "edit-site-document-actions"
112
- }, __('Document not found'));
113
- }
114
- let typeIcon = icon;
115
- if (record.type === NAVIGATION_POST_TYPE) {
116
- typeIcon = navigationIcon;
117
- } else if (record.type === PATTERN_TYPES.user) {
118
- typeIcon = symbol;
119
- }
120
- return createElement(BaseDocumentActions, {
121
- className: classnames(className, {
122
- 'is-synced-entity': record.wp_pattern_sync_status !== PATTERN_SYNC_TYPES.unsynced
123
- }),
124
- icon: typeIcon,
125
- onBack: onBack
126
- }, createElement(VisuallyHidden, {
127
- as: "span"
128
- }, (_typeLabels$record$ty = typeLabels[record.type]) !== null && _typeLabels$record$ty !== void 0 ? _typeLabels$record$ty : typeLabels[TEMPLATE_POST_TYPE]), getTitle());
129
- }
130
- function BaseDocumentActions({
131
- className,
132
- icon,
133
- children,
134
- onBack
135
- }) {
136
- const {
137
- open: openCommandCenter
138
- } = useDispatch(commandsStore);
139
- return createElement("div", {
140
- className: classnames('edit-site-document-actions', className)
141
- }, onBack && createElement(Button, {
142
- className: "edit-site-document-actions__back",
143
- icon: isRTL() ? chevronRightSmall : chevronLeftSmall,
144
- onClick: event => {
145
- event.stopPropagation();
146
- onBack();
147
- }
148
- }, __('Back')), createElement(Button, {
149
- className: "edit-site-document-actions__command",
150
- onClick: () => openCommandCenter()
151
- }, createElement(HStack, {
152
- className: "edit-site-document-actions__title",
153
- spacing: 1,
154
- justify: "center"
155
- }, createElement(BlockIcon, {
156
- icon: icon
157
- }), createElement(Text, {
158
- size: "body",
159
- as: "h1"
160
- }, children)), createElement("span", {
161
- className: "edit-site-document-actions__shortcut"
162
- }, displayShortcut.primary('k'))));
163
- }
164
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["classnames","__","isRTL","useSelect","useDispatch","Button","VisuallyHidden","__experimentalText","Text","__experimentalHStack","HStack","BlockIcon","store","commandsStore","chevronLeftSmall","chevronRightSmall","page","pageIcon","navigation","navigationIcon","symbol","displayShortcut","coreStore","editorStore","useRef","useState","useEffect","useEditedEntityRecord","editSiteStore","TEMPLATE_POST_TYPE","NAVIGATION_POST_TYPE","TEMPLATE_PART_POST_TYPE","PATTERN_TYPES","PATTERN_SYNC_TYPES","typeLabels","user","DocumentActions","isPage","select","createElement","PageDocumentActions","TemplateDocumentActions","isEditingPage","hasResolved","isFound","title","getEditedPostContext","getEditedEntityRecord","hasFinishedResolution","getRenderingMode","context","queryArgs","postType","postId","setRenderingMode","isAnimated","setIsAnimated","isLoading","current","className","BaseDocumentActions","icon","onBack","_typeLabels$record$ty","isLoaded","record","getTitle","typeIcon","type","wp_pattern_sync_status","unsynced","as","children","open","openCommandCenter","onClick","event","stopPropagation","spacing","justify","size","primary"],"sources":["@wordpress/edit-site/src/components/header-edit-mode/document-actions/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\tVisuallyHidden,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { store as commandsStore } from '@wordpress/commands';\nimport {\n\tchevronLeftSmall,\n\tchevronRightSmall,\n\tpage as pageIcon,\n\tnavigation as navigationIcon,\n\tsymbol,\n} from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useRef, useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useEditedEntityRecord from '../../use-edited-entity-record';\nimport { store as editSiteStore } from '../../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n} from '../../../utils/constants';\n\nconst typeLabels = {\n\t[ PATTERN_TYPES.user ]: __( 'Editing pattern:' ),\n\t[ NAVIGATION_POST_TYPE ]: __( 'Editing navigation menu:' ),\n\t[ TEMPLATE_POST_TYPE ]: __( 'Editing template:' ),\n\t[ TEMPLATE_PART_POST_TYPE ]: __( 'Editing template part:' ),\n};\n\nexport default function DocumentActions() {\n\tconst isPage = useSelect(\n\t\t( select ) => select( editSiteStore ).isPage(),\n\t\t[]\n\t);\n\treturn isPage ? <PageDocumentActions /> : <TemplateDocumentActions />;\n}\n\nfunction PageDocumentActions() {\n\tconst { isEditingPage, hasResolved, isFound, title } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostContext } = select( editSiteStore );\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getRenderingMode } = select( editorStore );\n\t\t\tconst context = getEditedPostContext();\n\t\t\tconst queryArgs = [ 'postType', context.postType, context.postId ];\n\t\t\tconst page = getEditedEntityRecord( ...queryArgs );\n\t\t\treturn {\n\t\t\t\tisEditingPage:\n\t\t\t\t\t!! context.postId && getRenderingMode() !== 'template-only',\n\t\t\t\thasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\tqueryArgs\n\t\t\t\t),\n\t\t\t\tisFound: !! page,\n\t\t\t\ttitle: page?.title,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { setRenderingMode } = useDispatch( editorStore );\n\tconst [ isAnimated, setIsAnimated ] = useState( false );\n\tconst isLoading = useRef( true );\n\n\tuseEffect( () => {\n\t\tif ( ! isLoading.current ) {\n\t\t\tsetIsAnimated( true );\n\t\t}\n\t\tisLoading.current = false;\n\t}, [ isEditingPage ] );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\tif ( ! isFound ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Document not found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn isEditingPage ? (\n\t\t<BaseDocumentActions\n\t\t\tclassName={ classnames( 'is-page', {\n\t\t\t\t'is-animated': isAnimated,\n\t\t\t} ) }\n\t\t\ticon={ pageIcon }\n\t\t>\n\t\t\t{ title }\n\t\t</BaseDocumentActions>\n\t) : (\n\t\t<TemplateDocumentActions\n\t\t\tclassName={ classnames( {\n\t\t\t\t'is-animated': isAnimated,\n\t\t\t} ) }\n\t\t\tonBack={ () => setRenderingMode( 'template-locked' ) }\n\t\t/>\n\t);\n}\n\nfunction TemplateDocumentActions( { className, onBack } ) {\n\tconst { isLoaded, record, getTitle, icon } = useEditedEntityRecord();\n\n\tif ( ! isLoaded ) {\n\t\treturn null;\n\t}\n\n\tif ( ! record ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Document not found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet typeIcon = icon;\n\tif ( record.type === NAVIGATION_POST_TYPE ) {\n\t\ttypeIcon = navigationIcon;\n\t} else if ( record.type === PATTERN_TYPES.user ) {\n\t\ttypeIcon = symbol;\n\t}\n\n\treturn (\n\t\t<BaseDocumentActions\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-synced-entity':\n\t\t\t\t\trecord.wp_pattern_sync_status !==\n\t\t\t\t\tPATTERN_SYNC_TYPES.unsynced,\n\t\t\t} ) }\n\t\t\ticon={ typeIcon }\n\t\t\tonBack={ onBack }\n\t\t>\n\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t{ typeLabels[ record.type ] ??\n\t\t\t\t\ttypeLabels[ TEMPLATE_POST_TYPE ] }\n\t\t\t</VisuallyHidden>\n\t\t\t{ getTitle() }\n\t\t</BaseDocumentActions>\n\t);\n}\n\nfunction BaseDocumentActions( { className, icon, children, onBack } ) {\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-document-actions', className ) }\n\t\t>\n\t\t\t{ onBack && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"edit-site-document-actions__back\"\n\t\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tonBack();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-document-actions__command\"\n\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"edit-site-document-actions__title\"\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t>\n\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t<Text size=\"body\" as=\"h1\">\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</Text>\n\t\t\t\t</HStack>\n\t\t\t\t<span className=\"edit-site-document-actions__shortcut\">\n\t\t\t\t\t{ displayShortcut.primary( 'k' ) }\n\t\t\t\t</span>\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}