@wordpress/dataviews 2.2.0 → 4.0.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 (298) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +23 -8
  3. package/build/components/dataform/index.js +78 -0
  4. package/build/components/dataform/index.js.map +1 -0
  5. package/build/components/dataviews/index.js +115 -0
  6. package/build/components/dataviews/index.js.map +1 -0
  7. package/build/{bulk-actions.js → components/dataviews-bulk-actions/index.js} +39 -16
  8. package/build/components/dataviews-bulk-actions/index.js.map +1 -0
  9. package/build/{bulk-actions-toolbar.js → components/dataviews-bulk-actions-toolbar/index.js} +36 -20
  10. package/build/components/dataviews-bulk-actions-toolbar/index.js.map +1 -0
  11. package/build/components/dataviews-context/index.js +36 -0
  12. package/build/components/dataviews-context/index.js.map +1 -0
  13. package/build/{add-filter.js → components/dataviews-filters/add-filter.js} +3 -3
  14. package/build/components/dataviews-filters/add-filter.js.map +1 -0
  15. package/build/{filter-summary.js → components/dataviews-filters/filter-summary.js} +15 -14
  16. package/build/components/dataviews-filters/filter-summary.js.map +1 -0
  17. package/build/{filters.js → components/dataviews-filters/index.js} +15 -16
  18. package/build/components/dataviews-filters/index.js.map +1 -0
  19. package/build/{reset-filters.js → components/dataviews-filters/reset-filters.js} +1 -1
  20. package/build/components/dataviews-filters/reset-filters.js.map +1 -0
  21. package/build/{search-widget.js → components/dataviews-filters/search-widget.js} +21 -19
  22. package/build/components/dataviews-filters/search-widget.js.map +1 -0
  23. package/build/{item-actions.js → components/dataviews-item-actions/index.js} +3 -3
  24. package/build/components/dataviews-item-actions/index.js.map +1 -0
  25. package/build/components/dataviews-layout/index.js +53 -0
  26. package/build/components/dataviews-layout/index.js.map +1 -0
  27. package/build/{pagination.js → components/dataviews-pagination/index.js} +18 -15
  28. package/build/components/dataviews-pagination/index.js.map +1 -0
  29. package/build/{search.js → components/dataviews-search/index.js} +10 -6
  30. package/build/components/dataviews-search/index.js.map +1 -0
  31. package/build/components/dataviews-selection-checkbox/index.js +52 -0
  32. package/build/components/dataviews-selection-checkbox/index.js.map +1 -0
  33. package/build/{view-actions.js → components/dataviews-view-config/index.js} +94 -80
  34. package/build/components/dataviews-view-config/index.js.map +1 -0
  35. package/build/filter-and-sort-data-view.js +4 -1
  36. package/build/filter-and-sort-data-view.js.map +1 -1
  37. package/build/index.js +8 -1
  38. package/build/index.js.map +1 -1
  39. package/build/layouts/grid/density-picker.js +143 -0
  40. package/build/layouts/grid/density-picker.js.map +1 -0
  41. package/build/{view-grid.js → layouts/grid/index.js} +40 -53
  42. package/build/layouts/grid/index.js.map +1 -0
  43. package/build/layouts/index.js +52 -0
  44. package/build/layouts/index.js.map +1 -0
  45. package/build/{view-list.js → layouts/list/index.js} +31 -27
  46. package/build/layouts/list/index.js.map +1 -0
  47. package/build/layouts/table/column-header-menu.js +196 -0
  48. package/build/layouts/table/column-header-menu.js.map +1 -0
  49. package/build/layouts/table/index.js +350 -0
  50. package/build/layouts/table/index.js.map +1 -0
  51. package/build/normalize-fields.js +1 -1
  52. package/build/normalize-fields.js.map +1 -1
  53. package/build/private-types.js +6 -0
  54. package/build/private-types.js.map +1 -0
  55. package/build/types.js.map +1 -1
  56. package/build/utils.js.map +1 -1
  57. package/build-module/components/dataform/index.js +72 -0
  58. package/build-module/components/dataform/index.js.map +1 -0
  59. package/build-module/components/dataviews/index.js +108 -0
  60. package/build-module/components/dataviews/index.js.map +1 -0
  61. package/build-module/{bulk-actions.js → components/dataviews-bulk-actions/index.js} +39 -17
  62. package/build-module/components/dataviews-bulk-actions/index.js.map +1 -0
  63. package/build-module/{bulk-actions-toolbar.js → components/dataviews-bulk-actions-toolbar/index.js} +35 -20
  64. package/build-module/components/dataviews-bulk-actions-toolbar/index.js.map +1 -0
  65. package/build-module/components/dataviews-context/index.js +30 -0
  66. package/build-module/components/dataviews-context/index.js.map +1 -0
  67. package/build-module/{add-filter.js → components/dataviews-filters/add-filter.js} +3 -3
  68. package/build-module/components/dataviews-filters/add-filter.js.map +1 -0
  69. package/build-module/{filter-summary.js → components/dataviews-filters/filter-summary.js} +15 -14
  70. package/build-module/components/dataviews-filters/filter-summary.js.map +1 -0
  71. package/build-module/{filters.js → components/dataviews-filters/index.js} +16 -17
  72. package/build-module/components/dataviews-filters/index.js.map +1 -0
  73. package/build-module/{reset-filters.js → components/dataviews-filters/reset-filters.js} +1 -1
  74. package/build-module/components/dataviews-filters/reset-filters.js.map +1 -0
  75. package/build-module/{search-widget.js → components/dataviews-filters/search-widget.js} +21 -19
  76. package/build-module/components/dataviews-filters/search-widget.js.map +1 -0
  77. package/build-module/{item-actions.js → components/dataviews-item-actions/index.js} +3 -3
  78. package/build-module/components/dataviews-item-actions/index.js.map +1 -0
  79. package/build-module/components/dataviews-layout/index.js +45 -0
  80. package/build-module/components/dataviews-layout/index.js.map +1 -0
  81. package/build-module/{pagination.js → components/dataviews-pagination/index.js} +19 -17
  82. package/build-module/components/dataviews-pagination/index.js.map +1 -0
  83. package/build-module/{search.js → components/dataviews-search/index.js} +10 -7
  84. package/build-module/components/dataviews-search/index.js.map +1 -0
  85. package/build-module/components/dataviews-selection-checkbox/index.js +45 -0
  86. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -0
  87. package/build-module/{view-actions.js → components/dataviews-view-config/index.js} +98 -84
  88. package/build-module/components/dataviews-view-config/index.js.map +1 -0
  89. package/build-module/filter-and-sort-data-view.js +4 -1
  90. package/build-module/filter-and-sort-data-view.js.map +1 -1
  91. package/build-module/index.js +2 -1
  92. package/build-module/index.js.map +1 -1
  93. package/build-module/layouts/grid/density-picker.js +138 -0
  94. package/build-module/layouts/grid/density-picker.js.map +1 -0
  95. package/build-module/{view-grid.js → layouts/grid/index.js} +37 -50
  96. package/build-module/layouts/grid/index.js.map +1 -0
  97. package/build-module/layouts/index.js +43 -0
  98. package/build-module/layouts/index.js.map +1 -0
  99. package/build-module/{view-list.js → layouts/list/index.js} +29 -25
  100. package/build-module/layouts/list/index.js.map +1 -0
  101. package/build-module/layouts/table/column-header-menu.js +190 -0
  102. package/build-module/layouts/table/column-header-menu.js.map +1 -0
  103. package/build-module/layouts/table/index.js +344 -0
  104. package/build-module/layouts/table/index.js.map +1 -0
  105. package/build-module/normalize-fields.js +1 -1
  106. package/build-module/normalize-fields.js.map +1 -1
  107. package/build-module/private-types.js +2 -0
  108. package/build-module/private-types.js.map +1 -0
  109. package/build-module/types.js.map +1 -1
  110. package/build-module/utils.js.map +1 -1
  111. package/build-style/style-rtl.css +607 -561
  112. package/build-style/style.css +607 -561
  113. package/build-types/components/dataform/index.d.ts +17 -0
  114. package/build-types/components/dataform/index.d.ts.map +1 -0
  115. package/build-types/components/dataform/stories/index.story.d.ts +11 -0
  116. package/build-types/components/dataform/stories/index.story.d.ts.map +1 -0
  117. package/build-types/components/dataviews/index.d.ts +33 -0
  118. package/build-types/components/dataviews/index.d.ts.map +1 -0
  119. package/build-types/{stories → components/dataviews/stories}/fixtures.d.ts +18 -17
  120. package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -0
  121. package/build-types/components/dataviews/stories/index.story.d.ts +46 -0
  122. package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -0
  123. package/build-types/components/dataviews-bulk-actions/index.d.ts +5 -0
  124. package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -0
  125. package/build-types/components/dataviews-bulk-actions-toolbar/index.d.ts +2 -0
  126. package/build-types/components/dataviews-bulk-actions-toolbar/index.d.ts.map +1 -0
  127. package/build-types/components/dataviews-context/index.d.ts +26 -0
  128. package/build-types/components/dataviews-context/index.d.ts.map +1 -0
  129. package/build-types/{add-filter.d.ts → components/dataviews-filters/add-filter.d.ts} +1 -2
  130. package/build-types/components/dataviews-filters/add-filter.d.ts.map +1 -0
  131. package/build-types/{filter-summary.d.ts → components/dataviews-filters/filter-summary.d.ts} +1 -1
  132. package/build-types/components/dataviews-filters/filter-summary.d.ts.map +1 -0
  133. package/build-types/components/dataviews-filters/index.d.ts +4 -0
  134. package/build-types/components/dataviews-filters/index.d.ts.map +1 -0
  135. package/build-types/{reset-filters.d.ts → components/dataviews-filters/reset-filters.d.ts} +1 -2
  136. package/build-types/components/dataviews-filters/reset-filters.d.ts.map +1 -0
  137. package/build-types/{search-widget.d.ts → components/dataviews-filters/search-widget.d.ts} +1 -2
  138. package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -0
  139. package/build-types/components/dataviews-item-actions/index.d.ts +35 -0
  140. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -0
  141. package/build-types/components/dataviews-layout/index.d.ts +2 -0
  142. package/build-types/components/dataviews-layout/index.d.ts.map +1 -0
  143. package/build-types/components/dataviews-pagination/index.d.ts +4 -0
  144. package/build-types/components/dataviews-pagination/index.d.ts.map +1 -0
  145. package/build-types/components/dataviews-search/index.d.ts +6 -0
  146. package/build-types/components/dataviews-search/index.d.ts.map +1 -0
  147. package/build-types/components/dataviews-selection-checkbox/index.d.ts +16 -0
  148. package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -0
  149. package/build-types/components/dataviews-view-config/index.d.ts +8 -0
  150. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -0
  151. package/build-types/filter-and-sort-data-view.d.ts +2 -2
  152. package/build-types/filter-and-sort-data-view.d.ts.map +1 -1
  153. package/build-types/index.d.ts +2 -1
  154. package/build-types/index.d.ts.map +1 -1
  155. package/build-types/layouts/grid/density-picker.d.ts +5 -0
  156. package/build-types/layouts/grid/density-picker.d.ts.map +1 -0
  157. package/build-types/layouts/grid/index.d.ts +3 -0
  158. package/build-types/layouts/grid/index.d.ts.map +1 -0
  159. package/build-types/{layouts.d.ts → layouts/index.d.ts} +6 -5
  160. package/build-types/layouts/index.d.ts.map +1 -0
  161. package/build-types/layouts/list/index.d.ts +3 -0
  162. package/build-types/layouts/list/index.d.ts.map +1 -0
  163. package/build-types/layouts/table/column-header-menu.d.ts +17 -0
  164. package/build-types/layouts/table/column-header-menu.d.ts.map +1 -0
  165. package/build-types/layouts/table/index.d.ts +4 -0
  166. package/build-types/layouts/table/index.d.ts.map +1 -0
  167. package/build-types/normalize-fields.d.ts +2 -2
  168. package/build-types/normalize-fields.d.ts.map +1 -1
  169. package/build-types/private-types.d.ts +3 -0
  170. package/build-types/private-types.d.ts.map +1 -0
  171. package/build-types/types.d.ts +106 -46
  172. package/build-types/types.d.ts.map +1 -1
  173. package/build-types/utils.d.ts +2 -2
  174. package/build-types/utils.d.ts.map +1 -1
  175. package/package.json +10 -10
  176. package/src/components/dataform/index.tsx +106 -0
  177. package/src/components/dataform/stories/index.story.tsx +42 -0
  178. package/src/components/dataviews/index.tsx +149 -0
  179. package/src/{stories → components/dataviews/stories}/fixtures.js +23 -11
  180. package/src/components/dataviews/stories/index.story.js +65 -0
  181. package/src/components/dataviews/style.scss +97 -0
  182. package/src/{bulk-actions.tsx → components/dataviews-bulk-actions/index.tsx} +58 -36
  183. package/src/components/dataviews-bulk-actions/style.scss +7 -0
  184. package/src/{bulk-actions-toolbar.tsx → components/dataviews-bulk-actions-toolbar/index.tsx} +48 -36
  185. package/src/components/dataviews-bulk-actions-toolbar/style.scss +45 -0
  186. package/src/components/dataviews-context/index.ts +49 -0
  187. package/src/{add-filter.tsx → components/dataviews-filters/add-filter.tsx} +4 -4
  188. package/src/{filter-summary.tsx → components/dataviews-filters/filter-summary.tsx} +36 -22
  189. package/src/{filters.tsx → components/dataviews-filters/index.tsx} +11 -25
  190. package/src/{reset-filters.tsx → components/dataviews-filters/reset-filters.tsx} +2 -2
  191. package/src/{search-widget.tsx → components/dataviews-filters/search-widget.tsx} +20 -20
  192. package/src/components/dataviews-filters/style.scss +252 -0
  193. package/src/{item-actions.tsx → components/dataviews-item-actions/index.tsx} +16 -17
  194. package/src/components/dataviews-item-actions/style.scss +3 -0
  195. package/src/components/dataviews-layout/index.tsx +51 -0
  196. package/src/{pagination.tsx → components/dataviews-pagination/index.tsx} +15 -23
  197. package/src/components/dataviews-pagination/style.scss +26 -0
  198. package/src/{search.tsx → components/dataviews-search/index.tsx} +5 -10
  199. package/src/components/dataviews-selection-checkbox/index.tsx +65 -0
  200. package/src/components/dataviews-selection-checkbox/style.scss +14 -0
  201. package/src/{view-actions.tsx → components/dataviews-view-config/index.tsx} +116 -119
  202. package/src/filter-and-sort-data-view.ts +13 -3
  203. package/src/index.ts +2 -1
  204. package/src/layouts/grid/density-picker.tsx +136 -0
  205. package/src/{view-grid.tsx → layouts/grid/index.tsx} +45 -63
  206. package/src/layouts/grid/style.scss +140 -0
  207. package/src/layouts/index.ts +66 -0
  208. package/src/{view-list.tsx → layouts/list/index.tsx} +40 -30
  209. package/src/layouts/list/style.scss +189 -0
  210. package/src/layouts/table/column-header-menu.tsx +268 -0
  211. package/src/layouts/table/index.tsx +471 -0
  212. package/src/layouts/table/style.scss +201 -0
  213. package/src/normalize-fields.ts +6 -4
  214. package/src/private-types.tsx +2 -0
  215. package/src/style.scss +11 -919
  216. package/src/test/filter-and-sort-data-view.js +17 -2
  217. package/src/types.ts +113 -55
  218. package/src/utils.ts +2 -4
  219. package/tsconfig.tsbuildinfo +1 -1
  220. package/build/add-filter.js.map +0 -1
  221. package/build/bulk-actions-toolbar.js.map +0 -1
  222. package/build/bulk-actions.js.map +0 -1
  223. package/build/dataviews.js +0 -136
  224. package/build/dataviews.js.map +0 -1
  225. package/build/filter-summary.js.map +0 -1
  226. package/build/filters.js.map +0 -1
  227. package/build/item-actions.js.map +0 -1
  228. package/build/layouts.js +0 -38
  229. package/build/layouts.js.map +0 -1
  230. package/build/pagination.js.map +0 -1
  231. package/build/reset-filters.js.map +0 -1
  232. package/build/search-widget.js.map +0 -1
  233. package/build/search.js.map +0 -1
  234. package/build/single-selection-checkbox.js +0 -63
  235. package/build/single-selection-checkbox.js.map +0 -1
  236. package/build/view-actions.js.map +0 -1
  237. package/build/view-grid.js.map +0 -1
  238. package/build/view-list.js.map +0 -1
  239. package/build/view-table.js +0 -409
  240. package/build/view-table.js.map +0 -1
  241. package/build-module/add-filter.js.map +0 -1
  242. package/build-module/bulk-actions-toolbar.js.map +0 -1
  243. package/build-module/bulk-actions.js.map +0 -1
  244. package/build-module/dataviews.js +0 -129
  245. package/build-module/dataviews.js.map +0 -1
  246. package/build-module/filter-summary.js.map +0 -1
  247. package/build-module/filters.js.map +0 -1
  248. package/build-module/item-actions.js.map +0 -1
  249. package/build-module/layouts.js +0 -30
  250. package/build-module/layouts.js.map +0 -1
  251. package/build-module/pagination.js.map +0 -1
  252. package/build-module/reset-filters.js.map +0 -1
  253. package/build-module/search-widget.js.map +0 -1
  254. package/build-module/search.js.map +0 -1
  255. package/build-module/single-selection-checkbox.js +0 -56
  256. package/build-module/single-selection-checkbox.js.map +0 -1
  257. package/build-module/view-actions.js.map +0 -1
  258. package/build-module/view-grid.js.map +0 -1
  259. package/build-module/view-list.js.map +0 -1
  260. package/build-module/view-table.js +0 -402
  261. package/build-module/view-table.js.map +0 -1
  262. package/build-types/add-filter.d.ts.map +0 -1
  263. package/build-types/bulk-actions-toolbar.d.ts +0 -12
  264. package/build-types/bulk-actions-toolbar.d.ts.map +0 -1
  265. package/build-types/bulk-actions.d.ts +0 -14
  266. package/build-types/bulk-actions.d.ts.map +0 -1
  267. package/build-types/dataviews.d.ts +0 -24
  268. package/build-types/dataviews.d.ts.map +0 -1
  269. package/build-types/filter-summary.d.ts.map +0 -1
  270. package/build-types/filters.d.ts +0 -13
  271. package/build-types/filters.d.ts.map +0 -1
  272. package/build-types/item-actions.d.ts +0 -35
  273. package/build-types/item-actions.d.ts.map +0 -1
  274. package/build-types/layouts.d.ts.map +0 -1
  275. package/build-types/pagination.d.ts +0 -16
  276. package/build-types/pagination.d.ts.map +0 -1
  277. package/build-types/reset-filters.d.ts.map +0 -1
  278. package/build-types/search-widget.d.ts.map +0 -1
  279. package/build-types/search.d.ts +0 -13
  280. package/build-types/search.d.ts.map +0 -1
  281. package/build-types/single-selection-checkbox.d.ts +0 -17
  282. package/build-types/single-selection-checkbox.d.ts.map +0 -1
  283. package/build-types/stories/fixtures.d.ts.map +0 -1
  284. package/build-types/stories/index.story.d.ts +0 -15
  285. package/build-types/stories/index.story.d.ts.map +0 -1
  286. package/build-types/view-actions.d.ts +0 -12
  287. package/build-types/view-actions.d.ts.map +0 -1
  288. package/build-types/view-grid.d.ts +0 -4
  289. package/build-types/view-grid.d.ts.map +0 -1
  290. package/build-types/view-list.d.ts +0 -4
  291. package/build-types/view-list.d.ts.map +0 -1
  292. package/build-types/view-table.d.ts +0 -5
  293. package/build-types/view-table.d.ts.map +0 -1
  294. package/src/dataviews.tsx +0 -189
  295. package/src/layouts.ts +0 -39
  296. package/src/single-selection-checkbox.tsx +0 -80
  297. package/src/stories/index.story.js +0 -64
  298. package/src/view-table.tsx +0 -603
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_i18n","_element","_icons","_data","_lockUnlock","_jsxRuntime","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","kebabCase","unlock","componentsPrivateApis","ButtonTrigger","action","onClick","items","label","jsx","Button","icon","isDestructive","size","DropdownMenuItemTrigger","hideOnClick","children","ActionModal","closeModal","Modal","title","modalHeader","__experimentalHideHeader","hideModalHeader","onRequestClose","focusOnMount","overlayClassName","id","RenderModal","ActionWithModal","ActionTrigger","isBusy","isModalOpen","setIsModalOpen","useState","actionTriggerProps","jsxs","Fragment","ActionsDropdownMenuGroup","actions","item","registry","useRegistry","map","callback","ItemActions","isCompact","primaryActions","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","CompactItemActions","__experimentalHStack","spacing","justify","className","style","flexShrink","width","length","trigger","moreVertical","__","accessibleWhenDisabled","disabled","placement"],"sources":["@wordpress/dataviews/src/components/dataviews-item-actions/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { MouseEventHandler, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport type { Action, ActionModal as ActionModalType } from '../../types';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tkebabCase,\n} = unlock( componentsPrivateApis );\n\nexport interface ActionTriggerProps< Item > {\n\taction: Action< Item >;\n\tonClick: MouseEventHandler;\n\tisBusy?: boolean;\n\titems: Item[];\n}\n\ninterface ActionModalProps< Item > {\n\taction: ActionModalType< Item >;\n\titems: Item[];\n\tcloseModal?: () => void;\n}\n\ninterface ActionWithModalProps< Item > extends ActionModalProps< Item > {\n\tActionTrigger: ( props: ActionTriggerProps< Item > ) => ReactElement;\n\tisBusy?: boolean;\n}\n\ninterface ActionsDropdownMenuGroupProps< Item > {\n\tactions: Action< Item >[];\n\titem: Item;\n}\n\ninterface ItemActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n\tisCompact?: boolean;\n}\n\ninterface CompactItemActionsProps< Item > {\n\titem: Item;\n\tactions: Action< Item >[];\n}\n\nfunction ButtonTrigger< Item >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Button\n\t\t\tlabel={ 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 DropdownMenuItemTrigger< Item >( {\n\taction,\n\tonClick,\n\titems,\n}: ActionTriggerProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<DropdownMenuItem\n\t\t\tonClick={ onClick }\n\t\t\thideOnClick={ ! ( 'RenderModal' in action ) }\n\t\t>\n\t\t\t<DropdownMenuItemLabel>{ label }</DropdownMenuItemLabel>\n\t\t</DropdownMenuItem>\n\t);\n}\n\nexport function ActionModal< Item >( {\n\taction,\n\titems,\n\tcloseModal,\n}: ActionModalProps< Item > ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ action.modalHeader || label }\n\t\t\t__experimentalHideHeader={ !! action.hideModalHeader }\n\t\t\tonRequestClose={ closeModal ?? ( () => {} ) }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t\toverlayClassName={ `dataviews-action-modal dataviews-action-modal__${ kebabCase(\n\t\t\t\taction.id\n\t\t\t) }` }\n\t\t>\n\t\t\t<action.RenderModal items={ items } closeModal={ closeModal } />\n\t\t</Modal>\n\t);\n}\n\nexport function ActionWithModal< Item >( {\n\taction,\n\titems,\n\tActionTrigger,\n\tisBusy,\n}: ActionWithModalProps< Item > ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst actionTriggerProps = {\n\t\taction,\n\t\tonClick: () => {\n\t\t\tsetIsModalOpen( true );\n\t\t},\n\t\titems,\n\t\tisBusy,\n\t};\n\treturn (\n\t\t<>\n\t\t\t<ActionTrigger { ...actionTriggerProps } />\n\t\t\t{ isModalOpen && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ action }\n\t\t\t\t\titems={ items }\n\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function ActionsDropdownMenuGroup< Item >( {\n\tactions,\n\titem,\n}: ActionsDropdownMenuGroupProps< Item > ) {\n\tconst registry = useRegistry();\n\treturn (\n\t\t<DropdownMenuGroup>\n\t\t\t{ actions.map( ( action ) => {\n\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ActionWithModal\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\titems={ [ item ] }\n\t\t\t\t\t\t\tActionTrigger={ DropdownMenuItemTrigger }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemTrigger\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\taction.callback( [ item ], { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenuGroup>\n\t);\n}\n\nexport default function ItemActions< Item >( {\n\titem,\n\tactions,\n\tisCompact,\n}: ItemActionsProps< Item > ) {\n\tconst registry = useRegistry();\n\tconst { primaryActions, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryActions: _primaryActions,\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\tif ( isCompact ) {\n\t\treturn <CompactItemActions item={ item } actions={ eligibleActions } />;\n\t}\n\treturn (\n\t\t<HStack\n\t\t\tspacing={ 1 }\n\t\t\tjustify=\"flex-end\"\n\t\t\tclassName=\"dataviews-item-actions\"\n\t\t\tstyle={ {\n\t\t\t\tflexShrink: '0',\n\t\t\t\twidth: 'auto',\n\t\t\t} }\n\t\t>\n\t\t\t{ !! primaryActions.length &&\n\t\t\t\tprimaryActions.map( ( action ) => {\n\t\t\t\t\tif ( 'RenderModal' in action ) {\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\titems={ [ item ] }\n\t\t\t\t\t\t\t\tActionTrigger={ ButtonTrigger }\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<ButtonTrigger\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\tonClick={ () => {\n\t\t\t\t\t\t\t\taction.callback( [ item ], { registry } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t<CompactItemActions item={ item } actions={ eligibleActions } />\n\t\t</HStack>\n\t);\n}\n\nfunction CompactItemActions< Item >( {\n\titem,\n\tactions,\n}: CompactItemActionsProps< Item > ) {\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\tclassName=\"dataviews-all-actions-button\"\n\t\t\t\t/>\n\t\t\t}\n\t\t\tplacement=\"bottom-end\"\n\t\t>\n\t\t\t<ActionsDropdownMenuGroup actions={ actions } item={ item } />\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = DataViewsLayout;
8
+ var _element = require("@wordpress/element");
9
+ var _dataviewsContext = _interopRequireDefault(require("../dataviews-context"));
10
+ var _layouts = require("../../layouts");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ /**
13
+ * External dependencies
14
+ */
15
+
16
+ /**
17
+ * WordPress dependencies
18
+ */
19
+
20
+ /**
21
+ * Internal dependencies
22
+ */
23
+
24
+ function DataViewsLayout() {
25
+ const {
26
+ actions = [],
27
+ data,
28
+ fields,
29
+ getItemId,
30
+ isLoading,
31
+ view,
32
+ onChangeView,
33
+ selection,
34
+ onChangeSelection,
35
+ setOpenedFilter,
36
+ density
37
+ } = (0, _element.useContext)(_dataviewsContext.default);
38
+ const ViewComponent = _layouts.VIEW_LAYOUTS.find(v => v.type === view.type)?.component;
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ViewComponent, {
40
+ actions: actions,
41
+ data: data,
42
+ fields: fields,
43
+ getItemId: getItemId,
44
+ isLoading: isLoading,
45
+ onChangeView: onChangeView,
46
+ onChangeSelection: onChangeSelection,
47
+ selection: selection,
48
+ setOpenedFilter: setOpenedFilter,
49
+ view: view,
50
+ density: density
51
+ });
52
+ }
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","_dataviewsContext","_interopRequireDefault","_layouts","_jsxRuntime","DataViewsLayout","actions","data","fields","getItemId","isLoading","view","onChangeView","selection","onChangeSelection","setOpenedFilter","density","useContext","DataViewsContext","ViewComponent","VIEW_LAYOUTS","find","v","type","component","jsx"],"sources":["@wordpress/dataviews/src/components/dataviews-layout/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentType } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport { VIEW_LAYOUTS } from '../../layouts';\nimport type { ViewBaseProps } from '../../types';\n\nexport default function DataViewsLayout() {\n\tconst {\n\t\tactions = [],\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tview,\n\t\tonChangeView,\n\t\tselection,\n\t\tonChangeSelection,\n\t\tsetOpenedFilter,\n\t\tdensity,\n\t} = useContext( DataViewsContext );\n\n\tconst ViewComponent = VIEW_LAYOUTS.find( ( v ) => v.type === view.type )\n\t\t?.component as ComponentType< ViewBaseProps< any > >;\n\n\treturn (\n\t\t<ViewComponent\n\t\t\tactions={ actions }\n\t\t\tdata={ data }\n\t\t\tfields={ fields }\n\t\t\tgetItemId={ getItemId }\n\t\t\tisLoading={ isLoading }\n\t\t\tonChangeView={ onChangeView }\n\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\tselection={ selection }\n\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\tview={ view }\n\t\t\tdensity={ density }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAA6C,IAAAI,WAAA,GAAAJ,OAAA;AAd7C;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAKe,SAASK,eAAeA,CAAA,EAAG;EACzC,MAAM;IACLC,OAAO,GAAG,EAAE;IACZC,IAAI;IACJC,MAAM;IACNC,SAAS;IACTC,SAAS;IACTC,IAAI;IACJC,YAAY;IACZC,SAAS;IACTC,iBAAiB;IACjBC,eAAe;IACfC;EACD,CAAC,GAAG,IAAAC,mBAAU,EAAEC,yBAAiB,CAAC;EAElC,MAAMC,aAAa,GAAGC,qBAAY,CAACC,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACC,IAAI,KAAKZ,IAAI,CAACY,IAAK,CAAC,EACrEC,SAAkD;EAErD,oBACC,IAAApB,WAAA,CAAAqB,GAAA,EAACN,aAAa;IACbb,OAAO,EAAGA,OAAS;IACnBC,IAAI,EAAGA,IAAM;IACbC,MAAM,EAAGA,MAAQ;IACjBC,SAAS,EAAGA,SAAW;IACvBC,SAAS,EAAGA,SAAW;IACvBE,YAAY,EAAGA,YAAc;IAC7BE,iBAAiB,EAAGA,iBAAmB;IACvCD,SAAS,EAAGA,SAAW;IACvBE,eAAe,EAAGA,eAAiB;IACnCJ,IAAI,EAAGA,IAAM;IACbK,OAAO,EAAGA;EAAS,CACnB,CAAC;AAEJ","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -8,6 +9,7 @@ var _components = require("@wordpress/components");
8
9
  var _element = require("@wordpress/element");
9
10
  var _i18n = require("@wordpress/i18n");
10
11
  var _icons = require("@wordpress/icons");
12
+ var _dataviewsContext = _interopRequireDefault(require("../dataviews-context"));
11
13
  var _jsxRuntime = require("react/jsx-runtime");
12
14
  /**
13
15
  * WordPress dependencies
@@ -17,15 +19,16 @@ var _jsxRuntime = require("react/jsx-runtime");
17
19
  * Internal dependencies
18
20
  */
19
21
 
20
- const Pagination = (0, _element.memo)(function Pagination({
21
- view,
22
- onChangeView,
23
- paginationInfo: {
24
- totalItems = 0,
25
- totalPages
26
- }
27
- }) {
22
+ function DataViewsPagination() {
28
23
  var _view$page;
24
+ const {
25
+ view,
26
+ onChangeView,
27
+ paginationInfo: {
28
+ totalItems = 0,
29
+ totalPages
30
+ }
31
+ } = (0, _element.useContext)(_dataviewsContext.default);
29
32
  if (!totalItems || !totalPages) {
30
33
  return null;
31
34
  }
@@ -72,9 +75,9 @@ const Pagination = (0, _element.memo)(function Pagination({
72
75
  page: currentPage - 1
73
76
  }),
74
77
  disabled: currentPage === 1,
75
- __experimentalIsFocusable: true,
78
+ accessibleWhenDisabled: true,
76
79
  label: (0, _i18n.__)('Previous page'),
77
- icon: _icons.chevronLeft,
80
+ icon: _icons.previous,
78
81
  showTooltip: true,
79
82
  size: "compact",
80
83
  tooltipPosition: "top"
@@ -84,15 +87,15 @@ const Pagination = (0, _element.memo)(function Pagination({
84
87
  page: currentPage + 1
85
88
  }),
86
89
  disabled: currentPage >= totalPages,
87
- __experimentalIsFocusable: true,
90
+ accessibleWhenDisabled: true,
88
91
  label: (0, _i18n.__)('Next page'),
89
- icon: _icons.chevronRight,
92
+ icon: _icons.next,
90
93
  showTooltip: true,
91
94
  size: "compact",
92
95
  tooltipPosition: "top"
93
96
  })]
94
97
  })]
95
98
  });
96
- });
97
- var _default = exports.default = Pagination;
98
- //# sourceMappingURL=pagination.js.map
99
+ }
100
+ var _default = exports.default = (0, _element.memo)(DataViewsPagination);
101
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_element","_i18n","_icons","_dataviewsContext","_interopRequireDefault","_jsxRuntime","DataViewsPagination","_view$page","view","onChangeView","paginationInfo","totalItems","totalPages","useContext","DataViewsContext","currentPage","page","jsxs","__experimentalHStack","expanded","spacing","justify","className","children","jsx","createInterpolateElement","sprintf","_x","CurrentPageControl","SelectControl","__","value","toString","options","Array","from","map","_","i","label","onChange","newValue","size","__nextHasNoMarginBottom","Button","onClick","disabled","accessibleWhenDisabled","icon","previous","showTooltip","tooltipPosition","next","_default","exports","default","memo"],"sources":["@wordpress/dataviews/src/components/dataviews-pagination/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\tSelectControl,\n} from '@wordpress/components';\nimport { createInterpolateElement, memo, useContext } from '@wordpress/element';\nimport { sprintf, __, _x } from '@wordpress/i18n';\nimport { next, previous } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\n\nfunction DataViewsPagination() {\n\tconst {\n\t\tview,\n\t\tonChangeView,\n\t\tpaginationInfo: { totalItems = 0, totalPages },\n\t} = useContext( DataViewsContext );\n\tif ( ! totalItems || ! totalPages ) {\n\t\treturn null;\n\t}\n\tconst currentPage = view.page ?? 1;\n\treturn (\n\t\t!! totalItems &&\n\t\ttotalPages !== 1 && (\n\t\t\t<HStack\n\t\t\t\texpanded={ false }\n\t\t\t\tspacing={ 6 }\n\t\t\t\tjustify=\"end\"\n\t\t\t\tclassName=\"dataviews-pagination\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\tclassName=\"dataviews-pagination__page-selection\"\n\t\t\t\t>\n\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t// translators: %s: Total number of pages.\n\t\t\t\t\t\t\t_x( 'Page <CurrentPageControl /> of %s', 'paging' ),\n\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tCurrentPageControl: (\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Current page' ) }\n\t\t\t\t\t\t\t\t\tvalue={ view.page?.toString() }\n\t\t\t\t\t\t\t\t\toptions={ Array.from(\n\t\t\t\t\t\t\t\t\t\tArray( totalPages )\n\t\t\t\t\t\t\t\t\t).map( ( _, i ) => {\n\t\t\t\t\t\t\t\t\t\tconst page = i + 1;\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\tvalue: page.toString(),\n\t\t\t\t\t\t\t\t\t\t\tlabel: page.toString(),\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\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tpage: +newValue,\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\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t/>\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</HStack>\n\t\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tpage: currentPage - 1,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ currentPage === 1 }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\ticon={ previous }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tonChangeView( { ...view, page: currentPage + 1 } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisabled={ currentPage >= totalPages }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\ticon={ next }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t)\n\t);\n}\n\nexport default memo( DataViewsPagination );\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -8,6 +9,7 @@ var _i18n = require("@wordpress/i18n");
8
9
  var _element = require("@wordpress/element");
9
10
  var _components = require("@wordpress/components");
10
11
  var _compose = require("@wordpress/compose");
12
+ var _dataviewsContext = _interopRequireDefault(require("../dataviews-context"));
11
13
  var _jsxRuntime = require("react/jsx-runtime");
12
14
  /**
13
15
  * WordPress dependencies
@@ -17,11 +19,13 @@ var _jsxRuntime = require("react/jsx-runtime");
17
19
  * Internal dependencies
18
20
  */
19
21
 
20
- const Search = (0, _element.memo)(function Search({
21
- label,
22
- view,
23
- onChangeView
22
+ const DataViewsSearch = (0, _element.memo)(function Search({
23
+ label
24
24
  }) {
25
+ const {
26
+ view,
27
+ onChangeView
28
+ } = (0, _element.useContext)(_dataviewsContext.default);
25
29
  const [search, setSearch, debouncedSearch] = (0, _compose.useDebouncedInput)(view.search);
26
30
  (0, _element.useEffect)(() => {
27
31
  var _view$search;
@@ -50,5 +54,5 @@ const Search = (0, _element.memo)(function Search({
50
54
  size: "compact"
51
55
  });
52
56
  });
53
- var _default = exports.default = Search;
54
- //# sourceMappingURL=search.js.map
57
+ var _default = exports.default = DataViewsSearch;
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_element","_components","_compose","_dataviewsContext","_interopRequireDefault","_jsxRuntime","DataViewsSearch","memo","Search","label","view","onChangeView","useContext","DataViewsContext","search","setSearch","debouncedSearch","useDebouncedInput","useEffect","_view$search","onChangeViewRef","useRef","viewRef","current","page","searchLabel","__","jsx","SearchControl","__nextHasNoMarginBottom","onChange","value","placeholder","size","_default","exports","default"],"sources":["@wordpress/dataviews/src/components/dataviews-search/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, memo, useContext } from '@wordpress/element';\nimport { SearchControl } from '@wordpress/components';\nimport { useDebouncedInput } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\n\ninterface SearchProps {\n\tlabel?: string;\n}\n\nconst DataViewsSearch = memo( function Search( { label }: SearchProps ) {\n\tconst { view, onChangeView } = useContext( DataViewsContext );\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput(\n\t\tview.search\n\t);\n\tuseEffect( () => {\n\t\tsetSearch( view.search ?? '' );\n\t}, [ view.search, setSearch ] );\n\tconst onChangeViewRef = useRef( onChangeView );\n\tconst viewRef = useRef( view );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current = onChangeView;\n\t\tviewRef.current = view;\n\t}, [ onChangeView, view ] );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current( {\n\t\t\t...viewRef.current,\n\t\t\tpage: 1,\n\t\t\tsearch: debouncedSearch,\n\t\t} );\n\t}, [ debouncedSearch ] );\n\tconst searchLabel = label || __( 'Search' );\n\treturn (\n\t\t<SearchControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tonChange={ setSearch }\n\t\t\tvalue={ search }\n\t\t\tlabel={ searchLabel }\n\t\t\tplaceholder={ searchLabel }\n\t\t\tsize=\"compact\"\n\t\t/>\n\t);\n} );\n\nexport default DataViewsSearch;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,iBAAA,GAAAC,sBAAA,CAAAL,OAAA;AAAoD,IAAAM,WAAA,GAAAN,OAAA;AAXpD;AACA;AACA;;AAMA;AACA;AACA;;AAOA,MAAMO,eAAe,GAAG,IAAAC,aAAI,EAAE,SAASC,MAAMA,CAAE;EAAEC;AAAmB,CAAC,EAAG;EACvE,MAAM;IAAEC,IAAI;IAAEC;EAAa,CAAC,GAAG,IAAAC,mBAAU,EAAEC,yBAAiB,CAAC;EAC7D,MAAM,CAAEC,MAAM,EAAEC,SAAS,EAAEC,eAAe,CAAE,GAAG,IAAAC,0BAAiB,EAC/DP,IAAI,CAACI,MACN,CAAC;EACD,IAAAI,kBAAS,EAAE,MAAM;IAAA,IAAAC,YAAA;IAChBJ,SAAS,EAAAI,YAAA,GAAET,IAAI,CAACI,MAAM,cAAAK,YAAA,cAAAA,YAAA,GAAI,EAAG,CAAC;EAC/B,CAAC,EAAE,CAAET,IAAI,CAACI,MAAM,EAAEC,SAAS,CAAG,CAAC;EAC/B,MAAMK,eAAe,GAAG,IAAAC,eAAM,EAAEV,YAAa,CAAC;EAC9C,MAAMW,OAAO,GAAG,IAAAD,eAAM,EAAEX,IAAK,CAAC;EAC9B,IAAAQ,kBAAS,EAAE,MAAM;IAChBE,eAAe,CAACG,OAAO,GAAGZ,YAAY;IACtCW,OAAO,CAACC,OAAO,GAAGb,IAAI;EACvB,CAAC,EAAE,CAAEC,YAAY,EAAED,IAAI,CAAG,CAAC;EAC3B,IAAAQ,kBAAS,EAAE,MAAM;IAChBE,eAAe,CAACG,OAAO,CAAE;MACxB,GAAGD,OAAO,CAACC,OAAO;MAClBC,IAAI,EAAE,CAAC;MACPV,MAAM,EAAEE;IACT,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEA,eAAe,CAAG,CAAC;EACxB,MAAMS,WAAW,GAAGhB,KAAK,IAAI,IAAAiB,QAAE,EAAE,QAAS,CAAC;EAC3C,oBACC,IAAArB,WAAA,CAAAsB,GAAA,EAAC1B,WAAA,CAAA2B,aAAa;IACbC,uBAAuB;IACvBC,QAAQ,EAAGf,SAAW;IACtBgB,KAAK,EAAGjB,MAAQ;IAChBL,KAAK,EAAGgB,WAAa;IACrBO,WAAW,EAAGP,WAAa;IAC3BQ,IAAI,EAAC;EAAS,CACd,CAAC;AAEJ,CAAE,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEW9B,eAAe","ignoreList":[]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = DataViewsSelectionCheckbox;
7
+ var _i18n = require("@wordpress/i18n");
8
+ var _components = require("@wordpress/components");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
18
+ function DataViewsSelectionCheckbox({
19
+ selection,
20
+ onChangeSelection,
21
+ item,
22
+ getItemId,
23
+ primaryField,
24
+ disabled
25
+ }) {
26
+ const id = getItemId(item);
27
+ const checked = !disabled && selection.includes(id);
28
+ let selectionLabel;
29
+ if (primaryField?.getValue && item) {
30
+ // eslint-disable-next-line @wordpress/valid-sprintf
31
+ selectionLabel = (0, _i18n.sprintf)( /* translators: %s: item title. */
32
+ checked ? (0, _i18n.__)('Deselect item: %s') : (0, _i18n.__)('Select item: %s'), primaryField.getValue({
33
+ item
34
+ }));
35
+ } else {
36
+ selectionLabel = checked ? (0, _i18n.__)('Select a new item') : (0, _i18n.__)('Deselect item');
37
+ }
38
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CheckboxControl, {
39
+ className: "dataviews-selection-checkbox",
40
+ __nextHasNoMarginBottom: true,
41
+ "aria-label": selectionLabel,
42
+ "aria-disabled": disabled,
43
+ checked: checked,
44
+ onChange: () => {
45
+ if (disabled) {
46
+ return;
47
+ }
48
+ onChangeSelection(selection.includes(id) ? selection.filter(itemId => id !== itemId) : [...selection, id]);
49
+ }
50
+ });
51
+ }
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_i18n","require","_components","_jsxRuntime","DataViewsSelectionCheckbox","selection","onChangeSelection","item","getItemId","primaryField","disabled","id","checked","includes","selectionLabel","getValue","sprintf","__","jsx","CheckboxControl","className","__nextHasNoMarginBottom","onChange","filter","itemId"],"sources":["@wordpress/dataviews/src/components/dataviews-selection-checkbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { Field } from '../../types';\nimport type { SetSelection } from '../../private-types';\n\ninterface DataViewsSelectionCheckboxProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\titem: Item;\n\tgetItemId: ( item: Item ) => string;\n\tprimaryField?: Field< Item >;\n\tdisabled: boolean;\n}\n\nexport default function DataViewsSelectionCheckbox< Item >( {\n\tselection,\n\tonChangeSelection,\n\titem,\n\tgetItemId,\n\tprimaryField,\n\tdisabled,\n}: DataViewsSelectionCheckboxProps< Item > ) {\n\tconst id = getItemId( item );\n\tconst checked = ! disabled && selection.includes( id );\n\tlet selectionLabel;\n\tif ( primaryField?.getValue && item ) {\n\t\t// eslint-disable-next-line @wordpress/valid-sprintf\n\t\tselectionLabel = sprintf(\n\t\t\t/* translators: %s: item title. */\n\t\t\tchecked ? __( 'Deselect item: %s' ) : __( 'Select item: %s' ),\n\t\t\tprimaryField.getValue( { item } )\n\t\t);\n\t} else {\n\t\tselectionLabel = checked\n\t\t\t? __( 'Select a new item' )\n\t\t\t: __( 'Deselect item' );\n\t}\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\taria-label={ selectionLabel }\n\t\t\taria-disabled={ disabled }\n\t\t\tchecked={ checked }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( disabled ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tonChangeSelection(\n\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAAwD,IAAAE,WAAA,GAAAF,OAAA;AAJxD;AACA;AACA;;AAIA;AACA;AACA;;AAae,SAASG,0BAA0BA,CAAU;EAC3DC,SAAS;EACTC,iBAAiB;EACjBC,IAAI;EACJC,SAAS;EACTC,YAAY;EACZC;AACwC,CAAC,EAAG;EAC5C,MAAMC,EAAE,GAAGH,SAAS,CAAED,IAAK,CAAC;EAC5B,MAAMK,OAAO,GAAG,CAAEF,QAAQ,IAAIL,SAAS,CAACQ,QAAQ,CAAEF,EAAG,CAAC;EACtD,IAAIG,cAAc;EAClB,IAAKL,YAAY,EAAEM,QAAQ,IAAIR,IAAI,EAAG;IACrC;IACAO,cAAc,GAAG,IAAAE,aAAO,GACvB;IACAJ,OAAO,GAAG,IAAAK,QAAE,EAAE,mBAAoB,CAAC,GAAG,IAAAA,QAAE,EAAE,iBAAkB,CAAC,EAC7DR,YAAY,CAACM,QAAQ,CAAE;MAAER;IAAK,CAAE,CACjC,CAAC;EACF,CAAC,MAAM;IACNO,cAAc,GAAGF,OAAO,GACrB,IAAAK,QAAE,EAAE,mBAAoB,CAAC,GACzB,IAAAA,QAAE,EAAE,eAAgB,CAAC;EACzB;EACA,oBACC,IAAAd,WAAA,CAAAe,GAAA,EAAChB,WAAA,CAAAiB,eAAe;IACfC,SAAS,EAAC,8BAA8B;IACxCC,uBAAuB;IACvB,cAAaP,cAAgB;IAC7B,iBAAgBJ,QAAU;IAC1BE,OAAO,EAAGA,OAAS;IACnBU,QAAQ,EAAGA,CAAA,KAAM;MAChB,IAAKZ,QAAQ,EAAG;QACf;MACD;MAEAJ,iBAAiB,CAChBD,SAAS,CAACQ,QAAQ,CAAEF,EAAG,CAAC,GACrBN,SAAS,CAACkB,MAAM,CAAIC,MAAM,IAAMb,EAAE,KAAKa,MAAO,CAAC,GAC/C,CAAE,GAAGnB,SAAS,EAAEM,EAAE,CACtB,CAAC;IACF;EAAG,CACH,CAAC;AAEJ","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -8,9 +9,10 @@ var _components = require("@wordpress/components");
8
9
  var _i18n = require("@wordpress/i18n");
9
10
  var _element = require("@wordpress/element");
10
11
  var _icons = require("@wordpress/icons");
11
- var _lockUnlock = require("./lock-unlock");
12
- var _constants = require("./constants");
13
- var _layouts = require("./layouts");
12
+ var _lockUnlock = require("../../lock-unlock");
13
+ var _constants = require("../../constants");
14
+ var _layouts = require("../../layouts");
15
+ var _dataviewsContext = _interopRequireDefault(require("../dataviews-context"));
14
16
  var _jsxRuntime = require("react/jsx-runtime");
15
17
  /**
16
18
  * External dependencies
@@ -35,50 +37,43 @@ const {
35
37
  function ViewTypeMenu({
36
38
  view,
37
39
  onChangeView,
38
- supportedLayouts
39
- }) {
40
- let _availableViews = _layouts.VIEW_LAYOUTS;
41
- if (supportedLayouts) {
42
- _availableViews = _availableViews.filter(_view => supportedLayouts.includes(_view.type));
40
+ defaultLayouts = {
41
+ list: {},
42
+ grid: {},
43
+ table: {}
43
44
  }
44
- if (_availableViews.length === 1) {
45
+ }) {
46
+ const availableLayouts = Object.keys(defaultLayouts);
47
+ if (availableLayouts.length <= 1) {
45
48
  return null;
46
49
  }
47
- const activeView = _availableViews.find(v => view.type === v.type);
48
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenu, {
49
- trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
50
- suffix: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
51
- "aria-hidden": "true",
52
- children: activeView?.label
53
- }),
50
+ return availableLayouts.map(layout => {
51
+ const config = _layouts.VIEW_LAYOUTS.find(v => v.type === layout);
52
+ if (!config) {
53
+ return null;
54
+ }
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuRadioItem, {
56
+ value: layout,
57
+ name: "view-actions-available-view",
58
+ checked: layout === view.type,
59
+ hideOnClick: true,
60
+ onChange: e => {
61
+ switch (e.target.value) {
62
+ case 'list':
63
+ case 'grid':
64
+ case 'table':
65
+ return onChangeView({
66
+ ...view,
67
+ type: e.target.value,
68
+ ...defaultLayouts[e.target.value]
69
+ });
70
+ }
71
+ throw new Error('Invalid dataview');
72
+ },
54
73
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
55
- children: (0, _i18n.__)('Layout')
74
+ children: config.label
56
75
  })
57
- }),
58
- children: _availableViews.map(availableView => {
59
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuRadioItem, {
60
- value: availableView.type,
61
- name: "view-actions-available-view",
62
- checked: availableView.type === view.type,
63
- hideOnClick: true,
64
- onChange: e => {
65
- switch (e.target.value) {
66
- case 'list':
67
- case 'grid':
68
- case 'table':
69
- return onChangeView({
70
- ...view,
71
- type: e.target.value,
72
- layout: {}
73
- });
74
- }
75
- throw new Error('Invalid dataview');
76
- },
77
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
78
- children: availableView.label
79
- })
80
- }, availableView.type);
81
- })
76
+ }, layout);
82
77
  });
83
78
  }
84
79
  const PAGE_SIZE_VALUES = [10, 20, 50, 100];
@@ -122,7 +117,9 @@ function FieldsVisibilityMenu({
122
117
  onChangeView,
123
118
  fields
124
119
  }) {
125
- const hidableFields = fields.filter(field => field.enableHiding !== false && field.id !== view.layout.mediaField);
120
+ const mandatoryFields = (0, _layouts.getMandatoryFields)(view);
121
+ const hidableFields = fields.filter(field => field.enableHiding !== false && !mandatoryFields.includes(field.id));
122
+ const viewFields = view.fields || fields.map(field => field.id);
126
123
  if (!hidableFields?.length) {
127
124
  return null;
128
125
  }
@@ -135,15 +132,15 @@ function FieldsVisibilityMenu({
135
132
  children: hidableFields?.map(field => {
136
133
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuCheckboxItem, {
137
134
  value: field.id,
138
- checked: !view.hiddenFields?.includes(field.id),
135
+ checked: viewFields.includes(field.id),
139
136
  onChange: () => {
140
137
  onChangeView({
141
138
  ...view,
142
- hiddenFields: view.hiddenFields?.includes(field.id) ? view.hiddenFields.filter(id => id !== field.id) : [...(view.hiddenFields || []), field.id]
139
+ fields: viewFields.includes(field.id) ? viewFields.filter(id => id !== field.id) : [...viewFields, field.id]
143
140
  });
144
141
  },
145
142
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
146
- children: field.header
143
+ children: field.label
147
144
  })
148
145
  }, field.id);
149
146
  })
@@ -163,7 +160,7 @@ function SortMenu({
163
160
  trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
164
161
  suffix: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
165
162
  "aria-hidden": "true",
166
- children: currentSortedField?.header
163
+ children: currentSortedField?.label
167
164
  }),
168
165
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
169
166
  children: (0, _i18n.__)('Sort by')
@@ -174,7 +171,7 @@ function SortMenu({
174
171
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenu, {
175
172
  trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItem, {
176
173
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenuItemLabel, {
177
- children: field.header
174
+ children: field.label
178
175
  })
179
176
  }),
180
177
  style: {
@@ -210,40 +207,57 @@ function SortMenu({
210
207
  })
211
208
  });
212
209
  }
213
- function _ViewActions({
214
- fields,
215
- view,
216
- onChangeView,
217
- supportedLayouts
210
+ function _DataViewsViewConfig({
211
+ defaultLayouts
218
212
  }) {
219
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenu, {
220
- trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
221
- size: "compact",
222
- icon: _icons.settings,
223
- label: (0, _i18n.__)('View options')
224
- }),
225
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(DropdownMenuGroup, {
226
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ViewTypeMenu, {
227
- view: view,
228
- onChangeView: onChangeView,
229
- supportedLayouts: supportedLayouts
230
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(SortMenu, {
231
- fields: fields,
232
- view: view,
233
- onChangeView: onChangeView
234
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(FieldsVisibilityMenu, {
235
- fields: fields,
236
- view: view,
237
- onChangeView: onChangeView
238
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(PageSizeMenu, {
239
- view: view,
240
- onChangeView: onChangeView
213
+ const {
214
+ view,
215
+ fields,
216
+ onChangeView
217
+ } = (0, _element.useContext)(_dataviewsContext.default);
218
+ const activeView = _layouts.VIEW_LAYOUTS.find(v => view.type === v.type);
219
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
220
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
221
+ spacing: 1,
222
+ expanded: false,
223
+ style: {
224
+ flexShrink: 0
225
+ },
226
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenu, {
227
+ trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
228
+ size: "compact",
229
+ icon: activeView?.icon,
230
+ label: (0, _i18n.__)('Layout')
231
+ }),
232
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ViewTypeMenu, {
233
+ view: view,
234
+ onChangeView: onChangeView,
235
+ defaultLayouts: defaultLayouts
236
+ })
237
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenu, {
238
+ trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
239
+ size: "compact",
240
+ icon: _icons.cog,
241
+ label: (0, _i18n._x)('View options', 'View is used as a noun')
242
+ }),
243
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(DropdownMenuGroup, {
244
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(SortMenu, {
245
+ fields: fields,
246
+ view: view,
247
+ onChangeView: onChangeView
248
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(FieldsVisibilityMenu, {
249
+ fields: fields,
250
+ view: view,
251
+ onChangeView: onChangeView
252
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(PageSizeMenu, {
253
+ view: view,
254
+ onChangeView: onChangeView
255
+ })]
256
+ })
241
257
  })]
242
258
  })
243
259
  });
244
260
  }
245
-
246
- // A type assertion is used here to keep the type argument.
247
- const ViewActions = (0, _element.memo)(_ViewActions);
248
- var _default = exports.default = ViewActions;
249
- //# sourceMappingURL=view-actions.js.map
261
+ const DataViewsViewConfig = (0, _element.memo)(_DataViewsViewConfig);
262
+ var _default = exports.default = DataViewsViewConfig;
263
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_i18n","_element","_icons","_lockUnlock","_constants","_layouts","_dataviewsContext","_interopRequireDefault","_jsxRuntime","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuCheckboxItemV2","DropdownMenuCheckboxItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","unlock","componentsPrivateApis","ViewTypeMenu","view","onChangeView","defaultLayouts","list","grid","table","availableLayouts","Object","keys","length","map","layout","config","VIEW_LAYOUTS","find","v","type","jsx","value","name","checked","hideOnClick","onChange","e","target","Error","children","label","PAGE_SIZE_VALUES","PageSizeMenu","trigger","suffix","perPage","__","size","page","FieldsVisibilityMenu","fields","mandatoryFields","getMandatoryFields","hidableFields","filter","field","enableHiding","includes","id","viewFields","SortMenu","sortableFields","enableSorting","currentSortedField","sort","sortedDirection","direction","style","minWidth","SORTING_DIRECTIONS","isChecked","undefined","sortLabels","_DataViewsViewConfig","useContext","DataViewsContext","activeView","Fragment","jsxs","__experimentalHStack","spacing","expanded","flexShrink","Button","icon","cog","_x","DataViewsViewConfig","memo","_default","exports","default"],"sources":["@wordpress/dataviews/src/components/dataviews-view-config/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ChangeEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { memo, useContext } from '@wordpress/element';\nimport { cog } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { SORTING_DIRECTIONS, sortLabels } from '../../constants';\nimport { VIEW_LAYOUTS, getMandatoryFields } from '../../layouts';\nimport type { NormalizedField, View, SupportedLayouts } from '../../types';\nimport DataViewsContext from '../dataviews-context';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuCheckboxItemV2: DropdownMenuCheckboxItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\n\ninterface ViewTypeMenuProps {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tdefaultLayouts?: SupportedLayouts;\n}\n\ninterface PageSizeMenuProps {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n}\n\ninterface FieldsVisibilityMenuProps< Item > {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tfields: NormalizedField< Item >[];\n}\n\ninterface SortMenuProps< Item > {\n\tfields: NormalizedField< Item >[];\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n}\n\ninterface ViewActionsProps {\n\tdefaultLayouts?: SupportedLayouts;\n}\n\nfunction ViewTypeMenu( {\n\tview,\n\tonChangeView,\n\tdefaultLayouts = { list: {}, grid: {}, table: {} },\n}: ViewTypeMenuProps ) {\n\tconst availableLayouts = Object.keys( defaultLayouts );\n\tif ( availableLayouts.length <= 1 ) {\n\t\treturn null;\n\t}\n\treturn availableLayouts.map( ( layout ) => {\n\t\tconst config = VIEW_LAYOUTS.find( ( v ) => v.type === layout );\n\t\tif ( ! config ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<DropdownMenuRadioItem\n\t\t\t\tkey={ layout }\n\t\t\t\tvalue={ layout }\n\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\tchecked={ layout === view.type }\n\t\t\t\thideOnClick\n\t\t\t\tonChange={ ( e: ChangeEvent< HTMLInputElement > ) => {\n\t\t\t\t\tswitch ( e.target.value ) {\n\t\t\t\t\t\tcase 'list':\n\t\t\t\t\t\tcase 'grid':\n\t\t\t\t\t\tcase 'table':\n\t\t\t\t\t\t\treturn onChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\ttype: e.target.value,\n\t\t\t\t\t\t\t\t...defaultLayouts[ e.target.value ],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\tthrow new Error( 'Invalid dataview' );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<DropdownMenuItemLabel>{ config.label }</DropdownMenuItemLabel>\n\t\t\t</DropdownMenuRadioItem>\n\t\t);\n\t} );\n}\n\nconst PAGE_SIZE_VALUES = [ 10, 20, 50, 100 ];\nfunction PageSizeMenu( { view, onChangeView }: PageSizeMenuProps ) {\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownMenuItem\n\t\t\t\t\tsuffix={ <span aria-hidden=\"true\">{ view.perPage }</span> }\n\t\t\t\t>\n\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t{ __( 'Items per page' ) }\n\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t}\n\t\t>\n\t\t\t{ PAGE_SIZE_VALUES.map( ( size ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\tkey={ size }\n\t\t\t\t\t\tvalue={ size }\n\t\t\t\t\t\tname=\"view-actions-page-size\"\n\t\t\t\t\t\tchecked={ view.perPage === size }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t// `e.target.value` holds the same value as `size` but as a string,\n\t\t\t\t\t\t\t\t// so we use `size` directly to avoid parsing to int.\n\t\t\t\t\t\t\t\tperPage: size,\n\t\t\t\t\t\t\t\tpage: 1,\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\t\t<DropdownMenuItemLabel>{ size }</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuRadioItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction FieldsVisibilityMenu< Item >( {\n\tview,\n\tonChangeView,\n\tfields,\n}: FieldsVisibilityMenuProps< Item > ) {\n\tconst mandatoryFields = getMandatoryFields( view );\n\tconst hidableFields = fields.filter(\n\t\t( field ) =>\n\t\t\tfield.enableHiding !== false &&\n\t\t\t! mandatoryFields.includes( field.id )\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tif ( ! hidableFields?.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t{ __( 'Fields' ) }\n\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t}\n\t\t>\n\t\t\t{ hidableFields?.map( ( field ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuCheckboxItem\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\tvalue={ field.id }\n\t\t\t\t\t\tchecked={ viewFields.includes( field.id ) }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: viewFields.includes( field.id )\n\t\t\t\t\t\t\t\t\t? viewFields.filter(\n\t\t\t\t\t\t\t\t\t\t\t( id ) => id !== field.id\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: [ ...viewFields, field.id ],\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\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuCheckboxItem>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction SortMenu< Item >( {\n\tfields,\n\tview,\n\tonChangeView,\n}: SortMenuProps< Item > ) {\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( ! sortableFields?.length ) {\n\t\treturn null;\n\t}\n\tconst currentSortedField = fields.find(\n\t\t( field ) => field.id === view.sort?.field\n\t);\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttrigger={\n\t\t\t\t<DropdownMenuItem\n\t\t\t\t\tsuffix={\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ currentSortedField?.label }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t{ __( 'Sort by' ) }\n\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t}\n\t\t>\n\t\t\t{ sortableFields?.map( ( field ) => {\n\t\t\t\tconst sortedDirection = view.sort?.direction;\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t<DropdownMenuItem>\n\t\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminWidth: '220px',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SORTING_DIRECTIONS.map( ( direction ) => {\n\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\tcurrentSortedField !== undefined &&\n\t\t\t\t\t\t\t\tsortedDirection === direction &&\n\t\t\t\t\t\t\t\tfield.id === currentSortedField.id;\n\n\t\t\t\t\t\t\tconst value = `${ field.id }-${ direction }`;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\tname=\"view-actions-sorting\"\n\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\t\tdirection,\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<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t</DropdownMenuRadioItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction _DataViewsViewConfig( { defaultLayouts }: ViewActionsProps ) {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst activeView = VIEW_LAYOUTS.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<>\n\t\t\t<HStack\n\t\t\t\tspacing={ 1 }\n\t\t\t\texpanded={ false }\n\t\t\t\tstyle={ { flexShrink: 0 } }\n\t\t\t>\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\ticon={ activeView?.icon }\n\t\t\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ViewTypeMenu\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownMenu>\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ttrigger={\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\ticon={ cog }\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'View options',\n\t\t\t\t\t\t\t\t'View is used as a noun'\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>\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t<SortMenu\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\t<FieldsVisibilityMenu\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\t<PageSizeMenu\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</DropdownMenuGroup>\n\t\t\t\t</DropdownMenu>\n\t\t\t</HStack>\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":"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","ignoreList":[]}
@@ -53,7 +53,7 @@ function filterSortAndPaginate(data, view, fields) {
53
53
  }).some(field => field.includes(normalizedSearch));
54
54
  });
55
55
  }
56
- if (view.filters.length > 0) {
56
+ if (view.filters && view.filters?.length > 0) {
57
57
  view.filters.forEach(filter => {
58
58
  const field = _fields.find(_field => _field.id === filter.field);
59
59
  if (field) {
@@ -129,6 +129,9 @@ function filterSortAndPaginate(data, view, fields) {
129
129
  const valueB = (_fieldToSort$getValue2 = fieldToSort.getValue({
130
130
  item: b
131
131
  })) !== null && _fieldToSort$getValue2 !== void 0 ? _fieldToSort$getValue2 : '';
132
+ if (typeof valueA === 'number' && typeof valueB === 'number') {
133
+ return view.sort?.direction === 'asc' ? valueA - valueB : valueB - valueA;
134
+ }
132
135
  return view.sort?.direction === 'asc' ? valueA.localeCompare(valueB) : valueB.localeCompare(valueA);
133
136
  });
134
137
  }