@wordpress/dataviews 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/CHANGELOG.md +11 -5
  2. package/build/bulk-actions-toolbar.js +182 -0
  3. package/build/bulk-actions-toolbar.js.map +1 -0
  4. package/build/bulk-actions.js +8 -8
  5. package/build/bulk-actions.js.map +1 -1
  6. package/build/dataviews.js +11 -4
  7. package/build/dataviews.js.map +1 -1
  8. package/build/filter-and-sort-data-view.js +2 -2
  9. package/build/filter-and-sort-data-view.js.map +1 -1
  10. package/build/filter-summary.js +3 -3
  11. package/build/filter-summary.js.map +1 -1
  12. package/build/item-actions.js +41 -22
  13. package/build/item-actions.js.map +1 -1
  14. package/build/lock-unlock.js.map +1 -1
  15. package/build/normalize-fields.js.map +1 -1
  16. package/build/pagination.js +13 -7
  17. package/build/pagination.js.map +1 -1
  18. package/build/single-selection-checkbox.js +4 -0
  19. package/build/single-selection-checkbox.js.map +1 -1
  20. package/build/types.js.map +1 -1
  21. package/build/view-grid.js +9 -10
  22. package/build/view-grid.js.map +1 -1
  23. package/build/view-list.js +134 -21
  24. package/build/view-list.js.map +1 -1
  25. package/build/view-table.js +9 -9
  26. package/build/view-table.js.map +1 -1
  27. package/build-module/bulk-actions-toolbar.js +175 -0
  28. package/build-module/bulk-actions-toolbar.js.map +1 -0
  29. package/build-module/bulk-actions.js +8 -8
  30. package/build-module/bulk-actions.js.map +1 -1
  31. package/build-module/dataviews.js +11 -4
  32. package/build-module/dataviews.js.map +1 -1
  33. package/build-module/filter-and-sort-data-view.js +2 -2
  34. package/build-module/filter-and-sort-data-view.js.map +1 -1
  35. package/build-module/filter-summary.js +3 -3
  36. package/build-module/filter-summary.js.map +1 -1
  37. package/build-module/item-actions.js +40 -24
  38. package/build-module/item-actions.js.map +1 -1
  39. package/build-module/lock-unlock.js.map +1 -1
  40. package/build-module/normalize-fields.js.map +1 -1
  41. package/build-module/pagination.js +14 -7
  42. package/build-module/pagination.js.map +1 -1
  43. package/build-module/single-selection-checkbox.js +5 -0
  44. package/build-module/single-selection-checkbox.js.map +1 -1
  45. package/build-module/types.js.map +1 -1
  46. package/build-module/view-grid.js +9 -10
  47. package/build-module/view-grid.js.map +1 -1
  48. package/build-module/view-list.js +135 -23
  49. package/build-module/view-list.js.map +1 -1
  50. package/build-module/view-table.js +9 -9
  51. package/build-module/view-table.js.map +1 -1
  52. package/build-style/style-rtl.css +62 -27
  53. package/build-style/style.css +62 -27
  54. package/build-types/add-filter.d.ts +8 -0
  55. package/build-types/add-filter.d.ts.map +1 -0
  56. package/build-types/bulk-actions-toolbar.d.ts +8 -0
  57. package/build-types/bulk-actions-toolbar.d.ts.map +1 -0
  58. package/build-types/bulk-actions.d.ts +14 -0
  59. package/build-types/bulk-actions.d.ts.map +1 -0
  60. package/build-types/dataviews.d.ts +15 -0
  61. package/build-types/dataviews.d.ts.map +1 -0
  62. package/build-types/dropdown-menu-helper.d.ts +6 -0
  63. package/build-types/dropdown-menu-helper.d.ts.map +1 -0
  64. package/build-types/filter-and-sort-data-view.d.ts +3 -3
  65. package/build-types/filter-and-sort-data-view.d.ts.map +1 -1
  66. package/build-types/filter-summary.d.ts +6 -0
  67. package/build-types/filter-summary.d.ts.map +1 -0
  68. package/build-types/filters.d.ts +3 -0
  69. package/build-types/filters.d.ts.map +1 -0
  70. package/build-types/index.d.ts +4 -0
  71. package/build-types/index.d.ts.map +1 -0
  72. package/build-types/item-actions.d.ts +37 -0
  73. package/build-types/item-actions.d.ts.map +1 -0
  74. package/build-types/layouts.d.ts +20 -0
  75. package/build-types/layouts.d.ts.map +1 -0
  76. package/build-types/lock-unlock.d.ts +2 -0
  77. package/build-types/lock-unlock.d.ts.map +1 -0
  78. package/build-types/normalize-fields.d.ts +2 -2
  79. package/build-types/normalize-fields.d.ts.map +1 -1
  80. package/build-types/pagination.d.ts +16 -0
  81. package/build-types/pagination.d.ts.map +1 -0
  82. package/build-types/reset-filters.d.ts +6 -0
  83. package/build-types/reset-filters.d.ts.map +1 -0
  84. package/build-types/search-widget.d.ts +2 -0
  85. package/build-types/search-widget.d.ts.map +1 -0
  86. package/build-types/search.d.ts +3 -0
  87. package/build-types/search.d.ts.map +1 -0
  88. package/build-types/single-selection-checkbox.d.ts +17 -0
  89. package/build-types/single-selection-checkbox.d.ts.map +1 -0
  90. package/build-types/stories/fixtures.d.ts +114 -0
  91. package/build-types/stories/fixtures.d.ts.map +1 -0
  92. package/build-types/stories/index.story.d.ts +15 -0
  93. package/build-types/stories/index.story.d.ts.map +1 -0
  94. package/build-types/types.d.ts +152 -20
  95. package/build-types/types.d.ts.map +1 -1
  96. package/build-types/utils.d.ts +2 -0
  97. package/build-types/utils.d.ts.map +1 -0
  98. package/build-types/view-actions.d.ts +3 -0
  99. package/build-types/view-actions.d.ts.map +1 -0
  100. package/build-types/view-grid.d.ts +15 -0
  101. package/build-types/view-grid.d.ts.map +1 -0
  102. package/build-types/view-list.d.ts +16 -0
  103. package/build-types/view-list.d.ts.map +1 -0
  104. package/build-types/view-table.d.ts +14 -0
  105. package/build-types/view-table.d.ts.map +1 -0
  106. package/package.json +12 -12
  107. package/src/bulk-actions-toolbar.js +244 -0
  108. package/src/{bulk-actions.js → bulk-actions.tsx} +73 -17
  109. package/src/dataviews.js +14 -3
  110. package/src/filter-and-sort-data-view.ts +13 -8
  111. package/src/filter-summary.js +3 -3
  112. package/src/{item-actions.js → item-actions.tsx} +112 -28
  113. package/src/normalize-fields.ts +4 -2
  114. package/src/{pagination.js → pagination.tsx} +28 -7
  115. package/src/{single-selection-checkbox.js → single-selection-checkbox.tsx} +17 -2
  116. package/src/style.scss +77 -28
  117. package/src/types.ts +190 -20
  118. package/src/{view-grid.js → view-grid.tsx} +45 -16
  119. package/src/view-list.tsx +421 -0
  120. package/src/view-table.js +8 -8
  121. package/tsconfig.json +4 -2
  122. package/tsconfig.tsbuildinfo +1 -1
  123. package/src/view-list.js +0 -207
  124. /package/src/{lock-unlock.js → lock-unlock.ts} +0 -0
