@wordpress/dataviews 1.0.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.
- package/CHANGELOG.md +13 -5
- package/build/bulk-actions-toolbar.js +182 -0
- package/build/bulk-actions-toolbar.js.map +1 -0
- package/build/bulk-actions.js +8 -8
- package/build/bulk-actions.js.map +1 -1
- package/build/constants.js +1 -26
- package/build/constants.js.map +1 -1
- package/build/dataviews.js +13 -5
- package/build/dataviews.js.map +1 -1
- package/build/filter-and-sort-data-view.js +72 -65
- package/build/filter-and-sort-data-view.js.map +1 -1
- package/build/filter-summary.js +3 -3
- package/build/filter-summary.js.map +1 -1
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/build/item-actions.js +41 -22
- package/build/item-actions.js.map +1 -1
- package/build/layouts.js +38 -0
- package/build/layouts.js.map +1 -0
- package/build/lock-unlock.js.map +1 -1
- package/build/normalize-fields.js +7 -2
- package/build/normalize-fields.js.map +1 -1
- package/build/pagination.js +13 -7
- package/build/pagination.js.map +1 -1
- package/build/single-selection-checkbox.js +4 -0
- package/build/single-selection-checkbox.js.map +1 -1
- package/build/types.js +6 -0
- package/build/types.js.map +1 -0
- package/build/view-actions.js +2 -1
- package/build/view-actions.js.map +1 -1
- package/build/view-grid.js +9 -10
- package/build/view-grid.js.map +1 -1
- package/build/view-list.js +134 -21
- package/build/view-list.js.map +1 -1
- package/build/view-table.js +9 -9
- package/build/view-table.js.map +1 -1
- package/build-module/bulk-actions-toolbar.js +175 -0
- package/build-module/bulk-actions-toolbar.js.map +1 -0
- package/build-module/bulk-actions.js +8 -8
- package/build-module/bulk-actions.js.map +1 -1
- package/build-module/constants.js +1 -25
- package/build-module/constants.js.map +1 -1
- package/build-module/dataviews.js +13 -5
- package/build-module/dataviews.js.map +1 -1
- package/build-module/filter-and-sort-data-view.js +72 -65
- package/build-module/filter-and-sort-data-view.js.map +1 -1
- package/build-module/filter-summary.js +3 -3
- package/build-module/filter-summary.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/item-actions.js +40 -24
- package/build-module/item-actions.js.map +1 -1
- package/build-module/layouts.js +30 -0
- package/build-module/layouts.js.map +1 -0
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/normalize-fields.js +7 -2
- package/build-module/normalize-fields.js.map +1 -1
- package/build-module/pagination.js +14 -7
- package/build-module/pagination.js.map +1 -1
- package/build-module/single-selection-checkbox.js +5 -0
- package/build-module/single-selection-checkbox.js.map +1 -1
- package/build-module/types.js +2 -0
- package/build-module/types.js.map +1 -0
- package/build-module/view-actions.js +2 -1
- package/build-module/view-actions.js.map +1 -1
- package/build-module/view-grid.js +9 -10
- package/build-module/view-grid.js.map +1 -1
- package/build-module/view-list.js +135 -23
- package/build-module/view-list.js.map +1 -1
- package/build-module/view-table.js +9 -9
- package/build-module/view-table.js.map +1 -1
- package/build-style/style-rtl.css +82 -44
- package/build-style/style.css +82 -44
- package/build-types/add-filter.d.ts +8 -0
- package/build-types/add-filter.d.ts.map +1 -0
- package/build-types/bulk-actions-toolbar.d.ts +8 -0
- package/build-types/bulk-actions-toolbar.d.ts.map +1 -0
- package/build-types/bulk-actions.d.ts +14 -0
- package/build-types/bulk-actions.d.ts.map +1 -0
- package/build-types/constants.d.ts +45 -0
- package/build-types/constants.d.ts.map +1 -0
- package/build-types/dataviews.d.ts +15 -0
- package/build-types/dataviews.d.ts.map +1 -0
- package/build-types/dropdown-menu-helper.d.ts +6 -0
- package/build-types/dropdown-menu-helper.d.ts.map +1 -0
- package/build-types/filter-and-sort-data-view.d.ts +18 -0
- package/build-types/filter-and-sort-data-view.d.ts.map +1 -0
- package/build-types/filter-summary.d.ts +6 -0
- package/build-types/filter-summary.d.ts.map +1 -0
- package/build-types/filters.d.ts +3 -0
- package/build-types/filters.d.ts.map +1 -0
- package/build-types/index.d.ts +4 -0
- package/build-types/index.d.ts.map +1 -0
- package/build-types/item-actions.d.ts +37 -0
- package/build-types/item-actions.d.ts.map +1 -0
- package/build-types/layouts.d.ts +20 -0
- package/build-types/layouts.d.ts.map +1 -0
- package/build-types/lock-unlock.d.ts +2 -0
- package/build-types/lock-unlock.d.ts.map +1 -0
- package/build-types/normalize-fields.d.ts +12 -0
- package/build-types/normalize-fields.d.ts.map +1 -0
- package/build-types/pagination.d.ts +16 -0
- package/build-types/pagination.d.ts.map +1 -0
- package/build-types/reset-filters.d.ts +6 -0
- package/build-types/reset-filters.d.ts.map +1 -0
- package/build-types/search-widget.d.ts +2 -0
- package/build-types/search-widget.d.ts.map +1 -0
- package/build-types/search.d.ts +3 -0
- package/build-types/search.d.ts.map +1 -0
- package/build-types/single-selection-checkbox.d.ts +17 -0
- package/build-types/single-selection-checkbox.d.ts.map +1 -0
- package/build-types/stories/fixtures.d.ts +114 -0
- package/build-types/stories/fixtures.d.ts.map +1 -0
- package/build-types/stories/index.story.d.ts +15 -0
- package/build-types/stories/index.story.d.ts.map +1 -0
- package/build-types/types.d.ts +254 -0
- package/build-types/types.d.ts.map +1 -0
- package/build-types/utils.d.ts +2 -0
- package/build-types/utils.d.ts.map +1 -0
- package/build-types/view-actions.d.ts +3 -0
- package/build-types/view-actions.d.ts.map +1 -0
- package/build-types/view-grid.d.ts +15 -0
- package/build-types/view-grid.d.ts.map +1 -0
- package/build-types/view-list.d.ts +16 -0
- package/build-types/view-list.d.ts.map +1 -0
- package/build-types/view-table.d.ts +14 -0
- package/build-types/view-table.d.ts.map +1 -0
- package/package.json +12 -12
- package/src/bulk-actions-toolbar.js +244 -0
- package/src/{bulk-actions.js → bulk-actions.tsx} +73 -17
- package/src/{constants.js → constants.ts} +1 -35
- package/src/dataviews.js +16 -4
- package/src/filter-and-sort-data-view.ts +169 -0
- package/src/filter-summary.js +3 -3
- package/src/index.js +1 -1
- package/src/{item-actions.js → item-actions.tsx} +112 -28
- package/src/layouts.js +39 -0
- package/src/normalize-fields.ts +25 -0
- package/src/{pagination.js → pagination.tsx} +28 -7
- package/src/{single-selection-checkbox.js → single-selection-checkbox.tsx} +17 -2
- package/src/stories/fixtures.js +0 -2
- package/src/style.scss +100 -44
- package/src/types.ts +314 -0
- package/src/view-actions.js +2 -1
- package/src/{view-grid.js → view-grid.tsx} +45 -16
- package/src/view-list.tsx +421 -0
- package/src/view-table.js +8 -8
- package/tsconfig.json +22 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/src/filter-and-sort-data-view.js +0 -154
- package/src/normalize-fields.js +0 -17
- package/src/view-list.js +0 -207
- /package/src/{lock-unlock.js → lock-unlock.ts} +0 -0
package/build-style/style.css
CHANGED
|
@@ -371,37 +371,47 @@
|
|
|
371
371
|
}
|
|
372
372
|
}
|
|
373
373
|
.dataviews-view-grid .dataviews-view-grid__card {
|
|
374
|
-
border-radius: 4px;
|
|
375
|
-
border: 1px solid #e0e0e0;
|
|
376
374
|
height: 100%;
|
|
377
375
|
justify-content: flex-start;
|
|
378
376
|
}
|
|
379
377
|
.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-actions {
|
|
380
|
-
padding:
|
|
378
|
+
padding: 8px 0 4px;
|
|
381
379
|
}
|
|
382
380
|
.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field {
|
|
383
|
-
min-height:
|
|
384
|
-
}
|
|
385
|
-
.dataviews-view-grid .dataviews-view-grid__card.is-selected {
|
|
386
|
-
border-color: var(--wp-admin-theme-color);
|
|
387
|
-
background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
|
|
381
|
+
min-height: 32px;
|
|
388
382
|
}
|
|
389
383
|
.dataviews-view-grid .dataviews-view-grid__card.is-selected .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-value {
|
|
390
384
|
color: #1e1e1e;
|
|
391
385
|
}
|
|
386
|
+
.dataviews-view-grid .dataviews-view-grid__card.is-selected .page-pages-preview-field__button::after {
|
|
387
|
+
box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
|
|
388
|
+
background: rgba(var(--wp-admin-theme-color--rgb), 0.04);
|
|
389
|
+
}
|
|
392
390
|
.dataviews-view-grid .dataviews-view-grid__media {
|
|
393
391
|
width: 100%;
|
|
394
392
|
min-height: 200px;
|
|
395
393
|
aspect-ratio: 1/1;
|
|
396
|
-
border-bottom: 1px solid #e0e0e0;
|
|
397
394
|
background-color: #f0f0f0;
|
|
398
|
-
border-radius:
|
|
395
|
+
border-radius: 4px;
|
|
396
|
+
overflow: hidden;
|
|
397
|
+
position: relative;
|
|
399
398
|
}
|
|
400
399
|
.dataviews-view-grid .dataviews-view-grid__media img {
|
|
401
400
|
object-fit: cover;
|
|
402
401
|
width: 100%;
|
|
403
402
|
height: 100%;
|
|
404
403
|
}
|
|
404
|
+
.dataviews-view-grid .dataviews-view-grid__media::after {
|
|
405
|
+
content: "";
|
|
406
|
+
position: absolute;
|
|
407
|
+
top: 0;
|
|
408
|
+
left: 0;
|
|
409
|
+
width: 100%;
|
|
410
|
+
height: 100%;
|
|
411
|
+
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
|
|
412
|
+
border-radius: 4px;
|
|
413
|
+
pointer-events: none;
|
|
414
|
+
}
|
|
405
415
|
.dataviews-view-grid .dataviews-view-grid__fields {
|
|
406
416
|
position: relative;
|
|
407
417
|
font-size: 12px;
|
|
@@ -410,7 +420,6 @@
|
|
|
410
420
|
.dataviews-view-grid .dataviews-view-grid__fields:not(:empty) {
|
|
411
421
|
padding: 12px 0;
|
|
412
422
|
padding-top: 0;
|
|
413
|
-
margin: 0 12px;
|
|
414
423
|
}
|
|
415
424
|
.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field {
|
|
416
425
|
align-items: flex-start;
|
|
@@ -431,8 +440,7 @@
|
|
|
431
440
|
color: #757575;
|
|
432
441
|
}
|
|
433
442
|
.dataviews-view-grid .dataviews-view-grid__badge-fields:not(:empty) {
|
|
434
|
-
padding: 12px;
|
|
435
|
-
padding-top: 0;
|
|
443
|
+
padding-bottom: 12px;
|
|
436
444
|
}
|
|
437
445
|
.dataviews-view-grid .dataviews-view-grid__badge-fields .dataviews-view-grid__field-value {
|
|
438
446
|
width: -moz-fit-content;
|
|
@@ -448,34 +456,31 @@
|
|
|
448
456
|
|
|
449
457
|
.dataviews-view-list {
|
|
450
458
|
margin: 0;
|
|
451
|
-
padding: 8px;
|
|
452
459
|
}
|
|
453
460
|
.dataviews-view-list li {
|
|
454
461
|
margin: 0;
|
|
455
462
|
cursor: pointer;
|
|
463
|
+
border-top: 1px solid #f0f0f0;
|
|
456
464
|
}
|
|
457
465
|
.dataviews-view-list li .dataviews-view-list__item-wrapper {
|
|
458
466
|
position: relative;
|
|
459
|
-
padding-right: 24px;
|
|
460
467
|
border-radius: 4px;
|
|
461
468
|
}
|
|
462
|
-
.dataviews-view-list li .dataviews-view-list__item-wrapper::after {
|
|
463
|
-
position: absolute;
|
|
464
|
-
content: "";
|
|
465
|
-
top: 100%;
|
|
466
|
-
left: 24px;
|
|
467
|
-
right: 24px;
|
|
468
|
-
background: #f0f0f0;
|
|
469
|
-
height: 1px;
|
|
470
|
-
}
|
|
471
469
|
.dataviews-view-list li .dataviews-view-list__item-wrapper > * {
|
|
472
470
|
width: 100%;
|
|
473
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
|
+
}
|
|
474
478
|
.dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field {
|
|
475
479
|
color: #1e1e1e;
|
|
476
480
|
}
|
|
477
481
|
.dataviews-view-list li:not(.is-selected):hover, .dataviews-view-list li:not(.is-selected):focus-within {
|
|
478
482
|
color: var(--wp-admin-theme-color);
|
|
483
|
+
background-color: #f8f8f8;
|
|
479
484
|
}
|
|
480
485
|
.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field,
|
|
481
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,
|
|
@@ -484,8 +489,8 @@
|
|
|
484
489
|
}
|
|
485
490
|
.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,
|
|
486
491
|
.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper {
|
|
487
|
-
background-color: var(--wp-admin-theme-color);
|
|
488
|
-
color: #
|
|
492
|
+
background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);
|
|
493
|
+
color: #1e1e1e;
|
|
489
494
|
}
|
|
490
495
|
.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,
|
|
491
496
|
.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,
|
|
@@ -493,27 +498,22 @@
|
|
|
493
498
|
.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,
|
|
494
499
|
.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields,
|
|
495
500
|
.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .components-button {
|
|
496
|
-
color:
|
|
497
|
-
}
|
|
498
|
-
.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper::after,
|
|
499
|
-
.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper::after {
|
|
500
|
-
background: transparent;
|
|
501
|
+
color: var(--wp-admin-theme-color);
|
|
501
502
|
}
|
|
502
503
|
.dataviews-view-list .dataviews-view-list__item {
|
|
503
|
-
padding:
|
|
504
|
+
padding: 16px 0 16px 32px;
|
|
504
505
|
width: 100%;
|
|
505
506
|
scroll-margin: 8px 0;
|
|
506
507
|
}
|
|
507
508
|
.dataviews-view-list .dataviews-view-list__item:focus-visible::before {
|
|
508
509
|
position: absolute;
|
|
509
510
|
content: "";
|
|
510
|
-
top: -1px;
|
|
511
|
-
right: -
|
|
512
|
-
bottom: -
|
|
513
|
-
left: -
|
|
514
|
-
box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
|
|
515
|
-
|
|
516
|
-
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;
|
|
517
517
|
}
|
|
518
518
|
.dataviews-view-list .dataviews-view-list__item .dataviews-view-list__primary-field {
|
|
519
519
|
min-height: 20px;
|
|
@@ -522,11 +522,11 @@
|
|
|
522
522
|
.dataviews-view-list .dataviews-view-list__media-wrapper {
|
|
523
523
|
width: 40px;
|
|
524
524
|
height: 40px;
|
|
525
|
-
border-radius: 4px;
|
|
526
525
|
overflow: hidden;
|
|
527
526
|
position: relative;
|
|
528
527
|
flex-shrink: 0;
|
|
529
528
|
background-color: #f0f0f0;
|
|
529
|
+
border-radius: 4px;
|
|
530
530
|
}
|
|
531
531
|
.dataviews-view-list .dataviews-view-list__media-wrapper img {
|
|
532
532
|
width: 100%;
|
|
@@ -559,6 +559,10 @@
|
|
|
559
559
|
.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:has(.dataviews-view-list__field-value:empty) {
|
|
560
560
|
display: none;
|
|
561
561
|
}
|
|
562
|
+
.dataviews-view-list .dataviews-view-list__item-actions {
|
|
563
|
+
padding-top: 16px;
|
|
564
|
+
padding-right: 32px;
|
|
565
|
+
}
|
|
562
566
|
.dataviews-view-list + .dataviews-pagination {
|
|
563
567
|
justify-content: space-between;
|
|
564
568
|
}
|
|
@@ -595,10 +599,6 @@
|
|
|
595
599
|
flex-shrink: 0;
|
|
596
600
|
}
|
|
597
601
|
|
|
598
|
-
.dataviews-view-grid__title-actions .dataviews-view-table-selection-checkbox {
|
|
599
|
-
margin-left: 8px;
|
|
600
|
-
}
|
|
601
|
-
|
|
602
602
|
.dataviews-filter-summary__popover .components-popover__content {
|
|
603
603
|
width: 230px;
|
|
604
604
|
padding: 0;
|
|
@@ -823,4 +823,42 @@
|
|
|
823
823
|
.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus-visible {
|
|
824
824
|
outline: none;
|
|
825
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;
|
|
826
864
|
}
|
|
@@ -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,45 @@
|
|
|
1
|
+
export declare const OPERATOR_IS = "is";
|
|
2
|
+
export declare const OPERATOR_IS_NOT = "isNot";
|
|
3
|
+
export declare const OPERATOR_IS_ANY = "isAny";
|
|
4
|
+
export declare const OPERATOR_IS_NONE = "isNone";
|
|
5
|
+
export declare const OPERATOR_IS_ALL = "isAll";
|
|
6
|
+
export declare const OPERATOR_IS_NOT_ALL = "isNotAll";
|
|
7
|
+
export declare const ALL_OPERATORS: string[];
|
|
8
|
+
export declare const OPERATORS: {
|
|
9
|
+
is: {
|
|
10
|
+
key: string;
|
|
11
|
+
label: string;
|
|
12
|
+
};
|
|
13
|
+
isNot: {
|
|
14
|
+
key: string;
|
|
15
|
+
label: string;
|
|
16
|
+
};
|
|
17
|
+
isAny: {
|
|
18
|
+
key: string;
|
|
19
|
+
label: string;
|
|
20
|
+
};
|
|
21
|
+
isNone: {
|
|
22
|
+
key: string;
|
|
23
|
+
label: string;
|
|
24
|
+
};
|
|
25
|
+
isAll: {
|
|
26
|
+
key: string;
|
|
27
|
+
label: string;
|
|
28
|
+
};
|
|
29
|
+
isNotAll: {
|
|
30
|
+
key: string;
|
|
31
|
+
label: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export declare const SORTING_DIRECTIONS: {
|
|
35
|
+
asc: {
|
|
36
|
+
label: string;
|
|
37
|
+
};
|
|
38
|
+
desc: {
|
|
39
|
+
label: string;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export declare const LAYOUT_TABLE = "table";
|
|
43
|
+
export declare const LAYOUT_GRID = "grid";
|
|
44
|
+
export declare const LAYOUT_LIST = "list";
|
|
45
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,OAAO,CAAC;AAChC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,gBAAgB,WAAW,CAAC;AACzC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C,eAAO,MAAM,aAAa,UAOzB,CAAC;AACF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;CAyBrB,CAAC;AAGF,eAAO,MAAM,kBAAkB;;;;;;;CAG9B,CAAC;AAGF,eAAO,MAAM,YAAY,UAAU,CAAC;AACpC,eAAO,MAAM,WAAW,SAAS,CAAC;AAClC,eAAO,MAAM,WAAW,SAAS,CAAC"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Field, AnyItem, View } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Applies the filtering, sorting and pagination to the raw data based on the view configuration.
|
|
4
|
+
*
|
|
5
|
+
* @param data Raw data.
|
|
6
|
+
* @param view View config.
|
|
7
|
+
* @param fields Fields config.
|
|
8
|
+
*
|
|
9
|
+
* @return Filtered, sorted and paginated data.
|
|
10
|
+
*/
|
|
11
|
+
export declare function filterSortAndPaginate<Item extends AnyItem>(data: Item[], view: View, fields: Field<Item>[]): {
|
|
12
|
+
data: Item[];
|
|
13
|
+
paginationInfo: {
|
|
14
|
+
totalItems: number;
|
|
15
|
+
totalPages: number;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=filter-and-sort-data-view.d.ts.map
|
|
@@ -0,0 +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,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 @@
|
|
|
1
|
+
{"version":3,"file":"filter-summary.d.ts","sourceRoot":"","sources":["../src/filter-summary.js"],"names":[],"mappings":"AA0LA;;;;gCA4GC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../src/filters.js"],"names":[],"mappings":";AAeA,oEA+FI"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"lock-unlock.d.ts","sourceRoot":"","sources":["../src/lock-unlock.ts"],"names":[],"mappings":"AAKA,eAAO,MAAQ,IAAI,2CAAE,MAAM,sBAIzB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { Field, AnyItem, NormalizedField } from './types';
|
|
5
|
+
/**
|
|
6
|
+
* Apply default values and normalize the fields config.
|
|
7
|
+
*
|
|
8
|
+
* @param fields Fields config.
|
|
9
|
+
* @return Normalized fields config.
|
|
10
|
+
*/
|
|
11
|
+
export declare function normalizeFields<Item extends AnyItem>(fields: Field<Item>[]): NormalizedField<Item>[];
|
|
12
|
+
//# sourceMappingURL=normalize-fields.d.ts.map
|
|
@@ -0,0 +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,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 @@
|
|
|
1
|
+
{"version":3,"file":"reset-filters.d.ts","sourceRoot":"","sources":["../src/reset-filters.js"],"names":[],"mappings":"AAMA;;;;gCA8BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-widget.d.ts","sourceRoot":"","sources":["../src/search-widget.js"],"names":[],"mappings":"AAoSA,8EAGC"}
|
|
@@ -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"}
|