@wordpress/dataviews 4.1.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 (170) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +31 -23
  3. package/build/components/dataviews/index.js +9 -11
  4. package/build/components/dataviews/index.js.map +1 -1
  5. package/build/components/dataviews-filters/index.js +3 -0
  6. package/build/components/dataviews-filters/index.js.map +1 -1
  7. package/build/components/dataviews-filters/search-widget.js +2 -5
  8. package/build/components/dataviews-filters/search-widget.js.map +1 -1
  9. package/build/components/dataviews-pagination/index.js +23 -15
  10. package/build/components/dataviews-pagination/index.js.map +1 -1
  11. package/build/components/dataviews-view-config/index.js +26 -9
  12. package/build/components/dataviews-view-config/index.js.map +1 -1
  13. package/build/dataform-controls/datetime.js +49 -0
  14. package/build/dataform-controls/datetime.js.map +1 -0
  15. package/build/dataform-controls/index.js +50 -0
  16. package/build/dataform-controls/index.js.map +1 -0
  17. package/build/dataform-controls/integer.js +45 -0
  18. package/build/dataform-controls/integer.js.map +1 -0
  19. package/build/dataform-controls/radio.js +45 -0
  20. package/build/dataform-controls/radio.js.map +1 -0
  21. package/build/dataform-controls/select.js +58 -0
  22. package/build/dataform-controls/select.js.map +1 -0
  23. package/build/dataform-controls/text.js +45 -0
  24. package/build/dataform-controls/text.js.map +1 -0
  25. package/build/dataforms-layouts/panel/index.js +6 -3
  26. package/build/dataforms-layouts/panel/index.js.map +1 -1
  27. package/build/dataforms-layouts/regular/index.js +6 -3
  28. package/build/dataforms-layouts/regular/index.js.map +1 -1
  29. package/build/dataviews-layouts/grid/density-picker.js +23 -52
  30. package/build/dataviews-layouts/grid/density-picker.js.map +1 -1
  31. package/build/dataviews-layouts/grid/index.js +1 -1
  32. package/build/dataviews-layouts/grid/index.js.map +1 -1
  33. package/build/dataviews-layouts/list/index.js +6 -2
  34. package/build/dataviews-layouts/list/index.js.map +1 -1
  35. package/build/dataviews-layouts/table/column-header-menu.js +2 -5
  36. package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
  37. package/build/field-types/datetime.js +30 -0
  38. package/build/field-types/datetime.js.map +1 -0
  39. package/build/field-types/index.js +4 -0
  40. package/build/field-types/index.js.map +1 -1
  41. package/build/field-types/integer.js +1 -60
  42. package/build/field-types/integer.js.map +1 -1
  43. package/build/field-types/text.js +1 -60
  44. package/build/field-types/text.js.map +1 -1
  45. package/build/normalize-fields.js +6 -7
  46. package/build/normalize-fields.js.map +1 -1
  47. package/build/types.js.map +1 -1
  48. package/build-module/components/dataviews/index.js +9 -11
  49. package/build-module/components/dataviews/index.js.map +1 -1
  50. package/build-module/components/dataviews-filters/index.js +3 -0
  51. package/build-module/components/dataviews-filters/index.js.map +1 -1
  52. package/build-module/components/dataviews-filters/search-widget.js +2 -5
  53. package/build-module/components/dataviews-filters/search-widget.js.map +1 -1
  54. package/build-module/components/dataviews-pagination/index.js +23 -15
  55. package/build-module/components/dataviews-pagination/index.js.map +1 -1
  56. package/build-module/components/dataviews-view-config/index.js +27 -10
  57. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  58. package/build-module/dataform-controls/datetime.js +43 -0
  59. package/build-module/dataform-controls/datetime.js.map +1 -0
  60. package/build-module/dataform-controls/index.js +42 -0
  61. package/build-module/dataform-controls/index.js.map +1 -0
  62. package/build-module/dataform-controls/integer.js +38 -0
  63. package/build-module/dataform-controls/integer.js.map +1 -0
  64. package/build-module/dataform-controls/radio.js +38 -0
  65. package/build-module/dataform-controls/radio.js.map +1 -0
  66. package/build-module/dataform-controls/select.js +51 -0
  67. package/build-module/dataform-controls/select.js.map +1 -0
  68. package/build-module/dataform-controls/text.js +38 -0
  69. package/build-module/dataform-controls/text.js.map +1 -0
  70. package/build-module/dataforms-layouts/panel/index.js +6 -3
  71. package/build-module/dataforms-layouts/panel/index.js.map +1 -1
  72. package/build-module/dataforms-layouts/regular/index.js +6 -3
  73. package/build-module/dataforms-layouts/regular/index.js.map +1 -1
  74. package/build-module/dataviews-layouts/grid/density-picker.js +25 -56
  75. package/build-module/dataviews-layouts/grid/density-picker.js.map +1 -1
  76. package/build-module/dataviews-layouts/grid/index.js +1 -1
  77. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  78. package/build-module/dataviews-layouts/list/index.js +5 -2
  79. package/build-module/dataviews-layouts/list/index.js.map +1 -1
  80. package/build-module/dataviews-layouts/table/column-header-menu.js +2 -5
  81. package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
  82. package/build-module/field-types/datetime.js +24 -0
  83. package/build-module/field-types/datetime.js.map +1 -0
  84. package/build-module/field-types/index.js +4 -0
  85. package/build-module/field-types/index.js.map +1 -1
  86. package/build-module/field-types/integer.js +2 -60
  87. package/build-module/field-types/integer.js.map +1 -1
  88. package/build-module/field-types/text.js +2 -60
  89. package/build-module/field-types/text.js.map +1 -1
  90. package/build-module/normalize-fields.js +7 -7
  91. package/build-module/normalize-fields.js.map +1 -1
  92. package/build-module/types.js.map +1 -1
  93. package/build-style/style-rtl.css +15 -18
  94. package/build-style/style.css +15 -18
  95. package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
  96. package/build-types/components/dataviews/index.d.ts.map +1 -1
  97. package/build-types/components/dataviews/stories/fixtures.d.ts +22 -3
  98. package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
  99. package/build-types/components/dataviews/stories/index.story.d.ts +9 -0
  100. package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
  101. package/build-types/components/dataviews-filters/index.d.ts +1 -1
  102. package/build-types/components/dataviews-filters/index.d.ts.map +1 -1
  103. package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -1
  104. package/build-types/components/dataviews-pagination/index.d.ts.map +1 -1
  105. package/build-types/components/dataviews-view-config/index.d.ts +4 -3
  106. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  107. package/build-types/dataform-controls/datetime.d.ts +6 -0
  108. package/build-types/dataform-controls/datetime.d.ts.map +1 -0
  109. package/build-types/dataform-controls/index.d.ts +11 -0
  110. package/build-types/dataform-controls/index.d.ts.map +1 -0
  111. package/build-types/dataform-controls/integer.d.ts +6 -0
  112. package/build-types/dataform-controls/integer.d.ts.map +1 -0
  113. package/build-types/dataform-controls/radio.d.ts +6 -0
  114. package/build-types/dataform-controls/radio.d.ts.map +1 -0
  115. package/build-types/dataform-controls/select.d.ts +6 -0
  116. package/build-types/dataform-controls/select.d.ts.map +1 -0
  117. package/build-types/dataform-controls/text.d.ts +6 -0
  118. package/build-types/dataform-controls/text.d.ts.map +1 -0
  119. package/build-types/dataforms-layouts/panel/index.d.ts.map +1 -1
  120. package/build-types/dataforms-layouts/regular/index.d.ts.map +1 -1
  121. package/build-types/dataviews-layouts/grid/density-picker.d.ts.map +1 -1
  122. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  123. package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -1
  124. package/build-types/field-types/datetime.d.ts +13 -0
  125. package/build-types/field-types/datetime.d.ts.map +1 -0
  126. package/build-types/field-types/index.d.ts +1 -1
  127. package/build-types/field-types/index.d.ts.map +1 -1
  128. package/build-types/field-types/integer.d.ts +2 -3
  129. package/build-types/field-types/integer.d.ts.map +1 -1
  130. package/build-types/field-types/text.d.ts +2 -3
  131. package/build-types/field-types/text.d.ts.map +1 -1
  132. package/build-types/normalize-fields.d.ts.map +1 -1
  133. package/build-types/types.d.ts +41 -21
  134. package/build-types/types.d.ts.map +1 -1
  135. package/package.json +12 -12
  136. package/src/components/dataform/stories/index.story.tsx +43 -2
  137. package/src/components/dataviews/index.tsx +13 -13
  138. package/src/components/dataviews/stories/fixtures.js +29 -1
  139. package/src/components/dataviews/stories/index.story.js +7 -1
  140. package/src/components/dataviews/style.scss +0 -12
  141. package/src/components/dataviews-bulk-actions-toolbar/style.scss +1 -1
  142. package/src/components/dataviews-filters/index.tsx +3 -0
  143. package/src/components/dataviews-filters/search-widget.tsx +1 -8
  144. package/src/components/dataviews-filters/style.scss +1 -1
  145. package/src/components/dataviews-pagination/index.tsx +35 -16
  146. package/src/components/dataviews-pagination/style.scss +9 -4
  147. package/src/components/dataviews-view-config/index.tsx +45 -16
  148. package/src/dataform-controls/datetime.tsx +43 -0
  149. package/src/dataform-controls/index.tsx +61 -0
  150. package/src/dataform-controls/integer.tsx +38 -0
  151. package/src/dataform-controls/radio.tsx +42 -0
  152. package/src/dataform-controls/select.tsx +52 -0
  153. package/src/dataform-controls/style.scss +4 -0
  154. package/src/dataform-controls/text.tsx +40 -0
  155. package/src/dataforms-layouts/panel/index.tsx +6 -2
  156. package/src/dataforms-layouts/regular/index.tsx +6 -2
  157. package/src/dataviews-layouts/grid/density-picker.tsx +33 -67
  158. package/src/dataviews-layouts/grid/index.tsx +1 -1
  159. package/src/dataviews-layouts/grid/style.scss +0 -4
  160. package/src/dataviews-layouts/list/index.tsx +6 -2
  161. package/src/dataviews-layouts/table/column-header-menu.tsx +3 -5
  162. package/src/field-types/datetime.tsx +28 -0
  163. package/src/field-types/index.tsx +5 -0
  164. package/src/field-types/integer.tsx +2 -71
  165. package/src/field-types/text.tsx +2 -70
  166. package/src/normalize-fields.ts +8 -10
  167. package/src/style.scss +1 -0
  168. package/src/test/filter-and-sort-data-view.js +28 -0
  169. package/src/types.ts +54 -32
  170. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 4.2.0 (2024-08-21)
