@wordpress/dataviews 8.0.0 → 8.0.2-next.836ecdcae.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 +8 -4
- package/README.md +76 -0
- package/build/components/dataviews/index.js +11 -1
- package/build/components/dataviews/index.js.map +1 -1
- package/build/components/dataviews-context/index.js.map +1 -1
- package/build/components/dataviews-layout/index.js +2 -1
- package/build/components/dataviews-layout/index.js.map +1 -1
- package/build/components/dataviews-picker/footer.js +145 -0
- package/build/components/dataviews-picker/footer.js.map +1 -0
- package/build/components/dataviews-picker/index.js +201 -0
- package/build/components/dataviews-picker/index.js.map +1 -0
- package/build/components/dataviews-selection-checkbox/index.js +4 -2
- package/build/components/dataviews-selection-checkbox/index.js.map +1 -1
- package/build/components/dataviews-view-config/index.js +1 -0
- package/build/components/dataviews-view-config/index.js.map +1 -1
- package/build/constants.js +4 -1
- package/build/constants.js.map +1 -1
- package/build/dataform-controls/email.js +8 -49
- package/build/dataform-controls/email.js.map +1 -1
- package/build/dataform-controls/index.js +2 -0
- package/build/dataform-controls/index.js.map +1 -1
- package/build/dataform-controls/telephone.js +28 -0
- package/build/dataform-controls/telephone.js.map +1 -0
- package/build/dataform-controls/text.js +7 -48
- package/build/dataform-controls/text.js.map +1 -1
- package/build/dataform-controls/utils/validated-text.js +68 -0
- package/build/dataform-controls/utils/validated-text.js.map +1 -0
- package/build/dataviews-layouts/grid/index.js +5 -8
- package/build/dataviews-layouts/grid/index.js.map +1 -1
- package/build/dataviews-layouts/index.js +9 -1
- package/build/dataviews-layouts/index.js.map +1 -1
- package/build/dataviews-layouts/picker-grid/index.js +357 -0
- package/build/dataviews-layouts/picker-grid/index.js.map +1 -0
- package/build/dataviews-layouts/utils/grid-items.js +37 -0
- package/build/dataviews-layouts/utils/grid-items.js.map +1 -0
- package/build/dataviews-layouts/utils/preview-size-picker.js +81 -0
- package/build/dataviews-layouts/utils/preview-size-picker.js.map +1 -0
- package/build/field-types/index.js +4 -0
- package/build/field-types/index.js.map +1 -1
- package/build/field-types/telephone.js +57 -0
- package/build/field-types/telephone.js.map +1 -0
- package/build/types.js.map +1 -1
- package/build-module/components/dataviews/index.js +11 -1
- package/build-module/components/dataviews/index.js.map +1 -1
- package/build-module/components/dataviews-context/index.js.map +1 -1
- package/build-module/components/dataviews-layout/index.js +2 -1
- package/build-module/components/dataviews-layout/index.js.map +1 -1
- package/build-module/components/dataviews-picker/footer.js +136 -0
- package/build-module/components/dataviews-picker/footer.js.map +1 -0
- package/build-module/components/dataviews-picker/index.js +191 -0
- package/build-module/components/dataviews-picker/index.js.map +1 -0
- package/build-module/components/dataviews-selection-checkbox/index.js +4 -2
- package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -1
- package/build-module/components/dataviews-view-config/index.js +1 -0
- package/build-module/components/dataviews-view-config/index.js.map +1 -1
- package/build-module/constants.js +3 -0
- package/build-module/constants.js.map +1 -1
- package/build-module/dataform-controls/email.js +7 -49
- package/build-module/dataform-controls/email.js.map +1 -1
- package/build-module/dataform-controls/index.js +2 -0
- package/build-module/dataform-controls/index.js.map +1 -1
- package/build-module/dataform-controls/telephone.js +21 -0
- package/build-module/dataform-controls/telephone.js.map +1 -0
- package/build-module/dataform-controls/text.js +6 -48
- package/build-module/dataform-controls/text.js.map +1 -1
- package/build-module/dataform-controls/utils/validated-text.js +62 -0
- package/build-module/dataform-controls/utils/validated-text.js.map +1 -0
- package/build-module/dataviews-layouts/grid/index.js +5 -8
- package/build-module/dataviews-layouts/grid/index.js.map +1 -1
- package/build-module/dataviews-layouts/index.js +10 -2
- package/build-module/dataviews-layouts/index.js.map +1 -1
- package/build-module/dataviews-layouts/picker-grid/index.js +348 -0
- package/build-module/dataviews-layouts/picker-grid/index.js.map +1 -0
- package/build-module/dataviews-layouts/utils/grid-items.js +29 -0
- package/build-module/dataviews-layouts/utils/grid-items.js.map +1 -0
- package/build-module/dataviews-layouts/utils/preview-size-picker.js +73 -0
- package/build-module/dataviews-layouts/utils/preview-size-picker.js.map +1 -0
- package/build-module/field-types/index.js +4 -0
- package/build-module/field-types/index.js.map +1 -1
- package/build-module/field-types/telephone.js +51 -0
- package/build-module/field-types/telephone.js.map +1 -0
- package/build-module/types.js.map +1 -1
- package/build-style/style-rtl.css +194 -11
- package/build-style/style.css +194 -11
- package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
- package/build-types/components/dataviews/index.d.ts +1 -1
- package/build-types/components/dataviews/index.d.ts.map +1 -1
- package/build-types/components/dataviews-context/index.d.ts +1 -0
- package/build-types/components/dataviews-context/index.d.ts.map +1 -1
- package/build-types/components/dataviews-layout/index.d.ts.map +1 -1
- package/build-types/components/dataviews-picker/footer.d.ts +4 -0
- package/build-types/components/dataviews-picker/footer.d.ts.map +1 -0
- package/build-types/components/dataviews-picker/index.d.ts +55 -0
- package/build-types/components/dataviews-picker/index.d.ts.map +1 -0
- package/build-types/components/dataviews-picker/stories/index.story.d.ts +42 -0
- package/build-types/components/dataviews-picker/stories/index.story.d.ts.map +1 -0
- package/build-types/components/dataviews-selection-checkbox/index.d.ts +2 -1
- package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -1
- package/build-types/components/dataviews-view-config/index.d.ts.map +1 -1
- package/build-types/constants.d.ts +1 -0
- package/build-types/constants.d.ts.map +1 -1
- package/build-types/dataform-controls/email.d.ts.map +1 -1
- package/build-types/dataform-controls/index.d.ts.map +1 -1
- package/build-types/dataform-controls/telephone.d.ts +6 -0
- package/build-types/dataform-controls/telephone.d.ts.map +1 -0
- package/build-types/dataform-controls/text.d.ts.map +1 -1
- package/build-types/dataform-controls/utils/validated-text.d.ts +12 -0
- package/build-types/dataform-controls/utils/validated-text.d.ts.map +1 -0
- package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/index.d.ts +12 -1
- package/build-types/dataviews-layouts/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/picker-grid/index.d.ts +4 -0
- package/build-types/dataviews-layouts/picker-grid/index.d.ts.map +1 -0
- package/build-types/dataviews-layouts/utils/grid-items.d.ts +5 -0
- package/build-types/dataviews-layouts/utils/grid-items.d.ts.map +1 -0
- package/build-types/dataviews-layouts/utils/preview-size-picker.d.ts +2 -0
- package/build-types/dataviews-layouts/utils/preview-size-picker.d.ts.map +1 -0
- package/build-types/field-types/index.d.ts.map +1 -1
- package/build-types/field-types/stories/index.story.d.ts +5 -1
- package/build-types/field-types/stories/index.story.d.ts.map +1 -1
- package/build-types/field-types/telephone.d.ts +20 -0
- package/build-types/field-types/telephone.d.ts.map +1 -0
- package/build-types/test/dataviews-picker.d.ts +2 -0
- package/build-types/test/dataviews-picker.d.ts.map +1 -0
- package/build-types/types.d.ts +24 -2
- package/build-types/types.d.ts.map +1 -1
- package/build-wp/index.js +4042 -3569
- package/package.json +15 -15
- package/src/components/dataform/stories/index.story.tsx +26 -1
- package/src/components/dataviews/index.tsx +25 -1
- package/src/components/dataviews/style.scss +4 -2
- package/src/components/dataviews-context/index.ts +1 -0
- package/src/components/dataviews-layout/index.tsx +4 -2
- package/src/components/dataviews-picker/footer.tsx +207 -0
- package/src/components/dataviews-picker/index.tsx +284 -0
- package/src/components/dataviews-picker/stories/index.story.tsx +251 -0
- package/src/components/dataviews-picker/style.scss +10 -0
- package/src/components/dataviews-selection-checkbox/index.tsx +3 -0
- package/src/components/dataviews-view-config/index.tsx +1 -0
- package/src/constants.ts +3 -0
- package/src/dataform-controls/email.tsx +3 -57
- package/src/dataform-controls/index.tsx +2 -0
- package/src/dataform-controls/telephone.tsx +18 -0
- package/src/dataform-controls/text.tsx +2 -57
- package/src/dataform-controls/utils/validated-text.tsx +79 -0
- package/src/dataviews-layouts/grid/index.tsx +7 -14
- package/src/dataviews-layouts/grid/style.scss +2 -20
- package/src/dataviews-layouts/index.ts +16 -2
- package/src/dataviews-layouts/picker-grid/index.tsx +490 -0
- package/src/dataviews-layouts/picker-grid/style.scss +171 -0
- package/src/dataviews-layouts/utils/grid-items.scss +21 -0
- package/src/dataviews-layouts/utils/grid-items.tsx +35 -0
- package/src/dataviews-layouts/utils/preview-size-picker.tsx +87 -0
- package/src/field-types/index.tsx +5 -0
- package/src/field-types/stories/index.story.tsx +44 -0
- package/src/field-types/telephone.tsx +71 -0
- package/src/style.scss +2 -0
- package/src/test/dataviews-picker.tsx +478 -0
- package/src/types.ts +40 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* WordPress dependencies
|
|
7
|
+
*/
|
|
8
|
+
import { __experimentalHStack as HStack } from '@wordpress/components';
|
|
9
|
+
import { useContext, useEffect, useMemo, useRef, useState } from '@wordpress/element';
|
|
10
|
+
import { useResizeObserver, throttle } from '@wordpress/compose';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
import DataViewsContext from '../dataviews-context';
|
|
16
|
+
import { VIEW_LAYOUTS } from '../../dataviews-layouts';
|
|
17
|
+
import { default as DataViewsFilters, useFilters, FiltersToggle } from '../dataviews-filters';
|
|
18
|
+
import DataViewsLayout from '../dataviews-layout';
|
|
19
|
+
import { DataViewsPickerFooter } from './footer';
|
|
20
|
+
import DataViewsSearch from '../dataviews-search';
|
|
21
|
+
import { DataViewsPagination } from '../dataviews-pagination';
|
|
22
|
+
import DataViewsViewConfig, { DataviewsViewConfigDropdown, ViewTypeMenu } from '../dataviews-view-config';
|
|
23
|
+
import { normalizeFields } from '../../normalize-fields';
|
|
24
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
25
|
+
const isItemClickable = () => false;
|
|
26
|
+
const dataViewsPickerLayouts = VIEW_LAYOUTS.filter(viewLayout => viewLayout.isPicker);
|
|
27
|
+
const defaultGetItemId = item => item.id;
|
|
28
|
+
const EMPTY_ARRAY = [];
|
|
29
|
+
function DefaultUI({
|
|
30
|
+
search = true,
|
|
31
|
+
searchLabel = undefined
|
|
32
|
+
}) {
|
|
33
|
+
const {
|
|
34
|
+
isShowingFilter
|
|
35
|
+
} = useContext(DataViewsContext);
|
|
36
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
37
|
+
children: [/*#__PURE__*/_jsxs(HStack, {
|
|
38
|
+
alignment: "top",
|
|
39
|
+
justify: "space-between",
|
|
40
|
+
className: "dataviews__view-actions",
|
|
41
|
+
spacing: 1,
|
|
42
|
+
children: [/*#__PURE__*/_jsxs(HStack, {
|
|
43
|
+
justify: "start",
|
|
44
|
+
expanded: false,
|
|
45
|
+
className: "dataviews__search",
|
|
46
|
+
children: [search && /*#__PURE__*/_jsx(DataViewsSearch, {
|
|
47
|
+
label: searchLabel
|
|
48
|
+
}), /*#__PURE__*/_jsx(FiltersToggle, {})]
|
|
49
|
+
}), /*#__PURE__*/_jsx(HStack, {
|
|
50
|
+
spacing: 1,
|
|
51
|
+
expanded: false,
|
|
52
|
+
style: {
|
|
53
|
+
flexShrink: 0
|
|
54
|
+
},
|
|
55
|
+
children: /*#__PURE__*/_jsx(DataViewsViewConfig, {})
|
|
56
|
+
})]
|
|
57
|
+
}), isShowingFilter && /*#__PURE__*/_jsx(DataViewsFilters, {
|
|
58
|
+
className: "dataviews-filters__container"
|
|
59
|
+
}), /*#__PURE__*/_jsx(DataViewsLayout, {}), /*#__PURE__*/_jsx(DataViewsPickerFooter, {})]
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
function DataViewsPicker({
|
|
63
|
+
view,
|
|
64
|
+
onChangeView,
|
|
65
|
+
fields,
|
|
66
|
+
search = true,
|
|
67
|
+
searchLabel = undefined,
|
|
68
|
+
actions = EMPTY_ARRAY,
|
|
69
|
+
data,
|
|
70
|
+
getItemId = defaultGetItemId,
|
|
71
|
+
isLoading = false,
|
|
72
|
+
paginationInfo,
|
|
73
|
+
defaultLayouts: defaultLayoutsProperty,
|
|
74
|
+
selection,
|
|
75
|
+
onChangeSelection,
|
|
76
|
+
children,
|
|
77
|
+
config = {
|
|
78
|
+
perPageSizes: [10, 20, 50, 100]
|
|
79
|
+
},
|
|
80
|
+
itemListLabel,
|
|
81
|
+
empty
|
|
82
|
+
}) {
|
|
83
|
+
const {
|
|
84
|
+
infiniteScrollHandler
|
|
85
|
+
} = paginationInfo;
|
|
86
|
+
const containerRef = useRef(null);
|
|
87
|
+
const [containerWidth, setContainerWidth] = useState(0);
|
|
88
|
+
const resizeObserverRef = useResizeObserver(resizeObserverEntries => {
|
|
89
|
+
setContainerWidth(resizeObserverEntries[0].borderBoxSize[0].inlineSize);
|
|
90
|
+
}, {
|
|
91
|
+
box: 'border-box'
|
|
92
|
+
});
|
|
93
|
+
const [openedFilter, setOpenedFilter] = useState(null);
|
|
94
|
+
function setSelectionWithChange(value) {
|
|
95
|
+
const newValue = typeof value === 'function' ? value(selection) : value;
|
|
96
|
+
if (onChangeSelection) {
|
|
97
|
+
onChangeSelection(newValue);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const _fields = useMemo(() => normalizeFields(fields), [fields]);
|
|
101
|
+
const filters = useFilters(_fields, view);
|
|
102
|
+
const hasPrimaryOrLockedFilters = useMemo(() => (filters || []).some(filter => filter.isPrimary || filter.isLocked), [filters]);
|
|
103
|
+
const [isShowingFilter, setIsShowingFilter] = useState(hasPrimaryOrLockedFilters);
|
|
104
|
+
useEffect(() => {
|
|
105
|
+
if (hasPrimaryOrLockedFilters && !isShowingFilter) {
|
|
106
|
+
setIsShowingFilter(true);
|
|
107
|
+
}
|
|
108
|
+
}, [hasPrimaryOrLockedFilters, isShowingFilter]);
|
|
109
|
+
|
|
110
|
+
// Attach scroll event listener for infinite scroll
|
|
111
|
+
useEffect(() => {
|
|
112
|
+
if (!view.infiniteScrollEnabled || !containerRef.current) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
const handleScroll = throttle(event => {
|
|
116
|
+
const target = event.target;
|
|
117
|
+
const scrollTop = target.scrollTop;
|
|
118
|
+
const scrollHeight = target.scrollHeight;
|
|
119
|
+
const clientHeight = target.clientHeight;
|
|
120
|
+
|
|
121
|
+
// Check if user has scrolled near the bottom
|
|
122
|
+
if (scrollTop + clientHeight >= scrollHeight - 100) {
|
|
123
|
+
infiniteScrollHandler?.();
|
|
124
|
+
}
|
|
125
|
+
}, 100); // Throttle to 100ms
|
|
126
|
+
|
|
127
|
+
const container = containerRef.current;
|
|
128
|
+
container.addEventListener('scroll', handleScroll);
|
|
129
|
+
return () => {
|
|
130
|
+
container.removeEventListener('scroll', handleScroll);
|
|
131
|
+
handleScroll.cancel(); // Cancel any pending throttled calls
|
|
132
|
+
};
|
|
133
|
+
}, [infiniteScrollHandler, view.infiniteScrollEnabled]);
|
|
134
|
+
|
|
135
|
+
// Filter out DataViewsPicker layouts.
|
|
136
|
+
const defaultLayouts = useMemo(() => Object.fromEntries(Object.entries(defaultLayoutsProperty).filter(([layoutType]) => {
|
|
137
|
+
return dataViewsPickerLayouts.some(viewLayout => viewLayout.type === layoutType);
|
|
138
|
+
})), [defaultLayoutsProperty]);
|
|
139
|
+
if (!defaultLayouts[view.type]) {
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
return /*#__PURE__*/_jsx(DataViewsContext.Provider, {
|
|
143
|
+
value: {
|
|
144
|
+
view,
|
|
145
|
+
onChangeView,
|
|
146
|
+
fields: _fields,
|
|
147
|
+
actions,
|
|
148
|
+
data,
|
|
149
|
+
isLoading,
|
|
150
|
+
paginationInfo,
|
|
151
|
+
isItemClickable,
|
|
152
|
+
selection,
|
|
153
|
+
onChangeSelection: setSelectionWithChange,
|
|
154
|
+
openedFilter,
|
|
155
|
+
setOpenedFilter,
|
|
156
|
+
getItemId,
|
|
157
|
+
containerWidth,
|
|
158
|
+
containerRef,
|
|
159
|
+
resizeObserverRef,
|
|
160
|
+
defaultLayouts,
|
|
161
|
+
filters,
|
|
162
|
+
isShowingFilter,
|
|
163
|
+
setIsShowingFilter,
|
|
164
|
+
config,
|
|
165
|
+
itemListLabel,
|
|
166
|
+
empty,
|
|
167
|
+
hasInfiniteScrollHandler: !!infiniteScrollHandler
|
|
168
|
+
},
|
|
169
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
170
|
+
className: "dataviews-picker-wrapper",
|
|
171
|
+
ref: containerRef,
|
|
172
|
+
children: children !== null && children !== void 0 ? children : /*#__PURE__*/_jsx(DefaultUI, {
|
|
173
|
+
search: search,
|
|
174
|
+
searchLabel: searchLabel
|
|
175
|
+
})
|
|
176
|
+
})
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// Populate the DataViews sub components
|
|
181
|
+
const DataViewsPickerSubComponents = DataViewsPicker;
|
|
182
|
+
DataViewsPickerSubComponents.BulkActionToolbar = DataViewsPickerFooter;
|
|
183
|
+
DataViewsPickerSubComponents.Filters = DataViewsFilters;
|
|
184
|
+
DataViewsPickerSubComponents.FiltersToggle = FiltersToggle;
|
|
185
|
+
DataViewsPickerSubComponents.Layout = DataViewsLayout;
|
|
186
|
+
DataViewsPickerSubComponents.LayoutSwitcher = ViewTypeMenu;
|
|
187
|
+
DataViewsPickerSubComponents.Pagination = DataViewsPagination;
|
|
188
|
+
DataViewsPickerSubComponents.Search = DataViewsSearch;
|
|
189
|
+
DataViewsPickerSubComponents.ViewConfig = DataviewsViewConfigDropdown;
|
|
190
|
+
export default DataViewsPickerSubComponents;
|
|
191
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__experimentalHStack","HStack","useContext","useEffect","useMemo","useRef","useState","useResizeObserver","throttle","DataViewsContext","VIEW_LAYOUTS","default","DataViewsFilters","useFilters","FiltersToggle","DataViewsLayout","DataViewsPickerFooter","DataViewsSearch","DataViewsPagination","DataViewsViewConfig","DataviewsViewConfigDropdown","ViewTypeMenu","normalizeFields","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","isItemClickable","dataViewsPickerLayouts","filter","viewLayout","isPicker","defaultGetItemId","item","id","EMPTY_ARRAY","DefaultUI","search","searchLabel","undefined","isShowingFilter","children","alignment","justify","className","spacing","expanded","label","style","flexShrink","DataViewsPicker","view","onChangeView","fields","actions","data","getItemId","isLoading","paginationInfo","defaultLayouts","defaultLayoutsProperty","selection","onChangeSelection","config","perPageSizes","itemListLabel","empty","infiniteScrollHandler","containerRef","containerWidth","setContainerWidth","resizeObserverRef","resizeObserverEntries","borderBoxSize","inlineSize","box","openedFilter","setOpenedFilter","setSelectionWithChange","value","newValue","_fields","filters","hasPrimaryOrLockedFilters","some","isPrimary","isLocked","setIsShowingFilter","infiniteScrollEnabled","current","handleScroll","event","target","scrollTop","scrollHeight","clientHeight","container","addEventListener","removeEventListener","cancel","Object","fromEntries","entries","layoutType","type","Provider","hasInfiniteScrollHandler","ref","DataViewsPickerSubComponents","BulkActionToolbar","Filters","Layout","LayoutSwitcher","Pagination","Search","ViewConfig"],"sources":["@wordpress/dataviews/src/components/dataviews-picker/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactNode } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { useResizeObserver, throttle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport DataViewsContext from '../dataviews-context';\nimport { VIEW_LAYOUTS } from '../../dataviews-layouts';\nimport {\n\tdefault as DataViewsFilters,\n\tuseFilters,\n\tFiltersToggle,\n} from '../dataviews-filters';\nimport DataViewsLayout from '../dataviews-layout';\nimport { DataViewsPickerFooter } from './footer';\nimport DataViewsSearch from '../dataviews-search';\nimport { DataViewsPagination } from '../dataviews-pagination';\nimport DataViewsViewConfig, {\n\tDataviewsViewConfigDropdown,\n\tViewTypeMenu,\n} from '../dataviews-view-config';\nimport { normalizeFields } from '../../normalize-fields';\nimport type { ActionButton, Field, View, SupportedLayouts } from '../../types';\nimport type { SelectionOrUpdater } from '../../private-types';\ntype ItemWithId = { id: string };\n\nconst isItemClickable = () => false;\n\nconst dataViewsPickerLayouts = VIEW_LAYOUTS.filter(\n\t( viewLayout ) => viewLayout.isPicker\n);\n\ntype DataViewsPickerProps< Item > = {\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n\tfields: Field< Item >[];\n\tactions?: ActionButton< Item >[];\n\tsearch?: boolean;\n\tsearchLabel?: string;\n\tdata: Item[];\n\tisLoading?: boolean;\n\tpaginationInfo: {\n\t\ttotalItems: number;\n\t\ttotalPages: number;\n\t\tinfiniteScrollHandler?: () => void;\n\t};\n\tdefaultLayouts: SupportedLayouts;\n\tselection: string[];\n\tonChangeSelection: ( items: string[] ) => void;\n\tchildren?: ReactNode;\n\tconfig?: {\n\t\tperPageSizes: number[];\n\t};\n\titemListLabel?: string;\n\tempty?: ReactNode;\n} & ( Item extends ItemWithId\n\t? { getItemId?: ( item: Item ) => string }\n\t: { getItemId: ( item: Item ) => string } );\n\nconst defaultGetItemId = ( item: ItemWithId ) => item.id;\nconst EMPTY_ARRAY: any[] = [];\n\ntype DefaultUIProps = Pick<\n\tDataViewsPickerProps< any >,\n\t'search' | 'searchLabel'\n>;\n\nfunction DefaultUI( {\n\tsearch = true,\n\tsearchLabel = undefined,\n}: DefaultUIProps ) {\n\tconst { isShowingFilter } = useContext( DataViewsContext );\n\treturn (\n\t\t<>\n\t\t\t<HStack\n\t\t\t\talignment=\"top\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName=\"dataviews__view-actions\"\n\t\t\t\tspacing={ 1 }\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews__search\"\n\t\t\t\t>\n\t\t\t\t\t{ search && <DataViewsSearch label={ searchLabel } /> }\n\t\t\t\t\t<FiltersToggle />\n\t\t\t\t</HStack>\n\t\t\t\t<HStack\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tstyle={ { flexShrink: 0 } }\n\t\t\t\t>\n\t\t\t\t\t<DataViewsViewConfig />\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t\t{ isShowingFilter && (\n\t\t\t\t<DataViewsFilters className=\"dataviews-filters__container\" />\n\t\t\t) }\n\t\t\t<DataViewsLayout />\n\t\t\t<DataViewsPickerFooter />\n\t\t</>\n\t);\n}\n\nfunction DataViewsPicker< Item >( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions = EMPTY_ARRAY,\n\tdata,\n\tgetItemId = defaultGetItemId,\n\tisLoading = false,\n\tpaginationInfo,\n\tdefaultLayouts: defaultLayoutsProperty,\n\tselection,\n\tonChangeSelection,\n\tchildren,\n\tconfig = { perPageSizes: [ 10, 20, 50, 100 ] },\n\titemListLabel,\n\tempty,\n}: DataViewsPickerProps< Item > ) {\n\tconst { infiniteScrollHandler } = paginationInfo;\n\tconst containerRef = useRef< HTMLDivElement | null >( null );\n\tconst [ containerWidth, setContainerWidth ] = useState( 0 );\n\tconst resizeObserverRef = useResizeObserver(\n\t\t( resizeObserverEntries: any ) => {\n\t\t\tsetContainerWidth(\n\t\t\t\tresizeObserverEntries[ 0 ].borderBoxSize[ 0 ].inlineSize\n\t\t\t);\n\t\t},\n\t\t{ box: 'border-box' }\n\t);\n\tconst [ openedFilter, setOpenedFilter ] = useState< string | null >( null );\n\tfunction setSelectionWithChange( value: SelectionOrUpdater ) {\n\t\tconst newValue =\n\t\t\ttypeof value === 'function' ? value( selection ) : value;\n\t\tif ( onChangeSelection ) {\n\t\t\tonChangeSelection( newValue );\n\t\t}\n\t}\n\tconst _fields = useMemo( () => normalizeFields( fields ), [ fields ] );\n\tconst filters = useFilters( _fields, view );\n\tconst hasPrimaryOrLockedFilters = useMemo(\n\t\t() =>\n\t\t\t( filters || [] ).some(\n\t\t\t\t( filter ) => filter.isPrimary || filter.isLocked\n\t\t\t),\n\t\t[ filters ]\n\t);\n\tconst [ isShowingFilter, setIsShowingFilter ] = useState< boolean >(\n\t\thasPrimaryOrLockedFilters\n\t);\n\n\tuseEffect( () => {\n\t\tif ( hasPrimaryOrLockedFilters && ! isShowingFilter ) {\n\t\t\tsetIsShowingFilter( true );\n\t\t}\n\t}, [ hasPrimaryOrLockedFilters, isShowingFilter ] );\n\n\t// Attach scroll event listener for infinite scroll\n\tuseEffect( () => {\n\t\tif ( ! view.infiniteScrollEnabled || ! containerRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst handleScroll = throttle( ( event: unknown ) => {\n\t\t\tconst target = ( event as Event ).target as HTMLElement;\n\t\t\tconst scrollTop = target.scrollTop;\n\t\t\tconst scrollHeight = target.scrollHeight;\n\t\t\tconst clientHeight = target.clientHeight;\n\n\t\t\t// Check if user has scrolled near the bottom\n\t\t\tif ( scrollTop + clientHeight >= scrollHeight - 100 ) {\n\t\t\t\tinfiniteScrollHandler?.();\n\t\t\t}\n\t\t}, 100 ); // Throttle to 100ms\n\n\t\tconst container = containerRef.current;\n\t\tcontainer.addEventListener( 'scroll', handleScroll );\n\n\t\treturn () => {\n\t\t\tcontainer.removeEventListener( 'scroll', handleScroll );\n\t\t\thandleScroll.cancel(); // Cancel any pending throttled calls\n\t\t};\n\t}, [ infiniteScrollHandler, view.infiniteScrollEnabled ] );\n\n\t// Filter out DataViewsPicker layouts.\n\tconst defaultLayouts = useMemo(\n\t\t() =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries( defaultLayoutsProperty ).filter(\n\t\t\t\t\t( [ layoutType ] ) => {\n\t\t\t\t\t\treturn dataViewsPickerLayouts.some(\n\t\t\t\t\t\t\t( viewLayout ) => viewLayout.type === layoutType\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t),\n\t\t[ defaultLayoutsProperty ]\n\t);\n\n\tif ( ! defaultLayouts[ view.type ] ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DataViewsContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tview,\n\t\t\t\tonChangeView,\n\t\t\t\tfields: _fields,\n\t\t\t\tactions,\n\t\t\t\tdata,\n\t\t\t\tisLoading,\n\t\t\t\tpaginationInfo,\n\t\t\t\tisItemClickable,\n\t\t\t\tselection,\n\t\t\t\tonChangeSelection: setSelectionWithChange,\n\t\t\t\topenedFilter,\n\t\t\t\tsetOpenedFilter,\n\t\t\t\tgetItemId,\n\t\t\t\tcontainerWidth,\n\t\t\t\tcontainerRef,\n\t\t\t\tresizeObserverRef,\n\t\t\t\tdefaultLayouts,\n\t\t\t\tfilters,\n\t\t\t\tisShowingFilter,\n\t\t\t\tsetIsShowingFilter,\n\t\t\t\tconfig,\n\t\t\t\titemListLabel,\n\t\t\t\tempty,\n\t\t\t\thasInfiniteScrollHandler: !! infiniteScrollHandler,\n\t\t\t} }\n\t\t>\n\t\t\t<div className=\"dataviews-picker-wrapper\" ref={ containerRef }>\n\t\t\t\t{ children ?? (\n\t\t\t\t\t<DefaultUI search={ search } searchLabel={ searchLabel } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</DataViewsContext.Provider>\n\t);\n}\n\n// Populate the DataViews sub components\nconst DataViewsPickerSubComponents =\n\tDataViewsPicker as typeof DataViewsPicker & {\n\t\tBulkActionToolbar: typeof DataViewsPickerFooter;\n\t\tFilters: typeof DataViewsFilters;\n\t\tFiltersToggle: typeof FiltersToggle;\n\t\tLayout: typeof DataViewsLayout;\n\t\tLayoutSwitcher: typeof ViewTypeMenu;\n\t\tPagination: typeof DataViewsPagination;\n\t\tSearch: typeof DataViewsSearch;\n\t\tViewConfig: typeof DataviewsViewConfigDropdown;\n\t};\n\nDataViewsPickerSubComponents.BulkActionToolbar = DataViewsPickerFooter;\nDataViewsPickerSubComponents.Filters = DataViewsFilters;\nDataViewsPickerSubComponents.FiltersToggle = FiltersToggle;\nDataViewsPickerSubComponents.Layout = DataViewsLayout;\nDataViewsPickerSubComponents.LayoutSwitcher = ViewTypeMenu;\nDataViewsPickerSubComponents.Pagination = DataViewsPagination;\nDataViewsPickerSubComponents.Search = DataViewsSearch;\nDataViewsPickerSubComponents.ViewConfig = DataviewsViewConfigDropdown;\n\nexport default DataViewsPickerSubComponents;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,8 @@ export default function DataViewsSelectionCheckbox({
|
|
|
14
14
|
item,
|
|
15
15
|
getItemId,
|
|
16
16
|
titleField,
|
|
17
|
-
disabled
|
|
17
|
+
disabled,
|
|
18
|
+
...extraProps
|
|
18
19
|
}) {
|
|
19
20
|
const id = getItemId(item);
|
|
20
21
|
const checked = !disabled && selection.includes(id);
|
|
@@ -34,7 +35,8 @@ export default function DataViewsSelectionCheckbox({
|
|
|
34
35
|
return;
|
|
35
36
|
}
|
|
36
37
|
onChangeSelection(selection.includes(id) ? selection.filter(itemId => id !== itemId) : [...selection, id]);
|
|
37
|
-
}
|
|
38
|
+
},
|
|
39
|
+
...extraProps
|
|
38
40
|
});
|
|
39
41
|
}
|
|
40
42
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CheckboxControl","__","jsx","_jsx","DataViewsSelectionCheckbox","selection","onChangeSelection","item","getItemId","titleField","disabled","id","checked","includes","selectionLabel","getValue","className","__nextHasNoMarginBottom","onChange","filter","itemId"],"sources":["@wordpress/dataviews/src/components/dataviews-selection-checkbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CheckboxControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { SetSelection } from '../../private-types';\nimport type { NormalizedField } from '../../types';\n\ninterface DataViewsSelectionCheckboxProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\titem: Item;\n\tgetItemId: ( item: Item ) => string;\n\ttitleField?: NormalizedField< Item >;\n\tdisabled: boolean;\n}\n\nexport default function DataViewsSelectionCheckbox< Item >( {\n\tselection,\n\tonChangeSelection,\n\titem,\n\tgetItemId,\n\ttitleField,\n\tdisabled,\n}: DataViewsSelectionCheckboxProps< Item > ) {\n\tconst id = getItemId( item );\n\tconst checked = ! disabled && selection.includes( id );\n\n\t// Fallback label to ensure accessibility\n\tconst selectionLabel =\n\t\ttitleField?.getValue?.( { item } ) || __( '(no title)' );\n\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\taria-label={ selectionLabel }\n\t\t\taria-disabled={ disabled }\n\t\t\tchecked={ checked }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( disabled ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tonChangeSelection(\n\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,uBAAuB;AACvD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["CheckboxControl","__","jsx","_jsx","DataViewsSelectionCheckbox","selection","onChangeSelection","item","getItemId","titleField","disabled","extraProps","id","checked","includes","selectionLabel","getValue","className","__nextHasNoMarginBottom","onChange","filter","itemId"],"sources":["@wordpress/dataviews/src/components/dataviews-selection-checkbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CheckboxControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport type { SetSelection } from '../../private-types';\nimport type { NormalizedField } from '../../types';\n\ninterface DataViewsSelectionCheckboxProps< Item > {\n\tselection: string[];\n\tonChangeSelection: SetSelection;\n\titem: Item;\n\tgetItemId: ( item: Item ) => string;\n\ttitleField?: NormalizedField< Item >;\n\tdisabled: boolean;\n\ttabIndex?: number;\n}\n\nexport default function DataViewsSelectionCheckbox< Item >( {\n\tselection,\n\tonChangeSelection,\n\titem,\n\tgetItemId,\n\ttitleField,\n\tdisabled,\n\t...extraProps\n}: DataViewsSelectionCheckboxProps< Item > ) {\n\tconst id = getItemId( item );\n\tconst checked = ! disabled && selection.includes( id );\n\n\t// Fallback label to ensure accessibility\n\tconst selectionLabel =\n\t\ttitleField?.getValue?.( { item } ) || __( '(no title)' );\n\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\taria-label={ selectionLabel }\n\t\t\taria-disabled={ disabled }\n\t\t\tchecked={ checked }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( disabled ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tonChangeSelection(\n\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t);\n\t\t\t} }\n\t\t\t{ ...extraProps }\n\t\t/>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,uBAAuB;AACvD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AAFA,SAAAC,GAAA,IAAAC,IAAA;AAgBA,eAAe,SAASC,0BAA0BA,CAAU;EAC3DC,SAAS;EACTC,iBAAiB;EACjBC,IAAI;EACJC,SAAS;EACTC,UAAU;EACVC,QAAQ;EACR,GAAGC;AACqC,CAAC,EAAG;EAC5C,MAAMC,EAAE,GAAGJ,SAAS,CAAED,IAAK,CAAC;EAC5B,MAAMM,OAAO,GAAG,CAAEH,QAAQ,IAAIL,SAAS,CAACS,QAAQ,CAAEF,EAAG,CAAC;;EAEtD;EACA,MAAMG,cAAc,GACnBN,UAAU,EAAEO,QAAQ,GAAI;IAAET;EAAK,CAAE,CAAC,IAAIN,EAAE,CAAE,YAAa,CAAC;EAEzD,oBACCE,IAAA,CAACH,eAAe;IACfiB,SAAS,EAAC,8BAA8B;IACxCC,uBAAuB;IACvB,cAAaH,cAAgB;IAC7B,iBAAgBL,QAAU;IAC1BG,OAAO,EAAGA,OAAS;IACnBM,QAAQ,EAAGA,CAAA,KAAM;MAChB,IAAKT,QAAQ,EAAG;QACf;MACD;MAEAJ,iBAAiB,CAChBD,SAAS,CAACS,QAAQ,CAAEF,EAAG,CAAC,GACrBP,SAAS,CAACe,MAAM,CAAIC,MAAM,IAAMT,EAAE,KAAKS,MAAO,CAAC,GAC/C,CAAE,GAAGhB,SAAS,EAAEO,EAAE,CACtB,CAAC;IACF,CAAG;IAAA,GACED;EAAU,CACf,CAAC;AAEJ","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","Button","__experimentalDropdownContentWrapper","DropdownContentWrapper","Dropdown","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","SelectControl","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalGrid","Grid","__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","privateApis","componentsPrivateApis","BaseControl","Icon","__","_x","sprintf","memo","useContext","useMemo","useState","chevronDown","chevronUp","cog","seen","unseen","lock","moreVertical","warning","useInstanceId","SORTING_DIRECTIONS","sortIcons","sortLabels","VIEW_LAYOUTS","DataViewsContext","InfiniteScrollToggle","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Menu","DATAVIEWS_CONFIG_POPOVER_PROPS","className","placement","offset","ViewTypeMenu","view","onChangeView","defaultLayouts","availableLayouts","Object","keys","length","activeView","find","v","type","children","TriggerButton","render","size","icon","label","Popover","map","layout","config","RadioItem","value","name","checked","hideOnClick","onChange","e","target","viewWithoutLayout","globalThis","SCRIPT_DEBUG","ItemLabel","SortFieldControl","fields","orderOptions","sortableFields","filter","field","enableSorting","id","__nextHasNoMarginBottom","__next40pxDefaultSize","sort","options","direction","showLevels","SortDirectionControl","isBlock","newDirection","ItemsPerPageControl","infiniteScrollEnabled","perPageSizes","perPage","disabled","newItemsPerPage","newItemsPerPageNumber","undefined","parseInt","page","toString","PreviewOptions","previewOptions","onChangePreviewOption","onMenuOpenChange","activeOption","focusPreviewOptionsField","setTimeout","element","document","querySelector","HTMLElement","focus","onOpenChange","FieldItem","description","isVisible","isFirst","isLast","canMove","onToggleVisibility","onMoveUp","onMoveDown","isChangingPreviewOption","setIsChangingPreviewOption","focusVisibilityField","expanded","justify","enableHiding","accessibleWhenDisabled","onClick","RegularFieldItem","index","_view$fields","visibleFieldIds","includes","fieldId","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","isDefined","item","FieldControl","_view$fields2","togglableFields","titleField","mediaField","descriptionField","Boolean","hiddenFields","f","visibleFields","previewField","previewFields","previewFieldUI","_view$showMedia","isPreviewFieldVisible","showMedia","newPreviewId","lockedFields","isVisibleFlag","ui","visibleLockedFields","_view$isVisibleFlag","hiddenLockedFields","_view$isVisibleFlag2","spacing","isBordered","isSeparated","VisualLabel","style","margin","SettingsSection","title","columns","gap","level","variant","DataviewsViewConfigDropdown","popoverId","_DataViewsViewConfig","activeLayout","expandOnMobile","popoverProps","renderToggle","onToggle","isOpen","renderContent","paddingSize","viewConfigOptions","DataViewsViewConfig"],"sources":["@wordpress/dataviews/src/components/dataviews-view-config/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ChangeEvent, ReactNode } from 'react';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tDropdown,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tSelectControl,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalGrid as Grid,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tprivateApis as componentsPrivateApis,\n\tBaseControl,\n\tIcon,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { memo, useContext, useMemo, useState } from '@wordpress/element';\nimport {\n\tchevronDown,\n\tchevronUp,\n\tcog,\n\tseen,\n\tunseen,\n\tlock,\n\tmoreVertical,\n} from '@wordpress/icons';\nimport warning from '@wordpress/warning';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { SORTING_DIRECTIONS, sortIcons, sortLabels } from '../../constants';\nimport { VIEW_LAYOUTS } from '../../dataviews-layouts';\nimport type { NormalizedField, View } from '../../types';\nimport DataViewsContext from '../dataviews-context';\nimport InfiniteScrollToggle from './infinite-scroll-toggle';\nimport { unlock } from '../../lock-unlock';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\nconst DATAVIEWS_CONFIG_POPOVER_PROPS = {\n\tclassName: 'dataviews-config__popover',\n\tplacement: 'bottom-end',\n\toffset: 9,\n};\n\nexport function ViewTypeMenu() {\n\tconst { view, onChangeView, defaultLayouts } =\n\t\tuseContext( DataViewsContext );\n\tconst availableLayouts = Object.keys( defaultLayouts );\n\tif ( availableLayouts.length <= 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = VIEW_LAYOUTS.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<Menu>\n\t\t\t<Menu.TriggerButton\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ activeView?.icon }\n\t\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<Menu.Popover>\n\t\t\t\t{ availableLayouts.map( ( layout ) => {\n\t\t\t\t\tconst config = VIEW_LAYOUTS.find(\n\t\t\t\t\t\t( v ) => v.type === layout\n\t\t\t\t\t);\n\t\t\t\t\tif ( ! config ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\t\tkey={ layout }\n\t\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\t\t\t\tchecked={ layout === view.type }\n\t\t\t\t\t\t\thideOnClick\n\t\t\t\t\t\t\tonChange={ (\n\t\t\t\t\t\t\t\te: ChangeEvent< HTMLInputElement >\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tswitch ( e.target.value ) {\n\t\t\t\t\t\t\t\t\tcase 'list':\n\t\t\t\t\t\t\t\t\tcase 'grid':\n\t\t\t\t\t\t\t\t\tcase 'table':\n\t\t\t\t\t\t\t\t\t\tconst viewWithoutLayout = { ...view };\n\t\t\t\t\t\t\t\t\t\tif ( 'layout' in viewWithoutLayout ) {\n\t\t\t\t\t\t\t\t\t\t\tdelete viewWithoutLayout.layout;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn onChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...viewWithoutLayout,\n\t\t\t\t\t\t\t\t\t\t\ttype: e.target.value,\n\t\t\t\t\t\t\t\t\t\t\t...defaultLayouts[ e.target.value ],\n\t\t\t\t\t\t\t\t\t\t} as View );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twarning( 'Invalid dataview' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Menu.ItemLabel>{ config.label }</Menu.ItemLabel>\n\t\t\t\t\t\t</Menu.RadioItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Menu.Popover>\n\t\t</Menu>\n\t);\n}\n\nfunction SortFieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst orderOptions = useMemo( () => {\n\t\tconst sortableFields = fields.filter(\n\t\t\t( field ) => field.enableSorting !== false\n\t\t);\n\t\treturn sortableFields.map( ( field ) => {\n\t\t\treturn {\n\t\t\t\tlabel: field.label,\n\t\t\t\tvalue: field.id,\n\t\t\t};\n\t\t} );\n\t}, [ fields ] );\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Sort by' ) }\n\t\t\tvalue={ view.sort?.field }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value: string ) => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tsort: {\n\t\t\t\t\t\tdirection: view?.sort?.direction || 'desc',\n\t\t\t\t\t\tfield: value,\n\t\t\t\t\t},\n\t\t\t\t\tshowLevels: false,\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction SortDirectionControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( sortableFields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tlet value = view.sort?.direction;\n\tif ( ! value && view.sort?.field ) {\n\t\tvalue = 'desc';\n\t}\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tclassName=\"dataviews-view-config__sort-direction\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Order' ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newDirection ) => {\n\t\t\t\tif ( newDirection === 'asc' || newDirection === 'desc' ) {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\tdirection: newDirection,\n\t\t\t\t\t\t\tfield:\n\t\t\t\t\t\t\t\tview.sort?.field ||\n\t\t\t\t\t\t\t\t// If there is no field assigned as the sorting field assign the first sortable field.\n\t\t\t\t\t\t\t\tfields.find(\n\t\t\t\t\t\t\t\t\t( field ) => field.enableSorting !== false\n\t\t\t\t\t\t\t\t)?.id ||\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tshowLevels: false,\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\twarning( 'Invalid direction' );\n\t\t\t} }\n\t\t>\n\t\t\t{ SORTING_DIRECTIONS.map( ( direction ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\tvalue={ direction }\n\t\t\t\t\t\ticon={ sortIcons[ direction ] }\n\t\t\t\t\t\tlabel={ sortLabels[ direction ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nfunction ItemsPerPageControl() {\n\tconst { view, config, onChangeView } = useContext( DataViewsContext );\n\tconst { infiniteScrollEnabled } = view;\n\tif (\n\t\t! config ||\n\t\t! config.perPageSizes ||\n\t\tconfig.perPageSizes.length < 2 ||\n\t\tconfig.perPageSizes.length > 6 ||\n\t\tinfiniteScrollEnabled\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Items per page' ) }\n\t\t\tvalue={ view.perPage || 10 }\n\t\t\tdisabled={ ! view?.sort?.field }\n\t\t\tonChange={ ( newItemsPerPage ) => {\n\t\t\t\tconst newItemsPerPageNumber =\n\t\t\t\t\ttypeof newItemsPerPage === 'number' ||\n\t\t\t\t\tnewItemsPerPage === undefined\n\t\t\t\t\t\t? newItemsPerPage\n\t\t\t\t\t\t: parseInt( newItemsPerPage, 10 );\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tperPage: newItemsPerPageNumber,\n\t\t\t\t\tpage: 1,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t{ config.perPageSizes.map( ( value ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tlabel={ value.toString() }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nfunction PreviewOptions( {\n\tpreviewOptions,\n\tonChangePreviewOption,\n\tonMenuOpenChange,\n\tactiveOption,\n}: {\n\tpreviewOptions?: Array< { label: string; id: string } >;\n\tonChangePreviewOption?: ( newPreviewOption: string ) => void;\n\tonMenuOpenChange: ( isOpen: boolean ) => void;\n\tactiveOption?: string;\n} ) {\n\tconst focusPreviewOptionsField = ( id: string ) => {\n\t\t// Focus the visibility button to avoid focus loss.\n\t\t// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.\n\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\tsetTimeout( () => {\n\t\t\tconst element = document.querySelector(\n\t\t\t\t`.dataviews-field-control__field-${ id } .dataviews-field-control__field-preview-options-button`\n\t\t\t);\n\t\t\tif ( element instanceof HTMLElement ) {\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 50 );\n\t};\n\treturn (\n\t\t<Menu onOpenChange={ onMenuOpenChange }>\n\t\t\t<Menu.TriggerButton\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-field-control__field-preview-options-button\"\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Preview' ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<Menu.Popover>\n\t\t\t\t{ previewOptions?.map( ( { id, label } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\t\tvalue={ id }\n\t\t\t\t\t\t\tchecked={ id === activeOption }\n\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\tonChangePreviewOption?.( id );\n\t\t\t\t\t\t\t\tfocusPreviewOptionsField( id );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Menu.ItemLabel>{ label }</Menu.ItemLabel>\n\t\t\t\t\t\t</Menu.RadioItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Menu.Popover>\n\t\t</Menu>\n\t);\n}\nfunction FieldItem( {\n\tfield,\n\tlabel,\n\tdescription,\n\tisVisible,\n\tisFirst,\n\tisLast,\n\tcanMove = true,\n\tonToggleVisibility,\n\tonMoveUp,\n\tonMoveDown,\n\tpreviewOptions,\n\tonChangePreviewOption,\n}: {\n\tfield: NormalizedField< any >;\n\tlabel?: string;\n\tdescription?: string;\n\tisVisible: boolean;\n\tisFirst?: boolean;\n\tisLast?: boolean;\n\tcanMove?: boolean;\n\tonToggleVisibility?: () => void;\n\tonMoveUp?: () => void;\n\tonMoveDown?: () => void;\n\tpreviewOptions?: Array< { label: string; id: string } >;\n\tonChangePreviewOption?: ( newPreviewOption: string ) => void;\n} ) {\n\tconst [ isChangingPreviewOption, setIsChangingPreviewOption ] =\n\t\tuseState< boolean >( false );\n\n\tconst focusVisibilityField = () => {\n\t\t// Focus the visibility button to avoid focus loss.\n\t\t// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.\n\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\tsetTimeout( () => {\n\t\t\tconst element = document.querySelector(\n\t\t\t\t`.dataviews-field-control__field-${ field.id } .dataviews-field-control__field-visibility-button`\n\t\t\t);\n\t\t\tif ( element instanceof HTMLElement ) {\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 50 );\n\t};\n\n\treturn (\n\t\t<Item>\n\t\t\t<HStack\n\t\t\t\texpanded\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'dataviews-field-control__field',\n\t\t\t\t\t`dataviews-field-control__field-${ field.id }`,\n\t\t\t\t\t// The actions are hidden when the mouse is not hovering the item, or focus\n\t\t\t\t\t// is outside the item.\n\t\t\t\t\t// For actions that require a popover, a menu etc, that would mean that when the interactive element\n\t\t\t\t\t// opens and the focus goes there the actions would be hidden.\n\t\t\t\t\t// To avoid that we add a class to the item, that makes sure actions are visible while there is some\n\t\t\t\t\t// interaction with the item.\n\t\t\t\t\t{ 'is-interacting': isChangingPreviewOption }\n\t\t\t\t) }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t>\n\t\t\t\t<span className=\"dataviews-field-control__icon\">\n\t\t\t\t\t{ ! canMove && ! field.enableHiding && (\n\t\t\t\t\t\t<Icon icon={ lock } />\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t\t<span className=\"dataviews-field-control__label-sub-label-container\">\n\t\t\t\t\t<span className=\"dataviews-field-control__label\">\n\t\t\t\t\t\t{ label || field.label }\n\t\t\t\t\t</span>\n\t\t\t\t\t{ description && (\n\t\t\t\t\t\t<span className=\"dataviews-field-control__sub-label\">\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews-field-control__actions\"\n\t\t\t\t>\n\t\t\t\t\t{ isVisible && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={ isFirst || ! canMove }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ onMoveUp }\n\t\t\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisFirst || ! canMove\n\t\t\t\t\t\t\t\t\t\t? __( \"This field can't be moved up\" )\n\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Move %s up' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\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\t<Button\n\t\t\t\t\t\t\t\tdisabled={ isLast || ! canMove }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ onMoveDown }\n\t\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisLast || ! canMove\n\t\t\t\t\t\t\t\t\t\t? __( \"This field can't be moved down\" )\n\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Move %s down' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\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) }\n\t\t\t\t\t{ onToggleVisibility && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataviews-field-control__field-visibility-button\"\n\t\t\t\t\t\t\tdisabled={ ! field.enableHiding }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonToggleVisibility();\n\t\t\t\t\t\t\t\tfocusVisibilityField();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ticon={ isVisible ? unseen : seen }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'Hide %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'Show %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\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{ previewOptions && (\n\t\t\t\t\t\t<PreviewOptions\n\t\t\t\t\t\t\tpreviewOptions={ previewOptions }\n\t\t\t\t\t\t\tonChangePreviewOption={ onChangePreviewOption }\n\t\t\t\t\t\t\tonMenuOpenChange={ setIsChangingPreviewOption }\n\t\t\t\t\t\t\tactiveOption={ field.id }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Item>\n\t);\n}\n\nfunction RegularFieldItem( {\n\tindex,\n\tfield,\n\tview,\n\tonChangeView,\n}: {\n\tindex?: number;\n\tfield: NormalizedField< any >;\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n} ) {\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst isVisible =\n\t\tindex !== undefined && visibleFieldIds.includes( field.id );\n\n\treturn (\n\t\t<FieldItem\n\t\t\tfield={ field }\n\t\t\tisVisible={ isVisible }\n\t\t\tisFirst={ index !== undefined && index < 1 }\n\t\t\tisLast={\n\t\t\t\tindex !== undefined && index === visibleFieldIds.length - 1\n\t\t\t}\n\t\t\tonToggleVisibility={ () => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tfields: isVisible\n\t\t\t\t\t\t? visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t( fieldId ) => fieldId !== field.id\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: [ ...visibleFieldIds, field.id ],\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonMoveUp={\n\t\t\t\tindex !== undefined\n\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...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\tindex - 1\n\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\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.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 }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tonMoveDown={\n\t\t\t\tindex !== undefined\n\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...( visibleFieldIds.slice( 0, index ) ??\n\t\t\t\t\t\t\t\t\t\t[] ),\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.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 }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction isDefined< T >( item: T | undefined ): item is T {\n\treturn !! item;\n}\n\nfunction FieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst togglableFields = [\n\t\tview?.titleField,\n\t\tview?.mediaField,\n\t\tview?.descriptionField,\n\t].filter( Boolean );\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst hiddenFields = fields.filter(\n\t\t( f ) =>\n\t\t\t! visibleFieldIds.includes( f.id ) &&\n\t\t\t! togglableFields.includes( f.id ) &&\n\t\t\tf.type !== 'media'\n\t);\n\tconst visibleFields = visibleFieldIds\n\t\t.map( ( fieldId ) => fields.find( ( f ) => f.id === fieldId ) )\n\t\t.filter( isDefined );\n\n\tif ( ! visibleFields?.length && ! hiddenFields?.length ) {\n\t\treturn null;\n\t}\n\tconst titleField = fields.find( ( f ) => f.id === view.titleField );\n\tconst previewField = fields.find( ( f ) => f.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( f ) => f.id === view.descriptionField\n\t);\n\n\tconst previewFields = fields.filter( ( f ) => f.type === 'media' );\n\n\tlet previewFieldUI;\n\tif ( previewFields.length > 1 ) {\n\t\tconst isPreviewFieldVisible =\n\t\t\tisDefined( previewField ) && ( view.showMedia ?? true );\n\t\tpreviewFieldUI = isDefined( previewField ) && (\n\t\t\t<FieldItem\n\t\t\t\tkey={ previewField.id }\n\t\t\t\tfield={ previewField }\n\t\t\t\tlabel={ __( 'Preview' ) }\n\t\t\t\tdescription={ previewField.label }\n\t\t\t\tisVisible={ isPreviewFieldVisible }\n\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tshowMedia: ! isPreviewFieldVisible,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tcanMove={ false }\n\t\t\t\tpreviewOptions={ previewFields.map( ( field ) => ( {\n\t\t\t\t\tlabel: field.label,\n\t\t\t\t\tid: field.id,\n\t\t\t\t} ) ) }\n\t\t\t\tonChangePreviewOption={ ( newPreviewId ) =>\n\t\t\t\t\tonChangeView( { ...view, mediaField: newPreviewId } )\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t}\n\tconst lockedFields = [\n\t\t{\n\t\t\tfield: titleField,\n\t\t\tisVisibleFlag: 'showTitle',\n\t\t},\n\t\t{\n\t\t\tfield: previewField,\n\t\t\tisVisibleFlag: 'showMedia',\n\t\t\tui: previewFieldUI,\n\t\t},\n\t\t{\n\t\t\tfield: descriptionField,\n\t\t\tisVisibleFlag: 'showDescription',\n\t\t},\n\t].filter( ( { field } ) => isDefined( field ) );\n\tconst visibleLockedFields = lockedFields.filter(\n\t\t( { field, isVisibleFlag } ) =>\n\t\t\t// @ts-expect-error\n\t\t\tisDefined( field ) && ( view[ isVisibleFlag ] ?? true )\n\t) as Array< {\n\t\tfield: NormalizedField< any >;\n\t\tisVisibleFlag: string;\n\t\tui?: ReactNode;\n\t} >;\n\tconst hiddenLockedFields = lockedFields.filter(\n\t\t( { field, isVisibleFlag } ) =>\n\t\t\t// @ts-expect-error\n\t\t\tisDefined( field ) && ! ( view[ isVisibleFlag ] ?? true )\n\t) as Array< {\n\t\tfield: NormalizedField< any >;\n\t\tisVisibleFlag: string;\n\t\tui?: ReactNode;\n\t} >;\n\n\treturn (\n\t\t<VStack className=\"dataviews-field-control\" spacing={ 6 }>\n\t\t\t<VStack className=\"dataviews-view-config__properties\" spacing={ 0 }>\n\t\t\t\t{ ( visibleLockedFields.length > 0 ||\n\t\t\t\t\t!! visibleFields?.length ) && (\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ visibleLockedFields.map(\n\t\t\t\t\t\t\t( { field, isVisibleFlag, ui } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tui ?? (\n\t\t\t\t\t\t\t\t\t\t<FieldItem\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\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\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\t\t[ isVisibleFlag ]: false,\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\tcanMove={ false }\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\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<RegularFieldItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\tindex={ index }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t) }\n\t\t\t</VStack>\n\n\t\t\t{ ( !! hiddenFields?.length || !! hiddenLockedFields.length ) && (\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t<BaseControl.VisualLabel style={ { margin: 0 } }>\n\t\t\t\t\t\t{ __( 'Hidden' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-config__properties\"\n\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t{ hiddenLockedFields.length > 0 &&\n\t\t\t\t\t\t\t\thiddenLockedFields.map(\n\t\t\t\t\t\t\t\t\t( { field, isVisibleFlag, ui } ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\tui ?? (\n\t\t\t\t\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\t\t\tisVisible={ false }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\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\t\t\t\t[ isVisibleFlag ]:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\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\tcanMove={ false }\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{ hiddenFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<RegularFieldItem\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</VStack>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction SettingsSection( {\n\ttitle,\n\tdescription,\n\tchildren,\n}: {\n\ttitle: string;\n\tdescription?: string;\n\tchildren: React.ReactNode;\n} ) {\n\treturn (\n\t\t<Grid columns={ 12 } className=\"dataviews-settings-section\" gap={ 4 }>\n\t\t\t<div className=\"dataviews-settings-section__sidebar\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\tclassName=\"dataviews-settings-section__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"dataviews-settings-section__description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 8 }\n\t\t\t\tgap={ 4 }\n\t\t\t\tclassName=\"dataviews-settings-section__content\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Grid>\n\t\t</Grid>\n\t);\n}\n\nexport function DataviewsViewConfigDropdown() {\n\tconst { view } = useContext( DataViewsContext );\n\tconst popoverId = useInstanceId(\n\t\t_DataViewsViewConfig,\n\t\t'dataviews-view-config-dropdown'\n\t);\n\tconst activeLayout = VIEW_LAYOUTS.find(\n\t\t( layout ) => layout.type === view.type\n\t);\n\treturn (\n\t\t<Dropdown\n\t\t\texpandOnMobile\n\t\t\tpopoverProps={ {\n\t\t\t\t...DATAVIEWS_CONFIG_POPOVER_PROPS,\n\t\t\t\tid: popoverId,\n\t\t\t} }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ cog }\n\t\t\t\t\t\tlabel={ _x( 'View options', 'View is used as a noun' ) }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-expanded={ isOpen ? 'true' : 'false' }\n\t\t\t\t\t\taria-controls={ popoverId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tpaddingSize=\"medium\"\n\t\t\t\t\tclassName=\"dataviews-config__popover-content-wrapper\"\n\t\t\t\t>\n\t\t\t\t\t<VStack className=\"dataviews-view-config\" spacing={ 6 }>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Appearance' ) }>\n\t\t\t\t\t\t\t<HStack expanded className=\"is-divided-in-two\">\n\t\t\t\t\t\t\t\t<SortFieldControl />\n\t\t\t\t\t\t\t\t<SortDirectionControl />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t{ !! activeLayout?.viewConfigOptions && (\n\t\t\t\t\t\t\t\t<activeLayout.viewConfigOptions />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<InfiniteScrollToggle />\n\t\t\t\t\t\t\t<ItemsPerPageControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Properties' ) }>\n\t\t\t\t\t\t\t<FieldControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t</VStack>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction _DataViewsViewConfig() {\n\treturn (\n\t\t<>\n\t\t\t<ViewTypeMenu />\n\t\t\t<DataviewsViewConfigDropdown />\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","Button","__experimentalDropdownContentWrapper","DropdownContentWrapper","Dropdown","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","SelectControl","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalGrid","Grid","__experimentalVStack","VStack","__experimentalHStack","HStack","__experimentalHeading","Heading","__experimentalText","Text","privateApis","componentsPrivateApis","BaseControl","Icon","__","_x","sprintf","memo","useContext","useMemo","useState","chevronDown","chevronUp","cog","seen","unseen","lock","moreVertical","warning","useInstanceId","SORTING_DIRECTIONS","sortIcons","sortLabels","VIEW_LAYOUTS","DataViewsContext","InfiniteScrollToggle","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Menu","DATAVIEWS_CONFIG_POPOVER_PROPS","className","placement","offset","ViewTypeMenu","view","onChangeView","defaultLayouts","availableLayouts","Object","keys","length","activeView","find","v","type","children","TriggerButton","render","size","icon","label","Popover","map","layout","config","RadioItem","value","name","checked","hideOnClick","onChange","e","target","viewWithoutLayout","globalThis","SCRIPT_DEBUG","ItemLabel","SortFieldControl","fields","orderOptions","sortableFields","filter","field","enableSorting","id","__nextHasNoMarginBottom","__next40pxDefaultSize","sort","options","direction","showLevels","SortDirectionControl","isBlock","newDirection","ItemsPerPageControl","infiniteScrollEnabled","perPageSizes","perPage","disabled","newItemsPerPage","newItemsPerPageNumber","undefined","parseInt","page","toString","PreviewOptions","previewOptions","onChangePreviewOption","onMenuOpenChange","activeOption","focusPreviewOptionsField","setTimeout","element","document","querySelector","HTMLElement","focus","onOpenChange","FieldItem","description","isVisible","isFirst","isLast","canMove","onToggleVisibility","onMoveUp","onMoveDown","isChangingPreviewOption","setIsChangingPreviewOption","focusVisibilityField","expanded","justify","enableHiding","accessibleWhenDisabled","onClick","RegularFieldItem","index","_view$fields","visibleFieldIds","includes","fieldId","_visibleFieldIds$slic","slice","_visibleFieldIds$slic2","isDefined","item","FieldControl","_view$fields2","togglableFields","titleField","mediaField","descriptionField","Boolean","hiddenFields","f","visibleFields","previewField","previewFields","previewFieldUI","_view$showMedia","isPreviewFieldVisible","showMedia","newPreviewId","lockedFields","isVisibleFlag","ui","visibleLockedFields","_view$isVisibleFlag","hiddenLockedFields","_view$isVisibleFlag2","spacing","isBordered","isSeparated","VisualLabel","style","margin","SettingsSection","title","columns","gap","level","variant","DataviewsViewConfigDropdown","popoverId","_DataViewsViewConfig","activeLayout","expandOnMobile","popoverProps","renderToggle","onToggle","isOpen","renderContent","paddingSize","viewConfigOptions","DataViewsViewConfig"],"sources":["@wordpress/dataviews/src/components/dataviews-view-config/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ChangeEvent, ReactNode } from 'react';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tDropdown,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\tSelectControl,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalGrid as Grid,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\tprivateApis as componentsPrivateApis,\n\tBaseControl,\n\tIcon,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { memo, useContext, useMemo, useState } from '@wordpress/element';\nimport {\n\tchevronDown,\n\tchevronUp,\n\tcog,\n\tseen,\n\tunseen,\n\tlock,\n\tmoreVertical,\n} from '@wordpress/icons';\nimport warning from '@wordpress/warning';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { SORTING_DIRECTIONS, sortIcons, sortLabels } from '../../constants';\nimport { VIEW_LAYOUTS } from '../../dataviews-layouts';\nimport type { NormalizedField, View } from '../../types';\nimport DataViewsContext from '../dataviews-context';\nimport InfiniteScrollToggle from './infinite-scroll-toggle';\nimport { unlock } from '../../lock-unlock';\n\nconst { Menu } = unlock( componentsPrivateApis );\n\nconst DATAVIEWS_CONFIG_POPOVER_PROPS = {\n\tclassName: 'dataviews-config__popover',\n\tplacement: 'bottom-end',\n\toffset: 9,\n};\n\nexport function ViewTypeMenu() {\n\tconst { view, onChangeView, defaultLayouts } =\n\t\tuseContext( DataViewsContext );\n\tconst availableLayouts = Object.keys( defaultLayouts );\n\tif ( availableLayouts.length <= 1 ) {\n\t\treturn null;\n\t}\n\tconst activeView = VIEW_LAYOUTS.find( ( v ) => view.type === v.type );\n\treturn (\n\t\t<Menu>\n\t\t\t<Menu.TriggerButton\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ activeView?.icon }\n\t\t\t\t\t\tlabel={ __( 'Layout' ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<Menu.Popover>\n\t\t\t\t{ availableLayouts.map( ( layout ) => {\n\t\t\t\t\tconst config = VIEW_LAYOUTS.find(\n\t\t\t\t\t\t( v ) => v.type === layout\n\t\t\t\t\t);\n\t\t\t\t\tif ( ! config ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\t\tkey={ layout }\n\t\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\t\tname=\"view-actions-available-view\"\n\t\t\t\t\t\t\tchecked={ layout === view.type }\n\t\t\t\t\t\t\thideOnClick\n\t\t\t\t\t\t\tonChange={ (\n\t\t\t\t\t\t\t\te: ChangeEvent< HTMLInputElement >\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tswitch ( e.target.value ) {\n\t\t\t\t\t\t\t\t\tcase 'list':\n\t\t\t\t\t\t\t\t\tcase 'grid':\n\t\t\t\t\t\t\t\t\tcase 'table':\n\t\t\t\t\t\t\t\t\tcase 'pickerGrid':\n\t\t\t\t\t\t\t\t\t\tconst viewWithoutLayout = { ...view };\n\t\t\t\t\t\t\t\t\t\tif ( 'layout' in viewWithoutLayout ) {\n\t\t\t\t\t\t\t\t\t\t\tdelete viewWithoutLayout.layout;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn onChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t...viewWithoutLayout,\n\t\t\t\t\t\t\t\t\t\t\ttype: e.target.value,\n\t\t\t\t\t\t\t\t\t\t\t...defaultLayouts[ e.target.value ],\n\t\t\t\t\t\t\t\t\t\t} as View );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twarning( 'Invalid dataview' );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Menu.ItemLabel>{ config.label }</Menu.ItemLabel>\n\t\t\t\t\t\t</Menu.RadioItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Menu.Popover>\n\t\t</Menu>\n\t);\n}\n\nfunction SortFieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\tconst orderOptions = useMemo( () => {\n\t\tconst sortableFields = fields.filter(\n\t\t\t( field ) => field.enableSorting !== false\n\t\t);\n\t\treturn sortableFields.map( ( field ) => {\n\t\t\treturn {\n\t\t\t\tlabel: field.label,\n\t\t\t\tvalue: field.id,\n\t\t\t};\n\t\t} );\n\t}, [ fields ] );\n\n\treturn (\n\t\t<SelectControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Sort by' ) }\n\t\t\tvalue={ view.sort?.field }\n\t\t\toptions={ orderOptions }\n\t\t\tonChange={ ( value: string ) => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tsort: {\n\t\t\t\t\t\tdirection: view?.sort?.direction || 'desc',\n\t\t\t\t\t\tfield: value,\n\t\t\t\t\t},\n\t\t\t\t\tshowLevels: false,\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction SortDirectionControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst sortableFields = fields.filter(\n\t\t( field ) => field.enableSorting !== false\n\t);\n\tif ( sortableFields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tlet value = view.sort?.direction;\n\tif ( ! value && view.sort?.field ) {\n\t\tvalue = 'desc';\n\t}\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tclassName=\"dataviews-view-config__sort-direction\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Order' ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newDirection ) => {\n\t\t\t\tif ( newDirection === 'asc' || newDirection === 'desc' ) {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\tdirection: newDirection,\n\t\t\t\t\t\t\tfield:\n\t\t\t\t\t\t\t\tview.sort?.field ||\n\t\t\t\t\t\t\t\t// If there is no field assigned as the sorting field assign the first sortable field.\n\t\t\t\t\t\t\t\tfields.find(\n\t\t\t\t\t\t\t\t\t( field ) => field.enableSorting !== false\n\t\t\t\t\t\t\t\t)?.id ||\n\t\t\t\t\t\t\t\t'',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tshowLevels: false,\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\twarning( 'Invalid direction' );\n\t\t\t} }\n\t\t>\n\t\t\t{ SORTING_DIRECTIONS.map( ( direction ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ direction }\n\t\t\t\t\t\tvalue={ direction }\n\t\t\t\t\t\ticon={ sortIcons[ direction ] }\n\t\t\t\t\t\tlabel={ sortLabels[ direction ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nfunction ItemsPerPageControl() {\n\tconst { view, config, onChangeView } = useContext( DataViewsContext );\n\tconst { infiniteScrollEnabled } = view;\n\tif (\n\t\t! config ||\n\t\t! config.perPageSizes ||\n\t\tconfig.perPageSizes.length < 2 ||\n\t\tconfig.perPageSizes.length > 6 ||\n\t\tinfiniteScrollEnabled\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Items per page' ) }\n\t\t\tvalue={ view.perPage || 10 }\n\t\t\tdisabled={ ! view?.sort?.field }\n\t\t\tonChange={ ( newItemsPerPage ) => {\n\t\t\t\tconst newItemsPerPageNumber =\n\t\t\t\t\ttypeof newItemsPerPage === 'number' ||\n\t\t\t\t\tnewItemsPerPage === undefined\n\t\t\t\t\t\t? newItemsPerPage\n\t\t\t\t\t\t: parseInt( newItemsPerPage, 10 );\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tperPage: newItemsPerPageNumber,\n\t\t\t\t\tpage: 1,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t{ config.perPageSizes.map( ( value ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tlabel={ value.toString() }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nfunction PreviewOptions( {\n\tpreviewOptions,\n\tonChangePreviewOption,\n\tonMenuOpenChange,\n\tactiveOption,\n}: {\n\tpreviewOptions?: Array< { label: string; id: string } >;\n\tonChangePreviewOption?: ( newPreviewOption: string ) => void;\n\tonMenuOpenChange: ( isOpen: boolean ) => void;\n\tactiveOption?: string;\n} ) {\n\tconst focusPreviewOptionsField = ( id: string ) => {\n\t\t// Focus the visibility button to avoid focus loss.\n\t\t// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.\n\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\tsetTimeout( () => {\n\t\t\tconst element = document.querySelector(\n\t\t\t\t`.dataviews-field-control__field-${ id } .dataviews-field-control__field-preview-options-button`\n\t\t\t);\n\t\t\tif ( element instanceof HTMLElement ) {\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 50 );\n\t};\n\treturn (\n\t\t<Menu onOpenChange={ onMenuOpenChange }>\n\t\t\t<Menu.TriggerButton\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"dataviews-field-control__field-preview-options-button\"\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Preview' ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<Menu.Popover>\n\t\t\t\t{ previewOptions?.map( ( { id, label } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Menu.RadioItem\n\t\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\t\tvalue={ id }\n\t\t\t\t\t\t\tchecked={ id === activeOption }\n\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\tonChangePreviewOption?.( id );\n\t\t\t\t\t\t\t\tfocusPreviewOptionsField( id );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Menu.ItemLabel>{ label }</Menu.ItemLabel>\n\t\t\t\t\t\t</Menu.RadioItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Menu.Popover>\n\t\t</Menu>\n\t);\n}\nfunction FieldItem( {\n\tfield,\n\tlabel,\n\tdescription,\n\tisVisible,\n\tisFirst,\n\tisLast,\n\tcanMove = true,\n\tonToggleVisibility,\n\tonMoveUp,\n\tonMoveDown,\n\tpreviewOptions,\n\tonChangePreviewOption,\n}: {\n\tfield: NormalizedField< any >;\n\tlabel?: string;\n\tdescription?: string;\n\tisVisible: boolean;\n\tisFirst?: boolean;\n\tisLast?: boolean;\n\tcanMove?: boolean;\n\tonToggleVisibility?: () => void;\n\tonMoveUp?: () => void;\n\tonMoveDown?: () => void;\n\tpreviewOptions?: Array< { label: string; id: string } >;\n\tonChangePreviewOption?: ( newPreviewOption: string ) => void;\n} ) {\n\tconst [ isChangingPreviewOption, setIsChangingPreviewOption ] =\n\t\tuseState< boolean >( false );\n\n\tconst focusVisibilityField = () => {\n\t\t// Focus the visibility button to avoid focus loss.\n\t\t// Our code is safe against the component being unmounted, so we don't need to worry about cleaning the timeout.\n\t\t// eslint-disable-next-line @wordpress/react-no-unsafe-timeout\n\t\tsetTimeout( () => {\n\t\t\tconst element = document.querySelector(\n\t\t\t\t`.dataviews-field-control__field-${ field.id } .dataviews-field-control__field-visibility-button`\n\t\t\t);\n\t\t\tif ( element instanceof HTMLElement ) {\n\t\t\t\telement.focus();\n\t\t\t}\n\t\t}, 50 );\n\t};\n\n\treturn (\n\t\t<Item>\n\t\t\t<HStack\n\t\t\t\texpanded\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'dataviews-field-control__field',\n\t\t\t\t\t`dataviews-field-control__field-${ field.id }`,\n\t\t\t\t\t// The actions are hidden when the mouse is not hovering the item, or focus\n\t\t\t\t\t// is outside the item.\n\t\t\t\t\t// For actions that require a popover, a menu etc, that would mean that when the interactive element\n\t\t\t\t\t// opens and the focus goes there the actions would be hidden.\n\t\t\t\t\t// To avoid that we add a class to the item, that makes sure actions are visible while there is some\n\t\t\t\t\t// interaction with the item.\n\t\t\t\t\t{ 'is-interacting': isChangingPreviewOption }\n\t\t\t\t) }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t>\n\t\t\t\t<span className=\"dataviews-field-control__icon\">\n\t\t\t\t\t{ ! canMove && ! field.enableHiding && (\n\t\t\t\t\t\t<Icon icon={ lock } />\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t\t<span className=\"dataviews-field-control__label-sub-label-container\">\n\t\t\t\t\t<span className=\"dataviews-field-control__label\">\n\t\t\t\t\t\t{ label || field.label }\n\t\t\t\t\t</span>\n\t\t\t\t\t{ description && (\n\t\t\t\t\t\t<span className=\"dataviews-field-control__sub-label\">\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t\tclassName=\"dataviews-field-control__actions\"\n\t\t\t\t>\n\t\t\t\t\t{ isVisible && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tdisabled={ isFirst || ! canMove }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ onMoveUp }\n\t\t\t\t\t\t\t\ticon={ chevronUp }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisFirst || ! canMove\n\t\t\t\t\t\t\t\t\t\t? __( \"This field can't be moved up\" )\n\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Move %s up' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\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\t<Button\n\t\t\t\t\t\t\t\tdisabled={ isLast || ! canMove }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tonClick={ onMoveDown }\n\t\t\t\t\t\t\t\ticon={ chevronDown }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisLast || ! canMove\n\t\t\t\t\t\t\t\t\t\t? __( \"This field can't be moved down\" )\n\t\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Move %s down' ),\n\t\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\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) }\n\t\t\t\t\t{ onToggleVisibility && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"dataviews-field-control__field-visibility-button\"\n\t\t\t\t\t\t\tdisabled={ ! field.enableHiding }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonToggleVisibility();\n\t\t\t\t\t\t\t\tfocusVisibilityField();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ticon={ isVisible ? unseen : seen }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'Hide %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: field label */\n\t\t\t\t\t\t\t\t\t\t\t_x( 'Show %s', 'field' ),\n\t\t\t\t\t\t\t\t\t\t\tfield.label\n\t\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{ previewOptions && (\n\t\t\t\t\t\t<PreviewOptions\n\t\t\t\t\t\t\tpreviewOptions={ previewOptions }\n\t\t\t\t\t\t\tonChangePreviewOption={ onChangePreviewOption }\n\t\t\t\t\t\t\tonMenuOpenChange={ setIsChangingPreviewOption }\n\t\t\t\t\t\t\tactiveOption={ field.id }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t</HStack>\n\t\t</Item>\n\t);\n}\n\nfunction RegularFieldItem( {\n\tindex,\n\tfield,\n\tview,\n\tonChangeView,\n}: {\n\tindex?: number;\n\tfield: NormalizedField< any >;\n\tview: View;\n\tonChangeView: ( view: View ) => void;\n} ) {\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst isVisible =\n\t\tindex !== undefined && visibleFieldIds.includes( field.id );\n\n\treturn (\n\t\t<FieldItem\n\t\t\tfield={ field }\n\t\t\tisVisible={ isVisible }\n\t\t\tisFirst={ index !== undefined && index < 1 }\n\t\t\tisLast={\n\t\t\t\tindex !== undefined && index === visibleFieldIds.length - 1\n\t\t\t}\n\t\t\tonToggleVisibility={ () => {\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tfields: isVisible\n\t\t\t\t\t\t? visibleFieldIds.filter(\n\t\t\t\t\t\t\t\t( fieldId ) => fieldId !== field.id\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: [ ...visibleFieldIds, field.id ],\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tonMoveUp={\n\t\t\t\tindex !== undefined\n\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...( visibleFieldIds.slice(\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\tindex - 1\n\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\tvisibleFieldIds[ index - 1 ],\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.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 }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tonMoveDown={\n\t\t\t\tindex !== undefined\n\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...( visibleFieldIds.slice( 0, index ) ??\n\t\t\t\t\t\t\t\t\t\t[] ),\n\t\t\t\t\t\t\t\t\tvisibleFieldIds[ index + 1 ],\n\t\t\t\t\t\t\t\t\tfield.id,\n\t\t\t\t\t\t\t\t\t...visibleFieldIds.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 }\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction isDefined< T >( item: T | undefined ): item is T {\n\treturn !! item;\n}\n\nfunction FieldControl() {\n\tconst { view, fields, onChangeView } = useContext( DataViewsContext );\n\n\tconst togglableFields = [\n\t\tview?.titleField,\n\t\tview?.mediaField,\n\t\tview?.descriptionField,\n\t].filter( Boolean );\n\tconst visibleFieldIds = view.fields ?? [];\n\tconst hiddenFields = fields.filter(\n\t\t( f ) =>\n\t\t\t! visibleFieldIds.includes( f.id ) &&\n\t\t\t! togglableFields.includes( f.id ) &&\n\t\t\tf.type !== 'media'\n\t);\n\tconst visibleFields = visibleFieldIds\n\t\t.map( ( fieldId ) => fields.find( ( f ) => f.id === fieldId ) )\n\t\t.filter( isDefined );\n\n\tif ( ! visibleFields?.length && ! hiddenFields?.length ) {\n\t\treturn null;\n\t}\n\tconst titleField = fields.find( ( f ) => f.id === view.titleField );\n\tconst previewField = fields.find( ( f ) => f.id === view.mediaField );\n\tconst descriptionField = fields.find(\n\t\t( f ) => f.id === view.descriptionField\n\t);\n\n\tconst previewFields = fields.filter( ( f ) => f.type === 'media' );\n\n\tlet previewFieldUI;\n\tif ( previewFields.length > 1 ) {\n\t\tconst isPreviewFieldVisible =\n\t\t\tisDefined( previewField ) && ( view.showMedia ?? true );\n\t\tpreviewFieldUI = isDefined( previewField ) && (\n\t\t\t<FieldItem\n\t\t\t\tkey={ previewField.id }\n\t\t\t\tfield={ previewField }\n\t\t\t\tlabel={ __( 'Preview' ) }\n\t\t\t\tdescription={ previewField.label }\n\t\t\t\tisVisible={ isPreviewFieldVisible }\n\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t...view,\n\t\t\t\t\t\tshowMedia: ! isPreviewFieldVisible,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tcanMove={ false }\n\t\t\t\tpreviewOptions={ previewFields.map( ( field ) => ( {\n\t\t\t\t\tlabel: field.label,\n\t\t\t\t\tid: field.id,\n\t\t\t\t} ) ) }\n\t\t\t\tonChangePreviewOption={ ( newPreviewId ) =>\n\t\t\t\t\tonChangeView( { ...view, mediaField: newPreviewId } )\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t}\n\tconst lockedFields = [\n\t\t{\n\t\t\tfield: titleField,\n\t\t\tisVisibleFlag: 'showTitle',\n\t\t},\n\t\t{\n\t\t\tfield: previewField,\n\t\t\tisVisibleFlag: 'showMedia',\n\t\t\tui: previewFieldUI,\n\t\t},\n\t\t{\n\t\t\tfield: descriptionField,\n\t\t\tisVisibleFlag: 'showDescription',\n\t\t},\n\t].filter( ( { field } ) => isDefined( field ) );\n\tconst visibleLockedFields = lockedFields.filter(\n\t\t( { field, isVisibleFlag } ) =>\n\t\t\t// @ts-expect-error\n\t\t\tisDefined( field ) && ( view[ isVisibleFlag ] ?? true )\n\t) as Array< {\n\t\tfield: NormalizedField< any >;\n\t\tisVisibleFlag: string;\n\t\tui?: ReactNode;\n\t} >;\n\tconst hiddenLockedFields = lockedFields.filter(\n\t\t( { field, isVisibleFlag } ) =>\n\t\t\t// @ts-expect-error\n\t\t\tisDefined( field ) && ! ( view[ isVisibleFlag ] ?? true )\n\t) as Array< {\n\t\tfield: NormalizedField< any >;\n\t\tisVisibleFlag: string;\n\t\tui?: ReactNode;\n\t} >;\n\n\treturn (\n\t\t<VStack className=\"dataviews-field-control\" spacing={ 6 }>\n\t\t\t<VStack className=\"dataviews-view-config__properties\" spacing={ 0 }>\n\t\t\t\t{ ( visibleLockedFields.length > 0 ||\n\t\t\t\t\t!! visibleFields?.length ) && (\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ visibleLockedFields.map(\n\t\t\t\t\t\t\t( { field, isVisibleFlag, ui } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\tui ?? (\n\t\t\t\t\t\t\t\t\t\t<FieldItem\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\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\tisVisible\n\t\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\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\t\t[ isVisibleFlag ]: false,\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\tcanMove={ false }\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\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<RegularFieldItem\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\tindex={ index }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t) }\n\t\t\t</VStack>\n\n\t\t\t{ ( !! hiddenFields?.length || !! hiddenLockedFields.length ) && (\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t<BaseControl.VisualLabel style={ { margin: 0 } }>\n\t\t\t\t\t\t{ __( 'Hidden' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tclassName=\"dataviews-view-config__properties\"\n\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t{ hiddenLockedFields.length > 0 &&\n\t\t\t\t\t\t\t\thiddenLockedFields.map(\n\t\t\t\t\t\t\t\t\t( { field, isVisibleFlag, ui } ) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\tui ?? (\n\t\t\t\t\t\t\t\t\t\t\t\t<FieldItem\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\t\t\t\t\tisVisible={ false }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonToggleVisibility={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\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\t\t\t\t[ isVisibleFlag ]:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\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\tcanMove={ false }\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{ hiddenFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t<RegularFieldItem\n\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\tfield={ field }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</VStack>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction SettingsSection( {\n\ttitle,\n\tdescription,\n\tchildren,\n}: {\n\ttitle: string;\n\tdescription?: string;\n\tchildren: React.ReactNode;\n} ) {\n\treturn (\n\t\t<Grid columns={ 12 } className=\"dataviews-settings-section\" gap={ 4 }>\n\t\t\t<div className=\"dataviews-settings-section__sidebar\">\n\t\t\t\t<Heading\n\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\tclassName=\"dataviews-settings-section__title\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</Heading>\n\t\t\t\t{ description && (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tvariant=\"muted\"\n\t\t\t\t\t\tclassName=\"dataviews-settings-section__description\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ description }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 8 }\n\t\t\t\tgap={ 4 }\n\t\t\t\tclassName=\"dataviews-settings-section__content\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Grid>\n\t\t</Grid>\n\t);\n}\n\nexport function DataviewsViewConfigDropdown() {\n\tconst { view } = useContext( DataViewsContext );\n\tconst popoverId = useInstanceId(\n\t\t_DataViewsViewConfig,\n\t\t'dataviews-view-config-dropdown'\n\t);\n\tconst activeLayout = VIEW_LAYOUTS.find(\n\t\t( layout ) => layout.type === view.type\n\t);\n\treturn (\n\t\t<Dropdown\n\t\t\texpandOnMobile\n\t\t\tpopoverProps={ {\n\t\t\t\t...DATAVIEWS_CONFIG_POPOVER_PROPS,\n\t\t\t\tid: popoverId,\n\t\t\t} }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\ticon={ cog }\n\t\t\t\t\t\tlabel={ _x( 'View options', 'View is used as a noun' ) }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-expanded={ isOpen ? 'true' : 'false' }\n\t\t\t\t\t\taria-controls={ popoverId }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tpaddingSize=\"medium\"\n\t\t\t\t\tclassName=\"dataviews-config__popover-content-wrapper\"\n\t\t\t\t>\n\t\t\t\t\t<VStack className=\"dataviews-view-config\" spacing={ 6 }>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Appearance' ) }>\n\t\t\t\t\t\t\t<HStack expanded className=\"is-divided-in-two\">\n\t\t\t\t\t\t\t\t<SortFieldControl />\n\t\t\t\t\t\t\t\t<SortDirectionControl />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t{ !! activeLayout?.viewConfigOptions && (\n\t\t\t\t\t\t\t\t<activeLayout.viewConfigOptions />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<InfiniteScrollToggle />\n\t\t\t\t\t\t\t<ItemsPerPageControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t\t<SettingsSection title={ __( 'Properties' ) }>\n\t\t\t\t\t\t\t<FieldControl />\n\t\t\t\t\t\t</SettingsSection>\n\t\t\t\t\t</VStack>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction _DataViewsViewConfig() {\n\treturn (\n\t\t<>\n\t\t\t<ViewTypeMenu />\n\t\t\t<DataviewsViewConfigDropdown />\n\t\t</>\n\t);\n}\n\nconst DataViewsViewConfig = memo( _DataViewsViewConfig );\n\nexport default DataViewsViewConfig;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -145,4 +145,7 @@ export const sortIcons = {
|
|
|
145
145
|
export const LAYOUT_TABLE = 'table';
|
|
146
146
|
export const LAYOUT_GRID = 'grid';
|
|
147
147
|
export const LAYOUT_LIST = 'list';
|
|
148
|
+
|
|
149
|
+
// Picker view layouts.
|
|
150
|
+
export const LAYOUT_PICKER_GRID = 'pickerGrid';
|
|
148
151
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","arrowDown","arrowUp","OPERATOR_IS","OPERATOR_IS_NOT","OPERATOR_IS_ANY","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","OPERATOR_LESS_THAN","OPERATOR_GREATER_THAN","OPERATOR_LESS_THAN_OR_EQUAL","OPERATOR_GREATER_THAN_OR_EQUAL","OPERATOR_BEFORE","OPERATOR_AFTER","OPERATOR_BEFORE_INC","OPERATOR_AFTER_INC","OPERATOR_CONTAINS","OPERATOR_NOT_CONTAINS","OPERATOR_STARTS_WITH","OPERATOR_BETWEEN","OPERATOR_ON","OPERATOR_NOT_ON","OPERATOR_IN_THE_PAST","OPERATOR_OVER","ALL_OPERATORS","SINGLE_SELECTION_OPERATORS","OPERATORS","key","label","SORTING_DIRECTIONS","sortArrows","asc","desc","sortValues","sortLabels","sortIcons","LAYOUT_TABLE","LAYOUT_GRID","LAYOUT_LIST"],"sources":["@wordpress/dataviews/src/constants.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { arrowDown, arrowUp } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport type { Operator } from './types';\n\n// Filter operators.\nexport const OPERATOR_IS = 'is';\nexport const OPERATOR_IS_NOT = 'isNot';\nexport const OPERATOR_IS_ANY = 'isAny';\nexport const OPERATOR_IS_NONE = 'isNone';\nexport const OPERATOR_IS_ALL = 'isAll';\nexport const OPERATOR_IS_NOT_ALL = 'isNotAll';\nexport const OPERATOR_LESS_THAN = 'lessThan';\nexport const OPERATOR_GREATER_THAN = 'greaterThan';\nexport const OPERATOR_LESS_THAN_OR_EQUAL = 'lessThanOrEqual';\nexport const OPERATOR_GREATER_THAN_OR_EQUAL = 'greaterThanOrEqual';\nexport const OPERATOR_BEFORE = 'before';\nexport const OPERATOR_AFTER = 'after';\nexport const OPERATOR_BEFORE_INC = 'beforeInc';\nexport const OPERATOR_AFTER_INC = 'afterInc';\nexport const OPERATOR_CONTAINS = 'contains';\nexport const OPERATOR_NOT_CONTAINS = 'notContains';\nexport const OPERATOR_STARTS_WITH = 'startsWith';\nexport const OPERATOR_BETWEEN = 'between';\nexport const OPERATOR_ON = 'on';\nexport const OPERATOR_NOT_ON = 'notOn';\nexport const OPERATOR_IN_THE_PAST = 'inThePast';\nexport const OPERATOR_OVER = 'over';\n\nexport const ALL_OPERATORS: Operator[] = [\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n\tOPERATOR_LESS_THAN,\n\tOPERATOR_GREATER_THAN,\n\tOPERATOR_LESS_THAN_OR_EQUAL,\n\tOPERATOR_GREATER_THAN_OR_EQUAL,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n\tOPERATOR_BETWEEN,\n\tOPERATOR_ON,\n\tOPERATOR_NOT_ON,\n\tOPERATOR_IN_THE_PAST,\n\tOPERATOR_OVER,\n];\n\nexport const SINGLE_SELECTION_OPERATORS: Operator[] = [\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_LESS_THAN,\n\tOPERATOR_GREATER_THAN,\n\tOPERATOR_LESS_THAN_OR_EQUAL,\n\tOPERATOR_GREATER_THAN_OR_EQUAL,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n\tOPERATOR_ON,\n\tOPERATOR_NOT_ON,\n];\n\nexport const OPERATORS: Record< Operator, { key: string; label: string } > = {\n\t[ OPERATOR_IS ]: {\n\t\tkey: 'is-filter',\n\t\tlabel: __( 'Is' ),\n\t},\n\t[ OPERATOR_IS_NOT ]: {\n\t\tkey: 'is-not-filter',\n\t\tlabel: __( 'Is not' ),\n\t},\n\t[ OPERATOR_IS_ANY ]: {\n\t\tkey: 'is-any-filter',\n\t\tlabel: __( 'Is any' ),\n\t},\n\t[ OPERATOR_IS_NONE ]: {\n\t\tkey: 'is-none-filter',\n\t\tlabel: __( 'Is none' ),\n\t},\n\t[ OPERATOR_IS_ALL ]: {\n\t\tkey: 'is-all-filter',\n\t\tlabel: __( 'Is all' ),\n\t},\n\t[ OPERATOR_IS_NOT_ALL ]: {\n\t\tkey: 'is-not-all-filter',\n\t\tlabel: __( 'Is not all' ),\n\t},\n\t[ OPERATOR_LESS_THAN ]: {\n\t\tkey: 'less-than-filter',\n\t\tlabel: __( 'Less than' ),\n\t},\n\t[ OPERATOR_GREATER_THAN ]: {\n\t\tkey: 'greater-than-filter',\n\t\tlabel: __( 'Greater than' ),\n\t},\n\t[ OPERATOR_LESS_THAN_OR_EQUAL ]: {\n\t\tkey: 'less-than-or-equal-filter',\n\t\tlabel: __( 'Less than or equal' ),\n\t},\n\t[ OPERATOR_GREATER_THAN_OR_EQUAL ]: {\n\t\tkey: 'greater-than-or-equal-filter',\n\t\tlabel: __( 'Greater than or equal' ),\n\t},\n\t[ OPERATOR_BEFORE ]: {\n\t\tkey: 'before-filter',\n\t\tlabel: __( 'Before' ),\n\t},\n\t[ OPERATOR_AFTER ]: {\n\t\tkey: 'after-filter',\n\t\tlabel: __( 'After' ),\n\t},\n\t[ OPERATOR_BEFORE_INC ]: {\n\t\tkey: 'before-inc-filter',\n\t\tlabel: __( 'Before (inc)' ),\n\t},\n\t[ OPERATOR_AFTER_INC ]: {\n\t\tkey: 'after-inc-filter',\n\t\tlabel: __( 'After (inc)' ),\n\t},\n\t[ OPERATOR_CONTAINS ]: {\n\t\tkey: 'contains-filter',\n\t\tlabel: __( 'Contains' ),\n\t},\n\t[ OPERATOR_NOT_CONTAINS ]: {\n\t\tkey: 'not-contains-filter',\n\t\tlabel: __( \"Doesn't contain\" ),\n\t},\n\t[ OPERATOR_STARTS_WITH ]: {\n\t\tkey: 'starts-with-filter',\n\t\tlabel: __( 'Starts with' ),\n\t},\n\t[ OPERATOR_BETWEEN ]: {\n\t\tkey: 'between-filter',\n\t\tlabel: __( 'Between (inc)' ),\n\t},\n\t[ OPERATOR_ON ]: {\n\t\tkey: 'on-filter',\n\t\tlabel: __( 'On' ),\n\t},\n\t[ OPERATOR_NOT_ON ]: {\n\t\tkey: 'not-on-filter',\n\t\tlabel: __( 'Not on' ),\n\t},\n\t[ OPERATOR_IN_THE_PAST ]: {\n\t\tkey: 'in-the-past-filter',\n\t\tlabel: __( 'In the past' ),\n\t},\n\t[ OPERATOR_OVER ]: {\n\t\tkey: 'over-filter',\n\t\tlabel: __( 'Over' ),\n\t},\n};\n\nexport const SORTING_DIRECTIONS = [ 'asc', 'desc' ] as const;\nexport const sortArrows = { asc: '↑', desc: '↓' };\nexport const sortValues = { asc: 'ascending', desc: 'descending' } as const;\nexport const sortLabels = {\n\tasc: __( 'Sort ascending' ),\n\tdesc: __( 'Sort descending' ),\n};\nexport const sortIcons = {\n\tasc: arrowUp,\n\tdesc: arrowDown,\n};\n\n// View layouts.\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_LIST = 'list';\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","arrowDown","arrowUp","OPERATOR_IS","OPERATOR_IS_NOT","OPERATOR_IS_ANY","OPERATOR_IS_NONE","OPERATOR_IS_ALL","OPERATOR_IS_NOT_ALL","OPERATOR_LESS_THAN","OPERATOR_GREATER_THAN","OPERATOR_LESS_THAN_OR_EQUAL","OPERATOR_GREATER_THAN_OR_EQUAL","OPERATOR_BEFORE","OPERATOR_AFTER","OPERATOR_BEFORE_INC","OPERATOR_AFTER_INC","OPERATOR_CONTAINS","OPERATOR_NOT_CONTAINS","OPERATOR_STARTS_WITH","OPERATOR_BETWEEN","OPERATOR_ON","OPERATOR_NOT_ON","OPERATOR_IN_THE_PAST","OPERATOR_OVER","ALL_OPERATORS","SINGLE_SELECTION_OPERATORS","OPERATORS","key","label","SORTING_DIRECTIONS","sortArrows","asc","desc","sortValues","sortLabels","sortIcons","LAYOUT_TABLE","LAYOUT_GRID","LAYOUT_LIST","LAYOUT_PICKER_GRID"],"sources":["@wordpress/dataviews/src/constants.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { arrowDown, arrowUp } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport type { Operator } from './types';\n\n// Filter operators.\nexport const OPERATOR_IS = 'is';\nexport const OPERATOR_IS_NOT = 'isNot';\nexport const OPERATOR_IS_ANY = 'isAny';\nexport const OPERATOR_IS_NONE = 'isNone';\nexport const OPERATOR_IS_ALL = 'isAll';\nexport const OPERATOR_IS_NOT_ALL = 'isNotAll';\nexport const OPERATOR_LESS_THAN = 'lessThan';\nexport const OPERATOR_GREATER_THAN = 'greaterThan';\nexport const OPERATOR_LESS_THAN_OR_EQUAL = 'lessThanOrEqual';\nexport const OPERATOR_GREATER_THAN_OR_EQUAL = 'greaterThanOrEqual';\nexport const OPERATOR_BEFORE = 'before';\nexport const OPERATOR_AFTER = 'after';\nexport const OPERATOR_BEFORE_INC = 'beforeInc';\nexport const OPERATOR_AFTER_INC = 'afterInc';\nexport const OPERATOR_CONTAINS = 'contains';\nexport const OPERATOR_NOT_CONTAINS = 'notContains';\nexport const OPERATOR_STARTS_WITH = 'startsWith';\nexport const OPERATOR_BETWEEN = 'between';\nexport const OPERATOR_ON = 'on';\nexport const OPERATOR_NOT_ON = 'notOn';\nexport const OPERATOR_IN_THE_PAST = 'inThePast';\nexport const OPERATOR_OVER = 'over';\n\nexport const ALL_OPERATORS: Operator[] = [\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_IS_ALL,\n\tOPERATOR_IS_NOT_ALL,\n\tOPERATOR_LESS_THAN,\n\tOPERATOR_GREATER_THAN,\n\tOPERATOR_LESS_THAN_OR_EQUAL,\n\tOPERATOR_GREATER_THAN_OR_EQUAL,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n\tOPERATOR_BETWEEN,\n\tOPERATOR_ON,\n\tOPERATOR_NOT_ON,\n\tOPERATOR_IN_THE_PAST,\n\tOPERATOR_OVER,\n];\n\nexport const SINGLE_SELECTION_OPERATORS: Operator[] = [\n\tOPERATOR_IS,\n\tOPERATOR_IS_NOT,\n\tOPERATOR_LESS_THAN,\n\tOPERATOR_GREATER_THAN,\n\tOPERATOR_LESS_THAN_OR_EQUAL,\n\tOPERATOR_GREATER_THAN_OR_EQUAL,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tOPERATOR_BEFORE_INC,\n\tOPERATOR_AFTER_INC,\n\tOPERATOR_CONTAINS,\n\tOPERATOR_NOT_CONTAINS,\n\tOPERATOR_STARTS_WITH,\n\tOPERATOR_ON,\n\tOPERATOR_NOT_ON,\n];\n\nexport const OPERATORS: Record< Operator, { key: string; label: string } > = {\n\t[ OPERATOR_IS ]: {\n\t\tkey: 'is-filter',\n\t\tlabel: __( 'Is' ),\n\t},\n\t[ OPERATOR_IS_NOT ]: {\n\t\tkey: 'is-not-filter',\n\t\tlabel: __( 'Is not' ),\n\t},\n\t[ OPERATOR_IS_ANY ]: {\n\t\tkey: 'is-any-filter',\n\t\tlabel: __( 'Is any' ),\n\t},\n\t[ OPERATOR_IS_NONE ]: {\n\t\tkey: 'is-none-filter',\n\t\tlabel: __( 'Is none' ),\n\t},\n\t[ OPERATOR_IS_ALL ]: {\n\t\tkey: 'is-all-filter',\n\t\tlabel: __( 'Is all' ),\n\t},\n\t[ OPERATOR_IS_NOT_ALL ]: {\n\t\tkey: 'is-not-all-filter',\n\t\tlabel: __( 'Is not all' ),\n\t},\n\t[ OPERATOR_LESS_THAN ]: {\n\t\tkey: 'less-than-filter',\n\t\tlabel: __( 'Less than' ),\n\t},\n\t[ OPERATOR_GREATER_THAN ]: {\n\t\tkey: 'greater-than-filter',\n\t\tlabel: __( 'Greater than' ),\n\t},\n\t[ OPERATOR_LESS_THAN_OR_EQUAL ]: {\n\t\tkey: 'less-than-or-equal-filter',\n\t\tlabel: __( 'Less than or equal' ),\n\t},\n\t[ OPERATOR_GREATER_THAN_OR_EQUAL ]: {\n\t\tkey: 'greater-than-or-equal-filter',\n\t\tlabel: __( 'Greater than or equal' ),\n\t},\n\t[ OPERATOR_BEFORE ]: {\n\t\tkey: 'before-filter',\n\t\tlabel: __( 'Before' ),\n\t},\n\t[ OPERATOR_AFTER ]: {\n\t\tkey: 'after-filter',\n\t\tlabel: __( 'After' ),\n\t},\n\t[ OPERATOR_BEFORE_INC ]: {\n\t\tkey: 'before-inc-filter',\n\t\tlabel: __( 'Before (inc)' ),\n\t},\n\t[ OPERATOR_AFTER_INC ]: {\n\t\tkey: 'after-inc-filter',\n\t\tlabel: __( 'After (inc)' ),\n\t},\n\t[ OPERATOR_CONTAINS ]: {\n\t\tkey: 'contains-filter',\n\t\tlabel: __( 'Contains' ),\n\t},\n\t[ OPERATOR_NOT_CONTAINS ]: {\n\t\tkey: 'not-contains-filter',\n\t\tlabel: __( \"Doesn't contain\" ),\n\t},\n\t[ OPERATOR_STARTS_WITH ]: {\n\t\tkey: 'starts-with-filter',\n\t\tlabel: __( 'Starts with' ),\n\t},\n\t[ OPERATOR_BETWEEN ]: {\n\t\tkey: 'between-filter',\n\t\tlabel: __( 'Between (inc)' ),\n\t},\n\t[ OPERATOR_ON ]: {\n\t\tkey: 'on-filter',\n\t\tlabel: __( 'On' ),\n\t},\n\t[ OPERATOR_NOT_ON ]: {\n\t\tkey: 'not-on-filter',\n\t\tlabel: __( 'Not on' ),\n\t},\n\t[ OPERATOR_IN_THE_PAST ]: {\n\t\tkey: 'in-the-past-filter',\n\t\tlabel: __( 'In the past' ),\n\t},\n\t[ OPERATOR_OVER ]: {\n\t\tkey: 'over-filter',\n\t\tlabel: __( 'Over' ),\n\t},\n};\n\nexport const SORTING_DIRECTIONS = [ 'asc', 'desc' ] as const;\nexport const sortArrows = { asc: '↑', desc: '↓' };\nexport const sortValues = { asc: 'ascending', desc: 'descending' } as const;\nexport const sortLabels = {\n\tasc: __( 'Sort ascending' ),\n\tdesc: __( 'Sort descending' ),\n};\nexport const sortIcons = {\n\tasc: arrowUp,\n\tdesc: arrowDown,\n};\n\n// View layouts.\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_LIST = 'list';\n\n// Picker view layouts.\nexport const LAYOUT_PICKER_GRID = 'pickerGrid';\n"],"mappings":"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","ignoreList":[]}
|