@wordpress/dataviews 3.0.0 → 4.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 +8 -1
- package/README.md +19 -4
- package/build/{dataform.js → components/dataform/index.js} +5 -5
- package/build/components/dataform/index.js.map +1 -0
- package/build/components/dataviews/index.js +115 -0
- package/build/components/dataviews/index.js.map +1 -0
- package/build/{bulk-actions.js → components/dataviews-bulk-actions/index.js} +39 -16
- package/build/components/dataviews-bulk-actions/index.js.map +1 -0
- package/build/{bulk-actions-toolbar.js → components/dataviews-bulk-actions-toolbar/index.js} +36 -19
- package/build/components/dataviews-bulk-actions-toolbar/index.js.map +1 -0
- package/build/components/dataviews-context/index.js +36 -0
- package/build/components/dataviews-context/index.js.map +1 -0
- package/build/{add-filter.js → components/dataviews-filters/add-filter.js} +2 -2
- package/build/components/dataviews-filters/add-filter.js.map +1 -0
- package/build/{filter-summary.js → components/dataviews-filters/filter-summary.js} +9 -9
- package/build/components/dataviews-filters/filter-summary.js.map +1 -0
- package/build/{filters.js → components/dataviews-filters/index.js} +14 -15
- package/build/components/dataviews-filters/index.js.map +1 -0
- package/build/components/dataviews-filters/reset-filters.js.map +1 -0
- package/build/{search-widget.js → components/dataviews-filters/search-widget.js} +13 -13
- package/build/components/dataviews-filters/search-widget.js.map +1 -0
- package/build/{item-actions.js → components/dataviews-item-actions/index.js} +2 -2
- package/build/components/dataviews-item-actions/index.js.map +1 -0
- package/build/components/dataviews-layout/index.js +53 -0
- package/build/components/dataviews-layout/index.js.map +1 -0
- package/build/{pagination.js → components/dataviews-pagination/index.js} +16 -13
- package/build/components/dataviews-pagination/index.js.map +1 -0
- package/build/{search.js → components/dataviews-search/index.js} +10 -6
- package/build/components/dataviews-search/index.js.map +1 -0
- package/build/{single-selection-checkbox.js → components/dataviews-selection-checkbox/index.js} +6 -6
- package/build/components/dataviews-selection-checkbox/index.js.map +1 -0
- package/build/{view-actions.js → components/dataviews-view-config/index.js} +19 -16
- package/build/components/dataviews-view-config/index.js.map +1 -0
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/build/layouts/grid/density-picker.js +143 -0
- package/build/layouts/grid/density-picker.js.map +1 -0
- package/build/{view-grid.js → layouts/grid/index.js} +34 -35
- package/build/layouts/grid/index.js.map +1 -0
- package/build/layouts/index.js +52 -0
- package/build/layouts/index.js.map +1 -0
- package/build/{view-list.js → layouts/list/index.js} +26 -23
- package/build/layouts/list/index.js.map +1 -0
- package/build/layouts/table/column-header-menu.js +196 -0
- package/build/layouts/table/column-header-menu.js.map +1 -0
- package/build/layouts/table/index.js +350 -0
- package/build/layouts/table/index.js.map +1 -0
- package/build/normalize-fields.js +1 -1
- package/build/normalize-fields.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build-module/{dataform.js → components/dataform/index.js} +5 -5
- package/build-module/components/dataform/index.js.map +1 -0
- package/build-module/components/dataviews/index.js +108 -0
- package/build-module/components/dataviews/index.js.map +1 -0
- package/build-module/{bulk-actions.js → components/dataviews-bulk-actions/index.js} +39 -17
- package/build-module/components/dataviews-bulk-actions/index.js.map +1 -0
- package/build-module/{bulk-actions-toolbar.js → components/dataviews-bulk-actions-toolbar/index.js} +35 -19
- package/build-module/components/dataviews-bulk-actions-toolbar/index.js.map +1 -0
- package/build-module/components/dataviews-context/index.js +30 -0
- package/build-module/components/dataviews-context/index.js.map +1 -0
- package/build-module/{add-filter.js → components/dataviews-filters/add-filter.js} +2 -2
- package/build-module/components/dataviews-filters/add-filter.js.map +1 -0
- package/build-module/{filter-summary.js → components/dataviews-filters/filter-summary.js} +9 -9
- package/build-module/components/dataviews-filters/filter-summary.js.map +1 -0
- package/build-module/{filters.js → components/dataviews-filters/index.js} +15 -16
- package/build-module/components/dataviews-filters/index.js.map +1 -0
- package/build-module/components/dataviews-filters/reset-filters.js.map +1 -0
- package/build-module/{search-widget.js → components/dataviews-filters/search-widget.js} +13 -13
- package/build-module/components/dataviews-filters/search-widget.js.map +1 -0
- package/build-module/{item-actions.js → components/dataviews-item-actions/index.js} +2 -2
- package/build-module/components/dataviews-item-actions/index.js.map +1 -0
- package/build-module/components/dataviews-layout/index.js +45 -0
- package/build-module/components/dataviews-layout/index.js.map +1 -0
- package/build-module/{pagination.js → components/dataviews-pagination/index.js} +17 -15
- package/build-module/components/dataviews-pagination/index.js.map +1 -0
- package/build-module/{search.js → components/dataviews-search/index.js} +10 -7
- package/build-module/components/dataviews-search/index.js.map +1 -0
- package/build-module/{single-selection-checkbox.js → components/dataviews-selection-checkbox/index.js} +5 -5
- package/build-module/components/dataviews-selection-checkbox/index.js.map +1 -0
- package/build-module/{view-actions.js → components/dataviews-view-config/index.js} +19 -17
- package/build-module/components/dataviews-view-config/index.js.map +1 -0
- package/build-module/index.js +2 -2
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/grid/density-picker.js +138 -0
- package/build-module/layouts/grid/density-picker.js.map +1 -0
- package/build-module/{view-grid.js → layouts/grid/index.js} +31 -32
- package/build-module/layouts/grid/index.js.map +1 -0
- package/build-module/layouts/index.js +43 -0
- package/build-module/layouts/index.js.map +1 -0
- package/build-module/{view-list.js → layouts/list/index.js} +24 -21
- package/build-module/layouts/list/index.js.map +1 -0
- package/build-module/layouts/table/column-header-menu.js +190 -0
- package/build-module/layouts/table/column-header-menu.js.map +1 -0
- package/build-module/layouts/table/index.js +344 -0
- package/build-module/layouts/table/index.js.map +1 -0
- package/build-module/normalize-fields.js +1 -1
- package/build-module/normalize-fields.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-style/style-rtl.css +607 -545
- package/build-style/style.css +607 -545
- package/build-types/{dataform.d.ts → components/dataform/index.d.ts} +2 -2
- package/build-types/components/dataform/index.d.ts.map +1 -0
- package/build-types/components/dataform/stories/index.story.d.ts +11 -0
- package/build-types/components/dataform/stories/index.story.d.ts.map +1 -0
- package/build-types/{dataviews.d.ts → components/dataviews/index.d.ts} +9 -7
- package/build-types/components/dataviews/index.d.ts.map +1 -0
- package/build-types/{stories → components/dataviews/stories}/fixtures.d.ts +7 -19
- package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -0
- package/build-types/components/dataviews/stories/index.story.d.ts +46 -0
- package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -0
- package/build-types/components/dataviews-bulk-actions/index.d.ts +5 -0
- package/build-types/components/dataviews-bulk-actions/index.d.ts.map +1 -0
- package/build-types/components/dataviews-bulk-actions-toolbar/index.d.ts +2 -0
- package/build-types/components/dataviews-bulk-actions-toolbar/index.d.ts.map +1 -0
- package/build-types/components/dataviews-context/index.d.ts +26 -0
- package/build-types/components/dataviews-context/index.d.ts.map +1 -0
- package/build-types/{add-filter.d.ts → components/dataviews-filters/add-filter.d.ts} +1 -2
- package/build-types/components/dataviews-filters/add-filter.d.ts.map +1 -0
- package/build-types/{filter-summary.d.ts → components/dataviews-filters/filter-summary.d.ts} +1 -1
- package/build-types/components/dataviews-filters/filter-summary.d.ts.map +1 -0
- package/build-types/components/dataviews-filters/index.d.ts +4 -0
- package/build-types/components/dataviews-filters/index.d.ts.map +1 -0
- package/build-types/{reset-filters.d.ts → components/dataviews-filters/reset-filters.d.ts} +1 -2
- package/build-types/components/dataviews-filters/reset-filters.d.ts.map +1 -0
- package/build-types/{search-widget.d.ts → components/dataviews-filters/search-widget.d.ts} +1 -2
- package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -0
- package/build-types/{item-actions.d.ts → components/dataviews-item-actions/index.d.ts} +2 -2
- package/build-types/components/dataviews-item-actions/index.d.ts.map +1 -0
- package/build-types/components/dataviews-layout/index.d.ts +2 -0
- package/build-types/components/dataviews-layout/index.d.ts.map +1 -0
- package/build-types/components/dataviews-pagination/index.d.ts +4 -0
- package/build-types/components/dataviews-pagination/index.d.ts.map +1 -0
- package/build-types/components/dataviews-search/index.d.ts +6 -0
- package/build-types/components/dataviews-search/index.d.ts.map +1 -0
- package/build-types/components/dataviews-selection-checkbox/index.d.ts +16 -0
- package/build-types/components/dataviews-selection-checkbox/index.d.ts.map +1 -0
- package/build-types/components/dataviews-view-config/index.d.ts +8 -0
- package/build-types/components/dataviews-view-config/index.d.ts.map +1 -0
- package/build-types/index.d.ts +2 -2
- package/build-types/index.d.ts.map +1 -1
- package/build-types/layouts/grid/density-picker.d.ts +5 -0
- package/build-types/layouts/grid/density-picker.d.ts.map +1 -0
- package/build-types/layouts/grid/index.d.ts +3 -0
- package/build-types/layouts/grid/index.d.ts.map +1 -0
- package/build-types/{layouts.d.ts → layouts/index.d.ts} +6 -5
- package/build-types/layouts/index.d.ts.map +1 -0
- package/build-types/layouts/list/index.d.ts +3 -0
- package/build-types/layouts/list/index.d.ts.map +1 -0
- package/build-types/layouts/table/column-header-menu.d.ts +17 -0
- package/build-types/layouts/table/column-header-menu.d.ts.map +1 -0
- package/build-types/layouts/table/index.d.ts +4 -0
- package/build-types/layouts/table/index.d.ts.map +1 -0
- package/build-types/types.d.ts +42 -23
- package/build-types/types.d.ts.map +1 -1
- package/package.json +10 -10
- package/src/{dataform.tsx → components/dataform/index.tsx} +5 -5
- package/src/components/dataform/stories/index.story.tsx +42 -0
- package/src/components/dataviews/index.tsx +149 -0
- package/src/{stories → components/dataviews/stories}/fixtures.js +7 -11
- package/src/{stories → components/dataviews/stories}/index.story.js +17 -3
- package/src/components/dataviews/style.scss +97 -0
- package/src/{bulk-actions.tsx → components/dataviews-bulk-actions/index.tsx} +46 -29
- package/src/components/dataviews-bulk-actions/style.scss +7 -0
- package/src/{bulk-actions-toolbar.tsx → components/dataviews-bulk-actions-toolbar/index.tsx} +42 -30
- package/src/components/dataviews-bulk-actions-toolbar/style.scss +45 -0
- package/src/components/dataviews-context/index.ts +49 -0
- package/src/{add-filter.tsx → components/dataviews-filters/add-filter.tsx} +3 -3
- package/src/{filter-summary.tsx → components/dataviews-filters/filter-summary.tsx} +18 -10
- package/src/{filters.tsx → components/dataviews-filters/index.tsx} +10 -24
- package/src/{reset-filters.tsx → components/dataviews-filters/reset-filters.tsx} +1 -1
- package/src/{search-widget.tsx → components/dataviews-filters/search-widget.tsx} +14 -14
- package/src/components/dataviews-filters/style.scss +252 -0
- package/src/{item-actions.tsx → components/dataviews-item-actions/index.tsx} +2 -2
- package/src/components/dataviews-item-actions/style.scss +3 -0
- package/src/components/dataviews-layout/index.tsx +51 -0
- package/src/{pagination.tsx → components/dataviews-pagination/index.tsx} +13 -21
- package/src/components/dataviews-pagination/style.scss +26 -0
- package/src/{search.tsx → components/dataviews-search/index.tsx} +5 -10
- package/src/{single-selection-checkbox.tsx → components/dataviews-selection-checkbox/index.tsx} +9 -9
- package/src/components/dataviews-selection-checkbox/style.scss +14 -0
- package/src/{view-actions.tsx → components/dataviews-view-config/index.tsx} +16 -22
- package/src/index.ts +2 -2
- package/src/layouts/grid/density-picker.tsx +136 -0
- package/src/{view-grid.tsx → layouts/grid/index.tsx} +28 -29
- package/src/layouts/grid/style.scss +140 -0
- package/src/layouts/index.ts +66 -0
- package/src/{view-list.tsx → layouts/list/index.tsx} +30 -17
- package/src/layouts/list/style.scss +189 -0
- package/src/layouts/table/column-header-menu.tsx +268 -0
- package/src/layouts/table/index.tsx +471 -0
- package/src/layouts/table/style.scss +201 -0
- package/src/normalize-fields.ts +1 -1
- package/src/style.scss +11 -907
- package/src/test/filter-and-sort-data-view.js +1 -1
- package/src/types.ts +48 -24
- package/tsconfig.tsbuildinfo +1 -1
- package/build/add-filter.js.map +0 -1
- package/build/bulk-actions-toolbar.js.map +0 -1
- package/build/bulk-actions.js.map +0 -1
- package/build/dataform.js.map +0 -1
- package/build/dataviews.js +0 -125
- package/build/dataviews.js.map +0 -1
- package/build/filter-summary.js.map +0 -1
- package/build/filters.js.map +0 -1
- package/build/item-actions.js.map +0 -1
- package/build/layouts.js +0 -38
- package/build/layouts.js.map +0 -1
- package/build/pagination.js.map +0 -1
- package/build/reset-filters.js.map +0 -1
- package/build/search-widget.js.map +0 -1
- package/build/search.js.map +0 -1
- package/build/single-selection-checkbox.js.map +0 -1
- package/build/view-actions.js.map +0 -1
- package/build/view-grid.js.map +0 -1
- package/build/view-list.js.map +0 -1
- package/build/view-table.js +0 -400
- package/build/view-table.js.map +0 -1
- package/build-module/add-filter.js.map +0 -1
- package/build-module/bulk-actions-toolbar.js.map +0 -1
- package/build-module/bulk-actions.js.map +0 -1
- package/build-module/dataform.js.map +0 -1
- package/build-module/dataviews.js +0 -116
- package/build-module/dataviews.js.map +0 -1
- package/build-module/filter-summary.js.map +0 -1
- package/build-module/filters.js.map +0 -1
- package/build-module/item-actions.js.map +0 -1
- package/build-module/layouts.js +0 -30
- package/build-module/layouts.js.map +0 -1
- package/build-module/pagination.js.map +0 -1
- package/build-module/reset-filters.js.map +0 -1
- package/build-module/search-widget.js.map +0 -1
- package/build-module/search.js.map +0 -1
- package/build-module/single-selection-checkbox.js.map +0 -1
- package/build-module/view-actions.js.map +0 -1
- package/build-module/view-grid.js.map +0 -1
- package/build-module/view-list.js.map +0 -1
- package/build-module/view-table.js +0 -393
- package/build-module/view-table.js.map +0 -1
- package/build-types/add-filter.d.ts.map +0 -1
- package/build-types/bulk-actions-toolbar.d.ts +0 -13
- package/build-types/bulk-actions-toolbar.d.ts.map +0 -1
- package/build-types/bulk-actions.d.ts +0 -15
- package/build-types/bulk-actions.d.ts.map +0 -1
- package/build-types/dataform.d.ts.map +0 -1
- package/build-types/dataviews.d.ts.map +0 -1
- package/build-types/filter-summary.d.ts.map +0 -1
- package/build-types/filters.d.ts +0 -13
- package/build-types/filters.d.ts.map +0 -1
- package/build-types/item-actions.d.ts.map +0 -1
- package/build-types/layouts.d.ts.map +0 -1
- package/build-types/pagination.d.ts +0 -16
- package/build-types/pagination.d.ts.map +0 -1
- package/build-types/reset-filters.d.ts.map +0 -1
- package/build-types/search-widget.d.ts.map +0 -1
- package/build-types/search.d.ts +0 -13
- package/build-types/search.d.ts.map +0 -1
- package/build-types/single-selection-checkbox.d.ts +0 -17
- package/build-types/single-selection-checkbox.d.ts.map +0 -1
- package/build-types/stories/fixtures.d.ts.map +0 -1
- package/build-types/stories/index.story.d.ts +0 -29
- package/build-types/stories/index.story.d.ts.map +0 -1
- package/build-types/view-actions.d.ts +0 -12
- package/build-types/view-actions.d.ts.map +0 -1
- package/build-types/view-grid.d.ts +0 -4
- package/build-types/view-grid.d.ts.map +0 -1
- package/build-types/view-list.d.ts +0 -4
- package/build-types/view-list.d.ts.map +0 -1
- package/build-types/view-table.d.ts +0 -5
- package/build-types/view-table.d.ts.map +0 -1
- package/src/dataviews.tsx +0 -183
- package/src/layouts.ts +0 -39
- package/src/view-table.tsx +0 -592
- /package/build/{reset-filters.js → components/dataviews-filters/reset-filters.js} +0 -0
- /package/build-module/{reset-filters.js → components/dataviews-filters/reset-filters.js} +0 -0
|
@@ -1,393 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import clsx from 'clsx';
|
|
5
|
-
/**
|
|
6
|
-
* WordPress dependencies
|
|
7
|
-
*/
|
|
8
|
-
import { __ } from '@wordpress/i18n';
|
|
9
|
-
import { unseen, funnel } from '@wordpress/icons';
|
|
10
|
-
import { Button, Icon, privateApis as componentsPrivateApis, CheckboxControl, Spinner } from '@wordpress/components';
|
|
11
|
-
import { forwardRef, useEffect, useId, useRef, useState, useMemo, Children, Fragment } from '@wordpress/element';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Internal dependencies
|
|
15
|
-
*/
|
|
16
|
-
import SingleSelectionCheckbox from './single-selection-checkbox';
|
|
17
|
-
import { unlock } from './lock-unlock';
|
|
18
|
-
import ItemActions from './item-actions';
|
|
19
|
-
import { sanitizeOperators } from './utils';
|
|
20
|
-
import { SORTING_DIRECTIONS, sortArrows, sortLabels, sortValues } from './constants';
|
|
21
|
-
import { useSomeItemHasAPossibleBulkAction, useHasAPossibleBulkAction } from './bulk-actions';
|
|
22
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
23
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
25
|
-
const {
|
|
26
|
-
DropdownMenuV2: DropdownMenu,
|
|
27
|
-
DropdownMenuGroupV2: DropdownMenuGroup,
|
|
28
|
-
DropdownMenuItemV2: DropdownMenuItem,
|
|
29
|
-
DropdownMenuRadioItemV2: DropdownMenuRadioItem,
|
|
30
|
-
DropdownMenuItemLabelV2: DropdownMenuItemLabel,
|
|
31
|
-
DropdownMenuSeparatorV2: DropdownMenuSeparator
|
|
32
|
-
} = unlock(componentsPrivateApis);
|
|
33
|
-
function WithDropDownMenuSeparators({
|
|
34
|
-
children
|
|
35
|
-
}) {
|
|
36
|
-
return Children.toArray(children).filter(Boolean).map((child, i) => /*#__PURE__*/_jsxs(Fragment, {
|
|
37
|
-
children: [i > 0 && /*#__PURE__*/_jsx(DropdownMenuSeparator, {}), child]
|
|
38
|
-
}, i));
|
|
39
|
-
}
|
|
40
|
-
const _HeaderMenu = forwardRef(function HeaderMenu({
|
|
41
|
-
field,
|
|
42
|
-
view,
|
|
43
|
-
fields,
|
|
44
|
-
onChangeView,
|
|
45
|
-
onHide,
|
|
46
|
-
setOpenedFilter
|
|
47
|
-
}, ref) {
|
|
48
|
-
const isHidable = field.enableHiding !== false;
|
|
49
|
-
const isSortable = field.enableSorting !== false;
|
|
50
|
-
const isSorted = view.sort?.field === field.id;
|
|
51
|
-
const operators = sanitizeOperators(field);
|
|
52
|
-
// Filter can be added:
|
|
53
|
-
// 1. If the field is not already part of a view's filters.
|
|
54
|
-
// 2. If the field meets the type and operator requirements.
|
|
55
|
-
// 3. If it's not primary. If it is, it should be already visible.
|
|
56
|
-
const canAddFilter = !view.filters?.some(_filter => field.id === _filter.field) && !!field.elements?.length && !!operators.length && !field.filterBy?.isPrimary;
|
|
57
|
-
if (!isSortable && !isHidable && !canAddFilter) {
|
|
58
|
-
return field.header;
|
|
59
|
-
}
|
|
60
|
-
return /*#__PURE__*/_jsx(DropdownMenu, {
|
|
61
|
-
align: "start",
|
|
62
|
-
trigger: /*#__PURE__*/_jsxs(Button, {
|
|
63
|
-
size: "compact",
|
|
64
|
-
className: "dataviews-view-table-header-button",
|
|
65
|
-
ref: ref,
|
|
66
|
-
variant: "tertiary",
|
|
67
|
-
children: [field.header, view.sort && isSorted && /*#__PURE__*/_jsx("span", {
|
|
68
|
-
"aria-hidden": "true",
|
|
69
|
-
children: sortArrows[view.sort.direction]
|
|
70
|
-
})]
|
|
71
|
-
}),
|
|
72
|
-
style: {
|
|
73
|
-
minWidth: '240px'
|
|
74
|
-
},
|
|
75
|
-
children: /*#__PURE__*/_jsxs(WithDropDownMenuSeparators, {
|
|
76
|
-
children: [isSortable && /*#__PURE__*/_jsx(DropdownMenuGroup, {
|
|
77
|
-
children: SORTING_DIRECTIONS.map(direction => {
|
|
78
|
-
const isChecked = view.sort && isSorted && view.sort.direction === direction;
|
|
79
|
-
const value = `${field.id}-${direction}`;
|
|
80
|
-
return /*#__PURE__*/_jsx(DropdownMenuRadioItem, {
|
|
81
|
-
// All sorting radio items share the same name, so that
|
|
82
|
-
// selecting a sorting option automatically deselects the
|
|
83
|
-
// previously selected one, even if it is displayed in
|
|
84
|
-
// another submenu. The field and direction are passed via
|
|
85
|
-
// the `value` prop.
|
|
86
|
-
name: "view-table-sorting",
|
|
87
|
-
value: value,
|
|
88
|
-
checked: isChecked,
|
|
89
|
-
onChange: () => {
|
|
90
|
-
onChangeView({
|
|
91
|
-
...view,
|
|
92
|
-
sort: {
|
|
93
|
-
field: field.id,
|
|
94
|
-
direction
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
},
|
|
98
|
-
children: /*#__PURE__*/_jsx(DropdownMenuItemLabel, {
|
|
99
|
-
children: sortLabels[direction]
|
|
100
|
-
})
|
|
101
|
-
}, value);
|
|
102
|
-
})
|
|
103
|
-
}), canAddFilter && /*#__PURE__*/_jsx(DropdownMenuGroup, {
|
|
104
|
-
children: /*#__PURE__*/_jsx(DropdownMenuItem, {
|
|
105
|
-
prefix: /*#__PURE__*/_jsx(Icon, {
|
|
106
|
-
icon: funnel
|
|
107
|
-
}),
|
|
108
|
-
onClick: () => {
|
|
109
|
-
setOpenedFilter(field.id);
|
|
110
|
-
onChangeView({
|
|
111
|
-
...view,
|
|
112
|
-
page: 1,
|
|
113
|
-
filters: [...(view.filters || []), {
|
|
114
|
-
field: field.id,
|
|
115
|
-
value: undefined,
|
|
116
|
-
operator: operators[0]
|
|
117
|
-
}]
|
|
118
|
-
});
|
|
119
|
-
},
|
|
120
|
-
children: /*#__PURE__*/_jsx(DropdownMenuItemLabel, {
|
|
121
|
-
children: __('Add filter')
|
|
122
|
-
})
|
|
123
|
-
})
|
|
124
|
-
}), isHidable && /*#__PURE__*/_jsx(DropdownMenuItem, {
|
|
125
|
-
prefix: /*#__PURE__*/_jsx(Icon, {
|
|
126
|
-
icon: unseen
|
|
127
|
-
}),
|
|
128
|
-
onClick: () => {
|
|
129
|
-
const viewFields = view.fields || fields.map(f => f.id);
|
|
130
|
-
onHide(field);
|
|
131
|
-
onChangeView({
|
|
132
|
-
...view,
|
|
133
|
-
fields: viewFields.filter(fieldId => fieldId !== field.id)
|
|
134
|
-
});
|
|
135
|
-
},
|
|
136
|
-
children: /*#__PURE__*/_jsx(DropdownMenuItemLabel, {
|
|
137
|
-
children: __('Hide')
|
|
138
|
-
})
|
|
139
|
-
})]
|
|
140
|
-
})
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
// @ts-expect-error Lift the `Item` type argument through the forwardRef.
|
|
145
|
-
const HeaderMenu = _HeaderMenu;
|
|
146
|
-
function BulkSelectionCheckbox({
|
|
147
|
-
selection,
|
|
148
|
-
onSelectionChange,
|
|
149
|
-
data,
|
|
150
|
-
actions,
|
|
151
|
-
getItemId
|
|
152
|
-
}) {
|
|
153
|
-
const selectableItems = useMemo(() => {
|
|
154
|
-
return data.filter(item => {
|
|
155
|
-
return actions.some(action => action.supportsBulk && (!action.isEligible || action.isEligible(item)));
|
|
156
|
-
});
|
|
157
|
-
}, [data, actions]);
|
|
158
|
-
const selectedItems = data.filter(item => selection.includes(getItemId(item)) && selectableItems.includes(item));
|
|
159
|
-
const areAllSelected = selectedItems.length === selectableItems.length;
|
|
160
|
-
return /*#__PURE__*/_jsx(CheckboxControl, {
|
|
161
|
-
className: "dataviews-view-table-selection-checkbox",
|
|
162
|
-
__nextHasNoMarginBottom: true,
|
|
163
|
-
checked: areAllSelected,
|
|
164
|
-
indeterminate: !areAllSelected && !!selectedItems.length,
|
|
165
|
-
onChange: () => {
|
|
166
|
-
if (areAllSelected) {
|
|
167
|
-
onSelectionChange([]);
|
|
168
|
-
} else {
|
|
169
|
-
onSelectionChange(selectableItems.map(item => getItemId(item)));
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
"aria-label": areAllSelected ? __('Deselect all') : __('Select all')
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
function TableRow({
|
|
176
|
-
hasBulkActions,
|
|
177
|
-
item,
|
|
178
|
-
actions,
|
|
179
|
-
id,
|
|
180
|
-
visibleFields,
|
|
181
|
-
primaryField,
|
|
182
|
-
selection,
|
|
183
|
-
getItemId,
|
|
184
|
-
onSelectionChange
|
|
185
|
-
}) {
|
|
186
|
-
const hasPossibleBulkAction = useHasAPossibleBulkAction(actions, item);
|
|
187
|
-
const isSelected = hasPossibleBulkAction && selection.includes(id);
|
|
188
|
-
const [isHovered, setIsHovered] = useState(false);
|
|
189
|
-
const handleMouseEnter = () => {
|
|
190
|
-
setIsHovered(true);
|
|
191
|
-
};
|
|
192
|
-
const handleMouseLeave = () => {
|
|
193
|
-
setIsHovered(false);
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
// Will be set to true if `onTouchStart` fires. This happens before
|
|
197
|
-
// `onClick` and can be used to exclude touchscreen devices from certain
|
|
198
|
-
// behaviours.
|
|
199
|
-
const isTouchDevice = useRef(false);
|
|
200
|
-
return /*#__PURE__*/_jsxs("tr", {
|
|
201
|
-
className: clsx('dataviews-view-table__row', {
|
|
202
|
-
'is-selected': hasPossibleBulkAction && isSelected,
|
|
203
|
-
'is-hovered': isHovered,
|
|
204
|
-
'has-bulk-actions': hasPossibleBulkAction
|
|
205
|
-
}),
|
|
206
|
-
onMouseEnter: handleMouseEnter,
|
|
207
|
-
onMouseLeave: handleMouseLeave,
|
|
208
|
-
onTouchStart: () => {
|
|
209
|
-
isTouchDevice.current = true;
|
|
210
|
-
},
|
|
211
|
-
onClick: () => {
|
|
212
|
-
if (!hasPossibleBulkAction) {
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
if (!isTouchDevice.current && document.getSelection()?.type !== 'Range') {
|
|
216
|
-
onSelectionChange(selection.includes(id) ? selection.filter(itemId => id !== itemId) : [...selection, id]);
|
|
217
|
-
}
|
|
218
|
-
},
|
|
219
|
-
children: [hasBulkActions && /*#__PURE__*/_jsx("td", {
|
|
220
|
-
className: "dataviews-view-table__checkbox-column",
|
|
221
|
-
style: {
|
|
222
|
-
width: '1%'
|
|
223
|
-
},
|
|
224
|
-
children: /*#__PURE__*/_jsx("div", {
|
|
225
|
-
className: "dataviews-view-table__cell-content-wrapper",
|
|
226
|
-
children: /*#__PURE__*/_jsx(SingleSelectionCheckbox, {
|
|
227
|
-
item: item,
|
|
228
|
-
selection: selection,
|
|
229
|
-
onSelectionChange: onSelectionChange,
|
|
230
|
-
getItemId: getItemId,
|
|
231
|
-
primaryField: primaryField,
|
|
232
|
-
disabled: !hasPossibleBulkAction
|
|
233
|
-
})
|
|
234
|
-
})
|
|
235
|
-
}), visibleFields.map(field => /*#__PURE__*/_jsx("td", {
|
|
236
|
-
style: {
|
|
237
|
-
width: field.width || undefined,
|
|
238
|
-
minWidth: field.minWidth || undefined,
|
|
239
|
-
maxWidth: field.maxWidth || undefined
|
|
240
|
-
},
|
|
241
|
-
children: /*#__PURE__*/_jsx("div", {
|
|
242
|
-
className: clsx('dataviews-view-table__cell-content-wrapper', {
|
|
243
|
-
'dataviews-view-table__primary-field': primaryField?.id === field.id
|
|
244
|
-
}),
|
|
245
|
-
children: field.render({
|
|
246
|
-
item
|
|
247
|
-
})
|
|
248
|
-
})
|
|
249
|
-
}, field.id)), !!actions?.length &&
|
|
250
|
-
/*#__PURE__*/
|
|
251
|
-
// Disable reason: we are not making the element interactive,
|
|
252
|
-
// but preventing any click events from bubbling up to the
|
|
253
|
-
// table row. This allows us to add a click handler to the row
|
|
254
|
-
// itself (to toggle row selection) without erroneously
|
|
255
|
-
// intercepting click events from ItemActions.
|
|
256
|
-
/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */
|
|
257
|
-
_jsx("td", {
|
|
258
|
-
className: "dataviews-view-table__actions-column",
|
|
259
|
-
onClick: e => e.stopPropagation(),
|
|
260
|
-
children: /*#__PURE__*/_jsx(ItemActions, {
|
|
261
|
-
item: item,
|
|
262
|
-
actions: actions
|
|
263
|
-
})
|
|
264
|
-
})
|
|
265
|
-
/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */]
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
function ViewTable({
|
|
269
|
-
actions,
|
|
270
|
-
data,
|
|
271
|
-
fields,
|
|
272
|
-
getItemId,
|
|
273
|
-
isLoading = false,
|
|
274
|
-
onChangeView,
|
|
275
|
-
onSelectionChange,
|
|
276
|
-
selection,
|
|
277
|
-
setOpenedFilter,
|
|
278
|
-
view
|
|
279
|
-
}) {
|
|
280
|
-
const headerMenuRefs = useRef(new Map());
|
|
281
|
-
const headerMenuToFocusRef = useRef();
|
|
282
|
-
const [nextHeaderMenuToFocus, setNextHeaderMenuToFocus] = useState();
|
|
283
|
-
const hasBulkActions = useSomeItemHasAPossibleBulkAction(actions, data);
|
|
284
|
-
useEffect(() => {
|
|
285
|
-
if (headerMenuToFocusRef.current) {
|
|
286
|
-
headerMenuToFocusRef.current.focus();
|
|
287
|
-
headerMenuToFocusRef.current = undefined;
|
|
288
|
-
}
|
|
289
|
-
});
|
|
290
|
-
const tableNoticeId = useId();
|
|
291
|
-
if (nextHeaderMenuToFocus) {
|
|
292
|
-
// If we need to force focus, we short-circuit rendering here
|
|
293
|
-
// to prevent any additional work while we handle that.
|
|
294
|
-
// Clearing out the focus directive is necessary to make sure
|
|
295
|
-
// future renders don't cause unexpected focus jumps.
|
|
296
|
-
headerMenuToFocusRef.current = nextHeaderMenuToFocus;
|
|
297
|
-
setNextHeaderMenuToFocus(undefined);
|
|
298
|
-
return;
|
|
299
|
-
}
|
|
300
|
-
const onHide = field => {
|
|
301
|
-
const hidden = headerMenuRefs.current.get(field.id);
|
|
302
|
-
const fallback = hidden ? headerMenuRefs.current.get(hidden.fallback) : undefined;
|
|
303
|
-
setNextHeaderMenuToFocus(fallback?.node);
|
|
304
|
-
};
|
|
305
|
-
const viewFields = view.fields || fields.map(f => f.id);
|
|
306
|
-
const visibleFields = fields.filter(field => viewFields.includes(field.id) || [view.layout?.mediaField].includes(field.id));
|
|
307
|
-
const hasData = !!data?.length;
|
|
308
|
-
const primaryField = fields.find(field => field.id === view.layout?.primaryField);
|
|
309
|
-
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
310
|
-
children: [/*#__PURE__*/_jsxs("table", {
|
|
311
|
-
className: "dataviews-view-table",
|
|
312
|
-
"aria-busy": isLoading,
|
|
313
|
-
"aria-describedby": tableNoticeId,
|
|
314
|
-
children: [/*#__PURE__*/_jsx("thead", {
|
|
315
|
-
children: /*#__PURE__*/_jsxs("tr", {
|
|
316
|
-
className: "dataviews-view-table__row",
|
|
317
|
-
children: [hasBulkActions && /*#__PURE__*/_jsx("th", {
|
|
318
|
-
className: "dataviews-view-table__checkbox-column",
|
|
319
|
-
style: {
|
|
320
|
-
width: '1%'
|
|
321
|
-
},
|
|
322
|
-
"data-field-id": "selection",
|
|
323
|
-
scope: "col",
|
|
324
|
-
children: /*#__PURE__*/_jsx(BulkSelectionCheckbox, {
|
|
325
|
-
selection: selection,
|
|
326
|
-
onSelectionChange: onSelectionChange,
|
|
327
|
-
data: data,
|
|
328
|
-
actions: actions,
|
|
329
|
-
getItemId: getItemId
|
|
330
|
-
})
|
|
331
|
-
}), visibleFields.map((field, index) => /*#__PURE__*/_jsx("th", {
|
|
332
|
-
style: {
|
|
333
|
-
width: field.width || undefined,
|
|
334
|
-
minWidth: field.minWidth || undefined,
|
|
335
|
-
maxWidth: field.maxWidth || undefined
|
|
336
|
-
},
|
|
337
|
-
"data-field-id": field.id,
|
|
338
|
-
"aria-sort": view.sort?.field === field.id ? sortValues[view.sort.direction] : undefined,
|
|
339
|
-
scope: "col",
|
|
340
|
-
children: /*#__PURE__*/_jsx(HeaderMenu, {
|
|
341
|
-
ref: node => {
|
|
342
|
-
if (node) {
|
|
343
|
-
headerMenuRefs.current.set(field.id, {
|
|
344
|
-
node,
|
|
345
|
-
fallback: visibleFields[index > 0 ? index - 1 : 1]?.id
|
|
346
|
-
});
|
|
347
|
-
} else {
|
|
348
|
-
headerMenuRefs.current.delete(field.id);
|
|
349
|
-
}
|
|
350
|
-
},
|
|
351
|
-
field: field,
|
|
352
|
-
view: view,
|
|
353
|
-
fields: fields,
|
|
354
|
-
onChangeView: onChangeView,
|
|
355
|
-
onHide: onHide,
|
|
356
|
-
setOpenedFilter: setOpenedFilter
|
|
357
|
-
})
|
|
358
|
-
}, field.id)), !!actions?.length && /*#__PURE__*/_jsx("th", {
|
|
359
|
-
"data-field-id": "actions",
|
|
360
|
-
className: "dataviews-view-table__actions-column",
|
|
361
|
-
children: /*#__PURE__*/_jsx("span", {
|
|
362
|
-
className: "dataviews-view-table-header",
|
|
363
|
-
children: __('Actions')
|
|
364
|
-
})
|
|
365
|
-
})]
|
|
366
|
-
})
|
|
367
|
-
}), /*#__PURE__*/_jsx("tbody", {
|
|
368
|
-
children: hasData && data.map((item, index) => /*#__PURE__*/_jsx(TableRow, {
|
|
369
|
-
item: item,
|
|
370
|
-
hasBulkActions: hasBulkActions,
|
|
371
|
-
actions: actions,
|
|
372
|
-
id: getItemId(item) || index.toString(),
|
|
373
|
-
visibleFields: visibleFields,
|
|
374
|
-
primaryField: primaryField,
|
|
375
|
-
selection: selection,
|
|
376
|
-
getItemId: getItemId,
|
|
377
|
-
onSelectionChange: onSelectionChange
|
|
378
|
-
}, getItemId(item)))
|
|
379
|
-
})]
|
|
380
|
-
}), /*#__PURE__*/_jsx("div", {
|
|
381
|
-
className: clsx({
|
|
382
|
-
'dataviews-loading': isLoading,
|
|
383
|
-
'dataviews-no-results': !hasData && !isLoading
|
|
384
|
-
}),
|
|
385
|
-
id: tableNoticeId,
|
|
386
|
-
children: !hasData && /*#__PURE__*/_jsx("p", {
|
|
387
|
-
children: isLoading ? /*#__PURE__*/_jsx(Spinner, {}) : __('No results')
|
|
388
|
-
})
|
|
389
|
-
})]
|
|
390
|
-
});
|
|
391
|
-
}
|
|
392
|
-
export default ViewTable;
|
|
393
|
-
//# sourceMappingURL=view-table.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__","unseen","funnel","Button","Icon","privateApis","componentsPrivateApis","CheckboxControl","Spinner","forwardRef","useEffect","useId","useRef","useState","useMemo","Children","Fragment","SingleSelectionCheckbox","unlock","ItemActions","sanitizeOperators","SORTING_DIRECTIONS","sortArrows","sortLabels","sortValues","useSomeItemHasAPossibleBulkAction","useHasAPossibleBulkAction","jsx","_jsx","jsxs","_jsxs","_Fragment","DropdownMenuV2","DropdownMenu","DropdownMenuGroupV2","DropdownMenuGroup","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuRadioItemV2","DropdownMenuRadioItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","DropdownMenuSeparatorV2","DropdownMenuSeparator","WithDropDownMenuSeparators","children","toArray","filter","Boolean","map","child","i","_HeaderMenu","HeaderMenu","field","view","fields","onChangeView","onHide","setOpenedFilter","ref","isHidable","enableHiding","isSortable","enableSorting","isSorted","sort","id","operators","canAddFilter","filters","some","_filter","elements","length","filterBy","isPrimary","header","align","trigger","size","className","variant","direction","style","minWidth","isChecked","value","name","checked","onChange","prefix","icon","onClick","page","undefined","operator","viewFields","f","fieldId","BulkSelectionCheckbox","selection","onSelectionChange","data","actions","getItemId","selectableItems","item","action","supportsBulk","isEligible","selectedItems","includes","areAllSelected","__nextHasNoMarginBottom","indeterminate","TableRow","hasBulkActions","visibleFields","primaryField","hasPossibleBulkAction","isSelected","isHovered","setIsHovered","handleMouseEnter","handleMouseLeave","isTouchDevice","onMouseEnter","onMouseLeave","onTouchStart","current","document","getSelection","type","itemId","width","disabled","maxWidth","render","e","stopPropagation","ViewTable","isLoading","headerMenuRefs","Map","headerMenuToFocusRef","nextHeaderMenuToFocus","setNextHeaderMenuToFocus","focus","tableNoticeId","hidden","get","fallback","node","layout","mediaField","hasData","find","scope","index","set","delete","toString"],"sources":["@wordpress/dataviews/src/view-table.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\nimport type { ReactNode, Ref, PropsWithoutRef, RefAttributes } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { unseen, funnel } from '@wordpress/icons';\nimport {\n\tButton,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n\tCheckboxControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tforwardRef,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n\tuseMemo,\n\tChildren,\n\tFragment,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SingleSelectionCheckbox from './single-selection-checkbox';\nimport { unlock } from './lock-unlock';\nimport ItemActions from './item-actions';\nimport { sanitizeOperators } from './utils';\nimport {\n\tSORTING_DIRECTIONS,\n\tsortArrows,\n\tsortLabels,\n\tsortValues,\n} from './constants';\nimport {\n\tuseSomeItemHasAPossibleBulkAction,\n\tuseHasAPossibleBulkAction,\n} from './bulk-actions';\nimport type {\n\tAction,\n\tNormalizedField,\n\tSortDirection,\n\tViewTable as ViewTableType,\n\tViewTableProps,\n} from './types';\nimport type { SetSelection } from './private-types';\n\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuGroupV2: DropdownMenuGroup,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuRadioItemV2: DropdownMenuRadioItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n\tDropdownMenuSeparatorV2: DropdownMenuSeparator,\n} = unlock( componentsPrivateApis );\n\ninterface HeaderMenuProps< Item > {\n\tfield: NormalizedField< Item >;\n\tview: ViewTableType;\n\tfields: NormalizedField< Item >[];\n\tonChangeView: ( view: ViewTableType ) => void;\n\tonHide: ( field: NormalizedField< Item > ) => void;\n\tsetOpenedFilter: ( fieldId: string ) => void;\n}\n\ninterface BulkSelectionCheckboxProps< Item > {\n\tselection: string[];\n\tonSelectionChange: SetSelection;\n\tdata: Item[];\n\tactions: Action< Item >[];\n\tgetItemId: ( item: Item ) => string;\n}\n\ninterface TableRowProps< Item > {\n\thasBulkActions: boolean;\n\titem: Item;\n\tactions: Action< Item >[];\n\tid: string;\n\tvisibleFields: NormalizedField< Item >[];\n\tprimaryField?: NormalizedField< Item >;\n\tselection: string[];\n\tgetItemId: ( item: Item ) => string;\n\tonSelectionChange: SetSelection;\n}\n\nfunction WithDropDownMenuSeparators( { children }: { children: ReactNode } ) {\n\treturn Children.toArray( children )\n\t\t.filter( Boolean )\n\t\t.map( ( child, i ) => (\n\t\t\t<Fragment key={ i }>\n\t\t\t\t{ i > 0 && <DropdownMenuSeparator /> }\n\t\t\t\t{ child }\n\t\t\t</Fragment>\n\t\t) );\n}\n\nconst _HeaderMenu = forwardRef( function HeaderMenu< Item >(\n\t{\n\t\tfield,\n\t\tview,\n\t\tfields,\n\t\tonChangeView,\n\t\tonHide,\n\t\tsetOpenedFilter,\n\t}: HeaderMenuProps< Item >,\n\tref: Ref< HTMLButtonElement >\n) {\n\tconst isHidable = field.enableHiding !== false;\n\tconst isSortable = field.enableSorting !== false;\n\tconst isSorted = view.sort?.field === field.id;\n\tconst operators = sanitizeOperators( field );\n\t// Filter can be added:\n\t// 1. If the field is not already part of a view's filters.\n\t// 2. If the field meets the type and operator requirements.\n\t// 3. If it's not primary. If it is, it should be already visible.\n\tconst canAddFilter =\n\t\t! view.filters?.some( ( _filter ) => field.id === _filter.field ) &&\n\t\t!! field.elements?.length &&\n\t\t!! operators.length &&\n\t\t! field.filterBy?.isPrimary;\n\tif ( ! isSortable && ! isHidable && ! canAddFilter ) {\n\t\treturn field.header;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\talign=\"start\"\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\tclassName=\"dataviews-view-table-header-button\"\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t>\n\t\t\t\t\t{ field.header }\n\t\t\t\t\t{ view.sort && isSorted && (\n\t\t\t\t\t\t<span aria-hidden=\"true\">\n\t\t\t\t\t\t\t{ sortArrows[ view.sort.direction ] }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t\tstyle={ { minWidth: '240px' } }\n\t\t>\n\t\t\t<WithDropDownMenuSeparators>\n\t\t\t\t{ isSortable && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t{ SORTING_DIRECTIONS.map(\n\t\t\t\t\t\t\t( direction: SortDirection ) => {\n\t\t\t\t\t\t\t\tconst isChecked =\n\t\t\t\t\t\t\t\t\tview.sort &&\n\t\t\t\t\t\t\t\t\tisSorted &&\n\t\t\t\t\t\t\t\t\tview.sort.direction === direction;\n\n\t\t\t\t\t\t\t\tconst value = `${ field.id }-${ direction }`;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DropdownMenuRadioItem\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t// All sorting radio items share the same name, so that\n\t\t\t\t\t\t\t\t\t\t// selecting a sorting option automatically deselects the\n\t\t\t\t\t\t\t\t\t\t// previously selected one, even if it is displayed in\n\t\t\t\t\t\t\t\t\t\t// another submenu. The field and direction are passed via\n\t\t\t\t\t\t\t\t\t\t// the `value` prop.\n\t\t\t\t\t\t\t\t\t\tname=\"view-table-sorting\"\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\tchecked={ isChecked }\n\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\t\t\t\tsort: {\n\t\t\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ sortLabels[ direction ] }\n\t\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t</DropdownMenuRadioItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ canAddFilter && (\n\t\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\tprefix={ <Icon icon={ funnel } /> }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOpenedFilter( field.id );\n\t\t\t\t\t\t\t\tonChangeView( {\n\t\t\t\t\t\t\t\t\t...view,\n\t\t\t\t\t\t\t\t\tpage: 1,\n\t\t\t\t\t\t\t\t\tfilters: [\n\t\t\t\t\t\t\t\t\t\t...( view.filters || [] ),\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tfield: field.id,\n\t\t\t\t\t\t\t\t\t\t\tvalue: undefined,\n\t\t\t\t\t\t\t\t\t\t\toperator: operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t{ __( 'Add filter' ) }\n\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t</DropdownMenuGroup>\n\t\t\t\t) }\n\t\t\t\t{ isHidable && (\n\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\tprefix={ <Icon icon={ unseen } /> }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst viewFields =\n\t\t\t\t\t\t\t\tview.fields || fields.map( ( f ) => f.id );\n\t\t\t\t\t\t\tonHide( field );\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: viewFields.filter(\n\t\t\t\t\t\t\t\t\t( fieldId ) => fieldId !== field.id\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t{ __( 'Hide' ) }\n\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t) }\n\t\t\t</WithDropDownMenuSeparators>\n\t\t</DropdownMenu>\n\t);\n} );\n\n// @ts-expect-error Lift the `Item` type argument through the forwardRef.\nconst HeaderMenu: < Item >(\n\tprops: PropsWithoutRef< HeaderMenuProps< Item > > &\n\t\tRefAttributes< HTMLButtonElement >\n) => ReturnType< typeof _HeaderMenu > = _HeaderMenu;\n\nfunction BulkSelectionCheckbox< Item >( {\n\tselection,\n\tonSelectionChange,\n\tdata,\n\tactions,\n\tgetItemId,\n}: BulkSelectionCheckboxProps< Item > ) {\n\tconst selectableItems = useMemo( () => {\n\t\treturn data.filter( ( item ) => {\n\t\t\treturn actions.some(\n\t\t\t\t( action ) =>\n\t\t\t\t\taction.supportsBulk &&\n\t\t\t\t\t( ! action.isEligible || action.isEligible( item ) )\n\t\t\t);\n\t\t} );\n\t}, [ data, actions ] );\n\tconst selectedItems = data.filter(\n\t\t( item ) =>\n\t\t\tselection.includes( getItemId( item ) ) &&\n\t\t\tselectableItems.includes( item )\n\t);\n\tconst areAllSelected = selectedItems.length === selectableItems.length;\n\treturn (\n\t\t<CheckboxControl\n\t\t\tclassName=\"dataviews-view-table-selection-checkbox\"\n\t\t\t__nextHasNoMarginBottom\n\t\t\tchecked={ areAllSelected }\n\t\t\tindeterminate={ ! areAllSelected && !! selectedItems.length }\n\t\t\tonChange={ () => {\n\t\t\t\tif ( areAllSelected ) {\n\t\t\t\t\tonSelectionChange( [] );\n\t\t\t\t} else {\n\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\tselectableItems.map( ( item ) => getItemId( item ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t\taria-label={\n\t\t\t\tareAllSelected ? __( 'Deselect all' ) : __( 'Select all' )\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction TableRow< Item >( {\n\thasBulkActions,\n\titem,\n\tactions,\n\tid,\n\tvisibleFields,\n\tprimaryField,\n\tselection,\n\tgetItemId,\n\tonSelectionChange,\n}: TableRowProps< Item > ) {\n\tconst hasPossibleBulkAction = useHasAPossibleBulkAction( actions, item );\n\tconst isSelected = hasPossibleBulkAction && selection.includes( id );\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\t// Will be set to true if `onTouchStart` fires. This happens before\n\t// `onClick` and can be used to exclude touchscreen devices from certain\n\t// behaviours.\n\tconst isTouchDevice = useRef( false );\n\n\treturn (\n\t\t<tr\n\t\t\tclassName={ clsx( 'dataviews-view-table__row', {\n\t\t\t\t'is-selected': hasPossibleBulkAction && isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t'has-bulk-actions': hasPossibleBulkAction,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t\tonTouchStart={ () => {\n\t\t\t\tisTouchDevice.current = true;\n\t\t\t} }\n\t\t\tonClick={ () => {\n\t\t\t\tif ( ! hasPossibleBulkAction ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (\n\t\t\t\t\t! isTouchDevice.current &&\n\t\t\t\t\tdocument.getSelection()?.type !== 'Range'\n\t\t\t\t) {\n\t\t\t\t\tonSelectionChange(\n\t\t\t\t\t\tselection.includes( id )\n\t\t\t\t\t\t\t? selection.filter( ( itemId ) => id !== itemId )\n\t\t\t\t\t\t\t: [ ...selection, id ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t>\n\t\t\t{ hasBulkActions && (\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"dataviews-view-table__cell-content-wrapper\">\n\t\t\t\t\t\t<SingleSelectionCheckbox\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\tdisabled={ ! hasPossibleBulkAction }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) }\n\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t<td\n\t\t\t\t\tkey={ field.id }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\tminWidth: field.minWidth || undefined,\n\t\t\t\t\t\tmaxWidth: field.maxWidth || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'dataviews-view-table__cell-content-wrapper',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'dataviews-view-table__primary-field':\n\t\t\t\t\t\t\t\t\tprimaryField?.id === field.id,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ field.render( {\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t) ) }\n\t\t\t{ !! actions?.length && (\n\t\t\t\t// Disable reason: we are not making the element interactive,\n\t\t\t\t// but preventing any click events from bubbling up to the\n\t\t\t\t// table row. This allows us to add a click handler to the row\n\t\t\t\t// itself (to toggle row selection) without erroneously\n\t\t\t\t// intercepting click events from ItemActions.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t<td\n\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\tonClick={ ( e ) => e.stopPropagation() }\n\t\t\t\t>\n\t\t\t\t\t<ItemActions item={ item } actions={ actions } />\n\t\t\t\t</td>\n\t\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t) }\n\t\t</tr>\n\t);\n}\n\nfunction ViewTable< Item >( {\n\tactions,\n\tdata,\n\tfields,\n\tgetItemId,\n\tisLoading = false,\n\tonChangeView,\n\tonSelectionChange,\n\tselection,\n\tsetOpenedFilter,\n\tview,\n}: ViewTableProps< Item > ) {\n\tconst headerMenuRefs = useRef<\n\t\tMap< string, { node: HTMLButtonElement; fallback: string } >\n\t>( new Map() );\n\tconst headerMenuToFocusRef = useRef< HTMLButtonElement >();\n\tconst [ nextHeaderMenuToFocus, setNextHeaderMenuToFocus ] =\n\t\tuseState< HTMLButtonElement >();\n\tconst hasBulkActions = useSomeItemHasAPossibleBulkAction( actions, data );\n\n\tuseEffect( () => {\n\t\tif ( headerMenuToFocusRef.current ) {\n\t\t\theaderMenuToFocusRef.current.focus();\n\t\t\theaderMenuToFocusRef.current = undefined;\n\t\t}\n\t} );\n\n\tconst tableNoticeId = useId();\n\n\tif ( nextHeaderMenuToFocus ) {\n\t\t// If we need to force focus, we short-circuit rendering here\n\t\t// to prevent any additional work while we handle that.\n\t\t// Clearing out the focus directive is necessary to make sure\n\t\t// future renders don't cause unexpected focus jumps.\n\t\theaderMenuToFocusRef.current = nextHeaderMenuToFocus;\n\t\tsetNextHeaderMenuToFocus( undefined );\n\t\treturn;\n\t}\n\n\tconst onHide = ( field: NormalizedField< Item > ) => {\n\t\tconst hidden = headerMenuRefs.current.get( field.id );\n\t\tconst fallback = hidden\n\t\t\t? headerMenuRefs.current.get( hidden.fallback )\n\t\t\t: undefined;\n\t\tsetNextHeaderMenuToFocus( fallback?.node );\n\t};\n\n\tconst viewFields = view.fields || fields.map( ( f ) => f.id );\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\tviewFields.includes( field.id ) ||\n\t\t\t[ view.layout?.mediaField ].includes( field.id )\n\t);\n\tconst hasData = !! data?.length;\n\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout?.primaryField\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tclassName=\"dataviews-view-table\"\n\t\t\t\taria-busy={ isLoading }\n\t\t\t\taria-describedby={ tableNoticeId }\n\t\t\t>\n\t\t\t\t<thead>\n\t\t\t\t\t<tr className=\"dataviews-view-table__row\">\n\t\t\t\t\t\t{ hasBulkActions && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__checkbox-column\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: '1%',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id=\"selection\"\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BulkSelectionCheckbox\n\t\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t\t\tdata={ data }\n\t\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ visibleFields.map( ( field, index ) => (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\twidth: field.width || undefined,\n\t\t\t\t\t\t\t\t\tminWidth: field.minWidth || undefined,\n\t\t\t\t\t\t\t\t\tmaxWidth: field.maxWidth || undefined,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdata-field-id={ field.id }\n\t\t\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\t\t\tview.sort?.field === field.id\n\t\t\t\t\t\t\t\t\t\t? sortValues[ view.sort.direction ]\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HeaderMenu\n\t\t\t\t\t\t\t\t\tref={ ( node ) => {\n\t\t\t\t\t\t\t\t\t\tif ( node ) {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.set(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id,\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\tnode,\n\t\t\t\t\t\t\t\t\t\t\t\t\tfallback:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvisibleFields[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex > 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? index - 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 1\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]?.id,\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} else {\n\t\t\t\t\t\t\t\t\t\t\theaderMenuRefs.current.delete(\n\t\t\t\t\t\t\t\t\t\t\t\tfield.id\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\tfield={ field }\n\t\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t\t\tonHide={ onHide }\n\t\t\t\t\t\t\t\t\tsetOpenedFilter={ setOpenedFilter }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t{ !! actions?.length && (\n\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\tdata-field-id=\"actions\"\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-table__actions-column\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"dataviews-view-table-header\">\n\t\t\t\t\t\t\t\t\t{ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</tr>\n\t\t\t\t</thead>\n\t\t\t\t<tbody>\n\t\t\t\t\t{ hasData &&\n\t\t\t\t\t\tdata.map( ( item, index ) => (\n\t\t\t\t\t\t\t<TableRow\n\t\t\t\t\t\t\t\tkey={ getItemId( item ) }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\thasBulkActions={ hasBulkActions }\n\t\t\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\t\t\tid={ getItemId( item ) || index.toString() }\n\t\t\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\t\tgetItemId={ getItemId }\n\t\t\t\t\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t\tid={ tableNoticeId }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ViewTable;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;AAGvB;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,MAAM,EAAEC,MAAM,QAAQ,kBAAkB;AACjD,SACCC,MAAM,EACNC,IAAI,EACJC,WAAW,IAAIC,qBAAqB,EACpCC,eAAe,EACfC,OAAO,QACD,uBAAuB;AAC9B,SACCC,UAAU,EACVC,SAAS,EACTC,KAAK,EACLC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,QAAQ,QACF,oBAAoB;;AAE3B;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,6BAA6B;AACjE,SAASC,MAAM,QAAQ,eAAe;AACtC,OAAOC,WAAW,MAAM,gBAAgB;AACxC,SAASC,iBAAiB,QAAQ,SAAS;AAC3C,SACCC,kBAAkB,EAClBC,UAAU,EACVC,UAAU,EACVC,UAAU,QACJ,aAAa;AACpB,SACCC,iCAAiC,EACjCC,yBAAyB,QACnB,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAd,QAAA,IAAAe,SAAA;AAUxB,MAAM;EACLC,cAAc,EAAEC,YAAY;EAC5BC,mBAAmB,EAAEC,iBAAiB;EACtCC,kBAAkB,EAAEC,gBAAgB;EACpCC,uBAAuB,EAAEC,qBAAqB;EAC9CC,uBAAuB,EAAEC,qBAAqB;EAC9CC,uBAAuB,EAAEC;AAC1B,CAAC,GAAGzB,MAAM,CAAEZ,qBAAsB,CAAC;AA+BnC,SAASsC,0BAA0BA,CAAE;EAAEC;AAAkC,CAAC,EAAG;EAC5E,OAAO9B,QAAQ,CAAC+B,OAAO,CAAED,QAAS,CAAC,CACjCE,MAAM,CAAEC,OAAQ,CAAC,CACjBC,GAAG,CAAE,CAAEC,KAAK,EAAEC,CAAC,kBACfrB,KAAA,CAACd,QAAQ;IAAA6B,QAAA,GACNM,CAAC,GAAG,CAAC,iBAAIvB,IAAA,CAACe,qBAAqB,IAAE,CAAC,EAClCO,KAAK;EAAA,GAFQC,CAGN,CACT,CAAC;AACL;AAEA,MAAMC,WAAW,GAAG3C,UAAU,CAAE,SAAS4C,UAAUA,CAClD;EACCC,KAAK;EACLC,IAAI;EACJC,MAAM;EACNC,YAAY;EACZC,MAAM;EACNC;AACwB,CAAC,EAC1BC,GAA6B,EAC5B;EACD,MAAMC,SAAS,GAAGP,KAAK,CAACQ,YAAY,KAAK,KAAK;EAC9C,MAAMC,UAAU,GAAGT,KAAK,CAACU,aAAa,KAAK,KAAK;EAChD,MAAMC,QAAQ,GAAGV,IAAI,CAACW,IAAI,EAAEZ,KAAK,KAAKA,KAAK,CAACa,EAAE;EAC9C,MAAMC,SAAS,GAAGhD,iBAAiB,CAAEkC,KAAM,CAAC;EAC5C;EACA;EACA;EACA;EACA,MAAMe,YAAY,GACjB,CAAEd,IAAI,CAACe,OAAO,EAAEC,IAAI,CAAIC,OAAO,IAAMlB,KAAK,CAACa,EAAE,KAAKK,OAAO,CAAClB,KAAM,CAAC,IACjE,CAAC,CAAEA,KAAK,CAACmB,QAAQ,EAAEC,MAAM,IACzB,CAAC,CAAEN,SAAS,CAACM,MAAM,IACnB,CAAEpB,KAAK,CAACqB,QAAQ,EAAEC,SAAS;EAC5B,IAAK,CAAEb,UAAU,IAAI,CAAEF,SAAS,IAAI,CAAEQ,YAAY,EAAG;IACpD,OAAOf,KAAK,CAACuB,MAAM;EACpB;EACA,oBACCjD,IAAA,CAACK,YAAY;IACZ6C,KAAK,EAAC,OAAO;IACbC,OAAO,eACNjD,KAAA,CAAC3B,MAAM;MACN6E,IAAI,EAAC,SAAS;MACdC,SAAS,EAAC,oCAAoC;MAC9CrB,GAAG,EAAGA,GAAK;MACXsB,OAAO,EAAC,UAAU;MAAArC,QAAA,GAEhBS,KAAK,CAACuB,MAAM,EACZtB,IAAI,CAACW,IAAI,IAAID,QAAQ,iBACtBrC,IAAA;QAAM,eAAY,MAAM;QAAAiB,QAAA,EACrBvB,UAAU,CAAEiC,IAAI,CAACW,IAAI,CAACiB,SAAS;MAAE,CAC9B,CACN;IAAA,CACM,CACR;IACDC,KAAK,EAAG;MAAEC,QAAQ,EAAE;IAAQ,CAAG;IAAAxC,QAAA,eAE/Bf,KAAA,CAACc,0BAA0B;MAAAC,QAAA,GACxBkB,UAAU,iBACXnC,IAAA,CAACO,iBAAiB;QAAAU,QAAA,EACfxB,kBAAkB,CAAC4B,GAAG,CACrBkC,SAAwB,IAAM;UAC/B,MAAMG,SAAS,GACd/B,IAAI,CAACW,IAAI,IACTD,QAAQ,IACRV,IAAI,CAACW,IAAI,CAACiB,SAAS,KAAKA,SAAS;UAElC,MAAMI,KAAK,GAAI,GAAGjC,KAAK,CAACa,EAAI,IAAIgB,SAAW,EAAC;UAE5C,oBACCvD,IAAA,CAACW,qBAAqB;YAErB;YACA;YACA;YACA;YACA;YACAiD,IAAI,EAAC,oBAAoB;YACzBD,KAAK,EAAGA,KAAO;YACfE,OAAO,EAAGH,SAAW;YACrBI,QAAQ,EAAGA,CAAA,KAAM;cAChBjC,YAAY,CAAE;gBACb,GAAGF,IAAI;gBACPW,IAAI,EAAE;kBACLZ,KAAK,EAAEA,KAAK,CAACa,EAAE;kBACfgB;gBACD;cACD,CAAE,CAAC;YACJ,CAAG;YAAAtC,QAAA,eAEHjB,IAAA,CAACa,qBAAqB;cAAAI,QAAA,EACnBtB,UAAU,CAAE4D,SAAS;YAAE,CACH;UAAC,GArBlBI,KAsBgB,CAAC;QAE1B,CACD;MAAC,CACiB,CACnB,EACClB,YAAY,iBACbzC,IAAA,CAACO,iBAAiB;QAAAU,QAAA,eACjBjB,IAAA,CAACS,gBAAgB;UAChBsD,MAAM,eAAG/D,IAAA,CAACxB,IAAI;YAACwF,IAAI,EAAG1F;UAAQ,CAAE,CAAG;UACnC2F,OAAO,EAAGA,CAAA,KAAM;YACflC,eAAe,CAAEL,KAAK,CAACa,EAAG,CAAC;YAC3BV,YAAY,CAAE;cACb,GAAGF,IAAI;cACPuC,IAAI,EAAE,CAAC;cACPxB,OAAO,EAAE,CACR,IAAKf,IAAI,CAACe,OAAO,IAAI,EAAE,CAAE,EACzB;gBACChB,KAAK,EAAEA,KAAK,CAACa,EAAE;gBACfoB,KAAK,EAAEQ,SAAS;gBAChBC,QAAQ,EAAE5B,SAAS,CAAE,CAAC;cACvB,CAAC;YAEH,CAAE,CAAC;UACJ,CAAG;UAAAvB,QAAA,eAEHjB,IAAA,CAACa,qBAAqB;YAAAI,QAAA,EACnB7C,EAAE,CAAE,YAAa;UAAC,CACE;QAAC,CACP;MAAC,CACD,CACnB,EACC6D,SAAS,iBACVjC,IAAA,CAACS,gBAAgB;QAChBsD,MAAM,eAAG/D,IAAA,CAACxB,IAAI;UAACwF,IAAI,EAAG3F;QAAQ,CAAE,CAAG;QACnC4F,OAAO,EAAGA,CAAA,KAAM;UACf,MAAMI,UAAU,GACf1C,IAAI,CAACC,MAAM,IAAIA,MAAM,CAACP,GAAG,CAAIiD,CAAC,IAAMA,CAAC,CAAC/B,EAAG,CAAC;UAC3CT,MAAM,CAAEJ,KAAM,CAAC;UACfG,YAAY,CAAE;YACb,GAAGF,IAAI;YACPC,MAAM,EAAEyC,UAAU,CAAClD,MAAM,CACtBoD,OAAO,IAAMA,OAAO,KAAK7C,KAAK,CAACa,EAClC;UACD,CAAE,CAAC;QACJ,CAAG;QAAAtB,QAAA,eAEHjB,IAAA,CAACa,qBAAqB;UAAAI,QAAA,EACnB7C,EAAE,CAAE,MAAO;QAAC,CACQ;MAAC,CACP,CAClB;IAAA,CAC0B;EAAC,CAChB,CAAC;AAEjB,CAAE,CAAC;;AAEH;AACA,MAAMqD,UAG+B,GAAGD,WAAW;AAEnD,SAASgD,qBAAqBA,CAAU;EACvCC,SAAS;EACTC,iBAAiB;EACjBC,IAAI;EACJC,OAAO;EACPC;AACmC,CAAC,EAAG;EACvC,MAAMC,eAAe,GAAG5F,OAAO,CAAE,MAAM;IACtC,OAAOyF,IAAI,CAACxD,MAAM,CAAI4D,IAAI,IAAM;MAC/B,OAAOH,OAAO,CAACjC,IAAI,CAChBqC,MAAM,IACPA,MAAM,CAACC,YAAY,KACjB,CAAED,MAAM,CAACE,UAAU,IAAIF,MAAM,CAACE,UAAU,CAAEH,IAAK,CAAC,CACpD,CAAC;IACF,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEJ,IAAI,EAAEC,OAAO,CAAG,CAAC;EACtB,MAAMO,aAAa,GAAGR,IAAI,CAACxD,MAAM,CAC9B4D,IAAI,IACLN,SAAS,CAACW,QAAQ,CAAEP,SAAS,CAAEE,IAAK,CAAE,CAAC,IACvCD,eAAe,CAACM,QAAQ,CAAEL,IAAK,CACjC,CAAC;EACD,MAAMM,cAAc,GAAGF,aAAa,CAACrC,MAAM,KAAKgC,eAAe,CAAChC,MAAM;EACtE,oBACC9C,IAAA,CAACrB,eAAe;IACf0E,SAAS,EAAC,yCAAyC;IACnDiC,uBAAuB;IACvBzB,OAAO,EAAGwB,cAAgB;IAC1BE,aAAa,EAAG,CAAEF,cAAc,IAAI,CAAC,CAAEF,aAAa,CAACrC,MAAQ;IAC7DgB,QAAQ,EAAGA,CAAA,KAAM;MAChB,IAAKuB,cAAc,EAAG;QACrBX,iBAAiB,CAAE,EAAG,CAAC;MACxB,CAAC,MAAM;QACNA,iBAAiB,CAChBI,eAAe,CAACzD,GAAG,CAAI0D,IAAI,IAAMF,SAAS,CAAEE,IAAK,CAAE,CACpD,CAAC;MACF;IACD,CAAG;IACH,cACCM,cAAc,GAAGjH,EAAE,CAAE,cAAe,CAAC,GAAGA,EAAE,CAAE,YAAa;EACzD,CACD,CAAC;AAEJ;AAEA,SAASoH,QAAQA,CAAU;EAC1BC,cAAc;EACdV,IAAI;EACJH,OAAO;EACPrC,EAAE;EACFmD,aAAa;EACbC,YAAY;EACZlB,SAAS;EACTI,SAAS;EACTH;AACsB,CAAC,EAAG;EAC1B,MAAMkB,qBAAqB,GAAG9F,yBAAyB,CAAE8E,OAAO,EAAEG,IAAK,CAAC;EACxE,MAAMc,UAAU,GAAGD,qBAAqB,IAAInB,SAAS,CAACW,QAAQ,CAAE7C,EAAG,CAAC;EAEpE,MAAM,CAAEuD,SAAS,EAAEC,YAAY,CAAE,GAAG9G,QAAQ,CAAE,KAAM,CAAC;EAErD,MAAM+G,gBAAgB,GAAGA,CAAA,KAAM;IAC9BD,YAAY,CAAE,IAAK,CAAC;EACrB,CAAC;EAED,MAAME,gBAAgB,GAAGA,CAAA,KAAM;IAC9BF,YAAY,CAAE,KAAM,CAAC;EACtB,CAAC;;EAED;EACA;EACA;EACA,MAAMG,aAAa,GAAGlH,MAAM,CAAE,KAAM,CAAC;EAErC,oBACCkB,KAAA;IACCmD,SAAS,EAAGlF,IAAI,CAAE,2BAA2B,EAAE;MAC9C,aAAa,EAAEyH,qBAAqB,IAAIC,UAAU;MAClD,YAAY,EAAEC,SAAS;MACvB,kBAAkB,EAAEF;IACrB,CAAE,CAAG;IACLO,YAAY,EAAGH,gBAAkB;IACjCI,YAAY,EAAGH,gBAAkB;IACjCI,YAAY,EAAGA,CAAA,KAAM;MACpBH,aAAa,CAACI,OAAO,GAAG,IAAI;IAC7B,CAAG;IACHrC,OAAO,EAAGA,CAAA,KAAM;MACf,IAAK,CAAE2B,qBAAqB,EAAG;QAC9B;MACD;MACA,IACC,CAAEM,aAAa,CAACI,OAAO,IACvBC,QAAQ,CAACC,YAAY,CAAC,CAAC,EAAEC,IAAI,KAAK,OAAO,EACxC;QACD/B,iBAAiB,CAChBD,SAAS,CAACW,QAAQ,CAAE7C,EAAG,CAAC,GACrBkC,SAAS,CAACtD,MAAM,CAAIuF,MAAM,IAAMnE,EAAE,KAAKmE,MAAO,CAAC,GAC/C,CAAE,GAAGjC,SAAS,EAAElC,EAAE,CACtB,CAAC;MACF;IACD,CAAG;IAAAtB,QAAA,GAEDwE,cAAc,iBACfzF,IAAA;MACCqD,SAAS,EAAC,uCAAuC;MACjDG,KAAK,EAAG;QACPmD,KAAK,EAAE;MACR,CAAG;MAAA1F,QAAA,eAEHjB,IAAA;QAAKqD,SAAS,EAAC,4CAA4C;QAAApC,QAAA,eAC1DjB,IAAA,CAACX,uBAAuB;UACvB0F,IAAI,EAAGA,IAAM;UACbN,SAAS,EAAGA,SAAW;UACvBC,iBAAiB,EAAGA,iBAAmB;UACvCG,SAAS,EAAGA,SAAW;UACvBc,YAAY,EAAGA,YAAc;UAC7BiB,QAAQ,EAAG,CAAEhB;QAAuB,CACpC;MAAC,CACE;IAAC,CACH,CACJ,EACCF,aAAa,CAACrE,GAAG,CAAIK,KAAK,iBAC3B1B,IAAA;MAECwD,KAAK,EAAG;QACPmD,KAAK,EAAEjF,KAAK,CAACiF,KAAK,IAAIxC,SAAS;QAC/BV,QAAQ,EAAE/B,KAAK,CAAC+B,QAAQ,IAAIU,SAAS;QACrC0C,QAAQ,EAAEnF,KAAK,CAACmF,QAAQ,IAAI1C;MAC7B,CAAG;MAAAlD,QAAA,eAEHjB,IAAA;QACCqD,SAAS,EAAGlF,IAAI,CACf,4CAA4C,EAC5C;UACC,qCAAqC,EACpCwH,YAAY,EAAEpD,EAAE,KAAKb,KAAK,CAACa;QAC7B,CACD,CAAG;QAAAtB,QAAA,EAEDS,KAAK,CAACoF,MAAM,CAAE;UACf/B;QACD,CAAE;MAAC,CACC;IAAC,GAnBArD,KAAK,CAACa,EAoBT,CACH,CAAC,EACD,CAAC,CAAEqC,OAAO,EAAE9B,MAAM;IAAA;IACnB;IACA;IACA;IACA;IACA;IAEA;IACA9C,IAAA;MACCqD,SAAS,EAAC,sCAAsC;MAChDY,OAAO,EAAK8C,CAAC,IAAMA,CAAC,CAACC,eAAe,CAAC,CAAG;MAAA/F,QAAA,eAExCjB,IAAA,CAACT,WAAW;QAACwF,IAAI,EAAGA,IAAM;QAACH,OAAO,EAAGA;MAAS,CAAE;IAAC,CAC9C;IACJ,0GACA;EAAA,CACE,CAAC;AAEP;AAEA,SAASqC,SAASA,CAAU;EAC3BrC,OAAO;EACPD,IAAI;EACJ/C,MAAM;EACNiD,SAAS;EACTqC,SAAS,GAAG,KAAK;EACjBrF,YAAY;EACZ6C,iBAAiB;EACjBD,SAAS;EACT1C,eAAe;EACfJ;AACuB,CAAC,EAAG;EAC3B,MAAMwF,cAAc,GAAGnI,MAAM,CAE1B,IAAIoI,GAAG,CAAC,CAAE,CAAC;EACd,MAAMC,oBAAoB,GAAGrI,MAAM,CAAsB,CAAC;EAC1D,MAAM,CAAEsI,qBAAqB,EAAEC,wBAAwB,CAAE,GACxDtI,QAAQ,CAAsB,CAAC;EAChC,MAAMwG,cAAc,GAAG5F,iCAAiC,CAAE+E,OAAO,EAAED,IAAK,CAAC;EAEzE7F,SAAS,CAAE,MAAM;IAChB,IAAKuI,oBAAoB,CAACf,OAAO,EAAG;MACnCe,oBAAoB,CAACf,OAAO,CAACkB,KAAK,CAAC,CAAC;MACpCH,oBAAoB,CAACf,OAAO,GAAGnC,SAAS;IACzC;EACD,CAAE,CAAC;EAEH,MAAMsD,aAAa,GAAG1I,KAAK,CAAC,CAAC;EAE7B,IAAKuI,qBAAqB,EAAG;IAC5B;IACA;IACA;IACA;IACAD,oBAAoB,CAACf,OAAO,GAAGgB,qBAAqB;IACpDC,wBAAwB,CAAEpD,SAAU,CAAC;IACrC;EACD;EAEA,MAAMrC,MAAM,GAAKJ,KAA8B,IAAM;IACpD,MAAMgG,MAAM,GAAGP,cAAc,CAACb,OAAO,CAACqB,GAAG,CAAEjG,KAAK,CAACa,EAAG,CAAC;IACrD,MAAMqF,QAAQ,GAAGF,MAAM,GACpBP,cAAc,CAACb,OAAO,CAACqB,GAAG,CAAED,MAAM,CAACE,QAAS,CAAC,GAC7CzD,SAAS;IACZoD,wBAAwB,CAAEK,QAAQ,EAAEC,IAAK,CAAC;EAC3C,CAAC;EAED,MAAMxD,UAAU,GAAG1C,IAAI,CAACC,MAAM,IAAIA,MAAM,CAACP,GAAG,CAAIiD,CAAC,IAAMA,CAAC,CAAC/B,EAAG,CAAC;EAC7D,MAAMmD,aAAa,GAAG9D,MAAM,CAACT,MAAM,CAChCO,KAAK,IACN2C,UAAU,CAACe,QAAQ,CAAE1D,KAAK,CAACa,EAAG,CAAC,IAC/B,CAAEZ,IAAI,CAACmG,MAAM,EAAEC,UAAU,CAAE,CAAC3C,QAAQ,CAAE1D,KAAK,CAACa,EAAG,CACjD,CAAC;EACD,MAAMyF,OAAO,GAAG,CAAC,CAAErD,IAAI,EAAE7B,MAAM;EAE/B,MAAM6C,YAAY,GAAG/D,MAAM,CAACqG,IAAI,CAC7BvG,KAAK,IAAMA,KAAK,CAACa,EAAE,KAAKZ,IAAI,CAACmG,MAAM,EAAEnC,YACxC,CAAC;EAED,oBACCzF,KAAA,CAAAC,SAAA;IAAAc,QAAA,gBACCf,KAAA;MACCmD,SAAS,EAAC,sBAAsB;MAChC,aAAY6D,SAAW;MACvB,oBAAmBO,aAAe;MAAAxG,QAAA,gBAElCjB,IAAA;QAAAiB,QAAA,eACCf,KAAA;UAAImD,SAAS,EAAC,2BAA2B;UAAApC,QAAA,GACtCwE,cAAc,iBACfzF,IAAA;YACCqD,SAAS,EAAC,uCAAuC;YACjDG,KAAK,EAAG;cACPmD,KAAK,EAAE;YACR,CAAG;YACH,iBAAc,WAAW;YACzBuB,KAAK,EAAC,KAAK;YAAAjH,QAAA,eAEXjB,IAAA,CAACwE,qBAAqB;cACrBC,SAAS,EAAGA,SAAW;cACvBC,iBAAiB,EAAGA,iBAAmB;cACvCC,IAAI,EAAGA,IAAM;cACbC,OAAO,EAAGA,OAAS;cACnBC,SAAS,EAAGA;YAAW,CACvB;UAAC,CACC,CACJ,EACCa,aAAa,CAACrE,GAAG,CAAE,CAAEK,KAAK,EAAEyG,KAAK,kBAClCnI,IAAA;YAECwD,KAAK,EAAG;cACPmD,KAAK,EAAEjF,KAAK,CAACiF,KAAK,IAAIxC,SAAS;cAC/BV,QAAQ,EAAE/B,KAAK,CAAC+B,QAAQ,IAAIU,SAAS;cACrC0C,QAAQ,EAAEnF,KAAK,CAACmF,QAAQ,IAAI1C;YAC7B,CAAG;YACH,iBAAgBzC,KAAK,CAACa,EAAI;YAC1B,aACCZ,IAAI,CAACW,IAAI,EAAEZ,KAAK,KAAKA,KAAK,CAACa,EAAE,GAC1B3C,UAAU,CAAE+B,IAAI,CAACW,IAAI,CAACiB,SAAS,CAAE,GACjCY,SACH;YACD+D,KAAK,EAAC,KAAK;YAAAjH,QAAA,eAEXjB,IAAA,CAACyB,UAAU;cACVO,GAAG,EAAK6F,IAAI,IAAM;gBACjB,IAAKA,IAAI,EAAG;kBACXV,cAAc,CAACb,OAAO,CAAC8B,GAAG,CACzB1G,KAAK,CAACa,EAAE,EACR;oBACCsF,IAAI;oBACJD,QAAQ,EACPlC,aAAa,CACZyC,KAAK,GAAG,CAAC,GACNA,KAAK,GAAG,CAAC,GACT,CAAC,CACJ,EAAE5F;kBACL,CACD,CAAC;gBACF,CAAC,MAAM;kBACN4E,cAAc,CAACb,OAAO,CAAC+B,MAAM,CAC5B3G,KAAK,CAACa,EACP,CAAC;gBACF;cACD,CAAG;cACHb,KAAK,EAAGA,KAAO;cACfC,IAAI,EAAGA,IAAM;cACbC,MAAM,EAAGA,MAAQ;cACjBC,YAAY,EAAGA,YAAc;cAC7BC,MAAM,EAAGA,MAAQ;cACjBC,eAAe,EAAGA;YAAiB,CACnC;UAAC,GAzCIL,KAAK,CAACa,EA0CT,CACH,CAAC,EACD,CAAC,CAAEqC,OAAO,EAAE9B,MAAM,iBACnB9C,IAAA;YACC,iBAAc,SAAS;YACvBqD,SAAS,EAAC,sCAAsC;YAAApC,QAAA,eAEhDjB,IAAA;cAAMqD,SAAS,EAAC,6BAA6B;cAAApC,QAAA,EAC1C7C,EAAE,CAAE,SAAU;YAAC,CACZ;UAAC,CACJ,CACJ;QAAA,CACE;MAAC,CACC,CAAC,eACR4B,IAAA;QAAAiB,QAAA,EACG+G,OAAO,IACRrD,IAAI,CAACtD,GAAG,CAAE,CAAE0D,IAAI,EAAEoD,KAAK,kBACtBnI,IAAA,CAACwF,QAAQ;UAERT,IAAI,EAAGA,IAAM;UACbU,cAAc,EAAGA,cAAgB;UACjCb,OAAO,EAAGA,OAAS;UACnBrC,EAAE,EAAGsC,SAAS,CAAEE,IAAK,CAAC,IAAIoD,KAAK,CAACG,QAAQ,CAAC,CAAG;UAC5C5C,aAAa,EAAGA,aAAe;UAC/BC,YAAY,EAAGA,YAAc;UAC7BlB,SAAS,EAAGA,SAAW;UACvBI,SAAS,EAAGA,SAAW;UACvBH,iBAAiB,EAAGA;QAAmB,GATjCG,SAAS,CAAEE,IAAK,CAUtB,CACA;MAAC,CACE,CAAC;IAAA,CACF,CAAC,eACR/E,IAAA;MACCqD,SAAS,EAAGlF,IAAI,CAAE;QACjB,mBAAmB,EAAE+I,SAAS;QAC9B,sBAAsB,EAAE,CAAEc,OAAO,IAAI,CAAEd;MACxC,CAAE,CAAG;MACL3E,EAAE,EAAGkF,aAAe;MAAAxG,QAAA,EAElB,CAAE+G,OAAO,iBACVhI,IAAA;QAAAiB,QAAA,EAAKiG,SAAS,gBAAGlH,IAAA,CAACpB,OAAO,IAAE,CAAC,GAAGR,EAAE,CAAE,YAAa;MAAC,CAAK;IACtD,CACG,CAAC;EAAA,CACL,CAAC;AAEL;AAEA,eAAe6I,SAAS","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-filter.d.ts","sourceRoot":"","sources":["../src/add-filter.tsx"],"names":[],"mappings":";AAmBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAQtD,UAAU,cAAc;IACvB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;IACrC,eAAe,EAAE,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAM,IAAI,CAAC;CACnD;;AAuDD,wBAAuC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import type { Action } from './types';
|
|
3
|
-
import type { SetSelection } from './private-types';
|
|
4
|
-
interface BulkActionsToolbarProps<Item> {
|
|
5
|
-
data: Item[];
|
|
6
|
-
selection: string[];
|
|
7
|
-
actions: Action<Item>[];
|
|
8
|
-
onSelectionChange: SetSelection;
|
|
9
|
-
getItemId: (item: Item) => string;
|
|
10
|
-
}
|
|
11
|
-
export default function BulkActionsToolbar<Item>({ data, selection, actions, onSelectionChange, getItemId, }: BulkActionsToolbarProps<Item>): import("react").JSX.Element | null;
|
|
12
|
-
export {};
|
|
13
|
-
//# sourceMappingURL=bulk-actions-toolbar.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bulk-actions-toolbar.d.ts","sourceRoot":"","sources":["../src/bulk-actions-toolbar.tsx"],"names":[],"mappings":";AAoBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAgBpD,UAAU,uBAAuB,CAAE,IAAI;IACtC,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,iBAAiB,EAAE,YAAY,CAAC;IAChC,SAAS,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAC;CACpC;AA4KD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAE,IAAI,EAAI,EACnD,IAAI,EACJ,SAAS,EACT,OAAqB,EACrB,iBAAiB,EACjB,SAAS,GACT,EAAE,uBAAuB,CAAE,IAAI,CAAE,sCAqDjC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import type { Action } from './types';
|
|
3
|
-
import type { SetSelection } from './private-types';
|
|
4
|
-
interface BulkActionsProps<Item> {
|
|
5
|
-
data: Item[];
|
|
6
|
-
actions: Action<Item>[];
|
|
7
|
-
selection: string[];
|
|
8
|
-
onSelectionChange: SetSelection;
|
|
9
|
-
getItemId: (item: Item) => string;
|
|
10
|
-
}
|
|
11
|
-
export declare function useHasAPossibleBulkAction<Item>(actions: Action<Item>[], item: Item): boolean;
|
|
12
|
-
export declare function useSomeItemHasAPossibleBulkAction<Item>(actions: Action<Item>[], data: Item[]): boolean;
|
|
13
|
-
export default function BulkActions<Item>({ data, actions, selection, onSelectionChange, getItemId, }: BulkActionsProps<Item>): import("react").JSX.Element | null;
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=bulk-actions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bulk-actions.d.ts","sourceRoot":"","sources":["../src/bulk-actions.tsx"],"names":[],"mappings":";AAgBA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,SAAS,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AA4BpD,UAAU,gBAAgB,CAAE,IAAI;IAC/B,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,EAAE,YAAY,CAAC;IAChC,SAAS,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAC;CACpC;AAED,wBAAgB,yBAAyB,CAAE,IAAI,EAC9C,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,EACzB,IAAI,EAAE,IAAI,WAUV;AAED,wBAAgB,iCAAiC,CAAE,IAAI,EACtD,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,EACzB,IAAI,EAAE,IAAI,EAAE,WAYZ;AA8FD,MAAM,CAAC,OAAO,UAAU,WAAW,CAAE,IAAI,EAAI,EAC5C,IAAI,EACJ,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,SAAS,GACT,EAAE,gBAAgB,CAAE,IAAI,CAAE,sCAqG1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataform.d.ts","sourceRoot":"","sources":["../src/dataform.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAQtD;;GAEG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAmB,MAAM,SAAS,CAAC;AAG5D,KAAK,aAAa,CAAE,IAAI,IAAK;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAE,cAAc,CAAE,IAAI,CAAE,CAAE,CAAC;CAC7C,CAAC;AAwDF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAE,IAAI,EAAI,EACzC,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,QAAQ,GACR,EAAE,aAAa,CAAE,IAAI,CAAE,0CAsBvB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataviews.d.ts","sourceRoot":"","sources":["../src/dataviews.tsx"],"names":[],"mappings":";AA0BA,OAAO,KAAK,EACX,MAAM,EACN,KAAK,EACL,IAAI,EAEJ,gBAAgB,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AAExE,KAAK,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,KAAK,cAAc,CAAE,IAAI,IAAK;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;IACrC,MAAM,EAAE,KAAK,CAAE,IAAI,CAAE,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC3B,IAAI,EAAE,IAAI,EAAE,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,cAAc,EAAE,gBAAgB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iBAAiB,CAAC,EAAE,CAAE,KAAK,EAAE,IAAI,EAAE,KAAM,IAAI,CAAC;CAC9C,GAAG,CAAE,IAAI,SAAS,UAAU,GAC1B;IAAE,SAAS,CAAC,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAA;CAAE,GACxC;IAAE,SAAS,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAA;CAAE,CAAE,CAAC;AAM7C,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,IAAI,EAAI,EAC1C,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,MAAa,EACb,WAAuB,EACvB,OAAY,EACZ,IAAI,EACJ,SAA4B,EAC5B,SAAiB,EACjB,cAAc,EACd,cAAc,EACd,SAAS,EAAE,iBAAiB,EAC5B,YAAY,EAAE,oBAAoB,EAClC,iBAA4C,GAC5C,EAAE,cAAc,CAAE,IAAI,CAAE,+BAyGxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter-summary.d.ts","sourceRoot":"","sources":["../src/filter-summary.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAkCvC,OAAO,KAAK,EAAU,gBAAgB,EAAoB,IAAI,EAAE,MAAM,SAAS,CAAC;AAQhF,UAAU,qBAAqB;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;CACrC;AAED,UAAU,kBAAmB,SAAQ,qBAAqB;IACzD,YAAY,EAAE,SAAS,CAAE,iBAAiB,CAAE,CAAC;IAC7C,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAoKD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAE,EACtC,YAAY,EACZ,YAAY,EACZ,GAAG,WAAW,EACd,EAAE,kBAAkB,+BA0GpB"}
|
package/build-types/filters.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import type { NormalizedField, View } from './types';
|
|
3
|
-
interface FiltersProps<Item> {
|
|
4
|
-
fields: NormalizedField<Item>[];
|
|
5
|
-
view: View;
|
|
6
|
-
onChangeView: (view: View) => void;
|
|
7
|
-
openedFilter: string | null;
|
|
8
|
-
setOpenedFilter: (openedFilter: string | null) => void;
|
|
9
|
-
}
|
|
10
|
-
declare function _Filters<Item>({ fields, view, onChangeView, openedFilter, setOpenedFilter, }: FiltersProps<Item>): import("react").JSX.Element;
|
|
11
|
-
declare const Filters: typeof _Filters;
|
|
12
|
-
export default Filters;
|
|
13
|
-
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../src/filters.tsx"],"names":[],"mappings":";AAcA,OAAO,KAAK,EAAE,eAAe,EAAoB,IAAI,EAAE,MAAM,SAAS,CAAC;AAEvE,UAAU,YAAY,CAAE,IAAI;IAC3B,MAAM,EAAE,eAAe,CAAE,IAAI,CAAE,EAAE,CAAC;IAClC,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,CAAE,YAAY,EAAE,MAAM,GAAG,IAAI,KAAM,IAAI,CAAC;CACzD;AAED,iBAAS,QAAQ,CAAE,IAAI,EAAI,EAC1B,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,eAAe,GACf,EAAE,YAAY,CAAE,IAAI,CAAE,+BAyFtB;AAGD,QAAA,MAAM,OAAO,iBAAsC,CAAC;AAEpD,eAAe,OAAO,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"item-actions.d.ts","sourceRoot":"","sources":["../src/item-actions.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAoB7D,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,SAAS,CAAC;AAUtE,MAAM,WAAW,kBAAkB,CAAE,IAAI;IACxC,MAAM,EAAE,MAAM,CAAE,IAAI,CAAE,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;CACd;AAED,UAAU,gBAAgB,CAAE,IAAI;IAC/B,MAAM,EAAE,eAAe,CAAE,IAAI,CAAE,CAAC;IAChC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,UAAU,oBAAoB,CAAE,IAAI,CAAG,SAAQ,gBAAgB,CAAE,IAAI,CAAE;IACtE,aAAa,EAAE,CAAE,KAAK,EAAE,kBAAkB,CAAE,IAAI,CAAE,KAAM,YAAY,CAAC;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,6BAA6B,CAAE,IAAI;IAC5C,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAC;CACX;AAED,UAAU,gBAAgB,CAAE,IAAI;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAE,IAAI,CAAE,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AA0CD,wBAAgB,WAAW,CAAE,IAAI,EAAI,EACpC,MAAM,EACN,KAAK,EACL,UAAU,GACV,EAAE,gBAAgB,CAAE,IAAI,CAAE,+BAiB1B;AAED,wBAAgB,eAAe,CAAE,IAAI,EAAI,EACxC,MAAM,EACN,KAAK,EACL,aAAa,EACb,MAAM,GACN,EAAE,oBAAoB,CAAE,IAAI,CAAE,+BAsB9B;AAED,wBAAgB,wBAAwB,CAAE,IAAI,EAAI,EACjD,OAAO,EACP,IAAI,GACJ,EAAE,6BAA6B,CAAE,IAAI,CAAE,+BA4BvC;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAE,IAAI,EAAI,EAC5C,IAAI,EACJ,OAAO,EACP,SAAS,GACT,EAAE,gBAAgB,CAAE,IAAI,CAAE,+BAuD1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"layouts.d.ts","sourceRoot":"","sources":["../src/layouts.ts"],"names":[],"mappings":";AAWA;;GAEG;AACH,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,QAAQ,MAAM,aAAa,CAAC;AAGnC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;IAmBxB,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
/**
|
|
3
|
-
* Internal dependencies
|
|
4
|
-
*/
|
|
5
|
-
import type { View } from './types';
|
|
6
|
-
interface PaginationProps {
|
|
7
|
-
view: View;
|
|
8
|
-
onChangeView: (view: View) => void;
|
|
9
|
-
paginationInfo: {
|
|
10
|
-
totalItems: number;
|
|
11
|
-
totalPages: number;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
declare const Pagination: import("react").NamedExoticComponent<PaginationProps>;
|
|
15
|
-
export default Pagination;
|
|
16
|
-
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.tsx"],"names":[],"mappings":";AAYA;;GAEG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,UAAU,eAAe;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;IACrC,cAAc,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;CACF;AAED,QAAA,MAAM,UAAU,uDAyFb,CAAC;AAEJ,eAAe,UAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reset-filters.d.ts","sourceRoot":"","sources":["../src/reset-filters.tsx"],"names":[],"mappings":";AAMA;;GAEG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEtD,UAAU,gBAAgB;IACzB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAE,EACpC,OAAO,EACP,IAAI,EACJ,YAAY,GACZ,EAAE,gBAAgB,+BA8BlB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search-widget.d.ts","sourceRoot":"","sources":["../src/search-widget.tsx"],"names":[],"mappings":";AAwBA,OAAO,KAAK,EAAU,gBAAgB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAQ9D,UAAU,iBAAiB;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,gBAAgB,CAAC;IACzB,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;CACrC;AAoRD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAE,KAAK,EAAE,iBAAiB,+BAG7D"}
|
package/build-types/search.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
/**
|
|
3
|
-
* Internal dependencies
|
|
4
|
-
*/
|
|
5
|
-
import type { View } from './types';
|
|
6
|
-
interface SearchProps {
|
|
7
|
-
label?: string;
|
|
8
|
-
view: View;
|
|
9
|
-
onChangeView: (view: View) => void;
|
|
10
|
-
}
|
|
11
|
-
declare const Search: import("react").NamedExoticComponent<SearchProps>;
|
|
12
|
-
export default Search;
|
|
13
|
-
//# sourceMappingURL=search.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.tsx"],"names":[],"mappings":";AAQA;;GAEG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,UAAU,WAAW;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC;CACrC;AAED,QAAA,MAAM,MAAM,mDAmCT,CAAC;AAEJ,eAAe,MAAM,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
/**
|
|
3
|
-
* Internal dependencies
|
|
4
|
-
*/
|
|
5
|
-
import type { Field } from './types';
|
|
6
|
-
import type { SetSelection } from './private-types';
|
|
7
|
-
interface SingleSelectionCheckboxProps<Item> {
|
|
8
|
-
selection: string[];
|
|
9
|
-
onSelectionChange: SetSelection;
|
|
10
|
-
item: Item;
|
|
11
|
-
getItemId: (item: Item) => string;
|
|
12
|
-
primaryField?: Field<Item>;
|
|
13
|
-
disabled: boolean;
|
|
14
|
-
}
|
|
15
|
-
export default function SingleSelectionCheckbox<Item>({ selection, onSelectionChange, item, getItemId, primaryField, disabled, }: SingleSelectionCheckboxProps<Item>): import("react").JSX.Element;
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=single-selection-checkbox.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"single-selection-checkbox.d.ts","sourceRoot":"","sources":["../src/single-selection-checkbox.tsx"],"names":[],"mappings":";AAMA;;GAEG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,UAAU,4BAA4B,CAAE,IAAI;IAC3C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iBAAiB,EAAE,YAAY,CAAC;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,CAAE,IAAI,EAAE,IAAI,KAAM,MAAM,CAAC;IACpC,YAAY,CAAC,EAAE,KAAK,CAAE,IAAI,CAAE,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAE,IAAI,EAAI,EACxD,SAAS,EACT,iBAAiB,EACjB,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,QAAQ,GACR,EAAE,4BAA4B,CAAE,IAAI,CAAE,+BAoCtC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/stories/fixtures.js"],"names":[],"mappings":"AAgBA;;;;;;;;IAoGE;;;;;;;;;;AAYF;;;;;;;;;;;;;;;;;;;KA8BE;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgEE;6BAlN2B,cAAc"}
|