6
+
7
+ ## New features
8
+
9
+ - Support using a component for field headers or names by providing a `header` property in the field object. The string `label` property (or `id`) is still mandatory. ([#64642](https://github.com/WordPress/gutenberg/pull/64642)).
10
+
11
+ ## Internal
12
+
13
+ - The "move left/move right" controls in the table layout (popup displayed on cliking header) are always visible. ([#64646](https://github.com/WordPress/gutenberg/pull/64646)). Before this, its visibility depending on filters, enableSorting, and enableHiding.
14
+ - Filters no longer display the elements' description. ([#64674](https://github.com/WordPress/gutenberg/pull/64674))
15
+
16
+
17
+ ## Enhancements
18
+
19
+ - Adjust layout of filter / actions row, increase width of search control when the container is narrower. ([#64681](https://github.com/WordPress/gutenberg/pull/64681)).
20
+
5
21
  ## 4.1.0 (2024-08-07)
6
22
 
7
23
  ## Internal
@@ -16,6 +32,7 @@
16
32
  - `setSelection` prop has been removed. Please use `onChangeSelection` instead.
17
33
  - `header` field property has been renamed to `label`.
18
34
  - `DataForm`'s `visibleFields` prop has been renamed to `fields`.
35
+ - `DataForm`'s `onChange` prop has been update to receive as argument only the fields that have changed.
19
36
 
20
37
  ### New features
21
38
 
package/README.md CHANGED
@@ -30,6 +30,8 @@ const Example = () => {
30
30
  };
31
31
  ```
32
32
 
33
+ <div class="callout callout-info">At <a href="https://wordpress.github.io/gutenberg/">WordPress Gutenberg's Storybook</a> there's and <a href="https://wordpress.github.io/gutenberg/?path=/docs/dataviews-dataviews--docs">example implementation of the Dataviews component</a></div>
34
+
33
35
  ## Properties
34
36
 
35
37
  ### `data`: `Object[]`
@@ -72,62 +74,66 @@ const STATUSES = [
72
74
  const fields = [
73
75
  {
74
76
  id: 'title',
75
- header: 'Title',
77
+ label: 'Title',
76
78
  enableHiding: false,
77
79
  },
78
80
  {
79
81
  id: 'date',
80
- header: 'Date',
82
+ label: 'Date',
81
83
  render: ( { item } ) => {
82
- return (
83
- <time>{ getFormattedDate( item.date ) }</time>
84
- );
85
- }
84
+ return <time>{ getFormattedDate( item.date ) }</time>;
85
+ },
86
86
  },
87
87
  {
88
88
  id: 'author',
89
- header: __( 'Author' ),
89
+ label: __( 'Author' ),
90
90
  render: ( { item } ) => {
91
- return (
92
- <a href="...">{ item.author }</a>
93
- );
91
+ return <a href="...">{ item.author }</a>;
94
92
  },
95
93
  elements: [
96
94
  { value: 1, label: 'Admin' },
97
- { value: 2, label: 'User' }
95
+ { value: 2, label: 'User' },
98
96
  ],
99
97
  filterBy: {
100
- operators: [ 'is', 'isNot' ]
98
+ operators: [ 'is', 'isNot' ],
101
99
  },
102
- enableSorting: false
100
+ enableSorting: false,
103
101
  },
104
102
  {
105
- header: __( 'Status' ),
103
+ label: __( 'Status' ),
106
104
  id: 'status',
107
105
  getValue: ( { item } ) =>
108
- STATUSES.find( ( { value } ) => value === item.status )
109
- ?.label ?? item.status,
106
+ STATUSES.find( ( { value } ) => value === item.status )?.label ??
107
+ item.status,
110
108
  elements: STATUSES,
111
109
  filterBy: {
112
110
  operators: [ 'isAny' ],
113
111
  },
114
112
  enableSorting: false,
115
113
  },
116
- ]
114
+ ];
117
115
  ```
118
116
 
119
117
  Each field is an object with the following properties:
120
118
 
121
119
  - `id`: identifier for the field. Unique.
122
- - `header`: the field's name to be shown in the UI.
120
+ - `label`: the field's name to be shown in the UI.
123
121
  - `getValue`: function that returns the value of the field, defaults to `field[id]`.
124
122
  - `render`: function that renders the field. Optional, `getValue` will be used if `render` is not defined.
125
- - `elements`: the set of valid values for the field's value.
123
+ - <code id="fields-elements">elements</code>: The list of options to pick from when using the field as a filter or when editing (DataForm component). It expects an array of objects with the following properties:
124
+
125
+ - `value`: The id of the value to filter to (for internal use)
126
+ - `label`: The text that will be displayed in the UI for the item.
127
+ - `description`: A longer description that describes the element, to also be displayed. Optional.
128
+
129
+ To enable the filter by a field we just need to set a proper value to the `elements` property of the field we'd like to filter by.
130
+
126
131
  - `type`: the type of the field. See "Field types".
127
132
  - `enableSorting`: whether the data can be sorted by the given field. True by default.
128
133
  - `enableHiding`: whether the field can be hidden. True by default.
129
- - `filterBy`: configuration for the filters.
130
- - `operators`: the list of operators supported by the field.
134
+ - `enableGlobalSearch`: whether the field is searchable. False by default.
135
+ - `filterBy`: configuration for the filters enabled by the `elements` property.
136
+ - `operators`: the list of [operators](#operators) supported by the field.
131
137
  - `isPrimary`: whether it is a primary filter. A primary filter is always visible and is not listed in the "Add filter" component, except for the list layout where it behaves like a secondary filter.
132
138
 
133
139
  ### `view`: `object`
@@ -255,6 +261,8 @@ Each action is an object with the following properties:
255
261
  - `callback`: function, required unless `RenderModal` is provided. Callback function that takes the record as input and performs the required action.
256
262
  - `RenderModal`: ReactElement, optional. If an action requires that some UI be rendered in a modal, it can provide a component which takes as props the record as `item` and a `closeModal` function. When this prop is provided, the `callback` property is ignored.
257
263
  - `hideModalHeader`: boolean, optional. This property is used in combination with `RenderModal` and controls the visibility of the modal's header. If the action renders a modal and doesn't hide the header, the action's label is going to be used in the modal's header.
264
+ - `supportsBulk`: Whether the action can be used as a bulk action. False by default.
265
+ - `disabled`: Whether the action is disabled. False by default.
258
266
 
259
267
  ### `paginationInfo`: `Object`
260
268
 
@@ -288,8 +296,8 @@ const defaultLayouts = {
288
296
  table: {
289
297
  layout: {
290
298
  primaryKey: 'my-key',
291
- }
292
- }
299
+ },
300
+ },
293
301
  };
294
302
  ```
295
303
 
@@ -16,8 +16,6 @@ var _dataviewsPagination = _interopRequireDefault(require("../dataviews-paginati
16
16
  var _dataviewsSearch = _interopRequireDefault(require("../dataviews-search"));
17
17
  var _dataviewsViewConfig = _interopRequireDefault(require("../dataviews-view-config"));
18
18
  var _normalizeFields = require("../../normalize-fields");
19
- var _densityPicker = _interopRequireDefault(require("../../dataviews-layouts/grid/density-picker"));
20
- var _constants = require("../../constants");
21
19
  var _jsxRuntime = require("react/jsx-runtime");
22
20
  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); }
23
21
  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; }
@@ -52,7 +50,6 @@ function DataViews({
52
50
  }) {
53
51
  const [selectionState, setSelectionState] = (0, _element.useState)([]);
54
52
  const [density, setDensity] = (0, _element.useState)(0);
55
- const [isShowingFilter, setIsShowingFilter] = (0, _element.useState)(false);
56
53
  const isUncontrolled = selectionProperty === undefined || onChangeSelection === undefined;
57
54
  const selection = isUncontrolled ? selectionState : selectionProperty;
58
55
  const [openedFilter, setOpenedFilter] = (0, _element.useState)(null);
@@ -70,6 +67,7 @@ function DataViews({
70
67
  return selection.filter(id => data.some(item => getItemId(item) === id));
71
68
  }, [selection, data, getItemId]);
72
69
  const filters = (0, _dataviewsFilters.useFilters)(_fields, view);
70
+ const [isShowingFilter, setIsShowingFilter] = (0, _element.useState)(() => (filters || []).some(filter => filter.isPrimary));
73
71
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsContext.default.Provider, {
74
72
  value: {
75
73
  view,
@@ -90,12 +88,13 @@ function DataViews({
90
88
  className: "dataviews-wrapper",
91
89
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
92
90
  alignment: "top",
93
- justify: "start",
91
+ justify: "space-between",
94
92
  className: "dataviews__view-actions",
95
93
  spacing: 1,
96
94
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
97
95
  justify: "start",
98
- wrap: true,
96
+ expanded: false,
97
+ className: "dataviews__search",
99
98
  children: [search && /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsSearch.default, {
100
99
  label: searchLabel
101
100
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsFilters.FilterVisibilityToggle, {
@@ -106,17 +105,16 @@ function DataViews({
106
105
  setIsShowingFilter: setIsShowingFilter,
107
106
  isShowingFilter: isShowingFilter
108
107
  })]
109
- }), view.type === _constants.LAYOUT_GRID && /*#__PURE__*/(0, _jsxRuntime.jsx)(_densityPicker.default, {
110
- density: density,
111
- setDensity: setDensity
112
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsBulkActions.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
108
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
113
109
  spacing: 1,
114
110
  expanded: false,
115
111
  style: {
116
112
  flexShrink: 0
117
113
  },
118
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsViewConfig.default, {
119
- defaultLayouts: defaultLayouts
114
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsBulkActions.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsViewConfig.default, {
115
+ defaultLayouts: defaultLayouts,
116
+ density: density,
117
+ setDensity: setDensity
120
118
  }), header]
121
119
  })]
122
120
  }), isShowingFilter && /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsFilters.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsLayout.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsPagination.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_dataviewsBulkActionsToolbar.default, {})]
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_dataviewsBulkActions","_interopRequireDefault","_dataviewsBulkActionsToolbar","_dataviewsContext","_dataviewsFilters","_interopRequireWildcard","_dataviewsLayout","_dataviewsPagination","_dataviewsSearch","_dataviewsViewConfig","_normalizeFields","_densityPicker","_constants","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultGetItemId","item","id","DataViews","view","onChangeView","fields","search","searchLabel","undefined","actions","data","getItemId","isLoading","paginationInfo","defaultLayouts","selection","selectionProperty","onChangeSelection","header","selectionState","setSelectionState","useState","density","setDensity","isShowingFilter","setIsShowingFilter","isUncontrolled","openedFilter","setOpenedFilter","setSelectionWithChange","value","newValue","_fields","useMemo","normalizeFields","_selection","filter","some","filters","useFilters","jsx","Provider","children","jsxs","className","__experimentalHStack","alignment","justify","spacing","wrap","label","FilterVisibilityToggle","type","LAYOUT_GRID","expanded","style","flexShrink"],"sources":["@wordpress/dataviews/src/components/dataviews/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { default as DataViewsBulkActions } from '../dataviews-bulk-actions';\nimport DataViewsBulkActionsToolbar from '../dataviews-bulk-actions-toolbar';\nimport DataViewsContext from '../dataviews-context';\nimport {\n\tdefault as DataViewsFilters,\n\tuseFilters,\n\tFilterVisibilityToggle,\n} from '../dataviews-filters';\nimport DataViewsLayout from '../dataviews-layout';\nimport DataviewsPagination from '../dataviews-pagination';\nimport DataViewsSearch from '../dataviews-search';\nimport DataViewsViewConfig from '../dataviews-view-config';\nimport { normalizeFields } from '../../normalize-fields';\nimport type { Action, Field, View, SupportedLayouts } from '../../types';\nimport type { SelectionOrUpdater } from '../../private-types';\nimport DensityPicker from '../../dataviews-layouts/grid/density-picker';\nimport { LAYOUT_GRID } from '../../constants';\n\ntype ItemWithId = { id: string };\n\ntype DataViewsProps< Item > = {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tfields: Field< Item >[];\n\tsearch?: boolean;\n\tsearchLabel?: string;\n\tactions?: Action< Item >[];\n\tdata: Item[];\n\tisLoading?: boolean;\n\tpaginationInfo: {\n\t\ttotalItems: number;\n\t\ttotalPages: number;\n\t};\n\tdefaultLayouts: SupportedLayouts;\n\tselection?: string[];\n\tonChangeSelection?: ( items: string[] ) => void;\n\theader?: ReactNode;\n} & ( Item extends ItemWithId\n\t? { getItemId?: ( item: Item ) => string }\n\t: { getItemId: ( item: Item ) => string } );\n\nconst defaultGetItemId = ( item: ItemWithId ) => item.id;\n\nexport default function DataViews< Item >( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions = [],\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tisLoading = false,\n\tpaginationInfo,\n\tdefaultLayouts,\n\tselection: selectionProperty,\n\tonChangeSelection,\n\theader,\n}: DataViewsProps< Item > ) {\n\tconst [ selectionState, setSelectionState ] = useState< string[] >( [] );\n\tconst [ density, setDensity ] = useState< number >( 0 );\n\tconst [ isShowingFilter, setIsShowingFilter ] =\n\t\tuseState< boolean >( false );\n\tconst isUncontrolled =\n\t\tselectionProperty === undefined || onChangeSelection === undefined;\n\tconst selection = isUncontrolled ? selectionState : selectionProperty;\n\tconst [ openedFilter, setOpenedFilter ] = useState< string | null >( null );\n\tfunction setSelectionWithChange( value: SelectionOrUpdater ) {\n\t\tconst newValue =\n\t\t\ttypeof value === 'function' ? value( selection ) : value;\n\t\tif ( isUncontrolled ) {\n\t\t\tsetSelectionState( newValue );\n\t\t}\n\t\tif ( onChangeSelection ) {\n\t\t\tonChangeSelection( newValue );\n\t\t}\n\t}\n\tconst _fields = useMemo( () => normalizeFields( fields ), [ fields ] );\n\tconst _selection = useMemo( () => {\n\t\treturn selection.filter( ( id ) =>\n\t\t\tdata.some( ( item ) => getItemId( item ) === id )\n\t\t);\n\t}, [ selection, data, getItemId ] );\n\n\tconst filters = useFilters( _fields, view );\n\treturn (\n\t\t<DataViewsContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tview,\n\t\t\t\tonChangeView,\n\t\t\t\tfields: _fields,\n\t\t\t\tactions,\n\t\t\t\tdata,\n\t\t\t\tisLoading,\n\t\t\t\tpaginationInfo,\n\t\t\t\tselection: _selection,\n\t\t\t\tonChangeSelection: setSelectionWithChange,\n\t\t\t\topenedFilter,\n\t\t\t\tsetOpenedFilter,\n\t\t\t\tgetItemId,\n\t\t\t\tdensity,\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-wrapper\">\n\t\t\t\t<HStack\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\tclassName=\"dataviews__view-actions\"\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t>\n\t\t\t\t\t<HStack justify=\"start\" wrap>\n\t\t\t\t\t\t{ search && <DataViewsSearch label={ searchLabel } /> }\n\t\t\t\t\t\t<FilterVisibilityToggle\n\t\t\t\t\t\t\tfilters={ filters }\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\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\tsetIsShowingFilter={ setIsShowingFilter }\n\t\t\t\t\t\t\tisShowingFilter={ isShowingFilter }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t{ view.type === LAYOUT_GRID && (\n\t\t\t\t\t\t<DensityPicker\n\t\t\t\t\t\t\tdensity={ density }\n\t\t\t\t\t\t\tsetDensity={ setDensity }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<DataViewsBulkActions />\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tstyle={ { flexShrink: 0 } }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DataViewsViewConfig\n\t\t\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ header }\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t\t{ isShowingFilter && <DataViewsFilters /> }\n\t\t\t\t<DataViewsLayout />\n\t\t\t\t<DataviewsPagination />\n\t\t\t\t<DataViewsBulkActionsToolbar />\n\t\t\t</div>\n\t\t</DataViewsContext.Provider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_element","_dataviewsBulkActions","_interopRequireDefault","_dataviewsBulkActionsToolbar","_dataviewsContext","_dataviewsFilters","_interopRequireWildcard","_dataviewsLayout","_dataviewsPagination","_dataviewsSearch","_dataviewsViewConfig","_normalizeFields","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","defaultGetItemId","item","id","DataViews","view","onChangeView","fields","search","searchLabel","undefined","actions","data","getItemId","isLoading","paginationInfo","defaultLayouts","selection","selectionProperty","onChangeSelection","header","selectionState","setSelectionState","useState","density","setDensity","isUncontrolled","openedFilter","setOpenedFilter","setSelectionWithChange","value","newValue","_fields","useMemo","normalizeFields","_selection","filter","some","filters","useFilters","isShowingFilter","setIsShowingFilter","isPrimary","jsx","Provider","children","jsxs","className","__experimentalHStack","alignment","justify","spacing","expanded","label","FilterVisibilityToggle","style","flexShrink"],"sources":["@wordpress/dataviews/src/components/dataviews/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { default as DataViewsBulkActions } from '../dataviews-bulk-actions';\nimport DataViewsBulkActionsToolbar from '../dataviews-bulk-actions-toolbar';\nimport DataViewsContext from '../dataviews-context';\nimport {\n\tdefault as DataViewsFilters,\n\tuseFilters,\n\tFilterVisibilityToggle,\n} from '../dataviews-filters';\nimport DataViewsLayout from '../dataviews-layout';\nimport DataviewsPagination from '../dataviews-pagination';\nimport DataViewsSearch from '../dataviews-search';\nimport DataViewsViewConfig from '../dataviews-view-config';\nimport { normalizeFields } from '../../normalize-fields';\nimport type { Action, Field, View, SupportedLayouts } from '../../types';\nimport type { SelectionOrUpdater } from '../../private-types';\n\ntype ItemWithId = { id: string };\n\ntype DataViewsProps< Item > = {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tfields: Field< Item >[];\n\tsearch?: boolean;\n\tsearchLabel?: string;\n\tactions?: Action< Item >[];\n\tdata: Item[];\n\tisLoading?: boolean;\n\tpaginationInfo: {\n\t\ttotalItems: number;\n\t\ttotalPages: number;\n\t};\n\tdefaultLayouts: SupportedLayouts;\n\tselection?: string[];\n\tonChangeSelection?: ( items: string[] ) => void;\n\theader?: ReactNode;\n} & ( Item extends ItemWithId\n\t? { getItemId?: ( item: Item ) => string }\n\t: { getItemId: ( item: Item ) => string } );\n\nconst defaultGetItemId = ( item: ItemWithId ) => item.id;\n\nexport default function DataViews< Item >( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions = [],\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tisLoading = false,\n\tpaginationInfo,\n\tdefaultLayouts,\n\tselection: selectionProperty,\n\tonChangeSelection,\n\theader,\n}: DataViewsProps< Item > ) {\n\tconst [ selectionState, setSelectionState ] = useState< string[] >( [] );\n\tconst [ density, setDensity ] = useState< number >( 0 );\n\tconst isUncontrolled =\n\t\tselectionProperty === undefined || onChangeSelection === undefined;\n\tconst selection = isUncontrolled ? selectionState : selectionProperty;\n\tconst [ openedFilter, setOpenedFilter ] = useState< string | null >( null );\n\tfunction setSelectionWithChange( value: SelectionOrUpdater ) {\n\t\tconst newValue =\n\t\t\ttypeof value === 'function' ? value( selection ) : value;\n\t\tif ( isUncontrolled ) {\n\t\t\tsetSelectionState( newValue );\n\t\t}\n\t\tif ( onChangeSelection ) {\n\t\t\tonChangeSelection( newValue );\n\t\t}\n\t}\n\tconst _fields = useMemo( () => normalizeFields( fields ), [ fields ] );\n\tconst _selection = useMemo( () => {\n\t\treturn selection.filter( ( id ) =>\n\t\t\tdata.some( ( item ) => getItemId( item ) === id )\n\t\t);\n\t}, [ selection, data, getItemId ] );\n\n\tconst filters = useFilters( _fields, view );\n\tconst [ isShowingFilter, setIsShowingFilter ] = useState< boolean >( () =>\n\t\t( filters || [] ).some( ( filter ) => filter.isPrimary )\n\t);\n\n\treturn (\n\t\t<DataViewsContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tview,\n\t\t\t\tonChangeView,\n\t\t\t\tfields: _fields,\n\t\t\t\tactions,\n\t\t\t\tdata,\n\t\t\t\tisLoading,\n\t\t\t\tpaginationInfo,\n\t\t\t\tselection: _selection,\n\t\t\t\tonChangeSelection: setSelectionWithChange,\n\t\t\t\topenedFilter,\n\t\t\t\tsetOpenedFilter,\n\t\t\t\tgetItemId,\n\t\t\t\tdensity,\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-wrapper\">\n\t\t\t\t<HStack\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\tclassName=\"dataviews__view-actions\"\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tclassName=\"dataviews__search\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ search && <DataViewsSearch label={ searchLabel } /> }\n\t\t\t\t\t\t<FilterVisibilityToggle\n\t\t\t\t\t\t\tfilters={ filters }\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\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\tsetIsShowingFilter={ setIsShowingFilter }\n\t\t\t\t\t\t\tisShowingFilter={ isShowingFilter }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tstyle={ { flexShrink: 0 } }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DataViewsBulkActions />\n\t\t\t\t\t\t<DataViewsViewConfig\n\t\t\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t\t\t\tdensity={ density }\n\t\t\t\t\t\t\tsetDensity={ setDensity }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ header }\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t\t{ isShowingFilter && <DataViewsFilters /> }\n\t\t\t\t<DataViewsLayout />\n\t\t\t\t<DataviewsPagination />\n\t\t\t\t<DataViewsBulkActionsToolbar />\n\t\t\t</div>\n\t\t</DataViewsContext.Provider>\n\t);\n}\n"],"mappings":";;;;;;;AAQA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,qBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,4BAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,iBAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,iBAAA,GAAAC,uBAAA,CAAAP,OAAA;AAKA,IAAAQ,gBAAA,GAAAL,sBAAA,CAAAH,OAAA;AACA,IAAAS,oBAAA,GAAAN,sBAAA,CAAAH,OAAA;AACA,IAAAU,gBAAA,GAAAP,sBAAA,CAAAH,OAAA;AACA,IAAAW,oBAAA,GAAAR,sBAAA,CAAAH,OAAA;AACA,IAAAY,gBAAA,GAAAZ,OAAA;AAAyD,IAAAa,WAAA,GAAAb,OAAA;AAAA,SAAAc,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AA1BzD;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;;AAwCA,MAAMW,gBAAgB,GAAKC,IAAgB,IAAMA,IAAI,CAACC,EAAE;AAEzC,SAASC,SAASA,CAAU;EAC1CC,IAAI;EACJC,YAAY;EACZC,MAAM;EACNC,MAAM,GAAG,IAAI;EACbC,WAAW,GAAGC,SAAS;EACvBC,OAAO,GAAG,EAAE;EACZC,IAAI;EACJC,SAAS,GAAGZ,gBAAgB;EAC5Ba,SAAS,GAAG,KAAK;EACjBC,cAAc;EACdC,cAAc;EACdC,SAAS,EAAEC,iBAAiB;EAC5BC,iBAAiB;EACjBC;AACuB,CAAC,EAAG;EAC3B,MAAM,CAAEC,cAAc,EAAEC,iBAAiB,CAAE,GAAG,IAAAC,iBAAQ,EAAc,EAAG,CAAC;EACxE,MAAM,CAAEC,OAAO,EAAEC,UAAU,CAAE,GAAG,IAAAF,iBAAQ,EAAY,CAAE,CAAC;EACvD,MAAMG,cAAc,GACnBR,iBAAiB,KAAKR,SAAS,IAAIS,iBAAiB,KAAKT,SAAS;EACnE,MAAMO,SAAS,GAAGS,cAAc,GAAGL,cAAc,GAAGH,iBAAiB;EACrE,MAAM,CAAES,YAAY,EAAEC,eAAe,CAAE,GAAG,IAAAL,iBAAQ,EAAmB,IAAK,CAAC;EAC3E,SAASM,sBAAsBA,CAAEC,KAAyB,EAAG;IAC5D,MAAMC,QAAQ,GACb,OAAOD,KAAK,KAAK,UAAU,GAAGA,KAAK,CAAEb,SAAU,CAAC,GAAGa,KAAK;IACzD,IAAKJ,cAAc,EAAG;MACrBJ,iBAAiB,CAAES,QAAS,CAAC;IAC9B;IACA,IAAKZ,iBAAiB,EAAG;MACxBA,iBAAiB,CAAEY,QAAS,CAAC;IAC9B;EACD;EACA,MAAMC,OAAO,GAAG,IAAAC,gBAAO,EAAE,MAAM,IAAAC,gCAAe,EAAE3B,MAAO,CAAC,EAAE,CAAEA,MAAM,CAAG,CAAC;EACtE,MAAM4B,UAAU,GAAG,IAAAF,gBAAO,EAAE,MAAM;IACjC,OAAOhB,SAAS,CAACmB,MAAM,CAAIjC,EAAE,IAC5BS,IAAI,CAACyB,IAAI,CAAInC,IAAI,IAAMW,SAAS,CAAEX,IAAK,CAAC,KAAKC,EAAG,CACjD,CAAC;EACF,CAAC,EAAE,CAAEc,SAAS,EAAEL,IAAI,EAAEC,SAAS,CAAG,CAAC;EAEnC,MAAMyB,OAAO,GAAG,IAAAC,4BAAU,EAAEP,OAAO,EAAE3B,IAAK,CAAC;EAC3C,MAAM,CAAEmC,eAAe,EAAEC,kBAAkB,CAAE,GAAG,IAAAlB,iBAAQ,EAAa,MACpE,CAAEe,OAAO,IAAI,EAAE,EAAGD,IAAI,CAAID,MAAM,IAAMA,MAAM,CAACM,SAAU,CACxD,CAAC;EAED,oBACC,IAAA9D,WAAA,CAAA+D,GAAA,EAACvE,iBAAA,CAAAe,OAAgB,CAACyD,QAAQ;IACzBd,KAAK,EAAG;MACPzB,IAAI;MACJC,YAAY;MACZC,MAAM,EAAEyB,OAAO;MACfrB,OAAO;MACPC,IAAI;MACJE,SAAS;MACTC,cAAc;MACdE,SAAS,EAAEkB,UAAU;MACrBhB,iBAAiB,EAAEU,sBAAsB;MACzCF,YAAY;MACZC,eAAe;MACff,SAAS;MACTW;IACD,CAAG;IAAAqB,QAAA,eAEH,IAAAjE,WAAA,CAAAkE,IAAA;MAAKC,SAAS,EAAC,mBAAmB;MAAAF,QAAA,gBACjC,IAAAjE,WAAA,CAAAkE,IAAA,EAAChF,WAAA,CAAAkF,oBAAM;QACNC,SAAS,EAAC,KAAK;QACfC,OAAO,EAAC,eAAe;QACvBH,SAAS,EAAC,yBAAyB;QACnCI,OAAO,EAAG,CAAG;QAAAN,QAAA,gBAEb,IAAAjE,WAAA,CAAAkE,IAAA,EAAChF,WAAA,CAAAkF,oBAAM;UACNE,OAAO,EAAC,OAAO;UACfE,QAAQ,EAAG,KAAO;UAClBL,SAAS,EAAC,mBAAmB;UAAAF,QAAA,GAE3BrC,MAAM,iBAAI,IAAA5B,WAAA,CAAA+D,GAAA,EAAClE,gBAAA,CAAAU,OAAe;YAACkE,KAAK,EAAG5C;UAAa,CAAE,CAAC,eACrD,IAAA7B,WAAA,CAAA+D,GAAA,EAACtE,iBAAA,CAAAiF,sBAAsB;YACtBhB,OAAO,EAAGA,OAAS;YACnBjC,IAAI,EAAGA,IAAM;YACbC,YAAY,EAAGA,YAAc;YAC7BsB,eAAe,EAAGA,eAAiB;YACnCa,kBAAkB,EAAGA,kBAAoB;YACzCD,eAAe,EAAGA;UAAiB,CACnC,CAAC;QAAA,CACK,CAAC,eACT,IAAA5D,WAAA,CAAAkE,IAAA,EAAChF,WAAA,CAAAkF,oBAAM;UACNG,OAAO,EAAG,CAAG;UACbC,QAAQ,EAAG,KAAO;UAClBG,KAAK,EAAG;YAAEC,UAAU,EAAE;UAAE,CAAG;UAAAX,QAAA,gBAE3B,IAAAjE,WAAA,CAAA+D,GAAA,EAAC1E,qBAAA,CAAAkB,OAAoB,IAAE,CAAC,eACxB,IAAAP,WAAA,CAAA+D,GAAA,EAACjE,oBAAA,CAAAS,OAAmB;YACnB6B,cAAc,EAAGA,cAAgB;YACjCQ,OAAO,EAAGA,OAAS;YACnBC,UAAU,EAAGA;UAAY,CACzB,CAAC,EACAL,MAAM;QAAA,CACD,CAAC;MAAA,CACF,CAAC,EACPoB,eAAe,iBAAI,IAAA5D,WAAA,CAAA+D,GAAA,EAACtE,iBAAA,CAAAc,OAAgB,IAAE,CAAC,eACzC,IAAAP,WAAA,CAAA+D,GAAA,EAACpE,gBAAA,CAAAY,OAAe,IAAE,CAAC,eACnB,IAAAP,WAAA,CAAA+D,GAAA,EAACnE,oBAAA,CAAAW,OAAmB,IAAE,CAAC,eACvB,IAAAP,WAAA,CAAA+D,GAAA,EAACxE,4BAAA,CAAAgB,OAA2B,IAAE,CAAC;IAAA,CAC3B;EAAC,CACoB,CAAC;AAE9B","ignoreList":[]}
@@ -78,6 +78,9 @@ function FilterVisibilityToggle({
78
78
  }, [onChangeView, setIsShowingFilter]);
79
79
  const visibleFilters = filters.filter(filter => filter.isVisible);
80
80
  const hasVisibleFilters = !!visibleFilters.length;
81
+ if (filters.length === 0) {
82
+ return null;
83
+ }
81
84
  if (!hasVisibleFilters) {
82
85
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_addFilter.AddFilterDropdownMenu, {
83
86
  filters: filters,
@@ -1 +1 @@
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 ( ! 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":";;;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,cAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,UAAA,GAAAC,uBAAA,CAAAP,OAAA;AACA,IAAAQ,aAAA,GAAAH,sBAAA,CAAAL,OAAA;AACA,IAAAS,iBAAA,GAAAJ,sBAAA,CAAAL,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AAA8E,IAAAY,WAAA,GAAAZ,OAAA;AAAA,SAAAa,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAtB9E;AACA;AACA;;AAYA;AACA;AACA;;AASO,SAASW,UAAUA,CAAEC,MAAgC,EAAEC,IAAU,EAAG;EAC1E,OAAO,IAAAC,gBAAO,EAAE,MAAM;IACrB,MAAMC,OAA2B,GAAG,EAAE;IACtCH,MAAM,CAACI,OAAO,CAAIC,KAAK,IAAM;MAC5B,IAAK,CAAEA,KAAK,CAACC,QAAQ,EAAEC,MAAM,EAAG;QAC/B;MACD;MAEA,MAAMC,SAAS,GAAG,IAAAC,wBAAiB,EAAEJ,KAAM,CAAC;MAC5C,IAAKG,SAAS,CAACD,MAAM,KAAK,CAAC,EAAG;QAC7B;MACD;MAEA,MAAMG,SAAS,GAAG,CAAC,CAAEL,KAAK,CAACM,QAAQ,EAAED,SAAS;MAC9CP,OAAO,CAACS,IAAI,CAAE;QACbP,KAAK,EAAEA,KAAK,CAACQ,EAAE;QACfC,IAAI,EAAET,KAAK,CAACU,KAAK;QACjBT,QAAQ,EAAED,KAAK,CAACC,QAAQ;QACxBU,eAAe,EAAER,SAAS,CAACS,IAAI,CAAIC,EAAE,IACpC,CAAEC,sBAAW,EAAEC,0BAAe,CAAE,CAACC,QAAQ,CAAEH,EAAG,CAC/C,CAAC;QACDV,SAAS;QACTc,SAAS,EACRZ,SAAS,IACT,CAAC,CAAET,IAAI,CAACE,OAAO,EAAEc,IAAI,CAClBM,CAAC,IACFA,CAAC,CAAClB,KAAK,KAAKA,KAAK,CAACQ,EAAE,IACpBW,wBAAa,CAACH,QAAQ,CAAEE,CAAC,CAACE,QAAS,CACrC,CAAC;QACFf;MACD,CAAE,CAAC;IACJ,CAAE,CAAC;IACH;IACA;IACAP,OAAO,CAACuB,IAAI,CAAE,CAAEpC,CAAC,EAAEqC,CAAC,KAAM;MACzB,IAAKrC,CAAC,CAACoB,SAAS,IAAI,CAAEiB,CAAC,CAACjB,SAAS,EAAG;QACnC,OAAO,CAAC,CAAC;MACV;MACA,IAAK,CAAEpB,CAAC,CAACoB,SAAS,IAAIiB,CAAC,CAACjB,SAAS,EAAG;QACnC,OAAO,CAAC;MACT;MACA,OAAOpB,CAAC,CAACwB,IAAI,CAACc,aAAa,CAAED,CAAC,CAACb,IAAK,CAAC;IACtC,CAAE,CAAC;IACH,OAAOX,OAAO;EACf,CAAC,EAAE,CAAEH,MAAM,EAAEC,IAAI,CAAG,CAAC;AACtB;AAEO,SAAS4B,sBAAsBA,CAAE;EACvC1B,OAAO;EACPF,IAAI;EACJ6B,YAAY;EACZC,eAAe;EACfC,eAAe;EACfC;AAQD,CAAC,EAAG;EACH,MAAMC,gCAAgC,GAAG,IAAAC,oBAAW,EACjDC,KAAW,IAAM;IAClBN,YAAY,CAAEM,KAAM,CAAC;IACrBH,kBAAkB,CAAE,IAAK,CAAC;EAC3B,CAAC,EACD,CAAEH,YAAY,EAAEG,kBAAkB,CACnC,CAAC;EACD,MAAMI,cAAc,GAAGlC,OAAO,CAACmC,MAAM,CAAIA,MAAM,IAAMA,MAAM,CAAChB,SAAU,CAAC;EAEvE,MAAMiB,iBAAiB,GAAG,CAAC,CAAEF,cAAc,CAAC9B,MAAM;EAClD,IAAK,CAAEgC,iBAAiB,EAAG;IAC1B,oBACC,IAAA7D,WAAA,CAAA8D,GAAA,EAACpE,UAAA,CAAAqE,qBAAqB;MACrBtC,OAAO,EAAGA,OAAS;MACnBF,IAAI,EAAGA,IAAM;MACb6B,YAAY,EAAGI,gCAAkC;MACjDH,eAAe,EAAGA,eAAiB;MACnCW,OAAO,eACN,IAAAhE,WAAA,CAAA8D,GAAA,EAACzE,WAAA,CAAA4E,MAAM;QACNC,SAAS,EAAC,sCAAsC;QAChDC,IAAI,EAAC,SAAS;QACdC,IAAI,EAAGC,aAAQ;QACfhC,KAAK,EAAG,IAAAiC,QAAE,EAAE,YAAa,CAAG;QAC5BC,SAAS,EAAG,KAAO;QACnB,iBAAgB;MAAO,CACvB;IACD,CACD,CAAC;EAEJ;EACA,oBACC,IAAAvE,WAAA,CAAAwE,IAAA;IAAKN,SAAS,EAAC,gDAAgD;IAAAO,QAAA,gBAC9D,IAAAzE,WAAA,CAAA8D,GAAA,EAACzE,WAAA,CAAA4E,MAAM;MACNC,SAAS,EAAC,sCAAsC;MAChDC,IAAI,EAAC,SAAS;MACdC,IAAI,EAAGC,aAAQ;MACfhC,KAAK,EAAG,IAAAiC,QAAE,EAAE,uBAAwB,CAAG;MACvCI,OAAO,EAAGA,CAAA,KAAM;QACf,IAAK,CAAEpB,eAAe,EAAG;UACxBD,eAAe,CAAE,IAAK,CAAC;QACxB;QACAE,kBAAkB,CAAE,CAAED,eAAgB,CAAC;MACxC,CAAG;MACHiB,SAAS,EAAGjB,eAAiB;MAC7B,iBAAgBA;IAAiB,CACjC,CAAC,EACAO,iBAAiB,IAAI,CAAC,CAAEtC,IAAI,CAACE,OAAO,EAAEI,MAAM,iBAC7C,IAAA7B,WAAA,CAAA8D,GAAA;MAAMI,SAAS,EAAC,iCAAiC;MAAAO,QAAA,EAC9ClD,IAAI,CAACE,OAAO,EAAEI;IAAM,CACjB,CACN;EAAA,CACG,CAAC;AAER;AAEA,SAAS8C,OAAOA,CAAA,EAAG;EAClB,MAAM;IAAErD,MAAM;IAAEC,IAAI;IAAE6B,YAAY;IAAEwB,YAAY;IAAEvB;EAAgB,CAAC,GAClE,IAAAwB,mBAAU,EAAEC,yBAAiB,CAAC;EAC/B,MAAMC,YAAY,GAAG,IAAAC,eAAM,EAAuB,IAAK,CAAC;EACxD,MAAMvD,OAAO,GAAGJ,UAAU,CAAEC,MAAM,EAAEC,IAAK,CAAC;EAC1C,MAAM0D,SAAS,gBACd,IAAAjF,WAAA,CAAA8D,GAAA,EAACpE,UAAA,CAAAa,OAAS;IAETkB,OAAO,EAAGA,OAAS;IACnBF,IAAI,EAAGA,IAAM;IACb6B,YAAY,EAAGA,YAAc;IAC7B8B,GAAG,EAAGH,YAAc;IACpB1B,eAAe,EAAGA;EAAiB,GAL/B,YAMJ,CACD;EACD,MAAMM,cAAc,GAAGlC,OAAO,CAACmC,MAAM,CAAIA,MAAM,IAAMA,MAAM,CAAChB,SAAU,CAAC;EACvE,IAAKe,cAAc,CAAC9B,MAAM,KAAK,CAAC,EAAG;IAClC,OAAO,IAAI;EACZ;EACA,MAAMsD,gBAAgB,GAAG,CACxB,GAAGxB,cAAc,CAACyB,GAAG,CAAIxB,MAAM,IAAM;IACpC,oBACC,IAAA5D,WAAA,CAAA8D,GAAA,EAACtE,cAAA,CAAAe,OAAa;MAEbqD,MAAM,EAAGA,MAAQ;MACjBrC,IAAI,EAAGA,IAAM;MACb6B,YAAY,EAAGA,YAAc;MAC7B2B,YAAY,EAAGA,YAAc;MAC7BH,YAAY,EAAGA;IAAc,GALvBhB,MAAM,CAACjC,KAMb,CAAC;EAEJ,CAAE,CAAC,EACHsD,SAAS,CACT;EAEDE,gBAAgB,CAACjD,IAAI,eACpB,IAAAlC,WAAA,CAAA8D,GAAA,EAAClE,aAAA,CAAAW,OAAY;IAEZkB,OAAO,EAAGA,OAAS;IACnBF,IAAI,EAAGA,IAAM;IACb6B,YAAY,EAAGA;EAAc,GAHzB,eAIJ,CACF,CAAC;EAED,oBACC,IAAApD,WAAA,CAAA8D,GAAA,EAACzE,WAAA,CAAAgG,oBAAM;IACNC,OAAO,EAAC,YAAY;IACpBC,KAAK,EAAG;MAAEC,KAAK,EAAE;IAAc,CAAG;IAClCtB,SAAS,EAAC,8BAA8B;IACxCuB,IAAI;IAAAhB,QAAA,EAEFU;EAAgB,CACX,CAAC;AAEX;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAApF,OAAA,GAEc,IAAAqF,aAAI,EAAEjB,OAAQ,CAAC","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":[]}
@@ -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":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAKA,IAAAI,iBAAA,GAAAC,sBAAA,CAAAL,OAAA;AAAoD,IAAAM,WAAA,GAAAN,OAAA;AAfpD;AACA;AACA;;AAUA;AACA;AACA;;AAGA,SAASO,mBAAmBA,CAAA,EAAG;EAAA,IAAAC,UAAA;EAC9B,MAAM;IACLC,IAAI;IACJC,YAAY;IACZC,cAAc,EAAE;MAAEC,UAAU,GAAG,CAAC;MAAEC;IAAW;EAC9C,CAAC,GAAG,IAAAC,mBAAU,EAAEC,yBAAiB,CAAC;EAElC,IAAK,CAAEH,UAAU,IAAI,CAAEC,UAAU,EAAG;IACnC,OAAO,IAAI;EACZ;EAEA,MAAMG,WAAW,IAAAR,UAAA,GAAGC,IAAI,CAACQ,IAAI,cAAAT,UAAA,cAAAA,UAAA,GAAI,CAAC;EAClC,MAAMU,iBAAiB,GAAGC,KAAK,CAACC,IAAI,CAAED,KAAK,CAAEN,UAAW,CAAE,CAAC,CAACQ,GAAG,CAC9D,CAAEC,CAAC,EAAEC,CAAC,KAAM;IACX,MAAMN,IAAI,GAAGM,CAAC,GAAG,CAAC;IAClB,OAAO;MACNC,KAAK,EAAEP,IAAI,CAACQ,QAAQ,CAAC,CAAC;MACtBC,KAAK,EAAET,IAAI,CAACQ,QAAQ,CAAC,CAAC;MACtB,YAAY,EACXT,WAAW,KAAKC,IAAI,GACjB,IAAAU,aAAO;MACP;MACA,IAAAC,QAAE,EAAE,mBAAoB,CAAC,EACzBZ,WAAW,EACXH,UACA,CAAC,GACDI,IAAI,CAACQ,QAAQ,CAAC;IACnB,CAAC;EACF,CACD,CAAC;EAED,OACC,CAAC,CAAEb,UAAU,IACbC,UAAU,KAAK,CAAC,iBACf,IAAAP,WAAA,CAAAuB,IAAA,EAAC9B,WAAA,CAAA+B,oBAAM;IACNC,QAAQ,EAAG,KAAO;IAClBC,OAAO,EAAG,CAAG;IACbC,OAAO,EAAC,KAAK;IACbC,SAAS,EAAC,sBAAsB;IAAAC,QAAA,gBAEhC,IAAA7B,WAAA,CAAA8B,GAAA,EAACrC,WAAA,CAAA+B,oBAAM;MACNG,OAAO,EAAC,YAAY;MACpBF,QAAQ,EAAG,KAAO;MAClBC,OAAO,EAAG,CAAG;MACbE,SAAS,EAAC,mCAAmC;MAAAC,QAAA,EAE3C,IAAAE,iCAAwB,EACzB,IAAAV,aAAO;MACN;MACA,IAAAW,QAAE,EACD,uCAAuC,EACvC,QACD,CAAC,EACD,iBAAiB,EACjBzB,UACD,CAAC,EACD;QACC0B,GAAG,eAAE,IAAAjC,WAAA,CAAA8B,GAAA;UAAK;QAAW,CAAE,CAAC;QACxBI,WAAW,eACV,IAAAlC,WAAA,CAAA8B,GAAA,EAACrC,WAAA,CAAA0C,aAAa;UACb,cAAa,IAAAb,QAAE,EAAE,cAAe,CAAG;UACnCJ,KAAK,EAAGR,WAAW,CAACS,QAAQ,CAAC,CAAG;UAChCiB,OAAO,EAAGxB,iBAAmB;UAC7ByB,QAAQ,EAAKC,QAAQ,IAAM;YAC1BlC,YAAY,CAAE;cACb,GAAGD,IAAI;cACPQ,IAAI,EAAE,CAAC2B;YACR,CAAE,CAAC;UACJ,CAAG;UACHC,IAAI,EAAC,OAAO;UACZC,uBAAuB;UACvBC,OAAO,EAAC;QAAS,CACjB;MAEH,CACD;IAAC,CACM,CAAC,eACT,IAAAzC,WAAA,CAAAuB,IAAA,EAAC9B,WAAA,CAAA+B,oBAAM;MAACC,QAAQ,EAAG,KAAO;MAACC,OAAO,EAAG,CAAG;MAAAG,QAAA,gBACvC,IAAA7B,WAAA,CAAA8B,GAAA,EAACrC,WAAA,CAAAiD,MAAM;QACNC,OAAO,EAAGA,CAAA,KACTvC,YAAY,CAAE;UACb,GAAGD,IAAI;UACPQ,IAAI,EAAED,WAAW,GAAG;QACrB,CAAE,CACF;QACDkC,QAAQ,EAAGlC,WAAW,KAAK,CAAG;QAC9BmC,sBAAsB;QACtBzB,KAAK,EAAG,IAAAE,QAAE,EAAE,eAAgB,CAAG;QAC/BwB,IAAI,EAAGC,eAAU;QACjBC,WAAW;QACXT,IAAI,EAAC,SAAS;QACdU,eAAe,EAAC;MAAK,CACrB,CAAC,eACF,IAAAjD,WAAA,CAAA8B,GAAA,EAACrC,WAAA,CAAAiD,MAAM;QACNC,OAAO,EAAGA,CAAA,KACTvC,YAAY,CAAE;UAAE,GAAGD,IAAI;UAAEQ,IAAI,EAAED,WAAW,GAAG;QAAE,CAAE,CACjD;QACDkC,QAAQ,EAAGlC,WAAW,IAAIH,UAAY;QACtCsC,sBAAsB;QACtBzB,KAAK,EAAG,IAAAE,QAAE,EAAE,WAAY,CAAG;QAC3BwB,IAAI,EAAGI,WAAM;QACbF,WAAW;QACXT,IAAI,EAAC,SAAS;QACdU,eAAe,EAAC;MAAK,CACrB,CAAC;IAAA,CACK,CAAC;EAAA,CACF,CACR;AAEH;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,aAAI,EAAErD,mBAAoB,CAAC","ignoreList":[]}