@wordpress/dataviews 0.9.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +0 -8
  3. package/build/add-filter.js.map +1 -1
  4. package/build/bulk-actions.js.map +1 -1
  5. package/build/constants.js.map +1 -1
  6. package/build/dataviews.js +1 -5
  7. package/build/dataviews.js.map +1 -1
  8. package/build/dropdown-menu-helper.js.map +1 -1
  9. package/build/filter-and-sort-data-view.js.map +1 -1
  10. package/build/filter-summary.js +4 -2
  11. package/build/filter-summary.js.map +1 -1
  12. package/build/filters.js.map +1 -1
  13. package/build/index.js.map +1 -1
  14. package/build/item-actions.js.map +1 -1
  15. package/build/lock-unlock.js.map +1 -1
  16. package/build/normalize-fields.js.map +1 -1
  17. package/build/pagination.js.map +1 -1
  18. package/build/reset-filters.js.map +1 -1
  19. package/build/search-widget.js +5 -4
  20. package/build/search-widget.js.map +1 -1
  21. package/build/search.js.map +1 -1
  22. package/build/single-selection-checkbox.js +1 -1
  23. package/build/single-selection-checkbox.js.map +1 -1
  24. package/build/utils.js.map +1 -1
  25. package/build/view-actions.js.map +1 -1
  26. package/build/view-grid.js +43 -15
  27. package/build/view-grid.js.map +1 -1
  28. package/build/view-list.js +4 -22
  29. package/build/view-list.js.map +1 -1
  30. package/build/view-table.js +5 -11
  31. package/build/view-table.js.map +1 -1
  32. package/build-module/add-filter.js.map +1 -1
  33. package/build-module/bulk-actions.js.map +1 -1
  34. package/build-module/constants.js.map +1 -1
  35. package/build-module/dataviews.js +1 -5
  36. package/build-module/dataviews.js.map +1 -1
  37. package/build-module/dropdown-menu-helper.js.map +1 -1
  38. package/build-module/filter-and-sort-data-view.js.map +1 -1
  39. package/build-module/filter-summary.js +3 -2
  40. package/build-module/filter-summary.js.map +1 -1
  41. package/build-module/filters.js.map +1 -1
  42. package/build-module/index.js.map +1 -1
  43. package/build-module/item-actions.js.map +1 -1
  44. package/build-module/lock-unlock.js.map +1 -1
  45. package/build-module/normalize-fields.js.map +1 -1
  46. package/build-module/pagination.js.map +1 -1
  47. package/build-module/reset-filters.js.map +1 -1
  48. package/build-module/search-widget.js +4 -3
  49. package/build-module/search-widget.js.map +1 -1
  50. package/build-module/search.js.map +1 -1
  51. package/build-module/single-selection-checkbox.js +1 -1
  52. package/build-module/single-selection-checkbox.js.map +1 -1
  53. package/build-module/utils.js.map +1 -1
  54. package/build-module/view-actions.js.map +1 -1
  55. package/build-module/view-grid.js +43 -15
  56. package/build-module/view-grid.js.map +1 -1
  57. package/build-module/view-list.js +6 -24
  58. package/build-module/view-list.js.map +1 -1
  59. package/build-module/view-table.js +5 -11
  60. package/build-module/view-table.js.map +1 -1
  61. package/build-style/style-rtl.css +43 -31
  62. package/build-style/style.css +43 -31
  63. package/package.json +11 -11
  64. package/src/dataviews.js +0 -4
  65. package/src/filter-summary.js +4 -4
  66. package/src/search-widget.js +4 -3
  67. package/src/single-selection-checkbox.js +1 -1
  68. package/src/style.scss +45 -38
  69. package/src/view-grid.js +91 -52
  70. package/src/view-list.js +4 -24
  71. package/src/view-table.js +7 -11
@@ -96,7 +96,7 @@
96
96
  --wp-admin-border-width-focus: 2px;
97
97
  --wp-block-synced-color: #7a00df;
98
98
  --wp-block-synced-color--rgb: 122, 0, 223;
