@wordpress/edit-site 5.23.0 → 5.24.1

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 (320) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +56 -38
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/block-editor/site-editor-canvas.js +7 -2
  5. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  6. package/build/components/dataviews/add-filter.js +21 -20
  7. package/build/components/dataviews/add-filter.js.map +1 -1
  8. package/build/components/dataviews/constants.js +14 -0
  9. package/build/components/dataviews/constants.js.map +1 -0
  10. package/build/components/dataviews/dataviews.js +9 -7
  11. package/build/components/dataviews/dataviews.js.map +1 -1
  12. package/build/components/dataviews/filter-summary.js +62 -0
  13. package/build/components/dataviews/filter-summary.js.map +1 -0
  14. package/build/components/dataviews/filters.js +15 -30
  15. package/build/components/dataviews/filters.js.map +1 -1
  16. package/build/components/dataviews/item-actions.js +84 -30
  17. package/build/components/dataviews/item-actions.js.map +1 -1
  18. package/build/components/dataviews/pagination.js +4 -0
  19. package/build/components/dataviews/pagination.js.map +1 -1
  20. package/build/components/dataviews/view-actions.js +24 -24
  21. package/build/components/dataviews/view-actions.js.map +1 -1
  22. package/build/components/dataviews/view-grid.js +48 -25
  23. package/build/components/dataviews/view-grid.js.map +1 -1
  24. package/build/components/dataviews/view-list.js +28 -33
  25. package/build/components/dataviews/view-list.js.map +1 -1
  26. package/build/components/editor/index.js +23 -27
  27. package/build/components/editor/index.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  29. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  30. package/build/components/global-styles/font-library-modal/utils/index.js +15 -2
  31. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  32. package/build/components/global-styles/header.js +4 -2
  33. package/build/components/global-styles/header.js.map +1 -1
  34. package/build/components/global-styles/screen-block-list.js +22 -16
  35. package/build/components/global-styles/screen-block-list.js.map +1 -1
  36. package/build/components/global-styles/screen-revisions/index.js +26 -5
  37. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  38. package/build/components/global-styles/screen-revisions/revisions-buttons.js +52 -24
  39. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  40. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  41. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  42. package/build/components/global-styles/ui.js +28 -36
  43. package/build/components/global-styles/ui.js.map +1 -1
  44. package/build/components/header-edit-mode/document-actions/index.js +21 -16
  45. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  46. package/build/components/header-edit-mode/index.js +2 -1
  47. package/build/components/header-edit-mode/index.js.map +1 -1
  48. package/build/components/header-edit-mode/more-menu/index.js +1 -1
  49. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  50. package/build/components/list/added-by.js +43 -54
  51. package/build/components/list/added-by.js.map +1 -1
  52. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
  53. package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  54. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  55. package/build/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  56. package/build/components/page-content-focus-notifications/index.js +22 -0
  57. package/build/components/page-content-focus-notifications/index.js.map +1 -0
  58. package/build/components/page-pages/index.js +9 -15
  59. package/build/components/page-pages/index.js.map +1 -1
  60. package/build/components/page-patterns/use-patterns.js +1 -1
  61. package/build/components/page-patterns/use-patterns.js.map +1 -1
  62. package/build/components/page-templates/dataviews-templates.js +166 -51
  63. package/build/components/page-templates/dataviews-templates.js.map +1 -1
  64. package/build/components/preferences-modal/index.js +1 -1
  65. package/build/components/preferences-modal/index.js.map +1 -1
  66. package/build/components/save-button/index.js +9 -6
  67. package/build/components/save-button/index.js.map +1 -1
  68. package/build/components/save-hub/index.js +14 -0
  69. package/build/components/save-hub/index.js.map +1 -1
  70. package/build/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
  71. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  72. package/build/components/sidebar-dataviews/default-views.js +7 -2
  73. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  74. package/build/components/sidebar-edit-mode/index.js +6 -5
  75. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  76. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +15 -26
  77. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  78. package/build/components/sidebar-edit-mode/page-panels/hooks.js +22 -8
  79. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  80. package/build/components/sidebar-edit-mode/page-panels/page-status.js +8 -5
  81. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  82. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +4 -8
  83. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  84. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +2 -2
  85. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  86. package/build/components/sidebar-edit-mode/settings-header/index.js +10 -6
  87. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen-page/index.js +23 -4
  89. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  90. package/build/components/style-book/index.js +22 -12
  91. package/build/components/style-book/index.js.map +1 -1
  92. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
  93. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  94. package/build/components/welcome-guide/page.js +2 -2
  95. package/build/components/welcome-guide/page.js.map +1 -1
  96. package/build/components/welcome-guide/template.js +6 -3
  97. package/build/components/welcome-guide/template.js.map +1 -1
  98. package/build/hooks/commands/use-edit-mode-commands.js +24 -14
  99. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  100. package/build/store/actions.js +4 -1
  101. package/build/store/actions.js.map +1 -1
  102. package/build/store/private-actions.js +2 -27
  103. package/build/store/private-actions.js.map +1 -1
  104. package/build/store/private-selectors.js +0 -23
  105. package/build/store/private-selectors.js.map +1 -1
  106. package/build/store/reducer.js +1 -40
  107. package/build/store/reducer.js.map +1 -1
  108. package/build/store/selectors.js +8 -4
  109. package/build/store/selectors.js.map +1 -1
  110. package/build/utils/constants.js +1 -12
  111. package/build/utils/constants.js.map +1 -1
  112. package/build-module/components/actions/index.js +55 -36
  113. package/build-module/components/actions/index.js.map +1 -1
  114. package/build-module/components/block-editor/site-editor-canvas.js +7 -2
  115. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  116. package/build-module/components/dataviews/add-filter.js +21 -20
  117. package/build-module/components/dataviews/add-filter.js.map +1 -1
  118. package/build-module/components/dataviews/constants.js +6 -0
  119. package/build-module/components/dataviews/constants.js.map +1 -0
  120. package/build-module/components/dataviews/dataviews.js +9 -7
  121. package/build-module/components/dataviews/dataviews.js.map +1 -1
  122. package/build-module/components/dataviews/filter-summary.js +55 -0
  123. package/build-module/components/dataviews/filter-summary.js.map +1 -0
  124. package/build-module/components/dataviews/filters.js +15 -28
  125. package/build-module/components/dataviews/filters.js.map +1 -1
  126. package/build-module/components/dataviews/item-actions.js +84 -30
  127. package/build-module/components/dataviews/item-actions.js.map +1 -1
  128. package/build-module/components/dataviews/pagination.js +4 -0
  129. package/build-module/components/dataviews/pagination.js.map +1 -1
  130. package/build-module/components/dataviews/view-actions.js +24 -24
  131. package/build-module/components/dataviews/view-actions.js.map +1 -1
  132. package/build-module/components/dataviews/view-grid.js +49 -26
  133. package/build-module/components/dataviews/view-grid.js.map +1 -1
  134. package/build-module/components/dataviews/view-list.js +28 -33
  135. package/build-module/components/dataviews/view-list.js.map +1 -1
  136. package/build-module/components/editor/index.js +26 -30
  137. package/build-module/components/editor/index.js.map +1 -1
  138. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  139. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  140. package/build-module/components/global-styles/font-library-modal/utils/index.js +14 -2
  141. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  142. package/build-module/components/global-styles/header.js +4 -2
  143. package/build-module/components/global-styles/header.js.map +1 -1
  144. package/build-module/components/global-styles/screen-block-list.js +23 -17
  145. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  146. package/build-module/components/global-styles/screen-revisions/index.js +27 -6
  147. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  148. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +51 -24
  149. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  150. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  151. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  152. package/build-module/components/global-styles/ui.js +28 -36
  153. package/build-module/components/global-styles/ui.js.map +1 -1
  154. package/build-module/components/header-edit-mode/document-actions/index.js +21 -16
  155. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  156. package/build-module/components/header-edit-mode/index.js +2 -1
  157. package/build-module/components/header-edit-mode/index.js.map +1 -1
  158. package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
  159. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  160. package/build-module/components/list/added-by.js +44 -55
  161. package/build-module/components/list/added-by.js.map +1 -1
  162. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
  163. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  164. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  165. package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  166. package/build-module/components/page-content-focus-notifications/index.js +14 -0
  167. package/build-module/components/page-content-focus-notifications/index.js.map +1 -0
  168. package/build-module/components/page-pages/index.js +10 -16
  169. package/build-module/components/page-pages/index.js.map +1 -1
  170. package/build-module/components/page-patterns/use-patterns.js +1 -1
  171. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  172. package/build-module/components/page-templates/dataviews-templates.js +168 -53
  173. package/build-module/components/page-templates/dataviews-templates.js.map +1 -1
  174. package/build-module/components/preferences-modal/index.js +1 -1
  175. package/build-module/components/preferences-modal/index.js.map +1 -1
  176. package/build-module/components/save-button/index.js +11 -8
  177. package/build-module/components/save-button/index.js.map +1 -1
  178. package/build-module/components/save-hub/index.js +14 -0
  179. package/build-module/components/save-hub/index.js.map +1 -1
  180. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
  181. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  182. package/build-module/components/sidebar-dataviews/default-views.js +7 -2
  183. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  184. package/build-module/components/sidebar-edit-mode/index.js +6 -5
  185. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  186. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +16 -27
  187. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  188. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +21 -7
  189. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  190. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +9 -6
  191. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  192. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +5 -9
  193. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  194. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
  195. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  196. package/build-module/components/sidebar-edit-mode/settings-header/index.js +10 -6
  197. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  198. package/build-module/components/sidebar-navigation-screen-page/index.js +23 -4
  199. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  200. package/build-module/components/style-book/index.js +22 -12
  201. package/build-module/components/style-book/index.js.map +1 -1
  202. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
  203. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  204. package/build-module/components/welcome-guide/page.js +2 -2
  205. package/build-module/components/welcome-guide/page.js.map +1 -1
  206. package/build-module/components/welcome-guide/template.js +6 -3
  207. package/build-module/components/welcome-guide/template.js.map +1 -1
  208. package/build-module/hooks/commands/use-edit-mode-commands.js +24 -14
  209. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  210. package/build-module/store/actions.js +4 -1
  211. package/build-module/store/actions.js.map +1 -1
  212. package/build-module/store/private-actions.js +1 -25
  213. package/build-module/store/private-actions.js.map +1 -1
  214. package/build-module/store/private-selectors.js +0 -22
  215. package/build-module/store/private-selectors.js.map +1 -1
  216. package/build-module/store/reducer.js +1 -38
  217. package/build-module/store/reducer.js.map +1 -1
  218. package/build-module/store/selectors.js +8 -4
  219. package/build-module/store/selectors.js.map +1 -1
  220. package/build-module/utils/constants.js +0 -10
  221. package/build-module/utils/constants.js.map +1 -1
  222. package/build-style/style-rtl.css +152 -62
  223. package/build-style/style.css +152 -62
  224. package/package.json +41 -41
  225. package/src/components/actions/index.js +76 -48
  226. package/src/components/block-editor/site-editor-canvas.js +8 -2
  227. package/src/components/dataviews/README.md +14 -11
  228. package/src/components/dataviews/add-filter.js +21 -24
  229. package/src/components/dataviews/constants.js +5 -0
  230. package/src/components/dataviews/dataviews.js +10 -10
  231. package/src/components/dataviews/filter-summary.js +79 -0
  232. package/src/components/dataviews/filters.js +18 -35
  233. package/src/components/dataviews/item-actions.js +106 -42
  234. package/src/components/dataviews/pagination.js +4 -0
  235. package/src/components/dataviews/style.scss +84 -8
  236. package/src/components/dataviews/view-actions.js +39 -41
  237. package/src/components/dataviews/view-grid.js +63 -38
  238. package/src/components/dataviews/view-list.js +50 -57
  239. package/src/components/editor/index.js +18 -34
  240. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  241. package/src/components/global-styles/font-library-modal/utils/index.js +20 -9
  242. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +46 -15
  243. package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +28 -0
  244. package/src/components/global-styles/header.js +2 -1
  245. package/src/components/global-styles/screen-block-list.js +37 -26
  246. package/src/components/global-styles/screen-revisions/index.js +39 -10
  247. package/src/components/global-styles/screen-revisions/revisions-buttons.js +65 -45
  248. package/src/components/global-styles/screen-revisions/style.scss +52 -28
  249. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -6
  250. package/src/components/global-styles/style.scss +0 -11
  251. package/src/components/global-styles/ui.js +59 -74
  252. package/src/components/header-edit-mode/document-actions/index.js +20 -18
  253. package/src/components/header-edit-mode/index.js +1 -0
  254. package/src/components/header-edit-mode/more-menu/index.js +1 -1
  255. package/src/components/list/added-by.js +23 -63
  256. package/src/components/list/style.scss +11 -13
  257. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +12 -13
  258. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  259. package/src/components/page-content-focus-notifications/index.js +14 -0
  260. package/src/components/page-pages/index.js +15 -20
  261. package/src/components/page-patterns/use-patterns.js +1 -1
  262. package/src/components/page-templates/dataviews-templates.js +169 -48
  263. package/src/components/page-templates/style.scss +13 -0
  264. package/src/components/preferences-modal/index.js +1 -1
  265. package/src/components/save-button/index.js +37 -24
  266. package/src/components/save-hub/index.js +15 -0
  267. package/src/components/save-hub/style.scss +7 -0
  268. package/src/components/sidebar-dataviews/custom-dataviews-list.js +2 -0
  269. package/src/components/sidebar-dataviews/default-views.js +7 -2
  270. package/src/components/sidebar-dataviews/style.scss +7 -0
  271. package/src/components/sidebar-edit-mode/index.js +13 -9
  272. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +33 -52
  273. package/src/components/sidebar-edit-mode/page-panels/hooks.js +20 -9
  274. package/src/components/sidebar-edit-mode/page-panels/page-status.js +6 -6
  275. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +8 -9
  276. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
  277. package/src/components/sidebar-edit-mode/page-panels/style.scss +9 -19
  278. package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
  279. package/src/components/sidebar-navigation-screen/style.scss +1 -0
  280. package/src/components/sidebar-navigation-screen-page/index.js +24 -3
  281. package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
  282. package/src/components/style-book/index.js +48 -35
  283. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +69 -17
  284. package/src/components/welcome-guide/page.js +2 -2
  285. package/src/components/welcome-guide/template.js +4 -2
  286. package/src/hooks/commands/use-edit-mode-commands.js +22 -16
  287. package/src/store/actions.js +5 -1
  288. package/src/store/private-actions.js +1 -24
  289. package/src/store/private-selectors.js +0 -22
  290. package/src/store/reducer.js +0 -39
  291. package/src/store/selectors.js +12 -4
  292. package/src/store/test/actions.js +3 -32
  293. package/src/store/test/reducer.js +0 -62
  294. package/src/store/test/selectors.js +0 -35
  295. package/src/style.scss +1 -0
  296. package/src/utils/constants.js +0 -10
  297. package/build/components/dataviews/in-filter.js +0 -51
  298. package/build/components/dataviews/in-filter.js.map +0 -1
  299. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  300. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -63
  301. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  302. package/build/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  303. package/build/components/page-content-focus-manager/index.js +0 -61
  304. package/build/components/page-content-focus-manager/index.js.map +0 -1
  305. package/build/components/sidebar-edit-mode/page-panels/publish-date.js +0 -87
  306. package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  307. package/build-module/components/dataviews/in-filter.js +0 -42
  308. package/build-module/components/dataviews/in-filter.js.map +0 -1
  309. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  310. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -56
  311. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  312. package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  313. package/build-module/components/page-content-focus-manager/index.js +0 -52
  314. package/build-module/components/page-content-focus-manager/index.js.map +0 -1
  315. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +0 -80
  316. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  317. package/src/components/dataviews/in-filter.js +0 -63
  318. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -57
  319. package/src/components/page-content-focus-manager/index.js +0 -51
  320. package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.ViewGrid = ViewGrid;
