@wordpress/dataviews 4.0.0 → 4.2.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 (285) hide show
  1. package/CHANGELOG.md +33 -5
  2. package/README.md +31 -23
  3. package/build/components/dataform/index.js +10 -61
  4. package/build/components/dataform/index.js.map +1 -1
  5. package/build/components/dataviews/index.js +23 -14
  6. package/build/components/dataviews/index.js.map +1 -1
  7. package/build/components/dataviews-bulk-actions/index.js +3 -0
  8. package/build/components/dataviews-bulk-actions/index.js.map +1 -1
  9. package/build/components/dataviews-filters/add-filter.js +34 -17
  10. package/build/components/dataviews-filters/add-filter.js.map +1 -1
  11. package/build/components/dataviews-filters/index.js +109 -43
  12. package/build/components/dataviews-filters/index.js.map +1 -1
  13. package/build/components/dataviews-filters/search-widget.js +2 -5
  14. package/build/components/dataviews-filters/search-widget.js.map +1 -1
  15. package/build/components/dataviews-layout/index.js +2 -2
  16. package/build/components/dataviews-layout/index.js.map +1 -1
  17. package/build/components/dataviews-pagination/index.js +23 -15
  18. package/build/components/dataviews-pagination/index.js.map +1 -1
  19. package/build/components/dataviews-search/index.js +8 -5
  20. package/build/components/dataviews-search/index.js.map +1 -1
  21. package/build/components/dataviews-view-config/index.js +240 -188
  22. package/build/components/dataviews-view-config/index.js.map +1 -1
  23. package/build/constants.js +6 -1
  24. package/build/constants.js.map +1 -1
  25. package/build/dataform-controls/datetime.js +49 -0
  26. package/build/dataform-controls/datetime.js.map +1 -0
  27. package/build/dataform-controls/index.js +50 -0
  28. package/build/dataform-controls/index.js.map +1 -0
  29. package/build/dataform-controls/integer.js +45 -0
  30. package/build/dataform-controls/integer.js.map +1 -0
  31. package/build/dataform-controls/radio.js +45 -0
  32. package/build/dataform-controls/radio.js.map +1 -0
  33. package/build/dataform-controls/select.js +58 -0
  34. package/build/dataform-controls/select.js.map +1 -0
  35. package/build/dataform-controls/text.js +45 -0
  36. package/build/dataform-controls/text.js.map +1 -0
  37. package/build/dataforms-layouts/index.js +24 -0
  38. package/build/dataforms-layouts/index.js.map +1 -0
  39. package/build/dataforms-layouts/panel/index.js +132 -0
  40. package/build/dataforms-layouts/panel/index.js.map +1 -0
  41. package/build/dataforms-layouts/regular/index.js +42 -0
  42. package/build/dataforms-layouts/regular/index.js.map +1 -0
  43. package/build/dataviews-layouts/grid/density-picker.js +114 -0
  44. package/build/dataviews-layouts/grid/density-picker.js.map +1 -0
  45. package/build/{layouts → dataviews-layouts}/grid/index.js +9 -9
  46. package/build/dataviews-layouts/grid/index.js.map +1 -0
  47. package/build/dataviews-layouts/index.js.map +1 -0
  48. package/build/{layouts → dataviews-layouts}/list/index.js +6 -2
  49. package/build/dataviews-layouts/list/index.js.map +1 -0
  50. package/build/{layouts → dataviews-layouts}/table/column-header-menu.js +3 -6
  51. package/build/dataviews-layouts/table/column-header-menu.js.map +1 -0
  52. package/build/dataviews-layouts/table/index.js.map +1 -0
  53. package/build/field-types/datetime.js +30 -0
  54. package/build/field-types/datetime.js.map +1 -0
  55. package/build/field-types/index.js +50 -0
  56. package/build/field-types/index.js.map +1 -0
  57. package/build/field-types/integer.js +35 -0
  58. package/build/field-types/integer.js.map +1 -0
  59. package/build/field-types/text.js +28 -0
  60. package/build/field-types/text.js.map +1 -0
  61. package/build/filter-and-sort-data-view.js +2 -11
  62. package/build/filter-and-sort-data-view.js.map +1 -1
  63. package/build/index.js +9 -2
  64. package/build/index.js.map +1 -1
  65. package/build/normalize-fields.js +34 -1
  66. package/build/normalize-fields.js.map +1 -1
  67. package/build/types.js.map +1 -1
  68. package/build/validation.js +22 -0
  69. package/build/validation.js.map +1 -0
  70. package/build-module/components/dataform/index.js +10 -61
  71. package/build-module/components/dataform/index.js.map +1 -1
  72. package/build-module/components/dataviews/index.js +21 -14
  73. package/build-module/components/dataviews/index.js.map +1 -1
  74. package/build-module/components/dataviews-bulk-actions/index.js +3 -0
  75. package/build-module/components/dataviews-bulk-actions/index.js.map +1 -1
  76. package/build-module/components/dataviews-filters/add-filter.js +33 -17
  77. package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
  78. package/build-module/components/dataviews-filters/index.js +108 -45
  79. package/build-module/components/dataviews-filters/index.js.map +1 -1
  80. package/build-module/components/dataviews-filters/search-widget.js +2 -5
  81. package/build-module/components/dataviews-filters/search-widget.js.map +1 -1
  82. package/build-module/components/dataviews-layout/index.js +1 -1
  83. package/build-module/components/dataviews-layout/index.js.map +1 -1
  84. package/build-module/components/dataviews-pagination/index.js +23 -15
  85. package/build-module/components/dataviews-pagination/index.js.map +1 -1
  86. package/build-module/components/dataviews-search/index.js +8 -5
  87. package/build-module/components/dataviews-search/index.js.map +1 -1
  88. package/build-module/components/dataviews-view-config/index.js +243 -191
  89. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  90. package/build-module/constants.js +5 -0
  91. package/build-module/constants.js.map +1 -1
  92. package/build-module/dataform-controls/datetime.js +43 -0
  93. package/build-module/dataform-controls/datetime.js.map +1 -0
  94. package/build-module/dataform-controls/index.js +42 -0
  95. package/build-module/dataform-controls/index.js.map +1 -0
  96. package/build-module/dataform-controls/integer.js +38 -0
  97. package/build-module/dataform-controls/integer.js.map +1 -0
  98. package/build-module/dataform-controls/radio.js +38 -0
  99. package/build-module/dataform-controls/radio.js.map +1 -0
  100. package/build-module/dataform-controls/select.js +51 -0
  101. package/build-module/dataform-controls/select.js.map +1 -0
  102. package/build-module/dataform-controls/text.js +38 -0
  103. package/build-module/dataform-controls/text.js.map +1 -0
  104. package/build-module/dataforms-layouts/index.js +16 -0
  105. package/build-module/dataforms-layouts/index.js.map +1 -0
  106. package/build-module/dataforms-layouts/panel/index.js +127 -0
  107. package/build-module/dataforms-layouts/panel/index.js.map +1 -0
  108. package/build-module/dataforms-layouts/regular/index.js +35 -0
  109. package/build-module/dataforms-layouts/regular/index.js.map +1 -0
  110. package/build-module/dataviews-layouts/grid/density-picker.js +107 -0
  111. package/build-module/dataviews-layouts/grid/density-picker.js.map +1 -0
  112. package/build-module/{layouts → dataviews-layouts}/grid/index.js +9 -9
  113. package/build-module/dataviews-layouts/grid/index.js.map +1 -0
  114. package/build-module/dataviews-layouts/index.js.map +1 -0
  115. package/build-module/{layouts → dataviews-layouts}/list/index.js +5 -2
  116. package/build-module/dataviews-layouts/list/index.js.map +1 -0
  117. package/build-module/{layouts → dataviews-layouts}/table/column-header-menu.js +3 -6
  118. package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -0
  119. package/build-module/dataviews-layouts/table/index.js.map +1 -0
  120. package/build-module/field-types/datetime.js +24 -0
  121. package/build-module/field-types/datetime.js.map +1 -0
  122. package/build-module/field-types/index.js +44 -0
  123. package/build-module/field-types/index.js.map +1 -0
  124. package/build-module/field-types/integer.js +29 -0
  125. package/build-module/field-types/integer.js.map +1 -0
  126. package/build-module/field-types/text.js +22 -0
  127. package/build-module/field-types/text.js.map +1 -0
  128. package/build-module/filter-and-sort-data-view.js +2 -11
  129. package/build-module/filter-and-sort-data-view.js.map +1 -1
  130. package/build-module/index.js +2 -1
  131. package/build-module/index.js.map +1 -1
  132. package/build-module/normalize-fields.js +33 -1
  133. package/build-module/normalize-fields.js.map +1 -1
  134. package/build-module/types.js.map +1 -1
  135. package/build-module/validation.js +15 -0
  136. package/build-module/validation.js.map +1 -0
  137. package/build-style/style-rtl.css +186 -20
  138. package/build-style/style.css +186 -20
  139. package/build-types/components/dataform/index.d.ts +2 -13
  140. package/build-types/components/dataform/index.d.ts.map +1 -1
  141. package/build-types/components/dataform/stories/index.story.d.ts +12 -1
  142. package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
  143. package/build-types/components/dataviews/index.d.ts.map +1 -1
  144. package/build-types/components/dataviews/stories/fixtures.d.ts +25 -0
  145. package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
  146. package/build-types/components/dataviews/stories/index.story.d.ts +9 -0
  147. package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
  148. package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -1
  149. package/build-types/components/dataviews-filters/add-filter.d.ts +3 -0
  150. package/build-types/components/dataviews-filters/add-filter.d.ts.map +1 -1
  151. package/build-types/components/dataviews-filters/index.d.ts +11 -1
  152. package/build-types/components/dataviews-filters/index.d.ts.map +1 -1
  153. package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -1
  154. package/build-types/components/dataviews-pagination/index.d.ts.map +1 -1
  155. package/build-types/components/dataviews-search/index.d.ts.map +1 -1
  156. package/build-types/components/dataviews-view-config/index.d.ts +4 -3
  157. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  158. package/build-types/constants.d.ts +4 -0
  159. package/build-types/constants.d.ts.map +1 -1
  160. package/build-types/dataform-controls/datetime.d.ts +6 -0
  161. package/build-types/dataform-controls/datetime.d.ts.map +1 -0
  162. package/build-types/dataform-controls/index.d.ts +11 -0
  163. package/build-types/dataform-controls/index.d.ts.map +1 -0
  164. package/build-types/dataform-controls/integer.d.ts +6 -0
  165. package/build-types/dataform-controls/integer.d.ts.map +1 -0
  166. package/build-types/dataform-controls/radio.d.ts +6 -0
  167. package/build-types/dataform-controls/radio.d.ts.map +1 -0
  168. package/build-types/dataform-controls/select.d.ts +6 -0
  169. package/build-types/dataform-controls/select.d.ts.map +1 -0
  170. package/build-types/dataform-controls/text.d.ts +6 -0
  171. package/build-types/dataform-controls/text.d.ts.map +1 -0
  172. package/build-types/dataforms-layouts/index.d.ts +9 -0
  173. package/build-types/dataforms-layouts/index.d.ts.map +1 -0
  174. package/build-types/dataforms-layouts/panel/index.d.ts +3 -0
  175. package/build-types/dataforms-layouts/panel/index.d.ts.map +1 -0
  176. package/build-types/dataforms-layouts/regular/index.d.ts +3 -0
  177. package/build-types/dataforms-layouts/regular/index.d.ts.map +1 -0
  178. package/build-types/dataviews-layouts/grid/density-picker.d.ts.map +1 -0
  179. package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -0
  180. package/build-types/dataviews-layouts/index.d.ts.map +1 -0
  181. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -0
  182. package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -0
  183. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -0
  184. package/build-types/field-types/datetime.d.ts +13 -0
  185. package/build-types/field-types/datetime.d.ts.map +1 -0
  186. package/build-types/field-types/index.d.ts +20 -0
  187. package/build-types/field-types/index.d.ts.map +1 -0
  188. package/build-types/field-types/integer.d.ts +13 -0
  189. package/build-types/field-types/integer.d.ts.map +1 -0
  190. package/build-types/field-types/text.d.ts +13 -0
  191. package/build-types/field-types/text.d.ts.map +1 -0
  192. package/build-types/filter-and-sort-data-view.d.ts.map +1 -1
  193. package/build-types/index.d.ts +2 -1
  194. package/build-types/index.d.ts.map +1 -1
  195. package/build-types/normalize-fields.d.ts +0 -3
  196. package/build-types/normalize-fields.d.ts.map +1 -1
  197. package/build-types/types.d.ts +73 -18
  198. package/build-types/types.d.ts.map +1 -1
  199. package/build-types/validation.d.ts +3 -0
  200. package/build-types/validation.d.ts.map +1 -0
  201. package/package.json +12 -11
  202. package/src/components/dataform/index.tsx +8 -97
  203. package/src/components/dataform/stories/index.story.tsx +82 -4
  204. package/src/components/dataviews/index.tsx +26 -14
  205. package/src/components/dataviews/stories/fixtures.js +30 -1
  206. package/src/components/dataviews/stories/index.story.js +7 -1
  207. package/src/components/dataviews/style.scss +5 -14
  208. package/src/components/dataviews-bulk-actions/index.tsx +5 -0
  209. package/src/components/dataviews-bulk-actions-toolbar/style.scss +1 -1
  210. package/src/components/dataviews-filters/add-filter.tsx +37 -21
  211. package/src/components/dataviews-filters/index.tsx +152 -61
  212. package/src/components/dataviews-filters/search-widget.tsx +1 -8
  213. package/src/components/dataviews-filters/style.scss +31 -1
  214. package/src/components/dataviews-layout/index.tsx +1 -1
  215. package/src/components/dataviews-pagination/index.tsx +35 -16
  216. package/src/components/dataviews-pagination/style.scss +9 -4
  217. package/src/components/dataviews-search/index.tsx +8 -5
  218. package/src/components/dataviews-view-config/index.tsx +300 -257
  219. package/src/components/dataviews-view-config/style.scss +44 -0
  220. package/src/constants.ts +5 -0
  221. package/src/dataform-controls/datetime.tsx +43 -0
  222. package/src/dataform-controls/index.tsx +61 -0
  223. package/src/dataform-controls/integer.tsx +38 -0
  224. package/src/dataform-controls/radio.tsx +42 -0
  225. package/src/dataform-controls/select.tsx +52 -0
  226. package/src/dataform-controls/style.scss +4 -0
  227. package/src/dataform-controls/text.tsx +40 -0
  228. package/src/dataforms-layouts/index.tsx +20 -0
  229. package/src/dataforms-layouts/panel/index.tsx +168 -0
  230. package/src/dataforms-layouts/panel/style.scss +59 -0
  231. package/src/dataforms-layouts/regular/index.tsx +45 -0
  232. package/src/dataviews-layouts/grid/density-picker.tsx +102 -0
  233. package/src/{layouts → dataviews-layouts}/grid/index.tsx +9 -9
  234. package/src/{layouts → dataviews-layouts}/grid/style.scss +29 -4
  235. package/src/{layouts → dataviews-layouts}/list/index.tsx +6 -2
  236. package/src/{layouts → dataviews-layouts}/list/style.scss +4 -1
  237. package/src/{layouts → dataviews-layouts}/table/column-header-menu.tsx +4 -6
  238. package/src/field-types/datetime.tsx +28 -0
  239. package/src/field-types/index.tsx +50 -0
  240. package/src/field-types/integer.tsx +34 -0
  241. package/src/field-types/text.tsx +27 -0
  242. package/src/filter-and-sort-data-view.ts +1 -15
  243. package/src/index.ts +2 -1
  244. package/src/normalize-fields.ts +43 -4
  245. package/src/style.scss +7 -3
  246. package/src/test/filter-and-sort-data-view.js +74 -3
  247. package/src/test/validation.ts +131 -0
  248. package/src/types.ts +92 -23
  249. package/src/validation.ts +18 -0
  250. package/tsconfig.json +2 -1
  251. package/tsconfig.tsbuildinfo +1 -1
  252. package/build/layouts/grid/density-picker.js +0 -143
  253. package/build/layouts/grid/density-picker.js.map +0 -1
  254. package/build/layouts/grid/index.js.map +0 -1
  255. package/build/layouts/index.js.map +0 -1
  256. package/build/layouts/list/index.js.map +0 -1
  257. package/build/layouts/table/column-header-menu.js.map +0 -1
  258. package/build/layouts/table/index.js.map +0 -1
  259. package/build-module/layouts/grid/density-picker.js +0 -138
  260. package/build-module/layouts/grid/density-picker.js.map +0 -1
  261. package/build-module/layouts/grid/index.js.map +0 -1
  262. package/build-module/layouts/index.js.map +0 -1
  263. package/build-module/layouts/list/index.js.map +0 -1
  264. package/build-module/layouts/table/column-header-menu.js.map +0 -1
  265. package/build-module/layouts/table/index.js.map +0 -1
  266. package/build-types/layouts/grid/density-picker.d.ts.map +0 -1
  267. package/build-types/layouts/grid/index.d.ts.map +0 -1
  268. package/build-types/layouts/index.d.ts.map +0 -1
  269. package/build-types/layouts/list/index.d.ts.map +0 -1
  270. package/build-types/layouts/table/column-header-menu.d.ts.map +0 -1
  271. package/build-types/layouts/table/index.d.ts.map +0 -1
  272. package/src/layouts/grid/density-picker.tsx +0 -136
  273. /package/build/{layouts → dataviews-layouts}/index.js +0 -0
  274. /package/build/{layouts → dataviews-layouts}/table/index.js +0 -0
  275. /package/build-module/{layouts → dataviews-layouts}/index.js +0 -0
  276. /package/build-module/{layouts → dataviews-layouts}/table/index.js +0 -0
  277. /package/build-types/{layouts → dataviews-layouts}/grid/density-picker.d.ts +0 -0
  278. /package/build-types/{layouts → dataviews-layouts}/grid/index.d.ts +0 -0
  279. /package/build-types/{layouts → dataviews-layouts}/index.d.ts +0 -0
  280. /package/build-types/{layouts → dataviews-layouts}/list/index.d.ts +0 -0
  281. /package/build-types/{layouts → dataviews-layouts}/table/column-header-menu.d.ts +0 -0
  282. /package/build-types/{layouts → dataviews-layouts}/table/index.d.ts +0 -0
  283. /package/src/{layouts → dataviews-layouts}/index.ts +0 -0
  284. /package/src/{layouts → dataviews-layouts}/table/index.tsx +0 -0
  285. /package/src/{layouts → dataviews-layouts}/table/style.scss +0 -0
