@wordpress/dataviews 4.0.0 → 4.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 +33 -5
- package/README.md +31 -23
- package/build/components/dataform/index.js +10 -61
- package/build/components/dataform/index.js.map +1 -1
- package/build/components/dataviews/index.js +23 -14
- package/build/components/dataviews/index.js.map +1 -1
- package/build/components/dataviews-bulk-actions/index.js +3 -0
- package/build/components/dataviews-bulk-actions/index.js.map +1 -1
- package/build/components/dataviews-filters/add-filter.js +34 -17
- package/build/components/dataviews-filters/add-filter.js.map +1 -1
- package/build/components/dataviews-filters/index.js +109 -43
- package/build/components/dataviews-filters/index.js.map +1 -1
- package/build/components/dataviews-filters/search-widget.js +2 -5
- package/build/components/dataviews-filters/search-widget.js.map +1 -1
- package/build/components/dataviews-layout/index.js +2 -2
- package/build/components/dataviews-layout/index.js.map +1 -1
- package/build/components/dataviews-pagination/index.js +23 -15
- package/build/components/dataviews-pagination/index.js.map +1 -1
- package/build/components/dataviews-search/index.js +8 -5
- package/build/components/dataviews-search/index.js.map +1 -1
- package/build/components/dataviews-view-config/index.js +240 -188
- package/build/components/dataviews-view-config/index.js.map +1 -1
- package/build/constants.js +6 -1
- package/build/constants.js.map +1 -1
- package/build/dataform-controls/datetime.js +49 -0
- package/build/dataform-controls/datetime.js.map +1 -0
- package/build/dataform-controls/index.js +50 -0
- package/build/dataform-controls/index.js.map +1 -0
- package/build/dataform-controls/integer.js +45 -0
- package/build/dataform-controls/integer.js.map +1 -0
- package/build/dataform-controls/radio.js +45 -0
- package/build/dataform-controls/radio.js.map +1 -0
- package/build/dataform-controls/select.js +58 -0
- package/build/dataform-controls/select.js.map +1 -0
- package/build/dataform-controls/text.js +45 -0
- package/build/dataform-controls/text.js.map +1 -0
- package/build/dataforms-layouts/index.js +24 -0
- package/build/dataforms-layouts/index.js.map +1 -0
- package/build/dataforms-layouts/panel/index.js +132 -0
- package/build/dataforms-layouts/panel/index.js.map +1 -0
- package/build/dataforms-layouts/regular/index.js +42 -0
- package/build/dataforms-layouts/regular/index.js.map +1 -0
- package/build/dataviews-layouts/grid/density-picker.js +114 -0
- package/build/dataviews-layouts/grid/density-picker.js.map +1 -0
- package/build/{layouts → dataviews-layouts}/grid/index.js +9 -9
- package/build/dataviews-layouts/grid/index.js.map +1 -0
- package/build/dataviews-layouts/index.js.map +1 -0
- package/build/{layouts → dataviews-layouts}/list/index.js +6 -2
- package/build/dataviews-layouts/list/index.js.map +1 -0
- package/build/{layouts → dataviews-layouts}/table/column-header-menu.js +3 -6
- package/build/dataviews-layouts/table/column-header-menu.js.map +1 -0
- package/build/dataviews-layouts/table/index.js.map +1 -0
- package/build/field-types/datetime.js +30 -0
- package/build/field-types/datetime.js.map +1 -0
- package/build/field-types/index.js +50 -0
- package/build/field-types/index.js.map +1 -0
- package/build/field-types/integer.js +35 -0
- package/build/field-types/integer.js.map +1 -0
- package/build/field-types/text.js +28 -0
- package/build/field-types/text.js.map +1 -0
- package/build/filter-and-sort-data-view.js +2 -11
- package/build/filter-and-sort-data-view.js.map +1 -1
- package/build/index.js +9 -2
- package/build/index.js.map +1 -1
- package/build/normalize-fields.js +34 -1
- package/build/normalize-fields.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build/validation.js +22 -0
- package/build/validation.js.map +1 -0
- package/build-module/components/dataform/index.js +10 -61
- package/build-module/components/dataform/index.js.map +1 -1
- package/build-module/components/dataviews/index.js +21 -14
- package/build-module/components/dataviews/index.js.map +1 -1
- package/build-module/components/dataviews-bulk-actions/index.js +3 -0
- package/build-module/components/dataviews-bulk-actions/index.js.map +1 -1
- package/build-module/components/dataviews-filters/add-filter.js +33 -17
- package/build-module/components/dataviews-filters/add-filter.js.map +1 -1
- package/build-module/components/dataviews-filters/index.js +108 -45
- package/build-module/components/dataviews-filters/index.js.map +1 -1
- package/build-module/components/dataviews-filters/search-widget.js +2 -5
- package/build-module/components/dataviews-filters/search-widget.js.map +1 -1
- package/build-module/components/dataviews-layout/index.js +1 -1
- package/build-module/components/dataviews-layout/index.js.map +1 -1
- package/build-module/components/dataviews-pagination/index.js +23 -15
- package/build-module/components/dataviews-pagination/index.js.map +1 -1
- package/build-module/components/dataviews-search/index.js +8 -5
- package/build-module/components/dataviews-search/index.js.map +1 -1
- package/build-module/components/dataviews-view-config/index.js +243 -191
- package/build-module/components/dataviews-view-config/index.js.map +1 -1
- package/build-module/constants.js +5 -0
- package/build-module/constants.js.map +1 -1
- package/build-module/dataform-controls/datetime.js +43 -0
- package/build-module/dataform-controls/datetime.js.map +1 -0
- package/build-module/dataform-controls/index.js +42 -0
- package/build-module/dataform-controls/index.js.map +1 -0
- package/build-module/dataform-controls/integer.js +38 -0
- package/build-module/dataform-controls/integer.js.map +1 -0
- package/build-module/dataform-controls/radio.js +38 -0
- package/build-module/dataform-controls/radio.js.map +1 -0
- package/build-module/dataform-controls/select.js +51 -0
- package/build-module/dataform-controls/select.js.map +1 -0
- package/build-module/dataform-controls/text.js +38 -0
- package/build-module/dataform-controls/text.js.map +1 -0
- package/build-module/dataforms-layouts/index.js +16 -0
- package/build-module/dataforms-layouts/index.js.map +1 -0
- package/build-module/dataforms-layouts/panel/index.js +127 -0
- package/build-module/dataforms-layouts/panel/index.js.map +1 -0
- package/build-module/dataforms-layouts/regular/index.js +35 -0
- package/build-module/dataforms-layouts/regular/index.js.map +1 -0
- package/build-module/dataviews-layouts/grid/density-picker.js +107 -0
- package/build-module/dataviews-layouts/grid/density-picker.js.map +1 -0
- package/build-module/{layouts → dataviews-layouts}/grid/index.js +9 -9
- package/build-module/dataviews-layouts/grid/index.js.map +1 -0
- package/build-module/dataviews-layouts/index.js.map +1 -0
- package/build-module/{layouts → dataviews-layouts}/list/index.js +5 -2
- package/build-module/dataviews-layouts/list/index.js.map +1 -0
- package/build-module/{layouts → dataviews-layouts}/table/column-header-menu.js +3 -6
- package/build-module/dataviews-layouts/table/column-header-menu.js.map +1 -0
- package/build-module/dataviews-layouts/table/index.js.map +1 -0
- package/build-module/field-types/datetime.js +24 -0
- package/build-module/field-types/datetime.js.map +1 -0
- package/build-module/field-types/index.js +44 -0
- package/build-module/field-types/index.js.map +1 -0
- package/build-module/field-types/integer.js +29 -0
- package/build-module/field-types/integer.js.map +1 -0
- package/build-module/field-types/text.js +22 -0
- package/build-module/field-types/text.js.map +1 -0
- package/build-module/filter-and-sort-data-view.js +2 -11
- package/build-module/filter-and-sort-data-view.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/normalize-fields.js +33 -1
- package/build-module/normalize-fields.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-module/validation.js +15 -0
- package/build-module/validation.js.map +1 -0
- package/build-style/style-rtl.css +186 -20
- package/build-style/style.css +186 -20
- package/build-types/components/dataform/index.d.ts +2 -13
- package/build-types/components/dataform/index.d.ts.map +1 -1
- package/build-types/components/dataform/stories/index.story.d.ts +12 -1
- package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
- package/build-types/components/dataviews/index.d.ts.map +1 -1
- package/build-types/components/dataviews/stories/fixtures.d.ts +25 -0
- package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
- package/build-types/components/dataviews/stories/index.story.d.ts +9 -0
- package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
- package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -1
- package/build-types/components/dataviews-filters/add-filter.d.ts +3 -0
- package/build-types/components/dataviews-filters/add-filter.d.ts.map +1 -1
- package/build-types/components/dataviews-filters/index.d.ts +11 -1
- package/build-types/components/dataviews-filters/index.d.ts.map +1 -1
- package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -1
- package/build-types/components/dataviews-pagination/index.d.ts.map +1 -1
- package/build-types/components/dataviews-search/index.d.ts.map +1 -1
- package/build-types/components/dataviews-view-config/index.d.ts +4 -3
- package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
- package/build-types/constants.d.ts +4 -0
- package/build-types/constants.d.ts.map +1 -1
- package/build-types/dataform-controls/datetime.d.ts +6 -0
- package/build-types/dataform-controls/datetime.d.ts.map +1 -0
- package/build-types/dataform-controls/index.d.ts +11 -0
- package/build-types/dataform-controls/index.d.ts.map +1 -0
- package/build-types/dataform-controls/integer.d.ts +6 -0
- package/build-types/dataform-controls/integer.d.ts.map +1 -0
- package/build-types/dataform-controls/radio.d.ts +6 -0
- package/build-types/dataform-controls/radio.d.ts.map +1 -0
- package/build-types/dataform-controls/select.d.ts +6 -0
- package/build-types/dataform-controls/select.d.ts.map +1 -0
- package/build-types/dataform-controls/text.d.ts +6 -0
- package/build-types/dataform-controls/text.d.ts.map +1 -0
- package/build-types/dataforms-layouts/index.d.ts +9 -0
- package/build-types/dataforms-layouts/index.d.ts.map +1 -0
- package/build-types/dataforms-layouts/panel/index.d.ts +3 -0
- package/build-types/dataforms-layouts/panel/index.d.ts.map +1 -0
- package/build-types/dataforms-layouts/regular/index.d.ts +3 -0
- package/build-types/dataforms-layouts/regular/index.d.ts.map +1 -0
- package/build-types/dataviews-layouts/grid/density-picker.d.ts.map +1 -0
- package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -0
- package/build-types/dataviews-layouts/index.d.ts.map +1 -0
- package/build-types/dataviews-layouts/list/index.d.ts.map +1 -0
- package/build-types/dataviews-layouts/table/column-header-menu.d.ts.map +1 -0
- package/build-types/dataviews-layouts/table/index.d.ts.map +1 -0
- package/build-types/field-types/datetime.d.ts +13 -0
- package/build-types/field-types/datetime.d.ts.map +1 -0
- package/build-types/field-types/index.d.ts +20 -0
- package/build-types/field-types/index.d.ts.map +1 -0
- package/build-types/field-types/integer.d.ts +13 -0
- package/build-types/field-types/integer.d.ts.map +1 -0
- package/build-types/field-types/text.d.ts +13 -0
- package/build-types/field-types/text.d.ts.map +1 -0
- package/build-types/filter-and-sort-data-view.d.ts.map +1 -1
- package/build-types/index.d.ts +2 -1
- package/build-types/index.d.ts.map +1 -1
- package/build-types/normalize-fields.d.ts +0 -3
- package/build-types/normalize-fields.d.ts.map +1 -1
- package/build-types/types.d.ts +73 -18
- package/build-types/types.d.ts.map +1 -1
- package/build-types/validation.d.ts +3 -0
- package/build-types/validation.d.ts.map +1 -0
- package/package.json +12 -11
- package/src/components/dataform/index.tsx +8 -97
- package/src/components/dataform/stories/index.story.tsx +82 -4
- package/src/components/dataviews/index.tsx +26 -14
- package/src/components/dataviews/stories/fixtures.js +30 -1
- package/src/components/dataviews/stories/index.story.js +7 -1
- package/src/components/dataviews/style.scss +5 -14
- package/src/components/dataviews-bulk-actions/index.tsx +5 -0
- package/src/components/dataviews-bulk-actions-toolbar/style.scss +1 -1
- package/src/components/dataviews-filters/add-filter.tsx +37 -21
- package/src/components/dataviews-filters/index.tsx +152 -61
- package/src/components/dataviews-filters/search-widget.tsx +1 -8
- package/src/components/dataviews-filters/style.scss +31 -1
- package/src/components/dataviews-layout/index.tsx +1 -1
- package/src/components/dataviews-pagination/index.tsx +35 -16
- package/src/components/dataviews-pagination/style.scss +9 -4
- package/src/components/dataviews-search/index.tsx +8 -5
- package/src/components/dataviews-view-config/index.tsx +300 -257
- package/src/components/dataviews-view-config/style.scss +44 -0
- package/src/constants.ts +5 -0
- package/src/dataform-controls/datetime.tsx +43 -0
- package/src/dataform-controls/index.tsx +61 -0
- package/src/dataform-controls/integer.tsx +38 -0
- package/src/dataform-controls/radio.tsx +42 -0
- package/src/dataform-controls/select.tsx +52 -0
- package/src/dataform-controls/style.scss +4 -0
- package/src/dataform-controls/text.tsx +40 -0
- package/src/dataforms-layouts/index.tsx +20 -0
- package/src/dataforms-layouts/panel/index.tsx +168 -0
- package/src/dataforms-layouts/panel/style.scss +59 -0
- package/src/dataforms-layouts/regular/index.tsx +45 -0
- package/src/dataviews-layouts/grid/density-picker.tsx +102 -0
- package/src/{layouts → dataviews-layouts}/grid/index.tsx +9 -9
- package/src/{layouts → dataviews-layouts}/grid/style.scss +29 -4
- package/src/{layouts → dataviews-layouts}/list/index.tsx +6 -2
- package/src/{layouts → dataviews-layouts}/list/style.scss +4 -1
- package/src/{layouts → dataviews-layouts}/table/column-header-menu.tsx +4 -6
- package/src/field-types/datetime.tsx +28 -0
- package/src/field-types/index.tsx +50 -0
- package/src/field-types/integer.tsx +34 -0
- package/src/field-types/text.tsx +27 -0
- package/src/filter-and-sort-data-view.ts +1 -15
- package/src/index.ts +2 -1
- package/src/normalize-fields.ts +43 -4
- package/src/style.scss +7 -3
- package/src/test/filter-and-sort-data-view.js +74 -3
- package/src/test/validation.ts +131 -0
- package/src/types.ts +92 -23
- package/src/validation.ts +18 -0
- package/tsconfig.json +2 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/layouts/grid/density-picker.js +0 -143
- package/build/layouts/grid/density-picker.js.map +0 -1
- package/build/layouts/grid/index.js.map +0 -1
- package/build/layouts/index.js.map +0 -1
- package/build/layouts/list/index.js.map +0 -1
- package/build/layouts/table/column-header-menu.js.map +0 -1
- package/build/layouts/table/index.js.map +0 -1
- package/build-module/layouts/grid/density-picker.js +0 -138
- package/build-module/layouts/grid/density-picker.js.map +0 -1
- package/build-module/layouts/grid/index.js.map +0 -1
- package/build-module/layouts/index.js.map +0 -1
- package/build-module/layouts/list/index.js.map +0 -1
- package/build-module/layouts/table/column-header-menu.js.map +0 -1
- package/build-module/layouts/table/index.js.map +0 -1
- package/build-types/layouts/grid/density-picker.d.ts.map +0 -1
- package/build-types/layouts/grid/index.d.ts.map +0 -1
- package/build-types/layouts/index.d.ts.map +0 -1
- package/build-types/layouts/list/index.d.ts.map +0 -1
- package/build-types/layouts/table/column-header-menu.d.ts.map +0 -1
- package/build-types/layouts/table/index.d.ts.map +0 -1
- package/src/layouts/grid/density-picker.tsx +0 -136
- /package/build/{layouts → dataviews-layouts}/index.js +0 -0
- /package/build/{layouts → dataviews-layouts}/table/index.js +0 -0
- /package/build-module/{layouts → dataviews-layouts}/index.js +0 -0
- /package/build-module/{layouts → dataviews-layouts}/table/index.js +0 -0
- /package/build-types/{layouts → dataviews-layouts}/grid/density-picker.d.ts +0 -0
- /package/build-types/{layouts → dataviews-layouts}/grid/index.d.ts +0 -0
- /package/build-types/{layouts → dataviews-layouts}/index.d.ts +0 -0
- /package/build-types/{layouts → dataviews-layouts}/list/index.d.ts +0 -0
- /package/build-types/{layouts → dataviews-layouts}/table/column-header-menu.d.ts +0 -0
- /package/build-types/{layouts → dataviews-layouts}/table/index.d.ts +0 -0
- /package/src/{layouts → dataviews-layouts}/index.ts +0 -0
- /package/src/{layouts → dataviews-layouts}/table/index.tsx +0 -0
- /package/src/{layouts → dataviews-layouts}/table/style.scss +0 -0
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = DensityPicker;
|
|
7
|
-
var _components = require("@wordpress/components");
|
|
8
|
-
var _i18n = require("@wordpress/i18n");
|
|
9
|
-
var _compose = require("@wordpress/compose");
|
|
10
|
-
var _icons = require("@wordpress/icons");
|
|
11
|
-
var _element = require("@wordpress/element");
|
|
12
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
/**
|
|
14
|
-
* WordPress dependencies
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
const viewportBreaks = {
|
|
18
|
-
xhuge: {
|
|
19
|
-
min: 3,
|
|
20
|
-
max: 6,
|
|
21
|
-
default: 5
|
|
22
|
-
},
|
|
23
|
-
huge: {
|
|
24
|
-
min: 2,
|
|
25
|
-
max: 4,
|
|
26
|
-
default: 4
|
|
27
|
-
},
|
|
28
|
-
xlarge: {
|
|
29
|
-
min: 2,
|
|
30
|
-
max: 3,
|
|
31
|
-
default: 3
|
|
32
|
-
},
|
|
33
|
-
large: {
|
|
34
|
-
min: 1,
|
|
35
|
-
max: 2,
|
|
36
|
-
default: 2
|
|
37
|
-
},
|
|
38
|
-
mobile: {
|
|
39
|
-
min: 1,
|
|
40
|
-
max: 2,
|
|
41
|
-
default: 2
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
function useViewPortBreakpoint() {
|
|
45
|
-
const isXHuge = (0, _compose.useViewportMatch)('xhuge', '>=');
|
|
46
|
-
const isHuge = (0, _compose.useViewportMatch)('huge', '>=');
|
|
47
|
-
const isXlarge = (0, _compose.useViewportMatch)('xlarge', '>=');
|
|
48
|
-
const isLarge = (0, _compose.useViewportMatch)('large', '>=');
|
|
49
|
-
const isMobile = (0, _compose.useViewportMatch)('mobile', '>=');
|
|
50
|
-
if (isXHuge) {
|
|
51
|
-
return 'xhuge';
|
|
52
|
-
}
|
|
53
|
-
if (isHuge) {
|
|
54
|
-
return 'huge';
|
|
55
|
-
}
|
|
56
|
-
if (isXlarge) {
|
|
57
|
-
return 'xlarge';
|
|
58
|
-
}
|
|
59
|
-
if (isLarge) {
|
|
60
|
-
return 'large';
|
|
61
|
-
}
|
|
62
|
-
if (isMobile) {
|
|
63
|
-
return 'mobile';
|
|
64
|
-
}
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// Value is number from 0 to 100 representing how big an item is in the grid
|
|
69
|
-
// 100 being the biggest and 0 being the smallest.
|
|
70
|
-
// The size is relative to the viewport size, if one a given viewport the
|
|
71
|
-
// number of allowed items in a grid is 3 to 6 a 0 ( the smallest ) will mean that the grid will
|
|
72
|
-
// have 6 items in a row, a 100 ( the biggest ) will mean that the grid will have 3 items in a row.
|
|
73
|
-
// A value of 75 will mean that the grid will have 4 items in a row.
|
|
74
|
-
function getRangeValue(density, breakValues) {
|
|
75
|
-
const inverseDensity = breakValues.max - density;
|
|
76
|
-
const max = breakValues.max - breakValues.min;
|
|
77
|
-
return Math.round(inverseDensity * 100 / max);
|
|
78
|
-
}
|
|
79
|
-
function DensityPicker({
|
|
80
|
-
density,
|
|
81
|
-
setDensity
|
|
82
|
-
}) {
|
|
83
|
-
const viewport = useViewPortBreakpoint();
|
|
84
|
-
(0, _element.useEffect)(() => {
|
|
85
|
-
setDensity(_density => {
|
|
86
|
-
if (!viewport || !_density) {
|
|
87
|
-
return 0;
|
|
88
|
-
}
|
|
89
|
-
const breakValues = viewportBreaks[viewport];
|
|
90
|
-
if (_density < breakValues.min) {
|
|
91
|
-
return breakValues.min;
|
|
92
|
-
}
|
|
93
|
-
if (_density > breakValues.max) {
|
|
94
|
-
return breakValues.max;
|
|
95
|
-
}
|
|
96
|
-
return _density;
|
|
97
|
-
});
|
|
98
|
-
}, [setDensity, viewport]);
|
|
99
|
-
if (!viewport) {
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
const breakValues = viewportBreaks[viewport];
|
|
103
|
-
const densityToUse = density || breakValues.default;
|
|
104
|
-
const rangeValue = getRangeValue(densityToUse, breakValues);
|
|
105
|
-
const step = 100 / (breakValues.max - breakValues.min + 1);
|
|
106
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
107
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
108
|
-
size: "compact",
|
|
109
|
-
icon: _icons.lineSolid,
|
|
110
|
-
disabled: rangeValue <= 0,
|
|
111
|
-
accessibleWhenDisabled: true,
|
|
112
|
-
label: (0, _i18n.__)('Decrease size'),
|
|
113
|
-
onClick: () => {
|
|
114
|
-
setDensity(densityToUse + 1);
|
|
115
|
-
}
|
|
116
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
|
|
117
|
-
__nextHasNoMarginBottom: true,
|
|
118
|
-
showTooltip: false,
|
|
119
|
-
className: "dataviews-density-picker__range-control",
|
|
120
|
-
label: (0, _i18n.__)('Item size'),
|
|
121
|
-
hideLabelFromVision: true,
|
|
122
|
-
value: rangeValue,
|
|
123
|
-
min: 0,
|
|
124
|
-
max: 100,
|
|
125
|
-
withInputField: false,
|
|
126
|
-
onChange: (value = 0) => {
|
|
127
|
-
const inverseValue = 100 - value;
|
|
128
|
-
setDensity(Math.round(inverseValue * (breakValues.max - breakValues.min) / 100 + breakValues.min));
|
|
129
|
-
},
|
|
130
|
-
step: step
|
|
131
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
132
|
-
size: "compact",
|
|
133
|
-
icon: _icons.plus,
|
|
134
|
-
disabled: rangeValue >= 100,
|
|
135
|
-
accessibleWhenDisabled: true,
|
|
136
|
-
label: (0, _i18n.__)('Increase size'),
|
|
137
|
-
onClick: () => {
|
|
138
|
-
setDensity(densityToUse - 1);
|
|
139
|
-
}
|
|
140
|
-
})]
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=density-picker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_compose","_icons","_element","_jsxRuntime","viewportBreaks","xhuge","min","max","default","huge","xlarge","large","mobile","useViewPortBreakpoint","isXHuge","useViewportMatch","isHuge","isXlarge","isLarge","isMobile","getRangeValue","density","breakValues","inverseDensity","Math","round","DensityPicker","setDensity","viewport","useEffect","_density","densityToUse","rangeValue","step","jsxs","Fragment","children","jsx","Button","size","icon","lineSolid","disabled","accessibleWhenDisabled","label","__","onClick","RangeControl","__nextHasNoMarginBottom","showTooltip","className","hideLabelFromVision","value","withInputField","onChange","inverseValue","plus"],"sources":["@wordpress/dataviews/src/layouts/grid/density-picker.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RangeControl, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { plus, lineSolid } from '@wordpress/icons';\nimport { useEffect } from '@wordpress/element';\n\nconst viewportBreaks = {\n\txhuge: { min: 3, max: 6, default: 5 },\n\thuge: { min: 2, max: 4, default: 4 },\n\txlarge: { min: 2, max: 3, default: 3 },\n\tlarge: { min: 1, max: 2, default: 2 },\n\tmobile: { min: 1, max: 2, default: 2 },\n};\n\nfunction useViewPortBreakpoint() {\n\tconst isXHuge = useViewportMatch( 'xhuge', '>=' );\n\tconst isHuge = useViewportMatch( 'huge', '>=' );\n\tconst isXlarge = useViewportMatch( 'xlarge', '>=' );\n\tconst isLarge = useViewportMatch( 'large', '>=' );\n\tconst isMobile = useViewportMatch( 'mobile', '>=' );\n\n\tif ( isXHuge ) {\n\t\treturn 'xhuge';\n\t}\n\tif ( isHuge ) {\n\t\treturn 'huge';\n\t}\n\tif ( isXlarge ) {\n\t\treturn 'xlarge';\n\t}\n\tif ( isLarge ) {\n\t\treturn 'large';\n\t}\n\tif ( isMobile ) {\n\t\treturn 'mobile';\n\t}\n\treturn null;\n}\n\n// Value is number from 0 to 100 representing how big an item is in the grid\n// 100 being the biggest and 0 being the smallest.\n// The size is relative to the viewport size, if one a given viewport the\n// number of allowed items in a grid is 3 to 6 a 0 ( the smallest ) will mean that the grid will\n// have 6 items in a row, a 100 ( the biggest ) will mean that the grid will have 3 items in a row.\n// A value of 75 will mean that the grid will have 4 items in a row.\nfunction getRangeValue(\n\tdensity: number,\n\tbreakValues: { min: number; max: number; default: number }\n) {\n\tconst inverseDensity = breakValues.max - density;\n\tconst max = breakValues.max - breakValues.min;\n\treturn Math.round( ( inverseDensity * 100 ) / max );\n}\n\nexport default function DensityPicker( {\n\tdensity,\n\tsetDensity,\n}: {\n\tdensity: number;\n\tsetDensity: React.Dispatch< React.SetStateAction< number > >;\n} ) {\n\tconst viewport = useViewPortBreakpoint();\n\tuseEffect( () => {\n\t\tsetDensity( ( _density ) => {\n\t\t\tif ( ! viewport || ! _density ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tconst breakValues = viewportBreaks[ viewport ];\n\t\t\tif ( _density < breakValues.min ) {\n\t\t\t\treturn breakValues.min;\n\t\t\t}\n\t\t\tif ( _density > breakValues.max ) {\n\t\t\t\treturn breakValues.max;\n\t\t\t}\n\t\t\treturn _density;\n\t\t} );\n\t}, [ setDensity, viewport ] );\n\tif ( ! viewport ) {\n\t\treturn null;\n\t}\n\tconst breakValues = viewportBreaks[ viewport ];\n\tconst densityToUse = density || breakValues.default;\n\tconst rangeValue = getRangeValue( densityToUse, breakValues );\n\n\tconst step = 100 / ( breakValues.max - breakValues.min + 1 );\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tsize=\"compact\"\n\t\t\t\ticon={ lineSolid }\n\t\t\t\tdisabled={ rangeValue <= 0 }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tlabel={ __( 'Decrease size' ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDensity( densityToUse + 1 );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tshowTooltip={ false }\n\t\t\t\tclassName=\"dataviews-density-picker__range-control\"\n\t\t\t\tlabel={ __( 'Item size' ) }\n\t\t\t\thideLabelFromVision\n\t\t\t\tvalue={ rangeValue }\n\t\t\t\tmin={ 0 }\n\t\t\t\tmax={ 100 }\n\t\t\t\twithInputField={ false }\n\t\t\t\tonChange={ ( value = 0 ) => {\n\t\t\t\t\tconst inverseValue = 100 - value;\n\t\t\t\t\tsetDensity(\n\t\t\t\t\t\tMath.round(\n\t\t\t\t\t\t\t( inverseValue *\n\t\t\t\t\t\t\t\t( breakValues.max - breakValues.min ) ) /\n\t\t\t\t\t\t\t\t100 +\n\t\t\t\t\t\t\t\tbreakValues.min\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\tstep={ step }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tsize=\"compact\"\n\t\t\t\ticon={ plus }\n\t\t\t\tdisabled={ rangeValue >= 100 }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tlabel={ __( 'Increase size' ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDensity( densityToUse - 1 );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_dataviewsItemActions","_dataviewsSelectionCheckbox","_dataviewsBulkActions","_jsxRuntime","GridItem","selection","onChangeSelection","getItemId","item","actions","mediaField","primaryField","visibleFields","badgeFields","columnFields","hasBulkAction","useHasAPossibleBulkAction","id","isSelected","includes","renderedMediaField","render","jsx","renderedPrimaryField","jsxs","__experimentalVStack","spacing","className","clsx","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","itemId","children","__experimentalHStack","justify","default","disabled","isCompact","length","wrap","alignment","map","field","FlexItem","Flex","gap","expanded","style","height","direction","Fragment","label","maxHeight","ViewGrid","data","fields","isLoading","view","density","find","layout","viewFields","reduce","accumulator","key","push","hasData","gridStyle","gridTemplateColumns","__experimentalGrid","columns","Spinner","__"],"sources":["@wordpress/dataviews/src/layouts/grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from '../../components/dataviews-item-actions';\nimport SingleSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport { useHasAPossibleBulkAction } from '../../components/dataviews-bulk-actions';\nimport type { Action, NormalizedField, ViewGridProps } from '../../types';\nimport type { SetSelection } from '../../private-types';\n\ninterface GridItemProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tgetItemId: ( item: Item ) => string;\n\titem: Item;\n\tactions: Action< Item >[];\n\tmediaField?: NormalizedField< Item >;\n\tprimaryField?: NormalizedField< Item >;\n\tvisibleFields: NormalizedField< Item >[];\n\tbadgeFields: NormalizedField< Item >[];\n\tcolumnFields?: string[];\n}\n\nfunction GridItem< Item >( {\n\tselection,\n\tonChangeSelection,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\tprimaryField,\n\tvisibleFields,\n\tbadgeFields,\n\tcolumnFields,\n}: GridItemProps< Item > ) {\n\tconst hasBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : null;\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ clsx( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': hasBulkAction && isSelected,\n\t\t\t} ) }\n\t\t\tonClickCapture={ ( event ) => {\n\t\t\t\tif ( event.ctrlKey || event.metaKey ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! hasBulkAction ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-view-grid__media\">\n\t\t\t\t{ renderedMediaField }\n\t\t\t</div>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"dataviews-view-grid__primary-field\">\n\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t</HStack>\n\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t</HStack>\n\t\t\t{ !! badgeFields?.length && (\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"dataviews-view-grid__badge-fields\"\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\twrap\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t>\n\t\t\t\t\t{ badgeFields.map( ( field ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t\t{ !! visibleFields?.length && (\n\t\t\t\t<VStack className=\"dataviews-view-grid__fields\" spacing={ 1 }>\n\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-view-grid__field',\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'is-column'\n\t\t\t\t\t\t\t\t\t\t: 'is-row'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\tstyle={ { height: 'auto' } }\n\t\t\t\t\t\t\t\tdirection={\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'column'\n\t\t\t\t\t\t\t\t\t\t: 'row'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<FlexItem className=\"dataviews-view-grid__field-name\">\n\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t\t\tstyle={ { maxHeight: 'none' } }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tselection,\n\tview,\n\tdensity,\n}: ViewGridProps< Item > ) {\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout?.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout?.primaryField\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst { visibleFields, badgeFields } = fields.reduce(\n\t\t( accumulator: Record< string, NormalizedField< Item >[] >, field ) => {\n\t\t\tif (\n\t\t\t\t! viewFields.includes( field.id ) ||\n\t\t\t\t[\n\t\t\t\t\tview.layout?.mediaField,\n\t\t\t\t\tview?.layout?.primaryField,\n\t\t\t\t].includes( field.id )\n\t\t\t) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\t\t\t// If the field is a badge field, add it to the badgeFields array\n\t\t\t// otherwise add it to the rest visibleFields array.\n\t\t\tconst key = view.layout?.badgeFields?.includes( field.id )\n\t\t\t\t? 'badgeFields'\n\t\t\t\t: 'visibleFields';\n\t\t\taccumulator[ key ].push( field );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ visibleFields: [], badgeFields: [] }\n\t);\n\tconst hasData = !! data?.length;\n\tconst gridStyle = density\n\t\t? { gridTemplateColumns: `repeat(${ density }, minmax(0, 1fr))` }\n\t\t: {};\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 8 }\n\t\t\t\t\tcolumns={ 2 }\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tclassName=\"dataviews-view-grid\"\n\t\t\t\t\tstyle={ gridStyle }\n\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t>\n\t\t\t\t\t{ data.map( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\tcolumnFields={ view.layout?.columnFields }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ ! hasData && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_icons","_table","_interopRequireDefault","_grid","_list","_constants","VIEW_LAYOUTS","exports","type","LAYOUT_TABLE","label","__","component","ViewTable","icon","blockTable","LAYOUT_GRID","ViewGrid","category","LAYOUT_LIST","ViewList","isRTL","formatListBulletsRTL","formatListBullets","getMandatoryFields","view","_view$layout$combined","layout","primaryField","concat","combinedFields","flatMap","field","children","filter","item","mediaField"],"sources":["@wordpress/dataviews/src/layouts/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tblockTable,\n\tcategory,\n\tformatListBullets,\n\tformatListBulletsRTL,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ViewTable from './table';\nimport ViewGrid from './grid';\nimport ViewList from './list';\nimport { LAYOUT_GRID, LAYOUT_LIST, LAYOUT_TABLE } from '../constants';\nimport type { View } from '../types';\n\nexport const VIEW_LAYOUTS = [\n\t{\n\t\ttype: LAYOUT_TABLE,\n\t\tlabel: __( 'Table' ),\n\t\tcomponent: ViewTable,\n\t\ticon: blockTable,\n\t},\n\t{\n\t\ttype: LAYOUT_GRID,\n\t\tlabel: __( 'Grid' ),\n\t\tcomponent: ViewGrid,\n\t\ticon: category,\n\t},\n\t{\n\t\ttype: LAYOUT_LIST,\n\t\tlabel: __( 'List' ),\n\t\tcomponent: ViewList,\n\t\ticon: isRTL() ? formatListBulletsRTL : formatListBullets,\n\t},\n];\n\nexport function getMandatoryFields( view: View ): string[] {\n\tif ( view.type === 'table' ) {\n\t\treturn [ view.layout?.primaryField ]\n\t\t\t.concat(\n\t\t\t\tview.layout?.combinedFields?.flatMap(\n\t\t\t\t\t( field ) => field.children\n\t\t\t\t) ?? []\n\t\t\t)\n\t\t\t.filter( ( item ): item is string => !! item );\n\t}\n\n\tif ( view.type === 'grid' ) {\n\t\treturn [ view.layout?.primaryField, view.layout?.mediaField ].filter(\n\t\t\t( item ): item is string => !! item\n\t\t);\n\t}\n\n\tif ( view.type === 'list' ) {\n\t\treturn [ view.layout?.primaryField, view.layout?.mediaField ].filter(\n\t\t\t( item ): item is string => !! item\n\t\t);\n\t}\n\n\treturn [];\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAUA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,KAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,KAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAjBA;AACA;AACA;;AASA;AACA;AACA;;AAOO,MAAMO,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG,CAC3B;EACCE,IAAI,EAAEC,uBAAY;EAClBC,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;EACpBC,SAAS,EAAEC,cAAS;EACpBC,IAAI,EAAEC;AACP,CAAC,EACD;EACCP,IAAI,EAAEQ,sBAAW;EACjBN,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,SAAS,EAAEK,aAAQ;EACnBH,IAAI,EAAEI;AACP,CAAC,EACD;EACCV,IAAI,EAAEW,sBAAW;EACjBT,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;EACnBC,SAAS,EAAEQ,aAAQ;EACnBN,IAAI,EAAE,IAAAO,WAAK,EAAC,CAAC,GAAGC,2BAAoB,GAAGC;AACxC,CAAC,CACD;AAEM,SAASC,kBAAkBA,CAAEC,IAAU,EAAa;EAC1D,IAAKA,IAAI,CAACjB,IAAI,KAAK,OAAO,EAAG;IAAA,IAAAkB,qBAAA;IAC5B,OAAO,CAAED,IAAI,CAACE,MAAM,EAAEC,YAAY,CAAE,CAClCC,MAAM,EAAAH,qBAAA,GACND,IAAI,CAACE,MAAM,EAAEG,cAAc,EAAEC,OAAO,CACjCC,KAAK,IAAMA,KAAK,CAACC,QACpB,CAAC,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,EACN,CAAC,CACAQ,MAAM,CAAIC,IAAI,IAAsB,CAAC,CAAEA,IAAK,CAAC;EAChD;EAEA,IAAKV,IAAI,CAACjB,IAAI,KAAK,MAAM,EAAG;IAC3B,OAAO,CAAEiB,IAAI,CAACE,MAAM,EAAEC,YAAY,EAAEH,IAAI,CAACE,MAAM,EAAES,UAAU,CAAE,CAACF,MAAM,CACjEC,IAAI,IAAsB,CAAC,CAAEA,IAChC,CAAC;EACF;EAEA,IAAKV,IAAI,CAACjB,IAAI,KAAK,MAAM,EAAG;IAC3B,OAAO,CAAEiB,IAAI,CAACE,MAAM,EAAEC,YAAY,EAAEH,IAAI,CAACE,MAAM,EAAES,UAAU,CAAE,CAACF,MAAM,CACjEC,IAAI,IAAsB,CAAC,CAAEA,IAChC,CAAC;EACF;EAEA,OAAO,EAAE;AACV","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_i18n","_icons","_data","_lockUnlock","_dataviewsItemActions","_jsxRuntime","useCompositeStoreV2","useCompositeStore","CompositeV2","Composite","CompositeItemV2","CompositeItem","CompositeRowV2","CompositeRow","DropdownMenuV2","DropdownMenu","unlock","componentsPrivateApis","ListItem","actions","id","isSelected","item","mediaField","onSelect","primaryField","store","visibleFields","registry","useRegistry","itemRef","useRef","labelId","descriptionId","isHovered","setIsHovered","useState","handleMouseEnter","handleMouseLeave","useEffect","current","scrollIntoView","behavior","block","inline","primaryAction","eligibleActions","useMemo","_eligibleActions","filter","action","isEligible","_primaryActions","isPrimary","icon","isModalOpen","setIsModalOpen","primaryActionLabel","label","renderedMediaField","render","jsx","className","renderedPrimaryField","ref","role","clsx","onMouseEnter","onMouseLeave","children","jsxs","__experimentalHStack","alignment","spacing","onClick","justify","__experimentalVStack","map","field","VisuallyHidden","as","length","style","flexShrink","width","Button","isDestructive","size","ActionModal","items","closeModal","callback","trigger","moreVertical","__","accessibleWhenDisabled","disabled","onKeyDown","event","key","preventDefault","move","down","up","placement","ActionsDropdownMenuGroup","ViewList","props","data","fields","getItemId","isLoading","onChangeSelection","selection","view","baseId","useInstanceId","selectedItem","findLast","includes","find","layout","viewFields","getItemDomId","useCallback","undefined","defaultActiveId","isActiveIdInList","state","some","activeId","hasData","Spinner"],"sources":["@wordpress/dataviews/src/layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n// Import CompositeStore type, which is not exported from @wordpress/components.\n// eslint-disable-next-line no-restricted-imports\nimport type { CompositeStore } from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsDropdownMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type { Action, NormalizedField, ViewListProps } from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tactions: Action< Item >[];\n\tid?: string;\n\tisSelected: boolean;\n\titem: Item;\n\tmediaField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\tprimaryField?: NormalizedField< Item >;\n\tstore: CompositeStore;\n\tvisibleFields: NormalizedField< Item >[];\n}\n\nconst {\n\tuseCompositeStoreV2: useCompositeStore,\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tCompositeRowV2: CompositeRow,\n\tDropdownMenuV2: DropdownMenu,\n} = unlock( componentsPrivateApis );\n\nfunction ListItem< Item >( {\n\tactions,\n\tid,\n\tisSelected,\n\titem,\n\tmediaField,\n\tonSelect,\n\tprimaryField,\n\tstore,\n\tvisibleFields,\n}: ListViewItemProps< Item > ) {\n\tconst registry = useRegistry();\n\tconst itemRef = useRef< HTMLElement >( null );\n\tconst labelId = `${ id }-label`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions?.[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst primaryActionLabel =\n\t\tprimaryAction &&\n\t\t( typeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] ) );\n\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : (\n\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t);\n\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\n\treturn (\n\t\t<CompositeRow\n\t\t\tref={ itemRef }\n\t\t\trender={ <li /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t>\n\t\t\t<HStack\n\t\t\t\tclassName=\"dataviews-view-list__item-wrapper\"\n\t\t\t\talignment=\"center\"\n\t\t\t\tspacing={ 0 }\n\t\t\t>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\trender={ <div /> }\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__primary-field\"\n\t\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</CompositeItem>\n\t\t\t\t</div>\n\t\t\t\t{ eligibleActions?.length > 0 && (\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item-actions\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tflexShrink: '0',\n\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ primaryAction && 'RenderModal' in primaryAction && (\n\t\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tlabel={ primaryActionLabel }\n\t\t\t\t\t\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\t\t\t\t\t\tisDestructive={\n\t\t\t\t\t\t\t\t\t\t\t\tprimaryAction.isDestructive\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( true )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\t\t\t\t\tcloseModal={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ primaryAction &&\n\t\t\t\t\t\t\t! ( 'RenderModal' in primaryAction ) && (\n\t\t\t\t\t\t\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ primaryActionLabel }\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\t\t\t\t\t\t\tisDestructive={\n\t\t\t\t\t\t\t\t\t\t\t\t\tprimaryAction.isDestructive\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tprimaryAction.callback(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ item ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ registry }\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={ ( event: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey: string;\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreventDefault: () => void;\n\t\t\t\t\t\t\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.key ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'ArrowDown'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Prevent the default behaviour (open dropdown menu) and go down.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.move(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.down()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.key === 'ArrowUp'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Prevent the default behavior (open dropdown menu) and go up.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.move(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.up()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</CompositeRow>\n\t);\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\n\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout?.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout?.primaryField\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\tviewFields.includes( field.id ) &&\n\t\t\t! [ view.layout?.primaryField, view.layout?.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst getItemDomId = useCallback(\n\t\t( item?: Item ) =>\n\t\t\titem ? `${ baseId }-${ getItemId( item ) }` : undefined,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst store = useCompositeStore( {\n\t\tdefaultActiveId: getItemDomId( selectedItem ),\n\t} );\n\n\t// Manage focused item, when the active one is removed from the list.\n\tconst isActiveIdInList = store.useState(\n\t\t( state: { items: any[]; activeId: any } ) =>\n\t\t\tstate.items.some(\n\t\t\t\t( item: { id: any } ) => item.id === state.activeId\n\t\t\t)\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isActiveIdInList ) {\n\t\t\t// Prefer going down, except if there is no item below (last item), then go up (last item in list).\n\t\t\tif ( store.down() ) {\n\t\t\t\tstore.move( store.down() );\n\t\t\t} else if ( store.up() ) {\n\t\t\t\tstore.move( store.up() );\n\t\t\t}\n\t\t}\n\t}, [ isActiveIdInList ] );\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <ul /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tstore={ store }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = getItemDomId( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_icons","_components","_element","_lockUnlock","_utils","_constants","_jsxRuntime","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuSeparatorV2","DropdownMenuSeparator","unlock","componentsPrivateApis","WithDropDownMenuSeparators","children","Children","toArray","filter","Boolean","map","child","i","jsxs","Fragment","jsx","_HeaderMenu","forwardRef","HeaderMenu","fieldId","view","fields","onChangeView","onHide","setOpenedFilter","ref","combinedField","layout","combinedFields","find","f","id","index","indexOf","label","field","isHidable","enableHiding","isSortable","enableSorting","isSorted","sort","operators","sanitizeOperators","canAddFilter","filters","some","_filter","elements","length","filterBy","isPrimary","align","trigger","Button","size","className","variant","sortArrows","direction","style","minWidth","SORTING_DIRECTIONS","isChecked","value","name","checked","onChange","sortLabels","prefix","Icon","icon","funnel","onClick","page","undefined","operator","__","arrowLeft","disabled","_view$fields$slice","slice","arrowRight","_view$fields$slice2","unseen","viewFields","ColumnHeaderMenu","_default","exports","default"],"sources":["@wordpress/dataviews/src/layouts/table/column-header-menu.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode, Ref, PropsWithoutRef, RefAttributes } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { arrowLeft, arrowRight, unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef, Children, Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { sanitizeOperators } from '../../utils';\nimport { SORTING_DIRECTIONS, sortArrows, sortLabels } from '../../constants';\nimport type {\n\tNormalizedField,\n\tSortDirection,\n\tViewTable as ViewTableType,\n} from '../../types';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\ninterface HeaderMenuProps< Item > {\n\tfieldId: string;\n\tview: ViewTableType;\n\tfields: NormalizedField< Item >[];\n\tonChangeView: ( view: ViewTableType ) => void;\n\tonHide: ( field: NormalizedField< Item > ) => void;\n\tsetOpenedFilter: ( fieldId: string ) => void;\n}\n\nfunction WithDropDownMenuSeparators( { children }: { children: ReactNode } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <DropdownMenuSeparator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst _HeaderMenu = forwardRef( function HeaderMenu< Item >(\n\t{\n\t\tfieldId,\n\t\tview,\n\t\tfields,\n\t\tonChangeView,\n\t\tonHide,\n\t\tsetOpenedFilter,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst combinedField = view.layout?.combinedFields?.find(\n\t\t( f ) => f.id === fieldId\n\t);\n\tconst index = view.fields?.indexOf( fieldId ) as number;\n\tif ( !! combinedField ) {\n\t\treturn combinedField.label;\n\t}\n\tconst field = fields.find( ( f ) => f.id === fieldId );\n\tif ( ! field ) {\n\t\treturn null;\n\t}\n\tconst isHidable = field.enableHiding !== false;\n\tconst isSortable = field.enableSorting !== false;\n\tconst isSorted = view.sort?.field === field.id;\n\tconst operators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tconst canAddFilter =\n\t\t! view.filters?.some( ( _filter ) => field.id === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\n\tif ( ! isSortable && ! isHidable && ! canAddFilter ) {\n\t\treturn field.label;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t>\n\t\t\t\t\t{ field.label }\n\t\t\t\t\t{ view.sort && isSorted && (\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ sortArrows[ view.sort.direction ] }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ { minWidth: '240px' } }\n\t\t>\n\t\t\t<WithDropDownMenuSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t{ SORTING_DIRECTIONS.map(\n\t\t\t\t\t\t\t( direction: SortDirection ) => {\n\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\tview.sort &&\n\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\tconst value = `${ field.id }-${ direction }`;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuRadioItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOpenedFilter( field.id );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tprefix={ <Icon icon={ arrowLeft } /> }\n\t\t\t\t\t\tdisabled={ index < 1 }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( ! view.fields || index < 1 ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t...( view.fields.slice( 0, index - 1 ) ??\n\t\t\t\t\t\t\t\t\t\t[] ),\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\tview.fields[ index - 1 ],\n\t\t\t\t\t\t\t\t\t...view.fields.slice( index + 1 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ __( 'Move left' ) }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tprefix={ <Icon icon={ arrowRight } /> }\n\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t! view.fields || index >= view.fields.length - 1\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t! view.fields ||\n\t\t\t\t\t\t\t\tindex >= view.fields.length - 1\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\tfields: [\n\t\t\t\t\t\t\t\t\t...( view.fields.slice( 0, index ) ?? [] ),\n\t\t\t\t\t\t\t\t\tview.fields[ index + 1 ],\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\t...view.fields.slice( index + 2 ),\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ __( 'Move right' ) }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t{ isHidable && (\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst viewFields =\n\t\t\t\t\t\t\t\t\tview.fields || fields.map( ( f ) => f.id );\n\t\t\t\t\t\t\t\tonHide( field );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tfields: viewFields.filter(\n\t\t\t\t\t\t\t\t\t\t( id ) => id !== field.id\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Hide' ) }\n\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenuGroup>\n\t\t\t</WithDropDownMenuSeparators>\n\t\t</DropdownMenu>\n\t);\n} );\n\n// @ts-expect-error Lift the `Item` type argument through the forwardRef.\nconst ColumnHeaderMenu: < Item >(\n\tprops: PropsWithoutRef< HeaderMenuProps< Item > > &\n\t\tRefAttributes< HTMLButtonElement >\n) => ReturnType< typeof _HeaderMenu > = _HeaderMenu;\n\nexport default ColumnHeaderMenu;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_components","_element","_dataviewsSelectionCheckbox","_dataviewsItemActions","_constants","_dataviewsBulkActions","_columnHeaderMenu","_jsxRuntime","BulkSelectionCheckbox","selection","onChangeSelection","data","actions","getItemId","selectableItems","useMemo","filter","item","some","action","supportsBulk","isEligible","selectedItems","includes","areAllSelected","length","jsx","CheckboxControl","className","__nextHasNoMarginBottom","checked","indeterminate","onChange","map","__","TableColumn","column","fields","view","props","field","find","f","id","TableColumnField","combinedField","layout","combinedFields","TableColumnCombined","primaryField","clsx","children","render","child","direction","__experimentalHStack","spacing","__experimentalVStack","TableRow","hasBulkActions","hasPossibleBulkAction","useHasAPossibleBulkAction","isSelected","isHovered","setIsHovered","useState","handleMouseEnter","handleMouseLeave","isTouchDevice","useRef","columns","jsxs","onMouseEnter","onMouseLeave","onTouchStart","current","onClick","document","getSelection","type","itemId","style","width","default","disabled","_view$layout$styles$c","maxWidth","minWidth","styles","e","stopPropagation","ViewTable","isLoading","onChangeView","setOpenedFilter","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","useSomeItemHasAPossibleBulkAction","useEffect","focus","undefined","tableNoticeId","useId","onHide","hidden","get","fallback","node","hasData","Fragment","scope","index","_view$layout$styles$c2","sort","sortValues","ref","set","delete","fieldId","toString","Spinner","_default","exports"],"sources":["@wordpress/dataviews/src/layouts/table/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tCheckboxControl,\n\tSpinner,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport {\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n\tuseMemo,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SingleSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport ItemActions from '../../components/dataviews-item-actions';\nimport { sortValues } from '../../constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n} from '../../components/dataviews-bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n\tCombinedField,\n} from '../../types';\nimport type { SetSelection } from '../../private-types';\nimport ColumnHeaderMenu from './column-header-menu';\n\ninterface BulkSelectionCheckboxProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tdata: Item[];\n\tactions: Action< Item >[];\n\tgetItemId: ( item: Item ) => string;\n}\n\ninterface TableColumnFieldProps< Item > {\n\tprimaryField?: NormalizedField< Item >;\n\tfield: NormalizedField< Item >;\n\titem: Item;\n}\n\ninterface TableColumnCombinedProps< Item > {\n\tprimaryField?: NormalizedField< Item >;\n\tfields: NormalizedField< Item >[];\n\tfield: CombinedField;\n\titem: Item;\n\tview: ViewTableType;\n}\n\ninterface TableColumnProps< Item > {\n\tprimaryField?: NormalizedField< Item >;\n\tfields: NormalizedField< Item >[];\n\titem: Item;\n\tcolumn: string;\n\tview: ViewTableType;\n}\n\ninterface TableRowProps< Item > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tactions: Action< Item >[];\n\tfields: NormalizedField< Item >[];\n\tid: string;\n\tview: ViewTableType;\n\tprimaryField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonChangeSelection: SetSelection;\n}\n\nfunction BulkSelectionCheckbox< Item >( {\n\tselection,\n\tonChangeSelection,\n\tdata,\n\tactions,\n\tgetItemId,\n}: BulkSelectionCheckboxProps< Item > ) {\n\tconst selectableItems = useMemo( () => {\n\t\treturn data.filter( ( item ) => {\n\t\t\treturn actions.some(\n\t\t\t\t( action ) =>\n\t\t\t\t\taction.supportsBulk &&\n\t\t\t\t\t( ! action.isEligible || action.isEligible( item ) )\n\t\t\t);\n\t\t} );\n\t}, [ data, actions ] );\n\tconst selectedItems = data.filter(\n\t\t( item ) =>\n\t\t\tselection.includes( getItemId( item ) ) &&\n\t\t\tselectableItems.includes( item )\n\t);\n\tconst areAllSelected = selectedItems.length === selectableItems.length;\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tchecked={ areAllSelected }\n\t\t\tindeterminate={ ! areAllSelected && !! selectedItems.length }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( areAllSelected ) {\n\t\t\t\t\tonChangeSelection( [] );\n\t\t\t\t} else {\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselectableItems.map( ( item ) => getItemId( item ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t\taria-label={\n\t\t\t\tareAllSelected ? __( 'Deselect all' ) : __( 'Select all' )\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction TableColumn< Item >( {\n\tcolumn,\n\tfields,\n\tview,\n\t...props\n}: TableColumnProps< Item > ) {\n\tconst field = fields.find( ( f ) => f.id === column );\n\tif ( !! field ) {\n\t\treturn <TableColumnField { ...props } field={ field } />;\n\t}\n\tconst combinedField = view.layout?.combinedFields?.find(\n\t\t( f ) => f.id === column\n\t);\n\tif ( !! combinedField ) {\n\t\treturn (\n\t\t\t<TableColumnCombined\n\t\t\t\t{ ...props }\n\t\t\t\tfields={ fields }\n\t\t\t\tview={ view }\n\t\t\t\tfield={ combinedField }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn null;\n}\n\nfunction TableColumnField< Item >( {\n\tprimaryField,\n\titem,\n\tfield,\n}: TableColumnFieldProps< Item > ) {\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( 'dataviews-view-table__cell-content-wrapper', {\n\t\t\t\t'dataviews-view-table__primary-field':\n\t\t\t\t\tprimaryField?.id === field.id,\n\t\t\t} ) }\n\t\t>\n\t\t\t<field.render { ...{ item } } />\n\t\t</div>\n\t);\n}\n\nfunction TableColumnCombined< Item >( {\n\tfield,\n\t...props\n}: TableColumnCombinedProps< Item > ) {\n\tconst children = field.children.map( ( child ) => (\n\t\t<TableColumn key={ child } { ...props } column={ child } />\n\t) );\n\n\tif ( field.direction === 'horizontal' ) {\n\t\treturn <HStack spacing={ 3 }>{ children }</HStack>;\n\t}\n\treturn <VStack spacing={ 0 }>{ children }</VStack>;\n}\n\nfunction TableRow< Item >( {\n\thasBulkActions,\n\titem,\n\tactions,\n\tfields,\n\tid,\n\tview,\n\tprimaryField,\n\tselection,\n\tgetItemId,\n\tonChangeSelection,\n}: TableRowProps< Item > ) {\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = hasPossibleBulkAction && selection.includes( id );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDevice = useRef( false );\n\tconst columns = view.fields || fields.map( ( f ) => f.id );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDevice.current = true;\n\t\t\t} }\n\t\t\tonClick={ () => {\n\t\t\t\tif ( ! hasPossibleBulkAction ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDevice.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\t\t\t\t) {\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ columns.map( ( column: string ) => {\n\t\t\t\t// Explicits picks the supported styles.\n\t\t\t\tconst { width, maxWidth, minWidth } =\n\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\n\t\t\t\treturn (\n\t\t\t\t\t<td key={ column } style={ { width, maxWidth, minWidth } }>\n\t\t\t\t\t\t<TableColumn\n\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tcolumn={ column }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading = false,\n\tonChangeView,\n\tonChangeSelection,\n\tselection,\n\tsetOpenedFilter,\n\tview,\n}: ViewTableProps< Item > ) {\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\n\tconst columns = view.fields || fields.map( ( f ) => f.id );\n\tconst hasData = !! data?.length;\n\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout?.primaryField\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName=\"dataviews-view-table\"\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ columns.map( ( column, index ) => {\n\t\t\t\t\t\t\t// Explicits picks the supported styles.\n\t\t\t\t\t\t\tconst { width, maxWidth, minWidth } =\n\t\t\t\t\t\t\t\tview.layout?.styles?.[ column ] ?? {};\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tkey={ column }\n\t\t\t\t\t\t\t\t\tstyle={ { width, maxWidth, minWidth } }\n\t\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\t\tview.sort?.field === column\n\t\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ColumnHeaderMenu\n\t\t\t\t\t\t\t\t\t\tref={ ( node ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( node ) {\n\t\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.set(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnode,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfallback:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumns[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex > 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? index - 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.delete(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tfieldId={ column }\n\t\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th className=\"dataviews-view-table__actions-column\">\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { RangeControl, Button } from '@wordpress/components';
|
|
5
|
-
import { __ } from '@wordpress/i18n';
|
|
6
|
-
import { useViewportMatch } from '@wordpress/compose';
|
|
7
|
-
import { plus, lineSolid } from '@wordpress/icons';
|
|
8
|
-
import { useEffect } from '@wordpress/element';
|
|
9
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
11
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
-
const viewportBreaks = {
|
|
13
|
-
xhuge: {
|
|
14
|
-
min: 3,
|
|
15
|
-
max: 6,
|
|
16
|
-
default: 5
|
|
17
|
-
},
|
|
18
|
-
huge: {
|
|
19
|
-
min: 2,
|
|
20
|
-
max: 4,
|
|
21
|
-
default: 4
|
|
22
|
-
},
|
|
23
|
-
xlarge: {
|
|
24
|
-
min: 2,
|
|
25
|
-
max: 3,
|
|
26
|
-
default: 3
|
|
27
|
-
},
|
|
28
|
-
large: {
|
|
29
|
-
min: 1,
|
|
30
|
-
max: 2,
|
|
31
|
-
default: 2
|
|
32
|
-
},
|
|
33
|
-
mobile: {
|
|
34
|
-
min: 1,
|
|
35
|
-
max: 2,
|
|
36
|
-
default: 2
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
function useViewPortBreakpoint() {
|
|
40
|
-
const isXHuge = useViewportMatch('xhuge', '>=');
|
|
41
|
-
const isHuge = useViewportMatch('huge', '>=');
|
|
42
|
-
const isXlarge = useViewportMatch('xlarge', '>=');
|
|
43
|
-
const isLarge = useViewportMatch('large', '>=');
|
|
44
|
-
const isMobile = useViewportMatch('mobile', '>=');
|
|
45
|
-
if (isXHuge) {
|
|
46
|
-
return 'xhuge';
|
|
47
|
-
}
|
|
48
|
-
if (isHuge) {
|
|
49
|
-
return 'huge';
|
|
50
|
-
}
|
|
51
|
-
if (isXlarge) {
|
|
52
|
-
return 'xlarge';
|
|
53
|
-
}
|
|
54
|
-
if (isLarge) {
|
|
55
|
-
return 'large';
|
|
56
|
-
}
|
|
57
|
-
if (isMobile) {
|
|
58
|
-
return 'mobile';
|
|
59
|
-
}
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// Value is number from 0 to 100 representing how big an item is in the grid
|
|
64
|
-
// 100 being the biggest and 0 being the smallest.
|
|
65
|
-
// The size is relative to the viewport size, if one a given viewport the
|
|
66
|
-
// number of allowed items in a grid is 3 to 6 a 0 ( the smallest ) will mean that the grid will
|
|
67
|
-
// have 6 items in a row, a 100 ( the biggest ) will mean that the grid will have 3 items in a row.
|
|
68
|
-
// A value of 75 will mean that the grid will have 4 items in a row.
|
|
69
|
-
function getRangeValue(density, breakValues) {
|
|
70
|
-
const inverseDensity = breakValues.max - density;
|
|
71
|
-
const max = breakValues.max - breakValues.min;
|
|
72
|
-
return Math.round(inverseDensity * 100 / max);
|
|
73
|
-
}
|
|
74
|
-
export default function DensityPicker({
|
|
75
|
-
density,
|
|
76
|
-
setDensity
|
|
77
|
-
}) {
|
|
78
|
-
const viewport = useViewPortBreakpoint();
|
|
79
|
-
useEffect(() => {
|
|
80
|
-
setDensity(_density => {
|
|
81
|
-
if (!viewport || !_density) {
|
|
82
|
-
return 0;
|
|
83
|
-
}
|
|
84
|
-
const breakValues = viewportBreaks[viewport];
|
|
85
|
-
if (_density < breakValues.min) {
|
|
86
|
-
return breakValues.min;
|
|
87
|
-
}
|
|
88
|
-
if (_density > breakValues.max) {
|
|
89
|
-
return breakValues.max;
|
|
90
|
-
}
|
|
91
|
-
return _density;
|
|
92
|
-
});
|
|
93
|
-
}, [setDensity, viewport]);
|
|
94
|
-
if (!viewport) {
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
const breakValues = viewportBreaks[viewport];
|
|
98
|
-
const densityToUse = density || breakValues.default;
|
|
99
|
-
const rangeValue = getRangeValue(densityToUse, breakValues);
|
|
100
|
-
const step = 100 / (breakValues.max - breakValues.min + 1);
|
|
101
|
-
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
102
|
-
children: [/*#__PURE__*/_jsx(Button, {
|
|
103
|
-
size: "compact",
|
|
104
|
-
icon: lineSolid,
|
|
105
|
-
disabled: rangeValue <= 0,
|
|
106
|
-
accessibleWhenDisabled: true,
|
|
107
|
-
label: __('Decrease size'),
|
|
108
|
-
onClick: () => {
|
|
109
|
-
setDensity(densityToUse + 1);
|
|
110
|
-
}
|
|
111
|
-
}), /*#__PURE__*/_jsx(RangeControl, {
|
|
112
|
-
__nextHasNoMarginBottom: true,
|
|
113
|
-
showTooltip: false,
|
|
114
|
-
className: "dataviews-density-picker__range-control",
|
|
115
|
-
label: __('Item size'),
|
|
116
|
-
hideLabelFromVision: true,
|
|
117
|
-
value: rangeValue,
|
|
118
|
-
min: 0,
|
|
119
|
-
max: 100,
|
|
120
|
-
withInputField: false,
|
|
121
|
-
onChange: (value = 0) => {
|
|
122
|
-
const inverseValue = 100 - value;
|
|
123
|
-
setDensity(Math.round(inverseValue * (breakValues.max - breakValues.min) / 100 + breakValues.min));
|
|
124
|
-
},
|
|
125
|
-
step: step
|
|
126
|
-
}), /*#__PURE__*/_jsx(Button, {
|
|
127
|
-
size: "compact",
|
|
128
|
-
icon: plus,
|
|
129
|
-
disabled: rangeValue >= 100,
|
|
130
|
-
accessibleWhenDisabled: true,
|
|
131
|
-
label: __('Increase size'),
|
|
132
|
-
onClick: () => {
|
|
133
|
-
setDensity(densityToUse - 1);
|
|
134
|
-
}
|
|
135
|
-
})]
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=density-picker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["RangeControl","Button","__","useViewportMatch","plus","lineSolid","useEffect","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","viewportBreaks","xhuge","min","max","default","huge","xlarge","large","mobile","useViewPortBreakpoint","isXHuge","isHuge","isXlarge","isLarge","isMobile","getRangeValue","density","breakValues","inverseDensity","Math","round","DensityPicker","setDensity","viewport","_density","densityToUse","rangeValue","step","children","size","icon","disabled","accessibleWhenDisabled","label","onClick","__nextHasNoMarginBottom","showTooltip","className","hideLabelFromVision","value","withInputField","onChange","inverseValue"],"sources":["@wordpress/dataviews/src/layouts/grid/density-picker.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RangeControl, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { plus, lineSolid } from '@wordpress/icons';\nimport { useEffect } from '@wordpress/element';\n\nconst viewportBreaks = {\n\txhuge: { min: 3, max: 6, default: 5 },\n\thuge: { min: 2, max: 4, default: 4 },\n\txlarge: { min: 2, max: 3, default: 3 },\n\tlarge: { min: 1, max: 2, default: 2 },\n\tmobile: { min: 1, max: 2, default: 2 },\n};\n\nfunction useViewPortBreakpoint() {\n\tconst isXHuge = useViewportMatch( 'xhuge', '>=' );\n\tconst isHuge = useViewportMatch( 'huge', '>=' );\n\tconst isXlarge = useViewportMatch( 'xlarge', '>=' );\n\tconst isLarge = useViewportMatch( 'large', '>=' );\n\tconst isMobile = useViewportMatch( 'mobile', '>=' );\n\n\tif ( isXHuge ) {\n\t\treturn 'xhuge';\n\t}\n\tif ( isHuge ) {\n\t\treturn 'huge';\n\t}\n\tif ( isXlarge ) {\n\t\treturn 'xlarge';\n\t}\n\tif ( isLarge ) {\n\t\treturn 'large';\n\t}\n\tif ( isMobile ) {\n\t\treturn 'mobile';\n\t}\n\treturn null;\n}\n\n// Value is number from 0 to 100 representing how big an item is in the grid\n// 100 being the biggest and 0 being the smallest.\n// The size is relative to the viewport size, if one a given viewport the\n// number of allowed items in a grid is 3 to 6 a 0 ( the smallest ) will mean that the grid will\n// have 6 items in a row, a 100 ( the biggest ) will mean that the grid will have 3 items in a row.\n// A value of 75 will mean that the grid will have 4 items in a row.\nfunction getRangeValue(\n\tdensity: number,\n\tbreakValues: { min: number; max: number; default: number }\n) {\n\tconst inverseDensity = breakValues.max - density;\n\tconst max = breakValues.max - breakValues.min;\n\treturn Math.round( ( inverseDensity * 100 ) / max );\n}\n\nexport default function DensityPicker( {\n\tdensity,\n\tsetDensity,\n}: {\n\tdensity: number;\n\tsetDensity: React.Dispatch< React.SetStateAction< number > >;\n} ) {\n\tconst viewport = useViewPortBreakpoint();\n\tuseEffect( () => {\n\t\tsetDensity( ( _density ) => {\n\t\t\tif ( ! viewport || ! _density ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tconst breakValues = viewportBreaks[ viewport ];\n\t\t\tif ( _density < breakValues.min ) {\n\t\t\t\treturn breakValues.min;\n\t\t\t}\n\t\t\tif ( _density > breakValues.max ) {\n\t\t\t\treturn breakValues.max;\n\t\t\t}\n\t\t\treturn _density;\n\t\t} );\n\t}, [ setDensity, viewport ] );\n\tif ( ! viewport ) {\n\t\treturn null;\n\t}\n\tconst breakValues = viewportBreaks[ viewport ];\n\tconst densityToUse = density || breakValues.default;\n\tconst rangeValue = getRangeValue( densityToUse, breakValues );\n\n\tconst step = 100 / ( breakValues.max - breakValues.min + 1 );\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tsize=\"compact\"\n\t\t\t\ticon={ lineSolid }\n\t\t\t\tdisabled={ rangeValue <= 0 }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tlabel={ __( 'Decrease size' ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDensity( densityToUse + 1 );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tshowTooltip={ false }\n\t\t\t\tclassName=\"dataviews-density-picker__range-control\"\n\t\t\t\tlabel={ __( 'Item size' ) }\n\t\t\t\thideLabelFromVision\n\t\t\t\tvalue={ rangeValue }\n\t\t\t\tmin={ 0 }\n\t\t\t\tmax={ 100 }\n\t\t\t\twithInputField={ false }\n\t\t\t\tonChange={ ( value = 0 ) => {\n\t\t\t\t\tconst inverseValue = 100 - value;\n\t\t\t\t\tsetDensity(\n\t\t\t\t\t\tMath.round(\n\t\t\t\t\t\t\t( inverseValue *\n\t\t\t\t\t\t\t\t( breakValues.max - breakValues.min ) ) /\n\t\t\t\t\t\t\t\t100 +\n\t\t\t\t\t\t\t\tbreakValues.min\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t\tstep={ step }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tsize=\"compact\"\n\t\t\t\ticon={ plus }\n\t\t\t\tdisabled={ rangeValue >= 100 }\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tlabel={ __( 'Increase size' ) }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetDensity( densityToUse - 1 );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalVStack","VStack","Spinner","Flex","FlexItem","__","ItemActions","SingleSelectionCheckbox","useHasAPossibleBulkAction","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GridItem","selection","onChangeSelection","getItemId","item","actions","mediaField","primaryField","visibleFields","badgeFields","columnFields","hasBulkAction","id","isSelected","includes","renderedMediaField","render","renderedPrimaryField","spacing","className","onClickCapture","event","ctrlKey","metaKey","stopPropagation","preventDefault","filter","itemId","children","justify","disabled","isCompact","length","wrap","alignment","map","field","gap","expanded","style","height","direction","label","maxHeight","ViewGrid","data","fields","isLoading","view","density","find","layout","viewFields","reduce","accumulator","key","push","hasData","gridStyle","gridTemplateColumns","columns"],"sources":["@wordpress/dataviews/src/layouts/grid/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tSpinner,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from '../../components/dataviews-item-actions';\nimport SingleSelectionCheckbox from '../../components/dataviews-selection-checkbox';\nimport { useHasAPossibleBulkAction } from '../../components/dataviews-bulk-actions';\nimport type { Action, NormalizedField, ViewGridProps } from '../../types';\nimport type { SetSelection } from '../../private-types';\n\ninterface GridItemProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\tgetItemId: ( item: Item ) => string;\n\titem: Item;\n\tactions: Action< Item >[];\n\tmediaField?: NormalizedField< Item >;\n\tprimaryField?: NormalizedField< Item >;\n\tvisibleFields: NormalizedField< Item >[];\n\tbadgeFields: NormalizedField< Item >[];\n\tcolumnFields?: string[];\n}\n\nfunction GridItem< Item >( {\n\tselection,\n\tonChangeSelection,\n\tgetItemId,\n\titem,\n\tactions,\n\tmediaField,\n\tprimaryField,\n\tvisibleFields,\n\tbadgeFields,\n\tcolumnFields,\n}: GridItemProps< Item > ) {\n\tconst hasBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst id = getItemId( item );\n\tconst isSelected = selection.includes( id );\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : null;\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 0 }\n\t\t\tkey={ id }\n\t\t\tclassName={ clsx( 'dataviews-view-grid__card', {\n\t\t\t\t'is-selected': hasBulkAction && isSelected,\n\t\t\t} ) }\n\t\t\tonClickCapture={ ( event ) => {\n\t\t\t\tif ( event.ctrlKey || event.metaKey ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! hasBulkAction ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tonChangeSelection(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-view-grid__media\">\n\t\t\t\t{ renderedMediaField }\n\t\t\t</div>\n\t\t\t<HStack\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews-view-grid__title-actions\"\n\t\t\t>\n\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\titem={ item }\n\t\t\t\t\tselection={ selection }\n\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\tdisabled={ ! hasBulkAction }\n\t\t\t\t/>\n\t\t\t\t<HStack className=\"dataviews-view-grid__primary-field\">\n\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t</HStack>\n\t\t\t\t<ItemActions item={ item } actions={ actions } isCompact />\n\t\t\t</HStack>\n\t\t\t{ !! badgeFields?.length && (\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"dataviews-view-grid__badge-fields\"\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\twrap\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t>\n\t\t\t\t\t{ badgeFields.map( ( field ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t\t{ !! visibleFields?.length && (\n\t\t\t\t<VStack className=\"dataviews-view-grid__fields\" spacing={ 1 }>\n\t\t\t\t\t{ visibleFields.map( ( field ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'dataviews-view-grid__field',\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'is-column'\n\t\t\t\t\t\t\t\t\t\t: 'is-row'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\texpanded\n\t\t\t\t\t\t\t\tstyle={ { height: 'auto' } }\n\t\t\t\t\t\t\t\tdirection={\n\t\t\t\t\t\t\t\t\tcolumnFields?.includes( field.id )\n\t\t\t\t\t\t\t\t\t\t? 'column'\n\t\t\t\t\t\t\t\t\t\t: 'row'\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<FlexItem className=\"dataviews-view-grid__field-name\">\n\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<FlexItem\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-grid__field-value\"\n\t\t\t\t\t\t\t\t\t\tstyle={ { maxHeight: 'none' } }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nexport default function ViewGrid< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading,\n\tonChangeSelection,\n\tselection,\n\tview,\n\tdensity,\n}: ViewGridProps< Item > ) {\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout?.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout?.primaryField\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst { visibleFields, badgeFields } = fields.reduce(\n\t\t( accumulator: Record< string, NormalizedField< Item >[] >, field ) => {\n\t\t\tif (\n\t\t\t\t! viewFields.includes( field.id ) ||\n\t\t\t\t[\n\t\t\t\t\tview.layout?.mediaField,\n\t\t\t\t\tview?.layout?.primaryField,\n\t\t\t\t].includes( field.id )\n\t\t\t) {\n\t\t\t\treturn accumulator;\n\t\t\t}\n\t\t\t// If the field is a badge field, add it to the badgeFields array\n\t\t\t// otherwise add it to the rest visibleFields array.\n\t\t\tconst key = view.layout?.badgeFields?.includes( field.id )\n\t\t\t\t? 'badgeFields'\n\t\t\t\t: 'visibleFields';\n\t\t\taccumulator[ key ].push( field );\n\t\t\treturn accumulator;\n\t\t},\n\t\t{ visibleFields: [], badgeFields: [] }\n\t);\n\tconst hasData = !! data?.length;\n\tconst gridStyle = density\n\t\t? { gridTemplateColumns: `repeat(${ density }, minmax(0, 1fr))` }\n\t\t: {};\n\treturn (\n\t\t<>\n\t\t\t{ hasData && (\n\t\t\t\t<Grid\n\t\t\t\t\tgap={ 8 }\n\t\t\t\t\tcolumns={ 2 }\n\t\t\t\t\talignment=\"top\"\n\t\t\t\t\tclassName=\"dataviews-view-grid\"\n\t\t\t\t\tstyle={ gridStyle }\n\t\t\t\t\taria-busy={ isLoading }\n\t\t\t\t>\n\t\t\t\t\t{ data.map( ( item ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<GridItem\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\t\t\tbadgeFields={ badgeFields }\n\t\t\t\t\t\t\t\tcolumnFields={ view.layout?.columnFields }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ ! hasData && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t\t'dataviews-no-results': ! isLoading,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,OAAO,EACPC,IAAI,EACJC,QAAQ,QACF,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,WAAW,MAAM,yCAAyC;AACjE,OAAOC,uBAAuB,MAAM,+CAA+C;AACnF,SAASC,yBAAyB,QAAQ,yCAAyC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAiBpF,SAASC,QAAQA,CAAU;EAC1BC,SAAS;EACTC,iBAAiB;EACjBC,SAAS;EACTC,IAAI;EACJC,OAAO;EACPC,UAAU;EACVC,YAAY;EACZC,aAAa;EACbC,WAAW;EACXC;AACsB,CAAC,EAAG;EAC1B,MAAMC,aAAa,GAAGlB,yBAAyB,CAAEY,OAAO,EAAED,IAAK,CAAC;EAChE,MAAMQ,EAAE,GAAGT,SAAS,CAAEC,IAAK,CAAC;EAC5B,MAAMS,UAAU,GAAGZ,SAAS,CAACa,QAAQ,CAAEF,EAAG,CAAC;EAC3C,MAAMG,kBAAkB,GAAGT,UAAU,EAAEU,MAAM,gBAC5CrB,IAAA,CAACW,UAAU,CAACU,MAAM;IAACZ,IAAI,EAAGA;EAAM,CAAE,CAAC,GAChC,IAAI;EACR,MAAMa,oBAAoB,GAAGV,YAAY,EAAES,MAAM,gBAChDrB,IAAA,CAACY,YAAY,CAACS,MAAM;IAACZ,IAAI,EAAGA;EAAM,CAAE,CAAC,GAClC,IAAI;EACR,oBACCP,KAAA,CAACX,MAAM;IACNgC,OAAO,EAAG,CAAG;IAEbC,SAAS,EAAGvC,IAAI,CAAE,2BAA2B,EAAE;MAC9C,aAAa,EAAE+B,aAAa,IAAIE;IACjC,CAAE,CAAG;IACLO,cAAc,EAAKC,KAAK,IAAM;MAC7B,IAAKA,KAAK,CAACC,OAAO,IAAID,KAAK,CAACE,OAAO,EAAG;QACrCF,KAAK,CAACG,eAAe,CAAC,CAAC;QACvBH,KAAK,CAACI,cAAc,CAAC,CAAC;QACtB,IAAK,CAAEd,aAAa,EAAG;UACtB;QACD;QACAT,iBAAiB,CAChBD,SAAS,CAACa,QAAQ,CAAEF,EAAG,CAAC,GACrBX,SAAS,CAACyB,MAAM,CAAIC,MAAM,IAAMf,EAAE,KAAKe,MAAO,CAAC,GAC/C,CAAE,GAAG1B,SAAS,EAAEW,EAAE,CACtB,CAAC;MACF;IACD,CAAG;IAAAgB,QAAA,gBAEHjC,IAAA;MAAKwB,SAAS,EAAC,4BAA4B;MAAAS,QAAA,EACxCb;IAAkB,CAChB,CAAC,eACNlB,KAAA,CAACb,MAAM;MACN6C,OAAO,EAAC,eAAe;MACvBV,SAAS,EAAC,oCAAoC;MAAAS,QAAA,gBAE9CjC,IAAA,CAACH,uBAAuB;QACvBY,IAAI,EAAGA,IAAM;QACbH,SAAS,EAAGA,SAAW;QACvBC,iBAAiB,EAAGA,iBAAmB;QACvCC,SAAS,EAAGA,SAAW;QACvBI,YAAY,EAAGA,YAAc;QAC7BuB,QAAQ,EAAG,CAAEnB;MAAe,CAC5B,CAAC,eACFhB,IAAA,CAACX,MAAM;QAACmC,SAAS,EAAC,oCAAoC;QAAAS,QAAA,EACnDX;MAAoB,CACf,CAAC,eACTtB,IAAA,CAACJ,WAAW;QAACa,IAAI,EAAGA,IAAM;QAACC,OAAO,EAAGA,OAAS;QAAC0B,SAAS;MAAA,CAAE,CAAC;IAAA,CACpD,CAAC,EACP,CAAC,CAAEtB,WAAW,EAAEuB,MAAM,iBACvBrC,IAAA,CAACX,MAAM;MACNmC,SAAS,EAAC,mCAAmC;MAC7CD,OAAO,EAAG,CAAG;MACbe,IAAI;MACJC,SAAS,EAAC,KAAK;MACfL,OAAO,EAAC,YAAY;MAAAD,QAAA,EAElBnB,WAAW,CAAC0B,GAAG,CAAIC,KAAK,IAAM;QAC/B,oBACCzC,IAAA,CAACN,QAAQ;UAER8B,SAAS,EAAC,kCAAkC;UAAAS,QAAA,eAE5CjC,IAAA,CAACyC,KAAK,CAACpB,MAAM;YAACZ,IAAI,EAAGA;UAAM,CAAE;QAAC,GAHxBgC,KAAK,CAACxB,EAIH,CAAC;MAEb,CAAE;IAAC,CACI,CACR,EACC,CAAC,CAAEJ,aAAa,EAAEwB,MAAM,iBACzBrC,IAAA,CAACT,MAAM;MAACiC,SAAS,EAAC,6BAA6B;MAACD,OAAO,EAAG,CAAG;MAAAU,QAAA,EAC1DpB,aAAa,CAAC2B,GAAG,CAAIC,KAAK,IAAM;QACjC,oBACCzC,IAAA,CAACP,IAAI;UACJ+B,SAAS,EAAGvC,IAAI,CACf,4BAA4B,EAC5B8B,YAAY,EAAEI,QAAQ,CAAEsB,KAAK,CAACxB,EAAG,CAAC,GAC/B,WAAW,GACX,QACJ,CAAG;UAEHyB,GAAG,EAAG,CAAG;UACTR,OAAO,EAAC,YAAY;UACpBS,QAAQ;UACRC,KAAK,EAAG;YAAEC,MAAM,EAAE;UAAO,CAAG;UAC5BC,SAAS,EACR/B,YAAY,EAAEI,QAAQ,CAAEsB,KAAK,CAACxB,EAAG,CAAC,GAC/B,QAAQ,GACR,KACH;UAAAgB,QAAA,eAED/B,KAAA,CAAAE,SAAA;YAAA6B,QAAA,gBACCjC,IAAA,CAACN,QAAQ;cAAC8B,SAAS,EAAC,iCAAiC;cAAAS,QAAA,EAClDQ,KAAK,CAACM;YAAK,CACJ,CAAC,eACX/C,IAAA,CAACN,QAAQ;cACR8B,SAAS,EAAC,kCAAkC;cAC5CoB,KAAK,EAAG;gBAAEI,SAAS,EAAE;cAAO,CAAG;cAAAf,QAAA,eAE/BjC,IAAA,CAACyC,KAAK,CAACpB,MAAM;gBAACZ,IAAI,EAAGA;cAAM,CAAE;YAAC,CACrB,CAAC;UAAA,CACV;QAAC,GArBGgC,KAAK,CAACxB,EAsBP,CAAC;MAET,CAAE;IAAC,CACI,CACR;EAAA,GAhGKA,EAiGC,CAAC;AAEX;AAEA,eAAe,SAASgC,QAAQA,CAAU;EACzCvC,OAAO;EACPwC,IAAI;EACJC,MAAM;EACN3C,SAAS;EACT4C,SAAS;EACT7C,iBAAiB;EACjBD,SAAS;EACT+C,IAAI;EACJC;AACsB,CAAC,EAAG;EAC1B,MAAM3C,UAAU,GAAGwC,MAAM,CAACI,IAAI,CAC3Bd,KAAK,IAAMA,KAAK,CAACxB,EAAE,KAAKoC,IAAI,CAACG,MAAM,EAAE7C,UACxC,CAAC;EACD,MAAMC,YAAY,GAAGuC,MAAM,CAACI,IAAI,CAC7Bd,KAAK,IAAMA,KAAK,CAACxB,EAAE,KAAKoC,IAAI,CAACG,MAAM,EAAE5C,YACxC,CAAC;EACD,MAAM6C,UAAU,GAAGJ,IAAI,CAACF,MAAM,IAAIA,MAAM,CAACX,GAAG,CAAIC,KAAK,IAAMA,KAAK,CAACxB,EAAG,CAAC;EACrE,MAAM;IAAEJ,aAAa;IAAEC;EAAY,CAAC,GAAGqC,MAAM,CAACO,MAAM,CACnD,CAAEC,WAAwD,EAAElB,KAAK,KAAM;IACtE,IACC,CAAEgB,UAAU,CAACtC,QAAQ,CAAEsB,KAAK,CAACxB,EAAG,CAAC,IACjC,CACCoC,IAAI,CAACG,MAAM,EAAE7C,UAAU,EACvB0C,IAAI,EAAEG,MAAM,EAAE5C,YAAY,CAC1B,CAACO,QAAQ,CAAEsB,KAAK,CAACxB,EAAG,CAAC,EACrB;MACD,OAAO0C,WAAW;IACnB;IACA;IACA;IACA,MAAMC,GAAG,GAAGP,IAAI,CAACG,MAAM,EAAE1C,WAAW,EAAEK,QAAQ,CAAEsB,KAAK,CAACxB,EAAG,CAAC,GACvD,aAAa,GACb,eAAe;IAClB0C,WAAW,CAAEC,GAAG,CAAE,CAACC,IAAI,CAAEpB,KAAM,CAAC;IAChC,OAAOkB,WAAW;EACnB,CAAC,EACD;IAAE9C,aAAa,EAAE,EAAE;IAAEC,WAAW,EAAE;EAAG,CACtC,CAAC;EACD,MAAMgD,OAAO,GAAG,CAAC,CAAEZ,IAAI,EAAEb,MAAM;EAC/B,MAAM0B,SAAS,GAAGT,OAAO,GACtB;IAAEU,mBAAmB,EAAG,UAAUV,OAAS;EAAmB,CAAC,GAC/D,CAAC,CAAC;EACL,oBACCpD,KAAA,CAAAE,SAAA;IAAA6B,QAAA,GACG6B,OAAO,iBACR9D,IAAA,CAACb,IAAI;MACJuD,GAAG,EAAG,CAAG;MACTuB,OAAO,EAAG,CAAG;MACb1B,SAAS,EAAC,KAAK;MACff,SAAS,EAAC,qBAAqB;MAC/BoB,KAAK,EAAGmB,SAAW;MACnB,aAAYX,SAAW;MAAAnB,QAAA,EAErBiB,IAAI,CAACV,GAAG,CAAI/B,IAAI,IAAM;QACvB,oBACCT,IAAA,CAACK,QAAQ;UAERC,SAAS,EAAGA,SAAW;UACvBC,iBAAiB,EAAGA,iBAAmB;UACvCC,SAAS,EAAGA,SAAW;UACvBC,IAAI,EAAGA,IAAM;UACbC,OAAO,EAAGA,OAAS;UACnBC,UAAU,EAAGA,UAAY;UACzBC,YAAY,EAAGA,YAAc;UAC7BC,aAAa,EAAGA,aAAe;UAC/BC,WAAW,EAAGA,WAAa;UAC3BC,YAAY,EAAGsC,IAAI,CAACG,MAAM,EAAEzC;QAAc,GAVpCP,SAAS,CAAEC,IAAK,CAWtB,CAAC;MAEJ,CAAE;IAAC,CACE,CACN,EACC,CAAEqD,OAAO,iBACV9D,IAAA;MACCwB,SAAS,EAAGvC,IAAI,CAAE;QACjB,mBAAmB,EAAEmE,SAAS;QAC9B,sBAAsB,EAAE,CAAEA;MAC3B,CAAE,CAAG;MAAAnB,QAAA,eAELjC,IAAA;QAAAiC,QAAA,EAAKmB,SAAS,gBAAGpD,IAAA,CAACR,OAAO,IAAE,CAAC,GAAGG,EAAE,CAAE,YAAa;MAAC,CAAK;IAAC,CACnD,CACL;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["__","isRTL","blockTable","category","formatListBullets","formatListBulletsRTL","ViewTable","ViewGrid","ViewList","LAYOUT_GRID","LAYOUT_LIST","LAYOUT_TABLE","VIEW_LAYOUTS","type","label","component","icon","getMandatoryFields","view","_view$layout$combined","layout","primaryField","concat","combinedFields","flatMap","field","children","filter","item","mediaField"],"sources":["@wordpress/dataviews/src/layouts/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tblockTable,\n\tcategory,\n\tformatListBullets,\n\tformatListBulletsRTL,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ViewTable from './table';\nimport ViewGrid from './grid';\nimport ViewList from './list';\nimport { LAYOUT_GRID, LAYOUT_LIST, LAYOUT_TABLE } from '../constants';\nimport type { View } from '../types';\n\nexport const VIEW_LAYOUTS = [\n\t{\n\t\ttype: LAYOUT_TABLE,\n\t\tlabel: __( 'Table' ),\n\t\tcomponent: ViewTable,\n\t\ticon: blockTable,\n\t},\n\t{\n\t\ttype: LAYOUT_GRID,\n\t\tlabel: __( 'Grid' ),\n\t\tcomponent: ViewGrid,\n\t\ticon: category,\n\t},\n\t{\n\t\ttype: LAYOUT_LIST,\n\t\tlabel: __( 'List' ),\n\t\tcomponent: ViewList,\n\t\ticon: isRTL() ? formatListBulletsRTL : formatListBullets,\n\t},\n];\n\nexport function getMandatoryFields( view: View ): string[] {\n\tif ( view.type === 'table' ) {\n\t\treturn [ view.layout?.primaryField ]\n\t\t\t.concat(\n\t\t\t\tview.layout?.combinedFields?.flatMap(\n\t\t\t\t\t( field ) => field.children\n\t\t\t\t) ?? []\n\t\t\t)\n\t\t\t.filter( ( item ): item is string => !! item );\n\t}\n\n\tif ( view.type === 'grid' ) {\n\t\treturn [ view.layout?.primaryField, view.layout?.mediaField ].filter(\n\t\t\t( item ): item is string => !! item\n\t\t);\n\t}\n\n\tif ( view.type === 'list' ) {\n\t\treturn [ view.layout?.primaryField, view.layout?.mediaField ].filter(\n\t\t\t( item ): item is string => !! item\n\t\t);\n\t}\n\n\treturn [];\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,KAAK,QAAQ,iBAAiB;AAC3C,SACCC,UAAU,EACVC,QAAQ,EACRC,iBAAiB,EACjBC,oBAAoB,QACd,kBAAkB;;AAEzB;AACA;AACA;AACA,OAAOC,SAAS,MAAM,SAAS;AAC/B,OAAOC,QAAQ,MAAM,QAAQ;AAC7B,OAAOC,QAAQ,MAAM,QAAQ;AAC7B,SAASC,WAAW,EAAEC,WAAW,EAAEC,YAAY,QAAQ,cAAc;AAGrE,OAAO,MAAMC,YAAY,GAAG,CAC3B;EACCC,IAAI,EAAEF,YAAY;EAClBG,KAAK,EAAEd,EAAE,CAAE,OAAQ,CAAC;EACpBe,SAAS,EAAET,SAAS;EACpBU,IAAI,EAAEd;AACP,CAAC,EACD;EACCW,IAAI,EAAEJ,WAAW;EACjBK,KAAK,EAAEd,EAAE,CAAE,MAAO,CAAC;EACnBe,SAAS,EAAER,QAAQ;EACnBS,IAAI,EAAEb;AACP,CAAC,EACD;EACCU,IAAI,EAAEH,WAAW;EACjBI,KAAK,EAAEd,EAAE,CAAE,MAAO,CAAC;EACnBe,SAAS,EAAEP,QAAQ;EACnBQ,IAAI,EAAEf,KAAK,CAAC,CAAC,GAAGI,oBAAoB,GAAGD;AACxC,CAAC,CACD;AAED,OAAO,SAASa,kBAAkBA,CAAEC,IAAU,EAAa;EAC1D,IAAKA,IAAI,CAACL,IAAI,KAAK,OAAO,EAAG;IAAA,IAAAM,qBAAA;IAC5B,OAAO,CAAED,IAAI,CAACE,MAAM,EAAEC,YAAY,CAAE,CAClCC,MAAM,EAAAH,qBAAA,GACND,IAAI,CAACE,MAAM,EAAEG,cAAc,EAAEC,OAAO,CACjCC,KAAK,IAAMA,KAAK,CAACC,QACpB,CAAC,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,EACN,CAAC,CACAQ,MAAM,CAAIC,IAAI,IAAsB,CAAC,CAAEA,IAAK,CAAC;EAChD;EAEA,IAAKV,IAAI,CAACL,IAAI,KAAK,MAAM,EAAG;IAC3B,OAAO,CAAEK,IAAI,CAACE,MAAM,EAAEC,YAAY,EAAEH,IAAI,CAACE,MAAM,EAAES,UAAU,CAAE,CAACF,MAAM,CACjEC,IAAI,IAAsB,CAAC,CAAEA,IAChC,CAAC;EACF;EAEA,IAAKV,IAAI,CAACL,IAAI,KAAK,MAAM,EAAG;IAC3B,OAAO,CAAEK,IAAI,CAACE,MAAM,EAAEC,YAAY,EAAEH,IAAI,CAACE,MAAM,EAAES,UAAU,CAAE,CAACF,MAAM,CACjEC,IAAI,IAAsB,CAAC,CAAEA,IAChC,CAAC;EACF;EAEA,OAAO,EAAE;AACV","ignoreList":[]}
|