99
- --wp-bound-block-color: #9747ff;
99
+ --wp-bound-block-color: var(--wp-block-synced-color);
100
100
  }
101
101
  @media (min-resolution: 192dpi) {
102
102
  :root {
@@ -191,10 +191,6 @@
191
191
  .dataviews-view-table th.dataviews-view-table__checkbox-column {
192
192
  padding-left: 0;
193
193
  }
194
- .dataviews-view-table td .components-checkbox-control__input-container,
195
- .dataviews-view-table th .components-checkbox-control__input-container {
196
- margin: 4px;
197
- }
198
194
  .dataviews-view-table tr {
199
195
  border-bottom: 1px solid #f0f0f0;
200
196
  }
@@ -236,6 +232,12 @@
236
232
  .dataviews-view-table tr:hover .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
237
233
  opacity: 1;
238
234
  }
235
+ @media (hover: none) {
236
+ .dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input,
237
+ .dataviews-view-table tr .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
238
+ opacity: 1;
239
+ }
240
+ }
239
241
  .dataviews-view-table tr.is-selected {
240
242
  background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
241
243
  color: #757575;
@@ -305,7 +307,7 @@
305
307
  .dataviews-view-table__primary-field {
306
308
  font-size: 13px;
307
309
  font-weight: 500;
308
- color: #1e1e1e;
310
+ color: #757575;
309
311
  text-overflow: ellipsis;
310
312
  white-space: nowrap;
311
313
  display: block;
@@ -315,12 +317,12 @@
315
317
  .dataviews-view-grid__primary-field a,
316
318
  .dataviews-view-table__primary-field a {
317
319
  text-decoration: none;
318
- color: inherit;
319
320
  text-overflow: ellipsis;
320
321
  white-space: nowrap;
321
322
  overflow: hidden;
322
323
  display: block;
323
324
  flex-grow: 0;
325
+ color: #1e1e1e;
324
326
  }
325
327
  .dataviews-view-list__primary-field a:hover,
326
328
  .dataviews-view-grid__primary-field a:hover,
@@ -338,13 +340,18 @@
338
340
  .dataviews-view-grid__primary-field button.components-button.is-link,
339
341
  .dataviews-view-table__primary-field button.components-button.is-link {
340
342
  text-decoration: none;
341
- color: inherit;
342
343
  font-weight: inherit;
343
344
  text-overflow: ellipsis;
344
345
  white-space: nowrap;
345
346
  overflow: hidden;
346
347
  display: block;
347
348
  width: 100%;
349
+ color: #1e1e1e;
350
+ }
351
+ .dataviews-view-list__primary-field button.components-button.is-link:hover,
352
+ .dataviews-view-grid__primary-field button.components-button.is-link:hover,
353
+ .dataviews-view-table__primary-field button.components-button.is-link:hover {
354
+ color: var(--wp-admin-theme-color);
348
355
  }
349
356
 
350
357
  .dataviews-view-grid {
@@ -401,8 +408,9 @@
401
408
  line-height: 16px;
402
409
  }
403
410
  .dataviews-view-grid .dataviews-view-grid__fields:not(:empty) {
404
- padding: 12px;
411
+ padding: 12px 0;
405
412
  padding-top: 0;
413
+ margin: 0 12px;
406
414
  }
407
415
  .dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field {
408
416
  align-items: flex-start;
@@ -422,6 +430,21 @@
422
430
  .dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-name {
423
431
  color: #757575;
424
432
  }
433
+ .dataviews-view-grid .dataviews-view-grid__badge-fields:not(:empty) {
434
+ padding: 12px;
435
+ padding-top: 0;
436
+ }
437
+ .dataviews-view-grid .dataviews-view-grid__badge-fields .dataviews-view-grid__field-value {
438
+ width: -moz-fit-content;
439
+ width: fit-content;
440
+ background: #f0f0f0;
441
+ padding: 0 8px;
442
+ min-height: 24px;
443
+ border-radius: 2px;
444
+ display: flex;
445
+ align-items: center;
446
+ font-size: 12px;
447
+ }
425
448
 
426
449
  .dataviews-view-list {
427
450
  margin: 0;
@@ -448,6 +471,9 @@
448
471
  .dataviews-view-list li .dataviews-view-list__item-wrapper > * {
449
472
  width: 100%;
450
473
  }
474
+ .dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field {
475
+ color: #1e1e1e;
476
+ }
451
477
  .dataviews-view-list li:not(.is-selected):hover, .dataviews-view-list li:not(.is-selected):focus-within {
452
478
  color: var(--wp-admin-theme-color);
453
479
  }
@@ -536,18 +562,6 @@
536
562
  .dataviews-view-list + .dataviews-pagination {
537
563
  justify-content: space-between;
538
564
  }
539
- .dataviews-view-list .dataviews-view-list__details-button {
540
- align-self: center;
541
- opacity: 0;
542
- }
543
- .dataviews-view-list li.is-selected .dataviews-view-list__details-button,
544
- .dataviews-view-list li:hover .dataviews-view-list__details-button,
545
- .dataviews-view-list li:focus-within .dataviews-view-list__details-button {
546
- opacity: 1;
547
- }
548
- .dataviews-view-list li.is-selected .dataviews-view-list__details-button:focus {
549
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) currentColor;
550
- }
551
565
 
552
566
  .dataviews-action-modal {
553
567
  z-index: 1000001;
@@ -562,16 +576,14 @@
562
576
  justify-content: center;
563
577
  }
564
578
 
565
- .dataviews-view-table-selection-checkbox label {
566
- position: absolute;
567
- width: 1px;
568
- height: 1px;
569
- padding: 0;
570
- margin: -1px;
571
- overflow: hidden;
572
- clip: rect(0, 0, 0, 0);
573
- white-space: nowrap;
574
- border: 0;
579
+ .dataviews-view-table-selection-checkbox {
580
+ --checkbox-input-size: 24px;
581
+ line-height: 0;
582
+ }
583
+ @media (min-width: 600px) {
584
+ .dataviews-view-table-selection-checkbox {
585
+ --checkbox-input-size: 16px;
586
+ }
575
587
  }
576
588
 
577
589
  .dataviews-filters__custom-menu-radio-item-prefix {
@@ -96,7 +96,7 @@
96
96
  --wp-admin-border-width-focus: 2px;
97
97
  --wp-block-synced-color: #7a00df;
98
98
  --wp-block-synced-color--rgb: 122, 0, 223;
99
- --wp-bound-block-color: #9747ff;
99
+ --wp-bound-block-color: var(--wp-block-synced-color);
100
100
  }
101
101
  @media (min-resolution: 192dpi) {
102
102
  :root {
@@ -191,10 +191,6 @@
191
191
  .dataviews-view-table th.dataviews-view-table__checkbox-column {
192
192
  padding-right: 0;
193
193
  }
194
- .dataviews-view-table td .components-checkbox-control__input-container,
195
- .dataviews-view-table th .components-checkbox-control__input-container {
196
- margin: 4px;
197
- }
198
194
  .dataviews-view-table tr {
199
195
  border-bottom: 1px solid #f0f0f0;
200
196
  }
@@ -236,6 +232,12 @@
236
232
  .dataviews-view-table tr:hover .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
237
233
  opacity: 1;
238
234
  }
235
+ @media (hover: none) {
236
+ .dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input,
237
+ .dataviews-view-table tr .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
238
+ opacity: 1;
239
+ }
240
+ }
239
241
  .dataviews-view-table tr.is-selected {
240
242
  background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
241
243
  color: #757575;
@@ -305,7 +307,7 @@
305
307
  .dataviews-view-table__primary-field {
306
308
  font-size: 13px;
307
309
  font-weight: 500;
308
- color: #1e1e1e;
310
+ color: #757575;
309
311
  text-overflow: ellipsis;
310
312
  white-space: nowrap;
311
313
  display: block;
@@ -315,12 +317,12 @@
315
317
  .dataviews-view-grid__primary-field a,
316
318
  .dataviews-view-table__primary-field a {
317
319
  text-decoration: none;
318
- color: inherit;
319
320
  text-overflow: ellipsis;
320
321
  white-space: nowrap;
321
322
  overflow: hidden;
322
323
  display: block;
323
324
  flex-grow: 0;
325
+ color: #1e1e1e;
324
326
  }
325
327
  .dataviews-view-list__primary-field a:hover,
326
328
  .dataviews-view-grid__primary-field a:hover,
@@ -338,13 +340,18 @@
338
340
  .dataviews-view-grid__primary-field button.components-button.is-link,
339
341
  .dataviews-view-table__primary-field button.components-button.is-link {
340
342
  text-decoration: none;
341
- color: inherit;
342
343
  font-weight: inherit;
343
344
  text-overflow: ellipsis;
344
345
  white-space: nowrap;
345
346
  overflow: hidden;
346
347
  display: block;
347
348
  width: 100%;
349
+ color: #1e1e1e;
350
+ }
351
+ .dataviews-view-list__primary-field button.components-button.is-link:hover,
352
+ .dataviews-view-grid__primary-field button.components-button.is-link:hover,
353
+ .dataviews-view-table__primary-field button.components-button.is-link:hover {
354
+ color: var(--wp-admin-theme-color);
348
355
  }
349
356
 
350
357
  .dataviews-view-grid {
@@ -401,8 +408,9 @@
401
408
  line-height: 16px;
402
409
  }
403
410
  .dataviews-view-grid .dataviews-view-grid__fields:not(:empty) {
404
- padding: 12px;
411
+ padding: 12px 0;
405
412
  padding-top: 0;
413
+ margin: 0 12px;
406
414
  }
407
415
  .dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field {
408
416
  align-items: flex-start;
@@ -422,6 +430,21 @@
422
430
  .dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-name {
423
431
  color: #757575;
424
432
  }
433
+ .dataviews-view-grid .dataviews-view-grid__badge-fields:not(:empty) {
434
+ padding: 12px;
435
+ padding-top: 0;
436
+ }
437
+ .dataviews-view-grid .dataviews-view-grid__badge-fields .dataviews-view-grid__field-value {
438
+ width: -moz-fit-content;
439
+ width: fit-content;
440
+ background: #f0f0f0;
441
+ padding: 0 8px;
442
+ min-height: 24px;
443
+ border-radius: 2px;
444
+ display: flex;
445
+ align-items: center;
446
+ font-size: 12px;
447
+ }
425
448
 
426
449
  .dataviews-view-list {
427
450
  margin: 0;
@@ -448,6 +471,9 @@
448
471
  .dataviews-view-list li .dataviews-view-list__item-wrapper > * {
449
472
  width: 100%;
450
473
  }
474
+ .dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field {
475
+ color: #1e1e1e;
476
+ }
451
477
  .dataviews-view-list li:not(.is-selected):hover, .dataviews-view-list li:not(.is-selected):focus-within {
452
478
  color: var(--wp-admin-theme-color);
453
479
  }
@@ -536,18 +562,6 @@
536
562
  .dataviews-view-list + .dataviews-pagination {
537
563
  justify-content: space-between;
538
564
  }
539
- .dataviews-view-list .dataviews-view-list__details-button {
540
- align-self: center;
541
- opacity: 0;
542
- }
543
- .dataviews-view-list li.is-selected .dataviews-view-list__details-button,
544
- .dataviews-view-list li:hover .dataviews-view-list__details-button,
545
- .dataviews-view-list li:focus-within .dataviews-view-list__details-button {
546
- opacity: 1;
547
- }
548
- .dataviews-view-list li.is-selected .dataviews-view-list__details-button:focus {
549
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) currentColor;
550
- }
551
565
 
552
566
  .dataviews-action-modal {
553
567
  z-index: 1000001;
@@ -562,16 +576,14 @@
562
576
  justify-content: center;
563
577
  }
564
578
 
565
- .dataviews-view-table-selection-checkbox label {
566
- position: absolute;
567
- width: 1px;
568
- height: 1px;
569
- padding: 0;
570
- margin: -1px;
571
- overflow: hidden;
572
- clip: rect(0, 0, 0, 0);
573
- white-space: nowrap;
574
- border: 0;
579
+ .dataviews-view-table-selection-checkbox {
580
+ --checkbox-input-size: 24px;
581
+ line-height: 0;
582
+ }
583
+ @media (min-width: 600px) {
584
+ .dataviews-view-table-selection-checkbox {
585
+ --checkbox-input-size: 16px;
586
+ }
575
587
  }
576
588
 
577
589
  .dataviews-filters__custom-menu-radio-item-prefix {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/dataviews",
3
- "version": "0.9.0",
3
+ "version": "1.0.0",
4
4
  "description": "DataViews is a component that provides an API to render datasets using different types of layouts (table, grid, list, etc.).",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -29,15 +29,15 @@
29
29
  "dependencies": {
30
30
  "@ariakit/react": "^0.3.12",
31
31
  "@babel/runtime": "^7.16.0",
32
- "@wordpress/a11y": "^3.55.0",
33
- "@wordpress/components": "^27.3.0",
34
- "@wordpress/compose": "^6.32.0",
35
- "@wordpress/element": "^5.32.0",
36
- "@wordpress/i18n": "^4.55.0",
37
- "@wordpress/icons": "^9.46.0",
38
- "@wordpress/keycodes": "^3.55.0",
39
- "@wordpress/primitives": "^3.53.0",
40
- "@wordpress/private-apis": "^0.37.0",
32
+ "@wordpress/a11y": "^3.56.0",
33
+ "@wordpress/components": "^27.4.0",
34
+ "@wordpress/compose": "^6.33.0",
35
+ "@wordpress/element": "^5.33.0",
36
+ "@wordpress/i18n": "^4.56.0",
37
+ "@wordpress/icons": "^9.47.0",
38
+ "@wordpress/keycodes": "^3.56.0",
39
+ "@wordpress/primitives": "^3.54.0",
40
+ "@wordpress/private-apis": "^0.38.0",
41
41
  "classnames": "^2.3.1",
42
42
  "remove-accents": "^0.5.0"
43
43
  },
@@ -47,5 +47,5 @@
47
47
  "publishConfig": {
48
48
  "access": "public"
49
49
  },
50
- "gitHead": "ac2b13783c28f959770cf029a797a712f59e1958"
50
+ "gitHead": "280403b4c1cf6cc2c55a6c4d56f9ef91145e4191"
51
51
  }
package/src/dataviews.js CHANGED
@@ -41,8 +41,6 @@ export default function DataViews( {
41
41
  paginationInfo,
42
42
  supportedLayouts,
43
43
  onSelectionChange = defaultOnSelectionChange,
44
- onDetailsChange = null,
45
- deferredRendering = false,
46
44
  } ) {
47
45
  const [ selection, setSelection ] = useState( [] );
48
46
  const [ openedFilter, setOpenedFilter ] = useState( null );
@@ -136,9 +134,7 @@ export default function DataViews( {
136
134
  getItemId={ getItemId }
137
135
  isLoading={ isLoading }
138
136
  onSelectionChange={ onSetSelection }
139
- onDetailsChange={ onDetailsChange }
140
137
  selection={ selection }
141
- deferredRendering={ deferredRendering }
142
138
  setOpenedFilter={ setOpenedFilter }
143
139
  />
144
140
  <Pagination
@@ -18,7 +18,9 @@ import {
18
18
  import { __, sprintf } from '@wordpress/i18n';
19
19
  import { useRef, createInterpolateElement } from '@wordpress/element';
20
20
  import { closeSmall } from '@wordpress/icons';
21
- import { ENTER, SPACE } from '@wordpress/keycodes';
21
+
22
+ const ENTER = 'Enter';
23
+ const SPACE = ' ';
22
24
 
23
25
  /**
24
26
  * Internal dependencies
@@ -229,9 +231,7 @@ export default function FilterSummary( {
229
231
  tabIndex={ 0 }
230
232
  onClick={ onToggle }
231
233
  onKeyDown={ ( event ) => {
232
- if (
233
- [ ENTER, SPACE ].includes( event.keyCode )
234
- ) {
234
+ if ( [ ENTER, SPACE ].includes( event.key ) ) {
235
235
  onToggle();
236
236
  event.preventDefault();
237
237
  }
@@ -39,6 +39,7 @@ function normalizeSearchInput( input = '' ) {
39
39
  return removeAccents( input.trim().toLowerCase() );
40
40
  }
41
41
 
42
+ const EMPTY_ARRAY = [];
42
43
  const getCurrentValue = ( filterDefinition, currentFilter ) => {
43
44
  if ( filterDefinition.singleSelection ) {
44
45
  return currentFilter?.value;
@@ -52,7 +53,7 @@ const getCurrentValue = ( filterDefinition, currentFilter ) => {
52
53
  return [ currentFilter.value ];
53
54
  }
54
55
 
55
- return [];
56
+ return EMPTY_ARRAY;
56
57
  };
57
58
 
58
59
  const getNewValue = ( filterDefinition, currentFilter, value ) => {
@@ -73,7 +74,7 @@ function ListBox( { view, filter, onChangeView } ) {
73
74
  const compositeStore = useCompositeStore( {
74
75
  virtualFocus: true,
75
76
  focusLoop: true,
76
- // When we have no or just one operators, we can set the first item as active.
77
+ // When we have no or just one operator, we can set the first item as active.
77
78
  // We do that by passing `undefined` to `defaultActiveId`. Otherwise, we set it to `null`,
78
79
  // so the first item is not selected, since the focus is on the operators control.
79
80
  defaultActiveId: filter.operators?.length === 1 ? undefined : null,
@@ -198,7 +199,7 @@ function ComboboxList( { view, filter, onChangeView } ) {
198
199
  }, [ filter.elements, deferredSearchValue ] );
199
200
  return (
200
201
  <Ariakit.ComboboxProvider
201
- value={ searchValue }
202
+ resetValueOnSelect={ false }
202
203
  selectedValue={ currentValue }
203
204
  setSelectedValue={ ( value ) => {
204
205
  const newFilters = currentFilter
@@ -32,7 +32,7 @@ export default function SingleSelectionCheckbox( {
32
32
  <CheckboxControl
33
33
  className="dataviews-view-table-selection-checkbox"
34
34
  __nextHasNoMarginBottom
35
- label={ selectionLabel }
35
+ aria-label={ selectionLabel }
36
36
  aria-disabled={ disabled }
37
37
  checked={ isSelected }
38
38
  onChange={ () => {
package/src/style.scss CHANGED
@@ -92,10 +92,6 @@
92
92
  &.dataviews-view-table__checkbox-column {
93
93
  padding-right: 0;
94
94
  }
95
-
96
- .components-checkbox-control__input-container {
97
- margin: $grid-unit-05;
98
- }
99
95
  }
100
96
  tr {
101
97
  border-bottom: 1px solid $gray-100;
@@ -150,6 +146,14 @@
150
146
  }
151
147
  }
152
148
 
149
+ @media (hover: none) {
150
+ // Show checkboxes and quick-actions on devices that do not support hover.
151
+ .components-checkbox-control__input.components-checkbox-control__input,
152
+ .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
153
+ opacity: 1;
154
+ }
155
+ }
156
+
153
157
  &.is-selected {
154
158
  background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
155
159
  color: $gray-700;
@@ -237,7 +241,7 @@
237
241
  .dataviews-view-table__primary-field {
238
242
  font-size: $default-font-size;
239
243
  font-weight: 500;
240
- color: $gray-900;
244
+ color: $gray-700;
241
245
  text-overflow: ellipsis;
242
246
  white-space: nowrap;
243
247
  display: block;
@@ -245,12 +249,12 @@
245
249
 
246
250
  a {
247
251
  text-decoration: none;
248
- color: inherit;
249
252
  text-overflow: ellipsis;
250
253
  white-space: nowrap;
251
254
  overflow: hidden;
252
255
  display: block;
253
256
  flex-grow: 0;
257
+ color: $gray-900;
254
258
 
255
259
  &:hover {
256
260
  color: var(--wp-admin-theme-color);
@@ -260,13 +264,16 @@
260
264
 
261
265
  button.components-button.is-link {
262
266
  text-decoration: none;
263
- color: inherit;
264
267
  font-weight: inherit;
265
268
  text-overflow: ellipsis;
266
269
  white-space: nowrap;
267
270
  overflow: hidden;
268
271
  display: block;
269
272
  width: 100%;
273
+ color: $gray-900;
274
+ &:hover {
275
+ color: var(--wp-admin-theme-color);
276
+ }
270
277
  }
271
278
  }
272
279
 
@@ -328,8 +335,9 @@
328
335
  line-height: 16px;
329
336
 
330
337
  &:not(:empty) {
331
- padding: $grid-unit-15;
338
+ padding: $grid-unit-15 0;
332
339
  padding-top: 0;
340
+ margin: 0 $grid-unit-15;
333
341
  }
334
342
 
335
343
  .dataviews-view-grid__field {
@@ -355,6 +363,24 @@
355
363
  }
356
364
  }
357
365
  }
366
+
367
+ .dataviews-view-grid__badge-fields {
368
+ &:not(:empty) {
369
+ padding: $grid-unit-15;
370
+ padding-top: 0;
371
+ }
372
+
373
+ .dataviews-view-grid__field-value {
374
+ width: fit-content;
375
+ background: $gray-100;
376
+ padding: 0 $grid-unit-10;
377
+ min-height: $grid-unit-30;
378
+ border-radius: $radius-block-ui;
379
+ display: flex;
380
+ align-items: center;
381
+ font-size: 12px;
382
+ }
383
+ }
358
384
  }
359
385
 
360
386
  .dataviews-view-list {
@@ -386,6 +412,9 @@
386
412
  }
387
413
 
388
414
  &:not(.is-selected) {
415
+ .dataviews-view-list__primary-field {
416
+ color: $gray-900;
417
+ }
389
418
  &:hover,
390
419
  &:focus-within {
391
420
  color: var(--wp-admin-theme-color);
@@ -492,26 +521,6 @@
492
521
  justify-content: space-between;
493
522
  }
494
523
 
495
- .dataviews-view-list__details-button {
496
- align-self: center;
497
- opacity: 0;
498
- }
499
-
500
- li.is-selected,
501
- li:hover,
502
- li:focus-within {
503
- .dataviews-view-list__details-button {
504
- opacity: 1;
505
- }
506
- }
507
-
508
- li.is-selected {
509
- .dataviews-view-list__details-button {
510
- &:focus {
511
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) currentColor;
512
- }
513
- }
514
- }
515
524
  }
516
525
 
517
526
  .dataviews-action-modal {
@@ -527,16 +536,14 @@
527
536
  justify-content: center;
528
537
  }
529
538
 
530
- .dataviews-view-table-selection-checkbox label {
531
- position: absolute;
532
- width: 1px;
533
- height: 1px;
534
- padding: 0;
535
- margin: -1px;
536
- overflow: hidden;
537
- clip: rect(0, 0, 0, 0);
538
- white-space: nowrap;
539
- border: 0;
539
+ .dataviews-view-table-selection-checkbox {
540
+ // Experimental override for CheckboxControl size (fragile)
541
+ --checkbox-input-size: 24px;
542
+ @include break-small() {
543
+ --checkbox-input-size: 16px;
544
+ }
545
+
546
+ line-height: 0;
540
547
  }
541
548
 
542
549
  .dataviews-filters__custom-menu-radio-item-prefix {