@wordpress/dataviews 4.9.1-next.cd6172eb0.0 → 4.10.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 (163) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +33 -58
  3. package/build/components/dataviews/index.js +1 -0
  4. package/build/components/dataviews/index.js.map +1 -1
  5. package/build/components/dataviews-bulk-actions/index.js +30 -2
  6. package/build/components/dataviews-bulk-actions/index.js.map +1 -1
  7. package/build/components/dataviews-filters/add-filter.js +1 -0
  8. package/build/components/dataviews-filters/add-filter.js.map +1 -1
  9. package/build/components/dataviews-filters/filter-summary.js +1 -0
  10. package/build/components/dataviews-filters/filter-summary.js.map +1 -1
  11. package/build/components/dataviews-filters/index.js +1 -0
  12. package/build/components/dataviews-filters/index.js.map +1 -1
  13. package/build/components/dataviews-filters/reset-filters.js +1 -0
  14. package/build/components/dataviews-filters/reset-filters.js.map +1 -1
  15. package/build/components/dataviews-filters/search-widget.js +1 -0
  16. package/build/components/dataviews-filters/search-widget.js.map +1 -1
  17. package/build/components/dataviews-item-actions/index.js +59 -75
  18. package/build/components/dataviews-item-actions/index.js.map +1 -1
  19. package/build/components/dataviews-layout/index.js +1 -0
  20. package/build/components/dataviews-layout/index.js.map +1 -1
  21. package/build/components/dataviews-pagination/index.js +1 -0
  22. package/build/components/dataviews-pagination/index.js.map +1 -1
  23. package/build/components/dataviews-selection-checkbox/index.js +4 -3
  24. package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
  25. package/build/components/dataviews-view-config/index.js +195 -126
  26. package/build/components/dataviews-view-config/index.js.map +1 -1
  27. package/build/dataforms-layouts/data-form-layout.js +1 -0
  28. package/build/dataforms-layouts/data-form-layout.js.map +1 -1
  29. package/build/dataforms-layouts/index.js +1 -0
  30. package/build/dataforms-layouts/index.js.map +1 -1
  31. package/build/dataforms-layouts/panel/index.js +1 -0
  32. package/build/dataforms-layouts/panel/index.js.map +1 -1
  33. package/build/dataforms-layouts/regular/index.js +1 -0
  34. package/build/dataforms-layouts/regular/index.js.map +1 -1
  35. package/build/dataviews-layouts/grid/index.js +102 -66
  36. package/build/dataviews-layouts/grid/index.js.map +1 -1
  37. package/build/dataviews-layouts/index.js +0 -60
  38. package/build/dataviews-layouts/index.js.map +1 -1
  39. package/build/dataviews-layouts/list/index.js +44 -17
  40. package/build/dataviews-layouts/list/index.js.map +1 -1
  41. package/build/dataviews-layouts/table/column-header-menu.js +20 -24
  42. package/build/dataviews-layouts/table/column-header-menu.js.map +1 -1
  43. package/build/dataviews-layouts/table/column-primary.js +55 -0
  44. package/build/dataviews-layouts/table/column-primary.js.map +1 -0
  45. package/build/dataviews-layouts/table/index.js +74 -88
  46. package/build/dataviews-layouts/table/index.js.map +1 -1
  47. package/build/dataviews-layouts/utils/get-clickable-item-props.js +2 -2
  48. package/build/dataviews-layouts/utils/get-clickable-item-props.js.map +1 -1
  49. package/build/filter-and-sort-data-view.js +1 -0
  50. package/build/filter-and-sort-data-view.js.map +1 -1
  51. package/build/normalize-fields.js +1 -0
  52. package/build/normalize-fields.js.map +1 -1
  53. package/build/normalize-form-fields.js +1 -0
  54. package/build/normalize-form-fields.js.map +1 -1
  55. package/build/types.js.map +1 -1
  56. package/build/utils.js +1 -0
  57. package/build/utils.js.map +1 -1
  58. package/build/validation.js +1 -0
  59. package/build/validation.js.map +1 -1
  60. package/build-module/components/dataviews/index.js +1 -0
  61. package/build-module/components/dataviews/index.js.map +1 -1
  62. package/build-module/components/dataviews-bulk-actions/index.js +31 -3
  63. package/build-module/components/dataviews-bulk-actions/index.js.map +1 -1
  64. package/build-module/components/dataviews-filters/add-filter.js +1 -0
  65. package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
  66. package/build-module/components/dataviews-filters/filter-summary.js +1 -0
  67. package/build-module/components/dataviews-filters/filter-summary.js.map +1 -1
  68. package/build-module/components/dataviews-filters/index.js +1 -0
  69. package/build-module/components/dataviews-filters/index.js.map +1 -1
  70. package/build-module/components/dataviews-filters/reset-filters.js +1 -0
  71. package/build-module/components/dataviews-filters/reset-filters.js.map +1 -1
  72. package/build-module/components/dataviews-filters/search-widget.js +1 -0
  73. package/build-module/components/dataviews-filters/search-widget.js.map +1 -1
  74. package/build-module/components/dataviews-item-actions/index.js +60 -75
  75. package/build-module/components/dataviews-item-actions/index.js.map +1 -1
  76. package/build-module/components/dataviews-layout/index.js +1 -0
  77. package/build-module/components/dataviews-layout/index.js.map +1 -1
  78. package/build-module/components/dataviews-pagination/index.js +1 -0
  79. package/build-module/components/dataviews-pagination/index.js.map +1 -1
  80. package/build-module/components/dataviews-selection-checkbox/index.js +4 -3
  81. package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
  82. package/build-module/components/dataviews-view-config/index.js +199 -130
  83. package/build-module/components/dataviews-view-config/index.js.map +1 -1
  84. package/build-module/dataforms-layouts/data-form-layout.js +1 -0
  85. package/build-module/dataforms-layouts/data-form-layout.js.map +1 -1
  86. package/build-module/dataforms-layouts/index.js +1 -0
  87. package/build-module/dataforms-layouts/index.js.map +1 -1
  88. package/build-module/dataforms-layouts/panel/index.js +1 -0
  89. package/build-module/dataforms-layouts/panel/index.js.map +1 -1
  90. package/build-module/dataforms-layouts/regular/index.js +1 -0
  91. package/build-module/dataforms-layouts/regular/index.js.map +1 -1
  92. package/build-module/dataviews-layouts/grid/index.js +103 -67
  93. package/build-module/dataviews-layouts/grid/index.js.map +1 -1
  94. package/build-module/dataviews-layouts/index.js +0 -57
  95. package/build-module/dataviews-layouts/index.js.map +1 -1
  96. package/build-module/dataviews-layouts/list/index.js +44 -17
  97. package/build-module/dataviews-layouts/list/index.js.map +1 -1
  98. package/build-module/dataviews-layouts/table/column-header-menu.js +20 -24
  99. package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -1
  100. package/build-module/dataviews-layouts/table/column-primary.js +48 -0
  101. package/build-module/dataviews-layouts/table/column-primary.js.map +1 -0
  102. package/build-module/dataviews-layouts/table/index.js +77 -91
  103. package/build-module/dataviews-layouts/table/index.js.map +1 -1
  104. package/build-module/dataviews-layouts/utils/get-clickable-item-props.js +2 -2
  105. package/build-module/dataviews-layouts/utils/get-clickable-item-props.js.map +1 -1
  106. package/build-module/filter-and-sort-data-view.js +1 -0
  107. package/build-module/filter-and-sort-data-view.js.map +1 -1
  108. package/build-module/normalize-fields.js +1 -0
  109. package/build-module/normalize-fields.js.map +1 -1
  110. package/build-module/normalize-form-fields.js +1 -0
  111. package/build-module/normalize-form-fields.js.map +1 -1
  112. package/build-module/types.js.map +1 -1
  113. package/build-module/utils.js +1 -0
  114. package/build-module/utils.js.map +1 -1
  115. package/build-module/validation.js +1 -0
  116. package/build-module/validation.js.map +1 -1
  117. package/build-style/style-rtl.css +87 -75
  118. package/build-style/style.css +87 -75
  119. package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
  120. package/build-types/components/dataviews/stories/index.story.d.ts +0 -1
  121. package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
  122. package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -1
  123. package/build-types/components/dataviews-item-actions/index.d.ts +7 -9
  124. package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -1
  125. package/build-types/components/dataviews-selection-checkbox/index.d.ts +2 -2
  126. package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -1
  127. package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
  128. package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
  129. package/build-types/dataviews-layouts/index.d.ts +0 -4
  130. package/build-types/dataviews-layouts/index.d.ts.map +1 -1
  131. package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
  132. package/build-types/dataviews-layouts/table/column-header-menu.d.ts +1 -0
  133. package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -1
  134. package/build-types/dataviews-layouts/table/column-primary.d.ts +14 -0
  135. package/build-types/dataviews-layouts/table/column-primary.d.ts.map +1 -0
  136. package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
  137. package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts +3 -3
  138. package/build-types/dataviews-layouts/utils/get-clickable-item-props.d.ts.map +1 -1
  139. package/build-types/types.d.ts +20 -39
  140. package/build-types/types.d.ts.map +1 -1
  141. package/build-wp/index.js +1185 -1317
  142. package/build.js +1 -1
  143. package/package.json +10 -10
  144. package/src/components/dataviews/stories/fixtures.tsx +0 -3
  145. package/src/components/dataviews/stories/index.story.tsx +14 -106
  146. package/src/components/dataviews/style.scss +33 -33
  147. package/src/components/dataviews-bulk-actions/index.tsx +43 -3
  148. package/src/components/dataviews-item-actions/index.tsx +84 -99
  149. package/src/components/dataviews-selection-checkbox/index.tsx +4 -4
  150. package/src/components/dataviews-view-config/index.tsx +301 -195
  151. package/src/components/dataviews-view-config/style.scss +17 -0
  152. package/src/dataviews-layouts/grid/index.tsx +136 -101
  153. package/src/dataviews-layouts/grid/style.scss +16 -25
  154. package/src/dataviews-layouts/index.ts +0 -88
  155. package/src/dataviews-layouts/list/index.tsx +62 -32
  156. package/src/dataviews-layouts/list/style.scss +5 -4
  157. package/src/dataviews-layouts/table/column-header-menu.tsx +94 -86
  158. package/src/dataviews-layouts/table/column-primary.tsx +58 -0
  159. package/src/dataviews-layouts/table/index.tsx +88 -133
  160. package/src/dataviews-layouts/table/style.scss +4 -0
  161. package/src/dataviews-layouts/utils/get-clickable-item-props.ts +9 -3
  162. package/src/types.ts +21 -46
  163. package/tsconfig.tsbuildinfo +1 -1
