@wordpress/dataviews 5.0.1-next.719a03cbe.0 → 6.0.1-next.46f643fa0.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 (219) hide show
  1. package/CHANGELOG.md +21 -4
  2. package/README.md +46 -23
  3. package/build/components/dataviews/index.js +2 -1
  4. package/build/components/dataviews/index.js.map +1 -1
  5. package/build/components/dataviews-context/index.js +1 -0
  6. package/build/components/dataviews-context/index.js.map +1 -1
  7. package/build/components/dataviews-filters/filter.js +2 -2
  8. package/build/components/dataviews-filters/filter.js.map +1 -1
  9. package/build/components/dataviews-filters/input-widget.js +7 -1
  10. package/build/components/dataviews-filters/input-widget.js.map +1 -1
  11. package/build/dataform-controls/boolean.js +15 -1
  12. package/build/dataform-controls/boolean.js.map +1 -1
  13. package/build/dataform-controls/date.js +385 -0
  14. package/build/dataform-controls/date.js.map +1 -0
  15. package/build/dataform-controls/datetime.js +5 -84
  16. package/build/dataform-controls/datetime.js.map +1 -1
  17. package/build/dataform-controls/email.js +15 -1
  18. package/build/dataform-controls/email.js.map +1 -1
  19. package/build/dataform-controls/index.js +2 -0
  20. package/build/dataform-controls/index.js.map +1 -1
  21. package/build/dataform-controls/integer.js +23 -4
  22. package/build/dataform-controls/integer.js.map +1 -1
  23. package/build/dataform-controls/relative-date-control.js +109 -0
  24. package/build/dataform-controls/relative-date-control.js.map +1 -0
  25. package/build/dataform-controls/text.js +15 -1
  26. package/build/dataform-controls/text.js.map +1 -1
  27. package/build/dataviews-layouts/grid/index.js +88 -16
  28. package/build/dataviews-layouts/grid/index.js.map +1 -1
  29. package/build/dataviews-layouts/grid/preview-size-picker.js +39 -85
  30. package/build/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
  31. package/build/dataviews-layouts/list/index.js +4 -1
  32. package/build/dataviews-layouts/list/index.js.map +1 -1
  33. package/build/dataviews-layouts/table/column-primary.js +4 -1
  34. package/build/dataviews-layouts/table/column-primary.js.map +1 -1
  35. package/build/dataviews-layouts/table/index.js +9 -2
  36. package/build/dataviews-layouts/table/index.js.map +1 -1
  37. package/build/field-types/array.js +27 -18
  38. package/build/field-types/array.js.map +1 -1
  39. package/build/field-types/boolean.js +11 -7
  40. package/build/field-types/boolean.js.map +1 -1
  41. package/build/field-types/date.js +66 -0
  42. package/build/field-types/date.js.map +1 -0
  43. package/build/field-types/datetime.js +19 -10
  44. package/build/field-types/datetime.js.map +1 -1
  45. package/build/field-types/email.js +22 -18
  46. package/build/field-types/email.js.map +1 -1
  47. package/build/field-types/index.js +20 -6
  48. package/build/field-types/index.js.map +1 -1
  49. package/build/field-types/integer.js +22 -17
  50. package/build/field-types/integer.js.map +1 -1
  51. package/build/field-types/media.js +19 -10
  52. package/build/field-types/media.js.map +1 -1
  53. package/build/field-types/text.js +19 -10
  54. package/build/field-types/text.js.map +1 -1
  55. package/build/filter-and-sort-data-view.js +28 -14
  56. package/build/filter-and-sort-data-view.js.map +1 -1
  57. package/build/normalize-fields.js +4 -5
  58. package/build/normalize-fields.js.map +1 -1
  59. package/build/types.js.map +1 -1
  60. package/build/validation.js +15 -2
  61. package/build/validation.js.map +1 -1
  62. package/build-module/components/dataviews/index.js +3 -2
  63. package/build-module/components/dataviews/index.js.map +1 -1
  64. package/build-module/components/dataviews-context/index.js +1 -0
  65. package/build-module/components/dataviews-context/index.js.map +1 -1
  66. package/build-module/components/dataviews-filters/filter.js +2 -2
  67. package/build-module/components/dataviews-filters/filter.js.map +1 -1
  68. package/build-module/components/dataviews-filters/input-widget.js +7 -1
  69. package/build-module/components/dataviews-filters/input-widget.js.map +1 -1
  70. package/build-module/dataform-controls/boolean.js +17 -2
  71. package/build-module/dataform-controls/boolean.js.map +1 -1
  72. package/build-module/dataform-controls/date.js +376 -0
  73. package/build-module/dataform-controls/date.js.map +1 -0
  74. package/build-module/dataform-controls/datetime.js +3 -84
  75. package/build-module/dataform-controls/datetime.js.map +1 -1
  76. package/build-module/dataform-controls/email.js +17 -2
  77. package/build-module/dataform-controls/email.js.map +1 -1
  78. package/build-module/dataform-controls/index.js +2 -0
  79. package/build-module/dataform-controls/index.js.map +1 -1
  80. package/build-module/dataform-controls/integer.js +24 -5
  81. package/build-module/dataform-controls/integer.js.map +1 -1
  82. package/build-module/dataform-controls/relative-date-control.js +100 -0
  83. package/build-module/dataform-controls/relative-date-control.js.map +1 -0
  84. package/build-module/dataform-controls/text.js +17 -2
  85. package/build-module/dataform-controls/text.js.map +1 -1
  86. package/build-module/dataviews-layouts/grid/index.js +90 -18
  87. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  88. package/build-module/dataviews-layouts/grid/preview-size-picker.js +40 -85
  89. package/build-module/dataviews-layouts/grid/preview-size-picker.js.map +1 -1
  90. package/build-module/dataviews-layouts/list/index.js +4 -1
  91. package/build-module/dataviews-layouts/list/index.js.map +1 -1
  92. package/build-module/dataviews-layouts/table/column-primary.js +4 -1
  93. package/build-module/dataviews-layouts/table/column-primary.js.map +1 -1
  94. package/build-module/dataviews-layouts/table/index.js +9 -2
  95. package/build-module/dataviews-layouts/table/index.js.map +1 -1
  96. package/build-module/field-types/array.js +27 -18
  97. package/build-module/field-types/array.js.map +1 -1
  98. package/build-module/field-types/boolean.js +11 -7
  99. package/build-module/field-types/boolean.js.map +1 -1
  100. package/build-module/field-types/date.js +60 -0
  101. package/build-module/field-types/date.js.map +1 -0
  102. package/build-module/field-types/datetime.js +19 -10
  103. package/build-module/field-types/datetime.js.map +1 -1
  104. package/build-module/field-types/email.js +22 -18
  105. package/build-module/field-types/email.js.map +1 -1
  106. package/build-module/field-types/index.js +20 -6
  107. package/build-module/field-types/index.js.map +1 -1
  108. package/build-module/field-types/integer.js +22 -17
  109. package/build-module/field-types/integer.js.map +1 -1
  110. package/build-module/field-types/media.js +19 -10
  111. package/build-module/field-types/media.js.map +1 -1
  112. package/build-module/field-types/text.js +19 -10
  113. package/build-module/field-types/text.js.map +1 -1
  114. package/build-module/filter-and-sort-data-view.js +28 -14
  115. package/build-module/filter-and-sort-data-view.js.map +1 -1
  116. package/build-module/normalize-fields.js +4 -5
  117. package/build-module/normalize-fields.js.map +1 -1
  118. package/build-module/types.js.map +1 -1
  119. package/build-module/validation.js +15 -2
  120. package/build-module/validation.js.map +1 -1
  121. package/build-style/style-rtl.css +61 -39
  122. package/build-style/style.css +61 -39
  123. package/build-types/components/dataform/stories/index.story.d.ts +21 -0
  124. package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
  125. package/build-types/components/dataviews/index.d.ts.map +1 -1
  126. package/build-types/components/dataviews/stories/fixtures.d.ts +1 -0
  127. package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
  128. package/build-types/components/dataviews/stories/index.story.d.ts +1 -0
  129. package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
  130. package/build-types/components/dataviews-context/index.d.ts +1 -0
  131. package/build-types/components/dataviews-context/index.d.ts.map +1 -1
  132. package/build-types/components/dataviews-filters/input-widget.d.ts.map +1 -1
  133. package/build-types/components/stories/index.story.d.ts +4 -0
  134. package/build-types/components/stories/index.story.d.ts.map +1 -1
  135. package/build-types/constants.d.ts +2 -2
  136. package/build-types/dataform-controls/boolean.d.ts.map +1 -1
  137. package/build-types/dataform-controls/date.d.ts +3 -0
  138. package/build-types/dataform-controls/date.d.ts.map +1 -0
  139. package/build-types/dataform-controls/datetime.d.ts.map +1 -1
  140. package/build-types/dataform-controls/email.d.ts.map +1 -1
  141. package/build-types/dataform-controls/index.d.ts.map +1 -1
  142. package/build-types/dataform-controls/integer.d.ts.map +1 -1
  143. package/build-types/dataform-controls/relative-date-control.d.ts +46 -0
  144. package/build-types/dataform-controls/relative-date-control.d.ts.map +1 -0
  145. package/build-types/dataform-controls/text.d.ts.map +1 -1
  146. package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
  147. package/build-types/dataviews-layouts/grid/preview-size-picker.d.ts +0 -1
  148. package/build-types/dataviews-layouts/grid/preview-size-picker.d.ts.map +1 -1
  149. package/build-types/dataviews-layouts/index.d.ts +3 -3
  150. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  151. package/build-types/dataviews-layouts/table/column-primary.d.ts.map +1 -1
  152. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
  153. package/build-types/field-types/array.d.ts.map +1 -1
  154. package/build-types/field-types/boolean.d.ts +5 -4
  155. package/build-types/field-types/boolean.d.ts.map +1 -1
  156. package/build-types/field-types/date.d.ts +20 -0
  157. package/build-types/field-types/date.d.ts.map +1 -0
  158. package/build-types/field-types/datetime.d.ts +4 -3
  159. package/build-types/field-types/datetime.d.ts.map +1 -1
  160. package/build-types/field-types/email.d.ts +4 -3
  161. package/build-types/field-types/email.d.ts.map +1 -1
  162. package/build-types/field-types/index.d.ts.map +1 -1
  163. package/build-types/field-types/integer.d.ts +4 -3
  164. package/build-types/field-types/integer.d.ts.map +1 -1
  165. package/build-types/field-types/media.d.ts +4 -3
  166. package/build-types/field-types/media.d.ts.map +1 -1
  167. package/build-types/field-types/text.d.ts +4 -3
  168. package/build-types/field-types/text.d.ts.map +1 -1
  169. package/build-types/filter-and-sort-data-view.d.ts.map +1 -1
  170. package/build-types/normalize-fields.d.ts.map +1 -1
  171. package/build-types/types.d.ts +15 -7
  172. package/build-types/types.d.ts.map +1 -1
  173. package/build-types/validation.d.ts.map +1 -1
  174. package/build-wp/index.js +2021 -682
  175. package/package.json +15 -14
  176. package/src/components/dataform/stories/index.story.tsx +228 -2
  177. package/src/components/dataviews/index.tsx +3 -5
  178. package/src/components/dataviews/stories/fixtures.tsx +81 -59
  179. package/src/components/dataviews/stories/index.story.tsx +37 -0
  180. package/src/components/dataviews-context/index.ts +4 -0
  181. package/src/components/dataviews-filters/filter.tsx +2 -2
  182. package/src/components/dataviews-filters/input-widget.tsx +7 -1
  183. package/src/components/dataviews-filters/style.scss +3 -1
  184. package/src/components/stories/index.story.tsx +21 -0
  185. package/src/dataform-controls/boolean.tsx +19 -2
  186. package/src/dataform-controls/date.tsx +499 -0
  187. package/src/dataform-controls/datetime.tsx +5 -91
  188. package/src/dataform-controls/email.tsx +19 -2
  189. package/src/dataform-controls/index.tsx +2 -0
  190. package/src/dataform-controls/integer.tsx +30 -4
  191. package/src/dataform-controls/relative-date-control.tsx +106 -0
  192. package/src/dataform-controls/style.scss +19 -2
  193. package/src/dataform-controls/text.tsx +19 -2
  194. package/src/dataviews-layouts/grid/index.tsx +167 -55
  195. package/src/dataviews-layouts/grid/preview-size-picker.tsx +48 -73
  196. package/src/dataviews-layouts/grid/style.scss +21 -26
  197. package/src/dataviews-layouts/list/index.tsx +5 -1
  198. package/src/dataviews-layouts/list/style.scss +3 -3
  199. package/src/dataviews-layouts/table/column-primary.tsx +5 -1
  200. package/src/dataviews-layouts/table/index.tsx +22 -6
  201. package/src/dataviews-layouts/table/style.scss +22 -0
  202. package/src/field-types/array.tsx +33 -21
  203. package/src/field-types/boolean.tsx +15 -9
  204. package/src/field-types/date.ts +92 -0
  205. package/src/field-types/datetime.tsx +19 -13
  206. package/src/field-types/email.tsx +26 -21
  207. package/src/field-types/index.tsx +23 -8
  208. package/src/field-types/integer.tsx +26 -22
  209. package/src/field-types/media.tsx +19 -13
  210. package/src/field-types/text.tsx +19 -13
  211. package/src/filter-and-sort-data-view.ts +38 -13
  212. package/src/normalize-fields.ts +4 -8
  213. package/src/test/dataviews.tsx +129 -0
  214. package/src/test/filter-and-sort-data-view.js +148 -31
  215. package/src/test/validation.ts +4 -15
  216. package/src/types.ts +17 -7
  217. package/src/validation.ts +30 -1
  218. package/tsconfig.json +1 -0
  219. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -2,7 +2,23 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