@@ -4,16 +4,22 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ exports.FilterVisibilityToggle = FilterVisibilityToggle;
7
8
  exports.default = void 0;
9
+ exports.useFilters = useFilters;
8
10
  var _element = require("@wordpress/element");
9
11
  var _components = require("@wordpress/components");
12
+ var _icons = require("@wordpress/icons");
13
+ var _i18n = require("@wordpress/i18n");
10
14
  var _filterSummary = _interopRequireDefault(require("./filter-summary"));
11
- var _addFilter = _interopRequireDefault(require("./add-filter"));
15
+ var _addFilter = _interopRequireWildcard(require("./add-filter"));
12
16
  var _resetFilters = _interopRequireDefault(require("./reset-filters"));
13
17
  var _dataviewsContext = _interopRequireDefault(require("../dataviews-context"));
14
18
  var _utils = require("../../utils");
15
19
  var _constants = require("../../constants");
16
20
  var _jsxRuntime = require("react/jsx-runtime");
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
23
  /**
18
24
  * WordPress dependencies
19
25
  */
@@ -22,6 +28,96 @@ var _jsxRuntime = require("react/jsx-runtime");
22
28
  * Internal dependencies
23
29
  */
24
30
 
31
+ function useFilters(fields, view) {
32
+ return (0, _element.useMemo)(() => {
33
+ const filters = [];
34
+ fields.forEach(field => {
35
+ if (!field.elements?.length) {
36
+ return;
37
+ }
38
+ const operators = (0, _utils.sanitizeOperators)(field);
39
+ if (operators.length === 0) {
40
+ return;
41
+ }
42
+ const isPrimary = !!field.filterBy?.isPrimary;
43
+ filters.push({
44
+ field: field.id,
45
+ name: field.label,
46
+ elements: field.elements,
47
+ singleSelection: operators.some(op => [_constants.OPERATOR_IS, _constants.OPERATOR_IS_NOT].includes(op)),
48
+ operators,
49
+ isVisible: isPrimary || !!view.filters?.some(f => f.field === field.id && _constants.ALL_OPERATORS.includes(f.operator)),
50
+ isPrimary
51
+ });
52
+ });
53
+ // Sort filters by primary property. We need the primary filters to be first.
54
+ // Then we sort by name.
55
+ filters.sort((a, b) => {
56
+ if (a.isPrimary && !b.isPrimary) {
57
+ return -1;
58
+ }
59
+ if (!a.isPrimary && b.isPrimary) {
60
+ return 1;
61
+ }
62
+ return a.name.localeCompare(b.name);
63
+ });
64
+ return filters;
65
+ }, [fields, view]);
66
+ }
67
+ function FilterVisibilityToggle({
68
+ filters,
69
+ view,
70
+ onChangeView,
71
+ setOpenedFilter,
72
+ isShowingFilter,
73
+ setIsShowingFilter
74
+ }) {
75
+ const onChangeViewWithFilterVisibility = (0, _element.useCallback)(_view => {
76
+ onChangeView(_view);
77
+ setIsShowingFilter(true);
78
+ }, [onChangeView, setIsShowingFilter]);
79
+ const visibleFilters = filters.filter(filter => filter.isVisible);
80
+ const hasVisibleFilters = !!visibleFilters.length;
81
+ if (filters.length === 0) {
82
+ return null;
83
+ }
84
+ if (!hasVisibleFilters) {
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_addFilter.AddFilterDropdownMenu, {
86
+ filters: filters,
87
+ view: view,
88
+ onChangeView: onChangeViewWithFilterVisibility,
89
+ setOpenedFilter: setOpenedFilter,
90
+ trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
91
+ className: "dataviews-filters__visibility-toggle",
92
+ size: "compact",
93
+ icon: _icons.funnel,
94
+ label: (0, _i18n.__)('Add filter'),
95
+ isPressed: false,
96
+ "aria-expanded": false
97
+ })
98
+ });
99
+ }
100
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
101
+ className: "dataviews-filters__container-visibility-toggle",
102
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
103
+ className: "dataviews-filters__visibility-toggle",
104
+ size: "compact",
105
+ icon: _icons.funnel,
106
+ label: (0, _i18n.__)('Toggle filter display'),
107
+ onClick: () => {
108
+ if (!isShowingFilter) {
109
+ setOpenedFilter(null);
110
+ }
111
+ setIsShowingFilter(!isShowingFilter);
112
+ },
113
+ isPressed: isShowingFilter,
114
+ "aria-expanded": isShowingFilter
115
+ }), hasVisibleFilters && !!view.filters?.length && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
116
+ className: "dataviews-filters-toggle__count",
117
+ children: view.filters?.length
118
+ })]
119
+ });
120
+ }
25
121
  function Filters() {
26
122
  const {
27
123
  fields,
@@ -31,37 +127,7 @@ function Filters() {
31
127
  setOpenedFilter
32
128
  } = (0, _element.useContext)(_dataviewsContext.default);
33
129
  const addFilterRef = (0, _element.useRef)(null);
34
- const filters = [];
35
- fields.forEach(field => {
36
- if (!field.elements?.length) {
37
- return;
38
- }
39
- const operators = (0, _utils.sanitizeOperators)(field);
40
- if (operators.length === 0) {
41
- return;
42
- }
43
- const isPrimary = !!field.filterBy?.isPrimary;
44
- filters.push({
45
- field: field.id,
46
- name: field.label,
47
- elements: field.elements,
48
- singleSelection: operators.some(op => [_constants.OPERATOR_IS, _constants.OPERATOR_IS_NOT].includes(op)),
49
- operators,
50
- isVisible: isPrimary || !!view.filters?.some(f => f.field === field.id && _constants.ALL_OPERATORS.includes(f.operator)),
51
- isPrimary
52
- });
53
- });
54
- // Sort filters by primary property. We need the primary filters to be first.
55
- // Then we sort by name.
56
- filters.sort((a, b) => {
57
- if (a.isPrimary && !b.isPrimary) {
58
- return -1;
59
- }
60
- if (!a.isPrimary && b.isPrimary) {
61
- return 1;
62
- }
63
- return a.name.localeCompare(b.name);
64
- });
130
+ const filters = useFilters(fields, view);
65
131
  const addFilter = /*#__PURE__*/(0, _jsxRuntime.jsx)(_addFilter.default, {
66
132
  filters: filters,
67
133
  view: view,
@@ -69,10 +135,11 @@ function Filters() {
69
135
  ref: addFilterRef,
70
136
  setOpenedFilter: setOpenedFilter
71
137
  }, "add-filter");
72
- const filterComponents = [...filters.map(filter => {
73
- if (!filter.isVisible) {
74
- return null;
75
- }
138
+ const visibleFilters = filters.filter(filter => filter.isVisible);
139
+ if (visibleFilters.length === 0) {
140
+ return null;
141
+ }
142
+ const filterComponents = [...visibleFilters.map(filter => {
76
143
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_filterSummary.default, {
77
144
  filter: filter,
78
145
  view: view,
@@ -81,18 +148,17 @@ function Filters() {
81
148
  openedFilter: openedFilter
82
149
  }, filter.field);
83
150
  }), addFilter];
84
- if (filterComponents.length > 1) {
85
- filterComponents.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(_resetFilters.default, {
86
- filters: filters,
87
- view: view,
88
- onChangeView: onChangeView
89
- }, "reset-filters"));
90
- }
151
+ filterComponents.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(_resetFilters.default, {
152
+ filters: filters,
153
+ view: view,
154
+ onChangeView: onChangeView
155
+ }, "reset-filters"));
91
156
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
92
157
  justify: "flex-start",
93
158
  style: {
94
159
  width: 'fit-content'
95
160
  },
161
+ className: "dataviews-filters__container",
96
162
  wrap: true,
97
163
  children: filterComponents
98
164
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_components","_filterSummary","_interopRequireDefault","_addFilter","_resetFilters","_dataviewsContext","_utils","_constants","_jsxRuntime","Filters","fields","view","onChangeView","openedFilter","setOpenedFilter","useContext","DataViewsContext","addFilterRef","useRef","filters","forEach","field","elements","length","operators","sanitizeOperators","isPrimary","filterBy","push","id","name","label","singleSelection","some","op","OPERATOR_IS","OPERATOR_IS_NOT","includes","isVisible","f","ALL_OPERATORS","operator","sort","a","b","localeCompare","addFilter","jsx","default","ref","filterComponents","map","filter","__experimentalHStack","justify","style","width","wrap","children","_default","exports","memo"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo, useContext, useRef } from '@wordpress/element';\nimport { __experimentalHStack as HStack } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport FilterSummary from './filter-summary';\nimport AddFilter from './add-filter';\nimport ResetFilters from './reset-filters';\nimport DataViewsContext from '../dataviews-context';\nimport { sanitizeOperators } from '../../utils';\nimport { ALL_OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT } from '../../constants';\nimport type { NormalizedFilter } from '../../types';\n\nfunction Filters() {\n\tconst { fields, view, onChangeView, openedFilter, setOpenedFilter } =\n\t\tuseContext( DataViewsContext );\n\tconst addFilterRef = useRef< HTMLButtonElement >( null );\n\tconst filters: NormalizedFilter[] = [];\n\tfields.forEach( ( field ) => {\n\t\tif ( ! field.elements?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst operators = sanitizeOperators( field );\n\t\tif ( operators.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isPrimary = !! field.filterBy?.isPrimary;\n\t\tfilters.push( {\n\t\t\tfield: field.id,\n\t\t\tname: field.label,\n\t\t\telements: field.elements,\n\t\t\tsingleSelection: operators.some( ( op ) =>\n\t\t\t\t[ OPERATOR_IS, OPERATOR_IS_NOT ].includes( op )\n\t\t\t),\n\t\t\toperators,\n\t\t\tisVisible:\n\t\t\t\tisPrimary ||\n\t\t\t\t!! view.filters?.some(\n\t\t\t\t\t( f ) =>\n\t\t\t\t\t\tf.field === field.id &&\n\t\t\t\t\t\tALL_OPERATORS.includes( f.operator )\n\t\t\t\t),\n\t\t\tisPrimary,\n\t\t} );\n\t} );\n\t// Sort filters by primary property. We need the primary filters to be first.\n\t// Then we sort by name.\n\tfilters.sort( ( a, b ) => {\n\t\tif ( a.isPrimary && ! b.isPrimary ) {\n\t\t\treturn -1;\n\t\t}\n\t\tif ( ! a.isPrimary && b.isPrimary ) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn a.name.localeCompare( b.name );\n\t} );\n\tconst addFilter = (\n\t\t<AddFilter\n\t\t\tkey=\"add-filter\"\n\t\t\tfilters={ filters }\n\t\t\tview={ view }\n\t\t\tonChangeView={ onChangeView }\n\t\t\tref={ addFilterRef }\n\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t/>\n\t);\n\tconst filterComponents = [\n\t\t...filters.map( ( filter ) => {\n\t\t\tif ( ! filter.isVisible ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<FilterSummary\n\t\t\t\t\tkey={ filter.field }\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\taddFilterRef={ addFilterRef }\n\t\t\t\t\topenedFilter={ openedFilter }\n\t\t\t\t/>\n\t\t\t);\n\t\t} ),\n\t\taddFilter,\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\tfilters={ 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 (\n\t\t<HStack justify=\"flex-start\" style={ { width: 'fit-content' } } wrap>\n\t\t\t{ filterComponents }\n\t\t</HStack>\n\t);\n}\n\nexport default memo( Filters );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_components","_icons","_i18n","_filterSummary","_interopRequireDefault","_addFilter","_interopRequireWildcard","_resetFilters","_dataviewsContext","_utils","_constants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useFilters","fields","view","useMemo","filters","forEach","field","elements","length","operators","sanitizeOperators","isPrimary","filterBy","push","id","name","label","singleSelection","some","op","OPERATOR_IS","OPERATOR_IS_NOT","includes","isVisible","f","ALL_OPERATORS","operator","sort","b","localeCompare","FilterVisibilityToggle","onChangeView","setOpenedFilter","isShowingFilter","setIsShowingFilter","onChangeViewWithFilterVisibility","useCallback","_view","visibleFilters","filter","hasVisibleFilters","jsx","AddFilterDropdownMenu","trigger","Button","className","size","icon","funnel","__","isPressed","jsxs","children","onClick","Filters","openedFilter","useContext","DataViewsContext","addFilterRef","useRef","addFilter","ref","filterComponents","map","__experimentalHStack","justify","style","width","wrap","_default","exports","memo"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tmemo,\n\tuseContext,\n\tuseRef,\n\tuseMemo,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __experimentalHStack as HStack, Button } from '@wordpress/components';\nimport { funnel } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport FilterSummary from './filter-summary';\nimport { default as AddFilter, AddFilterDropdownMenu } from './add-filter';\nimport ResetFilters from './reset-filters';\nimport DataViewsContext from '../dataviews-context';\nimport { sanitizeOperators } from '../../utils';\nimport { ALL_OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT } from '../../constants';\nimport type { NormalizedFilter, NormalizedField, View } from '../../types';\n\nexport function useFilters( fields: NormalizedField< any >[], view: View ) {\n\treturn useMemo( () => {\n\t\tconst filters: NormalizedFilter[] = [];\n\t\tfields.forEach( ( field ) => {\n\t\t\tif ( ! field.elements?.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst operators = sanitizeOperators( field );\n\t\t\tif ( operators.length === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isPrimary = !! field.filterBy?.isPrimary;\n\t\t\tfilters.push( {\n\t\t\t\tfield: field.id,\n\t\t\t\tname: field.label,\n\t\t\t\telements: field.elements,\n\t\t\t\tsingleSelection: operators.some( ( op ) =>\n\t\t\t\t\t[ OPERATOR_IS, OPERATOR_IS_NOT ].includes( op )\n\t\t\t\t),\n\t\t\t\toperators,\n\t\t\t\tisVisible:\n\t\t\t\t\tisPrimary ||\n\t\t\t\t\t!! view.filters?.some(\n\t\t\t\t\t\t( f ) =>\n\t\t\t\t\t\t\tf.field === field.id &&\n\t\t\t\t\t\t\tALL_OPERATORS.includes( f.operator )\n\t\t\t\t\t),\n\t\t\t\tisPrimary,\n\t\t\t} );\n\t\t} );\n\t\t// Sort filters by primary property. We need the primary filters to be first.\n\t\t// Then we sort by name.\n\t\tfilters.sort( ( a, b ) => {\n\t\t\tif ( a.isPrimary && ! b.isPrimary ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( ! a.isPrimary && b.isPrimary ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\treturn a.name.localeCompare( b.name );\n\t\t} );\n\t\treturn filters;\n\t}, [ fields, view ] );\n}\n\nexport function FilterVisibilityToggle( {\n\tfilters,\n\tview,\n\tonChangeView,\n\tsetOpenedFilter,\n\tisShowingFilter,\n\tsetIsShowingFilter,\n}: {\n\tfilters: NormalizedFilter[];\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tsetOpenedFilter: ( filter: string | null ) => void;\n\tisShowingFilter: boolean;\n\tsetIsShowingFilter: React.Dispatch< React.SetStateAction< boolean > >;\n} ) {\n\tconst onChangeViewWithFilterVisibility = useCallback(\n\t\t( _view: View ) => {\n\t\t\tonChangeView( _view );\n\t\t\tsetIsShowingFilter( true );\n\t\t},\n\t\t[ onChangeView, setIsShowingFilter ]\n\t);\n\tconst visibleFilters = filters.filter( ( filter ) => filter.isVisible );\n\n\tconst hasVisibleFilters = !! visibleFilters.length;\n\tif ( filters.length === 0 ) {\n\t\treturn null;\n\t}\n\tif ( ! hasVisibleFilters ) {\n\t\treturn (\n\t\t\t<AddFilterDropdownMenu\n\t\t\t\tfilters={ filters }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeViewWithFilterVisibility }\n\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\ttrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-filters__visibility-toggle\"\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ funnel }\n\t\t\t\t\t\tlabel={ __( 'Add filter' ) }\n\t\t\t\t\t\tisPressed={ false }\n\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t}\n\treturn (\n\t\t<div className=\"dataviews-filters__container-visibility-toggle\">\n\t\t\t<Button\n\t\t\t\tclassName=\"dataviews-filters__visibility-toggle\"\n\t\t\t\tsize=\"compact\"\n\t\t\t\ticon={ funnel }\n\t\t\t\tlabel={ __( 'Toggle filter display' ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tif ( ! isShowingFilter ) {\n\t\t\t\t\t\tsetOpenedFilter( null );\n\t\t\t\t\t}\n\t\t\t\t\tsetIsShowingFilter( ! isShowingFilter );\n\t\t\t\t} }\n\t\t\t\tisPressed={ isShowingFilter }\n\t\t\t\taria-expanded={ isShowingFilter }\n\t\t\t/>\n\t\t\t{ hasVisibleFilters && !! view.filters?.length && (\n\t\t\t\t<span className=\"dataviews-filters-toggle__count\">\n\t\t\t\t\t{ view.filters?.length }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nfunction Filters() {\n\tconst { fields, view, onChangeView, openedFilter, setOpenedFilter } =\n\t\tuseContext( DataViewsContext );\n\tconst addFilterRef = useRef< HTMLButtonElement >( null );\n\tconst filters = useFilters( fields, view );\n\tconst addFilter = (\n\t\t<AddFilter\n\t\t\tkey=\"add-filter\"\n\t\t\tfilters={ filters }\n\t\t\tview={ view }\n\t\t\tonChangeView={ onChangeView }\n\t\t\tref={ addFilterRef }\n\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t/>\n\t);\n\tconst visibleFilters = filters.filter( ( filter ) => filter.isVisible );\n\tif ( visibleFilters.length === 0 ) {\n\t\treturn null;\n\t}\n\tconst filterComponents = [\n\t\t...visibleFilters.map( ( filter ) => {\n\t\t\treturn (\n\t\t\t\t<FilterSummary\n\t\t\t\t\tkey={ filter.field }\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\taddFilterRef={ addFilterRef }\n\t\t\t\t\topenedFilter={ openedFilter }\n\t\t\t\t/>\n\t\t\t);\n\t\t} ),\n\t\taddFilter,\n\t];\n\n\tfilterComponents.push(\n\t\t<ResetFilters\n\t\t\tkey=\"reset-filters\"\n\t\t\tfilters={ filters }\n\t\t\tview={ view }\n\t\t\tonChangeView={ onChangeView }\n\t\t/>\n\t);\n\n\treturn (\n\t\t<HStack\n\t\t\tjustify=\"flex-start\"\n\t\t\tstyle={ { width: 'fit-content' } }\n\t\t\tclassName=\"dataviews-filters__container\"\n\t\t\twrap\n\t\t>\n\t\t\t{ filterComponents }\n\t\t</HStack>\n\t);\n}\n\nexport default memo( Filters );\n"],"mappings":"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","ignoreList":[]}
@@ -135,11 +135,8 @@ function ListBox({
135
135
  }), !filter.singleSelection && currentValue.includes(element.value) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
136
136
  icon: _icons.check
137
137
  })]
138
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
139
- children: [element.label, !!element.description && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
140
- className: "dataviews-filters__search-widget-listitem-description",
141
- children: element.description
142
- })]
138
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
139
+ children: element.label
143
140
  })]