@@ -410,6 +410,7 @@
410
410
  height: 100%;
411
411
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
412
412
  border-radius: 4px;
413
+ pointer-events: none;
413
414
  }
414
415
  .dataviews-view-grid .dataviews-view-grid__fields {
415
416
  position: relative;
@@ -455,34 +456,31 @@
455
456
 
456
457
  .dataviews-view-list {
457
458
  margin: 0;
458
- padding: 8px;
459
459
  }
460
460
  .dataviews-view-list li {
461
461
  margin: 0;
462
462
  cursor: pointer;
463
+ border-top: 1px solid #f0f0f0;
463
464
  }
464
465
  .dataviews-view-list li .dataviews-view-list__item-wrapper {
465
466
  position: relative;
466
- padding-left: 24px;
467
467
  border-radius: 4px;
468
468
  }
469
- .dataviews-view-list li .dataviews-view-list__item-wrapper::after {
470
- position: absolute;
471
- content: "";
472
- top: 100%;
473
- right: 24px;
474
- left: 24px;
475
- background: #f0f0f0;
476
- height: 1px;
477
- }
478
469
  .dataviews-view-list li .dataviews-view-list__item-wrapper > * {
479
470
  width: 100%;
480
471
  }
472
+ .dataviews-view-list li .dataviews-view-list__item-actions .components-button {
473
+ opacity: 0;
474
+ }
475
+ .dataviews-view-list li.is-selected .dataviews-view-list__item-actions .components-button, .dataviews-view-list li.is-hovered .dataviews-view-list__item-actions .components-button, .dataviews-view-list li:focus-within .dataviews-view-list__item-actions .components-button {
476
+ opacity: 1;
477
+ }
481
478
  .dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field {
482
479
  color: #1e1e1e;
483
480
  }
484
481
  .dataviews-view-list li:not(.is-selected):hover, .dataviews-view-list li:not(.is-selected):focus-within {
485
482
  color: var(--wp-admin-theme-color);
483
+ background-color: #f8f8f8;
486
484
  }
487
485
  .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field,
488
486
  .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__primary-field,
@@ -491,8 +489,8 @@
491
489
  }
