@wordpress/edit-site 5.21.1-next.f8d8eceb.0 → 5.23.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 (375) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/actions/index.js +86 -4
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/add-new-template/new-template.js +0 -7
  5. package/build/components/add-new-template/new-template.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +54 -63
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/dataviews/add-filter.js +90 -0
  9. package/build/components/dataviews/add-filter.js.map +1 -0
  10. package/build/components/dataviews/dataviews.js +23 -4
  11. package/build/components/dataviews/dataviews.js.map +1 -1
  12. package/build/components/dataviews/filters.js +36 -32
  13. package/build/components/dataviews/filters.js.map +1 -1
  14. package/build/components/dataviews/in-filter.js +22 -20
  15. package/build/components/dataviews/in-filter.js.map +1 -1
  16. package/build/components/dataviews/index.js +9 -2
  17. package/build/components/dataviews/index.js.map +1 -1
  18. package/build/components/dataviews/item-actions.js +81 -13
  19. package/build/components/dataviews/item-actions.js.map +1 -1
  20. package/build/components/dataviews/pagination.js +3 -2
  21. package/build/components/dataviews/pagination.js.map +1 -1
  22. package/build/components/dataviews/reset-filters.js +33 -0
  23. package/build/components/dataviews/reset-filters.js.map +1 -0
  24. package/build/components/dataviews/search.js +1 -0
  25. package/build/components/dataviews/search.js.map +1 -1
  26. package/build/components/dataviews/view-actions.js +27 -10
  27. package/build/components/dataviews/view-actions.js.map +1 -1
  28. package/build/components/dataviews/view-list.js +126 -5
  29. package/build/components/dataviews/view-list.js.map +1 -1
  30. package/build/components/dataviews/view-side-by-side.js +20 -0
  31. package/build/components/dataviews/view-side-by-side.js.map +1 -0
  32. package/build/components/editor/index.js +53 -53
  33. package/build/components/editor/index.js.map +1 -1
  34. package/build/components/global-styles/screen-revisions/index.js +42 -21
  35. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  36. package/build/components/global-styles/screen-root.js +3 -3
  37. package/build/components/global-styles/screen-root.js.map +1 -1
  38. package/build/components/global-styles/ui.js +3 -3
  39. package/build/components/global-styles/ui.js.map +1 -1
  40. package/build/components/global-styles-renderer/index.js +1 -1
  41. package/build/components/global-styles-renderer/index.js.map +1 -1
  42. package/build/components/header-edit-mode/document-tools/index.js +160 -0
  43. package/build/components/header-edit-mode/document-tools/index.js.map +1 -0
  44. package/build/components/header-edit-mode/index.js +48 -116
  45. package/build/components/header-edit-mode/index.js.map +1 -1
  46. package/build/components/header-edit-mode/more-menu/site-export.js +2 -6
  47. package/build/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  48. package/build/components/layout/index.js +4 -19
  49. package/build/components/layout/index.js.map +1 -1
  50. package/build/components/list/added-by.js +1 -0
  51. package/build/components/list/added-by.js.map +1 -1
  52. package/build/components/page-content-focus-manager/back-to-page-notification.js +5 -10
  53. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  54. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +36 -23
  55. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  56. package/build/components/page-main/index.js +2 -1
  57. package/build/components/page-main/index.js.map +1 -1
  58. package/build/components/page-pages/index.js +133 -78
  59. package/build/components/page-pages/index.js.map +1 -1
  60. package/build/components/page-pages/side-editor.js +25 -0
  61. package/build/components/page-pages/side-editor.js.map +1 -0
  62. package/build/components/page-patterns/grid-item.js +2 -2
  63. package/build/components/page-patterns/grid-item.js.map +1 -1
  64. package/build/components/page-patterns/patterns-list.js +3 -3
  65. package/build/components/page-patterns/patterns-list.js.map +1 -1
  66. package/build/components/page-patterns/rename-category-menu-item.js +27 -9
  67. package/build/components/page-patterns/rename-category-menu-item.js.map +1 -1
  68. package/build/components/page-patterns/use-patterns.js +1 -1
  69. package/build/components/page-patterns/use-patterns.js.map +1 -1
  70. package/build/components/page-templates/dataviews-templates.js +201 -0
  71. package/build/components/page-templates/dataviews-templates.js.map +1 -0
  72. package/build/components/page-templates/template-actions.js +168 -0
  73. package/build/components/page-templates/template-actions.js.map +1 -0
  74. package/build/components/save-button/index.js +4 -2
  75. package/build/components/save-button/index.js.map +1 -1
  76. package/build/components/sidebar/index.js +1 -2
  77. package/build/components/sidebar/index.js.map +1 -1
  78. package/build/components/sidebar-dataviews/add-new-view.js +124 -0
  79. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -0
  80. package/build/components/sidebar-dataviews/custom-dataviews-list.js +189 -0
  81. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  82. package/build/components/sidebar-dataviews/dataview-item.js +71 -0
  83. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -0
  84. package/build/components/sidebar-dataviews/default-views.js +60 -0
  85. package/build/components/sidebar-dataviews/default-views.js.map +1 -0
  86. package/build/components/sidebar-dataviews/index.js +22 -37
  87. package/build/components/sidebar-dataviews/index.js.map +1 -1
  88. package/build/components/sidebar-edit-mode/default-sidebar.js +2 -6
  89. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  90. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +11 -11
  91. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  92. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  93. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  94. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +4 -12
  95. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  96. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +4 -12
  97. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  98. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  99. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  100. package/build/components/sidebar-edit-mode/template-panel/hooks.js +3 -3
  101. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  102. package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  103. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  105. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  106. package/build/components/sidebar-navigation-screen-page/page-details.js +4 -12
  107. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  109. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  110. package/build/components/site-hub/index.js +18 -6
  111. package/build/components/site-hub/index.js.map +1 -1
  112. package/build/components/start-template-options/index.js +12 -16
  113. package/build/components/start-template-options/index.js.map +1 -1
  114. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +112 -49
  115. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  116. package/build/components/template-part-converter/convert-to-regular.js +1 -1
  117. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  118. package/build/hooks/push-changes-to-global-styles/index.js +3 -1
  119. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  120. package/build/hooks/template-part-edit.js +6 -2
  121. package/build/hooks/template-part-edit.js.map +1 -1
  122. package/build/index.js +0 -3
  123. package/build/index.js.map +1 -1
  124. package/build/store/actions.js +35 -82
  125. package/build/store/actions.js.map +1 -1
  126. package/build/store/selectors.js +25 -63
  127. package/build/store/selectors.js.map +1 -1
  128. package/build/utils/constants.js +3 -3
  129. package/build/utils/constants.js.map +1 -1
  130. package/build/utils/use-activate-theme.js +8 -0
  131. package/build/utils/use-activate-theme.js.map +1 -1
  132. package/build-module/components/actions/index.js +85 -5
  133. package/build-module/components/actions/index.js.map +1 -1
  134. package/build-module/components/add-new-template/new-template.js +0 -7
  135. package/build-module/components/add-new-template/new-template.js.map +1 -1
  136. package/build-module/components/block-editor/use-site-editor-settings.js +54 -62
  137. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  138. package/build-module/components/dataviews/add-filter.js +83 -0
  139. package/build-module/components/dataviews/add-filter.js.map +1 -0
  140. package/build-module/components/dataviews/dataviews.js +22 -4
  141. package/build-module/components/dataviews/dataviews.js.map +1 -1
  142. package/build-module/components/dataviews/filters.js +34 -32
  143. package/build-module/components/dataviews/filters.js.map +1 -1
  144. package/build-module/components/dataviews/in-filter.js +20 -19
  145. package/build-module/components/dataviews/in-filter.js.map +1 -1
  146. package/build-module/components/dataviews/index.js +1 -1
  147. package/build-module/components/dataviews/index.js.map +1 -1
  148. package/build-module/components/dataviews/item-actions.js +84 -16
  149. package/build-module/components/dataviews/item-actions.js.map +1 -1
  150. package/build-module/components/dataviews/pagination.js +3 -2
  151. package/build-module/components/dataviews/pagination.js.map +1 -1
  152. package/build-module/components/dataviews/reset-filters.js +26 -0
  153. package/build-module/components/dataviews/reset-filters.js.map +1 -0
  154. package/build-module/components/dataviews/search.js +1 -0
  155. package/build-module/components/dataviews/search.js.map +1 -1
  156. package/build-module/components/dataviews/view-actions.js +28 -11
  157. package/build-module/components/dataviews/view-actions.js.map +1 -1
  158. package/build-module/components/dataviews/view-list.js +128 -7
  159. package/build-module/components/dataviews/view-list.js.map +1 -1
  160. package/build-module/components/dataviews/view-side-by-side.js +12 -0
  161. package/build-module/components/dataviews/view-side-by-side.js.map +1 -0
  162. package/build-module/components/editor/index.js +57 -57
  163. package/build-module/components/editor/index.js.map +1 -1
  164. package/build-module/components/global-styles/screen-revisions/index.js +42 -21
  165. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  166. package/build-module/components/global-styles/screen-root.js +3 -3
  167. package/build-module/components/global-styles/screen-root.js.map +1 -1
  168. package/build-module/components/global-styles/ui.js +3 -3
  169. package/build-module/components/global-styles/ui.js.map +1 -1
  170. package/build-module/components/global-styles-renderer/index.js +1 -1
  171. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  172. package/build-module/components/header-edit-mode/document-tools/index.js +152 -0
  173. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -0
  174. package/build-module/components/header-edit-mode/index.js +52 -120
  175. package/build-module/components/header-edit-mode/index.js.map +1 -1
  176. package/build-module/components/header-edit-mode/more-menu/site-export.js +2 -6
  177. package/build-module/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  178. package/build-module/components/layout/index.js +5 -20
  179. package/build-module/components/layout/index.js.map +1 -1
  180. package/build-module/components/list/added-by.js +1 -1
  181. package/build-module/components/list/added-by.js.map +1 -1
  182. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +5 -10
  183. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  184. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +36 -23
  185. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  186. package/build-module/components/page-main/index.js +2 -1
  187. package/build-module/components/page-main/index.js.map +1 -1
  188. package/build-module/components/page-pages/index.js +137 -80
  189. package/build-module/components/page-pages/index.js.map +1 -1
  190. package/build-module/components/page-pages/side-editor.js +17 -0
  191. package/build-module/components/page-pages/side-editor.js.map +1 -0
  192. package/build-module/components/page-patterns/grid-item.js +2 -2
  193. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  194. package/build-module/components/page-patterns/patterns-list.js +4 -4
  195. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  196. package/build-module/components/page-patterns/rename-category-menu-item.js +25 -9
  197. package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -1
  198. package/build-module/components/page-patterns/use-patterns.js +2 -2
  199. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  200. package/build-module/components/page-templates/dataviews-templates.js +193 -0
  201. package/build-module/components/page-templates/dataviews-templates.js.map +1 -0
  202. package/build-module/components/page-templates/template-actions.js +157 -0
  203. package/build-module/components/page-templates/template-actions.js.map +1 -0
  204. package/build-module/components/save-button/index.js +4 -2
  205. package/build-module/components/save-button/index.js.map +1 -1
  206. package/build-module/components/sidebar/index.js +1 -2
  207. package/build-module/components/sidebar/index.js.map +1 -1
  208. package/build-module/components/sidebar-dataviews/add-new-view.js +116 -0
  209. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -0
  210. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +180 -0
  211. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  212. package/build-module/components/sidebar-dataviews/dataview-item.js +63 -0
  213. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -0
  214. package/build-module/components/sidebar-dataviews/default-views.js +52 -0
  215. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -0
  216. package/build-module/components/sidebar-dataviews/index.js +23 -38
  217. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  218. package/build-module/components/sidebar-edit-mode/default-sidebar.js +2 -6
  219. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  220. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +12 -12
  221. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  222. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +3 -1
  223. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  224. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +5 -13
  225. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  226. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +5 -13
  227. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  228. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  229. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  230. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +4 -4
  231. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  232. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  233. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  234. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  235. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  236. package/build-module/components/sidebar-navigation-screen-page/page-details.js +4 -12
  237. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  238. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  239. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  240. package/build-module/components/site-hub/index.js +19 -7
  241. package/build-module/components/site-hub/index.js.map +1 -1
  242. package/build-module/components/start-template-options/index.js +13 -16
  243. package/build-module/components/start-template-options/index.js.map +1 -1
  244. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +112 -50
  245. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  246. package/build-module/components/template-part-converter/convert-to-regular.js +1 -1
  247. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  248. package/build-module/hooks/push-changes-to-global-styles/index.js +4 -2
  249. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  250. package/build-module/hooks/template-part-edit.js +6 -2
  251. package/build-module/hooks/template-part-edit.js.map +1 -1
  252. package/build-module/index.js +0 -3
  253. package/build-module/index.js.map +1 -1
  254. package/build-module/store/actions.js +33 -79
  255. package/build-module/store/actions.js.map +1 -1
  256. package/build-module/store/selectors.js +19 -58
  257. package/build-module/store/selectors.js.map +1 -1
  258. package/build-module/utils/constants.js +1 -1
  259. package/build-module/utils/constants.js.map +1 -1
  260. package/build-module/utils/use-activate-theme.js +8 -0
  261. package/build-module/utils/use-activate-theme.js.map +1 -1
  262. package/build-style/style-rtl.css +69 -119
  263. package/build-style/style.css +69 -119
  264. package/package.json +41 -41
  265. package/src/components/actions/index.js +113 -5
  266. package/src/components/add-new-template/new-template.js +0 -5
  267. package/src/components/block-editor/style.scss +0 -87
  268. package/src/components/block-editor/use-site-editor-settings.js +68 -89
  269. package/src/components/dataviews/README.md +77 -83
  270. package/src/components/dataviews/add-filter.js +111 -0
  271. package/src/components/dataviews/dataviews.js +20 -2
  272. package/src/components/dataviews/filters.js +56 -49
  273. package/src/components/dataviews/in-filter.js +35 -17
  274. package/src/components/dataviews/index.js +1 -1
  275. package/src/components/dataviews/item-actions.js +95 -20
  276. package/src/components/dataviews/pagination.js +5 -4
  277. package/src/components/dataviews/reset-filters.js +26 -0
  278. package/src/components/dataviews/search.js +1 -0
  279. package/src/components/dataviews/style.scss +5 -1
  280. package/src/components/dataviews/view-actions.js +39 -9
  281. package/src/components/dataviews/view-list.js +174 -3
  282. package/src/components/dataviews/view-side-by-side.js +9 -0
  283. package/src/components/editor/index.js +149 -121
  284. package/src/components/global-styles/screen-revisions/index.js +52 -25
  285. package/src/components/global-styles/screen-root.js +2 -1
  286. package/src/components/global-styles/ui.js +1 -1
  287. package/src/components/global-styles-renderer/index.js +1 -1
  288. package/src/components/header-edit-mode/document-tools/index.js +201 -0
  289. package/src/components/header-edit-mode/index.js +86 -184
  290. package/src/components/header-edit-mode/more-menu/site-export.js +2 -6
  291. package/src/components/header-edit-mode/style.scss +35 -2
  292. package/src/components/layout/index.js +4 -11
  293. package/src/components/layout/style.scss +6 -18
  294. package/src/components/list/added-by.js +1 -1
  295. package/src/components/page-content-focus-manager/back-to-page-notification.js +4 -15
  296. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +38 -33
  297. package/src/components/page-main/index.js +6 -1
  298. package/src/components/page-pages/index.js +162 -81
  299. package/src/components/page-pages/side-editor.js +14 -0
  300. package/src/components/page-patterns/grid-item.js +3 -3
  301. package/src/components/page-patterns/patterns-list.js +10 -4
  302. package/src/components/page-patterns/rename-category-menu-item.js +29 -12
  303. package/src/components/page-patterns/use-patterns.js +3 -2
  304. package/src/components/page-templates/dataviews-templates.js +224 -0
  305. package/src/components/page-templates/template-actions.js +209 -0
  306. package/src/components/save-button/index.js +10 -5
  307. package/src/components/sidebar/index.js +1 -2
  308. package/src/components/sidebar-dataviews/add-new-view.js +141 -0
  309. package/src/components/sidebar-dataviews/custom-dataviews-list.js +227 -0
  310. package/src/components/sidebar-dataviews/dataview-item.js +67 -0
  311. package/src/components/sidebar-dataviews/default-views.js +54 -0
  312. package/src/components/sidebar-dataviews/index.js +36 -44
  313. package/src/components/sidebar-dataviews/style.scss +22 -0
  314. package/src/components/sidebar-edit-mode/default-sidebar.js +6 -6
  315. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +14 -21
  316. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +3 -0
  317. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +10 -9
  318. package/src/components/sidebar-edit-mode/page-panels/style.scss +5 -0
  319. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +10 -9
  320. package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +6 -6
  321. package/src/components/sidebar-edit-mode/template-panel/hooks.js +11 -7
  322. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  323. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  324. package/src/components/sidebar-navigation-screen-page/page-details.js +7 -18
  325. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  326. package/src/components/site-hub/index.js +9 -8
  327. package/src/components/start-template-options/index.js +14 -12
  328. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +117 -50
  329. package/src/components/template-part-converter/convert-to-regular.js +1 -1
  330. package/src/hooks/push-changes-to-global-styles/index.js +13 -6
  331. package/src/hooks/template-part-edit.js +4 -2
  332. package/src/index.js +0 -8
  333. package/src/store/actions.js +37 -95
  334. package/src/store/selectors.js +31 -91
  335. package/src/store/test/actions.js +11 -137
  336. package/src/store/test/selectors.js +0 -82
  337. package/src/style.scss +1 -0
  338. package/src/utils/constants.js +1 -1
  339. package/src/utils/use-activate-theme.js +5 -0
  340. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -77
  341. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  342. package/build/components/block-editor/block-editor-provider/index.js +0 -31
  343. package/build/components/block-editor/block-editor-provider/index.js.map +0 -1
  344. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -110
  345. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  346. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -84
  347. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  348. package/build/components/block-editor/index.js +0 -30
  349. package/build/components/block-editor/index.js.map +0 -1
  350. package/build/components/dataviews/context.js +0 -15
  351. package/build/components/dataviews/context.js.map +0 -1
  352. package/build/components/page-pages/default-views.js +0 -60
  353. package/build/components/page-pages/default-views.js.map +0 -1
  354. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -69
  355. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  356. package/build-module/components/block-editor/block-editor-provider/index.js +0 -23
  357. package/build-module/components/block-editor/block-editor-provider/index.js.map +0 -1
  358. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -102
  359. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  360. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -78
  361. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  362. package/build-module/components/block-editor/index.js +0 -22
  363. package/build-module/components/block-editor/index.js.map +0 -1
  364. package/build-module/components/dataviews/context.js +0 -7
  365. package/build-module/components/dataviews/context.js.map +0 -1
  366. package/build-module/components/page-pages/default-views.js +0 -53
  367. package/build-module/components/page-pages/default-views.js.map +0 -1
  368. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -75
  369. package/src/components/block-editor/block-editor-provider/index.js +0 -29
  370. package/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -114
  371. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +0 -116
  372. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -90
  373. package/src/components/block-editor/index.js +0 -28
  374. package/src/components/dataviews/context.js +0 -7
  375. package/src/components/page-pages/default-views.js +0 -58
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = AddFilter;
7
+ var _react = require("react");
8
+ var _components = require("@wordpress/components");
9
+ var _icons = require("@wordpress/icons");
10
+ var _i18n = require("@wordpress/i18n");
11
+ var _lockUnlock = require("../../lock-unlock");
12
+ var _inFilter = require("./in-filter");
13
+ /**
14
+ * WordPress dependencies
15
+ */
16
+
17
+ /**
18
+ * Internal dependencies
19
+ */
20
+
21
+ const {
22
+ DropdownMenuV2,
23
+ DropdownSubMenuV2,
24
+ DropdownSubMenuTriggerV2,
25
+ DropdownMenuItemV2
26
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
27
+ const VALID_OPERATORS = [_inFilter.OPERATOR_IN];
28
+ function AddFilter({
29
+ fields,
30
+ view,
31
+ onChangeView
32
+ }) {
33
+ const filters = [];
34
+ fields.forEach(field => {
35
+ if (!field.filters) {
36
+ return;
37
+ }
38
+ field.filters.forEach(filter => {
39
+ if (VALID_OPERATORS.some(operator => operator === filter)) {
40
+ filters.push({
41
+ field: field.id,
42
+ name: field.header,
43
+ operator: filter,
44
+ elements: field.elements || [],
45
+ isVisible: view.filters.some(f => f.field === field.id && f.operator === filter)
46
+ });
47
+ }
48
+ });
49
+ });
50
+ if (filters.length === 0) {
51
+ return null;
52
+ }
53
+ return (0, _react.createElement)(DropdownMenuV2, {
54
+ label: (0, _i18n.__)('Add filter'),
55
+ trigger: (0, _react.createElement)(_components.Button, {
56
+ disabled: filters.length === view.filters?.length,
57
+ __experimentalIsFocusable: true,
58
+ icon: _icons.plus,
59
+ variant: "tertiary",
60
+ size: "compact"
61
+ }, (0, _i18n.__)('Add filter'))
62
+ }, filters.map(filter => {
63
+ if (filter.isVisible) {
64
+ return null;
65
+ }
66
+ return (0, _react.createElement)(DropdownSubMenuV2, {
67
+ key: filter.field,
68
+ trigger: (0, _react.createElement)(DropdownSubMenuTriggerV2, {
69
+ suffix: (0, _react.createElement)(_components.Icon, {
70
+ icon: _icons.chevronRightSmall
71
+ })
72
+ }, filter.name)
73
+ }, filter.elements.map(element => (0, _react.createElement)(DropdownMenuItemV2, {
74
+ key: element.value,
75
+ onSelect: () => {
76
+ onChangeView(currentView => ({
77
+ ...currentView,
78
+ page: 1,
79
+ filters: [...currentView.filters, {
80
+ field: filter.field,
81
+ operator: 'in',
82
+ value: element.value
83
+ }]
84
+ }));
85
+ },
86
+ role: "menuitemcheckbox"
87
+ }, element.label)));
88
+ }));
89
+ }
90
+ //# sourceMappingURL=add-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_icons","_i18n","_lockUnlock","_inFilter","DropdownMenuV2","DropdownSubMenuV2","DropdownSubMenuTriggerV2","DropdownMenuItemV2","unlock","componentsPrivateApis","VALID_OPERATORS","OPERATOR_IN","AddFilter","fields","view","onChangeView","filters","forEach","field","filter","some","operator","push","id","name","header","elements","isVisible","f","length","_react","createElement","label","__","trigger","Button","disabled","__experimentalIsFocusable","icon","plus","variant","size","map","key","suffix","Icon","chevronRightSmall","element","value","onSelect","currentView","page","role"],"sources":["@wordpress/edit-site/src/components/dataviews/add-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tIcon,\n} from '@wordpress/components';\nimport { chevronRightSmall, plus } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { OPERATOR_IN } from './in-filter';\n\nconst {\n\tDropdownMenuV2,\n\tDropdownSubMenuV2,\n\tDropdownSubMenuTriggerV2,\n\tDropdownMenuItemV2,\n} = unlock( componentsPrivateApis );\n\nconst VALID_OPERATORS = [ OPERATOR_IN ];\n\nexport default function AddFilter( { fields, view, onChangeView } ) {\n\tconst filters = [];\n\tfields.forEach( ( field ) => {\n\t\tif ( ! field.filters ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfield.filters.forEach( ( filter ) => {\n\t\t\tif ( VALID_OPERATORS.some( ( operator ) => operator === filter ) ) {\n\t\t\t\tfilters.push( {\n\t\t\t\t\tfield: field.id,\n\t\t\t\t\tname: field.header,\n\t\t\t\t\toperator: filter,\n\t\t\t\t\telements: field.elements || [],\n\t\t\t\t\tisVisible: view.filters.some(\n\t\t\t\t\t\t( f ) => f.field === field.id && f.operator === filter\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t} );\n\n\tif ( filters.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DropdownMenuV2\n\t\t\tlabel={ __( 'Add filter' ) }\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tdisabled={ filters.length === view.filters?.length }\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t>\n\t\t\t{ filters.map( ( filter ) => {\n\t\t\t\tif ( filter.isVisible ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownSubMenuV2\n\t\t\t\t\t\tkey={ filter.field }\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<DropdownSubMenuTriggerV2\n\t\t\t\t\t\t\t\tsuffix={ <Icon icon={ chevronRightSmall } /> }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ filter.name }\n\t\t\t\t\t\t\t</DropdownSubMenuTriggerV2>\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ filter.elements.map( ( element ) => (\n\t\t\t\t\t\t\t<DropdownMenuItemV2\n\t\t\t\t\t\t\t\tkey={ element.value }\n\t\t\t\t\t\t\t\tonSelect={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( ( currentView ) => ( {\n\t\t\t\t\t\t\t\t\t\t...currentView,\n\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t\t...currentView.filters,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\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\tvalue: element.value,\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\trole=\"menuitemcheckbox\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ element.label }\n\t\t\t\t\t\t\t</DropdownMenuItemV2>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</DropdownSubMenuV2>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenuV2>\n\t);\n}\n"],"mappings":"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"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = DataViews;
8
+ exports.viewTypeSupportsMap = void 0;
8
9
  var _react = require("react");
9
10
  var _components = require("@wordpress/components");
10
11
  var _element = require("@wordpress/element");
@@ -14,6 +15,7 @@ var _viewActions = _interopRequireDefault(require("./view-actions"));
14
15
  var _filters = _interopRequireDefault(require("./filters"));
15
16
  var _search = _interopRequireDefault(require("./search"));
16
17
  var _viewGrid = require("./view-grid");
18
+ var _viewSideBySide = require("./view-side-by-side");
17
19
  /**
18
20
  * WordPress dependencies
19
21
  */
@@ -22,6 +24,20 @@ var _viewGrid = require("./view-grid");
22
24
  * Internal dependencies
23
25
  */
24
26
 
27
+ // To do: convert to view type registry.
28
+ const viewTypeSupportsMap = {
29
+ list: {},
30
+ grid: {},
31
+ 'side-by-side': {
32
+ preview: true
33
+ }
34
+ };
35
+ exports.viewTypeSupportsMap = viewTypeSupportsMap;
36
+ const viewTypeMap = {
37
+ list: _viewList.default,
38
+ grid: _viewGrid.ViewGrid,
39
+ 'side-by-side': _viewSideBySide.ViewSideBySide
40
+ };
25
41
  function DataViews({
26
42
  view,
27
43
  onChangeView,
@@ -31,9 +47,10 @@ function DataViews({
31
47
  actions,
32
48
  data,
33
49
  isLoading = false,
34
- paginationInfo
50
+ paginationInfo,
51
+ supportedLayouts
35
52
  }) {
36
- const ViewComponent = view.type === 'list' ? _viewList.default : _viewGrid.ViewGrid;
53
+ const ViewComponent = viewTypeMap[view.type];
37
54
  const _fields = (0, _element.useMemo)(() => {
38
55
  return fields.map(field => ({
39
56
  ...field,
@@ -56,11 +73,13 @@ function DataViews({
56
73
  view: view,
57
74
  onChangeView: onChangeView
58
75
  })), (0, _react.createElement)(_components.__experimentalHStack, {
59
- justify: "end"
76
+ justify: "end",
77
+ expanded: false
60
78
  }, (0, _react.createElement)(_viewActions.default, {
61
79
  fields: fields,
62
80
  view: view,
63
- onChangeView: onChangeView
81
+ onChangeView: onChangeView,
82
+ supportedLayouts: supportedLayouts
64
83
  }))), (0, _react.createElement)(ViewComponent, {
65
84
  fields: _fields,
66
85
  view: view,
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_viewList","_interopRequireDefault","_pagination","_viewActions","_filters","_search","_viewGrid","DataViews","view","onChangeView","fields","search","searchLabel","undefined","actions","data","isLoading","paginationInfo","ViewComponent","type","ViewList","ViewGrid","_fields","useMemo","map","field","render","getValue","_react","createElement","className","__experimentalVStack","spacing","justify","__experimentalHStack","default","label"],"sources":["@wordpress/edit-site/src/components/dataviews/dataviews.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ViewList from './view-list';\nimport Pagination from './pagination';\nimport ViewActions from './view-actions';\nimport Filters from './filters';\nimport Search from './search';\nimport { ViewGrid } from './view-grid';\n\nexport default function DataViews( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions,\n\tdata,\n\tisLoading = false,\n\tpaginationInfo,\n} ) {\n\tconst ViewComponent = view.type === 'list' ? ViewList : ViewGrid;\n\tconst _fields = useMemo( () => {\n\t\treturn fields.map( ( field ) => ( {\n\t\t\t...field,\n\t\t\trender: field.render || field.getValue,\n\t\t} ) );\n\t}, [ fields ] );\n\treturn (\n\t\t<div className=\"dataviews-wrapper\">\n\t\t\t<VStack spacing={ 4 } justify=\"flex-start\">\n\t\t\t\t<HStack>\n\t\t\t\t\t<HStack justify=\"start\">\n\t\t\t\t\t\t{ search && (\n\t\t\t\t\t\t\t<Search\n\t\t\t\t\t\t\t\tlabel={ searchLabel }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Filters\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<HStack justify=\"end\">\n\t\t\t\t\t\t<ViewActions\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t\t<ViewComponent\n\t\t\t\t\tfields={ _fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t/>\n\t\t\t\t<Pagination\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,SAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,YAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,QAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,OAAA,GAAAJ,sBAAA,CAAAH,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AAjBA;AACA;AACA;;AAOA;AACA;AACA;;AAQe,SAASS,SAASA,CAAE;EAClCC,IAAI;EACJC,YAAY;EACZC,MAAM;EACNC,MAAM,GAAG,IAAI;EACbC,WAAW,GAAGC,SAAS;EACvBC,OAAO;EACPC,IAAI;EACJC,SAAS,GAAG,KAAK;EACjBC;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAGV,IAAI,CAACW,IAAI,KAAK,MAAM,GAAGC,iBAAQ,GAAGC,kBAAQ;EAChE,MAAMC,OAAO,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC9B,OAAOb,MAAM,CAACc,GAAG,CAAIC,KAAK,KAAQ;MACjC,GAAGA,KAAK;MACRC,MAAM,EAAED,KAAK,CAACC,MAAM,IAAID,KAAK,CAACE;IAC/B,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEjB,MAAM,CAAG,CAAC;EACf,OACC,IAAAkB,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAAmB,GACjC,IAAAF,MAAA,CAAAC,aAAA,EAAChC,WAAA,CAAAkC,oBAAM;IAACC,OAAO,EAAG,CAAG;IAACC,OAAO,EAAC;EAAY,GACzC,IAAAL,MAAA,CAAAC,aAAA,EAAChC,WAAA,CAAAqC,oBAAM,QACN,IAAAN,MAAA,CAAAC,aAAA,EAAChC,WAAA,CAAAqC,oBAAM;IAACD,OAAO,EAAC;EAAO,GACpBtB,MAAM,IACP,IAAAiB,MAAA,CAAAC,aAAA,EAACxB,OAAA,CAAA8B,OAAM;IACNC,KAAK,EAAGxB,WAAa;IACrBJ,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA;EAAc,CAC7B,CACD,EACD,IAAAmB,MAAA,CAAAC,aAAA,EAACzB,QAAA,CAAA+B,OAAO;IACPzB,MAAM,EAAGA,MAAQ;IACjBF,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA;EAAc,CAC7B,CACM,CAAC,EACT,IAAAmB,MAAA,CAAAC,aAAA,EAAChC,WAAA,CAAAqC,oBAAM;IAACD,OAAO,EAAC;EAAK,GACpB,IAAAL,MAAA,CAAAC,aAAA,EAAC1B,YAAA,CAAAgC,OAAW;IACXzB,MAAM,EAAGA,MAAQ;IACjBF,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA;EAAc,CAC7B,CACM,CACD,CAAC,EACT,IAAAmB,MAAA,CAAAC,aAAA,EAACX,aAAa;IACbR,MAAM,EAAGY,OAAS;IAClBd,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA,YAAc;IAC7BQ,cAAc,EAAGA,cAAgB;IACjCH,OAAO,EAAGA,OAAS;IACnBC,IAAI,EAAGA,IAAM;IACbC,SAAS,EAAGA;EAAW,CACvB,CAAC,EACF,IAAAY,MAAA,CAAAC,aAAA,EAAC3B,WAAA,CAAAiC,OAAU;IACV3B,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA,YAAc;IAC7BQ,cAAc,EAAGA;EAAgB,CACjC,CACM,CACJ,CAAC;AAER"}
1
+ {"version":3,"names":["_components","require","_element","_viewList","_interopRequireDefault","_pagination","_viewActions","_filters","_search","_viewGrid","_viewSideBySide","viewTypeSupportsMap","list","grid","preview","exports","viewTypeMap","ViewList","ViewGrid","ViewSideBySide","DataViews","view","onChangeView","fields","search","searchLabel","undefined","actions","data","isLoading","paginationInfo","supportedLayouts","ViewComponent","type","_fields","useMemo","map","field","render","getValue","_react","createElement","className","__experimentalVStack","spacing","justify","__experimentalHStack","default","label","expanded"],"sources":["@wordpress/edit-site/src/components/dataviews/dataviews.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ViewList from './view-list';\nimport Pagination from './pagination';\nimport ViewActions from './view-actions';\nimport Filters from './filters';\nimport Search from './search';\nimport { ViewGrid } from './view-grid';\nimport { ViewSideBySide } from './view-side-by-side';\n\n// To do: convert to view type registry.\nexport const viewTypeSupportsMap = {\n\tlist: {},\n\tgrid: {},\n\t'side-by-side': {\n\t\tpreview: true,\n\t},\n};\n\nconst viewTypeMap = {\n\tlist: ViewList,\n\tgrid: ViewGrid,\n\t'side-by-side': ViewSideBySide,\n};\n\nexport default function DataViews( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions,\n\tdata,\n\tisLoading = false,\n\tpaginationInfo,\n\tsupportedLayouts,\n} ) {\n\tconst ViewComponent = viewTypeMap[ view.type ];\n\tconst _fields = useMemo( () => {\n\t\treturn fields.map( ( field ) => ( {\n\t\t\t...field,\n\t\t\trender: field.render || field.getValue,\n\t\t} ) );\n\t}, [ fields ] );\n\treturn (\n\t\t<div className=\"dataviews-wrapper\">\n\t\t\t<VStack spacing={ 4 } justify=\"flex-start\">\n\t\t\t\t<HStack>\n\t\t\t\t\t<HStack justify=\"start\">\n\t\t\t\t\t\t{ search && (\n\t\t\t\t\t\t\t<Search\n\t\t\t\t\t\t\t\tlabel={ searchLabel }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Filters\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<HStack justify=\"end\" expanded={ false }>\n\t\t\t\t\t\t<ViewActions\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\tsupportedLayouts={ supportedLayouts }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t\t<ViewComponent\n\t\t\t\t\tfields={ _fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t/>\n\t\t\t\t<Pagination\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -7,7 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = Filters;
8
8
  var _react = require("react");
9
9
  var _i18n = require("@wordpress/i18n");
10
- var _inFilter = _interopRequireDefault(require("./in-filter"));
10
+ var _inFilter = _interopRequireWildcard(require("./in-filter"));
11
+ var _addFilter = _interopRequireDefault(require("./add-filter"));
12
+ var _resetFilters = _interopRequireDefault(require("./reset-filters"));
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
15
  /**
12
16
  * WordPress dependencies
13
17
  */
@@ -16,59 +20,59 @@ var _inFilter = _interopRequireDefault(require("./in-filter"));
16
20
  * Internal dependencies
17
21
  */
18
22
 
23
+ const VALID_OPERATORS = [_inFilter.OPERATOR_IN];
19
24
  function Filters({
20
25
  fields,
21
26
  view,
22
27
  onChangeView
23
28
  }) {
24
- const filterIndex = {};
29
+ const filters = [];
25
30
  fields.forEach(field => {
26
31
  if (!field.filters) {
27
32
  return;
28
33
  }
29
34
  field.filters.forEach(filter => {
30
- let id = field.id;
31
- if ('string' === typeof filter) {
32
- filterIndex[id] = {
33
- id,
35
+ if (VALID_OPERATORS.some(operator => operator === filter)) {
36
+ filters.push({
37
+ field: field.id,
34
38
  name: field.header,
35
- type: filter
36
- };
37
- }
38
- if ('object' === typeof filter) {
39
- id = filter.id || field.id;
40
- filterIndex[id] = {
41
- id,
42
- name: filter.name || field.header,
43
- type: filter.type
44
- };
45
- }
46
- if ('enumeration' === filterIndex[id]?.type) {
47
- const elements = [{
48
- value: filter.resetValue || '',
49
- label: filter.resetLabel || (0, _i18n.__)('All')
50
- }, ...(field.elements || [])];
51
- filterIndex[id] = {
52
- ...filterIndex[id],
53
- elements
54
- };
39
+ operator: filter,
40
+ elements: [{
41
+ value: '',
42
+ label: (0, _i18n.__)('All')
43
+ }, ...(field.elements || [])],
44
+ isVisible: view.filters.some(f => f.field === field.id && f.operator === filter)
45
+ });
55
46
  }
56
47
  });
57
48
  });
58
- return view.visibleFilters?.map(filterName => {
59
- const filter = filterIndex[filterName];
60
- if (!filter) {
49
+ const filterComponents = filters?.map(filter => {
50
+ if (!filter.isVisible) {
61
51
  return null;
62
52
  }
63
- if (filter.type === 'enumeration') {
53
+ if (_inFilter.OPERATOR_IN === filter.operator) {
64
54
  return (0, _react.createElement)(_inFilter.default, {
65
- key: filterName,
55
+ key: filter.field + '.' + filter.operator,
66
56
  filter: filter,
67
57
  view: view,
68
58
  onChangeView: onChangeView
69
59
  });
70
60
  }
71
61
  return null;
72
- }) || (0, _i18n.__)('No filters available');
62
+ });
63
+ filterComponents.push((0, _react.createElement)(_addFilter.default, {
64
+ key: "add-filter",
65
+ fields: fields,
66
+ view: view,
67
+ onChangeView: onChangeView
68
+ }));
69
+ if (filterComponents.length > 1) {
70
+ filterComponents.push((0, _react.createElement)(_resetFilters.default, {
71
+ key: "reset-filters",
72
+ view: view,
73
+ onChangeView: onChangeView
74
+ }));
75
+ }
76
+ return filterComponents;
73
77
  }
74
78
  //# sourceMappingURL=filters.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_inFilter","_interopRequireDefault","Filters","fields","view","onChangeView","filterIndex","forEach","field","filters","filter","id","name","header","type","elements","value","resetValue","label","resetLabel","__","visibleFilters","map","filterName","_react","createElement","default","key"],"sources":["@wordpress/edit-site/src/components/dataviews/filters.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport InFilter from './in-filter';\n\nexport default function Filters( { fields, view, onChangeView } ) {\n\tconst filterIndex = {};\n\tfields.forEach( ( field ) => {\n\t\tif ( ! field.filters ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfield.filters.forEach( ( filter ) => {\n\t\t\tlet id = field.id;\n\t\t\tif ( 'string' === typeof filter ) {\n\t\t\t\tfilterIndex[ id ] = {\n\t\t\t\t\tid,\n\t\t\t\t\tname: field.header,\n\t\t\t\t\ttype: filter,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( 'object' === typeof filter ) {\n\t\t\t\tid = filter.id || field.id;\n\t\t\t\tfilterIndex[ id ] = {\n\t\t\t\t\tid,\n\t\t\t\t\tname: filter.name || field.header,\n\t\t\t\t\ttype: filter.type,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( 'enumeration' === filterIndex[ id ]?.type ) {\n\t\t\t\tconst elements = [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: filter.resetValue || '',\n\t\t\t\t\t\tlabel: filter.resetLabel || __( 'All' ),\n\t\t\t\t\t},\n\t\t\t\t\t...( field.elements || [] ),\n\t\t\t\t];\n\t\t\t\tfilterIndex[ id ] = {\n\t\t\t\t\t...filterIndex[ id ],\n\t\t\t\t\telements,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\t} );\n\n\treturn (\n\t\tview.visibleFilters?.map( ( filterName ) => {\n\t\t\tconst filter = filterIndex[ filterName ];\n\n\t\t\tif ( ! filter ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( filter.type === 'enumeration' ) {\n\t\t\t\treturn (\n\t\t\t\t\t<InFilter\n\t\t\t\t\t\tkey={ filterName }\n\t\t\t\t\t\tfilter={ filter }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn null;\n\t\t} ) || __( 'No filters available' )\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGe,SAASG,OAAOA,CAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,EAAG;EACjE,MAAMC,WAAW,GAAG,CAAC,CAAC;EACtBH,MAAM,CAACI,OAAO,CAAIC,KAAK,IAAM;IAC5B,IAAK,CAAEA,KAAK,CAACC,OAAO,EAAG;MACtB;IACD;IAEAD,KAAK,CAACC,OAAO,CAACF,OAAO,CAAIG,MAAM,IAAM;MACpC,IAAIC,EAAE,GAAGH,KAAK,CAACG,EAAE;MACjB,IAAK,QAAQ,KAAK,OAAOD,MAAM,EAAG;QACjCJ,WAAW,CAAEK,EAAE,CAAE,GAAG;UACnBA,EAAE;UACFC,IAAI,EAAEJ,KAAK,CAACK,MAAM;UAClBC,IAAI,EAAEJ;QACP,CAAC;MACF;MAEA,IAAK,QAAQ,KAAK,OAAOA,MAAM,EAAG;QACjCC,EAAE,GAAGD,MAAM,CAACC,EAAE,IAAIH,KAAK,CAACG,EAAE;QAC1BL,WAAW,CAAEK,EAAE,CAAE,GAAG;UACnBA,EAAE;UACFC,IAAI,EAAEF,MAAM,CAACE,IAAI,IAAIJ,KAAK,CAACK,MAAM;UACjCC,IAAI,EAAEJ,MAAM,CAACI;QACd,CAAC;MACF;MAEA,IAAK,aAAa,KAAKR,WAAW,CAAEK,EAAE,CAAE,EAAEG,IAAI,EAAG;QAChD,MAAMC,QAAQ,GAAG,CAChB;UACCC,KAAK,EAAEN,MAAM,CAACO,UAAU,IAAI,EAAE;UAC9BC,KAAK,EAAER,MAAM,CAACS,UAAU,IAAI,IAAAC,QAAE,EAAE,KAAM;QACvC,CAAC,EACD,IAAKZ,KAAK,CAACO,QAAQ,IAAI,EAAE,CAAE,CAC3B;QACDT,WAAW,CAAEK,EAAE,CAAE,GAAG;UACnB,GAAGL,WAAW,CAAEK,EAAE,CAAE;UACpBI;QACD,CAAC;MACF;IACD,CAAE,CAAC;EACJ,CAAE,CAAC;EAEH,OACCX,IAAI,CAACiB,cAAc,EAAEC,GAAG,CAAIC,UAAU,IAAM;IAC3C,MAAMb,MAAM,GAAGJ,WAAW,CAAEiB,UAAU,CAAE;IAExC,IAAK,CAAEb,MAAM,EAAG;MACf,OAAO,IAAI;IACZ;IAEA,IAAKA,MAAM,CAACI,IAAI,KAAK,aAAa,EAAG;MACpC,OACC,IAAAU,MAAA,CAAAC,aAAA,EAACzB,SAAA,CAAA0B,OAAQ;QACRC,GAAG,EAAGJ,UAAY;QAClBb,MAAM,EAAGA,MAAQ;QACjBN,IAAI,EAAGA,IAAM;QACbC,YAAY,EAAGA;MAAc,CAC7B,CAAC;IAEJ;IAEA,OAAO,IAAI;EACZ,CAAE,CAAC,IAAI,IAAAe,QAAE,EAAE,sBAAuB,CAAC;AAErC"}
1
+ {"version":3,"names":["_i18n","require","_inFilter","_interopRequireWildcard","_addFilter","_interopRequireDefault","_resetFilters","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","VALID_OPERATORS","OPERATOR_IN","Filters","fields","view","onChangeView","filters","forEach","field","filter","some","operator","push","id","name","header","elements","value","label","__","isVisible","f","filterComponents","map","_react","createElement","length"],"sources":["@wordpress/edit-site/src/components/dataviews/filters.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { default as InFilter, OPERATOR_IN } from './in-filter';\nimport AddFilter from './add-filter';\nimport ResetFilters from './reset-filters';\n\nconst VALID_OPERATORS = [ OPERATOR_IN ];\n\nexport default function Filters( { fields, view, onChangeView } ) {\n\tconst filters = [];\n\tfields.forEach( ( field ) => {\n\t\tif ( ! field.filters ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfield.filters.forEach( ( filter ) => {\n\t\t\tif ( VALID_OPERATORS.some( ( operator ) => operator === filter ) ) {\n\t\t\t\tfilters.push( {\n\t\t\t\t\tfield: field.id,\n\t\t\t\t\tname: field.header,\n\t\t\t\t\toperator: filter,\n\t\t\t\t\telements: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t\t\tlabel: __( 'All' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...( field.elements || [] ),\n\t\t\t\t\t],\n\t\t\t\t\tisVisible: view.filters.some(\n\t\t\t\t\t\t( f ) => f.field === field.id && f.operator === filter\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t} );\n\n\tconst filterComponents = filters?.map( ( filter ) => {\n\t\tif ( ! filter.isVisible ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( OPERATOR_IN === filter.operator ) {\n\t\t\treturn (\n\t\t\t\t<InFilter\n\t\t\t\t\tkey={ filter.field + '.' + filter.operator }\n\t\t\t\t\tfilter={ filter }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t} );\n\n\tfilterComponents.push(\n\t\t<AddFilter\n\t\t\tkey=\"add-filter\"\n\t\t\tfields={ fields }\n\t\t\tview={ view }\n\t\t\tonChangeView={ onChangeView }\n\t\t/>\n\t);\n\n\tif ( filterComponents.length > 1 ) {\n\t\tfilterComponents.push(\n\t\t\t<ResetFilters\n\t\t\t\tkey=\"reset-filters\"\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn filterComponents;\n}\n"],"mappings":"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"}
@@ -3,44 +3,46 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = exports.OPERATOR_IN = void 0;
7
7
  var _react = require("react");
8
8
  var _components = require("@wordpress/components");
9
- var _blockEditor = require("@wordpress/block-editor");
10
- var _lockUnlock = require("../../lock-unlock");
9
+ var _i18n = require("@wordpress/i18n");
11
10
  /**
12
11
  * WordPress dependencies
13
12
  */
14
13
 
15
- /**
16
- * Internal dependencies
17
- */
18
-
19
- const {
20
- cleanEmptyObject
21
- } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
14
+ const OPERATOR_IN = 'in';
15
+ exports.OPERATOR_IN = OPERATOR_IN;
22
16
  var _default = ({
23
17
  filter,
24
18
  view,
25
19
  onChangeView
26
20
  }) => {
21
+ const valueFound = view.filters.find(f => f.field === filter.field && f.operator === OPERATOR_IN);
22
+ const activeValue = !valueFound || !valueFound.hasOwnProperty('value') ? '' : valueFound.value;
23
+ const id = `dataviews__filters-in-${filter.field}`;
27
24
  return (0, _react.createElement)(_components.SelectControl, {
28
- value: view.filters[filter.id],
25
+ id: id,
26
+ __nextHasNoMarginBottom: true,
27
+ value: activeValue,
29
28
  prefix: (0, _react.createElement)(_components.__experimentalInputControlPrefixWrapper, {
30
- as: "span",
29
+ as: "label",
30
+ htmlFor: id,
31
31
  className: "dataviews__select-control-prefix"
32
- }, filter.name + ':'),
32
+ }, (0, _i18n.sprintf)( /* translators: filter name. */
33
+ (0, _i18n.__)('%s:'), filter.name)),
33
34
  options: filter.elements,
34
35
  onChange: value => {
35
- if (value === '') {
36
- value = undefined;
37
- }
36
+ const filters = view.filters.filter(f => f.field !== filter.field || f.operator !== OPERATOR_IN);
37
+ filters.push({
38
+ field: filter.field,
39
+ operator: OPERATOR_IN,
40
+ value
41
+ });
38
42
  onChangeView(currentView => ({
39
43
  ...currentView,
40
- filters: cleanEmptyObject({
41
- ...currentView.filters,
42
- [filter.id]: value
43
- })
44
+ page: 1,
45
+ filters
44
46
  }));
45
47
  }
46
48
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_blockEditor","_lockUnlock","cleanEmptyObject","unlock","blockEditorPrivateApis","_default","filter","view","onChangeView","_react","createElement","SelectControl","value","filters","id","prefix","__experimentalInputControlPrefixWrapper","as","className","name","options","elements","onChange","undefined","currentView","exports","default"],"sources":["@wordpress/edit-site/src/components/dataviews/in-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\tSelectControl,\n} from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default ( { filter, view, onChangeView } ) => {\n\treturn (\n\t\t<SelectControl\n\t\t\tvalue={ view.filters[ filter.id ] }\n\t\t\tprefix={\n\t\t\t\t<InputControlPrefixWrapper\n\t\t\t\t\tas=\"span\"\n\t\t\t\t\tclassName=\"dataviews__select-control-prefix\"\n\t\t\t\t>\n\t\t\t\t\t{ filter.name + ':' }\n\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t}\n\t\t\toptions={ filter.elements }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tif ( value === '' ) {\n\t\t\t\t\tvalue = undefined;\n\t\t\t\t}\n\n\t\t\t\tonChangeView( ( currentView ) => ( {\n\t\t\t\t\t...currentView,\n\t\t\t\t\tfilters: cleanEmptyObject( {\n\t\t\t\t\t\t...currentView.filters,\n\t\t\t\t\t\t[ filter.id ]: value,\n\t\t\t\t\t} ),\n\t\t\t\t} ) );\n\t\t\t} }\n\t\t/>\n\t);\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,YAAA,GAAAD,OAAA;AAKA,IAAAE,WAAA,GAAAF,OAAA;AAZA;AACA;AACA;;AAOA;AACA;AACA;;AAGA,MAAM;EAAEG;AAAiB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAAC,IAAAC,QAAA,GAE/CA,CAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,KAAM;EACpD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACZ,WAAA,CAAAa,aAAa;IACbC,KAAK,EAAGL,IAAI,CAACM,OAAO,CAAEP,MAAM,CAACQ,EAAE,CAAI;IACnCC,MAAM,EACL,IAAAN,MAAA,CAAAC,aAAA,EAACZ,WAAA,CAAAkB,uCAAyB;MACzBC,EAAE,EAAC,MAAM;MACTC,SAAS,EAAC;IAAkC,GAE1CZ,MAAM,CAACa,IAAI,GAAG,GACU,CAC3B;IACDC,OAAO,EAAGd,MAAM,CAACe,QAAU;IAC3BC,QAAQ,EAAKV,KAAK,IAAM;MACvB,IAAKA,KAAK,KAAK,EAAE,EAAG;QACnBA,KAAK,GAAGW,SAAS;MAClB;MAEAf,YAAY,CAAIgB,WAAW,KAAQ;QAClC,GAAGA,WAAW;QACdX,OAAO,EAAEX,gBAAgB,CAAE;UAC1B,GAAGsB,WAAW,CAACX,OAAO;UACtB,CAAEP,MAAM,CAACQ,EAAE,GAAIF;QAChB,CAAE;MACH,CAAC,CAAG,CAAC;IACN;EAAG,CACH,CAAC;AAEJ,CAAC;AAAAa,OAAA,CAAAC,OAAA,GAAArB,QAAA"}
1
+ {"version":3,"names":["_components","require","_i18n","OPERATOR_IN","exports","_default","filter","view","onChangeView","valueFound","filters","find","f","field","operator","activeValue","hasOwnProperty","value","id","_react","createElement","SelectControl","__nextHasNoMarginBottom","prefix","__experimentalInputControlPrefixWrapper","as","htmlFor","className","sprintf","__","name","options","elements","onChange","push","currentView","page","default"],"sources":["@wordpress/edit-site/src/components/dataviews/in-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\tSelectControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\nexport const OPERATOR_IN = 'in';\n\nexport default ( { filter, view, onChangeView } ) => {\n\tconst valueFound = view.filters.find(\n\t\t( f ) => f.field === filter.field && f.operator === OPERATOR_IN\n\t);\n\n\tconst activeValue =\n\t\t! valueFound || ! valueFound.hasOwnProperty( 'value' )\n\t\t\t? ''\n\t\t\t: valueFound.value;\n\n\tconst id = `dataviews__filters-in-${ filter.field }`;\n\n\treturn (\n\t\t<SelectControl\n\t\t\tid={ id }\n\t\t\t__nextHasNoMarginBottom\n\t\t\tvalue={ activeValue }\n\t\t\tprefix={\n\t\t\t\t<InputControlPrefixWrapper\n\t\t\t\t\tas=\"label\"\n\t\t\t\t\thtmlFor={ id }\n\t\t\t\t\tclassName=\"dataviews__select-control-prefix\"\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: filter name. */\n\t\t\t\t\t\t__( '%s:' ),\n\t\t\t\t\t\tfilter.name\n\t\t\t\t\t) }\n\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t}\n\t\t\toptions={ filter.elements }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst filters = view.filters.filter(\n\t\t\t\t\t( f ) =>\n\t\t\t\t\t\tf.field !== filter.field || f.operator !== OPERATOR_IN\n\t\t\t\t);\n\n\t\t\t\tfilters.push( {\n\t\t\t\t\tfield: filter.field,\n\t\t\t\t\toperator: OPERATOR_IN,\n\t\t\t\t\tvalue,\n\t\t\t\t} );\n\n\t\t\t\tonChangeView( ( currentView ) => ( {\n\t\t\t\t\t...currentView,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters,\n\t\t\t\t} ) );\n\t\t\t} }\n\t\t/>\n\t);\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AAPA;AACA;AACA;;AAOO,MAAME,WAAW,GAAG,IAAI;AAACC,OAAA,CAAAD,WAAA,GAAAA,WAAA;AAAA,IAAAE,QAAA,GAEjBA,CAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,KAAM;EACpD,MAAMC,UAAU,GAAGF,IAAI,CAACG,OAAO,CAACC,IAAI,CACjCC,CAAC,IAAMA,CAAC,CAACC,KAAK,KAAKP,MAAM,CAACO,KAAK,IAAID,CAAC,CAACE,QAAQ,KAAKX,WACrD,CAAC;EAED,MAAMY,WAAW,GAChB,CAAEN,UAAU,IAAI,CAAEA,UAAU,CAACO,cAAc,CAAE,OAAQ,CAAC,GACnD,EAAE,GACFP,UAAU,CAACQ,KAAK;EAEpB,MAAMC,EAAE,GAAI,yBAAyBZ,MAAM,CAACO,KAAO,EAAC;EAEpD,OACC,IAAAM,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAqB,aAAa;IACbH,EAAE,EAAGA,EAAI;IACTI,uBAAuB;IACvBL,KAAK,EAAGF,WAAa;IACrBQ,MAAM,EACL,IAAAJ,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAwB,uCAAyB;MACzBC,EAAE,EAAC,OAAO;MACVC,OAAO,EAAGR,EAAI;MACdS,SAAS,EAAC;IAAkC,GAE1C,IAAAC,aAAO,GACR;IACA,IAAAC,QAAE,EAAE,KAAM,CAAC,EACXvB,MAAM,CAACwB,IACR,CAC0B,CAC3B;IACDC,OAAO,EAAGzB,MAAM,CAAC0B,QAAU;IAC3BC,QAAQ,EAAKhB,KAAK,IAAM;MACvB,MAAMP,OAAO,GAAGH,IAAI,CAACG,OAAO,CAACJ,MAAM,CAChCM,CAAC,IACFA,CAAC,CAACC,KAAK,KAAKP,MAAM,CAACO,KAAK,IAAID,CAAC,CAACE,QAAQ,KAAKX,WAC7C,CAAC;MAEDO,OAAO,CAACwB,IAAI,CAAE;QACbrB,KAAK,EAAEP,MAAM,CAACO,KAAK;QACnBC,QAAQ,EAAEX,WAAW;QACrBc;MACD,CAAE,CAAC;MAEHT,YAAY,CAAI2B,WAAW,KAAQ;QAClC,GAAGA,WAAW;QACdC,IAAI,EAAE,CAAC;QACP1B;MACD,CAAC,CAAG,CAAC;IACN;EAAG,CACH,CAAC;AAEJ,CAAC;AAAAN,OAAA,CAAAiC,OAAA,GAAAhC,QAAA"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -10,5 +9,13 @@ Object.defineProperty(exports, "DataViews", {
10
9
  return _dataviews.default;
11
10
  }
12
11
  });
13
- var _dataviews = _interopRequireDefault(require("./dataviews"));
12
+ Object.defineProperty(exports, "viewTypeSupportsMap", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _dataviews.viewTypeSupportsMap;
16
+ }
17
+ });
18
+ var _dataviews = _interopRequireWildcard(require("./dataviews"));
19
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_dataviews","_interopRequireDefault","require"],"sources":["@wordpress/edit-site/src/components/dataviews/index.js"],"sourcesContent":["export { default as DataViews } from './dataviews';\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA"}
1
+ {"version":3,"names":["_dataviews","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sources":["@wordpress/edit-site/src/components/dataviews/index.js"],"sourcesContent":["export { default as DataViews, viewTypeSupportsMap } from './dataviews';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAwE,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
@@ -13,6 +13,55 @@ var _icons = require("@wordpress/icons");
13
13
  * WordPress dependencies
14
14
  */
15
15
 
16
+ function PrimaryActionTrigger({
17
+ action,
18
+ onClick
19
+ }) {
20
+ return (0, _react.createElement)(_components.Button, {
21
+ label: action.label,
22
+ icon: action.icon,
23
+ isDestructive: action.isDestructive,
24
+ size: "compact",
25
+ onClick: onClick
26
+ });
27
+ }
28
+ function SecondaryActionTrigger({
29
+ action,
30
+ onClick
31
+ }) {
32
+ return (0, _react.createElement)(_components.MenuItem, {
33
+ onClick: onClick,
34
+ isDestructive: action.isDestructive
35
+ }, action.label);
36
+ }
37
+ function ActionWithModal({
38
+ action,
39
+ item,
40
+ ActionTrigger
41
+ }) {
42
+ const [isModalOpen, setIsModalOpen] = (0, _element.useState)(false);
43
+ const actionTriggerProps = {
44
+ action,
45
+ onClick: () => setIsModalOpen(true)
46
+ };
47
+ const {
48
+ RenderModal,
49
+ hideModalHeader
50
+ } = action;
51
+ return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(ActionTrigger, {
52
+ ...actionTriggerProps
53
+ }), isModalOpen && (0, _react.createElement)(_components.Modal, {
54
+ title: !hideModalHeader && action.label,
55
+ __experimentalHideHeader: !!hideModalHeader,
56
+ onRequestClose: () => {
57
+ setIsModalOpen(false);
58
+ },
59
+ overlayClassName: "dataviews-action-modal"
60
+ }, (0, _react.createElement)(RenderModal, {
61
+ item: item,
62
+ closeModal: () => setIsModalOpen(false)
63
+ })));
64
+ }
16
65
  function ItemActions({
17
66
  item,
18
67
  actions
@@ -43,20 +92,39 @@ function ItemActions({
43
92
  }
44
93
  return (0, _react.createElement)(_components.__experimentalHStack, {
45
94
  justify: "flex-end"
46
- }, !!primaryActions.length && primaryActions.map(action => (0, _react.createElement)(_components.Button, {
47
- label: action.label,
48
- key: action.id,
49
- icon: action.icon,
50
- onClick: () => action.perform(item),
51
- isDestructive: action.isDestructive,
52
- size: "compact"
53
- })), !!secondaryActions.length && (0, _react.createElement)(_components.DropdownMenu, {
95
+ }, !!primaryActions.length && primaryActions.map(action => {
96
+ if (!!action.RenderModal) {
97
+ return (0, _react.createElement)(ActionWithModal, {
98
+ key: action.id,
99
+ action: action,
100
+ item: item,
101
+ ActionTrigger: PrimaryActionTrigger
102
+ });
103
+ }
104
+ return (0, _react.createElement)(PrimaryActionTrigger, {
105
+ key: action.id,
106
+ action: action,
107
+ item: item,
108
+ onClick: () => action.callback(item)
109
+ });
110
+ }), !!secondaryActions.length && (0, _react.createElement)(_components.DropdownMenu, {
54
111
  icon: _icons.moreVertical,
55
112
  label: (0, _i18n.__)('Actions')
56
- }, () => (0, _react.createElement)(_components.MenuGroup, null, secondaryActions.map(action => (0, _react.createElement)(_components.MenuItem, {
57
- key: action.id,
58
- onClick: () => action.perform(item),
59
- isDestructive: action.isDestructive
60
- }, action.label)))));
113
+ }, () => (0, _react.createElement)(_components.MenuGroup, null, secondaryActions.map(action => {
114
+ if (!!action.RenderModal) {
115
+ return (0, _react.createElement)(ActionWithModal, {
116
+ key: action.id,
117
+ action: action,
118
+ item: item,
119
+ ActionTrigger: SecondaryActionTrigger
120
+ });
121
+ }
122
+ return (0, _react.createElement)(SecondaryActionTrigger, {
123
+ key: action.id,
124
+ action: action,
125
+ item: item,
126
+ onClick: () => action.callback(item)
127
+ });
128
+ }))));
61
129
  }
62
130
  //# sourceMappingURL=item-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_icons","ItemActions","item","actions","primaryActions","secondaryActions","useMemo","reduce","accumulator","action","isEligible","isPrimary","icon","push","length","_react","createElement","__experimentalHStack","justify","map","Button","label","key","id","onClick","perform","isDestructive","size","DropdownMenu","moreVertical","__","MenuGroup","MenuItem"],"sources":["@wordpress/edit-site/src/components/dataviews/item-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tButton,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\n\nexport default function ItemActions( { item, actions } ) {\n\tconst { primaryActions, secondaryActions } = useMemo( () => {\n\t\treturn actions.reduce(\n\t\t\t( accumulator, action ) => {\n\t\t\t\t// If an action is eligible for all items, doesn't need\n\t\t\t\t// to provide the `isEligible` function.\n\t\t\t\tif ( action.isEligible && ! action.isEligible( item ) ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\t\t\t\tif ( action.isPrimary && !! action.icon ) {\n\t\t\t\t\taccumulator.primaryActions.push( action );\n\t\t\t\t} else {\n\t\t\t\t\taccumulator.secondaryActions.push( action );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{ primaryActions: [], secondaryActions: [] }\n\t\t);\n\t}, [ actions, item ] );\n\tif ( ! primaryActions.length && ! secondaryActions.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<HStack justify=\"flex-end\">\n\t\t\t{ !! primaryActions.length &&\n\t\t\t\tprimaryActions.map( ( action ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ action.label }\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\ticon={ action.icon }\n\t\t\t\t\t\tonClick={ () => action.perform( item ) }\n\t\t\t\t\t\tisDestructive={ action.isDestructive }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t{ !! secondaryActions.length && (\n\t\t\t\t<DropdownMenu icon={ moreVertical } label={ __( 'Actions' ) }>\n\t\t\t\t\t{ () => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ secondaryActions.map( ( action ) => (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\t\tonClick={ () => action.perform( item ) }\n\t\t\t\t\t\t\t\t\tisDestructive={ action.isDestructive }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ action.label }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAOA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAZA;AACA;AACA;;AAYe,SAASI,WAAWA,CAAE;EAAEC,IAAI;EAAEC;AAAQ,CAAC,EAAG;EACxD,MAAM;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC3D,OAAOH,OAAO,CAACI,MAAM,CACpB,CAAEC,WAAW,EAAEC,MAAM,KAAM;MAC1B;MACA;MACA,IAAKA,MAAM,CAACC,UAAU,IAAI,CAAED,MAAM,CAACC,UAAU,CAAER,IAAK,CAAC,EAAG;QACvD,OAAOM,WAAW;MACnB;MACA,IAAKC,MAAM,CAACE,SAAS,IAAI,CAAC,CAAEF,MAAM,CAACG,IAAI,EAAG;QACzCJ,WAAW,CAACJ,cAAc,CAACS,IAAI,CAAEJ,MAAO,CAAC;MAC1C,CAAC,MAAM;QACND,WAAW,CAACH,gBAAgB,CAACQ,IAAI,CAAEJ,MAAO,CAAC;MAC5C;MACA,OAAOD,WAAW;IACnB,CAAC,EACD;MAAEJ,cAAc,EAAE,EAAE;MAAEC,gBAAgB,EAAE;IAAG,CAC5C,CAAC;EACF,CAAC,EAAE,CAAEF,OAAO,EAAED,IAAI,CAAG,CAAC;EACtB,IAAK,CAAEE,cAAc,CAACU,MAAM,IAAI,CAAET,gBAAgB,CAACS,MAAM,EAAG;IAC3D,OAAO,IAAI;EACZ;EACA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAqB,oBAAM;IAACC,OAAO,EAAC;EAAU,GACvB,CAAC,CAAEd,cAAc,CAACU,MAAM,IACzBV,cAAc,CAACe,GAAG,CAAIV,MAAM,IAC3B,IAAAM,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAwB,MAAM;IACNC,KAAK,EAAGZ,MAAM,CAACY,KAAO;IACtBC,GAAG,EAAGb,MAAM,CAACc,EAAI;IACjBX,IAAI,EAAGH,MAAM,CAACG,IAAM;IACpBY,OAAO,EAAGA,CAAA,KAAMf,MAAM,CAACgB,OAAO,CAAEvB,IAAK,CAAG;IACxCwB,aAAa,EAAGjB,MAAM,CAACiB,aAAe;IACtCC,IAAI,EAAC;EAAS,CACd,CACA,CAAC,EACF,CAAC,CAAEtB,gBAAgB,CAACS,MAAM,IAC3B,IAAAC,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAgC,YAAY;IAAChB,IAAI,EAAGiB,mBAAc;IAACR,KAAK,EAAG,IAAAS,QAAE,EAAE,SAAU;EAAG,GAC1D,MACD,IAAAf,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAmC,SAAS,QACP1B,gBAAgB,CAACc,GAAG,CAAIV,MAAM,IAC/B,IAAAM,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAoC,QAAQ;IACRV,GAAG,EAAGb,MAAM,CAACc,EAAI;IACjBC,OAAO,EAAGA,CAAA,KAAMf,MAAM,CAACgB,OAAO,CAAEvB,IAAK,CAAG;IACxCwB,aAAa,EAAGjB,MAAM,CAACiB;EAAe,GAEpCjB,MAAM,CAACY,KACA,CACT,CACQ,CAEC,CAER,CAAC;AAEX"}
1
+ {"version":3,"names":["_components","require","_i18n","_element","_icons","PrimaryActionTrigger","action","onClick","_react","createElement","Button","label","icon","isDestructive","size","SecondaryActionTrigger","MenuItem","ActionWithModal","item","ActionTrigger","isModalOpen","setIsModalOpen","useState","actionTriggerProps","RenderModal","hideModalHeader","Fragment","Modal","title","__experimentalHideHeader","onRequestClose","overlayClassName","closeModal","ItemActions","actions","primaryActions","secondaryActions","useMemo","reduce","accumulator","isEligible","isPrimary","push","length","__experimentalHStack","justify","map","key","id","callback","DropdownMenu","moreVertical","__","MenuGroup"],"sources":["@wordpress/edit-site/src/components/dataviews/item-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\n\nfunction PrimaryActionTrigger( { action, onClick } ) {\n\treturn (\n\t\t<Button\n\t\t\tlabel={ action.label }\n\t\t\ticon={ action.icon }\n\t\t\tisDestructive={ action.isDestructive }\n\t\t\tsize=\"compact\"\n\t\t\tonClick={ onClick }\n\t\t/>\n\t);\n}\n\nfunction SecondaryActionTrigger( { action, onClick } ) {\n\treturn (\n\t\t<MenuItem onClick={ onClick } isDestructive={ action.isDestructive }>\n\t\t\t{ action.label }\n\t\t</MenuItem>\n\t);\n}\n\nfunction ActionWithModal( { action, item, ActionTrigger } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst actionTriggerProps = {\n\t\taction,\n\t\tonClick: () => setIsModalOpen( true ),\n\t};\n\tconst { RenderModal, hideModalHeader } = action;\n\treturn (\n\t\t<>\n\t\t\t<ActionTrigger { ...actionTriggerProps } />\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ ! hideModalHeader && action.label }\n\t\t\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName=\"dataviews-action-modal\"\n\t\t\t\t>\n\t\t\t\t\t<RenderModal\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default function ItemActions( { item, actions } ) {\n\tconst { primaryActions, secondaryActions } = useMemo( () => {\n\t\treturn actions.reduce(\n\t\t\t( accumulator, action ) => {\n\t\t\t\t// If an action is eligible for all items, doesn't need\n\t\t\t\t// to provide the `isEligible` function.\n\t\t\t\tif ( action.isEligible && ! action.isEligible( item ) ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\t\t\t\tif ( action.isPrimary && !! action.icon ) {\n\t\t\t\t\taccumulator.primaryActions.push( action );\n\t\t\t\t} else {\n\t\t\t\t\taccumulator.secondaryActions.push( action );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{ primaryActions: [], secondaryActions: [] }\n\t\t);\n\t}, [ actions, item ] );\n\tif ( ! primaryActions.length && ! secondaryActions.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<HStack justify=\"flex-end\">\n\t\t\t{ !! primaryActions.length &&\n\t\t\t\tprimaryActions.map( ( action ) => {\n\t\t\t\t\tif ( !! action.RenderModal ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tActionTrigger={ PrimaryActionTrigger }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<PrimaryActionTrigger\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tonClick={ () => action.callback( item ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t{ !! secondaryActions.length && (\n\t\t\t\t<DropdownMenu icon={ moreVertical } label={ __( 'Actions' ) }>\n\t\t\t\t\t{ () => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ secondaryActions.map( ( action ) => {\n\t\t\t\t\t\t\t\tif ( !! action.RenderModal ) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\t\tActionTrigger={\n\t\t\t\t\t\t\t\t\t\t\t\tSecondaryActionTrigger\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\treturn (\n\t\t\t\t\t\t\t\t\t<SecondaryActionTrigger\n\t\t\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\taction.callback( item )\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} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
@@ -74,12 +74,13 @@ function Pagination({
74
74
  min: 1,
75
75
  max: totalPages,
76
76
  onChange: value => {
77
- if (!value || value < 1 || value > totalPages) {
77
+ const _value = +value;
78
+ if (!_value || _value < 1 || _value > totalPages) {
78
79
  return;
79
80
  }
80
81
  onChangeView({
81
82
  ...view,
82
- page: value
83
+ page: _value
83
84
  });
84
85
  },
85
86
  step: "1",