144
141
  }, element.value))
145
142
  });
@@ -1 +1 @@
1
- {"version":3,"names":["Ariakit","_interopRequireWildcard","require","_removeAccents","_interopRequireDefault","_i18n","_element","_components","_icons","_primitives","_lockUnlock","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","radioCheck","jsx","SVG","xmlns","viewBox","children","Circle","cx","cy","normalizeSearchInput","input","removeAccents","trim","toLowerCase","EMPTY_ARRAY","getCurrentValue","filterDefinition","currentFilter","singleSelection","value","Array","isArray","getNewValue","includes","filter","v","ListBox","view","onChangeView","compositeStore","virtualFocus","focusLoop","defaultActiveId","operators","length","undefined","filters","find","f","field","currentValue","store","role","className","sprintf","__","name","onFocusVisible","getState","activeId","move","first","render","CompositeTypeahead","elements","map","element","jsxs","CompositeHover","label","onClick","_view$filters","_view$filters2","newFilters","_filter","operator","page","Icon","icon","check","description","ComboboxList","searchValue","setSearchValue","useState","deferredSearchValue","useDeferredValue","matches","useMemo","normalizedSearch","item","ComboboxProvider","resetValueOnSelect","selectedValue","setSelectedValue","_view$filters3","_view$filters4","setValue","ComboboxLabel","VisuallyHidden","Combobox","autoSelect","placeholder","search","alwaysVisible","ComboboxItem","hideOnClick","setValueOnClick","focusOnHover","ComboboxItemValue","SearchWidget","props","Widget"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/search-widget.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useMemo, useDeferredValue } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { search, check } from '@wordpress/icons';\nimport { SVG, Circle } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport type { Filter, NormalizedFilter, View } from '../../types';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\ninterface SearchWidgetProps {\n\tview: View;\n\tfilter: NormalizedFilter;\n\tonChangeView: ( view: View ) => void;\n}\n\nconst radioCheck = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Circle cx={ 12 } cy={ 12 } r={ 3 }></Circle>\n\t</SVG>\n);\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\nconst getCurrentValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter?: Filter\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn currentFilter?.value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value;\n\t}\n\n\tif ( ! Array.isArray( currentFilter?.value ) && !! currentFilter?.value ) {\n\t\treturn [ currentFilter.value ];\n\t}\n\n\treturn EMPTY_ARRAY;\n};\n\nconst getNewValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter: Filter | undefined,\n\tvalue: any\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value.includes( value )\n\t\t\t? currentFilter.value.filter( ( v ) => v !== value )\n\t\t\t: [ ...currentFilter.value, value ];\n\t}\n\n\treturn [ value ];\n};\n\nfunction ListBox( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst compositeStore = useCompositeStore( {\n\t\tvirtualFocus: true,\n\t\tfocusLoop: true,\n\t\t// When we have no or just one operator, we can set the first item as active.\n\t\t// We do that by passing `undefined` to `defaultActiveId`. Otherwise, we set it to `null`,\n\t\t// so the first item is not selected, since the focus is on the operators control.\n\t\tdefaultActiveId: filter.operators?.length === 1 ? undefined : null,\n\t} );\n\tconst currentFilter = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\treturn (\n\t\t<Composite\n\t\t\tstore={ compositeStore }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"dataviews-filters__search-widget-listbox\"\n\t\t\taria-label={ sprintf(\n\t\t\t\t/* translators: List of items for a filter. 1: Filter name. e.g.: \"List of: Author\". */\n\t\t\t\t__( 'List of: %1$s' ),\n\t\t\t\tfilter.name\n\t\t\t) }\n\t\t\tonFocusVisible={ () => {\n\t\t\t\tif ( ! compositeStore.getState().activeId ) {\n\t\t\t\t\tcompositeStore.move( compositeStore.first() );\n\t\t\t\t}\n\t\t\t} }\n\t\t\trender={ <Ariakit.CompositeTypeahead store={ compositeStore } /> }\n\t\t>\n\t\t\t{ filter.elements.map( ( element ) => (\n\t\t\t\t<Ariakit.CompositeHover\n\t\t\t\t\tstore={ compositeStore }\n\t\t\t\t\tkey={ element.value }\n\t\t\t\t\trender={\n\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\taria-label={ element.label }\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_filter.field ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.field\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _filter;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t\t\t...( view.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: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t ];\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: newFilters,\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>\n\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-check\">\n\t\t\t\t\t\t{ filter.singleSelection &&\n\t\t\t\t\t\t\tcurrentValue === element.value && (\n\t\t\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! filter.singleSelection &&\n\t\t\t\t\t\t\tcurrentValue.includes( element.value ) && (\n\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{ element.label }\n\t\t\t\t\t\t{ !! element.description && (\n\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-description\">\n\t\t\t\t\t\t\t\t{ element.description }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t</Ariakit.CompositeHover>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction ComboboxList( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst deferredSearchValue = useDeferredValue( searchValue );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\tconst matches = useMemo( () => {\n\t\tconst normalizedSearch = normalizeSearchInput( deferredSearchValue );\n\t\treturn filter.elements.filter( ( item ) =>\n\t\t\tnormalizeSearchInput( item.label ).includes( normalizedSearch )\n\t\t);\n\t}, [ filter.elements, deferredSearchValue ] );\n\treturn (\n\t\t<Ariakit.ComboboxProvider\n\t\t\tresetValueOnSelect={ false }\n\t\t\tselectedValue={ currentValue }\n\t\t\tsetSelectedValue={ ( value ) => {\n\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...( view.filters ?? [] ).map( ( _filter ) => {\n\t\t\t\t\t\t\t\tif ( _filter.field === filter.field ) {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\tfilter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\tvalue,\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 _filter;\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ];\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters: newFilters,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tsetValue={ setSearchValue }\n\t\t>\n\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__wrapper\">\n\t\t\t\t<Ariakit.ComboboxLabel\n\t\t\t\t\trender={\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t</Ariakit.ComboboxLabel>\n\t\t\t\t<Ariakit.Combobox\n\t\t\t\t\tautoSelect=\"always\"\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox__input\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__icon\">\n\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Ariakit.ComboboxList\n\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-list\"\n\t\t\t\talwaysVisible\n\t\t\t>\n\t\t\t\t{ matches.map( ( element ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Ariakit.ComboboxItem\n\t\t\t\t\t\t\tkey={ element.value }\n\t\t\t\t\t\t\tvalue={ element.value }\n\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\t\tsetValueOnClick={ false }\n\t\t\t\t\t\t\tfocusOnHover\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-check\">\n\t\t\t\t\t\t\t\t{ filter.singleSelection &&\n\t\t\t\t\t\t\t\t\tcurrentValue === element.value && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! filter.singleSelection &&\n\t\t\t\t\t\t\t\t\tcurrentValue.includes( element.value ) && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<Ariakit.ComboboxItemValue\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-item-value\"\n\t\t\t\t\t\t\t\t\tvalue={ element.label }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ !! element.description && (\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-description\">\n\t\t\t\t\t\t\t\t\t\t{ element.description }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Ariakit.ComboboxItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ ! matches.length && <p>{ __( 'No results found' ) }</p> }\n\t\t\t</Ariakit.ComboboxList>\n\t\t</Ariakit.ComboboxProvider>\n\t);\n}\n\nexport default function SearchWidget( props: SearchWidgetProps ) {\n\tconst Widget = props.filter.elements.length > 10 ? ComboboxList : ListBox;\n\treturn <Widget { ...props } />;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Ariakit","_interopRequireWildcard","require","_removeAccents","_interopRequireDefault","_i18n","_element","_components","_icons","_primitives","_lockUnlock","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","radioCheck","jsx","SVG","xmlns","viewBox","children","Circle","cx","cy","normalizeSearchInput","input","removeAccents","trim","toLowerCase","EMPTY_ARRAY","getCurrentValue","filterDefinition","currentFilter","singleSelection","value","Array","isArray","getNewValue","includes","filter","v","ListBox","view","onChangeView","compositeStore","virtualFocus","focusLoop","defaultActiveId","operators","length","undefined","filters","find","f","field","currentValue","store","role","className","sprintf","__","name","onFocusVisible","getState","activeId","move","first","render","CompositeTypeahead","elements","map","element","jsxs","CompositeHover","label","onClick","_view$filters","_view$filters2","newFilters","_filter","operator","page","Icon","icon","check","ComboboxList","searchValue","setSearchValue","useState","deferredSearchValue","useDeferredValue","matches","useMemo","normalizedSearch","item","ComboboxProvider","resetValueOnSelect","selectedValue","setSelectedValue","_view$filters3","_view$filters4","setValue","ComboboxLabel","VisuallyHidden","Combobox","autoSelect","placeholder","search","alwaysVisible","ComboboxItem","hideOnClick","setValueOnClick","focusOnHover","ComboboxItemValue","description","SearchWidget","props","Widget"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/search-widget.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useMemo, useDeferredValue } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { search, check } from '@wordpress/icons';\nimport { SVG, Circle } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport type { Filter, NormalizedFilter, View } from '../../types';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\ninterface SearchWidgetProps {\n\tview: View;\n\tfilter: NormalizedFilter;\n\tonChangeView: ( view: View ) => void;\n}\n\nconst radioCheck = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Circle cx={ 12 } cy={ 12 } r={ 3 }></Circle>\n\t</SVG>\n);\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\nconst getCurrentValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter?: Filter\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn currentFilter?.value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value;\n\t}\n\n\tif ( ! Array.isArray( currentFilter?.value ) && !! currentFilter?.value ) {\n\t\treturn [ currentFilter.value ];\n\t}\n\n\treturn EMPTY_ARRAY;\n};\n\nconst getNewValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter: Filter | undefined,\n\tvalue: any\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value.includes( value )\n\t\t\t? currentFilter.value.filter( ( v ) => v !== value )\n\t\t\t: [ ...currentFilter.value, value ];\n\t}\n\n\treturn [ value ];\n};\n\nfunction ListBox( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst compositeStore = useCompositeStore( {\n\t\tvirtualFocus: true,\n\t\tfocusLoop: true,\n\t\t// When we have no or just one operator, we can set the first item as active.\n\t\t// We do that by passing `undefined` to `defaultActiveId`. Otherwise, we set it to `null`,\n\t\t// so the first item is not selected, since the focus is on the operators control.\n\t\tdefaultActiveId: filter.operators?.length === 1 ? undefined : null,\n\t} );\n\tconst currentFilter = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\treturn (\n\t\t<Composite\n\t\t\tstore={ compositeStore }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"dataviews-filters__search-widget-listbox\"\n\t\t\taria-label={ sprintf(\n\t\t\t\t/* translators: List of items for a filter. 1: Filter name. e.g.: \"List of: Author\". */\n\t\t\t\t__( 'List of: %1$s' ),\n\t\t\t\tfilter.name\n\t\t\t) }\n\t\t\tonFocusVisible={ () => {\n\t\t\t\tif ( ! compositeStore.getState().activeId ) {\n\t\t\t\t\tcompositeStore.move( compositeStore.first() );\n\t\t\t\t}\n\t\t\t} }\n\t\t\trender={ <Ariakit.CompositeTypeahead store={ compositeStore } /> }\n\t\t>\n\t\t\t{ filter.elements.map( ( element ) => (\n\t\t\t\t<Ariakit.CompositeHover\n\t\t\t\t\tstore={ compositeStore }\n\t\t\t\t\tkey={ element.value }\n\t\t\t\t\trender={\n\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\taria-label={ element.label }\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_filter.field ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.field\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _filter;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t\t\t...( view.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: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t ];\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: newFilters,\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>\n\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-check\">\n\t\t\t\t\t\t{ filter.singleSelection &&\n\t\t\t\t\t\t\tcurrentValue === element.value && (\n\t\t\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! filter.singleSelection &&\n\t\t\t\t\t\t\tcurrentValue.includes( element.value ) && (\n\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span>{ element.label }</span>\n\t\t\t\t</Ariakit.CompositeHover>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction ComboboxList( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst deferredSearchValue = useDeferredValue( searchValue );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\tconst matches = useMemo( () => {\n\t\tconst normalizedSearch = normalizeSearchInput( deferredSearchValue );\n\t\treturn filter.elements.filter( ( item ) =>\n\t\t\tnormalizeSearchInput( item.label ).includes( normalizedSearch )\n\t\t);\n\t}, [ filter.elements, deferredSearchValue ] );\n\treturn (\n\t\t<Ariakit.ComboboxProvider\n\t\t\tresetValueOnSelect={ false }\n\t\t\tselectedValue={ currentValue }\n\t\t\tsetSelectedValue={ ( value ) => {\n\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...( view.filters ?? [] ).map( ( _filter ) => {\n\t\t\t\t\t\t\t\tif ( _filter.field === filter.field ) {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\tfilter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\tvalue,\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 _filter;\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ];\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters: newFilters,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tsetValue={ setSearchValue }\n\t\t>\n\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__wrapper\">\n\t\t\t\t<Ariakit.ComboboxLabel\n\t\t\t\t\trender={\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t</Ariakit.ComboboxLabel>\n\t\t\t\t<Ariakit.Combobox\n\t\t\t\t\tautoSelect=\"always\"\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox__input\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__icon\">\n\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Ariakit.ComboboxList\n\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-list\"\n\t\t\t\talwaysVisible\n\t\t\t>\n\t\t\t\t{ matches.map( ( element ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Ariakit.ComboboxItem\n\t\t\t\t\t\t\tkey={ element.value }\n\t\t\t\t\t\t\tvalue={ element.value }\n\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\t\tsetValueOnClick={ false }\n\t\t\t\t\t\t\tfocusOnHover\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-check\">\n\t\t\t\t\t\t\t\t{ filter.singleSelection &&\n\t\t\t\t\t\t\t\t\tcurrentValue === element.value && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! filter.singleSelection &&\n\t\t\t\t\t\t\t\t\tcurrentValue.includes( element.value ) && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<Ariakit.ComboboxItemValue\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-item-value\"\n\t\t\t\t\t\t\t\t\tvalue={ element.label }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ !! element.description && (\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-description\">\n\t\t\t\t\t\t\t\t\t\t{ element.description }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Ariakit.ComboboxItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ ! matches.length && <p>{ __( 'No results found' ) }</p> }\n\t\t\t</Ariakit.ComboboxList>\n\t\t</Ariakit.ComboboxProvider>\n\t);\n}\n\nexport default function SearchWidget( props: SearchWidgetProps ) {\n\tconst Widget = props.filter.elements.length > 10 ? ComboboxList : ListBox;\n\treturn <Widget { ...props } />;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = DataViewsLayout;
8
8
  var _element = require("@wordpress/element");
9
9
  var _dataviewsContext = _interopRequireDefault(require("../dataviews-context"));
10
- var _layouts = require("../../layouts");
10
+ var _dataviewsLayouts = require("../../dataviews-layouts");
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
12
  /**
13
13
  * External dependencies
@@ -35,7 +35,7 @@ function DataViewsLayout() {
35
35
  setOpenedFilter,
36
36
  density
37
37
  } = (0, _element.useContext)(_dataviewsContext.default);
38
- const ViewComponent = _layouts.VIEW_LAYOUTS.find(v => v.type === view.type)?.component;
38
+ const ViewComponent = _dataviewsLayouts.VIEW_LAYOUTS.find(v => v.type === view.type)?.component;
39
39
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(ViewComponent, {
40
40
  actions: actions,
41
41
  data: data,
@@ -1 +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
+ {"version":3,"names":["_element","require","_dataviewsContext","_interopRequireDefault","_dataviewsLayouts","_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 '../../dataviews-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,iBAAA,GAAAH,OAAA;AAAuD,IAAAI,WAAA,GAAAJ,OAAA;AAdvD;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,8BAAY,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":[]}
@@ -33,6 +33,16 @@ function DataViewsPagination() {
33
33
  return null;
34
34
  }
35
35
  const currentPage = (_view$page = view.page) !== null && _view$page !== void 0 ? _view$page : 1;
36
+ const pageSelectOptions = Array.from(Array(totalPages)).map((_, i) => {
37
+ const page = i + 1;
38
+ return {
39
+ value: page.toString(),
40
+ label: page.toString(),
41
+ 'aria-label': currentPage === page ? (0, _i18n.sprintf)(
42
+ // translators: Current page number in total number of pages
43
+ (0, _i18n.__)('Page %1$s of %2$s'), currentPage, totalPages) : page.toString()
44
+ };
45
+ });
36
46
  return !!totalItems && totalPages !== 1 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
37
47
  expanded: false,
38
48
  spacing: 6,
@@ -41,29 +51,27 @@ function DataViewsPagination() {
41
51
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
42
52
  justify: "flex-start",
43
53
  expanded: false,
44
- spacing: 2,
45
- className: "dataviews-pagination__page-selection",
54
+ spacing: 1,
55
+ className: "dataviews-pagination__page-select",
46
56
  children: (0, _element.createInterpolateElement)((0, _i18n.sprintf)(
47
- // translators: %s: Total number of pages.
48
- (0, _i18n._x)('Page <CurrentPageControl /> of %s', 'paging'), totalPages), {
49
- CurrentPageControl: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
57
+ // translators: 1: Current page number, 2: Total number of pages.
58
+ (0, _i18n._x)('<div>Page</div>%1$s<div>of %2$s</div>', 'paging'), '<CurrentPage />', totalPages), {
59
+ div: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
60
+ "aria-hidden": true
61
+ }),
62
+ CurrentPage: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
50
63
  "aria-label": (0, _i18n.__)('Current page'),
51
- value: view.page?.toString(),
52
- options: Array.from(Array(totalPages)).map((_, i) => {
53
- const page = i + 1;
54
- return {
55
- value: page.toString(),
56
- label: page.toString()
57
- };
58
- }),
64
+ value: currentPage.toString(),
65
+ options: pageSelectOptions,
59
66
  onChange: newValue => {
60
67
  onChangeView({
61
68
  ...view,
62
69
  page: +newValue
63
70
  });
64
71
  },
65
- size: "compact",
66
- __nextHasNoMarginBottom: true
72
+ size: "small",
73
+ __nextHasNoMarginBottom: true,
74
+ variant: "minimal"
67
75
  })
68
76
  })
69
77
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
@@ -1 +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
+ {"version":3,"names":["_components","require","_element","_i18n","_icons","_dataviewsContext","_interopRequireDefault","_jsxRuntime","DataViewsPagination","_view$page","view","onChangeView","paginationInfo","totalItems","totalPages","useContext","DataViewsContext","currentPage","page","pageSelectOptions","Array","from","map","_","i","value","toString","label","sprintf","__","jsxs","__experimentalHStack","expanded","spacing","justify","className","children","jsx","createInterpolateElement","_x","div","CurrentPage","SelectControl","options","onChange","newValue","size","__nextHasNoMarginBottom","variant","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\n\tif ( ! totalItems || ! totalPages ) {\n\t\treturn null;\n\t}\n\n\tconst currentPage = view.page ?? 1;\n\tconst pageSelectOptions = Array.from( Array( totalPages ) ).map(\n\t\t( _, i ) => {\n\t\t\tconst page = i + 1;\n\t\t\treturn {\n\t\t\t\tvalue: page.toString(),\n\t\t\t\tlabel: page.toString(),\n\t\t\t\t'aria-label':\n\t\t\t\t\tcurrentPage === page\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: Current page number in total number of pages\n\t\t\t\t\t\t\t\t__( 'Page %1$s of %2$s' ),\n\t\t\t\t\t\t\t\tcurrentPage,\n\t\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: page.toString(),\n\t\t\t};\n\t\t}\n\t);\n\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={ 1 }\n\t\t\t\t\tclassName=\"dataviews-pagination__page-select\"\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: 1: Current page number, 2: Total number of pages.\n\t\t\t\t\t\t\t_x(\n\t\t\t\t\t\t\t\t'<div>Page</div>%1$s<div>of %2$s</div>',\n\t\t\t\t\t\t\t\t'paging'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t'<CurrentPage />',\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\tdiv: <div aria-hidden />,\n\t\t\t\t\t\t\tCurrentPage: (\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={ currentPage.toString() }\n\t\t\t\t\t\t\t\t\toptions={ pageSelectOptions }\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=\"small\"\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tvariant=\"minimal\"\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":[]}
@@ -38,14 +38,17 @@ const DataViewsSearch = (0, _element.memo)(function Search({
38
38
  viewRef.current = view;
39
39
  }, [onChangeView, view]);
40
40
  (0, _element.useEffect)(() => {
41
- onChangeViewRef.current({
42
- ...viewRef.current,
43
- page: 1,
44
- search: debouncedSearch
45
- });
41
+ if (debouncedSearch !== viewRef.current?.search) {
42
+ onChangeViewRef.current({
43
+ ...viewRef.current,
44
+ page: 1,
45
+ search: debouncedSearch
46
+ });
47
+ }
46
48
  }, [debouncedSearch]);
47
49
  const searchLabel = label || (0, _i18n.__)('Search');
48
50
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SearchControl, {
51
+ className: "dataviews-search",
49
52
  __nextHasNoMarginBottom: true,
50
53
  onChange: setSearch,
51
54
  value: search,
@@ -1 +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":[]}
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","className","__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\tif ( debouncedSearch !== viewRef.current?.search ) {\n\t\t\tonChangeViewRef.current( {\n\t\t\t\t...viewRef.current,\n\t\t\t\tpage: 1,\n\t\t\t\tsearch: debouncedSearch,\n\t\t\t} );\n\t\t}\n\t}, [ debouncedSearch ] );\n\tconst searchLabel = label || __( 'Search' );\n\treturn (\n\t\t<SearchControl\n\t\t\tclassName=\"dataviews-search\"\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;IAChB,IAAKF,eAAe,KAAKM,OAAO,CAACC,OAAO,EAAET,MAAM,EAAG;MAClDM,eAAe,CAACG,OAAO,CAAE;QACxB,GAAGD,OAAO,CAACC,OAAO;QAClBC,IAAI,EAAE,CAAC;QACPV,MAAM,EAAEE;MACT,CAAE,CAAC;IACJ;EACD,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,SAAS,EAAC,kBAAkB;IAC5BC,uBAAuB;IACvBC,QAAQ,EAAGhB,SAAW;IACtBiB,KAAK,EAAGlB,MAAQ;IAChBL,KAAK,EAAGgB,WAAa;IACrBQ,WAAW,EAAGR,WAAa;IAC3BS,IAAI,EAAC;EAAS,CACd,CAAC;AAEJ,CAAE,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEW/B,eAAe","ignoreList":[]}