492
490
  .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,
493
491
  .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper {
494
- background-color: var(--wp-admin-theme-color);
495
- color: #fff;
492
+ background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
493
+ color: #1e1e1e;
496
494
  }
497
495
  .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,
498
496
  .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,
@@ -500,27 +498,22 @@
500
498
  .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,
501
499
  .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields,
502
500
  .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .components-button {
503
- color: #fff;
504
- }
505
- .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper::after,
506
- .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper::after {
507
- background: transparent;
501
+ color: var(--wp-admin-theme-color);
508
502
  }
509
503
  .dataviews-view-list .dataviews-view-list__item {
510
- padding: 12px 24px 12px 0;
504
+ padding: 16px 32px 16px 0;
511
505
  width: 100%;
512
506
  scroll-margin: 8px 0;
513
507
  }
514
508
  .dataviews-view-list .dataviews-view-list__item:focus-visible::before {
515
509
  position: absolute;
516
510
  content: "";
517
- top: -1px;
518
- left: -1px;
519
- bottom: -1px;
520
- right: -1px;
521
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
522
- z-index: -1;
523
- border-radius: 4px;
511
+ top: calc(var(--wp-admin-border-width-focus) + 1px);
512
+ left: var(--wp-admin-border-width-focus);
513
+ bottom: var(--wp-admin-border-width-focus);
514
+ right: var(--wp-admin-border-width-focus);
515
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
516
+ border-radius: 2px;
524
517
  }
