@wordpress/edit-site 5.20.1 → 5.21.1-next.f8d8eceb.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 +2 -0
- package/build/components/actions/index.js +121 -0
- package/build/components/actions/index.js.map +1 -0
- package/build/components/add-new-template/add-custom-template-modal-content.js +17 -13
- package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build/components/block-editor/resize-handle.js +2 -1
- package/build/components/block-editor/resize-handle.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +12 -4
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/create-template-part-modal/index.js +10 -6
- package/build/components/create-template-part-modal/index.js.map +1 -1
- package/build/components/dataviews/context.js +15 -0
- package/build/components/dataviews/context.js.map +1 -0
- package/build/components/dataviews/dataviews.js +50 -33
- package/build/components/dataviews/dataviews.js.map +1 -1
- package/build/components/dataviews/filters.js +74 -0
- package/build/components/dataviews/filters.js.map +1 -0
- package/build/components/dataviews/in-filter.js +49 -0
- package/build/components/dataviews/in-filter.js.map +1 -0
- package/build/components/dataviews/index.js +0 -7
- package/build/components/dataviews/index.js.map +1 -1
- package/build/components/dataviews/item-actions.js +62 -0
- package/build/components/dataviews/item-actions.js.map +1 -0
- package/build/components/dataviews/pagination.js +74 -45
- package/build/components/dataviews/pagination.js.map +1 -1
- package/build/components/dataviews/{text-filter.js → search.js} +21 -15
- package/build/components/dataviews/search.js.map +1 -0
- package/build/components/dataviews/view-actions.js +94 -56
- package/build/components/dataviews/view-actions.js.map +1 -1
- package/build/components/dataviews/view-grid.js +59 -0
- package/build/components/dataviews/view-grid.js.map +1 -0
- package/build/components/dataviews/view-list.js +283 -0
- package/build/components/dataviews/view-list.js.map +1 -0
- package/build/components/editor/index.js +2 -1
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +16 -10
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +20 -6
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/screen-block.js +2 -10
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-root.js +1 -2
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/ui.js +3 -4
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/layout/index.js +10 -2
- package/build/components/layout/index.js.map +1 -1
- package/build/components/media/index.js +34 -0
- package/build/components/media/index.js.map +1 -0
- package/build/components/page-actions/index.js +0 -2
- package/build/components/page-actions/index.js.map +1 -1
- package/build/components/page-pages/default-views.js +60 -0
- package/build/components/page-pages/default-views.js.map +1 -0
- package/build/components/page-pages/index.js +174 -107
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-patterns/delete-category-menu-item.js +89 -0
- package/build/components/page-patterns/delete-category-menu-item.js.map +1 -0
- package/build/components/page-patterns/duplicate-menu-item.js +52 -131
- package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build/components/page-patterns/grid-item.js +1 -0
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/header.js +25 -3
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/rename-category-menu-item.js +49 -0
- package/build/components/page-patterns/rename-category-menu-item.js.map +1 -0
- package/build/components/page-patterns/rename-menu-item.js +1 -1
- package/build/components/page-patterns/rename-menu-item.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +1 -0
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/pattern-modal/duplicate.js +65 -0
- package/build/components/pattern-modal/duplicate.js.map +1 -0
- package/build/components/pattern-modal/index.js +24 -0
- package/build/components/pattern-modal/index.js.map +1 -0
- package/build/components/pattern-modal/rename.js +42 -0
- package/build/components/pattern-modal/rename.js.map +1 -0
- package/build/components/sidebar/index.js +3 -1
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +72 -0
- package/build/components/sidebar-dataviews/index.js.map +1 -0
- package/build/components/sidebar-edit-mode/template-panel/last-revision.js +3 -0
- package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -2
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -3
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +29 -0
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
- package/build/components/sidebar-navigation-screen-template/home-template-details.js +12 -1
- package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build/hooks/commands/use-common-commands.js +1 -2
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +50 -0
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/lock-unlock.js +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/store/selectors.js +4 -5
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/actions/index.js +108 -0
- package/build-module/components/actions/index.js.map +1 -0
- package/build-module/components/add-new-template/add-custom-template-modal-content.js +16 -12
- package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build-module/components/block-editor/resize-handle.js +2 -1
- package/build-module/components/block-editor/resize-handle.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +12 -4
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/create-template-part-modal/index.js +10 -6
- package/build-module/components/create-template-part-modal/index.js.map +1 -1
- package/build-module/components/dataviews/context.js +7 -0
- package/build-module/components/dataviews/context.js.map +1 -0
- package/build-module/components/dataviews/dataviews.js +49 -32
- package/build-module/components/dataviews/dataviews.js.map +1 -1
- package/build-module/components/dataviews/filters.js +66 -0
- package/build-module/components/dataviews/filters.js.map +1 -0
- package/build-module/components/dataviews/in-filter.js +41 -0
- package/build-module/components/dataviews/in-filter.js.map +1 -0
- package/build-module/components/dataviews/index.js +0 -1
- package/build-module/components/dataviews/index.js.map +1 -1
- package/build-module/components/dataviews/item-actions.js +55 -0
- package/build-module/components/dataviews/item-actions.js.map +1 -0
- package/build-module/components/dataviews/pagination.js +73 -46
- package/build-module/components/dataviews/pagination.js.map +1 -1
- package/build-module/components/dataviews/search.js +42 -0
- package/build-module/components/dataviews/search.js.map +1 -0
- package/build-module/components/dataviews/view-actions.js +95 -54
- package/build-module/components/dataviews/view-actions.js.map +1 -1
- package/build-module/components/dataviews/view-grid.js +51 -0
- package/build-module/components/dataviews/view-grid.js.map +1 -0
- package/build-module/components/dataviews/view-list.js +274 -0
- package/build-module/components/dataviews/view-list.js.map +1 -0
- package/build-module/components/editor/index.js +2 -1
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +16 -10
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +20 -6
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +2 -10
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-root.js +1 -2
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/global-styles/ui.js +3 -4
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/layout/index.js +11 -3
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/media/index.js +26 -0
- package/build-module/components/media/index.js.map +1 -0
- package/build-module/components/page-actions/index.js +0 -2
- package/build-module/components/page-actions/index.js.map +1 -1
- package/build-module/components/page-pages/default-views.js +53 -0
- package/build-module/components/page-pages/default-views.js.map +1 -0
- package/build-module/components/page-pages/index.js +175 -110
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-patterns/delete-category-menu-item.js +82 -0
- package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -0
- package/build-module/components/page-patterns/duplicate-menu-item.js +54 -133
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/grid-item.js +1 -0
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/header.js +26 -4
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/rename-category-menu-item.js +42 -0
- package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -0
- package/build-module/components/page-patterns/rename-menu-item.js +1 -1
- package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +1 -0
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/pattern-modal/duplicate.js +57 -0
- package/build-module/components/pattern-modal/duplicate.js.map +1 -0
- package/build-module/components/pattern-modal/index.js +14 -0
- package/build-module/components/pattern-modal/index.js.map +1 -0
- package/build-module/components/pattern-modal/rename.js +34 -0
- package/build-module/components/pattern-modal/rename.js.map +1 -0
- package/build-module/components/sidebar/index.js +3 -1
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +64 -0
- package/build-module/components/sidebar-dataviews/index.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +3 -0
- package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -2
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -3
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +22 -0
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +12 -1
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build-module/hooks/commands/use-common-commands.js +1 -2
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +51 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/lock-unlock.js +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/store/selectors.js +4 -5
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +48 -11
- package/build-style/style.css +48 -11
- package/package.json +40 -40
- package/src/components/actions/index.js +123 -0
- package/src/components/add-new-template/add-custom-template-modal-content.js +22 -17
- package/src/components/block-editor/resize-handle.js +1 -0
- package/src/components/block-editor/use-site-editor-settings.js +21 -13
- package/src/components/create-template-part-modal/index.js +9 -5
- package/src/components/dataviews/README.md +194 -0
- package/src/components/dataviews/context.js +7 -0
- package/src/components/dataviews/dataviews.js +55 -34
- package/src/components/dataviews/filters.js +75 -0
- package/src/components/dataviews/in-filter.js +45 -0
- package/src/components/dataviews/index.js +0 -1
- package/src/components/dataviews/item-actions.js +69 -0
- package/src/components/dataviews/pagination.js +80 -59
- package/src/components/dataviews/search.js +41 -0
- package/src/components/dataviews/style.scss +18 -3
- package/src/components/dataviews/view-actions.js +108 -63
- package/src/components/dataviews/view-grid.js +65 -0
- package/src/components/dataviews/view-list.js +348 -0
- package/src/components/editor/index.js +2 -0
- package/src/components/global-styles/font-library-modal/context.js +17 -11
- package/src/components/global-styles/font-library-modal/font-collection.js +19 -11
- package/src/components/global-styles/screen-block.js +2 -9
- package/src/components/global-styles/screen-root.js +1 -2
- package/src/components/global-styles/style.scss +16 -4
- package/src/components/global-styles/ui.js +1 -2
- package/src/components/layout/index.js +12 -4
- package/src/components/media/index.js +25 -0
- package/src/components/page-actions/index.js +1 -7
- package/src/components/page-pages/default-views.js +58 -0
- package/src/components/page-pages/index.js +181 -108
- package/src/components/page-pages/style.scss +3 -0
- package/src/components/page-patterns/delete-category-menu-item.js +104 -0
- package/src/components/page-patterns/duplicate-menu-item.js +68 -181
- package/src/components/page-patterns/grid-item.js +1 -0
- package/src/components/page-patterns/header.js +42 -6
- package/src/components/page-patterns/rename-category-menu-item.js +45 -0
- package/src/components/page-patterns/rename-menu-item.js +2 -2
- package/src/components/page-patterns/style.scss +8 -0
- package/src/components/page-patterns/use-patterns.js +5 -0
- package/src/components/pattern-modal/duplicate.js +53 -0
- package/src/components/pattern-modal/index.js +19 -0
- package/src/components/pattern-modal/rename.js +29 -0
- package/src/components/sidebar/index.js +2 -0
- package/src/components/sidebar-dataviews/index.js +65 -0
- package/src/components/sidebar-edit-mode/template-panel/last-revision.js +4 -0
- package/src/components/sidebar-navigation-screen/style.scss +17 -5
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -7
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -8
- package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +32 -0
- package/src/components/sidebar-navigation-screen-template/home-template-details.js +21 -7
- package/src/hooks/commands/use-common-commands.js +1 -2
- package/src/hooks/commands/use-edit-mode-commands.js +43 -0
- package/src/lock-unlock.js +1 -1
- package/src/store/selectors.js +9 -10
- package/src/style.scss +1 -0
- package/build/components/dataviews/list-view.js +0 -89
- package/build/components/dataviews/list-view.js.map +0 -1
- package/build/components/dataviews/text-filter.js.map +0 -1
- package/build-module/components/dataviews/list-view.js +0 -80
- package/build-module/components/dataviews/list-view.js.map +0 -1
- package/build-module/components/dataviews/text-filter.js +0 -36
- package/build-module/components/dataviews/text-filter.js.map +0 -1
- package/src/components/dataviews/list-view.js +0 -106
- package/src/components/dataviews/text-filter.js +0 -37
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","DataviewsContext"],"sources":["@wordpress/edit-site/src/components/dataviews/context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\n\nconst DataviewsContext = createContext( {} );\nexport default DataviewsContext;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,oBAAoB;AAElD,MAAMC,gBAAgB,GAAGD,aAAa,CAAE,CAAC,CAAE,CAAC;AAC5C,eAAeC,gBAAgB"}
|
|
@@ -1,53 +1,70 @@
|
|
|
1
1
|
import { createElement } from "react";
|
|
2
|
-
/**
|
|
3
|
-
* External dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { getCoreRowModel, getFilteredRowModel, getSortedRowModel, getPaginationRowModel, useReactTable } from '@tanstack/react-table';
|
|
6
|
-
|
|
7
2
|
/**
|
|
8
3
|
* WordPress dependencies
|
|
9
4
|
*/
|
|
10
5
|
import { __experimentalVStack as VStack, __experimentalHStack as HStack } from '@wordpress/components';
|
|
6
|
+
import { useMemo } from '@wordpress/element';
|
|
11
7
|
|
|
12
8
|
/**
|
|
13
9
|
* Internal dependencies
|
|
14
10
|
*/
|
|
15
|
-
import
|
|
16
|
-
import
|
|
11
|
+
import ViewList from './view-list';
|
|
12
|
+
import Pagination from './pagination';
|
|
17
13
|
import ViewActions from './view-actions';
|
|
18
|
-
import
|
|
14
|
+
import Filters from './filters';
|
|
15
|
+
import Search from './search';
|
|
16
|
+
import { ViewGrid } from './view-grid';
|
|
19
17
|
export default function DataViews({
|
|
20
|
-
|
|
18
|
+
view,
|
|
19
|
+
onChangeView,
|
|
21
20
|
fields,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
search = true,
|
|
22
|
+
searchLabel = undefined,
|
|
23
|
+
actions,
|
|
24
|
+
data,
|
|
25
|
+
isLoading = false,
|
|
26
|
+
paginationInfo
|
|
25
27
|
}) {
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
getPaginationRowModel: getPaginationRowModel()
|
|
34
|
-
});
|
|
28
|
+
const ViewComponent = view.type === 'list' ? ViewList : ViewGrid;
|
|
29
|
+
const _fields = useMemo(() => {
|
|
30
|
+
return fields.map(field => ({
|
|
31
|
+
...field,
|
|
32
|
+
render: field.render || field.getValue
|
|
33
|
+
}));
|
|
34
|
+
}, [fields]);
|
|
35
35
|
return createElement("div", {
|
|
36
36
|
className: "dataviews-wrapper"
|
|
37
37
|
}, createElement(VStack, {
|
|
38
|
-
spacing: 4
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
38
|
+
spacing: 4,
|
|
39
|
+
justify: "flex-start"
|
|
40
|
+
}, createElement(HStack, null, createElement(HStack, {
|
|
41
|
+
justify: "start"
|
|
42
|
+
}, search && createElement(Search, {
|
|
43
|
+
label: searchLabel,
|
|
44
|
+
view: view,
|
|
45
|
+
onChangeView: onChangeView
|
|
46
|
+
}), createElement(Filters, {
|
|
47
|
+
fields: fields,
|
|
48
|
+
view: view,
|
|
49
|
+
onChangeView: onChangeView
|
|
50
|
+
})), createElement(HStack, {
|
|
51
|
+
justify: "end"
|
|
52
|
+
}, createElement(ViewActions, {
|
|
53
|
+
fields: fields,
|
|
54
|
+
view: view,
|
|
55
|
+
onChangeView: onChangeView
|
|
56
|
+
}))), createElement(ViewComponent, {
|
|
57
|
+
fields: _fields,
|
|
58
|
+
view: view,
|
|
59
|
+
onChangeView: onChangeView,
|
|
60
|
+
paginationInfo: paginationInfo,
|
|
61
|
+
actions: actions,
|
|
62
|
+
data: data,
|
|
47
63
|
isLoading: isLoading
|
|
48
64
|
}), createElement(Pagination, {
|
|
49
|
-
|
|
50
|
-
|
|
65
|
+
view: view,
|
|
66
|
+
onChangeView: onChangeView,
|
|
67
|
+
paginationInfo: paginationInfo
|
|
51
68
|
})));
|
|
52
69
|
}
|
|
53
70
|
//# sourceMappingURL=dataviews.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["__experimentalVStack","VStack","__experimentalHStack","HStack","useMemo","ViewList","Pagination","ViewActions","Filters","Search","ViewGrid","DataViews","view","onChangeView","fields","search","searchLabel","undefined","actions","data","isLoading","paginationInfo","ViewComponent","type","_fields","map","field","render","getValue","createElement","className","spacing","justify","label"],"sources":["@wordpress/edit-site/src/components/dataviews/dataviews.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport ViewList from './view-list';\nimport Pagination from './pagination';\nimport ViewActions from './view-actions';\nimport Filters from './filters';\nimport Search from './search';\nimport { ViewGrid } from './view-grid';\n\nexport default function DataViews( {\n\tview,\n\tonChangeView,\n\tfields,\n\tsearch = true,\n\tsearchLabel = undefined,\n\tactions,\n\tdata,\n\tisLoading = false,\n\tpaginationInfo,\n} ) {\n\tconst ViewComponent = view.type === 'list' ? ViewList : ViewGrid;\n\tconst _fields = useMemo( () => {\n\t\treturn fields.map( ( field ) => ( {\n\t\t\t...field,\n\t\t\trender: field.render || field.getValue,\n\t\t} ) );\n\t}, [ fields ] );\n\treturn (\n\t\t<div className=\"dataviews-wrapper\">\n\t\t\t<VStack spacing={ 4 } justify=\"flex-start\">\n\t\t\t\t<HStack>\n\t\t\t\t\t<HStack justify=\"start\">\n\t\t\t\t\t\t{ search && (\n\t\t\t\t\t\t\t<Search\n\t\t\t\t\t\t\t\tlabel={ searchLabel }\n\t\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Filters\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<HStack justify=\"end\">\n\t\t\t\t\t\t<ViewActions\n\t\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t\t<ViewComponent\n\t\t\t\t\tfields={ _fields }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t/>\n\t\t\t\t<Pagination\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,OAAO,QAAQ,oBAAoB;;AAE5C;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAASC,QAAQ,QAAQ,aAAa;AAEtC,eAAe,SAASC,SAASA,CAAE;EAClCC,IAAI;EACJC,YAAY;EACZC,MAAM;EACNC,MAAM,GAAG,IAAI;EACbC,WAAW,GAAGC,SAAS;EACvBC,OAAO;EACPC,IAAI;EACJC,SAAS,GAAG,KAAK;EACjBC;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAGV,IAAI,CAACW,IAAI,KAAK,MAAM,GAAGlB,QAAQ,GAAGK,QAAQ;EAChE,MAAMc,OAAO,GAAGpB,OAAO,CAAE,MAAM;IAC9B,OAAOU,MAAM,CAACW,GAAG,CAAIC,KAAK,KAAQ;MACjC,GAAGA,KAAK;MACRC,MAAM,EAAED,KAAK,CAACC,MAAM,IAAID,KAAK,CAACE;IAC/B,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEd,MAAM,CAAG,CAAC;EACf,OACCe,aAAA;IAAKC,SAAS,EAAC;EAAmB,GACjCD,aAAA,CAAC5B,MAAM;IAAC8B,OAAO,EAAG,CAAG;IAACC,OAAO,EAAC;EAAY,GACzCH,aAAA,CAAC1B,MAAM,QACN0B,aAAA,CAAC1B,MAAM;IAAC6B,OAAO,EAAC;EAAO,GACpBjB,MAAM,IACPc,aAAA,CAACpB,MAAM;IACNwB,KAAK,EAAGjB,WAAa;IACrBJ,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA;EAAc,CAC7B,CACD,EACDgB,aAAA,CAACrB,OAAO;IACPM,MAAM,EAAGA,MAAQ;IACjBF,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA;EAAc,CAC7B,CACM,CAAC,EACTgB,aAAA,CAAC1B,MAAM;IAAC6B,OAAO,EAAC;EAAK,GACpBH,aAAA,CAACtB,WAAW;IACXO,MAAM,EAAGA,MAAQ;IACjBF,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA;EAAc,CAC7B,CACM,CACD,CAAC,EACTgB,aAAA,CAACP,aAAa;IACbR,MAAM,EAAGU,OAAS;IAClBZ,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA,YAAc;IAC7BQ,cAAc,EAAGA,cAAgB;IACjCH,OAAO,EAAGA,OAAS;IACnBC,IAAI,EAAGA,IAAM;IACbC,SAAS,EAAGA;EAAW,CACvB,CAAC,EACFS,aAAA,CAACvB,UAAU;IACVM,IAAI,EAAGA,IAAM;IACbC,YAAY,EAAGA,YAAc;IAC7BQ,cAAc,EAAGA;EAAgB,CACjC,CACM,CACJ,CAAC;AAER"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* WordPress dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Internal dependencies
|
|
9
|
+
*/
|
|
10
|
+
import InFilter from './in-filter';
|
|
11
|
+
export default function Filters({
|
|
12
|
+
fields,
|
|
13
|
+
view,
|
|
14
|
+
onChangeView
|
|
15
|
+
}) {
|
|
16
|
+
const filterIndex = {};
|
|
17
|
+
fields.forEach(field => {
|
|
18
|
+
if (!field.filters) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
field.filters.forEach(filter => {
|
|
22
|
+
let id = field.id;
|
|
23
|
+
if ('string' === typeof filter) {
|
|
24
|
+
filterIndex[id] = {
|
|
25
|
+
id,
|
|
26
|
+
name: field.header,
|
|
27
|
+
type: filter
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
if ('object' === typeof filter) {
|
|
31
|
+
id = filter.id || field.id;
|
|
32
|
+
filterIndex[id] = {
|
|
33
|
+
id,
|
|
34
|
+
name: filter.name || field.header,
|
|
35
|
+
type: filter.type
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
if ('enumeration' === filterIndex[id]?.type) {
|
|
39
|
+
const elements = [{
|
|
40
|
+
value: filter.resetValue || '',
|
|
41
|
+
label: filter.resetLabel || __('All')
|
|
42
|
+
}, ...(field.elements || [])];
|
|
43
|
+
filterIndex[id] = {
|
|
44
|
+
...filterIndex[id],
|
|
45
|
+
elements
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
return view.visibleFilters?.map(filterName => {
|
|
51
|
+
const filter = filterIndex[filterName];
|
|
52
|
+
if (!filter) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
if (filter.type === 'enumeration') {
|
|
56
|
+
return createElement(InFilter, {
|
|
57
|
+
key: filterName,
|
|
58
|
+
filter: filter,
|
|
59
|
+
view: view,
|
|
60
|
+
onChangeView: onChangeView
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}) || __('No filters available');
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__","InFilter","Filters","fields","view","onChangeView","filterIndex","forEach","field","filters","filter","id","name","header","type","elements","value","resetValue","label","resetLabel","visibleFilters","map","filterName","createElement","key"],"sources":["@wordpress/edit-site/src/components/dataviews/filters.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport InFilter from './in-filter';\n\nexport default function Filters( { fields, view, onChangeView } ) {\n\tconst filterIndex = {};\n\tfields.forEach( ( field ) => {\n\t\tif ( ! field.filters ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfield.filters.forEach( ( filter ) => {\n\t\t\tlet id = field.id;\n\t\t\tif ( 'string' === typeof filter ) {\n\t\t\t\tfilterIndex[ id ] = {\n\t\t\t\t\tid,\n\t\t\t\t\tname: field.header,\n\t\t\t\t\ttype: filter,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( 'object' === typeof filter ) {\n\t\t\t\tid = filter.id || field.id;\n\t\t\t\tfilterIndex[ id ] = {\n\t\t\t\t\tid,\n\t\t\t\t\tname: filter.name || field.header,\n\t\t\t\t\ttype: filter.type,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( 'enumeration' === filterIndex[ id ]?.type ) {\n\t\t\t\tconst elements = [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: filter.resetValue || '',\n\t\t\t\t\t\tlabel: filter.resetLabel || __( 'All' ),\n\t\t\t\t\t},\n\t\t\t\t\t...( field.elements || [] ),\n\t\t\t\t];\n\t\t\t\tfilterIndex[ id ] = {\n\t\t\t\t\t...filterIndex[ id ],\n\t\t\t\t\telements,\n\t\t\t\t};\n\t\t\t}\n\t\t} );\n\t} );\n\n\treturn (\n\t\tview.visibleFilters?.map( ( filterName ) => {\n\t\t\tconst filter = filterIndex[ filterName ];\n\n\t\t\tif ( ! filter ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( filter.type === 'enumeration' ) {\n\t\t\t\treturn (\n\t\t\t\t\t<InFilter\n\t\t\t\t\t\tkey={ filterName }\n\t\t\t\t\t\tfilter={ filter }\n\t\t\t\t\t\tview={ view }\n\t\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn null;\n\t\t} ) || __( 'No filters available' )\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,aAAa;AAElC,eAAe,SAASC,OAAOA,CAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,EAAG;EACjE,MAAMC,WAAW,GAAG,CAAC,CAAC;EACtBH,MAAM,CAACI,OAAO,CAAIC,KAAK,IAAM;IAC5B,IAAK,CAAEA,KAAK,CAACC,OAAO,EAAG;MACtB;IACD;IAEAD,KAAK,CAACC,OAAO,CAACF,OAAO,CAAIG,MAAM,IAAM;MACpC,IAAIC,EAAE,GAAGH,KAAK,CAACG,EAAE;MACjB,IAAK,QAAQ,KAAK,OAAOD,MAAM,EAAG;QACjCJ,WAAW,CAAEK,EAAE,CAAE,GAAG;UACnBA,EAAE;UACFC,IAAI,EAAEJ,KAAK,CAACK,MAAM;UAClBC,IAAI,EAAEJ;QACP,CAAC;MACF;MAEA,IAAK,QAAQ,KAAK,OAAOA,MAAM,EAAG;QACjCC,EAAE,GAAGD,MAAM,CAACC,EAAE,IAAIH,KAAK,CAACG,EAAE;QAC1BL,WAAW,CAAEK,EAAE,CAAE,GAAG;UACnBA,EAAE;UACFC,IAAI,EAAEF,MAAM,CAACE,IAAI,IAAIJ,KAAK,CAACK,MAAM;UACjCC,IAAI,EAAEJ,MAAM,CAACI;QACd,CAAC;MACF;MAEA,IAAK,aAAa,KAAKR,WAAW,CAAEK,EAAE,CAAE,EAAEG,IAAI,EAAG;QAChD,MAAMC,QAAQ,GAAG,CAChB;UACCC,KAAK,EAAEN,MAAM,CAACO,UAAU,IAAI,EAAE;UAC9BC,KAAK,EAAER,MAAM,CAACS,UAAU,IAAInB,EAAE,CAAE,KAAM;QACvC,CAAC,EACD,IAAKQ,KAAK,CAACO,QAAQ,IAAI,EAAE,CAAE,CAC3B;QACDT,WAAW,CAAEK,EAAE,CAAE,GAAG;UACnB,GAAGL,WAAW,CAAEK,EAAE,CAAE;UACpBI;QACD,CAAC;MACF;IACD,CAAE,CAAC;EACJ,CAAE,CAAC;EAEH,OACCX,IAAI,CAACgB,cAAc,EAAEC,GAAG,CAAIC,UAAU,IAAM;IAC3C,MAAMZ,MAAM,GAAGJ,WAAW,CAAEgB,UAAU,CAAE;IAExC,IAAK,CAAEZ,MAAM,EAAG;MACf,OAAO,IAAI;IACZ;IAEA,IAAKA,MAAM,CAACI,IAAI,KAAK,aAAa,EAAG;MACpC,OACCS,aAAA,CAACtB,QAAQ;QACRuB,GAAG,EAAGF,UAAY;QAClBZ,MAAM,EAAGA,MAAQ;QACjBN,IAAI,EAAGA,IAAM;QACbC,YAAY,EAAGA;MAAc,CAC7B,CAAC;IAEJ;IAEA,OAAO,IAAI;EACZ,CAAE,CAAC,IAAIL,EAAE,CAAE,sBAAuB,CAAC;AAErC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* WordPress dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper, SelectControl } from '@wordpress/components';
|
|
6
|
+
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
import { unlock } from '../../lock-unlock';
|
|
12
|
+
const {
|
|
13
|
+
cleanEmptyObject
|
|
14
|
+
} = unlock(blockEditorPrivateApis);
|
|
15
|
+
export default (({
|
|
16
|
+
filter,
|
|
17
|
+
view,
|
|
18
|
+
onChangeView
|
|
19
|
+
}) => {
|
|
20
|
+
return createElement(SelectControl, {
|
|
21
|
+
value: view.filters[filter.id],
|
|
22
|
+
prefix: createElement(InputControlPrefixWrapper, {
|
|
23
|
+
as: "span",
|
|
24
|
+
className: "dataviews__select-control-prefix"
|
|
25
|
+
}, filter.name + ':'),
|
|
26
|
+
options: filter.elements,
|
|
27
|
+
onChange: value => {
|
|
28
|
+
if (value === '') {
|
|
29
|
+
value = undefined;
|
|
30
|
+
}
|
|
31
|
+
onChangeView(currentView => ({
|
|
32
|
+
...currentView,
|
|
33
|
+
filters: cleanEmptyObject({
|
|
34
|
+
...currentView.filters,
|
|
35
|
+
[filter.id]: value
|
|
36
|
+
})
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=in-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","SelectControl","privateApis","blockEditorPrivateApis","unlock","cleanEmptyObject","filter","view","onChangeView","createElement","value","filters","id","prefix","as","className","name","options","elements","onChange","undefined","currentView"],"sources":["@wordpress/edit-site/src/components/dataviews/in-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\tSelectControl,\n} from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nexport default ( { filter, view, onChangeView } ) => {\n\treturn (\n\t\t<SelectControl\n\t\t\tvalue={ view.filters[ filter.id ] }\n\t\t\tprefix={\n\t\t\t\t<InputControlPrefixWrapper\n\t\t\t\t\tas=\"span\"\n\t\t\t\t\tclassName=\"dataviews__select-control-prefix\"\n\t\t\t\t>\n\t\t\t\t\t{ filter.name + ':' }\n\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t}\n\t\t\toptions={ filter.elements }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tif ( value === '' ) {\n\t\t\t\t\tvalue = undefined;\n\t\t\t\t}\n\n\t\t\t\tonChangeView( ( currentView ) => ( {\n\t\t\t\t\t...currentView,\n\t\t\t\t\tfilters: cleanEmptyObject( {\n\t\t\t\t\t\t...currentView.filters,\n\t\t\t\t\t\t[ filter.id ]: value,\n\t\t\t\t\t} ),\n\t\t\t\t} ) );\n\t\t\t} }\n\t\t/>\n\t);\n};\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,uCAAuC,IAAIC,yBAAyB,EACpEC,aAAa,QACP,uBAAuB;AAC9B,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAE/E;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAiB,CAAC,GAAGD,MAAM,CAAED,sBAAuB,CAAC;AAE7D,gBAAe,CAAE;EAAEG,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,KAAM;EACpD,OACCC,aAAA,CAACR,aAAa;IACbS,KAAK,EAAGH,IAAI,CAACI,OAAO,CAAEL,MAAM,CAACM,EAAE,CAAI;IACnCC,MAAM,EACLJ,aAAA,CAACT,yBAAyB;MACzBc,EAAE,EAAC,MAAM;MACTC,SAAS,EAAC;IAAkC,GAE1CT,MAAM,CAACU,IAAI,GAAG,GACU,CAC3B;IACDC,OAAO,EAAGX,MAAM,CAACY,QAAU;IAC3BC,QAAQ,EAAKT,KAAK,IAAM;MACvB,IAAKA,KAAK,KAAK,EAAE,EAAG;QACnBA,KAAK,GAAGU,SAAS;MAClB;MAEAZ,YAAY,CAAIa,WAAW,KAAQ;QAClC,GAAGA,WAAW;QACdV,OAAO,EAAEN,gBAAgB,CAAE;UAC1B,GAAGgB,WAAW,CAACV,OAAO;UACtB,CAAEL,MAAM,CAACM,EAAE,GAAIF;QAChB,CAAE;MACH,CAAC,CAAG,CAAC;IACN;EAAG,CACH,CAAC;AAEJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["default","DataViews"
|
|
1
|
+
{"version":3,"names":["default","DataViews"],"sources":["@wordpress/edit-site/src/components/dataviews/index.js"],"sourcesContent":["export { default as DataViews } from './dataviews';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,aAAa"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* WordPress dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { DropdownMenu, MenuGroup, MenuItem, Button, __experimentalHStack as HStack } from '@wordpress/components';
|
|
6
|
+
import { __ } from '@wordpress/i18n';
|
|
7
|
+
import { useMemo } from '@wordpress/element';
|
|
8
|
+
import { moreVertical } from '@wordpress/icons';
|
|
9
|
+
export default function ItemActions({
|
|
10
|
+
item,
|
|
11
|
+
actions
|
|
12
|
+
}) {
|
|
13
|
+
const {
|
|
14
|
+
primaryActions,
|
|
15
|
+
secondaryActions
|
|
16
|
+
} = useMemo(() => {
|
|
17
|
+
return actions.reduce((accumulator, action) => {
|
|
18
|
+
// If an action is eligible for all items, doesn't need
|
|
19
|
+
// to provide the `isEligible` function.
|
|
20
|
+
if (action.isEligible && !action.isEligible(item)) {
|
|
21
|
+
return accumulator;
|
|
22
|
+
}
|
|
23
|
+
if (action.isPrimary && !!action.icon) {
|
|
24
|
+
accumulator.primaryActions.push(action);
|
|
25
|
+
} else {
|
|
26
|
+
accumulator.secondaryActions.push(action);
|
|
27
|
+
}
|
|
28
|
+
return accumulator;
|
|
29
|
+
}, {
|
|
30
|
+
primaryActions: [],
|
|
31
|
+
secondaryActions: []
|
|
32
|
+
});
|
|
33
|
+
}, [actions, item]);
|
|
34
|
+
if (!primaryActions.length && !secondaryActions.length) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
return createElement(HStack, {
|
|
38
|
+
justify: "flex-end"
|
|
39
|
+
}, !!primaryActions.length && primaryActions.map(action => createElement(Button, {
|
|
40
|
+
label: action.label,
|
|
41
|
+
key: action.id,
|
|
42
|
+
icon: action.icon,
|
|
43
|
+
onClick: () => action.perform(item),
|
|
44
|
+
isDestructive: action.isDestructive,
|
|
45
|
+
size: "compact"
|
|
46
|
+
})), !!secondaryActions.length && createElement(DropdownMenu, {
|
|
47
|
+
icon: moreVertical,
|
|
48
|
+
label: __('Actions')
|
|
49
|
+
}, () => createElement(MenuGroup, null, secondaryActions.map(action => createElement(MenuItem, {
|
|
50
|
+
key: action.id,
|
|
51
|
+
onClick: () => action.perform(item),
|
|
52
|
+
isDestructive: action.isDestructive
|
|
53
|
+
}, action.label)))));
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=item-actions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DropdownMenu","MenuGroup","MenuItem","Button","__experimentalHStack","HStack","__","useMemo","moreVertical","ItemActions","item","actions","primaryActions","secondaryActions","reduce","accumulator","action","isEligible","isPrimary","icon","push","length","createElement","justify","map","label","key","id","onClick","perform","isDestructive","size"],"sources":["@wordpress/edit-site/src/components/dataviews/item-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tButton,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\n\nexport default function ItemActions( { item, actions } ) {\n\tconst { primaryActions, secondaryActions } = useMemo( () => {\n\t\treturn actions.reduce(\n\t\t\t( accumulator, action ) => {\n\t\t\t\t// If an action is eligible for all items, doesn't need\n\t\t\t\t// to provide the `isEligible` function.\n\t\t\t\tif ( action.isEligible && ! action.isEligible( item ) ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\t\t\t\tif ( action.isPrimary && !! action.icon ) {\n\t\t\t\t\taccumulator.primaryActions.push( action );\n\t\t\t\t} else {\n\t\t\t\t\taccumulator.secondaryActions.push( action );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{ primaryActions: [], secondaryActions: [] }\n\t\t);\n\t}, [ actions, item ] );\n\tif ( ! primaryActions.length && ! secondaryActions.length ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<HStack justify=\"flex-end\">\n\t\t\t{ !! primaryActions.length &&\n\t\t\t\tprimaryActions.map( ( action ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ action.label }\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\ticon={ action.icon }\n\t\t\t\t\t\tonClick={ () => action.perform( item ) }\n\t\t\t\t\t\tisDestructive={ action.isDestructive }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t{ !! secondaryActions.length && (\n\t\t\t\t<DropdownMenu icon={ moreVertical } label={ __( 'Actions' ) }>\n\t\t\t\t\t{ () => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ secondaryActions.map( ( action ) => (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\t\tonClick={ () => action.perform( item ) }\n\t\t\t\t\t\t\t\t\tisDestructive={ action.isDestructive }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ action.label }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,YAAY,EACZC,SAAS,EACTC,QAAQ,EACRC,MAAM,EACNC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,eAAe,SAASC,WAAWA,CAAE;EAAEC,IAAI;EAAEC;AAAQ,CAAC,EAAG;EACxD,MAAM;IAAEC,cAAc;IAAEC;EAAiB,CAAC,GAAGN,OAAO,CAAE,MAAM;IAC3D,OAAOI,OAAO,CAACG,MAAM,CACpB,CAAEC,WAAW,EAAEC,MAAM,KAAM;MAC1B;MACA;MACA,IAAKA,MAAM,CAACC,UAAU,IAAI,CAAED,MAAM,CAACC,UAAU,CAAEP,IAAK,CAAC,EAAG;QACvD,OAAOK,WAAW;MACnB;MACA,IAAKC,MAAM,CAACE,SAAS,IAAI,CAAC,CAAEF,MAAM,CAACG,IAAI,EAAG;QACzCJ,WAAW,CAACH,cAAc,CAACQ,IAAI,CAAEJ,MAAO,CAAC;MAC1C,CAAC,MAAM;QACND,WAAW,CAACF,gBAAgB,CAACO,IAAI,CAAEJ,MAAO,CAAC;MAC5C;MACA,OAAOD,WAAW;IACnB,CAAC,EACD;MAAEH,cAAc,EAAE,EAAE;MAAEC,gBAAgB,EAAE;IAAG,CAC5C,CAAC;EACF,CAAC,EAAE,CAAEF,OAAO,EAAED,IAAI,CAAG,CAAC;EACtB,IAAK,CAAEE,cAAc,CAACS,MAAM,IAAI,CAAER,gBAAgB,CAACQ,MAAM,EAAG;IAC3D,OAAO,IAAI;EACZ;EACA,OACCC,aAAA,CAACjB,MAAM;IAACkB,OAAO,EAAC;EAAU,GACvB,CAAC,CAAEX,cAAc,CAACS,MAAM,IACzBT,cAAc,CAACY,GAAG,CAAIR,MAAM,IAC3BM,aAAA,CAACnB,MAAM;IACNsB,KAAK,EAAGT,MAAM,CAACS,KAAO;IACtBC,GAAG,EAAGV,MAAM,CAACW,EAAI;IACjBR,IAAI,EAAGH,MAAM,CAACG,IAAM;IACpBS,OAAO,EAAGA,CAAA,KAAMZ,MAAM,CAACa,OAAO,CAAEnB,IAAK,CAAG;IACxCoB,aAAa,EAAGd,MAAM,CAACc,aAAe;IACtCC,IAAI,EAAC;EAAS,CACd,CACA,CAAC,EACF,CAAC,CAAElB,gBAAgB,CAACQ,MAAM,IAC3BC,aAAA,CAACtB,YAAY;IAACmB,IAAI,EAAGX,YAAc;IAACiB,KAAK,EAAGnB,EAAE,CAAE,SAAU;EAAG,GAC1D,MACDgB,aAAA,CAACrB,SAAS,QACPY,gBAAgB,CAACW,GAAG,CAAIR,MAAM,IAC/BM,aAAA,CAACpB,QAAQ;IACRwB,GAAG,EAAGV,MAAM,CAACW,EAAI;IACjBC,OAAO,EAAGA,CAAA,KAAMZ,MAAM,CAACa,OAAO,CAAEnB,IAAK,CAAG;IACxCoB,aAAa,EAAGd,MAAM,CAACc;EAAe,GAEpCd,MAAM,CAACS,KACA,CACT,CACQ,CAEC,CAER,CAAC;AAEX"}
|
|
@@ -5,23 +5,18 @@ import { createElement } from "react";
|
|
|
5
5
|
import { Button, __experimentalHStack as HStack, __experimentalText as Text, __experimentalNumberControl as NumberControl } from '@wordpress/components';
|
|
6
6
|
import { createInterpolateElement } from '@wordpress/element';
|
|
7
7
|
import { sprintf, __, _x, _n } from '@wordpress/i18n';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
// using this one.
|
|
17
|
-
export function Pagination({
|
|
18
|
-
dataView,
|
|
19
|
-
// If passed, use it, as it's for controlled pagination.
|
|
20
|
-
totalItems = 0
|
|
8
|
+
import { chevronRight, chevronLeft, previous, next } from '@wordpress/icons';
|
|
9
|
+
function Pagination({
|
|
10
|
+
view,
|
|
11
|
+
onChangeView,
|
|
12
|
+
paginationInfo: {
|
|
13
|
+
totalItems = 0,
|
|
14
|
+
totalPages
|
|
15
|
+
}
|
|
21
16
|
}) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
if (!totalItems || !totalPages) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
25
20
|
return createElement(HStack, {
|
|
26
21
|
expanded: false,
|
|
27
22
|
spacing: 3,
|
|
@@ -33,51 +28,83 @@ export function Pagination({
|
|
|
33
28
|
// translators: %s: Total number of entries.
|
|
34
29
|
sprintf(
|
|
35
30
|
// translators: %s: Total number of entries.
|
|
36
|
-
_n('%s item', '%s items',
|
|
31
|
+
_n('%s item', '%s items', totalItems), totalItems)), !!totalItems && createElement(HStack, {
|
|
32
|
+
expanded: false,
|
|
33
|
+
spacing: 3
|
|
34
|
+
}, createElement(HStack, {
|
|
35
|
+
justify: "flex-start",
|
|
37
36
|
expanded: false,
|
|
38
37
|
spacing: 1
|
|
39
38
|
}, createElement(Button, {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"
|
|
49
|
-
}
|
|
39
|
+
onClick: () => onChangeView({
|
|
40
|
+
...view,
|
|
41
|
+
page: 1
|
|
42
|
+
}),
|
|
43
|
+
disabled: view.page === 1,
|
|
44
|
+
label: __('First page'),
|
|
45
|
+
icon: previous,
|
|
46
|
+
showTooltip: true,
|
|
47
|
+
size: "compact"
|
|
48
|
+
}), createElement(Button, {
|
|
49
|
+
onClick: () => onChangeView({
|
|
50
|
+
...view,
|
|
51
|
+
page: view.page - 1
|
|
52
|
+
}),
|
|
53
|
+
disabled: view.page === 1,
|
|
54
|
+
label: __('Previous page'),
|
|
55
|
+
icon: chevronLeft,
|
|
56
|
+
showTooltip: true,
|
|
57
|
+
size: "compact"
|
|
58
|
+
})), createElement(HStack, {
|
|
50
59
|
justify: "flex-start",
|
|
51
60
|
expanded: false,
|
|
52
|
-
spacing:
|
|
61
|
+
spacing: 2
|
|
53
62
|
}, createInterpolateElement(sprintf(
|
|
54
63
|
// translators: %1$s: Current page number, %2$s: Total number of pages.
|
|
55
|
-
_x('<CurrenPageControl /> of %2$s', 'paging'),
|
|
64
|
+
_x('<CurrenPageControl /> of %2$s', 'paging'), view.page, totalPages), {
|
|
56
65
|
CurrenPageControl: createElement(NumberControl, {
|
|
57
66
|
"aria-label": __('Current page'),
|
|
58
67
|
min: 1,
|
|
59
|
-
max:
|
|
68
|
+
max: totalPages,
|
|
60
69
|
onChange: value => {
|
|
61
|
-
if (value >
|
|
62
|
-
|
|
70
|
+
if (!value || value < 1 || value > totalPages) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
onChangeView({
|
|
74
|
+
...view,
|
|
75
|
+
page: value
|
|
76
|
+
});
|
|
63
77
|
},
|
|
64
78
|
step: "1",
|
|
65
|
-
value:
|
|
79
|
+
value: view.page,
|
|
66
80
|
isDragEnabled: false,
|
|
67
81
|
spinControls: "none"
|
|
68
82
|
})
|
|
69
|
-
})), createElement(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
83
|
+
})), createElement(HStack, {
|
|
84
|
+
justify: "flex-start",
|
|
85
|
+
expanded: false,
|
|
86
|
+
spacing: 1
|
|
87
|
+
}, createElement(Button, {
|
|
88
|
+
onClick: () => onChangeView({
|
|
89
|
+
...view,
|
|
90
|
+
page: view.page + 1
|
|
91
|
+
}),
|
|
92
|
+
disabled: view.page >= totalPages,
|
|
93
|
+
label: __('Next page'),
|
|
94
|
+
icon: chevronRight,
|
|
95
|
+
showTooltip: true,
|
|
96
|
+
size: "compact"
|
|
97
|
+
}), createElement(Button, {
|
|
98
|
+
onClick: () => onChangeView({
|
|
99
|
+
...view,
|
|
100
|
+
page: totalPages
|
|
101
|
+
}),
|
|
102
|
+
disabled: view.page >= totalPages,
|
|
103
|
+
label: __('Last page'),
|
|
104
|
+
icon: next,
|
|
105
|
+
showTooltip: true,
|
|
106
|
+
size: "compact"
|
|
107
|
+
}))));
|
|
82
108
|
}
|
|
109
|
+
export default Pagination;
|
|
83
110
|
//# sourceMappingURL=pagination.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","__experimentalHStack","HStack","__experimentalText","Text","__experimentalNumberControl","NumberControl","createInterpolateElement","sprintf","__","_x","_n","
|
|
1
|
+
{"version":3,"names":["Button","__experimentalHStack","HStack","__experimentalText","Text","__experimentalNumberControl","NumberControl","createInterpolateElement","sprintf","__","_x","_n","chevronRight","chevronLeft","previous","next","Pagination","view","onChangeView","paginationInfo","totalItems","totalPages","createElement","expanded","spacing","justify","className","variant","onClick","page","disabled","label","icon","showTooltip","size","CurrenPageControl","min","max","onChange","value","step","isDragEnabled","spinControls"],"sources":["@wordpress/edit-site/src/components/dataviews/pagination.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n\t__experimentalNumberControl as NumberControl,\n} from '@wordpress/components';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { sprintf, __, _x, _n } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft, previous, next } from '@wordpress/icons';\n\nfunction Pagination( {\n\tview,\n\tonChangeView,\n\tpaginationInfo: { totalItems = 0, totalPages },\n} ) {\n\tif ( ! totalItems || ! totalPages ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<HStack\n\t\t\texpanded={ false }\n\t\t\tspacing={ 3 }\n\t\t\tjustify=\"space-between\"\n\t\t\tclassName=\"dataviews-pagination\"\n\t\t>\n\t\t\t<Text variant=\"muted\">\n\t\t\t\t{\n\t\t\t\t\t// translators: %s: Total number of entries.\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Total number of entries.\n\t\t\t\t\t\t_n( '%s item', '%s items', totalItems ),\n\t\t\t\t\t\ttotalItems\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</Text>\n\t\t\t{ !! totalItems && (\n\t\t\t\t<HStack expanded={ false } spacing={ 3 }>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonChangeView( { ...view, page: 1 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ view.page === 1 }\n\t\t\t\t\t\t\tlabel={ __( 'First page' ) }\n\t\t\t\t\t\t\ticon={ previous }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page - 1 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ view.page === 1 }\n\t\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %1$s: Current page number, %2$s: Total number of pages.\n\t\t\t\t\t\t\t\t_x( '<CurrenPageControl /> of %2$s', 'paging' ),\n\t\t\t\t\t\t\t\tview.page,\n\t\t\t\t\t\t\t\ttotalPages\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tCurrenPageControl: (\n\t\t\t\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\t\t\t\taria-label={ __( 'Current page' ) }\n\t\t\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\t\t\tmax={ totalPages }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t! value ||\n\t\t\t\t\t\t\t\t\t\t\t\tvalue < 1 ||\n\t\t\t\t\t\t\t\t\t\t\t\tvalue > totalPages\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t}\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\tpage: value,\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\tstep=\"1\"\n\t\t\t\t\t\t\t\t\t\tvalue={ view.page }\n\t\t\t\t\t\t\t\t\t\tisDragEnabled={ false }\n\t\t\t\t\t\t\t\t\t\tspinControls=\"none\"\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</HStack>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonChangeView( { ...view, page: view.page + 1 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ view.page >= totalPages }\n\t\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonChangeView( { ...view, page: totalPages } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ view.page >= totalPages }\n\t\t\t\t\t\t\tlabel={ __( 'Last page' ) }\n\t\t\t\t\t\t\ticon={ next }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n\nexport default Pagination;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* WordPress dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { useEffect, useRef } from '@wordpress/element';
|
|
7
|
+
import { SearchControl } from '@wordpress/components';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import useDebouncedInput from '../../utils/use-debounced-input';
|
|
13
|
+
export default function Search({
|
|
14
|
+
label,
|
|
15
|
+
view,
|
|
16
|
+
onChangeView
|
|
17
|
+
}) {
|
|
18
|
+
const [search, setSearch, debouncedSearch] = useDebouncedInput(view.search);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
setSearch(view.search);
|
|
21
|
+
}, [view]);
|
|
22
|
+
const onChangeViewRef = useRef(onChangeView);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
onChangeViewRef.current = onChangeView;
|
|
25
|
+
}, [onChangeView]);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
onChangeViewRef.current(currentView => ({
|
|
28
|
+
...currentView,
|
|
29
|
+
page: 1,
|
|
30
|
+
search: debouncedSearch
|
|
31
|
+
}));
|
|
32
|
+
}, [debouncedSearch]);
|
|
33
|
+
const searchLabel = label || __('Filter list');
|
|
34
|
+
return createElement(SearchControl, {
|
|
35
|
+
onChange: setSearch,
|
|
36
|
+
value: search,
|
|
37
|
+
label: searchLabel,
|
|
38
|
+
placeholder: searchLabel,
|
|
39
|
+
size: "compact"
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__","useEffect","useRef","SearchControl","useDebouncedInput","Search","label","view","onChangeView","search","setSearch","debouncedSearch","onChangeViewRef","current","currentView","page","searchLabel","createElement","onChange","value","placeholder","size"],"sources":["@wordpress/edit-site/src/components/dataviews/search.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { SearchControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport useDebouncedInput from '../../utils/use-debounced-input';\n\nexport default function Search( { label, view, onChangeView } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput(\n\t\tview.search\n\t);\n\tuseEffect( () => {\n\t\tsetSearch( view.search );\n\t}, [ view ] );\n\tconst onChangeViewRef = useRef( onChangeView );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current = onChangeView;\n\t}, [ onChangeView ] );\n\tuseEffect( () => {\n\t\tonChangeViewRef.current( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tpage: 1,\n\t\t\tsearch: debouncedSearch,\n\t\t} ) );\n\t}, [ debouncedSearch ] );\n\tconst searchLabel = label || __( 'Filter list' );\n\treturn (\n\t\t<SearchControl\n\t\t\tonChange={ setSearch }\n\t\t\tvalue={ search }\n\t\t\tlabel={ searchLabel }\n\t\t\tplaceholder={ searchLabel }\n\t\t\tsize=\"compact\"\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACtD,SAASC,aAAa,QAAQ,uBAAuB;;AAErD;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,iCAAiC;AAE/D,eAAe,SAASC,MAAMA,CAAE;EAAEC,KAAK;EAAEC,IAAI;EAAEC;AAAa,CAAC,EAAG;EAC/D,MAAM,CAAEC,MAAM,EAAEC,SAAS,EAAEC,eAAe,CAAE,GAAGP,iBAAiB,CAC/DG,IAAI,CAACE,MACN,CAAC;EACDR,SAAS,CAAE,MAAM;IAChBS,SAAS,CAAEH,IAAI,CAACE,MAAO,CAAC;EACzB,CAAC,EAAE,CAAEF,IAAI,CAAG,CAAC;EACb,MAAMK,eAAe,GAAGV,MAAM,CAAEM,YAAa,CAAC;EAC9CP,SAAS,CAAE,MAAM;IAChBW,eAAe,CAACC,OAAO,GAAGL,YAAY;EACvC,CAAC,EAAE,CAAEA,YAAY,CAAG,CAAC;EACrBP,SAAS,CAAE,MAAM;IAChBW,eAAe,CAACC,OAAO,CAAIC,WAAW,KAAQ;MAC7C,GAAGA,WAAW;MACdC,IAAI,EAAE,CAAC;MACPN,MAAM,EAAEE;IACT,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEA,eAAe,CAAG,CAAC;EACxB,MAAMK,WAAW,GAAGV,KAAK,IAAIN,EAAE,CAAE,aAAc,CAAC;EAChD,OACCiB,aAAA,CAACd,aAAa;IACbe,QAAQ,EAAGR,SAAW;IACtBS,KAAK,EAAGV,MAAQ;IAChBH,KAAK,EAAGU,WAAa;IACrBI,WAAW,EAAGJ,WAAa;IAC3BK,IAAI,EAAC;EAAS,CACd,CAAC;AAEJ"}
|