8
8
  var _react = require("react");
9
9
  var _components = require("@wordpress/components");
10
+ var _compose = require("@wordpress/compose");
10
11
  var _itemActions = _interopRequireDefault(require("./item-actions"));
11
12
  /**
12
13
  * WordPress dependencies
@@ -20,40 +21,62 @@ function ViewGrid({
20
21
  data,
21
22
  fields,
22
23
  view,
23
- actions
24
+ actions,
25
+ getItemId
24
26
  }) {
25
27
  const mediaField = fields.find(field => field.id === view.layout.mediaField);
26
- const visibleFields = fields.filter(field => !view.hiddenFields.includes(field.id) && field.id !== view.layout.mediaField);
28
+ const primaryField = fields.find(field => field.id === view.layout.primaryField);
29
+ const visibleFields = fields.filter(field => !view.hiddenFields.includes(field.id) && ![view.layout.mediaField, view.layout.primaryField].includes(field.id));
30
+ const shownData = (0, _compose.useAsyncList)(data, {
31
+ step: 3
32
+ });
27
33
  return (0, _react.createElement)(_components.__experimentalGrid, {
28
34
  gap: 8,
29
35
  columns: 2,
30
- alignment: "top"
31
- }, data.map((item, index) => {
32
- return (0, _react.createElement)(_components.__experimentalVStack, {
33
- key: index
34
- }, (0, _react.createElement)("div", {
35
- className: "dataviews-view-grid__media"
36
- }, mediaField?.render({
36
+ alignment: "top",
37
+ className: "dataviews-grid-view"
38
+ }, shownData.map((item, index) => (0, _react.createElement)(_components.__experimentalVStack, {
39
+ spacing: 3,
40
+ key: getItemId?.(item) || index,
41
+ className: "dataviews-view-grid__card"
42
+ }, (0, _react.createElement)("div", {
43
+ className: "dataviews-view-grid__media"
44
+ }, mediaField?.render({
45
+ item,
46
+ view
47
+ })), (0, _react.createElement)(_components.__experimentalHStack, {
48
+ className: "dataviews-view-grid__title",
49
+ justify: "space-between"
50
+ }, primaryField?.render({
51
+ item,
52
+ view
53
+ }), (0, _react.createElement)(_itemActions.default, {
54
+ item: item,
55
+ actions: actions,
56
+ isCompact: true
57
+ })), (0, _react.createElement)(_components.__experimentalVStack, {
58
+ className: "dataviews-view-grid__fields",
59
+ spacing: 3
60
+ }, visibleFields.map(field => {
61
+ const renderedValue = field.render({
37
62
  item,
38
63
  view
39
- }) || (0, _react.createElement)(_components.Placeholder, {
40
- withIllustration: true,
41
- style: {
42
- width: '100%',
43
- minHeight: '200px'
44
- }
45
- })), (0, _react.createElement)(_components.__experimentalHStack, {
46
- justify: "space-between",
47
- alignment: "top"
48
- }, (0, _react.createElement)(_components.FlexBlock, null, (0, _react.createElement)(_components.__experimentalVStack, null, visibleFields.map(field => (0, _react.createElement)("div", {
49
- key: field.id
64
+ });
65
+ if (!renderedValue) {
66
+ return null;
67
+ }
68
+ return (0, _react.createElement)(_components.__experimentalVStack, {
69
+ className: "dataviews-view-grid__field",
70
+ key: field.id,
71
+ spacing: 1
72
+ }, (0, _react.createElement)("div", {
73
+ className: "dataviews-view-grid__field-header"
74
+ }, field.header), (0, _react.createElement)("div", {
75
+ className: "dataviews-view-grid__field-value"
50
76
  }, field.render({
51
77
  item,
52
78
  view
53
- }))))), (0, _react.createElement)(_components.FlexBlock, null, (0, _react.createElement)(_itemActions.default, {
54
- item: item,
55
- actions: actions
56
- }))));
57
- }));
79
+ })));
80
+ })))));
58
81
  }
59
82
  //# sourceMappingURL=view-grid.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_itemActions","_interopRequireDefault","ViewGrid","data","fields","view","actions","mediaField","find","field","id","layout","visibleFields","filter","hiddenFields","includes","_react","createElement","__experimentalGrid","gap","columns","alignment","map","item","index","__experimentalVStack","key","className","render","Placeholder","withIllustration","style","width","minHeight","__experimentalHStack","justify","FlexBlock","default"],"sources":["@wordpress/edit-site/src/components/dataviews/view-grid.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tFlexBlock,\n\tPlaceholder,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from './item-actions';\n\nexport function ViewGrid( { data, fields, view, actions } ) {\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout.mediaField\n\t);\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\tfield.id !== view.layout.mediaField\n\t);\n\treturn (\n\t\t<Grid gap={ 8 } columns={ 2 } alignment=\"top\">\n\t\t\t{ data.map( ( item, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack key={ index }>\n\t\t\t\t\t\t<div className=\"dataviews-view-grid__media\">\n\t\t\t\t\t\t\t{ mediaField?.render( { item, view } ) || (\n\t\t\t\t\t\t\t\t<Placeholder\n\t\t\t\t\t\t\t\t\twithIllustration\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\tminHeight: '200px',\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) }\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<HStack justify=\"space-between\" alignment=\"top\">\n\t\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t\t\t<div key={ field.id }>\n\t\t\t\t\t\t\t\t\t\t\t{ field.render( { item, view } ) }\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t\t<ItemActions\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Grid>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAWA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AAdA;AACA;AACA;;AASA;AACA;AACA;;AAGO,SAASG,QAAQA,CAAE;EAAEC,IAAI;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAQ,CAAC,EAAG;EAC3D,MAAMC,UAAU,GAAGH,MAAM,CAACI,IAAI,CAC3BC,KAAK,IAAMA,KAAK,CAACC,EAAE,KAAKL,IAAI,CAACM,MAAM,CAACJ,UACvC,CAAC;EACD,MAAMK,aAAa,GAAGR,MAAM,CAACS,MAAM,CAChCJ,KAAK,IACN,CAAEJ,IAAI,CAACS,YAAY,CAACC,QAAQ,CAAEN,KAAK,CAACC,EAAG,CAAC,IACxCD,KAAK,CAACC,EAAE,KAAKL,IAAI,CAACM,MAAM,CAACJ,UAC3B,CAAC;EACD,OACC,IAAAS,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAoB,kBAAI;IAACC,GAAG,EAAG,CAAG;IAACC,OAAO,EAAG,CAAG;IAACC,SAAS,EAAC;EAAK,GAC1ClB,IAAI,CAACmB,GAAG,CAAE,CAAEC,IAAI,EAAEC,KAAK,KAAM;IAC9B,OACC,IAAAR,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAA2B,oBAAM;MAACC,GAAG,EAAGF;IAAO,GACpB,IAAAR,MAAA,CAAAC,aAAA;MAAKU,SAAS,EAAC;IAA4B,GACxCpB,UAAU,EAAEqB,MAAM,CAAE;MAAEL,IAAI;MAAElB;IAAK,CAAE,CAAC,IACrC,IAAAW,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAA+B,WAAW;MACXC,gBAAgB;MAChBC,KAAK,EAAG;QACPC,KAAK,EAAE,MAAM;QACbC,SAAS,EAAE;MACZ;IAAG,CACH,CAEE,CAAC,EAEN,IAAAjB,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAoC,oBAAM;MAACC,OAAO,EAAC,eAAe;MAACd,SAAS,EAAC;IAAK,GAC9C,IAAAL,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAsC,SAAS,QACT,IAAApB,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAA2B,oBAAM,QACJb,aAAa,CAACU,GAAG,CAAIb,KAAK,IAC3B,IAAAO,MAAA,CAAAC,aAAA;MAAKS,GAAG,EAAGjB,KAAK,CAACC;IAAI,GAClBD,KAAK,CAACmB,MAAM,CAAE;MAAEL,IAAI;MAAElB;IAAK,CAAE,CAC3B,CACJ,CACK,CACE,CAAC,EACZ,IAAAW,MAAA,CAAAC,aAAA,EAACnB,WAAA,CAAAsC,SAAS,QACT,IAAApB,MAAA,CAAAC,aAAA,EAACjB,YAAA,CAAAqC,OAAW;MACXd,IAAI,EAAGA,IAAM;MACbjB,OAAO,EAAGA;IAAS,CACnB,CACS,CACJ,CACD,CAAC;EAEX,CAAE,CACG,CAAC;AAET"}
1
+ {"version":3,"names":["_components","require","_compose","_itemActions","_interopRequireDefault","ViewGrid","data","fields","view","actions","getItemId","mediaField","find","field","id","layout","primaryField","visibleFields","filter","hiddenFields","includes","shownData","useAsyncList","step","_react","createElement","__experimentalGrid","gap","columns","alignment","className","map","item","index","__experimentalVStack","spacing","key","render","__experimentalHStack","justify","default","isCompact","renderedValue","header"],"sources":["@wordpress/edit-site/src/components/dataviews/view-grid.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from './item-actions';\n\nexport function ViewGrid( { data, fields, view, actions, getItemId } ) {\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.mediaField, view.layout.primaryField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\tconst shownData = useAsyncList( data, { step: 3 } );\n\treturn (\n\t\t<Grid\n\t\t\tgap={ 8 }\n\t\t\tcolumns={ 2 }\n\t\t\talignment=\"top\"\n\t\t\tclassName=\"dataviews-grid-view\"\n\t\t>\n\t\t\t{ shownData.map( ( item, index ) => (\n\t\t\t\t<VStack\n\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\tkey={ getItemId?.( item ) || index }\n\t\t\t\t\tclassName=\"dataviews-view-grid__card\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dataviews-view-grid__media\">\n\t\t\t\t\t\t{ mediaField?.render( { item, view } ) }\n\t\t\t\t\t</div>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__title\"\n\t\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ primaryField?.render( { item, view } ) }\n\t\t\t\t\t\t<ItemActions\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\tisCompact\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-grid__fields\"\n\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\t\tconst renderedValue = field.render( {\n\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\tview,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tif ( ! renderedValue ) {\n\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field\"\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-grid__field-header\">\n\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-grid__field-value\">\n\t\t\t\t\t\t\t\t\t\t{ field.render( { item, view } ) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</VStack>\n\t\t\t\t</VStack>\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n"],"mappings":"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"}
@@ -8,11 +8,13 @@ exports.default = void 0;
8
8
  var _react = require("react");
9
9
  var _reactTable = require("@tanstack/react-table");
10
10
  var _i18n = require("@wordpress/i18n");
11
+ var _compose = require("@wordpress/compose");
11
12
  var _icons = require("@wordpress/icons");
12
13
  var _components = require("@wordpress/components");
13
14
  var _element = require("@wordpress/element");
14
15
  var _lockUnlock = require("../../lock-unlock");
15
16
  var _itemActions = _interopRequireDefault(require("./item-actions"));
17
+ var _constants = require("./constants");
16
18
  /**
17
19
  * External dependencies
18
20
  */