525
518
  .dataviews-view-list .dataviews-view-list__item .dataviews-view-list__primary-field {
526
519
  min-height: 20px;
@@ -529,11 +522,11 @@
529
522
  .dataviews-view-list .dataviews-view-list__media-wrapper {
530
523
  width: 40px;
531
524
  height: 40px;
532
- border-radius: 4px;
533
525
  overflow: hidden;
534
526
  position: relative;
535
527
  flex-shrink: 0;
536
528
  background-color: #f0f0f0;
529
+ border-radius: 4px;
537
530
  }
538
531
  .dataviews-view-list .dataviews-view-list__media-wrapper img {
539
532
  width: 100%;
@@ -566,6 +559,10 @@
566
559
  .dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:has(.dataviews-view-list__field-value:empty) {
567
560
  display: none;
568
561
  }
562
+ .dataviews-view-list .dataviews-view-list__item-actions {
563
+ padding-top: 16px;
564
+ padding-left: 32px;
565
+ }
569
566
  .dataviews-view-list + .dataviews-pagination {
570
567
  justify-content: space-between;
571
568
  }
@@ -826,4 +823,42 @@
826
823
  .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus-visible {
827
824
  outline: none;
828
825
  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
826
+ }
827
+
828
+ .dataviews-bulk-actions-toolbar-wrapper {
829
+ display: flex;
830
+ flex-grow: 1;
831
+ width: 100%;
832
+ }
833
+ .dataviews-bulk-actions-toolbar-wrapper .components-toolbar-group {
834
+ align-items: center;
835
+ }
836
+ .dataviews-bulk-actions-toolbar-wrapper .components-button.is-busy {
837
+ max-height: 36px;
838
+ }
839
+
840
+ .dataviews-bulk-actions {
841
+ position: absolute;
842
+ display: flex;
843
+ flex-direction: column;
844
+ align-content: center;
845
+ flex-wrap: wrap;
846
+ width: 100%;
847
+ bottom: 24px;
848
+ z-index: 2;
849
+ }
850
+ .dataviews-bulk-actions .components-accessible-toolbar {
851
+ border-color: #ddd;
852
+ box-shadow: 0 0.7px 1px rgba(0, 0, 0, 0.1), 0 1.2px 1.7px -0.2px rgba(0, 0, 0, 0.1), 0 2.3px 3.3px -0.5px rgba(0, 0, 0, 0.1);
853
+ }
854
+ .dataviews-bulk-actions .components-accessible-toolbar .components-toolbar-group {
855
+ border-color: #e0e0e0;
856
+ }
857
+ .dataviews-bulk-actions .components-accessible-toolbar .components-toolbar-group:last-child {
858
+ border: 0;
859
+ }
860
+ .dataviews-bulk-actions .dataviews-bulk-actions__selection-count {
861
+ display: flex;
862
+ align-items: center;
863
+ margin: 0 8px 0 8px;
829
864
  }
@@ -410,6 +410,7 @@
410
410
  height: 100%;
411
411
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
412
412
  border-radius: 4px;
413
+ pointer-events: none;
413
414
  }
414
415
  .dataviews-view-grid .dataviews-view-grid__fields {
415
416
  position: relative;
@@ -455,34 +456,31 @@
455
456
 
456
457
  .dataviews-view-list {
457
458
  margin: 0;
458
- padding: 8px;
459
459
  }
460
460
  .dataviews-view-list li {
461
461
  margin: 0;
462
462
  cursor: pointer;
463
+ border-top: 1px solid #f0f0f0;
463
464
  }
464
465
  .dataviews-view-list li .dataviews-view-list__item-wrapper {
465
466
  position: relative;
466
- padding-right: 24px;
467
467
  border-radius: 4px;
468
468
  }
469
- .dataviews-view-list li .dataviews-view-list__item-wrapper::after {
470
- position: absolute;
471
- content: "";
472
- top: 100%;
473
- left: 24px;
474
- right: 24px;
475
- background: #f0f0f0;
476
- height: 1px;
477
- }
478
469
  .dataviews-view-list li .dataviews-view-list__item-wrapper > * {
479
470
  width: 100%;
480
471
  }
472
+ .dataviews-view-list li .dataviews-view-list__item-actions .components-button {
473
+ opacity: 0;
474
+ }
475
+ .dataviews-view-list li.is-selected .dataviews-view-list__item-actions .components-button, .dataviews-view-list li.is-hovered .dataviews-view-list__item-actions .components-button, .dataviews-view-list li:focus-within .dataviews-view-list__item-actions .components-button {
476
+ opacity: 1;
477
+ }
481
478
  .dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field {
482
479
  color: #1e1e1e;
483
480
  }
484
481
  .dataviews-view-list li:not(.is-selected):hover, .dataviews-view-list li:not(.is-selected):focus-within {
485
482
  color: var(--wp-admin-theme-color);
483
+ background-color: #f8f8f8;
486
484
  }
487
485
  .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field,
488
486
  .dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__primary-field,
@@ -491,8 +489,8 @@
491
489
  }
492
490
  .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,
493
491
  .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper {
494
- background-color: var(--wp-admin-theme-color);
495
- color: #fff;
492
+ background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
493
+ color: #1e1e1e;
496
494
  }
497
495
  .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,
498
496
  .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,
@@ -500,27 +498,22 @@
500
498
  .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,
501
499
  .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields,
502
500
  .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .components-button {
503
- color: #fff;
504
- }
505
- .dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper::after,
506
- .dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper::after {
507
- background: transparent;
501
+ color: var(--wp-admin-theme-color);
508
502
  }
509
503
  .dataviews-view-list .dataviews-view-list__item {
510
- padding: 12px 0 12px 24px;
504
+ padding: 16px 0 16px 32px;
511
505
  width: 100%;
512
506
  scroll-margin: 8px 0;
513
507
  }
514
508
  .dataviews-view-list .dataviews-view-list__item:focus-visible::before {
515
509
  position: absolute;
516
510
  content: "";
517
- top: -1px;
518
- right: -1px;
519
- bottom: -1px;
520
- left: -1px;
521
- box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
522
- z-index: -1;
523
- border-radius: 4px;
511
+ top: calc(var(--wp-admin-border-width-focus) + 1px);
512
+ right: var(--wp-admin-border-width-focus);
513
+ bottom: var(--wp-admin-border-width-focus);
514
+ left: var(--wp-admin-border-width-focus);
515
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
516
+ border-radius: 2px;
524
517
  }
525
518
  .dataviews-view-list .dataviews-view-list__item .dataviews-view-list__primary-field {
526
519
  min-height: 20px;
@@ -529,11 +522,11 @@
529
522
  .dataviews-view-list .dataviews-view-list__media-wrapper {
530
523
  width: 40px;
531
524
  height: 40px;
532
- border-radius: 4px;
533
525
  overflow: hidden;
534
526
  position: relative;
535
527
  flex-shrink: 0;
536
528
  background-color: #f0f0f0;
529
+ border-radius: 4px;
537
530
  }
538
531
  .dataviews-view-list .dataviews-view-list__media-wrapper img {
539
532
  width: 100%;
@@ -566,6 +559,10 @@
566
559
  .dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:has(.dataviews-view-list__field-value:empty) {
567
560
  display: none;
568
561
  }
562
+ .dataviews-view-list .dataviews-view-list__item-actions {
563
+ padding-top: 16px;
564
+ padding-right: 32px;
565
+ }
569
566
  .dataviews-view-list + .dataviews-pagination {
570
567
  justify-content: space-between;
571
568
  }
@@ -826,4 +823,42 @@
826
823
  .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus-visible {
827
824
  outline: none;
828
825
  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
826
+ }
827
+
828
+ .dataviews-bulk-actions-toolbar-wrapper {
829
+ display: flex;
830
+ flex-grow: 1;
831
+ width: 100%;
832
+ }
833
+ .dataviews-bulk-actions-toolbar-wrapper .components-toolbar-group {
834
+ align-items: center;
835
+ }
836
+ .dataviews-bulk-actions-toolbar-wrapper .components-button.is-busy {
837
+ max-height: 36px;
838
+ }
839
+
840
+ .dataviews-bulk-actions {
841
+ position: absolute;
842
+ display: flex;
843
+ flex-direction: column;
844
+ align-content: center;
845
+ flex-wrap: wrap;
846
+ width: 100%;
847
+ bottom: 24px;
848
+ z-index: 2;
849
+ }
850
+ .dataviews-bulk-actions .components-accessible-toolbar {
851
+ border-color: #ddd;
852
+ box-shadow: 0 0.7px 1px rgba(0, 0, 0, 0.1), 0 1.2px 1.7px -0.2px rgba(0, 0, 0, 0.1), 0 2.3px 3.3px -0.5px rgba(0, 0, 0, 0.1);
853
+ }
854
+ .dataviews-bulk-actions .components-accessible-toolbar .components-toolbar-group {
855
+ border-color: #e0e0e0;
856
+ }
857
+ .dataviews-bulk-actions .components-accessible-toolbar .components-toolbar-group:last-child {
858
+ border: 0;
859
+ }
860
+ .dataviews-bulk-actions .dataviews-bulk-actions__selection-count {
861
+ display: flex;
862
+ align-items: center;
863
+ margin: 0 8px 0 8px;
829
864
  }
@@ -0,0 +1,8 @@
1
+ declare const _default: import("react").ForwardRefExoticComponent<{
2
+ filters: any;
3
+ view: any;
4
+ onChangeView: any;
5
+ setOpenedFilter: any;
6
+ } & import("react").RefAttributes<any>>;
7
+ export default _default;
8
+ //# sourceMappingURL=add-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-filter.d.ts","sourceRoot":"","sources":["../src/add-filter.js"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export default function BulkActionsToolbar({ data, selection, actions, setSelection, getItemId, }: {
2
+ data: any;
3
+ selection: any;
4
+ actions?: any[] | undefined;
5
+ setSelection: any;
6
+ getItemId: any;
7
+ }): import("react").JSX.Element | null;
8
+ //# sourceMappingURL=bulk-actions-toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk-actions-toolbar.d.ts","sourceRoot":"","sources":["../src/bulk-actions-toolbar.js"],"names":[],"mappings":"AA2LA;;;;;;uCAwDC"}
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import type { Action, AnyItem } from './types';
3
+ interface BulkActionsProps<Item extends AnyItem> {
4
+ data: Item[];
5
+ actions: Action<Item>[];
6
+ selection: string[];
7
+ onSelectionChange: (selection: Item[]) => void;
8
+ getItemId: (item: Item) => string;
9
+ }
10
+ export declare function useHasAPossibleBulkAction<Item extends AnyItem>(actions: Action<Item>[], item: Item): boolean;
11
+ export declare function useSomeItemHasAPossibleBulkAction<Item extends AnyItem>(actions: Action<Item>[], data: Item[]): boolean;
12
+ export default function BulkActions<Item extends AnyItem>({ data, actions, selection, onSelectionChange, getItemId, }: BulkActionsProps<Item>): import("react").JSX.Element | null;
13
+ export {};
14
+ //# sourceMappingURL=bulk-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bulk-actions.d.ts","sourceRoot":"","sources":["../src/bulk-actions.tsx"],"names":[],"mappings":";AAeA,OAAO,KAAK,EAAE,MAAM,EAAe,OAAO,EAAE,MAAM,SAAS,CAAC;AA4B5D,UAAU,gBAAgB,CAAE,IAAI,SAAS,OAAO;IAC/C,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,EAAE,CAAE,SAAS,EAAE,IAAI,EAAE,KAAM,IAAI,CAAC;IACjD,SAAS,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAC;CACpC;AAED,wBAAgB,yBAAyB,CAAE,IAAI,SAAS,OAAO,EAC9D,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,EACzB,IAAI,EAAE,IAAI,WAUV;AAED,wBAAgB,iCAAiC,CAAE,IAAI,SAAS,OAAO,EACtE,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,EACzB,IAAI,EAAE,IAAI,EAAE,WAYZ;AAyFD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAE,IAAI,SAAS,OAAO,EAAI,EAC5D,IAAI,EACJ,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,SAAS,GACT,EAAE,gBAAgB,CAAE,IAAI,CAAE,sCAsH1B"}
@@ -0,0 +1,15 @@
1
+ export default function DataViews({ view, onChangeView, fields, search, searchLabel, actions, data, getItemId, isLoading, paginationInfo, supportedLayouts, onSelectionChange, }: {
2
+ view: any;
3
+ onChangeView: any;
4
+ fields: any;
5
+ search?: boolean | undefined;
6
+ searchLabel?: undefined;
7
+ actions?: any[] | undefined;
8
+ data: any;
9
+ getItemId?: ((item: any) => any) | undefined;
10
+ isLoading?: boolean | undefined;
11
+ paginationInfo: any;
12
+ supportedLayouts: any;
13
+ onSelectionChange?: (() => void) | undefined;
14
+ }): import("react").JSX.Element;
15
+ //# sourceMappingURL=dataviews.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataviews.d.ts","sourceRoot":"","sources":["../src/dataviews.js"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;gCA8HC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * A custom implementation of a radio menu item using the standard menu item
3
+ * component, which allows deselecting selected values.
4
+ */
5
+ export const DropdownMenuRadioItemCustom: import("react").ForwardRefExoticComponent<import("react").RefAttributes<any>>;
6
+ //# sourceMappingURL=dropdown-menu-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu-helper.d.ts","sourceRoot":"","sources":["../src/dropdown-menu-helper.js"],"names":[],"mappings":"AAyBA;;;GAGG;AACH,wHA+BE"}
@@ -1,4 +1,4 @@
1
- import type { Data, Field, View } from './types';
1
+ import type { Field, AnyItem, View } from './types';
2
2
  /**
3
3
  * Applies the filtering, sorting and pagination to the raw data based on the view configuration.
4
4
  *
@@ -8,8 +8,8 @@ import type { Data, Field, View } from './types';
8
8
  *
9
9
  * @return Filtered, sorted and paginated data.
10
10
  */
11
- export declare function filterSortAndPaginate(data: Data, view: View, fields: Field[]): {
12
- data: Data;
11
+ export declare function filterSortAndPaginate<Item extends AnyItem>(data: Item[], view: View, fields: Field<Item>[]): {
12
+ data: Item[];
13
13
  paginationInfo: {
14
14
  totalItems: number;
15
15
  totalPages: number;
@@ -1 +1 @@
1
- {"version":3,"file":"filter-and-sort-data-view.d.ts","sourceRoot":"","sources":["../src/filter-and-sort-data-view.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAQjD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,KAAK,EAAE,GACb;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CA6H5E"}
1
+ {"version":3,"file":"filter-and-sort-data-view.d.ts","sourceRoot":"","sources":["../src/filter-and-sort-data-view.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAQpD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAE,IAAI,SAAS,OAAO,EAC1D,IAAI,EAAE,IAAI,EAAE,EACZ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,GACrB;IACF,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,cAAc,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D,CA+HA"}
@@ -0,0 +1,6 @@
1
+ export default function FilterSummary({ addFilterRef, openedFilter, ...commonProps }: {
2
+ [x: string]: any;
3
+ addFilterRef: any;
4
+ openedFilter: any;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=filter-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-summary.d.ts","sourceRoot":"","sources":["../src/filter-summary.js"],"names":[],"mappings":"AA0LA;;;;gCA4GC"}
@@ -0,0 +1,3 @@
1
+ export default Filters;
2
+ declare const Filters: import("react").NamedExoticComponent<object>;
3
+ //# sourceMappingURL=filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../src/filters.js"],"names":[],"mappings":";AAeA,oEA+FI"}
@@ -0,0 +1,4 @@
1
+ export { default as DataViews } from "./dataviews";
2
+ export { VIEW_LAYOUTS } from "./layouts";
3
+ export { filterSortAndPaginate } from "./filter-and-sort-data-view";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import type { MouseEventHandler, ReactElement } from 'react';
5
+ import type { Action, ActionModal as ActionModalType, AnyItem } from './types';
6
+ interface ButtonTriggerProps<Item extends AnyItem> {
7
+ action: Action<Item>;
8
+ onClick: MouseEventHandler;
9
+ }
10
+ interface DropdownMenuItemTriggerProps<Item extends AnyItem> {
11
+ action: Action<Item>;
12
+ onClick: MouseEventHandler;
13
+ }
14
+ interface ActionModalProps<Item extends AnyItem> {
15
+ action: ActionModalType<Item>;
16
+ items: Item[];
17
+ closeModal?: () => void;
18
+ }
19
+ interface ActionWithModalProps<Item extends AnyItem> extends ActionModalProps<Item> {
20
+ ActionTrigger: (props: ButtonTriggerProps<Item> | DropdownMenuItemTriggerProps<Item>) => ReactElement;
21
+ isBusy?: boolean;
22
+ }
23
+ interface ActionsDropdownMenuGroupProps<Item extends AnyItem> {
24
+ actions: Action<Item>[];
25
+ item: Item;
26
+ }
27
+ interface ItemActionsProps<Item extends AnyItem> {
28
+ item: Item;
29
+ actions: Action<Item>[];
30
+ isCompact: boolean;
31
+ }
32
+ export declare function ActionModal<Item extends AnyItem>({ action, items, closeModal, }: ActionModalProps<Item>): import("react").JSX.Element;
33
+ export declare function ActionWithModal<Item extends AnyItem>({ action, items, ActionTrigger, isBusy, }: ActionWithModalProps<Item>): import("react").JSX.Element;
34
+ export declare function ActionsDropdownMenuGroup<Item extends AnyItem>({ actions, item, }: ActionsDropdownMenuGroupProps<Item>): import("react").JSX.Element;
35
+ export default function ItemActions<Item extends AnyItem>({ item, actions, isCompact, }: ItemActionsProps<Item>): import("react").JSX.Element;
36
+ export {};
37
+ //# sourceMappingURL=item-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-actions.d.ts","sourceRoot":"","sources":["../src/item-actions.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAmB7D,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,IAAI,eAAe,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAU/E,UAAU,kBAAkB,CAAE,IAAI,SAAS,OAAO;IACjD,MAAM,EAAE,MAAM,CAAE,IAAI,CAAE,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;CAC3B;AAED,UAAU,4BAA4B,CAAE,IAAI,SAAS,OAAO;IAC3D,MAAM,EAAE,MAAM,CAAE,IAAI,CAAE,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;CAC3B;AAED,UAAU,gBAAgB,CAAE,IAAI,SAAS,OAAO;IAC/C,MAAM,EAAE,eAAe,CAAE,IAAI,CAAE,CAAC;IAChC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,UAAU,oBAAoB,CAAE,IAAI,SAAS,OAAO,CACnD,SAAQ,gBAAgB,CAAE,IAAI,CAAE;IAChC,aAAa,EAAE,CACd,KAAK,EAAE,kBAAkB,CAAE,IAAI,CAAE,GAAG,4BAA4B,CAAE,IAAI,CAAE,KACpE,YAAY,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,6BAA6B,CAAE,IAAI,SAAS,OAAO;IAC5D,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAC;CACX;AAED,UAAU,gBAAgB,CAAE,IAAI,SAAS,OAAO;IAC/C,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;CACnB;AAoCD,wBAAgB,WAAW,CAAE,IAAI,SAAS,OAAO,EAAI,EACpD,MAAM,EACN,KAAK,EACL,UAAU,GACV,EAAE,gBAAgB,CAAE,IAAI,CAAE,+BAkB1B;AAED,wBAAgB,eAAe,CAAE,IAAI,SAAS,OAAO,EAAI,EACxD,MAAM,EACN,KAAK,EACL,aAAa,EACb,MAAM,GACN,EAAE,oBAAoB,CAAE,IAAI,CAAE,+BAsB9B;AAED,wBAAgB,wBAAwB,CAAE,IAAI,SAAS,OAAO,EAAI,EACjE,OAAO,EACP,IAAI,GACJ,EAAE,6BAA6B,CAAE,IAAI,CAAE,+BAwBvC;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAE,IAAI,SAAS,OAAO,EAAI,EAC5D,IAAI,EACJ,OAAO,EACP,SAAS,GACT,EAAE,gBAAgB,CAAE,IAAI,CAAE,+BAmD1B"}
@@ -0,0 +1,20 @@
1
+ export const VIEW_LAYOUTS: ({
2
+ type: string;
3
+ label: string;
4
+ component: typeof ViewTable;
5
+ icon: import("react").JSX.Element;
6
+ } | {
7
+ type: string;
8
+ label: string;
9
+ component: typeof ViewGrid;
10
+ icon: import("react").JSX.Element;
11
+ } | {
12
+ type: string;
13
+ label: string;
14
+ component: typeof ViewList;
15
+ icon: import("react").JSX.Element;
16
+ })[];
17
+ import ViewTable from './view-table';
18
+ import ViewGrid from './view-grid';
19
+ import ViewList from './view-list';
20
+ //# sourceMappingURL=layouts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layouts.d.ts","sourceRoot":"","sources":["../src/layouts.js"],"names":[],"mappings":"AAmBA;;;;;;;;;;;;;;;KAmBE;sBAxBoB,cAAc;qBACf,aAAa;qBACb,aAAa"}
@@ -0,0 +1,2 @@
1
+ export declare const lock: (object: any, privateData: any) => void, unlock: (object: any) => any;
2
+ //# sourceMappingURL=lock-unlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock-unlock.d.ts","sourceRoot":"","sources":["../src/lock-unlock.ts"],"names":[],"mappings":"AAKA,eAAO,MAAQ,IAAI,2CAAE,MAAM,sBAIzB,CAAC"}
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * Internal dependencies
3
3
  */
4
- import type { Field, NormalizedField } from './types';
4
+ import type { Field, AnyItem, NormalizedField } from './types';
5
5
  /**
6
6
  * Apply default values and normalize the fields config.
7
7
  *
8
8
  * @param fields Fields config.
9
9
  * @return Normalized fields config.
10
10
  */
11
- export declare function normalizeFields(fields: Field[]): NormalizedField[];
11
+ export declare function normalizeFields<Item extends AnyItem>(fields: Field<Item>[]): NormalizedField<Item>[];
12
12
  //# sourceMappingURL=normalize-fields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-fields.d.ts","sourceRoot":"","sources":["../src/normalize-fields.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAE,MAAM,EAAE,KAAK,EAAE,GAAI,eAAe,EAAE,CAWpE"}
1
+ {"version":3,"file":"normalize-fields.d.ts","sourceRoot":"","sources":["../src/normalize-fields.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;GAKG;AACH,wBAAgB,eAAe,CAAE,IAAI,SAAS,OAAO,EACpD,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,GACrB,eAAe,CAAE,IAAI,CAAE,EAAE,CAW3B"}
@@ -0,0 +1,16 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * Internal dependencies
4
+ */
5
+ import type { View } from './types';
6
+ interface PaginationProps {
7
+ view: View;
8
+ onChangeView: (view: View) => void;
9
+ paginationInfo: {
10
+ totalItems: number;
11
+ totalPages: number;
12
+ };
13
+ }
14
+ declare const Pagination: import("react").NamedExoticComponent<PaginationProps>;
15
+ export default Pagination;
16
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.tsx"],"names":[],"mappings":";AAYA;;GAEG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,UAAU,eAAe;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;IACrC,cAAc,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;CACF;AAED,QAAA,MAAM,UAAU,uDAyFb,CAAC;AAEJ,eAAe,UAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ export default function ResetFilter({ filters, view, onChangeView }: {
2
+ filters: any;
3
+ view: any;
4
+ onChangeView: any;
5
+ }): import("react").JSX.Element;
6
+ //# sourceMappingURL=reset-filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-filters.d.ts","sourceRoot":"","sources":["../src/reset-filters.js"],"names":[],"mappings":"AAMA;;;;gCA8BC"}
@@ -0,0 +1,2 @@
1
+ export default function SearchWidget(props: any): import("react").JSX.Element;
2
+ //# sourceMappingURL=search-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-widget.d.ts","sourceRoot":"","sources":["../src/search-widget.js"],"names":[],"mappings":"AAoSA,8EAGC"}
@@ -0,0 +1,3 @@
1
+ export default Search;
2
+ declare const Search: import("react").NamedExoticComponent<object>;
3
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.js"],"names":[],"mappings":";AAQA,mEA6BI"}
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * Internal dependencies
4
+ */
5
+ import type { Field, AnyItem } from './types';
6
+ interface SingleSelectionCheckboxProps<Item extends AnyItem> {
7
+ selection: string[];
8
+ onSelectionChange: (selection: Item[]) => void;
9
+ item: Item;
10
+ data: Item[];
11
+ getItemId: (item: Item) => string;
12
+ primaryField?: Field<Item>;
13
+ disabled: boolean;
14
+ }
15
+ export default function SingleSelectionCheckbox<Item extends AnyItem>({ selection, onSelectionChange, item, data, getItemId, primaryField, disabled, }: SingleSelectionCheckboxProps<Item>): import("react").JSX.Element;
16
+ export {};
17
+ //# sourceMappingURL=single-selection-checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-selection-checkbox.d.ts","sourceRoot":"","sources":["../src/single-selection-checkbox.tsx"],"names":[],"mappings":";AAMA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE9C,UAAU,4BAA4B,CAAE,IAAI,SAAS,OAAO;IAC3D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,EAAE,CAAE,SAAS,EAAE,IAAI,EAAE,KAAM,IAAI,CAAC;IACjD,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,SAAS,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAC;IACpC,YAAY,CAAC,EAAE,KAAK,CAAE,IAAI,CAAE,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAE,IAAI,SAAS,OAAO,EAAI,EACxE,SAAS,EACT,iBAAiB,EACjB,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,QAAQ,GACR,EAAE,4BAA4B,CAAE,IAAI,CAAE,+BAkDtC"}