@@ -7,14 +7,16 @@ export default function getClickableItemProps< Item >( {
7
7
  item: Item;
8
8
  isItemClickable: ( item: Item ) => boolean;
9
9
  onClickItem?: ( item: Item ) => void;
10
- className: string;
10
+ className?: string;
11
11
  } ) {
12
12
  if ( ! isItemClickable( item ) || ! onClickItem ) {
13
13
  return { className };
14
14
  }
15
15
 
16
16
  return {
17
- className: `${ className } ${ className }--clickable`,
17
+ className: className
18
+ ? `${ className } ${ className }--clickable`
19
+ : undefined,
18
20
  role: 'button',
19
21
  tabIndex: 0,
20
22
  onClick: ( event: React.MouseEvent ) => {
@@ -23,7 +25,11 @@ export default function getClickableItemProps< Item >( {
23
25
  onClickItem( item );
24
26
  },
25
27
  onKeyDown: ( event: React.KeyboardEvent ) => {
26
- if ( event.key === 'Enter' || event.key === '' ) {
28
+ if (
29
+ event.key === 'Enter' ||
30
+ event.key === '' ||
31
+ event.key === ' '
32
+ ) {
27
33
  // Prevents onChangeSelection from triggering.
28
34
  event.stopPropagation();
29
35
  onClickItem( item );
package/src/types.ts CHANGED
@@ -292,24 +292,36 @@ interface ViewBase {
292
292
  * The fields to render
293
293
  */
294
294
  fields?: string[];
295
- }
296
295
 
297
- export interface CombinedField {
298
- id: string;
296
+ /**
297
+ * Title field
298
+ */
299
+ titleField?: string;
299
300
 
300
- label: string;
301
+ /**
302
+ * Media field
303
+ */
304
+ mediaField?: string;
301
305
 
302
- header?: string | ReactElement;
306
+ /**
307
+ * Description field
308
+ */
309
+ descriptionField?: string;
303
310
 
304
311
  /**
305
- * The fields to use as columns.
312
+ * Whether to show the title
306
313
  */
307
- children: string[];
314
+ showTitle?: boolean;
308
315
 
309
316
  /**
310
- * The direction of the stack.
317
+ * Whether to show the media
311
318
  */
312
- direction: 'horizontal' | 'vertical';
319
+ showMedia?: boolean;
320
+
321
+ /**
322
+ * Whether to show the description
323
+ */
324
+ showDescription?: boolean;
313
325
  }
314
326
 
315
327
  export interface ColumnStyle {
@@ -335,16 +347,6 @@ export interface ViewTable extends ViewBase {
335
347
  type: 'table';
336
348
 
337
349
  layout?: {
338
- /**
339
- * The field to use as the primary field.
340
- */
341
- primaryField?: string;
342
-
343
- /**
344
- * The fields to use as columns.
345
- */
346
- combinedFields?: CombinedField[];
347
-
348
350
  /**
349
351
  * The styles for the columns.
350
352
  */
@@ -359,39 +361,12 @@ export interface ViewTable extends ViewBase {
359
361
 
360
362
  export interface ViewList extends ViewBase {
361
363
  type: 'list';
362
-
363
- layout?: {
364
- /**
365
- * The field to use as the primary field.
366
- */
367
- primaryField?: string;
368
-
369
- /**
370
- * The field to use as the media field.
371
- */
372
- mediaField?: string;
373
- };
374
364
  }
375
365
 
376
366
  export interface ViewGrid extends ViewBase {
377
367
  type: 'grid';
378
368
 
379
369
  layout?: {
380
- /**
381
- * The field to use as the primary field.
382
- */
383
- primaryField?: string;
384
-
385
- /**
386
- * The field to use as the media field.
387
- */
388
- mediaField?: string;
389
-
390
- /**
391
- * The fields to use as columns.
392
- */
393
- columnFields?: string[];
394
-
395
370
  /**
396
371
  * The fields to use as badge fields.
397
372
  */