@wordpress/dataviews 1.2.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +33 -30
- package/build/add-filter.js +30 -22
- package/build/add-filter.js.map +1 -1
- package/build/bulk-actions-toolbar.js +74 -69
- package/build/bulk-actions-toolbar.js.map +1 -1
- package/build/bulk-actions.js +69 -56
- package/build/bulk-actions.js.map +1 -1
- package/build/constants.js +17 -10
- package/build/constants.js.map +1 -1
- package/build/dataviews.js +63 -56
- package/build/dataviews.js.map +1 -1
- package/build/filter-summary.js +105 -95
- package/build/filter-summary.js.map +1 -1
- package/build/filters.js +18 -17
- package/build/filters.js.map +1 -1
- package/build/index.js.map +1 -1
- package/build/item-actions.js +78 -65
- package/build/item-actions.js.map +1 -1
- package/build/layouts.js.map +1 -1
- package/build/pagination.js +60 -57
- package/build/pagination.js.map +1 -1
- package/build/reset-filters.js +9 -4
- package/build/reset-filters.js.map +1 -1
- package/build/search-widget.js +108 -89
- package/build/search-widget.js.map +1 -1
- package/build/search.js +13 -6
- package/build/search.js.map +1 -1
- package/build/single-selection-checkbox.js +2 -2
- package/build/single-selection-checkbox.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build/utils.js +3 -15
- package/build/utils.js.map +1 -1
- package/build/view-actions.js +168 -120
- package/build/view-actions.js.map +1 -1
- package/build/view-grid.js +113 -99
- package/build/view-grid.js.map +1 -1
- package/build/view-list.js +153 -132
- package/build/view-list.js.map +1 -1
- package/build/view-table.js +220 -192
- package/build/view-table.js.map +1 -1
- package/build-module/add-filter.js +30 -22
- package/build-module/add-filter.js.map +1 -1
- package/build-module/bulk-actions-toolbar.js +76 -69
- package/build-module/bulk-actions-toolbar.js.map +1 -1
- package/build-module/bulk-actions.js +71 -56
- package/build-module/bulk-actions.js.map +1 -1
- package/build-module/constants.js +16 -9
- package/build-module/constants.js.map +1 -1
- package/build-module/dataviews.js +64 -56
- package/build-module/dataviews.js.map +1 -1
- package/build-module/filter-summary.js +106 -96
- package/build-module/filter-summary.js.map +1 -1
- package/build-module/filters.js +18 -17
- package/build-module/filters.js.map +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/item-actions.js +80 -65
- package/build-module/item-actions.js.map +1 -1
- package/build-module/layouts.js.map +1 -1
- package/build-module/pagination.js +61 -58
- package/build-module/pagination.js.map +1 -1
- package/build-module/reset-filters.js +9 -4
- package/build-module/reset-filters.js.map +1 -1
- package/build-module/search-widget.js +109 -89
- package/build-module/search-widget.js.map +1 -1
- package/build-module/search.js +13 -6
- package/build-module/search.js.map +1 -1
- package/build-module/single-selection-checkbox.js +2 -3
- package/build-module/single-selection-checkbox.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-module/utils.js +2 -13
- package/build-module/utils.js.map +1 -1
- package/build-module/view-actions.js +170 -121
- package/build-module/view-actions.js.map +1 -1
- package/build-module/view-grid.js +115 -99
- package/build-module/view-grid.js.map +1 -1
- package/build-module/view-list.js +154 -132
- package/build-module/view-list.js.map +1 -1
- package/build-module/view-table.js +223 -194
- package/build-module/view-table.js.map +1 -1
- package/build-style/style-rtl.css +109 -20
- package/build-style/style.css +109 -20
- package/build-types/add-filter.d.ts +9 -6
- package/build-types/add-filter.d.ts.map +1 -1
- package/build-types/bulk-actions-toolbar.d.ts +11 -7
- package/build-types/bulk-actions-toolbar.d.ts.map +1 -1
- package/build-types/bulk-actions.d.ts.map +1 -1
- package/build-types/constants.d.ts +19 -32
- package/build-types/constants.d.ts.map +1 -1
- package/build-types/dataviews.d.ts +21 -14
- package/build-types/dataviews.d.ts.map +1 -1
- package/build-types/filter-summary.d.ts +13 -5
- package/build-types/filter-summary.d.ts.map +1 -1
- package/build-types/filters.d.ts +11 -1
- package/build-types/filters.d.ts.map +1 -1
- package/build-types/index.d.ts +3 -3
- package/build-types/index.d.ts.map +1 -1
- package/build-types/item-actions.d.ts +5 -7
- package/build-types/item-actions.d.ts.map +1 -1
- package/build-types/layouts.d.ts +8 -4
- package/build-types/layouts.d.ts.map +1 -1
- package/build-types/reset-filters.d.ts +12 -5
- package/build-types/reset-filters.d.ts.map +1 -1
- package/build-types/search-widget.d.ts +9 -1
- package/build-types/search-widget.d.ts.map +1 -1
- package/build-types/search.d.ts +11 -1
- package/build-types/search.d.ts.map +1 -1
- package/build-types/types.d.ts +78 -10
- package/build-types/types.d.ts.map +1 -1
- package/build-types/utils.d.ts +2 -1
- package/build-types/utils.d.ts.map +1 -1
- package/build-types/view-actions.d.ts +10 -1
- package/build-types/view-actions.d.ts.map +1 -1
- package/build-types/view-grid.d.ts +1 -12
- package/build-types/view-grid.d.ts.map +1 -1
- package/build-types/view-list.d.ts +2 -14
- package/build-types/view-list.d.ts.map +1 -1
- package/build-types/view-table.d.ts +3 -12
- package/build-types/view-table.d.ts.map +1 -1
- package/package.json +11 -12
- package/src/{add-filter.js → add-filter.tsx} +17 -1
- package/src/{bulk-actions-toolbar.js → bulk-actions-toolbar.tsx} +68 -40
- package/src/bulk-actions.tsx +5 -1
- package/src/constants.ts +12 -5
- package/src/{dataviews.js → dataviews.tsx} +41 -12
- package/src/{filter-summary.js → filter-summary.tsx} +35 -6
- package/src/{filters.js → filters.tsx} +18 -6
- package/src/item-actions.tsx +20 -15
- package/src/pagination.tsx +1 -1
- package/src/{reset-filters.js → reset-filters.tsx} +17 -2
- package/src/{search-widget.js → search-widget.tsx} +27 -7
- package/src/{search.js → search.tsx} +22 -5
- package/src/style.scss +97 -23
- package/src/types.ts +105 -10
- package/src/{utils.js → utils.ts} +5 -13
- package/src/{view-actions.js → view-actions.tsx} +105 -49
- package/src/view-grid.tsx +4 -20
- package/src/view-list.tsx +12 -23
- package/src/{view-table.js → view-table.tsx} +91 -32
- package/tsconfig.json +0 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/build/dropdown-menu-helper.js +0 -71
- package/build/dropdown-menu-helper.js.map +0 -1
- package/build-module/dropdown-menu-helper.js +0 -64
- package/build-module/dropdown-menu-helper.js.map +0 -1
- package/build-types/dropdown-menu-helper.d.ts +0 -6
- package/build-types/dropdown-menu-helper.d.ts.map +0 -1
- package/src/dropdown-menu-helper.js +0 -61
- /package/src/{index.js → index.ts} +0 -0
- /package/src/{layouts.js → layouts.ts} +0 -0
package/build/view-list.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = ViewList;
|
|
8
|
-
var _react = require("react");
|
|
9
8
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
10
9
|
var _compose = require("@wordpress/compose");
|
|
11
10
|
var _components = require("@wordpress/components");
|
|
@@ -14,6 +13,7 @@ var _i18n = require("@wordpress/i18n");
|
|
|
14
13
|
var _icons = require("@wordpress/icons");
|
|
15
14
|
var _lockUnlock = require("./lock-unlock");
|
|
16
15
|
var _itemActions = require("./item-actions");
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
17
|
/**
|
|
18
18
|
* External dependencies
|
|
19
19
|
*/
|
|
@@ -80,125 +80,143 @@ function ListItem({
|
|
|
80
80
|
};
|
|
81
81
|
}, [actions, item]);
|
|
82
82
|
const [isModalOpen, setIsModalOpen] = (0, _element.useState)(false);
|
|
83
|
-
|
|
83
|
+
const primaryActionLabel = primaryAction && (typeof primaryAction.label === 'string' ? primaryAction.label : primaryAction.label([item]));
|
|
84
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CompositeRow, {
|
|
84
85
|
ref: itemRef,
|
|
85
|
-
render: (0,
|
|
86
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {}),
|
|
86
87
|
role: "row",
|
|
87
88
|
className: (0, _clsx.default)({
|
|
88
89
|
'is-selected': isSelected,
|
|
89
90
|
'is-hovered': isHovered
|
|
90
91
|
}),
|
|
91
92
|
onMouseEnter: handleMouseEnter,
|
|
92
|
-
onMouseLeave: handleMouseLeave
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
93
|
+
onMouseLeave: handleMouseLeave,
|
|
94
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
95
|
+
className: "dataviews-view-list__item-wrapper",
|
|
96
|
+
alignment: "center",
|
|
97
|
+
spacing: 0,
|
|
98
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
99
|
+
role: "gridcell",
|
|
100
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CompositeItem, {
|
|
101
|
+
store: store,
|
|
102
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {}),
|
|
103
|
+
role: "button",
|
|
104
|
+
id: id,
|
|
105
|
+
"aria-pressed": isSelected,
|
|
106
|
+
"aria-labelledby": labelId,
|
|
107
|
+
"aria-describedby": descriptionId,
|
|
108
|
+
className: "dataviews-view-list__item",
|
|
109
|
+
onClick: () => onSelect(item),
|
|
110
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
111
|
+
spacing: 3,
|
|
112
|
+
justify: "start",
|
|
113
|
+
alignment: "flex-start",
|
|
114
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
115
|
+
className: "dataviews-view-list__media-wrapper",
|
|
116
|
+
children: mediaField?.render({
|
|
117
|
+
item
|
|
118
|
+
}) || /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
119
|
+
className: "dataviews-view-list__media-placeholder"
|
|
120
|
+
})
|
|
121
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
122
|
+
spacing: 0,
|
|
123
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
124
|
+
className: "dataviews-view-list__primary-field",
|
|
125
|
+
id: labelId,
|
|
126
|
+
children: primaryField?.render({
|
|
127
|
+
item
|
|
128
|
+
})
|
|
129
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
130
|
+
className: "dataviews-view-list__fields",
|
|
131
|
+
id: descriptionId,
|
|
132
|
+
children: visibleFields.map(field => /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
133
|
+
className: "dataviews-view-list__field",
|
|
134
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.VisuallyHidden, {
|
|
135
|
+
as: "span",
|
|
136
|
+
className: "dataviews-view-list__field-label",
|
|
137
|
+
children: field.header
|
|
138
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
139
|
+
className: "dataviews-view-list__field-value",
|
|
140
|
+
children: field.render({
|
|
141
|
+
item
|
|
142
|
+
})
|
|
143
|
+
})]
|
|
144
|
+
}, field.id))
|
|
145
|
+
})]
|
|
146
|
+
})]
|
|
147
|
+
})
|
|
148
|
+
})
|
|
149
|
+
}), actions?.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
150
|
+
spacing: 1,
|
|
151
|
+
justify: "flex-end",
|
|
152
|
+
className: "dataviews-view-list__item-actions",
|
|
153
|
+
style: {
|
|
154
|
+
flexShrink: '0',
|
|
155
|
+
width: 'auto'
|
|
156
|
+
},
|
|
157
|
+
children: [primaryAction && 'RenderModal' in primaryAction && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
158
|
+
role: "gridcell",
|
|
159
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CompositeItem, {
|
|
160
|
+
store: store,
|
|
161
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
162
|
+
label: primaryActionLabel,
|
|
163
|
+
icon: primaryAction.icon,
|
|
164
|
+
isDestructive: primaryAction.isDestructive,
|
|
165
|
+
size: "compact",
|
|
166
|
+
onClick: () => setIsModalOpen(true)
|
|
167
|
+
}),
|
|
168
|
+
children: isModalOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_itemActions.ActionModal, {
|
|
169
|
+
action: primaryAction,
|
|
170
|
+
items: [item],
|
|
171
|
+
closeModal: () => setIsModalOpen(false)
|
|
172
|
+
})
|
|
173
|
+
})
|
|
174
|
+
}), primaryAction && !('RenderModal' in primaryAction) && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
175
|
+
role: "gridcell",
|
|
176
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CompositeItem, {
|
|
177
|
+
store: store,
|
|
178
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
179
|
+
label: primaryActionLabel,
|
|
180
|
+
icon: primaryAction.icon,
|
|
181
|
+
isDestructive: primaryAction.isDestructive,
|
|
182
|
+
size: "compact",
|
|
183
|
+
onClick: () => primaryAction.callback([item])
|
|
184
|
+
})
|
|
185
|
+
})
|
|
186
|
+
}, primaryAction.id), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
187
|
+
role: "gridcell",
|
|
188
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenu, {
|
|
189
|
+
trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(CompositeItem, {
|
|
190
|
+
store: store,
|
|
191
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
192
|
+
size: "compact",
|
|
193
|
+
icon: _icons.moreVertical,
|
|
194
|
+
label: (0, _i18n.__)('Actions'),
|
|
195
|
+
disabled: !actions.length,
|
|
196
|
+
onKeyDown: event => {
|
|
197
|
+
if (event.key === 'ArrowDown') {
|
|
198
|
+
// Prevent the default behaviour (open dropdown menu) and go down.
|
|
199
|
+
event.preventDefault();
|
|
200
|
+
store.move(store.down());
|
|
201
|
+
}
|
|
202
|
+
if (event.key === 'ArrowUp') {
|
|
203
|
+
// Prevent the default behavior (open dropdown menu) and go up.
|
|
204
|
+
event.preventDefault();
|
|
205
|
+
store.move(store.up());
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
})
|
|
209
|
+
}),
|
|
210
|
+
placement: "bottom-end",
|
|
211
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_itemActions.ActionsDropdownMenuGroup, {
|
|
212
|
+
actions: eligibleActions,
|
|
213
|
+
item: item
|
|
214
|
+
})
|
|
215
|
+
})
|
|
216
|
+
})]
|
|
217
|
+
})]
|
|
156
218
|
})
|
|
157
|
-
}
|
|
158
|
-
action: primaryAction,
|
|
159
|
-
items: [item],
|
|
160
|
-
closeModal: () => setIsModalOpen(false)
|
|
161
|
-
}))), primaryAction && !('RenderModal' in primaryAction) && (0, _react.createElement)("div", {
|
|
162
|
-
role: "gridcell",
|
|
163
|
-
key: primaryAction.id
|
|
164
|
-
}, (0, _react.createElement)(CompositeItem, {
|
|
165
|
-
store: store,
|
|
166
|
-
render: (0, _react.createElement)(_components.Button, {
|
|
167
|
-
label: primaryAction.label,
|
|
168
|
-
icon: primaryAction.icon,
|
|
169
|
-
isDestructive: primaryAction.isDestructive,
|
|
170
|
-
size: "compact",
|
|
171
|
-
onClick: () => primaryAction.callback([item])
|
|
172
|
-
})
|
|
173
|
-
})), (0, _react.createElement)("div", {
|
|
174
|
-
role: "gridcell"
|
|
175
|
-
}, (0, _react.createElement)(DropdownMenu, {
|
|
176
|
-
trigger: (0, _react.createElement)(CompositeItem, {
|
|
177
|
-
store: store,
|
|
178
|
-
render: (0, _react.createElement)(_components.Button, {
|
|
179
|
-
size: "compact",
|
|
180
|
-
icon: _icons.moreVertical,
|
|
181
|
-
label: (0, _i18n.__)('Actions'),
|
|
182
|
-
disabled: !actions.length,
|
|
183
|
-
onKeyDown: event => {
|
|
184
|
-
if (event.key === 'ArrowDown') {
|
|
185
|
-
// Prevent the default behaviour (open dropdown menu) and go down.
|
|
186
|
-
event.preventDefault();
|
|
187
|
-
store.move(store.down());
|
|
188
|
-
}
|
|
189
|
-
if (event.key === 'ArrowUp') {
|
|
190
|
-
// Prevent the default behavior (open dropdown menu) and go up.
|
|
191
|
-
event.preventDefault();
|
|
192
|
-
store.move(store.up());
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
})
|
|
196
|
-
}),
|
|
197
|
-
placement: "bottom-end"
|
|
198
|
-
}, (0, _react.createElement)(_itemActions.ActionsDropdownMenuGroup, {
|
|
199
|
-
actions: eligibleActions,
|
|
200
|
-
item: item
|
|
201
|
-
}))))));
|
|
219
|
+
});
|
|
202
220
|
}
|
|
203
221
|
function ViewList(props) {
|
|
204
222
|
const {
|
|
@@ -236,33 +254,36 @@ function ViewList(props) {
|
|
|
236
254
|
}, [isActiveIdInList]);
|
|
237
255
|
const hasData = data?.length;
|
|
238
256
|
if (!hasData) {
|
|
239
|
-
return (0,
|
|
257
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
240
258
|
className: (0, _clsx.default)({
|
|
241
259
|
'dataviews-loading': isLoading,
|
|
242
260
|
'dataviews-no-results': !hasData && !isLoading
|
|
261
|
+
}),
|
|
262
|
+
children: !hasData && /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
263
|
+
children: isLoading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Spinner, {}) : (0, _i18n.__)('No results')
|
|
243
264
|
})
|
|
244
|
-
}
|
|
265
|
+
});
|
|
245
266
|
}
|
|
246
|
-
return (0,
|
|
267
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Composite, {
|
|
247
268
|
id: baseId,
|
|
248
|
-
render: (0,
|
|
269
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {}),
|
|
249
270
|
className: "dataviews-view-list",
|
|
250
271
|
role: "grid",
|
|
251
|
-
store: store
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
})
|
|
266
|
-
})
|
|
272
|
+
store: store,
|
|
273
|
+
children: data.map(item => {
|
|
274
|
+
const id = getItemDomId(item);
|
|
275
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ListItem, {
|
|
276
|
+
id: id,
|
|
277
|
+
actions: actions,
|
|
278
|
+
item: item,
|
|
279
|
+
isSelected: item === selectedItem,
|
|
280
|
+
onSelect: onSelect,
|
|
281
|
+
mediaField: mediaField,
|
|
282
|
+
primaryField: primaryField,
|
|
283
|
+
store: store,
|
|
284
|
+
visibleFields: visibleFields
|
|
285
|
+
}, id);
|
|
286
|
+
})
|
|
287
|
+
});
|
|
267
288
|
}
|
|
268
289
|
//# sourceMappingURL=view-list.js.map
|
package/build/view-list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_i18n","_icons","_lockUnlock","_itemActions","useCompositeStoreV2","useCompositeStore","CompositeV2","Composite","CompositeItemV2","CompositeItem","CompositeRowV2","CompositeRow","DropdownMenuV2","DropdownMenu","unlock","componentsPrivateApis","ListItem","actions","id","isSelected","item","mediaField","onSelect","primaryField","store","visibleFields","itemRef","useRef","labelId","descriptionId","isHovered","setIsHovered","useState","handleMouseEnter","handleMouseLeave","useEffect","current","scrollIntoView","behavior","block","inline","primaryAction","eligibleActions","useMemo","_eligibleActions","filter","action","isEligible","_primaryActions","isPrimary","icon","isModalOpen","setIsModalOpen","_react","createElement","ref","render","role","className","clsx","onMouseEnter","onMouseLeave","__experimentalHStack","alignment","onClick","spacing","justify","__experimentalVStack","map","field","key","VisuallyHidden","as","header","length","style","flexShrink","width","Button","label","isDestructive","size","ActionModal","items","closeModal","callback","trigger","moreVertical","__","disabled","onKeyDown","event","preventDefault","move","down","up","placement","ActionsDropdownMenuGroup","ViewList","props","data","fields","getItemId","isLoading","onSelectionChange","selection","view","baseId","useInstanceId","selectedItem","findLast","includes","find","layout","hiddenFields","useCallback","getItemDomId","undefined","defaultActiveId","isActiveIdInList","state","some","activeId","hasData","Spinner"],"sources":["@wordpress/dataviews/src/view-list.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n// Import CompositeStore type, which is not exported from @wordpress/components.\n// eslint-disable-next-line no-restricted-imports\nimport type { CompositeStore } from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport type {\n\tAction,\n\tAnyItem,\n\tNormalizedField,\n\tViewList as ViewListType,\n} from './types';\n\nimport { ActionsDropdownMenuGroup, ActionModal } from './item-actions';\n\ninterface ListViewProps< Item extends AnyItem > {\n\tactions: Action< Item >[];\n\tdata: Item[];\n\tfields: NormalizedField< Item >[];\n\tgetItemId: ( item: Item ) => string;\n\tid: string;\n\tisLoading: boolean;\n\tonSelectionChange: ( selection: Item[] ) => void;\n\tselection: string[];\n\tview: ViewListType;\n}\n\ninterface ListViewItemProps< Item extends AnyItem > {\n\tactions: Action< Item >[];\n\tid?: string;\n\tisSelected: boolean;\n\titem: Item;\n\tmediaField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\tprimaryField?: NormalizedField< Item >;\n\tstore: CompositeStore;\n\tvisibleFields: NormalizedField< Item >[];\n}\n\nconst {\n\tuseCompositeStoreV2: useCompositeStore,\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tCompositeRowV2: CompositeRow,\n\tDropdownMenuV2: DropdownMenu,\n} = unlock( componentsPrivateApis );\n\nfunction ListItem< Item extends AnyItem >( {\n\tactions,\n\tid,\n\tisSelected,\n\titem,\n\tmediaField,\n\tonSelect,\n\tprimaryField,\n\tstore,\n\tvisibleFields,\n}: ListViewItemProps< Item > ) {\n\tconst itemRef = useRef< HTMLElement >( null );\n\tconst labelId = `${ id }-label`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions?.[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\treturn (\n\t\t<CompositeRow\n\t\t\tref={ itemRef }\n\t\t\trender={ <li /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t>\n\t\t\t<HStack\n\t\t\t\tclassName=\"dataviews-view-list__item-wrapper\"\n\t\t\t\talignment=\"top\"\n\t\t\t>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\trender={ <div /> }\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t\t\t{ mediaField?.render( { item } ) || (\n\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<VStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__primary-field\"\n\t\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ primaryField?.render( { item } ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ field.render( { item } ) }\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</CompositeItem>\n\t\t\t\t</div>\n\t\t\t\t{ actions?.length > 0 && (\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item-actions\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tflexShrink: '0',\n\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ primaryAction && 'RenderModal' in primaryAction && (\n\t\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tlabel={ primaryAction.label }\n\t\t\t\t\t\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\t\t\t\t\t\tisDestructive={\n\t\t\t\t\t\t\t\t\t\t\t\tprimaryAction.isDestructive\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( true )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\t\t\t\t\tcloseModal={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ primaryAction &&\n\t\t\t\t\t\t\t! ( 'RenderModal' in primaryAction ) && (\n\t\t\t\t\t\t\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ primaryAction.label }\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\t\t\t\t\t\t\tisDestructive={\n\t\t\t\t\t\t\t\t\t\t\t\t\tprimaryAction.isDestructive\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tprimaryAction.callback( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\t\t\t] )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={ ( event: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey: string;\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreventDefault: () => void;\n\t\t\t\t\t\t\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.key ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'ArrowDown'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Prevent the default behaviour (open dropdown menu) and go down.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.move(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.down()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.key === 'ArrowUp'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Prevent the default behavior (open dropdown menu) and go up.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.move(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.up()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</CompositeRow>\n\t);\n}\n\nexport default function ViewList< Item extends AnyItem >(\n\tprops: ListViewProps< Item >\n) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonSelectionChange,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( item.id )\n\t);\n\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.primaryField, view.layout.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onSelect = useCallback(\n\t\t( item: Item ) => onSelectionChange( [ item ] ),\n\t\t[ onSelectionChange ]\n\t);\n\n\tconst getItemDomId = useCallback(\n\t\t( item?: Item ) =>\n\t\t\titem ? `${ baseId }-${ getItemId( item ) }` : undefined,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst store = useCompositeStore( {\n\t\tdefaultActiveId: getItemDomId( selectedItem ),\n\t} );\n\n\t// Manage focused item, when the active one is removed from the list.\n\tconst isActiveIdInList = store.useState(\n\t\t( state: { items: any[]; activeId: any } ) =>\n\t\t\tstate.items.some(\n\t\t\t\t( item: { id: any } ) => item.id === state.activeId\n\t\t\t)\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isActiveIdInList ) {\n\t\t\t// Prefer going down, except if there is no item below (last item), then go up (last item in list).\n\t\t\tif ( store.down() ) {\n\t\t\t\tstore.move( store.down() );\n\t\t\t} else if ( store.up() ) {\n\t\t\t\tstore.move( store.up() );\n\t\t\t}\n\t\t}\n\t}, [ isActiveIdInList ] );\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <ul /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tstore={ store }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = getItemDomId( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_i18n","_icons","_lockUnlock","_itemActions","_jsxRuntime","useCompositeStoreV2","useCompositeStore","CompositeV2","Composite","CompositeItemV2","CompositeItem","CompositeRowV2","CompositeRow","DropdownMenuV2","DropdownMenu","unlock","componentsPrivateApis","ListItem","actions","id","isSelected","item","mediaField","onSelect","primaryField","store","visibleFields","itemRef","useRef","labelId","descriptionId","isHovered","setIsHovered","useState","handleMouseEnter","handleMouseLeave","useEffect","current","scrollIntoView","behavior","block","inline","primaryAction","eligibleActions","useMemo","_eligibleActions","filter","action","isEligible","_primaryActions","isPrimary","icon","isModalOpen","setIsModalOpen","primaryActionLabel","label","jsx","ref","render","role","className","clsx","onMouseEnter","onMouseLeave","children","jsxs","__experimentalHStack","alignment","spacing","onClick","justify","__experimentalVStack","map","field","VisuallyHidden","as","header","length","style","flexShrink","width","Button","isDestructive","size","ActionModal","items","closeModal","callback","trigger","moreVertical","__","disabled","onKeyDown","event","key","preventDefault","move","down","up","placement","ActionsDropdownMenuGroup","ViewList","props","data","fields","getItemId","isLoading","onSelectionChange","selection","view","baseId","useInstanceId","selectedItem","findLast","includes","find","layout","hiddenFields","useCallback","getItemDomId","undefined","defaultActiveId","isActiveIdInList","state","some","activeId","hasData","Spinner"],"sources":["@wordpress/dataviews/src/view-list.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n// Import CompositeStore type, which is not exported from @wordpress/components.\n// eslint-disable-next-line no-restricted-imports\nimport type { CompositeStore } from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport type { Action, AnyItem, NormalizedField, ViewListProps } from './types';\n\nimport { ActionsDropdownMenuGroup, ActionModal } from './item-actions';\n\ninterface ListViewItemProps< Item extends AnyItem > {\n\tactions: Action< Item >[];\n\tid?: string;\n\tisSelected: boolean;\n\titem: Item;\n\tmediaField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\tprimaryField?: NormalizedField< Item >;\n\tstore: CompositeStore;\n\tvisibleFields: NormalizedField< Item >[];\n}\n\nconst {\n\tuseCompositeStoreV2: useCompositeStore,\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tCompositeRowV2: CompositeRow,\n\tDropdownMenuV2: DropdownMenu,\n} = unlock( componentsPrivateApis );\n\nfunction ListItem< Item extends AnyItem >( {\n\tactions,\n\tid,\n\tisSelected,\n\titem,\n\tmediaField,\n\tonSelect,\n\tprimaryField,\n\tstore,\n\tvisibleFields,\n}: ListViewItemProps< Item > ) {\n\tconst itemRef = useRef< HTMLElement >( null );\n\tconst labelId = `${ id }-label`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions?.[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst primaryActionLabel =\n\t\tprimaryAction &&\n\t\t( typeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] ) );\n\n\treturn (\n\t\t<CompositeRow\n\t\t\tref={ itemRef }\n\t\t\trender={ <li /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t>\n\t\t\t<HStack\n\t\t\t\tclassName=\"dataviews-view-list__item-wrapper\"\n\t\t\t\talignment=\"center\"\n\t\t\t\tspacing={ 0 }\n\t\t\t>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\trender={ <div /> }\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t\t\t{ mediaField?.render( { item } ) || (\n\t\t\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__primary-field\"\n\t\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ primaryField?.render( { item } ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ field.header }\n\t\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ field.render( { item } ) }\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</CompositeItem>\n\t\t\t\t</div>\n\t\t\t\t{ actions?.length > 0 && (\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item-actions\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tflexShrink: '0',\n\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ primaryAction && 'RenderModal' in primaryAction && (\n\t\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tlabel={ primaryActionLabel }\n\t\t\t\t\t\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\t\t\t\t\t\tisDestructive={\n\t\t\t\t\t\t\t\t\t\t\t\tprimaryAction.isDestructive\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( true )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\t\t\t\t\t\tcloseModal={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsModalOpen( false )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ primaryAction &&\n\t\t\t\t\t\t\t! ( 'RenderModal' in primaryAction ) && (\n\t\t\t\t\t\t\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ primaryActionLabel }\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\t\t\t\t\t\t\tisDestructive={\n\t\t\t\t\t\t\t\t\t\t\t\t\tprimaryAction.isDestructive\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tprimaryAction.callback( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t\t\t\t] )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={ ( event: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey: string;\n\t\t\t\t\t\t\t\t\t\t\t\t\tpreventDefault: () => void;\n\t\t\t\t\t\t\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.key ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'ArrowDown'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Prevent the default behaviour (open dropdown menu) and go down.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.move(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.down()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.key === 'ArrowUp'\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Prevent the default behavior (open dropdown menu) and go up.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.move(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstore.up()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</CompositeRow>\n\t);\n}\n\nexport default function ViewList< Item extends AnyItem >(\n\tprops: ViewListProps< Item >\n) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonSelectionChange,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( item.id )\n\t);\n\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout.primaryField\n\t);\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\t! view.hiddenFields.includes( field.id ) &&\n\t\t\t! [ view.layout.primaryField, view.layout.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onSelect = useCallback(\n\t\t( item: Item ) => onSelectionChange( [ item ] ),\n\t\t[ onSelectionChange ]\n\t);\n\n\tconst getItemDomId = useCallback(\n\t\t( item?: Item ) =>\n\t\t\titem ? `${ baseId }-${ getItemId( item ) }` : undefined,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst store = useCompositeStore( {\n\t\tdefaultActiveId: getItemDomId( selectedItem ),\n\t} );\n\n\t// Manage focused item, when the active one is removed from the list.\n\tconst isActiveIdInList = store.useState(\n\t\t( state: { items: any[]; activeId: any } ) =>\n\t\t\tstate.items.some(\n\t\t\t\t( item: { id: any } ) => item.id === state.activeId\n\t\t\t)\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isActiveIdInList ) {\n\t\t\t// Prefer going down, except if there is no item below (last item), then go up (last item in list).\n\t\t\tif ( store.down() ) {\n\t\t\t\tstore.move( store.down() );\n\t\t\t} else if ( store.up() ) {\n\t\t\t\tstore.move( store.up() );\n\t\t\t}\n\t\t}\n\t}, [ isActiveIdInList ] );\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <ul /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tstore={ store }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = getItemDomId( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\tstore={ store }\n\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|