- ## 5.0.0-next.0 (2025-07-08)
5
+ ## 6.0.0-next.0 (2025-07-31)
6
+
7
+ ### Breaking changes
8
+
9
+ - Field API: `isValid` is now an object that contains `required` and `custom` validation rules. Additionally, fields should now opt-in into being a "required" field by setting `isValid.required` to `true` (all fields of type `email` and `integer` were required by default). [#70901](https://github.com/WordPress/gutenberg/pull/70901)
10
+
11
+ ### Bug Fixes
12
+
13
+ - Fix `filterSortAndPaginate` to handle searching fields that have a type of `array` ([#70785](https://github.com/WordPress/gutenberg/pull/70785)).
14
+ - Fix user-input filters: empty value for text and integer filters means there's no value to search for (so it returns all items). It also fixes a type conversion where empty strings for integer were converted to 0 [#70956](https://github.com/WordPress/gutenberg/pull/70956/).
15
+
16
+ ### Features
17
+
18
+ - Support Ctrl + Click / Cmd + Click for multiselecting rows in the Table layout ([#70891](https://github.com/WordPress/gutenberg/pull/70891)).
19
+ - Add support for the `Edit` control on the date field type ([#70836](https://github.com/WordPress/gutenberg/pull/70836)).
20
+
21
+ ## 5.0.0 (2025-07-23)
6
22
 
7
23
  ### Bug Fixes
8
24
 
@@ -11,12 +27,12 @@
11
27
 
12
28
  ### Features
13
29
 
30
+ - Add support for grouping items by a field in the `grid` layout by introducing a `groupByField` prop in the View object.
14
31
  - Add support for free composition in the `DataViews` component by exporting subcomponents: `<DataViews.ViewConfig />`, `<DataViews.Search />`, `<DataViews.Pagination />`, `<DataViews.LayoutSwitcher />`, `<DataViews.Layout />`, `<DataViews.FiltersToggle />`, `<DataViews.Filters />`, `<DataViews.BulkActionToolbar />`.
15
32
  - `select`, `text`, `email` controls: add `help` support from the field `description` prop.
16
33
  - `text`, `email` Edit control: add `help` support from the field `description` prop.
17
-
18
34
  - Add new Edit controls: `checkbox`, `toggleGroup`. In the `toggleGroup`, if the field elements (options) have a `description`, then the selected option's description will be also rendered.
19
- - Add new `media`, `boolean`, `email` and `array` field type definitions.
35
+ - Add new `media`, `boolean`, `email`, `array` and `date` field type definitions.
20
36
  - Field type definitions are now able to define a default `enableSorting` and `render` function.
21
37
  - Pin the actions column on the table view when the width is insufficient.
22
38
  - Enhance filter component styles.
@@ -29,7 +45,8 @@
29
45
  - Add `label-position-side` classes to labels in the form field layouts. Ensure that labels in the panel view do not align center, and that all side labels are center aligned.
30
46
  - Allow readonly fields in DataForm when `readOnly` is set to `true`.
31
47
  - Adjust the padding when the component is placed inside a `Card`.
32
- - Introduce `perPageSizes` to control the available sizes of the items per page
48
+ - Introduce `perPageSizes` to control the available sizes of the items per page.
49
+ - Align media styles in table view with list view for consistency.
33
50
 
34
51
  ### Breaking Changes
35
52
 
package/README.md CHANGED
@@ -207,6 +207,7 @@ Properties:
207
207
  - `showMedia`: Whether the media should be shown in the UI. `true` by default.
208
208
  - `showDescription`: Whether the description should be shown in the UI. `true` by default.
209
209
  - `showLevels`: Whether to display the hierarchical levels for the data. `false` by default. See related `getItemLevel` DataView prop.
210
+ - `groupByField`: The id of the field used for grouping the dataset. So far, only the `grid` layout supports grouping.
210
211
  - `fields`: a list of remaining field `id` that are visible in the UI and the specific order in which they are displayed.
211
212
  - `layout`: config that is specific to a particular layout type.
212
213
 
@@ -1054,41 +1055,55 @@ Example:
1054
1055
 
1055
1056
  ### `isValid`
1056
1057
 
1057
- Function to validate a field's value.
1058
+ Object that contains the validation rules for the field. If a rule is not met, the control will be marked as invalid and a message will be displayed.
1058
1059
 
1059
- - Type: function.
1060
- - Optional.
1061
- - Args
1062
- - `item`: the data to validate
1063
- - `context`: an object containing the following props:
1064
- - `elements`: the elements defined by the field
1065
- - Returns a boolean, indicating if the field is valid or not.
1060
+ - `required`: boolean indicating whether the field is required or not.
1061
+ - `custom`: a function that validates a field's value. If the value is invalid, the function should return a string explaining why the value is invalid. Otherwise, the function must return null.
1066
1062
 
1067
1063
  Example:
1068
1064
 
1069
1065
  ```js
1070
- // Custom isValid function.
1071
1066
  {
1072
- isValid: ( item, context ) => {
1073
- return !! item;
1074
- };
1067
+ isValid: {
1068
+ custom: ( item: Item, field: NormalizedField<Item> ) => {
1069
+ if ( /* item value is invalid */) {
1070
+ return 'Reason why item value is invalid';
1071
+ }
1072
+
1073
+ return null;
1074
+ }
1075
+ }
1076
+ }
1077
+ ```
1078
+
1079
+ Note that fields that define a type (e.g., `integer`) come with default validation for the type. For example, the `integer` type if the value is a valid integer:
1080
+
1081
+ ```js
1082
+ {
1083
+ type: 'integer',
1075
1084
  }
1076
1085
  ```
1077
1086
 
1087
+ However, this can be overriden by the field author:
1088
+
1078
1089
  ```js
1079
- // If the field defines a type,
1080
- // it'll get a default isValid function for the type.
1081
1090
  {
1082
- type: 'number',
1091
+ type: 'integer',
1092
+ isValid: {
1093
+ custom: ( item: Item, field: NormalizedField<Item> ) => {
1094
+ /* Your custom validation logic. */
1095
+ }
1096
+ }
1083
1097
  }
1084
1098
  ```
1085
1099
 
1100
+ Fields that define their own Edit component have access to the validation rules via the `field.isValid` object:
1101
+
1086
1102
  ```js
1087
- // Even if the field provides a type,
1088
- // the field can override the default isValid function.
1089
1103
  {
1090
- type: 'number',
1091
- isValid: ( item, context ) => { /* Custom function. */ }
1104
+ Edit: ( { field }) => {
1105
+ return <input required={ !! field.isValid.required } />
1106
+ }
1092
1107
  }
1093
1108
  ```
1094
1109
 
@@ -1163,7 +1178,7 @@ Example:
1163
1178
 
1164
1179
  ### `elements`
1165
1180
 
1166
- List of valid values for a field. If provided, it creates a DataViews' filter for the field. DataForm's edit control will also use these values. (See `Edit` field property.)
1181
+ List of valid values for a field. If provided, the field's filter will use these as predefined options instead of using the field's `Edit` function for user input (unless `filterBy` is set to `false`, see below).
1167
1182
 
1168
1183
  - Type: `array` of objects.
1169
1184
  - Optional.
@@ -1187,11 +1202,12 @@ Example:
1187
1202
 
1188
1203
  ### `filterBy`
1189
1204
 
1190
- Configuration of the filters.
1205
+ Configuration of the filters. By default, fields have filtering enabled using the field's `Edit` function for user input. When `elements` are provided, the filter will use those as predefined options instead. Set to `false` to opt the field out of filtering entirely.
1191
1206
 
1192
- - Type: `object`.
1207
+ - Type: `object` | `boolean`.
1193
1208
  - Optional.
1194
- - Properties:
1209
+ - If `false`, the field will not be available for filtering.
1210
+ - If an object, it can have the following properties:
1195
1211
  - `operators`: the list of operators supported by the field. See "operators" below. A filter will support the `isAny` and `isNone` multi-selection operators by default.
1196
1212
  - `isPrimary`: boolean, optional. Indicates if the filter is primary. 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.
1197
1213
 
@@ -1253,6 +1269,13 @@ Example:
1253
1269
  }
1254
1270
  ```
1255
1271
 
1272
+ ```js
1273
+ // Opt out of filtering entirely.
1274
+ {
1275
+ filterBy: false;
1276
+ }
1277
+ ```
1278
+
1256
1279
  ## Form Field API
1257
1280
 
1258
1281
  ### `id`
@@ -137,6 +137,7 @@ function DataViews({
137
137
  renderItemLink,
138
138
  containerWidth,
139
139
  containerRef,
140
+ resizeObserverRef,
140
141
  defaultLayouts,
141
142
  filters,
142
143
  isShowingFilter,
@@ -145,7 +146,7 @@ function DataViews({
145
146
  },
146
147
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
147
148
  className: "dataviews-wrapper",
148
- ref: (0, _compose.useMergeRefs)([containerRef, resizeObserverRef]),
149
+ ref: containerRef,
149
150
  children: children !== null && children !== void 0 ? children : /*#__PURE__*/(0, _jsxRuntime.jsx)(DefaultUI, {
150
151
  header: header,
151
152
  search: search,
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_compose","_dataviewsContext","_interopRequireDefault","_dataviewsFilters","_interopRequireWildcard","_dataviewsLayout","_dataviewsFooter","_dataviewsSearch","_dataviewsBulkActions","_dataviewsPagination","_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","defaultIsItemClickable","EMPTY_ARRAY","DefaultUI","header","search","searchLabel","undefined","isShowingFilter","useContext","DataViewsContext","jsxs","Fragment","children","__experimentalHStack","alignment","justify","className","spacing","expanded","jsx","label","FiltersToggle","style","flexShrink","DataViews","view","onChangeView","fields","actions","data","getItemId","getItemLevel","isLoading","paginationInfo","defaultLayouts","selection","selectionProperty","onChangeSelection","onClickItem","renderItemLink","isItemClickable","perPageSizes","containerRef","useRef","containerWidth","setContainerWidth","useState","resizeObserverRef","useResizeObserver","resizeObserverEntries","borderBoxSize","inlineSize","box","selectionState","setSelectionState","isUncontrolled","openedFilter","setOpenedFilter","setSelectionWithChange","value","newValue","_fields","useMemo","normalizeFields","_selection","filter","some","filters","useFilters","setIsShowingFilter","isPrimary","Provider","ref","useMergeRefs","DataViewsSubComponents","BulkActionToolbar","BulkActionsFooter","Filters","DataViewsFilters","Layout","DataViewsLayout","LayoutSwitcher","ViewTypeMenu","Pagination","DataViewsPagination","Search","DataViewsSearch","ViewConfig","DataviewsViewConfigDropdown","_default","exports"],"sources":["@wordpress/dataviews/src/components/dataviews/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode, ComponentProps, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useContext, useMemo, useRef, useState } from '@wordpress/element';\nimport { useMergeRefs, useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport {\n\tdefault as DataViewsFilters,\n\tuseFilters,\n\tFiltersToggle,\n} from '../dataviews-filters';\nimport DataViewsLayout from '../dataviews-layout';\nimport DataViewsFooter from '../dataviews-footer';\nimport DataViewsSearch from '../dataviews-search';\nimport { BulkActionsFooter } from '../dataviews-bulk-actions';\nimport { DataViewsPagination } from '../dataviews-pagination';\nimport DataViewsViewConfig, {\n\tDataviewsViewConfigDropdown,\n\tViewTypeMenu,\n} from '../dataviews-view-config';\nimport { normalizeFields } from '../../normalize-fields';\nimport type { Action, Field, View, SupportedLayouts } from '../../types';\nimport type { SelectionOrUpdater } from '../../private-types';\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\tonClickItem?: ( item: Item ) => void;\n\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\n\tisItemClickable?: ( item: Item ) => boolean;\n\theader?: ReactNode;\n\tgetItemLevel?: ( item: Item ) => number;\n\tchildren?: ReactNode;\n\tperPageSizes?: [ number, number, number, number ];\n} & ( Item extends ItemWithId\n\t? { getItemId?: ( item: Item ) => string }\n\t: { getItemId: ( item: Item ) => string } );\n\nconst defaultGetItemId = ( item: ItemWithId ) => item.id;\nconst defaultIsItemClickable = () => true;\nconst EMPTY_ARRAY: any[] = [];\n\ntype DefaultUIProps = Pick<\n\tDataViewsProps< any >,\n\t'header' | 'search' | 'searchLabel'\n>;\n\nfunction DefaultUI( {\n\theader,\n\tsearch = true,\n\tsearchLabel = undefined,\n}: DefaultUIProps ) {\n\tconst { isShowingFilter } = useContext( DataViewsContext );\n\treturn (\n\t\t<>\n\t\t\t<HStack\n\t\t\t\talignment=\"top\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews__view-actions\"\n\t\t\t\tspacing={ 1 }\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews__search\"\n\t\t\t\t>\n\t\t\t\t\t{ search && <DataViewsSearch label={ searchLabel } /> }\n\t\t\t\t\t<FiltersToggle />\n\t\t\t\t</HStack>\n\t\t\t\t<HStack\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tstyle={ { flexShrink: 0 } }\n\t\t\t\t>\n\t\t\t\t\t<DataViewsViewConfig />\n\t\t\t\t\t{ header }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t\t{ isShowingFilter && (\n\t\t\t\t<DataViewsFilters className=\"dataviews-filters__container\" />\n\t\t\t) }\n\t\t\t<DataViewsLayout />\n\t\t\t<DataViewsFooter />\n\t\t</>\n\t);\n}\n\nfunction DataViews< Item >( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions = EMPTY_ARRAY,\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tgetItemLevel,\n\tisLoading = false,\n\tpaginationInfo,\n\tdefaultLayouts,\n\tselection: selectionProperty,\n\tonChangeSelection,\n\tonClickItem,\n\trenderItemLink,\n\tisItemClickable = defaultIsItemClickable,\n\theader,\n\tchildren,\n\tperPageSizes,\n}: DataViewsProps< Item > ) {\n\tconst containerRef = useRef< HTMLDivElement | null >( null );\n\tconst [ containerWidth, setContainerWidth ] = useState( 0 );\n\tconst resizeObserverRef = useResizeObserver(\n\t\t( resizeObserverEntries: any ) => {\n\t\t\tsetContainerWidth(\n\t\t\t\tresizeObserverEntries[ 0 ].borderBoxSize[ 0 ].inlineSize\n\t\t\t);\n\t\t},\n\t\t{ box: 'border-box' }\n\t);\n\tconst [ selectionState, setSelectionState ] = useState< string[] >( [] );\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\tgetItemLevel,\n\t\t\t\tisItemClickable,\n\t\t\t\tonClickItem,\n\t\t\t\trenderItemLink,\n\t\t\t\tcontainerWidth,\n\t\t\t\tcontainerRef,\n\t\t\t\tdefaultLayouts,\n\t\t\t\tfilters,\n\t\t\t\tisShowingFilter,\n\t\t\t\tsetIsShowingFilter,\n\t\t\t\tperPageSizes,\n\t\t\t} }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"dataviews-wrapper\"\n\t\t\t\tref={ useMergeRefs( [ containerRef, resizeObserverRef ] ) }\n\t\t\t>\n\t\t\t\t{ children ?? (\n\t\t\t\t\t<DefaultUI\n\t\t\t\t\t\theader={ header }\n\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\tsearchLabel={ searchLabel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</DataViewsContext.Provider>\n\t);\n}\n\n// Populate the DataViews sub components\nconst DataViewsSubComponents = DataViews as typeof DataViews & {\n\tBulkActionToolbar: typeof BulkActionsFooter;\n\tFilters: typeof DataViewsFilters;\n\tFiltersToggle: typeof FiltersToggle;\n\tLayout: typeof DataViewsLayout;\n\tLayoutSwitcher: typeof ViewTypeMenu;\n\tPagination: typeof DataViewsPagination;\n\tSearch: typeof DataViewsSearch;\n\tViewConfig: typeof DataviewsViewConfigDropdown;\n};\n\nDataViewsSubComponents.BulkActionToolbar = BulkActionsFooter;\nDataViewsSubComponents.Filters = DataViewsFilters;\nDataViewsSubComponents.FiltersToggle = FiltersToggle;\nDataViewsSubComponents.Layout = DataViewsLayout;\nDataViewsSubComponents.LayoutSwitcher = ViewTypeMenu;\nDataViewsSubComponents.Pagination = DataViewsPagination;\nDataViewsSubComponents.Search = DataViewsSearch;\nDataViewsSubComponents.ViewConfig = DataviewsViewConfigDropdown;\n\nexport default DataViewsSubComponents;\n"],"mappings":";;;;;;;AAQA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,iBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAC,uBAAA,CAAAN,OAAA;AAKA,IAAAO,gBAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,gBAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,gBAAA,GAAAL,sBAAA,CAAAJ,OAAA;AACA,IAAAU,qBAAA,GAAAV,OAAA;AACA,IAAAW,oBAAA,GAAAX,OAAA;AACA,IAAAY,oBAAA,GAAAN,uBAAA,CAAAN,OAAA;AAIA,IAAAa,gBAAA,GAAAb,OAAA;AAAyD,IAAAc,WAAA,GAAAd,OAAA;AAAA,SAAAe,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,SAAAV,wBAAAU,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;AA9BzD;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAoDA,MAAMW,gBAAgB,GAAKC,IAAgB,IAAMA,IAAI,CAACC,EAAE;AACxD,MAAMC,sBAAsB,GAAGA,CAAA,KAAM,IAAI;AACzC,MAAMC,WAAkB,GAAG,EAAE;AAO7B,SAASC,SAASA,CAAE;EACnBC,MAAM;EACNC,MAAM,GAAG,IAAI;EACbC,WAAW,GAAGC;AACC,CAAC,EAAG;EACnB,MAAM;IAAEC;EAAgB,CAAC,GAAG,IAAAC,mBAAU,EAAEC,yBAAiB,CAAC;EAC1D,oBACC,IAAAjC,WAAA,CAAAkC,IAAA,EAAAlC,WAAA,CAAAmC,QAAA;IAAAC,QAAA,gBACC,IAAApC,WAAA,CAAAkC,IAAA,EAACjD,WAAA,CAAAoD,oBAAM;MACNC,SAAS,EAAC,KAAK;MACfC,OAAO,EAAC,eAAe;MACvBC,SAAS,EAAC,yBAAyB;MACnCC,OAAO,EAAG,CAAG;MAAAL,QAAA,gBAEb,IAAApC,WAAA,CAAAkC,IAAA,EAACjD,WAAA,CAAAoD,oBAAM;QACNE,OAAO,EAAC,OAAO;QACfG,QAAQ,EAAG,KAAO;QAClBF,SAAS,EAAC,mBAAmB;QAAAJ,QAAA,GAE3BR,MAAM,iBAAI,IAAA5B,WAAA,CAAA2C,GAAA,EAAChD,gBAAA,CAAAY,OAAe;UAACqC,KAAK,EAAGf;QAAa,CAAE,CAAC,eACrD,IAAA7B,WAAA,CAAA2C,GAAA,EAACpD,iBAAA,CAAAsD,aAAa,IAAE,CAAC;MAAA,CACV,CAAC,eACT,IAAA7C,WAAA,CAAAkC,IAAA,EAACjD,WAAA,CAAAoD,oBAAM;QACNI,OAAO,EAAG,CAAG;QACbC,QAAQ,EAAG,KAAO;QAClBI,KAAK,EAAG;UAAEC,UAAU,EAAE;QAAE,CAAG;QAAAX,QAAA,gBAE3B,IAAApC,WAAA,CAAA2C,GAAA,EAAC7C,oBAAA,CAAAS,OAAmB,IAAE,CAAC,EACrBoB,MAAM;MAAA,CACD,CAAC;IAAA,CACF,CAAC,EACPI,eAAe,iBAChB,IAAA/B,WAAA,CAAA2C,GAAA,EAACpD,iBAAA,CAAAgB,OAAgB;MAACiC,SAAS,EAAC;IAA8B,CAAE,CAC5D,eACD,IAAAxC,WAAA,CAAA2C,GAAA,EAAClD,gBAAA,CAAAc,OAAe,IAAE,CAAC,eACnB,IAAAP,WAAA,CAAA2C,GAAA,EAACjD,gBAAA,CAAAa,OAAe,IAAE,CAAC;EAAA,CAClB,CAAC;AAEL;AAEA,SAASyC,SAASA,CAAU;EAC3BC,IAAI;EACJC,YAAY;EACZC,MAAM;EACNvB,MAAM,GAAG,IAAI;EACbC,WAAW,GAAGC,SAAS;EACvBsB,OAAO,GAAG3B,WAAW;EACrB4B,IAAI;EACJC,SAAS,GAAGjC,gBAAgB;EAC5BkC,YAAY;EACZC,SAAS,GAAG,KAAK;EACjBC,cAAc;EACdC,cAAc;EACdC,SAAS,EAAEC,iBAAiB;EAC5BC,iBAAiB;EACjBC,WAAW;EACXC,cAAc;EACdC,eAAe,GAAGxC,sBAAsB;EACxCG,MAAM;EACNS,QAAQ;EACR6B;AACuB,CAAC,EAAG;EAC3B,MAAMC,YAAY,GAAG,IAAAC,eAAM,EAA2B,IAAK,CAAC;EAC5D,MAAM,CAAEC,cAAc,EAAEC,iBAAiB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,CAAE,CAAC;EAC3D,MAAMC,iBAAiB,GAAG,IAAAC,0BAAiB,EACxCC,qBAA0B,IAAM;IACjCJ,iBAAiB,CAChBI,qBAAqB,CAAE,CAAC,CAAE,CAACC,aAAa,CAAE,CAAC,CAAE,CAACC,UAC/C,CAAC;EACF,CAAC,EACD;IAAEC,GAAG,EAAE;EAAa,CACrB,CAAC;EACD,MAAM,CAAEC,cAAc,EAAEC,iBAAiB,CAAE,GAAG,IAAAR,iBAAQ,EAAc,EAAG,CAAC;EACxE,MAAMS,cAAc,GACnBnB,iBAAiB,KAAK9B,SAAS,IAAI+B,iBAAiB,KAAK/B,SAAS;EACnE,MAAM6B,SAAS,GAAGoB,cAAc,GAAGF,cAAc,GAAGjB,iBAAiB;EACrE,MAAM,CAAEoB,YAAY,EAAEC,eAAe,CAAE,GAAG,IAAAX,iBAAQ,EAAmB,IAAK,CAAC;EAC3E,SAASY,sBAAsBA,CAAEC,KAAyB,EAAG;IAC5D,MAAMC,QAAQ,GACb,OAAOD,KAAK,KAAK,UAAU,GAAGA,KAAK,CAAExB,SAAU,CAAC,GAAGwB,KAAK;IACzD,IAAKJ,cAAc,EAAG;MACrBD,iBAAiB,CAAEM,QAAS,CAAC;IAC9B;IACA,IAAKvB,iBAAiB,EAAG;MACxBA,iBAAiB,CAAEuB,QAAS,CAAC;IAC9B;EACD;EACA,MAAMC,OAAO,GAAG,IAAAC,gBAAO,EAAE,MAAM,IAAAC,gCAAe,EAAEpC,MAAO,CAAC,EAAE,CAAEA,MAAM,CAAG,CAAC;EACtE,MAAMqC,UAAU,GAAG,IAAAF,gBAAO,EAAE,MAAM;IACjC,OAAO3B,SAAS,CAAC8B,MAAM,CAAIlE,EAAE,IAC5B8B,IAAI,CAACqC,IAAI,CAAIpE,IAAI,IAAMgC,SAAS,CAAEhC,IAAK,CAAC,KAAKC,EAAG,CACjD,CAAC;EACF,CAAC,EAAE,CAAEoC,SAAS,EAAEN,IAAI,EAAEC,SAAS,CAAG,CAAC;EAEnC,MAAMqC,OAAO,GAAG,IAAAC,4BAAU,EAAEP,OAAO,EAAEpC,IAAK,CAAC;EAC3C,MAAM,CAAElB,eAAe,EAAE8D,kBAAkB,CAAE,GAAG,IAAAvB,iBAAQ,EAAa,MACpE,CAAEqB,OAAO,IAAI,EAAE,EAAGD,IAAI,CAAID,MAAM,IAAMA,MAAM,CAACK,SAAU,CACxD,CAAC;EAED,oBACC,IAAA9F,WAAA,CAAA2C,GAAA,EAACtD,iBAAA,CAAAkB,OAAgB,CAACwF,QAAQ;IACzBZ,KAAK,EAAG;MACPlC,IAAI;MACJC,YAAY;MACZC,MAAM,EAAEkC,OAAO;MACfjC,OAAO;MACPC,IAAI;MACJG,SAAS;MACTC,cAAc;MACdE,SAAS,EAAE6B,UAAU;MACrB3B,iBAAiB,EAAEqB,sBAAsB;MACzCF,YAAY;MACZC,eAAe;MACf3B,SAAS;MACTC,YAAY;MACZS,eAAe;MACfF,WAAW;MACXC,cAAc;MACdK,cAAc;MACdF,YAAY;MACZR,cAAc;MACdiC,OAAO;MACP5D,eAAe;MACf8D,kBAAkB;MAClB5B;IACD,CAAG;IAAA7B,QAAA,eAEH,IAAApC,WAAA,CAAA2C,GAAA;MACCH,SAAS,EAAC,mBAAmB;MAC7BwD,GAAG,EAAG,IAAAC,qBAAY,EAAE,CAAE/B,YAAY,EAAEK,iBAAiB,CAAG,CAAG;MAAAnC,QAAA,EAEzDA,QAAQ,aAARA,QAAQ,cAARA,QAAQ,gBACT,IAAApC,WAAA,CAAA2C,GAAA,EAACjB,SAAS;QACTC,MAAM,EAAGA,MAAQ;QACjBC,MAAM,EAAGA,MAAQ;QACjBC,WAAW,EAAGA;MAAa,CAC3B;IAAC,CAEC;EAAC,CACoB,CAAC;AAE9B;;AAEA;AACA,MAAMqE,sBAAsB,GAAGlD,SAS9B;AAEDkD,sBAAsB,CAACC,iBAAiB,GAAGC,uCAAiB;AAC5DF,sBAAsB,CAACG,OAAO,GAAGC,yBAAgB;AACjDJ,sBAAsB,CAACrD,aAAa,GAAGA,+BAAa;AACpDqD,sBAAsB,CAACK,MAAM,GAAGC,wBAAe;AAC/CN,sBAAsB,CAACO,cAAc,GAAGC,iCAAY;AACpDR,sBAAsB,CAACS,UAAU,GAAGC,wCAAmB;AACvDV,sBAAsB,CAACW,MAAM,GAAGC,wBAAe;AAC/CZ,sBAAsB,CAACa,UAAU,GAAGC,gDAA2B;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA3G,OAAA,GAEjD2F,sBAAsB","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_element","_compose","_dataviewsContext","_interopRequireDefault","_dataviewsFilters","_interopRequireWildcard","_dataviewsLayout","_dataviewsFooter","_dataviewsSearch","_dataviewsBulkActions","_dataviewsPagination","_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","defaultIsItemClickable","EMPTY_ARRAY","DefaultUI","header","search","searchLabel","undefined","isShowingFilter","useContext","DataViewsContext","jsxs","Fragment","children","__experimentalHStack","alignment","justify","className","spacing","expanded","jsx","label","FiltersToggle","style","flexShrink","DataViews","view","onChangeView","fields","actions","data","getItemId","getItemLevel","isLoading","paginationInfo","defaultLayouts","selection","selectionProperty","onChangeSelection","onClickItem","renderItemLink","isItemClickable","perPageSizes","containerRef","useRef","containerWidth","setContainerWidth","useState","resizeObserverRef","useResizeObserver","resizeObserverEntries","borderBoxSize","inlineSize","box","selectionState","setSelectionState","isUncontrolled","openedFilter","setOpenedFilter","setSelectionWithChange","value","newValue","_fields","useMemo","normalizeFields","_selection","filter","some","filters","useFilters","setIsShowingFilter","isPrimary","Provider","ref","DataViewsSubComponents","BulkActionToolbar","BulkActionsFooter","Filters","DataViewsFilters","Layout","DataViewsLayout","LayoutSwitcher","ViewTypeMenu","Pagination","DataViewsPagination","Search","DataViewsSearch","ViewConfig","DataviewsViewConfigDropdown","_default","exports"],"sources":["@wordpress/dataviews/src/components/dataviews/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode, ComponentProps, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useContext, useMemo, useRef, useState } from '@wordpress/element';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport {\n\tdefault as DataViewsFilters,\n\tuseFilters,\n\tFiltersToggle,\n} from '../dataviews-filters';\nimport DataViewsLayout from '../dataviews-layout';\nimport DataViewsFooter from '../dataviews-footer';\nimport DataViewsSearch from '../dataviews-search';\nimport { BulkActionsFooter } from '../dataviews-bulk-actions';\nimport { DataViewsPagination } from '../dataviews-pagination';\nimport DataViewsViewConfig, {\n\tDataviewsViewConfigDropdown,\n\tViewTypeMenu,\n} from '../dataviews-view-config';\nimport { normalizeFields } from '../../normalize-fields';\nimport type { Action, Field, View, SupportedLayouts } from '../../types';\nimport type { SelectionOrUpdater } from '../../private-types';\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\tonClickItem?: ( item: Item ) => void;\n\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\n\tisItemClickable?: ( item: Item ) => boolean;\n\theader?: ReactNode;\n\tgetItemLevel?: ( item: Item ) => number;\n\tchildren?: ReactNode;\n\tperPageSizes?: [ number, number, number, number ];\n} & ( Item extends ItemWithId\n\t? { getItemId?: ( item: Item ) => string }\n\t: { getItemId: ( item: Item ) => string } );\n\nconst defaultGetItemId = ( item: ItemWithId ) => item.id;\nconst defaultIsItemClickable = () => true;\nconst EMPTY_ARRAY: any[] = [];\n\ntype DefaultUIProps = Pick<\n\tDataViewsProps< any >,\n\t'header' | 'search' | 'searchLabel'\n>;\n\nfunction DefaultUI( {\n\theader,\n\tsearch = true,\n\tsearchLabel = undefined,\n}: DefaultUIProps ) {\n\tconst { isShowingFilter } = useContext( DataViewsContext );\n\treturn (\n\t\t<>\n\t\t\t<HStack\n\t\t\t\talignment=\"top\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews__view-actions\"\n\t\t\t\tspacing={ 1 }\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews__search\"\n\t\t\t\t>\n\t\t\t\t\t{ search && <DataViewsSearch label={ searchLabel } /> }\n\t\t\t\t\t<FiltersToggle />\n\t\t\t\t</HStack>\n\t\t\t\t<HStack\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tstyle={ { flexShrink: 0 } }\n\t\t\t\t>\n\t\t\t\t\t<DataViewsViewConfig />\n\t\t\t\t\t{ header }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t\t{ isShowingFilter && (\n\t\t\t\t<DataViewsFilters className=\"dataviews-filters__container\" />\n\t\t\t) }\n\t\t\t<DataViewsLayout />\n\t\t\t<DataViewsFooter />\n\t\t</>\n\t);\n}\n\nfunction DataViews< Item >( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions = EMPTY_ARRAY,\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tgetItemLevel,\n\tisLoading = false,\n\tpaginationInfo,\n\tdefaultLayouts,\n\tselection: selectionProperty,\n\tonChangeSelection,\n\tonClickItem,\n\trenderItemLink,\n\tisItemClickable = defaultIsItemClickable,\n\theader,\n\tchildren,\n\tperPageSizes,\n}: DataViewsProps< Item > ) {\n\tconst containerRef = useRef< HTMLDivElement | null >( null );\n\tconst [ containerWidth, setContainerWidth ] = useState( 0 );\n\tconst resizeObserverRef = useResizeObserver(\n\t\t( resizeObserverEntries: any ) => {\n\t\t\tsetContainerWidth(\n\t\t\t\tresizeObserverEntries[ 0 ].borderBoxSize[ 0 ].inlineSize\n\t\t\t);\n\t\t},\n\t\t{ box: 'border-box' }\n\t);\n\tconst [ selectionState, setSelectionState ] = useState< string[] >( [] );\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\tgetItemLevel,\n\t\t\t\tisItemClickable,\n\t\t\t\tonClickItem,\n\t\t\t\trenderItemLink,\n\t\t\t\tcontainerWidth,\n\t\t\t\tcontainerRef,\n\t\t\t\tresizeObserverRef,\n\t\t\t\tdefaultLayouts,\n\t\t\t\tfilters,\n\t\t\t\tisShowingFilter,\n\t\t\t\tsetIsShowingFilter,\n\t\t\t\tperPageSizes,\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-wrapper\" ref={ containerRef }>\n\t\t\t\t{ children ?? (\n\t\t\t\t\t<DefaultUI\n\t\t\t\t\t\theader={ header }\n\t\t\t\t\t\tsearch={ search }\n\t\t\t\t\t\tsearchLabel={ searchLabel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</DataViewsContext.Provider>\n\t);\n}\n\n// Populate the DataViews sub components\nconst DataViewsSubComponents = DataViews as typeof DataViews & {\n\tBulkActionToolbar: typeof BulkActionsFooter;\n\tFilters: typeof DataViewsFilters;\n\tFiltersToggle: typeof FiltersToggle;\n\tLayout: typeof DataViewsLayout;\n\tLayoutSwitcher: typeof ViewTypeMenu;\n\tPagination: typeof DataViewsPagination;\n\tSearch: typeof DataViewsSearch;\n\tViewConfig: typeof DataviewsViewConfigDropdown;\n};\n\nDataViewsSubComponents.BulkActionToolbar = BulkActionsFooter;\nDataViewsSubComponents.Filters = DataViewsFilters;\nDataViewsSubComponents.FiltersToggle = FiltersToggle;\nDataViewsSubComponents.Layout = DataViewsLayout;\nDataViewsSubComponents.LayoutSwitcher = ViewTypeMenu;\nDataViewsSubComponents.Pagination = DataViewsPagination;\nDataViewsSubComponents.Search = DataViewsSearch;\nDataViewsSubComponents.ViewConfig = DataviewsViewConfigDropdown;\n\nexport default DataViewsSubComponents;\n"],"mappings":"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","ignoreList":[]}
@@ -38,6 +38,7 @@ const DataViewsContext = (0, _element.createContext)({
38
38
  renderItemLink: undefined,
39
39
  containerWidth: 0,
40
40
  containerRef: (0, _element.createRef)(),
41
+ resizeObserverRef: () => {},
41
42
  defaultLayouts: {
42
43
  list: {},
43
44
  grid: {},
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_constants","DataViewsContext","createContext","view","type","LAYOUT_TABLE","onChangeView","fields","data","paginationInfo","totalItems","totalPages","selection","onChangeSelection","setOpenedFilter","openedFilter","getItemId","item","id","isItemClickable","renderItemLink","undefined","containerWidth","containerRef","createRef","defaultLayouts","list","grid","table","filters","isShowingFilter","setIsShowingFilter","_default","exports","default"],"sources":["@wordpress/dataviews/src/components/dataviews-context/index.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentProps, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { createContext, createRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tView,\n\tAction,\n\tNormalizedField,\n\tSupportedLayouts,\n\tNormalizedFilter,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport { LAYOUT_TABLE } from '../../constants';\n\ntype DataViewsContextType< Item > = {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tfields: NormalizedField< Item >[];\n\tactions?: Action< Item >[];\n\tdata: Item[];\n\tisLoading?: boolean;\n\tpaginationInfo: {\n\t\ttotalItems: number;\n\t\ttotalPages: number;\n\t};\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\topenedFilter: string | null;\n\tsetOpenedFilter: ( openedFilter: string | null ) => void;\n\tgetItemId: ( item: Item ) => string;\n\tgetItemLevel?: ( item: Item ) => number;\n\tonClickItem?: ( item: Item ) => void;\n\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\n\tisItemClickable: ( item: Item ) => boolean;\n\tcontainerWidth: number;\n\tcontainerRef: React.MutableRefObject< HTMLDivElement | null >;\n\tdefaultLayouts: SupportedLayouts;\n\tfilters: NormalizedFilter[];\n\tisShowingFilter: boolean;\n\tsetIsShowingFilter: ( value: boolean ) => void;\n\tperPageSizes?: [ number, number, number, number ];\n};\n\nconst DataViewsContext = createContext< DataViewsContextType< any > >( {\n\tview: { type: LAYOUT_TABLE },\n\tonChangeView: () => {},\n\tfields: [],\n\tdata: [],\n\tpaginationInfo: {\n\t\ttotalItems: 0,\n\t\ttotalPages: 0,\n\t},\n\tselection: [],\n\tonChangeSelection: () => {},\n\tsetOpenedFilter: () => {},\n\topenedFilter: null,\n\tgetItemId: ( item ) => item.id,\n\tisItemClickable: () => true,\n\trenderItemLink: undefined,\n\tcontainerWidth: 0,\n\tcontainerRef: createRef(),\n\tdefaultLayouts: { list: {}, grid: {}, table: {} },\n\tfilters: [],\n\tisShowingFilter: false,\n\tsetIsShowingFilter: () => {},\n} );\n\nexport default DataViewsContext;\n"],"mappings":";;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AAaA,IAAAC,UAAA,GAAAD,OAAA;AArBA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AA4CA,MAAME,gBAAgB,GAAG,IAAAC,sBAAa,EAAiC;EACtEC,IAAI,EAAE;IAAEC,IAAI,EAAEC;EAAa,CAAC;EAC5BC,YAAY,EAAEA,CAAA,KAAM,CAAC,CAAC;EACtBC,MAAM,EAAE,EAAE;EACVC,IAAI,EAAE,EAAE;EACRC,cAAc,EAAE;IACfC,UAAU,EAAE,CAAC;IACbC,UAAU,EAAE;EACb,CAAC;EACDC,SAAS,EAAE,EAAE;EACbC,iBAAiB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC3BC,eAAe,EAAEA,CAAA,KAAM,CAAC,CAAC;EACzBC,YAAY,EAAE,IAAI;EAClBC,SAAS,EAAIC,IAAI,IAAMA,IAAI,CAACC,EAAE;EAC9BC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,cAAc,EAAEC,SAAS;EACzBC,cAAc,EAAE,CAAC;EACjBC,YAAY,EAAE,IAAAC,kBAAS,EAAC,CAAC;EACzBC,cAAc,EAAE;IAAEC,IAAI,EAAE,CAAC,CAAC;IAAEC,IAAI,EAAE,CAAC,CAAC;IAAEC,KAAK,EAAE,CAAC;EAAE,CAAC;EACjDC,OAAO,EAAE,EAAE;EACXC,eAAe,EAAE,KAAK;EACtBC,kBAAkB,EAAEA,CAAA,KAAM,CAAC;AAC5B,CAAE,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEWjC,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_constants","DataViewsContext","createContext","view","type","LAYOUT_TABLE","onChangeView","fields","data","paginationInfo","totalItems","totalPages","selection","onChangeSelection","setOpenedFilter","openedFilter","getItemId","item","id","isItemClickable","renderItemLink","undefined","containerWidth","containerRef","createRef","resizeObserverRef","defaultLayouts","list","grid","table","filters","isShowingFilter","setIsShowingFilter","_default","exports","default"],"sources":["@wordpress/dataviews/src/components/dataviews-context/index.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ComponentProps, ReactElement } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { createContext, createRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type {\n\tView,\n\tAction,\n\tNormalizedField,\n\tSupportedLayouts,\n\tNormalizedFilter,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport { LAYOUT_TABLE } from '../../constants';\n\ntype DataViewsContextType< Item > = {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tfields: NormalizedField< Item >[];\n\tactions?: Action< Item >[];\n\tdata: Item[];\n\tisLoading?: boolean;\n\tpaginationInfo: {\n\t\ttotalItems: number;\n\t\ttotalPages: number;\n\t};\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\topenedFilter: string | null;\n\tsetOpenedFilter: ( openedFilter: string | null ) => void;\n\tgetItemId: ( item: Item ) => string;\n\tgetItemLevel?: ( item: Item ) => number;\n\tonClickItem?: ( item: Item ) => void;\n\trenderItemLink?: (\n\t\tprops: {\n\t\t\titem: Item;\n\t\t} & ComponentProps< 'a' >\n\t) => ReactElement;\n\tisItemClickable: ( item: Item ) => boolean;\n\tcontainerWidth: number;\n\tcontainerRef: React.MutableRefObject< HTMLDivElement | null >;\n\tresizeObserverRef:\n\t\t| ( ( element?: HTMLDivElement | null ) => void )\n\t\t| React.RefObject< HTMLDivElement >;\n\tdefaultLayouts: SupportedLayouts;\n\tfilters: NormalizedFilter[];\n\tisShowingFilter: boolean;\n\tsetIsShowingFilter: ( value: boolean ) => void;\n\tperPageSizes?: [ number, number, number, number ];\n};\n\nconst DataViewsContext = createContext< DataViewsContextType< any > >( {\n\tview: { type: LAYOUT_TABLE },\n\tonChangeView: () => {},\n\tfields: [],\n\tdata: [],\n\tpaginationInfo: {\n\t\ttotalItems: 0,\n\t\ttotalPages: 0,\n\t},\n\tselection: [],\n\tonChangeSelection: () => {},\n\tsetOpenedFilter: () => {},\n\topenedFilter: null,\n\tgetItemId: ( item ) => item.id,\n\tisItemClickable: () => true,\n\trenderItemLink: undefined,\n\tcontainerWidth: 0,\n\tcontainerRef: createRef(),\n\tresizeObserverRef: () => {},\n\tdefaultLayouts: { list: {}, grid: {}, table: {} },\n\tfilters: [],\n\tisShowingFilter: false,\n\tsetIsShowingFilter: () => {},\n} );\n\nexport default DataViewsContext;\n"],"mappings":";;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AAaA,IAAAC,UAAA,GAAAD,OAAA;AArBA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AA+CA,MAAME,gBAAgB,GAAG,IAAAC,sBAAa,EAAiC;EACtEC,IAAI,EAAE;IAAEC,IAAI,EAAEC;EAAa,CAAC;EAC5BC,YAAY,EAAEA,CAAA,KAAM,CAAC,CAAC;EACtBC,MAAM,EAAE,EAAE;EACVC,IAAI,EAAE,EAAE;EACRC,cAAc,EAAE;IACfC,UAAU,EAAE,CAAC;IACbC,UAAU,EAAE;EACb,CAAC;EACDC,SAAS,EAAE,EAAE;EACbC,iBAAiB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC3BC,eAAe,EAAEA,CAAA,KAAM,CAAC,CAAC;EACzBC,YAAY,EAAE,IAAI;EAClBC,SAAS,EAAIC,IAAI,IAAMA,IAAI,CAACC,EAAE;EAC9BC,eAAe,EAAEA,CAAA,KAAM,IAAI;EAC3BC,cAAc,EAAEC,SAAS;EACzBC,cAAc,EAAE,CAAC;EACjBC,YAAY,EAAE,IAAAC,kBAAS,EAAC,CAAC;EACzBC,iBAAiB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC3BC,cAAc,EAAE;IAAEC,IAAI,EAAE,CAAC,CAAC;IAAEC,IAAI,EAAE,CAAC,CAAC;IAAEC,KAAK,EAAE,CAAC;EAAE,CAAC;EACjDC,OAAO,EAAE,EAAE;EACXC,eAAe,EAAE,KAAK;EACtBC,kBAAkB,EAAEA,CAAA,KAAM,CAAC;AAC5B,CAAE,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEWlC,gBAAgB","ignoreList":[]}
@@ -117,8 +117,8 @@ const FilterText = ({
117
117
  const {
118
118
  label
119
119
  } = activeElements[0];
120
- return (0, _element.createInterpolateElement)((0, _i18n.sprintf)(/* translators: 1: Filter name. 2: Min value. 3: Max value. e.g.: "Item count between (inc): 10-180". */
121
- (0, _i18n.__)('<Name>%1$s between (inc): </Name><Value>%2$s-%3$s</Value>'), filter.name, label[0], label[1]), filterTextWrappers);
120
+ return (0, _element.createInterpolateElement)((0, _i18n.sprintf)(/* translators: 1: Filter name. 2: Min value. 3: Max value. e.g.: "Item count between (inc): 10 and 180". */
121
+ (0, _i18n.__)('<Name>%1$s between (inc): </Name><Value>%2$s and %3$s</Value>'), filter.name, label[0], label[1]), filterTextWrappers);
122
122
  }
123
123
  if (filterInView?.operator === _constants.OPERATOR_ON) {
124
124
  return (0, _element.createInterpolateElement)((0, _i18n.sprintf)(/* translators: 1: Filter name. 2: Filter value. e.g.: "Date is: 2024-01-01". */
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_icons","_searchWidget","_inputWidget","_constants","_jsxRuntime","ENTER","SPACE","FilterText","activeElements","filterInView","filter","undefined","length","name","filterTextWrappers","Name","jsx","className","Value","operator","OPERATOR_IS_ANY","createInterpolateElement","sprintf","__","map","element","label","join","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","OPERATOR_IS","OPERATOR_IS_NOT","OPERATOR_LESS_THAN","OPERATOR_GREATER_THAN","OPERATOR_LESS_THAN_OR_EQUAL","OPERATOR_GREATER_THAN_OR_EQUAL","OPERATOR_CONTAINS","OPERATOR_NOT_CONTAINS","OPERATOR_STARTS_WITH","OPERATOR_BEFORE","OPERATOR_AFTER","OPERATOR_BEFORE_INC","OPERATOR_AFTER_INC","OPERATOR_BETWEEN","OPERATOR_ON","OPERATOR_NOT_ON","OPERATOR_IN_THE_PAST","value","unit","OPERATOR_OVER","OperatorSelector","view","onChangeView","operatorOptions","operators","OPERATORS","currentFilter","filters","find","_filter","field","jsxs","__experimentalHStack","spacing","justify","children","FlexItem","SelectControl","options","onChange","newValue","_view$filters","_view$filters2","currentOperator","newFilters","OPERATORS_SHOULD_RESET_VALUE","shouldResetValue","includes","page","size","variant","__nextHasNoMarginBottom","hideLabelFromVision","Filter","addFilterRef","openedFilter","fields","commonProps","toggleRef","useRef","f","elements","singleSelection","isPrimary","hasValues","canResetOrRemove","Dropdown","defaultOpen","contentClassName","popoverProps","placement","role","onClose","current","focus","renderToggle","isOpen","onToggle","Tooltip","text","toLowerCase","clsx","tabIndex","onClick","onKeyDown","event","key","preventDefault","ref","Icon","icon","closeSmall","renderContent","__experimentalVStack","default"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/filter.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { RefObject } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdown,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tSelectControl,\n\tTooltip,\n\tIcon,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, createInterpolateElement } from '@wordpress/element';\nimport { closeSmall } from '@wordpress/icons';\n\nconst ENTER = 'Enter';\nconst SPACE = ' ';\n\n/**\n * Internal dependencies\n */\nimport SearchWidget from './search-widget';\nimport InputWidget from './input-widget';\nimport {\n\tOPERATORS,\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n\tOPERATOR_LESS_THAN,\n\tOPERATOR_GREATER_THAN,\n\tOPERATOR_LESS_THAN_OR_EQUAL,\n\tOPERATOR_GREATER_THAN_OR_EQUAL,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_BETWEEN,\n\tOPERATOR_ON,\n\tOPERATOR_NOT_ON,\n\tOPERATOR_IN_THE_PAST,\n\tOPERATOR_OVER,\n} from '../../constants';\nimport type {\n\tFilter,\n\tNormalizedFilter,\n\tOperator,\n\tOption,\n\tView,\n\tNormalizedField,\n} from '../../types';\n\ninterface FilterTextProps {\n\tactiveElements: Option[];\n\tfilterInView?: Filter;\n\tfilter: NormalizedFilter;\n}\n\ninterface OperatorSelectorProps {\n\tfilter: NormalizedFilter;\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n}\n\ninterface FilterProps extends OperatorSelectorProps {\n\taddFilterRef: RefObject< HTMLButtonElement >;\n\topenedFilter: string | null;\n\tfields: NormalizedField< any >[];\n}\n\nconst FilterText = ( {\n\tactiveElements,\n\tfilterInView,\n\tfilter,\n}: FilterTextProps ) => {\n\tif ( activeElements === undefined || activeElements.length === 0 ) {\n\t\treturn filter.name;\n\t}\n\n\tconst filterTextWrappers = {\n\t\tName: <span className=\"dataviews-filters__summary-filter-text-name\" />,\n\t\tValue: (\n\t\t\t<span className=\"dataviews-filters__summary-filter-text-value\" />\n\t\t),\n\t};\n\n\tif ( filterInView?.operator === OPERATOR_IS_ANY ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is any: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is any: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NONE ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is none: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is none: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is not all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is not all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is: Admin\". */\n\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is not: Admin\". */\n\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_LESS_THAN ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is less than: 10\". */\n\t\t\t\t__( '<Name>%1$s is less than: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_GREATER_THAN ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is greater than: 10\". */\n\t\t\t\t__( '<Name>%1$s is greater than: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_LESS_THAN_OR_EQUAL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is less than or equal to: 10\". */\n\t\t\t\t__(\n\t\t\t\t\t'<Name>%1$s is less than or equal to: </Name><Value>%2$s</Value>'\n\t\t\t\t),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_GREATER_THAN_OR_EQUAL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is greater than or equal to: 10\". */\n\t\t\t\t__(\n\t\t\t\t\t'<Name>%1$s is greater than or equal to: </Name><Value>%2$s</Value>'\n\t\t\t\t),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_CONTAINS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Title contains: Mars\". */\n\t\t\t\t__( '<Name>%1$s contains: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_NOT_CONTAINS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Description doesn't contain: photo\". */\n\t\t\t\t__( \"<Name>%1$s doesn't contain: </Name><Value>%2$s</Value>\" ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_STARTS_WITH ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Title starts with: Mar\". */\n\t\t\t\t__( '<Name>%1$s starts with: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_BEFORE ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is before: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is before: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_AFTER ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is after: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is after: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_BEFORE_INC ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is on or before: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is on or before: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_AFTER_INC ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is on or after: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is on or after: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_BETWEEN ) {\n\t\tconst { label } = activeElements[ 0 ];\n\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Min value. 3: Max value. e.g.: \"Item count between (inc): 10-180\". */\n\t\t\t\t__(\n\t\t\t\t\t'<Name>%1$s between (inc): </Name><Value>%2$s-%3$s</Value>'\n\t\t\t\t),\n\t\t\t\tfilter.name,\n\t\t\t\tlabel[ 0 ],\n\t\t\t\tlabel[ 1 ]\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_ON ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_NOT_ON ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is not: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IN_THE_PAST ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is in the past: 1 days\". */\n\t\t\t\t__( '<Name>%1$s is in the past: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\t`${ activeElements[ 0 ].value.value } ${ activeElements[ 0 ].value.unit }`\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_OVER ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is over: 1 days ago\". */\n\t\t\t\t__( '<Name>%1$s is over: </Name><Value>%2$s</Value> ago' ),\n\t\t\t\tfilter.name,\n\t\t\t\t`${ activeElements[ 0 ].value.value } ${ activeElements[ 0 ].value.unit }`\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\treturn sprintf(\n\t\t/* translators: 1: Filter name e.g.: \"Unknown status for Author\". */\n\t\t__( 'Unknown status for %1$s' ),\n\t\tfilter.name\n\t);\n};\n\nfunction OperatorSelector( {\n\tfilter,\n\tview,\n\tonChangeView,\n}: OperatorSelectorProps ) {\n\tconst operatorOptions = filter.operators?.map( ( operator ) => ( {\n\t\tvalue: operator,\n\t\tlabel: OPERATORS[ operator ]?.label,\n\t} ) );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst value = currentFilter?.operator || filter.operators[ 0 ];\n\treturn (\n\t\toperatorOptions.length > 1 && (\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tclassName=\"dataviews-filters__summary-operators-container\"\n\t\t\t>\n\t\t\t\t<FlexItem className=\"dataviews-filters__summary-operators-filter-name\">\n\t\t\t\t\t{ filter.name }\n\t\t\t\t</FlexItem>\n\n\t\t\t\t<SelectControl\n\t\t\t\t\tclassName=\"dataviews-filters__summary-operators-filter-select\"\n\t\t\t\t\tlabel={ __( 'Conditions' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\toptions={ operatorOptions }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tconst operator = newValue as Operator;\n\t\t\t\t\t\tconst currentOperator = currentFilter?.operator;\n\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t_filter.field === filter.field\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t// Reset the value only when switching between operators that have different value types.\n\t\t\t\t\t\t\t\t\t\t\t\tconst OPERATORS_SHOULD_RESET_VALUE =\n\t\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOPERATOR_BETWEEN,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOPERATOR_IN_THE_PAST,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOPERATOR_OVER,\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\tconst shouldResetValue =\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentOperator &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t( OPERATORS_SHOULD_RESET_VALUE.includes(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentOperator\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\tOPERATORS_SHOULD_RESET_VALUE.includes(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) );\n\n\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..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: shouldResetValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: _filter.value,\n\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};\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn _filter;\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 ]\n\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\toperator,\n\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t ];\n\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\tfilters: newFilters,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tvariant=\"minimal\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t)\n\t);\n}\n\nexport default function Filter( {\n\taddFilterRef,\n\topenedFilter,\n\tfields,\n\t...commonProps\n}: FilterProps ) {\n\tconst toggleRef = useRef< HTMLDivElement >( null );\n\tconst { filter, view, onChangeView } = commonProps;\n\tconst filterInView = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\n\tlet activeElements: Option[] = [];\n\n\tif ( filter.elements.length > 0 ) {\n\t\tactiveElements = filter.elements.filter( ( element ) => {\n\t\t\tif ( filter.singleSelection ) {\n\t\t\t\treturn element.value === filterInView?.value;\n\t\t\t}\n\t\t\treturn filterInView?.value?.includes( element.value );\n\t\t} );\n\t} else if ( filterInView?.value !== undefined ) {\n\t\tactiveElements = [\n\t\t\t{\n\t\t\t\tvalue: filterInView.value,\n\t\t\t\tlabel: filterInView.value,\n\t\t\t},\n\t\t];\n\t}\n\n\tconst isPrimary = filter.isPrimary;\n\tconst hasValues = filterInView?.value !== undefined;\n\tconst canResetOrRemove = ! isPrimary || hasValues;\n\treturn (\n\t\t<Dropdown\n\t\t\tdefaultOpen={ openedFilter === filter.field }\n\t\t\tcontentClassName=\"dataviews-filters__summary-popover\"\n\t\t\tpopoverProps={ { placement: 'bottom-start', role: 'dialog' } }\n\t\t\tonClose={ () => {\n\t\t\t\ttoggleRef.current?.focus();\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<div className=\"dataviews-filters__summary-chip-container\">\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\ttext={ sprintf(\n\t\t\t\t\t\t\t/* translators: 1: Filter name. */\n\t\t\t\t\t\t\t__( 'Filter by: %1$s' ),\n\t\t\t\t\t\t\tfilter.name.toLowerCase()\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'dataviews-filters__summary-chip',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-reset': canResetOrRemove,\n\t\t\t\t\t\t\t\t\t'has-values': hasValues,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\tif ( [ ENTER, SPACE ].includes( event.key ) ) {\n\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-pressed={ isOpen }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FilterText\n\t\t\t\t\t\t\t\tactiveElements={ activeElements }\n\t\t\t\t\t\t\t\tfilterInView={ filterInView }\n\t\t\t\t\t\t\t\tfilter={ filter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t\t{ canResetOrRemove && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\ttext={ isPrimary ? __( 'Reset' ) : __( 'Remove' ) }\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-filters__summary-chip-remove',\n\t\t\t\t\t\t\t\t\t{ 'has-values': hasValues }\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\tfilters: view.filters?.filter(\n\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_filter.field !== filter.field\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t// If the filter is not primary and can be removed, it will be added\n\t\t\t\t\t\t\t\t\t// back to the available filters from `Add filter` component.\n\t\t\t\t\t\t\t\t\tif ( ! isPrimary ) {\n\t\t\t\t\t\t\t\t\t\taddFilterRef.current?.focus();\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// If is primary, focus the toggle button.\n\t\t\t\t\t\t\t\t\t\ttoggleRef.current?.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon icon={ closeSmall } />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 0 } justify=\"flex-start\">\n\t\t\t\t\t\t<OperatorSelector { ...commonProps } />\n\t\t\t\t\t\t{ commonProps.filter.elements.length > 0 ? (\n\t\t\t\t\t\t\t<SearchWidget\n\t\t\t\t\t\t\t\t{ ...commonProps }\n\t\t\t\t\t\t\t\tfilter={ {\n\t\t\t\t\t\t\t\t\t...commonProps.filter,\n\t\t\t\t\t\t\t\t\telements: commonProps.filter.elements,\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\t\t<InputWidget { ...commonProps } fields={ fields } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_icons","_searchWidget","_inputWidget","_constants","_jsxRuntime","ENTER","SPACE","FilterText","activeElements","filterInView","filter","undefined","length","name","filterTextWrappers","Name","jsx","className","Value","operator","OPERATOR_IS_ANY","createInterpolateElement","sprintf","__","map","element","label","join","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","OPERATOR_IS","OPERATOR_IS_NOT","OPERATOR_LESS_THAN","OPERATOR_GREATER_THAN","OPERATOR_LESS_THAN_OR_EQUAL","OPERATOR_GREATER_THAN_OR_EQUAL","OPERATOR_CONTAINS","OPERATOR_NOT_CONTAINS","OPERATOR_STARTS_WITH","OPERATOR_BEFORE","OPERATOR_AFTER","OPERATOR_BEFORE_INC","OPERATOR_AFTER_INC","OPERATOR_BETWEEN","OPERATOR_ON","OPERATOR_NOT_ON","OPERATOR_IN_THE_PAST","value","unit","OPERATOR_OVER","OperatorSelector","view","onChangeView","operatorOptions","operators","OPERATORS","currentFilter","filters","find","_filter","field","jsxs","__experimentalHStack","spacing","justify","children","FlexItem","SelectControl","options","onChange","newValue","_view$filters","_view$filters2","currentOperator","newFilters","OPERATORS_SHOULD_RESET_VALUE","shouldResetValue","includes","page","size","variant","__nextHasNoMarginBottom","hideLabelFromVision","Filter","addFilterRef","openedFilter","fields","commonProps","toggleRef","useRef","f","elements","singleSelection","isPrimary","hasValues","canResetOrRemove","Dropdown","defaultOpen","contentClassName","popoverProps","placement","role","onClose","current","focus","renderToggle","isOpen","onToggle","Tooltip","text","toLowerCase","clsx","tabIndex","onClick","onKeyDown","event","key","preventDefault","ref","Icon","icon","closeSmall","renderContent","__experimentalVStack","default"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/filter.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { RefObject } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdown,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tSelectControl,\n\tTooltip,\n\tIcon,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, createInterpolateElement } from '@wordpress/element';\nimport { closeSmall } from '@wordpress/icons';\n\nconst ENTER = 'Enter';\nconst SPACE = ' ';\n\n/**\n * Internal dependencies\n */\nimport SearchWidget from './search-widget';\nimport InputWidget from './input-widget';\nimport {\n\tOPERATORS,\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n\tOPERATOR_LESS_THAN,\n\tOPERATOR_GREATER_THAN,\n\tOPERATOR_LESS_THAN_OR_EQUAL,\n\tOPERATOR_GREATER_THAN_OR_EQUAL,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_BETWEEN,\n\tOPERATOR_ON,\n\tOPERATOR_NOT_ON,\n\tOPERATOR_IN_THE_PAST,\n\tOPERATOR_OVER,\n} from '../../constants';\nimport type {\n\tFilter,\n\tNormalizedFilter,\n\tOperator,\n\tOption,\n\tView,\n\tNormalizedField,\n} from '../../types';\n\ninterface FilterTextProps {\n\tactiveElements: Option[];\n\tfilterInView?: Filter;\n\tfilter: NormalizedFilter;\n}\n\ninterface OperatorSelectorProps {\n\tfilter: NormalizedFilter;\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n}\n\ninterface FilterProps extends OperatorSelectorProps {\n\taddFilterRef: RefObject< HTMLButtonElement >;\n\topenedFilter: string | null;\n\tfields: NormalizedField< any >[];\n}\n\nconst FilterText = ( {\n\tactiveElements,\n\tfilterInView,\n\tfilter,\n}: FilterTextProps ) => {\n\tif ( activeElements === undefined || activeElements.length === 0 ) {\n\t\treturn filter.name;\n\t}\n\n\tconst filterTextWrappers = {\n\t\tName: <span className=\"dataviews-filters__summary-filter-text-name\" />,\n\t\tValue: (\n\t\t\t<span className=\"dataviews-filters__summary-filter-text-value\" />\n\t\t),\n\t};\n\n\tif ( filterInView?.operator === OPERATOR_IS_ANY ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is any: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is any: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NONE ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is none: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is none: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT_ALL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is not all: Admin, Editor\". */\n\t\t\t\t__( '<Name>%1$s is not all: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements.map( ( element ) => element.label ).join( ', ' )\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is: Admin\". */\n\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IS_NOT ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Author is not: Admin\". */\n\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_LESS_THAN ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is less than: 10\". */\n\t\t\t\t__( '<Name>%1$s is less than: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_GREATER_THAN ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is greater than: 10\". */\n\t\t\t\t__( '<Name>%1$s is greater than: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_LESS_THAN_OR_EQUAL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is less than or equal to: 10\". */\n\t\t\t\t__(\n\t\t\t\t\t'<Name>%1$s is less than or equal to: </Name><Value>%2$s</Value>'\n\t\t\t\t),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_GREATER_THAN_OR_EQUAL ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Price is greater than or equal to: 10\". */\n\t\t\t\t__(\n\t\t\t\t\t'<Name>%1$s is greater than or equal to: </Name><Value>%2$s</Value>'\n\t\t\t\t),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_CONTAINS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Title contains: Mars\". */\n\t\t\t\t__( '<Name>%1$s contains: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_NOT_CONTAINS ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Description doesn't contain: photo\". */\n\t\t\t\t__( \"<Name>%1$s doesn't contain: </Name><Value>%2$s</Value>\" ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_STARTS_WITH ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Title starts with: Mar\". */\n\t\t\t\t__( '<Name>%1$s starts with: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_BEFORE ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is before: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is before: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_AFTER ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is after: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is after: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_BEFORE_INC ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is on or before: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is on or before: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_AFTER_INC ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is on or after: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is on or after: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_BETWEEN ) {\n\t\tconst { label } = activeElements[ 0 ];\n\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Min value. 3: Max value. e.g.: \"Item count between (inc): 10 and 180\". */\n\t\t\t\t__(\n\t\t\t\t\t'<Name>%1$s between (inc): </Name><Value>%2$s and %3$s</Value>'\n\t\t\t\t),\n\t\t\t\tfilter.name,\n\t\t\t\tlabel[ 0 ],\n\t\t\t\tlabel[ 1 ]\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_ON ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_NOT_ON ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is not: 2024-01-01\". */\n\t\t\t\t__( '<Name>%1$s is not: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\tactiveElements[ 0 ].label\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_IN_THE_PAST ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is in the past: 1 days\". */\n\t\t\t\t__( '<Name>%1$s is in the past: </Name><Value>%2$s</Value>' ),\n\t\t\t\tfilter.name,\n\t\t\t\t`${ activeElements[ 0 ].value.value } ${ activeElements[ 0 ].value.unit }`\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\n\tif ( filterInView?.operator === OPERATOR_OVER ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: 1: Filter name. 2: Filter value. e.g.: \"Date is over: 1 days ago\". */\n\t\t\t\t__( '<Name>%1$s is over: </Name><Value>%2$s</Value> ago' ),\n\t\t\t\tfilter.name,\n\t\t\t\t`${ activeElements[ 0 ].value.value } ${ activeElements[ 0 ].value.unit }`\n\t\t\t),\n\t\t\tfilterTextWrappers\n\t\t);\n\t}\n\treturn sprintf(\n\t\t/* translators: 1: Filter name e.g.: \"Unknown status for Author\". */\n\t\t__( 'Unknown status for %1$s' ),\n\t\tfilter.name\n\t);\n};\n\nfunction OperatorSelector( {\n\tfilter,\n\tview,\n\tonChangeView,\n}: OperatorSelectorProps ) {\n\tconst operatorOptions = filter.operators?.map( ( operator ) => ( {\n\t\tvalue: operator,\n\t\tlabel: OPERATORS[ operator ]?.label,\n\t} ) );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst value = currentFilter?.operator || filter.operators[ 0 ];\n\treturn (\n\t\toperatorOptions.length > 1 && (\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tclassName=\"dataviews-filters__summary-operators-container\"\n\t\t\t>\n\t\t\t\t<FlexItem className=\"dataviews-filters__summary-operators-filter-name\">\n\t\t\t\t\t{ filter.name }\n\t\t\t\t</FlexItem>\n\n\t\t\t\t<SelectControl\n\t\t\t\t\tclassName=\"dataviews-filters__summary-operators-filter-select\"\n\t\t\t\t\tlabel={ __( 'Conditions' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\toptions={ operatorOptions }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tconst operator = newValue as Operator;\n\t\t\t\t\t\tconst currentOperator = currentFilter?.operator;\n\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t_filter.field === filter.field\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t// Reset the value only when switching between operators that have different value types.\n\t\t\t\t\t\t\t\t\t\t\t\tconst OPERATORS_SHOULD_RESET_VALUE =\n\t\t\t\t\t\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOPERATOR_BETWEEN,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOPERATOR_IN_THE_PAST,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOPERATOR_OVER,\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\tconst shouldResetValue =\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentOperator &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t( OPERATORS_SHOULD_RESET_VALUE.includes(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentOperator\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\tOPERATORS_SHOULD_RESET_VALUE.includes(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) );\n\n\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..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: shouldResetValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: _filter.value,\n\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};\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn _filter;\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 ]\n\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\toperator,\n\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t ];\n\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\tfilters: newFilters,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tvariant=\"minimal\"\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t)\n\t);\n}\n\nexport default function Filter( {\n\taddFilterRef,\n\topenedFilter,\n\tfields,\n\t...commonProps\n}: FilterProps ) {\n\tconst toggleRef = useRef< HTMLDivElement >( null );\n\tconst { filter, view, onChangeView } = commonProps;\n\tconst filterInView = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\n\tlet activeElements: Option[] = [];\n\n\tif ( filter.elements.length > 0 ) {\n\t\tactiveElements = filter.elements.filter( ( element ) => {\n\t\t\tif ( filter.singleSelection ) {\n\t\t\t\treturn element.value === filterInView?.value;\n\t\t\t}\n\t\t\treturn filterInView?.value?.includes( element.value );\n\t\t} );\n\t} else if ( filterInView?.value !== undefined ) {\n\t\tactiveElements = [\n\t\t\t{\n\t\t\t\tvalue: filterInView.value,\n\t\t\t\tlabel: filterInView.value,\n\t\t\t},\n\t\t];\n\t}\n\n\tconst isPrimary = filter.isPrimary;\n\tconst hasValues = filterInView?.value !== undefined;\n\tconst canResetOrRemove = ! isPrimary || hasValues;\n\treturn (\n\t\t<Dropdown\n\t\t\tdefaultOpen={ openedFilter === filter.field }\n\t\t\tcontentClassName=\"dataviews-filters__summary-popover\"\n\t\t\tpopoverProps={ { placement: 'bottom-start', role: 'dialog' } }\n\t\t\tonClose={ () => {\n\t\t\t\ttoggleRef.current?.focus();\n\t\t\t} }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<div className=\"dataviews-filters__summary-chip-container\">\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\ttext={ sprintf(\n\t\t\t\t\t\t\t/* translators: 1: Filter name. */\n\t\t\t\t\t\t\t__( 'Filter by: %1$s' ),\n\t\t\t\t\t\t\tfilter.name.toLowerCase()\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'dataviews-filters__summary-chip',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-reset': canResetOrRemove,\n\t\t\t\t\t\t\t\t\t'has-values': hasValues,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\tif ( [ ENTER, SPACE ].includes( event.key ) ) {\n\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-pressed={ isOpen }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\tref={ toggleRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FilterText\n\t\t\t\t\t\t\t\tactiveElements={ activeElements }\n\t\t\t\t\t\t\t\tfilterInView={ filterInView }\n\t\t\t\t\t\t\t\tfilter={ filter }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t\t{ canResetOrRemove && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\ttext={ isPrimary ? __( 'Reset' ) : __( 'Remove' ) }\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-filters__summary-chip-remove',\n\t\t\t\t\t\t\t\t\t{ 'has-values': hasValues }\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\t\tfilters: view.filters?.filter(\n\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_filter.field !== filter.field\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t// If the filter is not primary and can be removed, it will be added\n\t\t\t\t\t\t\t\t\t// back to the available filters from `Add filter` component.\n\t\t\t\t\t\t\t\t\tif ( ! isPrimary ) {\n\t\t\t\t\t\t\t\t\t\taddFilterRef.current?.focus();\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// If is primary, focus the toggle button.\n\t\t\t\t\t\t\t\t\t\ttoggleRef.current?.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon icon={ closeSmall } />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 0 } justify=\"flex-start\">\n\t\t\t\t\t\t<OperatorSelector { ...commonProps } />\n\t\t\t\t\t\t{ commonProps.filter.elements.length > 0 ? (\n\t\t\t\t\t\t\t<SearchWidget\n\t\t\t\t\t\t\t\t{ ...commonProps }\n\t\t\t\t\t\t\t\tfilter={ {\n\t\t\t\t\t\t\t\t\t...commonProps.filter,\n\t\t\t\t\t\t\t\t\telements: commonProps.filter.elements,\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\t\t<InputWidget { ...commonProps } fields={ fields } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -53,7 +53,13 @@ function InputWidget({
53
53
  filters: ((_view$filters2 = view.filters) !== null && _view$filters2 !== void 0 ? _view$filters2 : []).map(_filter => _filter.field === filter.field ? {
54
54
  ..._filter,
55
55
  operator: currentFilter.operator || filter.operators[0],
56
- value: nextValue
56
+ // Consider empty strings as undefined:
57
+ //
58
+ // - undefined as value means the filter is unset: the filter widget displays no value and the search returns all records
59
+ // - empty string as value means "search empty string": returns only the records that have an empty string as value
60
+ //
61
+ // In practice, this means the filter will not be able to find an empty string as the value.
62
+ value: nextValue === '' ? undefined : nextValue
57
63
  } : _filter)
58
64
  });
59
65
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_es","_interopRequireDefault","require","_compose","_element","_components","_utils","_jsxRuntime","InputWidget","filter","view","onChangeView","fields","currentFilter","filters","find","f","field","id","currentValue","getCurrentValue","data","useMemo","_view$filters","reduce","acc","value","handleChange","useEvent","updatedData","_view$filters2","nextValue","fastDeepEqual","map","_filter","operator","operators","Edit","jsx","Flex","className","gap","direction","children","hideLabelFromVision","onChange"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/input-widget.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useEvent } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\nimport { Flex } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { View, NormalizedFilter, NormalizedField } from '../../types';\nimport { getCurrentValue } from './utils';\n\ninterface UserInputWidgetProps {\n\tview: View;\n\tfilter: NormalizedFilter;\n\tonChangeView: ( view: View ) => void;\n\tfields: NormalizedField< any >[];\n}\n\nexport default function InputWidget( {\n\tfilter,\n\tview,\n\tonChangeView,\n\tfields,\n}: UserInputWidgetProps ) {\n\tconst currentFilter = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\n\tconst field = fields.find( ( f ) => f.id === filter.field );\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\tconst data = useMemo( () => {\n\t\treturn ( view.filters ?? [] ).reduce(\n\t\t\t( acc, f ) => {\n\t\t\t\tacc[ f.field ] = f.value;\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{} as Record< string, any >\n\t\t);\n\t}, [ view.filters ] );\n\n\tconst handleChange = useEvent( ( updatedData: Record< string, any > ) => {\n\t\tif ( ! field || ! currentFilter ) {\n\t\t\treturn;\n\t\t}\n\t\tconst nextValue = updatedData[ field.id ];\n\t\tif ( fastDeepEqual( nextValue, currentValue ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonChangeView( {\n\t\t\t...view,\n\t\t\tfilters: ( view.filters ?? [] ).map( ( _filter ) =>\n\t\t\t\t_filter.field === filter.field\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\tcurrentFilter.operator || filter.operators[ 0 ],\n\t\t\t\t\t\t\tvalue: nextValue,\n\t\t\t\t\t }\n\t\t\t\t\t: _filter\n\t\t\t),\n\t\t} );\n\t} );\n\n\tif ( ! field || ! field.Edit || ! currentFilter ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Flex\n\t\t\tclassName=\"dataviews-filters__user-input-widget\"\n\t\t\tgap={ 2.5 }\n\t\t\tdirection=\"column\"\n\t\t>\n\t\t\t<field.Edit\n\t\t\t\thideLabelFromVision\n\t\t\t\tdata={ data }\n\t\t\t\tfield={ field }\n\t\t\t\toperator={ currentFilter.operator }\n\t\t\t\tonChange={ handleChange }\n\t\t\t/>\n\t\t</Flex>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAMA,IAAAI,MAAA,GAAAJ,OAAA;AAA0C,IAAAK,WAAA,GAAAL,OAAA;AAhB1C;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAWe,SAASM,WAAWA,CAAE;EACpCC,MAAM;EACNC,IAAI;EACJC,YAAY;EACZC;AACqB,CAAC,EAAG;EACzB,MAAMC,aAAa,GAAGH,IAAI,CAACI,OAAO,EAAEC,IAAI,CACrCC,CAAC,IAAMA,CAAC,CAACC,KAAK,KAAKR,MAAM,CAACQ,KAC7B,CAAC;EAED,MAAMA,KAAK,GAAGL,MAAM,CAACG,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACE,EAAE,KAAKT,MAAM,CAACQ,KAAM,CAAC;EAC3D,MAAME,YAAY,GAAG,IAAAC,sBAAe,EAAEX,MAAM,EAAEI,aAAc,CAAC;EAC7D,MAAMQ,IAAI,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAAA,IAAAC,aAAA;IAC3B,OAAO,EAAAA,aAAA,GAAEb,IAAI,CAACI,OAAO,cAAAS,aAAA,cAAAA,aAAA,GAAI,EAAE,EAAGC,MAAM,CACnC,CAAEC,GAAG,EAAET,CAAC,KAAM;MACbS,GAAG,CAAET,CAAC,CAACC,KAAK,CAAE,GAAGD,CAAC,CAACU,KAAK;MACxB,OAAOD,GAAG;IACX,CAAC,EACD,CAAC,CACF,CAAC;EACF,CAAC,EAAE,CAAEf,IAAI,CAACI,OAAO,CAAG,CAAC;EAErB,MAAMa,YAAY,GAAG,IAAAC,iBAAQ,EAAIC,WAAkC,IAAM;IAAA,IAAAC,cAAA;IACxE,IAAK,CAAEb,KAAK,IAAI,CAAEJ,aAAa,EAAG;MACjC;IACD;IACA,MAAMkB,SAAS,GAAGF,WAAW,CAAEZ,KAAK,CAACC,EAAE,CAAE;IACzC,IAAK,IAAAc,WAAa,EAAED,SAAS,EAAEZ,YAAa,CAAC,EAAG;MAC/C;IACD;IAEAR,YAAY,CAAE;MACb,GAAGD,IAAI;MACPI,OAAO,EAAE,EAAAgB,cAAA,GAAEpB,IAAI,CAACI,OAAO,cAAAgB,cAAA,cAAAA,cAAA,GAAI,EAAE,EAAGG,GAAG,CAAIC,OAAO,IAC7CA,OAAO,CAACjB,KAAK,KAAKR,MAAM,CAACQ,KAAK,GAC3B;QACA,GAAGiB,OAAO;QACVC,QAAQ,EACPtB,aAAa,CAACsB,QAAQ,IAAI1B,MAAM,CAAC2B,SAAS,CAAE,CAAC,CAAE;QAChDV,KAAK,EAAEK;MACP,CAAC,GACDG,OACJ;IACD,CAAE,CAAC;EACJ,CAAE,CAAC;EAEH,IAAK,CAAEjB,KAAK,IAAI,CAAEA,KAAK,CAACoB,IAAI,IAAI,CAAExB,aAAa,EAAG;IACjD,OAAO,IAAI;EACZ;EAEA,oBACC,IAAAN,WAAA,CAAA+B,GAAA,EAACjC,WAAA,CAAAkC,IAAI;IACJC,SAAS,EAAC,sCAAsC;IAChDC,GAAG,EAAG,GAAK;IACXC,SAAS,EAAC,QAAQ;IAAAC,QAAA,eAElB,IAAApC,WAAA,CAAA+B,GAAA,EAACrB,KAAK,CAACoB,IAAI;MACVO,mBAAmB;MACnBvB,IAAI,EAAGA,IAAM;MACbJ,KAAK,EAAGA,KAAO;MACfkB,QAAQ,EAAGtB,aAAa,CAACsB,QAAU;MACnCU,QAAQ,EAAGlB;IAAc,CACzB;EAAC,CACG,CAAC;AAET","ignoreList":[]}
1
+ {"version":3,"names":["_es","_interopRequireDefault","require","_compose","_element","_components","_utils","_jsxRuntime","InputWidget","filter","view","onChangeView","fields","currentFilter","filters","find","f","field","id","currentValue","getCurrentValue","data","useMemo","_view$filters","reduce","acc","value","handleChange","useEvent","updatedData","_view$filters2","nextValue","fastDeepEqual","map","_filter","operator","operators","undefined","Edit","jsx","Flex","className","gap","direction","children","hideLabelFromVision","onChange"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/input-widget.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport fastDeepEqual from 'fast-deep-equal/es6';\n\n/**\n * WordPress dependencies\n */\nimport { useEvent } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\nimport { Flex } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { View, NormalizedFilter, NormalizedField } from '../../types';\nimport { getCurrentValue } from './utils';\n\ninterface UserInputWidgetProps {\n\tview: View;\n\tfilter: NormalizedFilter;\n\tonChangeView: ( view: View ) => void;\n\tfields: NormalizedField< any >[];\n}\n\nexport default function InputWidget( {\n\tfilter,\n\tview,\n\tonChangeView,\n\tfields,\n}: UserInputWidgetProps ) {\n\tconst currentFilter = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\n\tconst field = fields.find( ( f ) => f.id === filter.field );\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\tconst data = useMemo( () => {\n\t\treturn ( view.filters ?? [] ).reduce(\n\t\t\t( acc, f ) => {\n\t\t\t\tacc[ f.field ] = f.value;\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{} as Record< string, any >\n\t\t);\n\t}, [ view.filters ] );\n\n\tconst handleChange = useEvent( ( updatedData: Record< string, any > ) => {\n\t\tif ( ! field || ! currentFilter ) {\n\t\t\treturn;\n\t\t}\n\t\tconst nextValue = updatedData[ field.id ];\n\t\tif ( fastDeepEqual( nextValue, currentValue ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonChangeView( {\n\t\t\t...view,\n\t\t\tfilters: ( view.filters ?? [] ).map( ( _filter ) =>\n\t\t\t\t_filter.field === filter.field\n\t\t\t\t\t? {\n\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\tcurrentFilter.operator || filter.operators[ 0 ],\n\t\t\t\t\t\t\t// Consider empty strings as undefined:\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// - undefined as value means the filter is unset: the filter widget displays no value and the search returns all records\n\t\t\t\t\t\t\t// - empty string as value means \"search empty string\": returns only the records that have an empty string as value\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// In practice, this means the filter will not be able to find an empty string as the value.\n\t\t\t\t\t\t\tvalue: nextValue === '' ? undefined : nextValue,\n\t\t\t\t\t }\n\t\t\t\t\t: _filter\n\t\t\t),\n\t\t} );\n\t} );\n\n\tif ( ! field || ! field.Edit || ! currentFilter ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Flex\n\t\t\tclassName=\"dataviews-filters__user-input-widget\"\n\t\t\tgap={ 2.5 }\n\t\t\tdirection=\"column\"\n\t\t>\n\t\t\t<field.Edit\n\t\t\t\thideLabelFromVision\n\t\t\t\tdata={ data }\n\t\t\t\tfield={ field }\n\t\t\t\toperator={ currentFilter.operator }\n\t\t\t\tonChange={ handleChange }\n\t\t\t/>\n\t\t</Flex>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAMA,IAAAI,MAAA,GAAAJ,OAAA;AAA0C,IAAAK,WAAA,GAAAL,OAAA;AAhB1C;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAWe,SAASM,WAAWA,CAAE;EACpCC,MAAM;EACNC,IAAI;EACJC,YAAY;EACZC;AACqB,CAAC,EAAG;EACzB,MAAMC,aAAa,GAAGH,IAAI,CAACI,OAAO,EAAEC,IAAI,CACrCC,CAAC,IAAMA,CAAC,CAACC,KAAK,KAAKR,MAAM,CAACQ,KAC7B,CAAC;EAED,MAAMA,KAAK,GAAGL,MAAM,CAACG,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACE,EAAE,KAAKT,MAAM,CAACQ,KAAM,CAAC;EAC3D,MAAME,YAAY,GAAG,IAAAC,sBAAe,EAAEX,MAAM,EAAEI,aAAc,CAAC;EAC7D,MAAMQ,IAAI,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAAA,IAAAC,aAAA;IAC3B,OAAO,EAAAA,aAAA,GAAEb,IAAI,CAACI,OAAO,cAAAS,aAAA,cAAAA,aAAA,GAAI,EAAE,EAAGC,MAAM,CACnC,CAAEC,GAAG,EAAET,CAAC,KAAM;MACbS,GAAG,CAAET,CAAC,CAACC,KAAK,CAAE,GAAGD,CAAC,CAACU,KAAK;MACxB,OAAOD,GAAG;IACX,CAAC,EACD,CAAC,CACF,CAAC;EACF,CAAC,EAAE,CAAEf,IAAI,CAACI,OAAO,CAAG,CAAC;EAErB,MAAMa,YAAY,GAAG,IAAAC,iBAAQ,EAAIC,WAAkC,IAAM;IAAA,IAAAC,cAAA;IACxE,IAAK,CAAEb,KAAK,IAAI,CAAEJ,aAAa,EAAG;MACjC;IACD;IACA,MAAMkB,SAAS,GAAGF,WAAW,CAAEZ,KAAK,CAACC,EAAE,CAAE;IACzC,IAAK,IAAAc,WAAa,EAAED,SAAS,EAAEZ,YAAa,CAAC,EAAG;MAC/C;IACD;IAEAR,YAAY,CAAE;MACb,GAAGD,IAAI;MACPI,OAAO,EAAE,EAAAgB,cAAA,GAAEpB,IAAI,CAACI,OAAO,cAAAgB,cAAA,cAAAA,cAAA,GAAI,EAAE,EAAGG,GAAG,CAAIC,OAAO,IAC7CA,OAAO,CAACjB,KAAK,KAAKR,MAAM,CAACQ,KAAK,GAC3B;QACA,GAAGiB,OAAO;QACVC,QAAQ,EACPtB,aAAa,CAACsB,QAAQ,IAAI1B,MAAM,CAAC2B,SAAS,CAAE,CAAC,CAAE;QAChD;QACA;QACA;QACA;QACA;QACA;QACAV,KAAK,EAAEK,SAAS,KAAK,EAAE,GAAGM,SAAS,GAAGN;MACtC,CAAC,GACDG,OACJ;IACD,CAAE,CAAC;EACJ,CAAE,CAAC;EAEH,IAAK,CAAEjB,KAAK,IAAI,CAAEA,KAAK,CAACqB,IAAI,IAAI,CAAEzB,aAAa,EAAG;IACjD,OAAO,IAAI;EACZ;EAEA,oBACC,IAAAN,WAAA,CAAAgC,GAAA,EAAClC,WAAA,CAAAmC,IAAI;IACJC,SAAS,EAAC,sCAAsC;IAChDC,GAAG,EAAG,GAAK;IACXC,SAAS,EAAC,QAAQ;IAAAC,QAAA,eAElB,IAAArC,WAAA,CAAAgC,GAAA,EAACtB,KAAK,CAACqB,IAAI;MACVO,mBAAmB;MACnBxB,IAAI,EAAGA,IAAM;MACbJ,KAAK,EAAGA,KAAO;MACfkB,QAAQ,EAAGtB,aAAa,CAACsB,QAAU;MACnCW,QAAQ,EAAGnB;IAAc,CACzB;EAAC,CACG,CAAC;AAET","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = Boolean;
7
7
  var _components = require("@wordpress/components");
8
+ var _lockUnlock = require("../lock-unlock");
8
9
  var _jsxRuntime = require("react/jsx-runtime");
9
10
  /**
10
11
  * WordPress dependencies
@@ -14,6 +15,9 @@ var _jsxRuntime = require("react/jsx-runtime");
14
15
  * Internal dependencies
15
16
  */
16
17
 
18
+ const {
19
+ ValidatedToggleControl
20
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
17
21
  function Boolean({
18
22
  field,
19
23
  onChange,
@@ -25,7 +29,17 @@ function Boolean({
25
29
  getValue,
26
30
  label
27
31
  } = field;
28
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ValidatedToggleControl, {
33
+ required: !!field.isValid.required,
34
+ customValidator: newValue => {
35
+ if (field.isValid?.custom) {
36
+ return field.isValid.custom({
37
+ ...data,
38
+ [id]: newValue
39
+ }, field);
40
+ }
41
+ return null;
42
+ },
29
43
  hidden: hideLabelFromVision,
30
44
  __nextHasNoMarginBottom: true,
31
45
  label: label,
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_jsxRuntime","Boolean","field","onChange","data","hideLabelFromVision","id","getValue","label","jsx","ToggleControl","hidden","__nextHasNoMarginBottom","checked","item"],"sources":["@wordpress/dataviews/src/dataform-controls/boolean.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToggleControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { DataFormControlProps } from '../types';\n\nexport default function Boolean< Item >( {\n\tfield,\n\tonChange,\n\tdata,\n\thideLabelFromVision,\n}: DataFormControlProps< Item > ) {\n\tconst { id, getValue, label } = field;\n\n\treturn (\n\t\t<ToggleControl\n\t\t\thidden={ hideLabelFromVision }\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ label }\n\t\t\tchecked={ getValue( { item: data } ) }\n\t\t\tonChange={ () =>\n\t\t\t\tonChange( { [ id ]: ! getValue( { item: data } ) } )\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAAsD,IAAAC,WAAA,GAAAD,OAAA;AAHtD;AACA;AACA;;AAGA;AACA;AACA;;AAGe,SAASE,OAAOA,CAAU;EACxCC,KAAK;EACLC,QAAQ;EACRC,IAAI;EACJC;AAC6B,CAAC,EAAG;EACjC,MAAM;IAAEC,EAAE;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGN,KAAK;EAErC,oBACC,IAAAF,WAAA,CAAAS,GAAA,EAACX,WAAA,CAAAY,aAAa;IACbC,MAAM,EAAGN,mBAAqB;IAC9BO,uBAAuB;IACvBJ,KAAK,EAAGA,KAAO;IACfK,OAAO,EAAGN,QAAQ,CAAE;MAAEO,IAAI,EAAEV;IAAK,CAAE,CAAG;IACtCD,QAAQ,EAAGA,CAAA,KACVA,QAAQ,CAAE;MAAE,CAAEG,EAAE,GAAI,CAAEC,QAAQ,CAAE;QAAEO,IAAI,EAAEV;MAAK,CAAE;IAAE,CAAE;EACnD,CACD,CAAC;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_lockUnlock","_jsxRuntime","ValidatedToggleControl","unlock","privateApis","Boolean","field","onChange","data","hideLabelFromVision","id","getValue","label","jsx","required","isValid","customValidator","newValue","custom","hidden","__nextHasNoMarginBottom","checked","item"],"sources":["@wordpress/dataviews/src/dataform-controls/boolean.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport type { DataFormControlProps } from '../types';\nimport { unlock } from '../lock-unlock';\n\nconst { ValidatedToggleControl } = unlock( privateApis );\n\nexport default function Boolean< Item >( {\n\tfield,\n\tonChange,\n\tdata,\n\thideLabelFromVision,\n}: DataFormControlProps< Item > ) {\n\tconst { id, getValue, label } = field;\n\n\treturn (\n\t\t<ValidatedToggleControl\n\t\t\trequired={ !! field.isValid.required }\n\t\t\tcustomValidator={ ( newValue: any ) => {\n\t\t\t\tif ( field.isValid?.custom ) {\n\t\t\t\t\treturn field.isValid.custom(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t[ id ]: newValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfield\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t} }\n\t\t\thidden={ hideLabelFromVision }\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ label }\n\t\t\tchecked={ getValue( { item: data } ) }\n\t\t\tonChange={ () =>\n\t\t\t\tonChange( { [ id ]: ! getValue( { item: data } ) } )\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAMA,IAAAC,WAAA,GAAAD,OAAA;AAAwC,IAAAE,WAAA,GAAAF,OAAA;AATxC;AACA;AACA;;AAGA;AACA;AACA;;AAIA,MAAM;EAAEG;AAAuB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAY,CAAC;AAEzC,SAASC,OAAOA,CAAU;EACxCC,KAAK;EACLC,QAAQ;EACRC,IAAI;EACJC;AAC6B,CAAC,EAAG;EACjC,MAAM;IAAEC,EAAE;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAGN,KAAK;EAErC,oBACC,IAAAL,WAAA,CAAAY,GAAA,EAACX,sBAAsB;IACtBY,QAAQ,EAAG,CAAC,CAAER,KAAK,CAACS,OAAO,CAACD,QAAU;IACtCE,eAAe,EAAKC,QAAa,IAAM;MACtC,IAAKX,KAAK,CAACS,OAAO,EAAEG,MAAM,EAAG;QAC5B,OAAOZ,KAAK,CAACS,OAAO,CAACG,MAAM,CAC1B;UACC,GAAGV,IAAI;UACP,CAAEE,EAAE,GAAIO;QACT,CAAC,EACDX,KACD,CAAC;MACF;MAEA,OAAO,IAAI;IACZ,CAAG;IACHa,MAAM,EAAGV,mBAAqB;IAC9BW,uBAAuB;IACvBR,KAAK,EAAGA,KAAO;IACfS,OAAO,EAAGV,QAAQ,CAAE;MAAEW,IAAI,EAAEd;IAAK,CAAE,CAAG;IACtCD,QAAQ,EAAGA,CAAA,KACVA,QAAQ,CAAE;MAAE,CAAEG,EAAE,GAAI,CAAEC,QAAQ,CAAE;QAAEW,IAAI,EAAEd;MAAK,CAAE;IAAE,CAAE;EACnD,CACD,CAAC;AAEJ","ignoreList":[]}