@@ -26,12 +28,12 @@ var _itemActions = _interopRequireDefault(require("./item-actions"));
26
28
  */
27
29
 
28
30
  const {
29
- DropdownMenuV2,
30
- DropdownMenuGroupV2,
31
- DropdownMenuItemV2,
32
- DropdownMenuSeparatorV2,
33
- DropdownSubMenuV2,
34
- DropdownSubMenuTriggerV2
31
+ DropdownMenuV2: DropdownMenu,
32
+ DropdownMenuGroupV2: DropdownMenuGroup,
33
+ DropdownMenuItemV2: DropdownMenuItem,
34
+ DropdownMenuSeparatorV2: DropdownMenuSeparator,
35
+ DropdownSubMenuV2: DropdownSubMenu,
36
+ DropdownSubMenuTriggerV2: DropdownSubMenuTrigger
35
37
  } = (0, _lockUnlock.unlock)(_components.privateApis);
36
38
  const EMPTY_OBJECT = {};
37
39
  const sortingItemsInfo = {
@@ -63,17 +65,14 @@ function HeaderMenu({
63
65
  }
64
66
  const sortedDirection = header.column.getIsSorted();
65
67
  let filter;
66
- if (header.column.columnDef.filters?.length > 0 && header.column.columnDef.filters.some(f => 'string' === typeof f && f === 'in')) {
68
+ if (header.column.columnDef.type === _constants.ENUMERATION_TYPE) {
67
69
  filter = {
68
70
  field: header.column.columnDef.id,
69
- elements: [{
70
- value: '',
71
- label: (0, _i18n.__)('All')
72
- }, ...(header.column.columnDef.elements || [])]
71
+ elements: header.column.columnDef.elements || []
73
72
  };
74
73
  }
75
74
  const isFilterable = !!filter;
76
- return (0, _react.createElement)(DropdownMenuV2, {
75
+ return (0, _react.createElement)(DropdownMenu, {
77
76
  align: "start",
78
77
  trigger: (0, _react.createElement)(_components.Button, {
79
78
  icon: sortIcons[header.column.getIsSorted()],
@@ -83,7 +82,7 @@ function HeaderMenu({
83
82
  padding: 0
84
83
  }
85
84
  })
86
- }, (0, _react.createElement)(WithSeparators, null, isSortable && (0, _react.createElement)(DropdownMenuGroupV2, null, Object.entries(sortingItemsInfo).map(([direction, info]) => (0, _react.createElement)(DropdownMenuItemV2, {
85
+ }, (0, _react.createElement)(WithSeparators, null, isSortable && (0, _react.createElement)(DropdownMenuGroup, null, Object.entries(sortingItemsInfo).map(([direction, info]) => (0, _react.createElement)(DropdownMenuItem, {
87
86
  key: direction,
88
87
  prefix: (0, _react.createElement)(_components.Icon, {
89
88
  icon: info.icon
@@ -102,7 +101,7 @@ function HeaderMenu({
102
101
  }]);
103
102
  }
104
103
  }
105
- }, info.label))), isHidable && (0, _react.createElement)(DropdownMenuItemV2, {
104
+ }, info.label))), isHidable && (0, _react.createElement)(DropdownMenuItem, {
106
105
  prefix: (0, _react.createElement)(_components.Icon, {
107
106
  icon: _icons.unseen
108
107
  }),
@@ -110,9 +109,9 @@ function HeaderMenu({
110
109
  event.preventDefault();
111
110
  header.column.getToggleVisibilityHandler()(event);
112
111
  }
113
- }, (0, _i18n.__)('Hide')), isFilterable && (0, _react.createElement)(DropdownMenuGroupV2, null, (0, _react.createElement)(DropdownSubMenuV2, {
112
+ }, (0, _i18n.__)('Hide')), isFilterable && (0, _react.createElement)(DropdownMenuGroup, null, (0, _react.createElement)(DropdownSubMenu, {
114
113
  key: filter.field,
115
- trigger: (0, _react.createElement)(DropdownSubMenuTriggerV2, {
114
+ trigger: (0, _react.createElement)(DropdownSubMenuTrigger, {
116
115
  prefix: (0, _react.createElement)(_components.Icon, {
117
116
  icon: _icons.funnel
118
117
  }),
@@ -124,11 +123,6 @@ function HeaderMenu({
124
123
  let isActive = false;
125
124
  const columnFilters = dataView.getState().columnFilters;
126
125
  const columnFilter = columnFilters.find(f => Object.keys(f)[0].split(':')[0] === filter.field);
127
-
128
- // Set the empty item as active if the filter is not set.
129
- if (!columnFilter && element.value === '') {
130
- isActive = true;
131
- }
132
126
  if (columnFilter) {
133
127
  const value = Object.values(columnFilter)[0];
134
128
  // Intentionally use loose comparison, so it does type conversion.
@@ -136,7 +130,7 @@ function HeaderMenu({
136
130
  isActive = element.value == value; // eslint-disable-line eqeqeq
137
131
  }
138
132
 
139
- return (0, _react.createElement)(DropdownMenuItemV2, {
133
+ return (0, _react.createElement)(DropdownMenuItem, {
140
134
  key: element.value,
141
135
  suffix: isActive && (0, _react.createElement)(_components.Icon, {
142
136
  icon: _icons.check
@@ -144,15 +138,11 @@ function HeaderMenu({
144
138
  onSelect: () => {
145
139
  const otherFilters = columnFilters?.filter(f => {
146
140
  const [field, operator] = Object.keys(f)[0].split(':');
147
- return field !== filter.field || operator !== 'in';
141
+ return field !== filter.field || operator !== _constants.OPERATOR_IN;
148
142
  });
149
- if (element.value === '') {
150
- dataView.setColumnFilters(otherFilters);
151
- } else {
152
- dataView.setColumnFilters([...otherFilters, {
153
- [filter.field + ':in']: element.value
154
- }]);
155
- }
143
+ dataView.setColumnFilters([...otherFilters, {
144
+ [filter.field + ':in']: isActive ? undefined : element.value
145
+ }]);
156
146
  }
157
147
  }, element.label);
158
148
  })))));
@@ -162,7 +152,7 @@ function WithSeparators({
162
152
  }) {
163
153
  return _element.Children.toArray(children).filter(Boolean).map((child, i) => (0, _react.createElement)(_element.Fragment, {
164
154
  key: i
165
- }, i > 0 && (0, _react.createElement)(DropdownMenuSeparatorV2, null), child));
155
+ }, i > 0 && (0, _react.createElement)(DropdownMenuSeparator, null), child));
166
156
  }
167
157
  function ViewList({
168
158
  view,
@@ -170,6 +160,7 @@ function ViewList({
170
160
  fields,
171
161
  actions,
172
162
  data,
163
+ getItemId,
173
164
  isLoading = false,
174
165
  paginationInfo
175
166
  }) {
@@ -269,8 +260,9 @@ function ViewList({
269
260
  value
270
261
  };
271
262
  });
263
+ const shownData = (0, _compose.useAsyncList)(data);
272
264
  const dataView = (0, _reactTable.useReactTable)({
273
- data,
265
+ data: shownData,
274
266
  columns,
275
267
  manualSorting: true,
276
268
  manualFiltering: true,
@@ -289,6 +281,7 @@ function ViewList({
289
281
  },
290
282
  columnVisibility: columnVisibility !== null && columnVisibility !== void 0 ? columnVisibility : EMPTY_OBJECT
291
283
  },
284
+ getRowId: getItemId,
292
285
  onSortingChange: sortingUpdater => {
293
286
  onChangeView(currentView => {
294
287
  const sort = typeof sortingUpdater === 'function' ? sortingUpdater(currentView.sort ? [{
@@ -383,6 +376,7 @@ function ViewList({
383
376
  colSpan: header.colSpan,
384
377
  style: {
385
378
  width: header.column.columnDef.width || undefined,
379
+ minWidth: header.column.columnDef.minWidth || undefined,
386
380
  maxWidth: header.column.columnDef.maxWidth || undefined
387
381
  },
388
382
  "data-field-id": header.id
@@ -392,9 +386,10 @@ function ViewList({
392
386
  })))))), (0, _react.createElement)("tbody", null, rows.map(row => (0, _react.createElement)("tr", {
393
387
  key: row.id
394
388
  }, row.getVisibleCells().map(cell => (0, _react.createElement)("td", {
395
- key: cell.id,
389
+ key: cell.column.id,
396
390
  style: {
397
391
  width: cell.column.columnDef.width || undefined,
392
+ minWidth: cell.column.columnDef.minWidth || undefined,
398
393
  maxWidth: cell.column.columnDef.maxWidth || undefined
399
394
  }
400
395
  }, (0, _reactTable.flexRender)(cell.column.columnDef.cell, cell.getContext()))))))), !hasRows && (0, _react.createElement)("p", null, (0, _i18n.__)('no results')));
@@ -1 +1 @@
1
- {"version":3,"names":["_reactTable","require","_i18n","_icons","_components","_element","_lockUnlock","_itemActions","_interopRequireDefault","DropdownMenuV2","DropdownMenuGroupV2","DropdownMenuItemV2","DropdownMenuSeparatorV2","DropdownSubMenuV2","DropdownSubMenuTriggerV2","unlock","componentsPrivateApis","EMPTY_OBJECT","sortingItemsInfo","asc","icon","arrowUp","label","__","desc","arrowDown","sortIcons","chevronUp","chevronDown","HeaderMenu","dataView","header","isPlaceholder","text","flexRender","column","columnDef","getContext","isSortable","getCanSort","isHidable","getCanHide","sortedDirection","getIsSorted","filter","filters","length","some","f","field","id","elements","value","isFilterable","_react","createElement","align","trigger","Button","iconPosition","style","padding","WithSeparators","Object","entries","map","direction","info","key","prefix","Icon","suffix","check","onSelect","event","preventDefault","resetSorting","setSorting","unseen","getToggleVisibilityHandler","funnel","chevronRightSmall","element","isActive","columnFilters","getState","columnFilter","find","keys","split","values","otherFilters","operator","setColumnFilters","children","Children","toArray","Boolean","child","i","Fragment","ViewList","view","onChangeView","fields","actions","data","isLoading","paginationInfo","columns","useMemo","_columns","render","getValue","cell","props","item","row","original","accessorFn","push","default","enableHiding","columnVisibility","hiddenFields","reduce","accumulator","fieldId","toTanStackColumnFilters","fromTanStackColumnFilters","useReactTable","manualSorting","manualFiltering","manualPagination","enableRowSelection","state","sorting","sort","globalFilter","search","pagination","pageIndex","page","pageSize","perPage","onSortingChange","sortingUpdater","currentView","onColumnVisibilityChange","columnVisibilityUpdater","onGlobalFilterChange","onColumnFiltersChange","columnFiltersUpdater","onPaginationChange","paginationUpdater","getCoreRowModel","getFilteredRowModel","getSortedRowModel","getPaginationRowModel","pageCount","totalPages","rows","getRowModel","hasRows","className","getHeaderGroups","headerGroup","headers","colSpan","width","undefined","maxWidth","getVisibleCells","_default","exports"],"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 {\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';\n\nconst {\n\tDropdownMenuV2,\n\tDropdownMenuGroupV2,\n\tDropdownMenuItemV2,\n\tDropdownMenuSeparatorV2,\n\tDropdownSubMenuV2,\n\tDropdownSubMenuTriggerV2,\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 };\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 (\n\t\theader.column.columnDef.filters?.length > 0 &&\n\t\theader.column.columnDef.filters.some(\n\t\t\t( f ) => 'string' === typeof f && f === 'in'\n\t\t)\n\t) {\n\t\tfilter = {\n\t\t\tfield: header.column.columnDef.id,\n\t\t\telements: [\n\t\t\t\t{\n\t\t\t\t\tvalue: '',\n\t\t\t\t\tlabel: __( 'All' ),\n\t\t\t\t},\n\t\t\t\t...( header.column.columnDef.elements || [] ),\n\t\t\t],\n\t\t};\n\t}\n\tconst isFilterable = !! filter;\n\n\treturn (\n\t\t<DropdownMenuV2\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<DropdownMenuGroupV2>\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<DropdownMenuItemV2\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</DropdownMenuItemV2>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenuGroupV2>\n\t\t\t\t) }\n\t\t\t\t{ isHidable && (\n\t\t\t\t\t<DropdownMenuItemV2\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</DropdownMenuItemV2>\n\t\t\t\t) }\n\t\t\t\t{ isFilterable && (\n\t\t\t\t\t<DropdownMenuGroupV2>\n\t\t\t\t\t\t<DropdownSubMenuV2\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<DropdownSubMenuTriggerV2\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</DropdownSubMenuTriggerV2>\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\t// Set the empty item as active if the filter is not set.\n\t\t\t\t\t\t\t\tif ( ! columnFilter && element.value === '' ) {\n\t\t\t\t\t\t\t\t\tisActive = true;\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<DropdownMenuItemV2\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 !== '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\tif ( element.value === '' ) {\n\t\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\totherFilters\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} else {\n\t\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\t...otherFilters,\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\t\t[ filter.field +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t':in' ]: element.value,\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t\t\t\t}\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</DropdownMenuItemV2>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</DropdownSubMenuV2>\n\t\t\t\t\t</DropdownMenuGroupV2>\n\t\t\t\t) }\n\t\t\t</WithSeparators>\n\t\t</DropdownMenuV2>\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 && <DropdownMenuSeparatorV2 /> }\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\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 dataView = useReactTable( {\n\t\tdata,\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\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\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.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\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
+ {"version":3,"names":["_reactTable","require","_i18n","_compose","_icons","_components","_element","_lockUnlock","_itemActions","_interopRequireDefault","_constants","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuSeparatorV2","DropdownMenuSeparator","DropdownSubMenuV2","DropdownSubMenu","DropdownSubMenuTriggerV2","DropdownSubMenuTrigger","unlock","componentsPrivateApis","EMPTY_OBJECT","sortingItemsInfo","asc","icon","arrowUp","label","__","desc","arrowDown","sortIcons","chevronUp","chevronDown","HeaderMenu","dataView","header","isPlaceholder","text","flexRender","column","columnDef","getContext","isSortable","getCanSort","isHidable","getCanHide","sortedDirection","getIsSorted","filter","type","ENUMERATION_TYPE","field","id","elements","isFilterable","_react","createElement","align","trigger","Button","iconPosition","style","padding","WithSeparators","Object","entries","map","direction","info","key","prefix","Icon","suffix","check","onSelect","event","preventDefault","resetSorting","setSorting","unseen","getToggleVisibilityHandler","funnel","chevronRightSmall","element","isActive","columnFilters","getState","columnFilter","find","f","keys","split","value","values","otherFilters","operator","OPERATOR_IN","setColumnFilters","undefined","children","Children","toArray","Boolean","child","i","Fragment","ViewList","view","onChangeView","fields","actions","data","getItemId","isLoading","paginationInfo","columns","useMemo","_columns","render","getValue","cell","props","item","row","original","accessorFn","length","push","default","enableHiding","columnVisibility","hiddenFields","reduce","accumulator","fieldId","toTanStackColumnFilters","filters","fromTanStackColumnFilters","shownData","useAsyncList","useReactTable","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","getCoreRowModel","getFilteredRowModel","getSortedRowModel","getPaginationRowModel","pageCount","totalPages","rows","getRowModel","hasRows","className","getHeaderGroups","headerGroup","headers","colSpan","width","minWidth","maxWidth","getVisibleCells","_default","exports"],"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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"}
@@ -89,23 +89,20 @@ function Editor({
89
89
  contextPost,
90
90
  editorMode,
91
91
  canvasMode,
92
+ renderingMode,
92
93
  blockEditorMode,
93
94
  isRightSidebarOpen,
94
95
  isInserterOpen,
95
96
  isListViewOpen,
96
97
  showIconLabels,
97
- showBlockBreadcrumbs,
98
- hasPageContentFocus,
99
- pageContentFocusType
98
+ showBlockBreadcrumbs
100
99
  } = (0, _data.useSelect)(select => {
101
100
  const {
102
101
  getEditedPostContext,
103
102
  getEditorMode,
104
103
  getCanvasMode,
105
104
  isInserterOpened,
106
- isListViewOpened,
107
- hasPageContentFocus: _hasPageContentFocus,
108
- getPageContentFocusType
105
+ isListViewOpened
109
106
  } = (0, _lockUnlock.unlock)(select(_store.store));
110
107
  const {
111
108
  __unstableGetEditorMode
@@ -116,6 +113,9 @@ function Editor({
116
113
  const {
117
114
  getEntityRecord
118
115
  } = select(_coreData.store);
116
+ const {
117
+ getRenderingMode
118
+ } = select(_editor.store);
119
119
  const _context = getEditedPostContext();
120
120
 
121
121
  // The currently selected entity to display.
@@ -125,16 +125,18 @@ function Editor({
125
125
  contextPost: _context?.postId ? getEntityRecord('postType', _context.postType, _context.postId) : undefined,
126
126
  editorMode: getEditorMode(),
127
127
  canvasMode: getCanvasMode(),
128
+ renderingMode: getRenderingMode(),
128
129
  blockEditorMode: __unstableGetEditorMode(),
129
130
  isInserterOpen: isInserterOpened(),
130
131
  isListViewOpen: isListViewOpened(),
131
132
  isRightSidebarOpen: getActiveComplementaryArea(_store.store.name),
132
133
  showIconLabels: select(_preferences.store).get('core/edit-site', 'showIconLabels'),
133
- showBlockBreadcrumbs: select(_preferences.store).get('core/edit-site', 'showBlockBreadcrumbs'),
134
- hasPageContentFocus: _hasPageContentFocus(),
135
- pageContentFocusType: getPageContentFocusType()
134
+ showBlockBreadcrumbs: select(_preferences.store).get('core/edit-site', 'showBlockBreadcrumbs')
136
135
  };
137
136
  }, []);
137
+ const {
138
+ setRenderingMode
139
+ } = (0, _data.useDispatch)(_editor.store);
138
140
  const isViewMode = canvasMode === 'view';
139
141
  const isEditMode = canvasMode === 'edit';
140
142
  const showVisualEditor = isViewMode || editorMode === 'visual';
@@ -142,7 +144,7 @@ function Editor({
142
144
  const shouldShowInserter = isEditMode && showVisualEditor && isInserterOpen;
143
145
  const shouldShowListView = isEditMode && showVisualEditor && isListViewOpen;
144
146
  const secondarySidebarLabel = isListViewOpen ? (0, _i18n.__)('List View') : (0, _i18n.__)('Block Library');
145
- const postWithTemplate = context?.postId;
147
+ const postWithTemplate = !!context?.postId;
146
148
  let title;
147
149
  if (hasLoadedPost) {
148
150
  var _POST_TYPE_LABELS$edi;
@@ -157,21 +159,16 @@ function Editor({
157
159
  const loadingProgressId = (0, _compose.useInstanceId)(_canvasLoader.default, 'edit-site-editor__loading-progress');
158
160
  const settings = (0, _useSiteEditorSettings.useSpecificEditorSettings)();
159
161
  const isReady = !isLoading && (postWithTemplate && !!contextPost && !!editedPost || !postWithTemplate && !!editedPost);
160
- const mode = (0, _element.useMemo)(() => {
161
- if (isViewMode) {
162
- return postWithTemplate ? 'template-locked' : 'all';
163
- }
164
- if (isEditMode && pageContentFocusType === 'hideTemplate') {
165
- return 'post-only';
166
- }
167
- if (postWithTemplate && hasPageContentFocus) {
168
- return 'template-locked';
169
- }
170
- if (postWithTemplate && !hasPageContentFocus) {
171
- return 'template-only';
162
+
163
+ // This is the only reliable way I've found to reinitialize the rendering mode
164
+ // when the canvas mode or the edited entity changes.
165
+ (0, _element.useEffect)(() => {
166
+ if (canvasMode === 'edit' && postWithTemplate) {
167
+ setRenderingMode('template-locked');
168
+ } else {
169
+ setRenderingMode('all');
172
170
  }
173
- return 'all';
174
- }, [isViewMode, isEditMode, postWithTemplate, pageContentFocusType, hasPageContentFocus]);
171
+ }, [canvasMode, postWithTemplate, setRenderingMode]);
175
172
  return (0, _react.createElement)(_react.Fragment, null, !isReady ? (0, _react.createElement)(_canvasLoader.default, {
176
173
  id: loadingProgressId
177
174
  }) : null, isEditMode && (0, _react.createElement)(_welcomeGuide.default, null), hasLoadedPost && !editedPost && (0, _react.createElement)(_components.Notice, {
@@ -181,8 +178,7 @@ function Editor({
181
178
  post: postWithTemplate ? contextPost : editedPost,
182
179
  __unstableTemplate: postWithTemplate ? editedPost : undefined,
183
180
  settings: settings,
184
- useSubRegistry: false,
185
- mode: mode
181
+ useSubRegistry: false
186
182
  }, (0, _react.createElement)(_sidebarEditMode.SidebarComplementaryAreaFills, null), isEditMode && (0, _react.createElement)(_startTemplateOptions.default, null), (0, _react.createElement)(_interface.InterfaceSkeleton, {
187
183
  isDistractionFree: true,
188
184
  enableRegionNavigation: false,
@@ -200,7 +196,7 @@ function Editor({
200
196
  scope: "core/edit-site"
201
197
  }), (0, _react.createElement)(_sidebarFixedBottom.SidebarFixedBottomSlot, null)),
202
198
  footer: shouldShowBlockBreadcrumbs && (0, _react.createElement)(_blockEditor.BlockBreadcrumb, {
203
- rootLabelText: hasPageContentFocus ? (0, _i18n.__)('Page') : (0, _i18n.__)('Template')
199
+ rootLabelText: postWithTemplate && renderingMode !== 'template-only' ? (0, _i18n.__)('Page') : (0, _i18n.__)('Template')
204
200
  }),
205
201
  labels: {
206
202
  ...interfaceLabels,