@wordpress/dataviews 4.3.0 → 4.3.1-next.1f6eadc42.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/build/components/dataviews-filters/search-widget.js +5 -13
- package/build/components/dataviews-filters/search-widget.js.map +1 -1
- package/build/dataviews-layouts/list/index.js +9 -9
- package/build/dataviews-layouts/list/index.js.map +1 -1
- package/build-module/components/dataviews-filters/search-widget.js +5 -13
- package/build-module/components/dataviews-filters/search-widget.js.map +1 -1
- package/build-module/dataviews-layouts/list/index.js +9 -9
- package/build-module/dataviews-layouts/list/index.js.map +1 -1
- package/build-style/style-rtl.css +0 -4
- package/build-style/style.css +0 -4
- package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
- package/build-types/components/dataviews/stories/index.story.d.ts +1 -0
- package/build-types/components/dataviews/stories/index.story.d.ts.map +1 -1
- package/build-types/components/dataviews-filters/search-widget.d.ts +3 -0
- package/build-types/components/dataviews-filters/search-widget.d.ts.map +1 -1
- package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/components/dataviews/stories/fixtures.tsx +9 -1
- package/src/components/dataviews/stories/index.story.tsx +35 -13
- package/src/components/dataviews/stories/style.css +4 -0
- package/src/components/dataviews-filters/search-widget.tsx +6 -19
- package/src/dataviews-layouts/list/index.tsx +14 -15
- package/src/dataviews-layouts/table/style.scss +0 -4
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -13,7 +13,6 @@ var _element = require("@wordpress/element");
|
|
|
13
13
|
var _components = require("@wordpress/components");
|
|
14
14
|
var _icons = require("@wordpress/icons");
|
|
15
15
|
var _primitives = require("@wordpress/primitives");
|
|
16
|
-
var _lockUnlock = require("../../lock-unlock");
|
|
17
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -30,12 +29,6 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
|
|
|
30
29
|
* Internal dependencies
|
|
31
30
|
*/
|
|
32
31
|
|
|
33
|
-
const {
|
|
34
|
-
CompositeV2: Composite,
|
|
35
|
-
CompositeItemV2: CompositeItem,
|
|
36
|
-
CompositeHoverV2: CompositeHover,
|
|
37
|
-
CompositeTypeaheadV2: CompositeTypeahead
|
|
38
|
-
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
39
32
|
const radioCheck = /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SVG, {
|
|
40
33
|
xmlns: "http://www.w3.org/2000/svg",
|
|
41
34
|
viewBox: "0 0 24 24",
|
|
@@ -89,7 +82,7 @@ function ListBox({
|
|
|
89
82
|
filter.operators?.length === 1 ? undefined : null);
|
|
90
83
|
const currentFilter = view.filters?.find(f => f.field === filter.field);
|
|
91
84
|
const currentValue = getCurrentValue(filter, currentFilter);
|
|
92
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Composite, {
|
|
85
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite, {
|
|
93
86
|
virtualFocus: true,
|
|
94
87
|
focusLoop: true,
|
|
95
88
|
activeId: activeCompositeId,
|
|
@@ -100,15 +93,14 @@ function ListBox({
|
|
|
100
93
|
(0, _i18n.__)('List of: %1$s'), filter.name),
|
|
101
94
|
onFocusVisible: () => {
|
|
102
95
|
// `onFocusVisible` needs the `Composite` component to be focusable,
|
|
103
|
-
// which is implicitly achieved via the `virtualFocus
|
|
104
|
-
// in the `useCompositeStore` hook.
|
|
96
|
+
// which is implicitly achieved via the `virtualFocus` prop.
|
|
105
97
|
if (!activeCompositeId && filter.elements.length) {
|
|
106
98
|
setActiveCompositeId(generateFilterElementCompositeItemId(baseId, filter.elements[0].value));
|
|
107
99
|
}
|
|
108
100
|
},
|
|
109
|
-
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
110
|
-
children: filter.elements.map(element => /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
111
|
-
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
101
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.Typeahead, {}),
|
|
102
|
+
children: filter.elements.map(element => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.Composite.Hover, {
|
|
103
|
+
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.Item, {
|
|
112
104
|
id: generateFilterElementCompositeItemId(baseId, element.value),
|
|
113
105
|
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
114
106
|
"aria-label": element.label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Ariakit","_interopRequireWildcard","require","_removeAccents","_interopRequireDefault","_compose","_i18n","_element","_components","_icons","_primitives","_lockUnlock","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","CompositeV2","Composite","CompositeItemV2","CompositeItem","CompositeHoverV2","CompositeHover","CompositeTypeaheadV2","CompositeTypeahead","unlock","componentsPrivateApis","radioCheck","jsx","SVG","xmlns","viewBox","children","Circle","cx","cy","normalizeSearchInput","input","removeAccents","trim","toLowerCase","EMPTY_ARRAY","getCurrentValue","filterDefinition","currentFilter","singleSelection","value","Array","isArray","getNewValue","includes","filter","v","generateFilterElementCompositeItemId","prefix","filterElementValue","ListBox","view","onChangeView","baseId","useInstanceId","activeCompositeId","setActiveCompositeId","useState","operators","length","undefined","filters","find","f","field","currentValue","virtualFocus","focusLoop","activeId","setActiveId","role","className","sprintf","__","name","onFocusVisible","elements","render","map","element","jsxs","id","label","onClick","_view$filters","_view$filters2","newFilters","_filter","operator","page","Icon","icon","check","ComboboxList","searchValue","setSearchValue","deferredSearchValue","useDeferredValue","matches","useMemo","normalizedSearch","item","ComboboxProvider","selectedValue","setSelectedValue","_view$filters3","_view$filters4","setValue","ComboboxLabel","VisuallyHidden","Combobox","autoSelect","placeholder","search","alwaysVisible","ComboboxItem","resetValueOnSelect","hideOnClick","setValueOnClick","focusOnHover","ComboboxItemValue","description","SearchWidget","props","Widget"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/search-widget.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useMemo, useDeferredValue } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { search, check } from '@wordpress/icons';\nimport { SVG, Circle } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport type { Filter, NormalizedFilter, View } from '../../types';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tCompositeHoverV2: CompositeHover,\n\tCompositeTypeaheadV2: CompositeTypeahead,\n} = unlock( componentsPrivateApis );\n\ninterface SearchWidgetProps {\n\tview: View;\n\tfilter: NormalizedFilter;\n\tonChangeView: ( view: View ) => void;\n}\n\nconst radioCheck = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Circle cx={ 12 } cy={ 12 } r={ 3 }></Circle>\n\t</SVG>\n);\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\nconst getCurrentValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter?: Filter\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn currentFilter?.value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value;\n\t}\n\n\tif ( ! Array.isArray( currentFilter?.value ) && !! currentFilter?.value ) {\n\t\treturn [ currentFilter.value ];\n\t}\n\n\treturn EMPTY_ARRAY;\n};\n\nconst getNewValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter: Filter | undefined,\n\tvalue: any\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value.includes( value )\n\t\t\t? currentFilter.value.filter( ( v ) => v !== value )\n\t\t\t: [ ...currentFilter.value, value ];\n\t}\n\n\treturn [ value ];\n};\n\nfunction generateFilterElementCompositeItemId(\n\tprefix: string,\n\tfilterElementValue: string\n) {\n\treturn `${ prefix }-${ filterElementValue }`;\n}\n\nfunction ListBox( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst baseId = useInstanceId( ListBox, 'dataviews-filter-list-box' );\n\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>(\n\t\t// When there are one or less operators, the first item is set as active\n\t\t// (by setting the initial `activeId` to `undefined`).\n\t\t// With 2 or more operators, the focus is moved on the operators control\n\t\t// (by setting the initial `activeId` to `null`), meaning that there won't\n\t\t// be an active item initially. Focus is then managed via the\n\t\t// `onFocusVisible` callback.\n\t\tfilter.operators?.length === 1 ? undefined : null\n\t);\n\tconst currentFilter = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\treturn (\n\t\t<Composite\n\t\t\tvirtualFocus\n\t\t\tfocusLoop\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"dataviews-filters__search-widget-listbox\"\n\t\t\taria-label={ sprintf(\n\t\t\t\t/* translators: List of items for a filter. 1: Filter name. e.g.: \"List of: Author\". */\n\t\t\t\t__( 'List of: %1$s' ),\n\t\t\t\tfilter.name\n\t\t\t) }\n\t\t\tonFocusVisible={ () => {\n\t\t\t\t// `onFocusVisible` needs the `Composite` component to be focusable,\n\t\t\t\t// which is implicitly achieved via the `virtualFocus: true` option\n\t\t\t\t// in the `useCompositeStore` hook.\n\t\t\t\tif ( ! activeCompositeId && filter.elements.length ) {\n\t\t\t\t\tsetActiveCompositeId(\n\t\t\t\t\t\tgenerateFilterElementCompositeItemId(\n\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\tfilter.elements[ 0 ].value\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t\trender={ <CompositeTypeahead /> }\n\t\t>\n\t\t\t{ filter.elements.map( ( element ) => (\n\t\t\t\t<CompositeHover\n\t\t\t\t\tkey={ element.value }\n\t\t\t\t\trender={\n\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\tid={ generateFilterElementCompositeItemId(\n\t\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\taria-label={ element.label }\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_filter.field ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.field\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _filter;\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 ]\n\t\t\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\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 ];\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: newFilters,\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>\n\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-check\">\n\t\t\t\t\t\t{ filter.singleSelection &&\n\t\t\t\t\t\t\tcurrentValue === element.value && (\n\t\t\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! filter.singleSelection &&\n\t\t\t\t\t\t\tcurrentValue.includes( element.value ) && (\n\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span>{ element.label }</span>\n\t\t\t\t</CompositeHover>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction ComboboxList( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst deferredSearchValue = useDeferredValue( searchValue );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\tconst matches = useMemo( () => {\n\t\tconst normalizedSearch = normalizeSearchInput( deferredSearchValue );\n\t\treturn filter.elements.filter( ( item ) =>\n\t\t\tnormalizeSearchInput( item.label ).includes( normalizedSearch )\n\t\t);\n\t}, [ filter.elements, deferredSearchValue ] );\n\treturn (\n\t\t<Ariakit.ComboboxProvider\n\t\t\tselectedValue={ currentValue }\n\t\t\tsetSelectedValue={ ( value ) => {\n\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...( view.filters ?? [] ).map( ( _filter ) => {\n\t\t\t\t\t\t\t\tif ( _filter.field === filter.field ) {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\tfilter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\tvalue,\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\treturn _filter;\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ];\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters: newFilters,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tsetValue={ setSearchValue }\n\t\t>\n\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__wrapper\">\n\t\t\t\t<Ariakit.ComboboxLabel\n\t\t\t\t\trender={\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t</Ariakit.ComboboxLabel>\n\t\t\t\t<Ariakit.Combobox\n\t\t\t\t\tautoSelect=\"always\"\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox__input\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__icon\">\n\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Ariakit.ComboboxList\n\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-list\"\n\t\t\t\talwaysVisible\n\t\t\t>\n\t\t\t\t{ matches.map( ( element ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Ariakit.ComboboxItem\n\t\t\t\t\t\t\tresetValueOnSelect={ false }\n\t\t\t\t\t\t\tkey={ element.value }\n\t\t\t\t\t\t\tvalue={ element.value }\n\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\t\tsetValueOnClick={ false }\n\t\t\t\t\t\t\tfocusOnHover\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-check\">\n\t\t\t\t\t\t\t\t{ filter.singleSelection &&\n\t\t\t\t\t\t\t\t\tcurrentValue === element.value && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! filter.singleSelection &&\n\t\t\t\t\t\t\t\t\tcurrentValue.includes( element.value ) && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<Ariakit.ComboboxItemValue\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-item-value\"\n\t\t\t\t\t\t\t\t\tvalue={ element.label }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ !! element.description && (\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-description\">\n\t\t\t\t\t\t\t\t\t\t{ element.description }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Ariakit.ComboboxItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ ! matches.length && <p>{ __( 'No results found' ) }</p> }\n\t\t\t</Ariakit.ComboboxList>\n\t\t</Ariakit.ComboboxProvider>\n\t);\n}\n\nexport default function SearchWidget( props: SearchWidgetProps ) {\n\tconst Widget = props.filter.elements.length > 10 ? ComboboxList : ListBox;\n\treturn <Widget { ...props } />;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Ariakit","_interopRequireWildcard","require","_removeAccents","_interopRequireDefault","_compose","_i18n","_element","_components","_icons","_primitives","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","radioCheck","jsx","SVG","xmlns","viewBox","children","Circle","cx","cy","normalizeSearchInput","input","removeAccents","trim","toLowerCase","EMPTY_ARRAY","getCurrentValue","filterDefinition","currentFilter","singleSelection","value","Array","isArray","getNewValue","includes","filter","v","generateFilterElementCompositeItemId","prefix","filterElementValue","ListBox","view","onChangeView","baseId","useInstanceId","activeCompositeId","setActiveCompositeId","useState","operators","length","undefined","filters","find","f","field","currentValue","Composite","virtualFocus","focusLoop","activeId","setActiveId","role","className","sprintf","__","name","onFocusVisible","elements","render","Typeahead","map","element","jsxs","Hover","Item","id","label","onClick","_view$filters","_view$filters2","newFilters","_filter","operator","page","Icon","icon","check","ComboboxList","searchValue","setSearchValue","deferredSearchValue","useDeferredValue","matches","useMemo","normalizedSearch","item","ComboboxProvider","selectedValue","setSelectedValue","_view$filters3","_view$filters4","setValue","ComboboxLabel","VisuallyHidden","Combobox","autoSelect","placeholder","search","alwaysVisible","ComboboxItem","resetValueOnSelect","hideOnClick","setValueOnClick","focusOnHover","ComboboxItemValue","description","SearchWidget","props","Widget"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/search-widget.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useMemo, useDeferredValue } from '@wordpress/element';\nimport { VisuallyHidden, Icon, Composite } from '@wordpress/components';\nimport { search, check } from '@wordpress/icons';\nimport { SVG, Circle } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport type { Filter, NormalizedFilter, View } from '../../types';\n\ninterface SearchWidgetProps {\n\tview: View;\n\tfilter: NormalizedFilter;\n\tonChangeView: ( view: View ) => void;\n}\n\nconst radioCheck = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Circle cx={ 12 } cy={ 12 } r={ 3 }></Circle>\n\t</SVG>\n);\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\nconst getCurrentValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter?: Filter\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn currentFilter?.value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value;\n\t}\n\n\tif ( ! Array.isArray( currentFilter?.value ) && !! currentFilter?.value ) {\n\t\treturn [ currentFilter.value ];\n\t}\n\n\treturn EMPTY_ARRAY;\n};\n\nconst getNewValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter: Filter | undefined,\n\tvalue: any\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value.includes( value )\n\t\t\t? currentFilter.value.filter( ( v ) => v !== value )\n\t\t\t: [ ...currentFilter.value, value ];\n\t}\n\n\treturn [ value ];\n};\n\nfunction generateFilterElementCompositeItemId(\n\tprefix: string,\n\tfilterElementValue: string\n) {\n\treturn `${ prefix }-${ filterElementValue }`;\n}\n\nfunction ListBox( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst baseId = useInstanceId( ListBox, 'dataviews-filter-list-box' );\n\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>(\n\t\t// When there are one or less operators, the first item is set as active\n\t\t// (by setting the initial `activeId` to `undefined`).\n\t\t// With 2 or more operators, the focus is moved on the operators control\n\t\t// (by setting the initial `activeId` to `null`), meaning that there won't\n\t\t// be an active item initially. Focus is then managed via the\n\t\t// `onFocusVisible` callback.\n\t\tfilter.operators?.length === 1 ? undefined : null\n\t);\n\tconst currentFilter = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\treturn (\n\t\t<Composite\n\t\t\tvirtualFocus\n\t\t\tfocusLoop\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"dataviews-filters__search-widget-listbox\"\n\t\t\taria-label={ sprintf(\n\t\t\t\t/* translators: List of items for a filter. 1: Filter name. e.g.: \"List of: Author\". */\n\t\t\t\t__( 'List of: %1$s' ),\n\t\t\t\tfilter.name\n\t\t\t) }\n\t\t\tonFocusVisible={ () => {\n\t\t\t\t// `onFocusVisible` needs the `Composite` component to be focusable,\n\t\t\t\t// which is implicitly achieved via the `virtualFocus` prop.\n\t\t\t\tif ( ! activeCompositeId && filter.elements.length ) {\n\t\t\t\t\tsetActiveCompositeId(\n\t\t\t\t\t\tgenerateFilterElementCompositeItemId(\n\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\tfilter.elements[ 0 ].value\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t\trender={ <Composite.Typeahead /> }\n\t\t>\n\t\t\t{ filter.elements.map( ( element ) => (\n\t\t\t\t<Composite.Hover\n\t\t\t\t\tkey={ element.value }\n\t\t\t\t\trender={\n\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\tid={ generateFilterElementCompositeItemId(\n\t\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\taria-label={ element.label }\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_filter.field ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.field\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _filter;\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 ]\n\t\t\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\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 ];\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: newFilters,\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>\n\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-check\">\n\t\t\t\t\t\t{ filter.singleSelection &&\n\t\t\t\t\t\t\tcurrentValue === element.value && (\n\t\t\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! filter.singleSelection &&\n\t\t\t\t\t\t\tcurrentValue.includes( element.value ) && (\n\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span>{ element.label }</span>\n\t\t\t\t</Composite.Hover>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction ComboboxList( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst deferredSearchValue = useDeferredValue( searchValue );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\tconst matches = useMemo( () => {\n\t\tconst normalizedSearch = normalizeSearchInput( deferredSearchValue );\n\t\treturn filter.elements.filter( ( item ) =>\n\t\t\tnormalizeSearchInput( item.label ).includes( normalizedSearch )\n\t\t);\n\t}, [ filter.elements, deferredSearchValue ] );\n\treturn (\n\t\t<Ariakit.ComboboxProvider\n\t\t\tselectedValue={ currentValue }\n\t\t\tsetSelectedValue={ ( value ) => {\n\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...( view.filters ?? [] ).map( ( _filter ) => {\n\t\t\t\t\t\t\t\tif ( _filter.field === filter.field ) {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\tfilter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\tvalue,\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\treturn _filter;\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ];\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters: newFilters,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tsetValue={ setSearchValue }\n\t\t>\n\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__wrapper\">\n\t\t\t\t<Ariakit.ComboboxLabel\n\t\t\t\t\trender={\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t</Ariakit.ComboboxLabel>\n\t\t\t\t<Ariakit.Combobox\n\t\t\t\t\tautoSelect=\"always\"\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox__input\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__icon\">\n\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Ariakit.ComboboxList\n\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-list\"\n\t\t\t\talwaysVisible\n\t\t\t>\n\t\t\t\t{ matches.map( ( element ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Ariakit.ComboboxItem\n\t\t\t\t\t\t\tresetValueOnSelect={ false }\n\t\t\t\t\t\t\tkey={ element.value }\n\t\t\t\t\t\t\tvalue={ element.value }\n\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\t\tsetValueOnClick={ false }\n\t\t\t\t\t\t\tfocusOnHover\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-check\">\n\t\t\t\t\t\t\t\t{ filter.singleSelection &&\n\t\t\t\t\t\t\t\t\tcurrentValue === element.value && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! filter.singleSelection &&\n\t\t\t\t\t\t\t\t\tcurrentValue.includes( element.value ) && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<Ariakit.ComboboxItemValue\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-item-value\"\n\t\t\t\t\t\t\t\t\tvalue={ element.label }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ !! element.description && (\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-description\">\n\t\t\t\t\t\t\t\t\t\t{ element.description }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Ariakit.ComboboxItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ ! matches.length && <p>{ __( 'No results found' ) }</p> }\n\t\t\t</Ariakit.ComboboxList>\n\t\t</Ariakit.ComboboxProvider>\n\t);\n}\n\nexport default function SearchWidget( props: SearchWidgetProps ) {\n\tconst Widget = props.filter.elements.length > 10 ? ComboboxList : ListBox;\n\treturn <Widget { ...props } />;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -28,9 +28,6 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
30
|
const {
|
|
31
|
-
CompositeV2: Composite,
|
|
32
|
-
CompositeItemV2: CompositeItem,
|
|
33
|
-
CompositeRowV2: CompositeRow,
|
|
34
31
|
DropdownMenuV2: DropdownMenu
|
|
35
32
|
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
36
33
|
function generateItemWrapperCompositeId(idPrefix) {
|
|
@@ -53,7 +50,7 @@ function PrimaryActionGridCell({
|
|
|
53
50
|
const label = typeof primaryAction.label === 'string' ? primaryAction.label : primaryAction.label([item]);
|
|
54
51
|
return 'RenderModal' in primaryAction ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
55
52
|
role: "gridcell",
|
|
56
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
53
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.Item, {
|
|
57
54
|
id: compositeItemId,
|
|
58
55
|
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
59
56
|
label: label,
|
|
@@ -70,7 +67,7 @@ function PrimaryActionGridCell({
|
|
|
70
67
|
})
|
|
71
68
|
}, primaryAction.id) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
72
69
|
role: "gridcell",
|
|
73
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
70
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.Item, {
|
|
74
71
|
id: compositeItemId,
|
|
75
72
|
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
76
73
|
label: label,
|
|
@@ -137,7 +134,7 @@ function ListItem({
|
|
|
137
134
|
const renderedPrimaryField = primaryField?.render ? /*#__PURE__*/(0, _jsxRuntime.jsx)(primaryField.render, {
|
|
138
135
|
item: item
|
|
139
136
|
}) : null;
|
|
140
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
137
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.Row, {
|
|
141
138
|
ref: itemRef,
|
|
142
139
|
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {}),
|
|
143
140
|
role: "row",
|
|
@@ -153,7 +150,7 @@ function ListItem({
|
|
|
153
150
|
spacing: 0,
|
|
154
151
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
155
152
|
role: "gridcell",
|
|
156
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
153
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.Item, {
|
|
157
154
|
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {}),
|
|
158
155
|
role: "button",
|
|
159
156
|
id: generateItemWrapperCompositeId(idPrefix),
|
|
@@ -211,7 +208,7 @@ function ListItem({
|
|
|
211
208
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
212
209
|
role: "gridcell",
|
|
213
210
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownMenu, {
|
|
214
|
-
trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
211
|
+
trigger: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite.Item, {
|
|
215
212
|
id: generateDropdownTriggerCompositeId(idPrefix),
|
|
216
213
|
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
217
214
|
size: "small",
|
|
@@ -272,6 +269,9 @@ function ViewList(props) {
|
|
|
272
269
|
const selectCompositeItem = (0, _element.useCallback)((targetIndex, generateCompositeId) => {
|
|
273
270
|
// Clamping between 0 and data.length - 1 to avoid out of bounds.
|
|
274
271
|
const clampedIndex = Math.min(data.length - 1, Math.max(0, targetIndex));
|
|
272
|
+
if (!data[clampedIndex]) {
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
275
|
const itemIdPrefix = generateCompositeItemIdPrefix(data[clampedIndex]);
|
|
276
276
|
const targetCompositeItemId = generateCompositeId(itemIdPrefix);
|
|
277
277
|
setActiveCompositeId(targetCompositeItemId);
|
|
@@ -318,7 +318,7 @@ function ViewList(props) {
|
|
|
318
318
|
})
|
|
319
319
|
});
|
|
320
320
|
}
|
|
321
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Composite, {
|
|
321
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Composite, {
|
|
322
322
|
id: baseId,
|
|
323
323
|
render: /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {}),
|
|
324
324
|
className: "dataviews-view-list",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_i18n","_icons","_data","_lockUnlock","_dataviewsItemActions","_jsxRuntime","CompositeV2","Composite","CompositeItemV2","CompositeItem","CompositeRowV2","CompositeRow","DropdownMenuV2","DropdownMenu","unlock","componentsPrivateApis","generateItemWrapperCompositeId","idPrefix","generatePrimaryActionCompositeId","primaryActionId","generateDropdownTriggerCompositeId","PrimaryActionGridCell","primaryAction","item","registry","useRegistry","isModalOpen","setIsModalOpen","useState","compositeItemId","id","label","jsx","role","children","render","Button","icon","isDestructive","size","onClick","ActionModal","action","items","closeModal","callback","ListItem","actions","isSelected","mediaField","onSelect","primaryField","visibleFields","onDropdownTriggerKeyDown","itemRef","useRef","labelId","descriptionId","isHovered","setIsHovered","handleMouseEnter","handleMouseLeave","useEffect","current","scrollIntoView","behavior","block","inline","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","renderedMediaField","className","renderedPrimaryField","ref","clsx","onMouseEnter","onMouseLeave","jsxs","__experimentalHStack","alignment","spacing","justify","__experimentalVStack","map","field","VisuallyHidden","as","length","style","flexShrink","width","trigger","moreVertical","__","accessibleWhenDisabled","disabled","onKeyDown","placement","ActionsDropdownMenuGroup","ViewList","props","data","fields","getItemId","isLoading","onChangeSelection","selection","view","baseId","useInstanceId","selectedItem","findLast","includes","find","layout","viewFields","generateCompositeItemIdPrefix","useCallback","isActiveCompositeItem","idToCheck","startsWith","activeCompositeId","setActiveCompositeId","undefined","activeItemIndex","findIndex","previousActiveItemIndex","usePrevious","isActiveIdInList","selectCompositeItem","targetIndex","generateCompositeId","clampedIndex","Math","min","max","itemIdPrefix","targetCompositeItemId","document","getElementById","focus","wasActiveIdInList","event","key","preventDefault","hasData","Spinner","activeId","setActiveId"],"sources":["@wordpress/dataviews/src/dataviews-layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsDropdownMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type { Action, NormalizedField, ViewListProps } from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tactions: Action< Item >[];\n\tidPrefix: string;\n\tisSelected: boolean;\n\titem: Item;\n\tmediaField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\tprimaryField?: NormalizedField< Item >;\n\tvisibleFields: NormalizedField< Item >[];\n\tonDropdownTriggerKeyDown: React.KeyboardEventHandler< HTMLButtonElement >;\n}\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tCompositeRowV2: CompositeRow,\n\tDropdownMenuV2: DropdownMenu,\n} = unlock( componentsPrivateApis );\n\nfunction generateItemWrapperCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-item-wrapper`;\n}\nfunction generatePrimaryActionCompositeId(\n\tidPrefix: string,\n\tprimaryActionId: string\n) {\n\treturn `${ idPrefix }-primary-action-${ primaryActionId }`;\n}\nfunction generateDropdownTriggerCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-dropdown`;\n}\n\nfunction PrimaryActionGridCell< Item >( {\n\tidPrefix,\n\tprimaryAction,\n\titem,\n}: {\n\tidPrefix: string;\n\tprimaryAction: Action< Item >;\n\titem: Item;\n} ) {\n\tconst registry = useRegistry();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst compositeItemId = generatePrimaryActionCompositeId(\n\t\tidPrefix,\n\t\tprimaryAction.id\n\t);\n\n\tconst label =\n\t\ttypeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] );\n\n\treturn 'RenderModal' in primaryAction ? (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<CompositeItem\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</CompositeItem>\n\t\t</div>\n\t) : (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<CompositeItem\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tprimaryAction.callback( [ item ], { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction ListItem< Item >( {\n\tactions,\n\tidPrefix,\n\tisSelected,\n\titem,\n\tmediaField,\n\tonSelect,\n\tprimaryField,\n\tvisibleFields,\n\tonDropdownTriggerKeyDown,\n}: ListViewItemProps< Item > ) {\n\tconst itemRef = useRef< HTMLElement >( null );\n\tconst labelId = `${ idPrefix }-label`;\n\tconst descriptionId = `${ idPrefix }-description`;\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions?.[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : (\n\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t);\n\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\n\treturn (\n\t\t<CompositeRow\n\t\t\tref={ itemRef }\n\t\t\trender={ <li /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t>\n\t\t\t<HStack\n\t\t\t\tclassName=\"dataviews-view-list__item-wrapper\"\n\t\t\t\talignment=\"center\"\n\t\t\t\tspacing={ 0 }\n\t\t\t>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\trender={ <div /> }\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tid={ generateItemWrapperCompositeId( idPrefix ) }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__primary-field\"\n\t\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</CompositeItem>\n\t\t\t\t</div>\n\t\t\t\t{ eligibleActions?.length > 0 && (\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item-actions\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tflexShrink: '0',\n\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ primaryAction && (\n\t\t\t\t\t\t\t<PrimaryActionGridCell\n\t\t\t\t\t\t\t\tidPrefix={ idPrefix }\n\t\t\t\t\t\t\t\tprimaryAction={ primaryAction }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\t\tid={ generateDropdownTriggerCompositeId(\n\t\t\t\t\t\t\t\t\t\t\tidPrefix\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\t\t\tonDropdownTriggerKeyDown\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</CompositeRow>\n\t);\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\n\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout?.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout?.primaryField\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\tviewFields.includes( field.id ) &&\n\t\t\t! [ view.layout?.primaryField, view.layout?.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst generateCompositeItemIdPrefix = useCallback(\n\t\t( item: Item ) => `${ baseId }-${ getItemId( item ) }`,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst isActiveCompositeItem = useCallback(\n\t\t( item: Item, idToCheck: string ) => {\n\t\t\t// All composite items use the same prefix in their IDs.\n\t\t\treturn idToCheck.startsWith(\n\t\t\t\tgenerateCompositeItemIdPrefix( item )\n\t\t\t);\n\t\t},\n\t\t[ generateCompositeItemIdPrefix ]\n\t);\n\n\t// Controlled state for the active composite item.\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>( undefined );\n\n\t// Update the active composite item when the selected item changes.\n\tuseEffect( () => {\n\t\tif ( selectedItem ) {\n\t\t\tsetActiveCompositeId(\n\t\t\t\tgenerateItemWrapperCompositeId(\n\t\t\t\t\tgenerateCompositeItemIdPrefix( selectedItem )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selectedItem, generateCompositeItemIdPrefix ] );\n\n\tconst activeItemIndex = data.findIndex( ( item ) =>\n\t\tisActiveCompositeItem( item, activeCompositeId ?? '' )\n\t);\n\tconst previousActiveItemIndex = usePrevious( activeItemIndex );\n\tconst isActiveIdInList = activeItemIndex !== -1;\n\n\tconst selectCompositeItem = useCallback(\n\t\t(\n\t\t\ttargetIndex: number,\n\t\t\t// Allows invokers to specify a custom function to generate the\n\t\t\t// target composite item ID\n\t\t\tgenerateCompositeId: ( idPrefix: string ) => string\n\t\t) => {\n\t\t\t// Clamping between 0 and data.length - 1 to avoid out of bounds.\n\t\t\tconst clampedIndex = Math.min(\n\t\t\t\tdata.length - 1,\n\t\t\t\tMath.max( 0, targetIndex )\n\t\t\t);\n\t\t\tconst itemIdPrefix = generateCompositeItemIdPrefix(\n\t\t\t\tdata[ clampedIndex ]\n\t\t\t);\n\t\t\tconst targetCompositeItemId = generateCompositeId( itemIdPrefix );\n\n\t\t\tsetActiveCompositeId( targetCompositeItemId );\n\t\t\tdocument.getElementById( targetCompositeItemId )?.focus();\n\t\t},\n\t\t[ data, generateCompositeItemIdPrefix ]\n\t);\n\n\t// Select a new active composite item when the current active item\n\t// is removed from the list.\n\tuseEffect( () => {\n\t\tconst wasActiveIdInList =\n\t\t\tpreviousActiveItemIndex !== undefined &&\n\t\t\tpreviousActiveItemIndex !== -1;\n\t\tif ( ! isActiveIdInList && wasActiveIdInList ) {\n\t\t\t// By picking `previousActiveItemIndex` as the next item index, we are\n\t\t\t// basically picking the item that would have been after the deleted one.\n\t\t\t// If the previously active (and removed) item was the last of the list,\n\t\t\t// we will select the item before it — which is the new last item.\n\t\t\tselectCompositeItem(\n\t\t\t\tpreviousActiveItemIndex,\n\t\t\t\tgenerateItemWrapperCompositeId\n\t\t\t);\n\t\t}\n\t}, [ isActiveIdInList, selectCompositeItem, previousActiveItemIndex ] );\n\n\t// Prevent the default behavior (open dropdown menu) and instead select the\n\t// dropdown menu trigger on the previous/next row.\n\t// https://github.com/ariakit/ariakit/issues/3768\n\tconst onDropdownTriggerKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLButtonElement > ) => {\n\t\t\tif ( event.key === 'ArrowDown' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the next row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex + 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( event.key === 'ArrowUp' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the previous row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex - 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ selectCompositeItem, activeItemIndex ]\n\t);\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <ul /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = generateCompositeItemIdPrefix( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tidPrefix={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\tonDropdownTriggerKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_compose","_components","_element","_i18n","_icons","_data","_lockUnlock","_dataviewsItemActions","_jsxRuntime","DropdownMenuV2","DropdownMenu","unlock","componentsPrivateApis","generateItemWrapperCompositeId","idPrefix","generatePrimaryActionCompositeId","primaryActionId","generateDropdownTriggerCompositeId","PrimaryActionGridCell","primaryAction","item","registry","useRegistry","isModalOpen","setIsModalOpen","useState","compositeItemId","id","label","jsx","role","children","Composite","Item","render","Button","icon","isDestructive","size","onClick","ActionModal","action","items","closeModal","callback","ListItem","actions","isSelected","mediaField","onSelect","primaryField","visibleFields","onDropdownTriggerKeyDown","itemRef","useRef","labelId","descriptionId","isHovered","setIsHovered","handleMouseEnter","handleMouseLeave","useEffect","current","scrollIntoView","behavior","block","inline","eligibleActions","useMemo","_eligibleActions","filter","isEligible","_primaryActions","isPrimary","renderedMediaField","className","renderedPrimaryField","Row","ref","clsx","onMouseEnter","onMouseLeave","jsxs","__experimentalHStack","alignment","spacing","justify","__experimentalVStack","map","field","VisuallyHidden","as","length","style","flexShrink","width","trigger","moreVertical","__","accessibleWhenDisabled","disabled","onKeyDown","placement","ActionsDropdownMenuGroup","ViewList","props","data","fields","getItemId","isLoading","onChangeSelection","selection","view","baseId","useInstanceId","selectedItem","findLast","includes","find","layout","viewFields","generateCompositeItemIdPrefix","useCallback","isActiveCompositeItem","idToCheck","startsWith","activeCompositeId","setActiveCompositeId","undefined","activeItemIndex","findIndex","previousActiveItemIndex","usePrevious","isActiveIdInList","selectCompositeItem","targetIndex","generateCompositeId","clampedIndex","Math","min","max","itemIdPrefix","targetCompositeItemId","document","getElementById","focus","wasActiveIdInList","event","key","preventDefault","hasData","Spinner","activeId","setActiveId"],"sources":["@wordpress/dataviews/src/dataviews-layouts/list/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\tSpinner,\n\tVisuallyHidden,\n\tComposite,\n} from '@wordpress/components';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tActionsDropdownMenuGroup,\n\tActionModal,\n} from '../../components/dataviews-item-actions';\nimport type { Action, NormalizedField, ViewListProps } from '../../types';\n\ninterface ListViewItemProps< Item > {\n\tactions: Action< Item >[];\n\tidPrefix: string;\n\tisSelected: boolean;\n\titem: Item;\n\tmediaField?: NormalizedField< Item >;\n\tonSelect: ( item: Item ) => void;\n\tprimaryField?: NormalizedField< Item >;\n\tvisibleFields: NormalizedField< Item >[];\n\tonDropdownTriggerKeyDown: React.KeyboardEventHandler< HTMLButtonElement >;\n}\n\nconst { DropdownMenuV2: DropdownMenu } = unlock( componentsPrivateApis );\n\nfunction generateItemWrapperCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-item-wrapper`;\n}\nfunction generatePrimaryActionCompositeId(\n\tidPrefix: string,\n\tprimaryActionId: string\n) {\n\treturn `${ idPrefix }-primary-action-${ primaryActionId }`;\n}\nfunction generateDropdownTriggerCompositeId( idPrefix: string ) {\n\treturn `${ idPrefix }-dropdown`;\n}\n\nfunction PrimaryActionGridCell< Item >( {\n\tidPrefix,\n\tprimaryAction,\n\titem,\n}: {\n\tidPrefix: string;\n\tprimaryAction: Action< Item >;\n\titem: Item;\n} ) {\n\tconst registry = useRegistry();\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tconst compositeItemId = generatePrimaryActionCompositeId(\n\t\tidPrefix,\n\t\tprimaryAction.id\n\t);\n\n\tconst label =\n\t\ttypeof primaryAction.label === 'string'\n\t\t\t? primaryAction.label\n\t\t\t: primaryAction.label( [ item ] );\n\n\treturn 'RenderModal' in primaryAction ? (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isModalOpen && (\n\t\t\t\t\t<ActionModal< Item >\n\t\t\t\t\t\taction={ primaryAction }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</Composite.Item>\n\t\t</div>\n\t) : (\n\t\t<div role=\"gridcell\" key={ primaryAction.id }>\n\t\t\t<Composite.Item\n\t\t\t\tid={ compositeItemId }\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ primaryAction.icon }\n\t\t\t\t\t\tisDestructive={ primaryAction.isDestructive }\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tprimaryAction.callback( [ item ], { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction ListItem< Item >( {\n\tactions,\n\tidPrefix,\n\tisSelected,\n\titem,\n\tmediaField,\n\tonSelect,\n\tprimaryField,\n\tvisibleFields,\n\tonDropdownTriggerKeyDown,\n}: ListViewItemProps< Item > ) {\n\tconst itemRef = useRef< HTMLDivElement >( null );\n\tconst labelId = `${ idPrefix }-label`;\n\tconst descriptionId = `${ idPrefix }-description`;\n\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst handleMouseEnter = () => {\n\t\tsetIsHovered( true );\n\t};\n\tconst handleMouseLeave = () => {\n\t\tsetIsHovered( false );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\titemRef.current?.scrollIntoView( {\n\t\t\t\tbehavior: 'auto',\n\t\t\t\tblock: 'nearest',\n\t\t\t\tinline: 'nearest',\n\t\t\t} );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst { primaryAction, eligibleActions } = useMemo( () => {\n\t\t// If an action is eligible for all items, doesn't need\n\t\t// to provide the `isEligible` function.\n\t\tconst _eligibleActions = actions.filter(\n\t\t\t( action ) => ! action.isEligible || action.isEligible( item )\n\t\t);\n\t\tconst _primaryActions = _eligibleActions.filter(\n\t\t\t( action ) => action.isPrimary && !! action.icon\n\t\t);\n\t\treturn {\n\t\t\tprimaryAction: _primaryActions?.[ 0 ],\n\t\t\teligibleActions: _eligibleActions,\n\t\t};\n\t}, [ actions, item ] );\n\n\tconst renderedMediaField = mediaField?.render ? (\n\t\t<mediaField.render item={ item } />\n\t) : (\n\t\t<div className=\"dataviews-view-list__media-placeholder\"></div>\n\t);\n\n\tconst renderedPrimaryField = primaryField?.render ? (\n\t\t<primaryField.render item={ item } />\n\t) : null;\n\n\treturn (\n\t\t<Composite.Row\n\t\t\tref={ itemRef }\n\t\t\trender={ <li /> }\n\t\t\trole=\"row\"\n\t\t\tclassName={ clsx( {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-hovered': isHovered,\n\t\t\t} ) }\n\t\t\tonMouseEnter={ handleMouseEnter }\n\t\t\tonMouseLeave={ handleMouseLeave }\n\t\t>\n\t\t\t<HStack\n\t\t\t\tclassName=\"dataviews-view-list__item-wrapper\"\n\t\t\t\talignment=\"center\"\n\t\t\t\tspacing={ 0 }\n\t\t\t>\n\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\trender={ <div /> }\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tid={ generateItemWrapperCompositeId( idPrefix ) }\n\t\t\t\t\t\taria-pressed={ isSelected }\n\t\t\t\t\t\taria-labelledby={ labelId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item\"\n\t\t\t\t\t\tonClick={ () => onSelect( item ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\t\tjustify=\"start\"\n\t\t\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div className=\"dataviews-view-list__media-wrapper\">\n\t\t\t\t\t\t\t\t{ renderedMediaField }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-wrapper\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__primary-field\"\n\t\t\t\t\t\t\t\t\tid={ labelId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ renderedPrimaryField }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__fields\"\n\t\t\t\t\t\t\t\t\tid={ descriptionId }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ visibleFields.map( ( field ) => (\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tkey={ field.id }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\t\t\tas=\"span\"\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-view-list__field-label\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ field.label }\n\t\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"dataviews-view-list__field-value\">\n\t\t\t\t\t\t\t\t\t\t\t\t<field.render item={ item } />\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</Composite.Item>\n\t\t\t\t</div>\n\t\t\t\t{ eligibleActions?.length > 0 && (\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"dataviews-view-list__item-actions\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tflexShrink: '0',\n\t\t\t\t\t\t\twidth: 'auto',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ primaryAction && (\n\t\t\t\t\t\t\t<PrimaryActionGridCell\n\t\t\t\t\t\t\t\tidPrefix={ idPrefix }\n\t\t\t\t\t\t\t\tprimaryAction={ primaryAction }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<div role=\"gridcell\">\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\t\t\t\tid={ generateDropdownTriggerCompositeId(\n\t\t\t\t\t\t\t\t\t\t\tidPrefix\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\t\t\tonDropdownTriggerKeyDown\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tplacement=\"bottom-end\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\t\t\t\t\tactions={ eligibleActions }\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</Composite.Row>\n\t);\n}\n\nexport default function ViewList< Item >( props: ViewListProps< Item > ) {\n\tconst {\n\t\tactions,\n\t\tdata,\n\t\tfields,\n\t\tgetItemId,\n\t\tisLoading,\n\t\tonChangeSelection,\n\t\tselection,\n\t\tview,\n\t} = props;\n\tconst baseId = useInstanceId( ViewList, 'view-list' );\n\n\tconst selectedItem = data?.findLast( ( item ) =>\n\t\tselection.includes( getItemId( item ) )\n\t);\n\n\tconst mediaField = fields.find(\n\t\t( field ) => field.id === view.layout?.mediaField\n\t);\n\tconst primaryField = fields.find(\n\t\t( field ) => field.id === view.layout?.primaryField\n\t);\n\tconst viewFields = view.fields || fields.map( ( field ) => field.id );\n\tconst visibleFields = fields.filter(\n\t\t( field ) =>\n\t\t\tviewFields.includes( field.id ) &&\n\t\t\t! [ view.layout?.primaryField, view.layout?.mediaField ].includes(\n\t\t\t\tfield.id\n\t\t\t)\n\t);\n\n\tconst onSelect = ( item: Item ) =>\n\t\tonChangeSelection( [ getItemId( item ) ] );\n\n\tconst generateCompositeItemIdPrefix = useCallback(\n\t\t( item: Item ) => `${ baseId }-${ getItemId( item ) }`,\n\t\t[ baseId, getItemId ]\n\t);\n\n\tconst isActiveCompositeItem = useCallback(\n\t\t( item: Item, idToCheck: string ) => {\n\t\t\t// All composite items use the same prefix in their IDs.\n\t\t\treturn idToCheck.startsWith(\n\t\t\t\tgenerateCompositeItemIdPrefix( item )\n\t\t\t);\n\t\t},\n\t\t[ generateCompositeItemIdPrefix ]\n\t);\n\n\t// Controlled state for the active composite item.\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>( undefined );\n\n\t// Update the active composite item when the selected item changes.\n\tuseEffect( () => {\n\t\tif ( selectedItem ) {\n\t\t\tsetActiveCompositeId(\n\t\t\t\tgenerateItemWrapperCompositeId(\n\t\t\t\t\tgenerateCompositeItemIdPrefix( selectedItem )\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}, [ selectedItem, generateCompositeItemIdPrefix ] );\n\n\tconst activeItemIndex = data.findIndex( ( item ) =>\n\t\tisActiveCompositeItem( item, activeCompositeId ?? '' )\n\t);\n\tconst previousActiveItemIndex = usePrevious( activeItemIndex );\n\tconst isActiveIdInList = activeItemIndex !== -1;\n\n\tconst selectCompositeItem = useCallback(\n\t\t(\n\t\t\ttargetIndex: number,\n\t\t\t// Allows invokers to specify a custom function to generate the\n\t\t\t// target composite item ID\n\t\t\tgenerateCompositeId: ( idPrefix: string ) => string\n\t\t) => {\n\t\t\t// Clamping between 0 and data.length - 1 to avoid out of bounds.\n\t\t\tconst clampedIndex = Math.min(\n\t\t\t\tdata.length - 1,\n\t\t\t\tMath.max( 0, targetIndex )\n\t\t\t);\n\t\t\tif ( ! data[ clampedIndex ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst itemIdPrefix = generateCompositeItemIdPrefix(\n\t\t\t\tdata[ clampedIndex ]\n\t\t\t);\n\t\t\tconst targetCompositeItemId = generateCompositeId( itemIdPrefix );\n\n\t\t\tsetActiveCompositeId( targetCompositeItemId );\n\t\t\tdocument.getElementById( targetCompositeItemId )?.focus();\n\t\t},\n\t\t[ data, generateCompositeItemIdPrefix ]\n\t);\n\n\t// Select a new active composite item when the current active item\n\t// is removed from the list.\n\tuseEffect( () => {\n\t\tconst wasActiveIdInList =\n\t\t\tpreviousActiveItemIndex !== undefined &&\n\t\t\tpreviousActiveItemIndex !== -1;\n\t\tif ( ! isActiveIdInList && wasActiveIdInList ) {\n\t\t\t// By picking `previousActiveItemIndex` as the next item index, we are\n\t\t\t// basically picking the item that would have been after the deleted one.\n\t\t\t// If the previously active (and removed) item was the last of the list,\n\t\t\t// we will select the item before it — which is the new last item.\n\t\t\tselectCompositeItem(\n\t\t\t\tpreviousActiveItemIndex,\n\t\t\t\tgenerateItemWrapperCompositeId\n\t\t\t);\n\t\t}\n\t}, [ isActiveIdInList, selectCompositeItem, previousActiveItemIndex ] );\n\n\t// Prevent the default behavior (open dropdown menu) and instead select the\n\t// dropdown menu trigger on the previous/next row.\n\t// https://github.com/ariakit/ariakit/issues/3768\n\tconst onDropdownTriggerKeyDown = useCallback(\n\t\t( event: React.KeyboardEvent< HTMLButtonElement > ) => {\n\t\t\tif ( event.key === 'ArrowDown' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the next row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex + 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t\tif ( event.key === 'ArrowUp' ) {\n\t\t\t\t// Select the dropdown menu trigger item in the previous row.\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectCompositeItem(\n\t\t\t\t\tactiveItemIndex - 1,\n\t\t\t\t\tgenerateDropdownTriggerCompositeId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ selectCompositeItem, activeItemIndex ]\n\t);\n\n\tconst hasData = data?.length;\n\tif ( ! hasData ) {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t'dataviews-loading': isLoading,\n\t\t\t\t\t'dataviews-no-results': ! hasData && ! isLoading,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! hasData && (\n\t\t\t\t\t<p>{ isLoading ? <Spinner /> : __( 'No results' ) }</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Composite\n\t\t\tid={ baseId }\n\t\t\trender={ <ul /> }\n\t\t\tclassName=\"dataviews-view-list\"\n\t\t\trole=\"grid\"\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t>\n\t\t\t{ data.map( ( item ) => {\n\t\t\t\tconst id = generateCompositeItemIdPrefix( item );\n\t\t\t\treturn (\n\t\t\t\t\t<ListItem\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tidPrefix={ id }\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tisSelected={ item === selectedItem }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tmediaField={ mediaField }\n\t\t\t\t\t\tprimaryField={ primaryField }\n\t\t\t\t\t\tvisibleFields={ visibleFields }\n\t\t\t\t\t\tonDropdownTriggerKeyDown={ onDropdownTriggerKeyDown }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AASA,IAAAG,QAAA,GAAAH,OAAA;AAOA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAKA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAR,OAAA;AAGiD,IAAAS,WAAA,GAAAT,OAAA;AApCjD;AACA;AACA;;AAGA;AACA;AACA;;AAsBA;AACA;AACA;;AAoBA,MAAM;EAAEU,cAAc,EAAEC;AAAa,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAExE,SAASC,8BAA8BA,CAAEC,QAAgB,EAAG;EAC3D,OAAQ,GAAGA,QAAU,eAAc;AACpC;AACA,SAASC,gCAAgCA,CACxCD,QAAgB,EAChBE,eAAuB,EACtB;EACD,OAAQ,GAAGF,QAAU,mBAAmBE,eAAiB,EAAC;AAC3D;AACA,SAASC,kCAAkCA,CAAEH,QAAgB,EAAG;EAC/D,OAAQ,GAAGA,QAAU,WAAU;AAChC;AAEA,SAASI,qBAAqBA,CAAU;EACvCJ,QAAQ;EACRK,aAAa;EACbC;AAKD,CAAC,EAAG;EACH,MAAMC,QAAQ,GAAG,IAAAC,iBAAW,EAAC,CAAC;EAC9B,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAEzD,MAAMC,eAAe,GAAGX,gCAAgC,CACvDD,QAAQ,EACRK,aAAa,CAACQ,EACf,CAAC;EAED,MAAMC,KAAK,GACV,OAAOT,aAAa,CAACS,KAAK,KAAK,QAAQ,GACpCT,aAAa,CAACS,KAAK,GACnBT,aAAa,CAACS,KAAK,CAAE,CAAER,IAAI,CAAG,CAAC;EAEnC,OAAO,aAAa,IAAID,aAAa,gBACpC,IAAAX,WAAA,CAAAqB,GAAA;IAAKC,IAAI,EAAC,UAAU;IAAAC,QAAA,eACnB,IAAAvB,WAAA,CAAAqB,GAAA,EAAC5B,WAAA,CAAA+B,SAAS,CAACC,IAAI;MACdN,EAAE,EAAGD,eAAiB;MACtBQ,MAAM,eACL,IAAA1B,WAAA,CAAAqB,GAAA,EAAC5B,WAAA,CAAAkC,MAAM;QACNP,KAAK,EAAGA,KAAO;QACfQ,IAAI,EAAGjB,aAAa,CAACiB,IAAM;QAC3BC,aAAa,EAAGlB,aAAa,CAACkB,aAAe;QAC7CC,IAAI,EAAC,OAAO;QACZC,OAAO,EAAGA,CAAA,KAAMf,cAAc,CAAE,IAAK;MAAG,CACxC,CACD;MAAAO,QAAA,EAECR,WAAW,iBACZ,IAAAf,WAAA,CAAAqB,GAAA,EAACtB,qBAAA,CAAAiC,WAAW;QACXC,MAAM,EAAGtB,aAAe;QACxBuB,KAAK,EAAG,CAAEtB,IAAI,CAAI;QAClBuB,UAAU,EAAGA,CAAA,KAAMnB,cAAc,CAAE,KAAM;MAAG,CAC5C;IACD,CACc;EAAC,GApBSL,aAAa,CAACQ,EAqBpC,CAAC,gBAEN,IAAAnB,WAAA,CAAAqB,GAAA;IAAKC,IAAI,EAAC,UAAU;IAAAC,QAAA,eACnB,IAAAvB,WAAA,CAAAqB,GAAA,EAAC5B,WAAA,CAAA+B,SAAS,CAACC,IAAI;MACdN,EAAE,EAAGD,eAAiB;MACtBQ,MAAM,eACL,IAAA1B,WAAA,CAAAqB,GAAA,EAAC5B,WAAA,CAAAkC,MAAM;QACNP,KAAK,EAAGA,KAAO;QACfQ,IAAI,EAAGjB,aAAa,CAACiB,IAAM;QAC3BC,aAAa,EAAGlB,aAAa,CAACkB,aAAe;QAC7CC,IAAI,EAAC,OAAO;QACZC,OAAO,EAAGA,CAAA,KAAM;UACfpB,aAAa,CAACyB,QAAQ,CAAE,CAAExB,IAAI,CAAE,EAAE;YAAEC;UAAS,CAAE,CAAC;QACjD;MAAG,CACH;IACD,CACD;EAAC,GAdwBF,aAAa,CAACQ,EAepC,CACL;AACF;AAEA,SAASkB,QAAQA,CAAU;EAC1BC,OAAO;EACPhC,QAAQ;EACRiC,UAAU;EACV3B,IAAI;EACJ4B,UAAU;EACVC,QAAQ;EACRC,YAAY;EACZC,aAAa;EACbC;AAC0B,CAAC,EAAG;EAC9B,MAAMC,OAAO,GAAG,IAAAC,eAAM,EAAoB,IAAK,CAAC;EAChD,MAAMC,OAAO,GAAI,GAAGzC,QAAU,QAAO;EACrC,MAAM0C,aAAa,GAAI,GAAG1C,QAAU,cAAa;EAEjD,MAAM,CAAE2C,SAAS,EAAEC,YAAY,CAAE,GAAG,IAAAjC,iBAAQ,EAAE,KAAM,CAAC;EACrD,MAAMkC,gBAAgB,GAAGA,CAAA,KAAM;IAC9BD,YAAY,CAAE,IAAK,CAAC;EACrB,CAAC;EACD,MAAME,gBAAgB,GAAGA,CAAA,KAAM;IAC9BF,YAAY,CAAE,KAAM,CAAC;EACtB,CAAC;EAED,IAAAG,kBAAS,EAAE,MAAM;IAChB,IAAKd,UAAU,EAAG;MACjBM,OAAO,CAACS,OAAO,EAAEC,cAAc,CAAE;QAChCC,QAAQ,EAAE,MAAM;QAChBC,KAAK,EAAE,SAAS;QAChBC,MAAM,EAAE;MACT,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAEnB,UAAU,CAAG,CAAC;EAEnB,MAAM;IAAE5B,aAAa;IAAEgD;EAAgB,CAAC,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACzD;IACA;IACA,MAAMC,gBAAgB,GAAGvB,OAAO,CAACwB,MAAM,CACpC7B,MAAM,IAAM,CAAEA,MAAM,CAAC8B,UAAU,IAAI9B,MAAM,CAAC8B,UAAU,CAAEnD,IAAK,CAC9D,CAAC;IACD,MAAMoD,eAAe,GAAGH,gBAAgB,CAACC,MAAM,CAC5C7B,MAAM,IAAMA,MAAM,CAACgC,SAAS,IAAI,CAAC,CAAEhC,MAAM,CAACL,IAC7C,CAAC;IACD,OAAO;MACNjB,aAAa,EAAEqD,eAAe,GAAI,CAAC,CAAE;MACrCL,eAAe,EAAEE;IAClB,CAAC;EACF,CAAC,EAAE,CAAEvB,OAAO,EAAE1B,IAAI,CAAG,CAAC;EAEtB,MAAMsD,kBAAkB,GAAG1B,UAAU,EAAEd,MAAM,gBAC5C,IAAA1B,WAAA,CAAAqB,GAAA,EAACmB,UAAU,CAACd,MAAM;IAACd,IAAI,EAAGA;EAAM,CAAE,CAAC,gBAEnC,IAAAZ,WAAA,CAAAqB,GAAA;IAAK8C,SAAS,EAAC;EAAwC,CAAM,CAC7D;EAED,MAAMC,oBAAoB,GAAG1B,YAAY,EAAEhB,MAAM,gBAChD,IAAA1B,WAAA,CAAAqB,GAAA,EAACqB,YAAY,CAAChB,MAAM;IAACd,IAAI,EAAGA;EAAM,CAAE,CAAC,GAClC,IAAI;EAER,oBACC,IAAAZ,WAAA,CAAAqB,GAAA,EAAC5B,WAAA,CAAA+B,SAAS,CAAC6C,GAAG;IACbC,GAAG,EAAGzB,OAAS;IACfnB,MAAM,eAAG,IAAA1B,WAAA,CAAAqB,GAAA,UAAK,CAAG;IACjBC,IAAI,EAAC,KAAK;IACV6C,SAAS,EAAG,IAAAI,aAAI,EAAE;MACjB,aAAa,EAAEhC,UAAU;MACzB,YAAY,EAAEU;IACf,CAAE,CAAG;IACLuB,YAAY,EAAGrB,gBAAkB;IACjCsB,YAAY,EAAGrB,gBAAkB;IAAA7B,QAAA,eAEjC,IAAAvB,WAAA,CAAA0E,IAAA,EAACjF,WAAA,CAAAkF,oBAAM;MACNR,SAAS,EAAC,mCAAmC;MAC7CS,SAAS,EAAC,QAAQ;MAClBC,OAAO,EAAG,CAAG;MAAAtD,QAAA,gBAEb,IAAAvB,WAAA,CAAAqB,GAAA;QAAKC,IAAI,EAAC,UAAU;QAAAC,QAAA,eACnB,IAAAvB,WAAA,CAAAqB,GAAA,EAAC5B,WAAA,CAAA+B,SAAS,CAACC,IAAI;UACdC,MAAM,eAAG,IAAA1B,WAAA,CAAAqB,GAAA,WAAM,CAAG;UAClBC,IAAI,EAAC,QAAQ;UACbH,EAAE,EAAGd,8BAA8B,CAAEC,QAAS,CAAG;UACjD,gBAAeiC,UAAY;UAC3B,mBAAkBQ,OAAS;UAC3B,oBAAmBC,aAAe;UAClCmB,SAAS,EAAC,2BAA2B;UACrCpC,OAAO,EAAGA,CAAA,KAAMU,QAAQ,CAAE7B,IAAK,CAAG;UAAAW,QAAA,eAElC,IAAAvB,WAAA,CAAA0E,IAAA,EAACjF,WAAA,CAAAkF,oBAAM;YACNE,OAAO,EAAG,CAAG;YACbC,OAAO,EAAC,OAAO;YACfF,SAAS,EAAC,YAAY;YAAArD,QAAA,gBAEtB,IAAAvB,WAAA,CAAAqB,GAAA;cAAK8C,SAAS,EAAC,oCAAoC;cAAA5C,QAAA,EAChD2C;YAAkB,CAChB,CAAC,eACN,IAAAlE,WAAA,CAAA0E,IAAA,EAACjF,WAAA,CAAAsF,oBAAM;cACNF,OAAO,EAAG,CAAG;cACbV,SAAS,EAAC,oCAAoC;cAAA5C,QAAA,gBAE9C,IAAAvB,WAAA,CAAAqB,GAAA;gBACC8C,SAAS,EAAC,oCAAoC;gBAC9ChD,EAAE,EAAG4B,OAAS;gBAAAxB,QAAA,EAEZ6C;cAAoB,CACjB,CAAC,eACP,IAAApE,WAAA,CAAAqB,GAAA;gBACC8C,SAAS,EAAC,6BAA6B;gBACvChD,EAAE,EAAG6B,aAAe;gBAAAzB,QAAA,EAElBoB,aAAa,CAACqC,GAAG,CAAIC,KAAK,iBAC3B,IAAAjF,WAAA,CAAA0E,IAAA;kBAECP,SAAS,EAAC,4BAA4B;kBAAA5C,QAAA,gBAEtC,IAAAvB,WAAA,CAAAqB,GAAA,EAAC5B,WAAA,CAAAyF,cAAc;oBACdC,EAAE,EAAC,MAAM;oBACThB,SAAS,EAAC,kCAAkC;oBAAA5C,QAAA,EAE1C0D,KAAK,CAAC7D;kBAAK,CACE,CAAC,eACjB,IAAApB,WAAA,CAAAqB,GAAA;oBAAM8C,SAAS,EAAC,kCAAkC;oBAAA5C,QAAA,eACjD,IAAAvB,WAAA,CAAAqB,GAAA,EAAC4D,KAAK,CAACvD,MAAM;sBAACd,IAAI,EAAGA;oBAAM,CAAE;kBAAC,CACzB,CAAC;gBAAA,GAXDqE,KAAK,CAAC9D,EAYR,CACJ;cAAC,CACC,CAAC;YAAA,CACC,CAAC;UAAA,CACF;QAAC,CACM;MAAC,CACb,CAAC,EACJwC,eAAe,EAAEyB,MAAM,GAAG,CAAC,iBAC5B,IAAApF,WAAA,CAAA0E,IAAA,EAACjF,WAAA,CAAAkF,oBAAM;QACNE,OAAO,EAAG,CAAG;QACbC,OAAO,EAAC,UAAU;QAClBX,SAAS,EAAC,mCAAmC;QAC7CkB,KAAK,EAAG;UACPC,UAAU,EAAE,GAAG;UACfC,KAAK,EAAE;QACR,CAAG;QAAAhE,QAAA,GAEDZ,aAAa,iBACd,IAAAX,WAAA,CAAAqB,GAAA,EAACX,qBAAqB;UACrBJ,QAAQ,EAAGA,QAAU;UACrBK,aAAa,EAAGA,aAAe;UAC/BC,IAAI,EAAGA;QAAM,CACb,CACD,eACD,IAAAZ,WAAA,CAAAqB,GAAA;UAAKC,IAAI,EAAC,UAAU;UAAAC,QAAA,eACnB,IAAAvB,WAAA,CAAAqB,GAAA,EAACnB,YAAY;YACZsF,OAAO,eACN,IAAAxF,WAAA,CAAAqB,GAAA,EAAC5B,WAAA,CAAA+B,SAAS,CAACC,IAAI;cACdN,EAAE,EAAGV,kCAAkC,CACtCH,QACD,CAAG;cACHoB,MAAM,eACL,IAAA1B,WAAA,CAAAqB,GAAA,EAAC5B,WAAA,CAAAkC,MAAM;gBACNG,IAAI,EAAC,OAAO;gBACZF,IAAI,EAAG6D,mBAAc;gBACrBrE,KAAK,EAAG,IAAAsE,QAAE,EAAE,SAAU,CAAG;gBACzBC,sBAAsB;gBACtBC,QAAQ,EAAG,CAAEtD,OAAO,CAAC8C,MAAQ;gBAC7BS,SAAS,EACRjD;cACA,CACD;YACD,CACD,CACD;YACDkD,SAAS,EAAC,YAAY;YAAAvE,QAAA,eAEtB,IAAAvB,WAAA,CAAAqB,GAAA,EAACtB,qBAAA,CAAAgG,wBAAwB;cACxBzD,OAAO,EAAGqB,eAAiB;cAC3B/C,IAAI,EAAGA;YAAM,CACb;UAAC,CACW;QAAC,CACX,CAAC;MAAA,CACC,CACR;IAAA,CACM;EAAC,CACK,CAAC;AAElB;AAEe,SAASoF,QAAQA,CAAUC,KAA4B,EAAG;EACxE,MAAM;IACL3D,OAAO;IACP4D,IAAI;IACJC,MAAM;IACNC,SAAS;IACTC,SAAS;IACTC,iBAAiB;IACjBC,SAAS;IACTC;EACD,CAAC,GAAGP,KAAK;EACT,MAAMQ,MAAM,GAAG,IAAAC,sBAAa,EAAEV,QAAQ,EAAE,WAAY,CAAC;EAErD,MAAMW,YAAY,GAAGT,IAAI,EAAEU,QAAQ,CAAIhG,IAAI,IAC1C2F,SAAS,CAACM,QAAQ,CAAET,SAAS,CAAExF,IAAK,CAAE,CACvC,CAAC;EAED,MAAM4B,UAAU,GAAG2D,MAAM,CAACW,IAAI,CAC3B7B,KAAK,IAAMA,KAAK,CAAC9D,EAAE,KAAKqF,IAAI,CAACO,MAAM,EAAEvE,UACxC,CAAC;EACD,MAAME,YAAY,GAAGyD,MAAM,CAACW,IAAI,CAC7B7B,KAAK,IAAMA,KAAK,CAAC9D,EAAE,KAAKqF,IAAI,CAACO,MAAM,EAAErE,YACxC,CAAC;EACD,MAAMsE,UAAU,GAAGR,IAAI,CAACL,MAAM,IAAIA,MAAM,CAACnB,GAAG,CAAIC,KAAK,IAAMA,KAAK,CAAC9D,EAAG,CAAC;EACrE,MAAMwB,aAAa,GAAGwD,MAAM,CAACrC,MAAM,CAChCmB,KAAK,IACN+B,UAAU,CAACH,QAAQ,CAAE5B,KAAK,CAAC9D,EAAG,CAAC,IAC/B,CAAE,CAAEqF,IAAI,CAACO,MAAM,EAAErE,YAAY,EAAE8D,IAAI,CAACO,MAAM,EAAEvE,UAAU,CAAE,CAACqE,QAAQ,CAChE5B,KAAK,CAAC9D,EACP,CACF,CAAC;EAED,MAAMsB,QAAQ,GAAK7B,IAAU,IAC5B0F,iBAAiB,CAAE,CAAEF,SAAS,CAAExF,IAAK,CAAC,CAAG,CAAC;EAE3C,MAAMqG,6BAA6B,GAAG,IAAAC,oBAAW,EAC9CtG,IAAU,IAAO,GAAG6F,MAAQ,IAAIL,SAAS,CAAExF,IAAK,CAAG,EAAC,EACtD,CAAE6F,MAAM,EAAEL,SAAS,CACpB,CAAC;EAED,MAAMe,qBAAqB,GAAG,IAAAD,oBAAW,EACxC,CAAEtG,IAAU,EAAEwG,SAAiB,KAAM;IACpC;IACA,OAAOA,SAAS,CAACC,UAAU,CAC1BJ,6BAA6B,CAAErG,IAAK,CACrC,CAAC;EACF,CAAC,EACD,CAAEqG,6BAA6B,CAChC,CAAC;;EAED;EACA,MAAM,CAAEK,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG,IAAAtG,iBAAQ,EAEzDuG,SAAU,CAAC;;EAEd;EACA,IAAAnE,kBAAS,EAAE,MAAM;IAChB,IAAKsD,YAAY,EAAG;MACnBY,oBAAoB,CACnBlH,8BAA8B,CAC7B4G,6BAA6B,CAAEN,YAAa,CAC7C,CACD,CAAC;IACF;EACD,CAAC,EAAE,CAAEA,YAAY,EAAEM,6BAA6B,CAAG,CAAC;EAEpD,MAAMQ,eAAe,GAAGvB,IAAI,CAACwB,SAAS,CAAI9G,IAAI,IAC7CuG,qBAAqB,CAAEvG,IAAI,EAAE0G,iBAAiB,aAAjBA,iBAAiB,cAAjBA,iBAAiB,GAAI,EAAG,CACtD,CAAC;EACD,MAAMK,uBAAuB,GAAG,IAAAC,oBAAW,EAAEH,eAAgB,CAAC;EAC9D,MAAMI,gBAAgB,GAAGJ,eAAe,KAAK,CAAC,CAAC;EAE/C,MAAMK,mBAAmB,GAAG,IAAAZ,oBAAW,EACtC,CACCa,WAAmB,EAGnBC,mBAAmD,KAC/C;IACJ;IACA,MAAMC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAC5BjC,IAAI,CAACd,MAAM,GAAG,CAAC,EACf8C,IAAI,CAACE,GAAG,CAAE,CAAC,EAAEL,WAAY,CAC1B,CAAC;IACD,IAAK,CAAE7B,IAAI,CAAE+B,YAAY,CAAE,EAAG;MAC7B;IACD;IACA,MAAMI,YAAY,GAAGpB,6BAA6B,CACjDf,IAAI,CAAE+B,YAAY,CACnB,CAAC;IACD,MAAMK,qBAAqB,GAAGN,mBAAmB,CAAEK,YAAa,CAAC;IAEjEd,oBAAoB,CAAEe,qBAAsB,CAAC;IAC7CC,QAAQ,CAACC,cAAc,CAAEF,qBAAsB,CAAC,EAAEG,KAAK,CAAC,CAAC;EAC1D,CAAC,EACD,CAAEvC,IAAI,EAAEe,6BAA6B,CACtC,CAAC;;EAED;EACA;EACA,IAAA5D,kBAAS,EAAE,MAAM;IAChB,MAAMqF,iBAAiB,GACtBf,uBAAuB,KAAKH,SAAS,IACrCG,uBAAuB,KAAK,CAAC,CAAC;IAC/B,IAAK,CAAEE,gBAAgB,IAAIa,iBAAiB,EAAG;MAC9C;MACA;MACA;MACA;MACAZ,mBAAmB,CAClBH,uBAAuB,EACvBtH,8BACD,CAAC;IACF;EACD,CAAC,EAAE,CAAEwH,gBAAgB,EAAEC,mBAAmB,EAAEH,uBAAuB,CAAG,CAAC;;EAEvE;EACA;EACA;EACA,MAAM/E,wBAAwB,GAAG,IAAAsE,oBAAW,EACzCyB,KAA+C,IAAM;IACtD,IAAKA,KAAK,CAACC,GAAG,KAAK,WAAW,EAAG;MAChC;MACAD,KAAK,CAACE,cAAc,CAAC,CAAC;MACtBf,mBAAmB,CAClBL,eAAe,GAAG,CAAC,EACnBhH,kCACD,CAAC;IACF;IACA,IAAKkI,KAAK,CAACC,GAAG,KAAK,SAAS,EAAG;MAC9B;MACAD,KAAK,CAACE,cAAc,CAAC,CAAC;MACtBf,mBAAmB,CAClBL,eAAe,GAAG,CAAC,EACnBhH,kCACD,CAAC;IACF;EACD,CAAC,EACD,CAAEqH,mBAAmB,EAAEL,eAAe,CACvC,CAAC;EAED,MAAMqB,OAAO,GAAG5C,IAAI,EAAEd,MAAM;EAC5B,IAAK,CAAE0D,OAAO,EAAG;IAChB,oBACC,IAAA9I,WAAA,CAAAqB,GAAA;MACC8C,SAAS,EAAG,IAAAI,aAAI,EAAE;QACjB,mBAAmB,EAAE8B,SAAS;QAC9B,sBAAsB,EAAE,CAAEyC,OAAO,IAAI,CAAEzC;MACxC,CAAE,CAAG;MAAA9E,QAAA,EAEH,CAAEuH,OAAO,iBACV,IAAA9I,WAAA,CAAAqB,GAAA;QAAAE,QAAA,EAAK8E,SAAS,gBAAG,IAAArG,WAAA,CAAAqB,GAAA,EAAC5B,WAAA,CAAAsJ,OAAO,IAAE,CAAC,GAAG,IAAArD,QAAE,EAAE,YAAa;MAAC,CAAK;IACtD,CACG,CAAC;EAER;EAEA,oBACC,IAAA1F,WAAA,CAAAqB,GAAA,EAAC5B,WAAA,CAAA+B,SAAS;IACTL,EAAE,EAAGsF,MAAQ;IACb/E,MAAM,eAAG,IAAA1B,WAAA,CAAAqB,GAAA,UAAK,CAAG;IACjB8C,SAAS,EAAC,qBAAqB;IAC/B7C,IAAI,EAAC,MAAM;IACX0H,QAAQ,EAAG1B,iBAAmB;IAC9B2B,WAAW,EAAG1B,oBAAsB;IAAAhG,QAAA,EAElC2E,IAAI,CAAClB,GAAG,CAAIpE,IAAI,IAAM;MACvB,MAAMO,EAAE,GAAG8F,6BAA6B,CAAErG,IAAK,CAAC;MAChD,oBACC,IAAAZ,WAAA,CAAAqB,GAAA,EAACgB,QAAQ;QAER/B,QAAQ,EAAGa,EAAI;QACfmB,OAAO,EAAGA,OAAS;QACnB1B,IAAI,EAAGA,IAAM;QACb2B,UAAU,EAAG3B,IAAI,KAAK+F,YAAc;QACpClE,QAAQ,EAAGA,QAAU;QACrBD,UAAU,EAAGA,UAAY;QACzBE,YAAY,EAAGA,YAAc;QAC7BC,aAAa,EAAGA,aAAe;QAC/BC,wBAAwB,EAAGA;MAA0B,GAT/CzB,EAUN,CAAC;IAEJ,CAAE;EAAC,CACO,CAAC;AAEd","ignoreList":[]}
|
|
@@ -11,22 +11,15 @@ import removeAccents from 'remove-accents';
|
|
|
11
11
|
import { useInstanceId } from '@wordpress/compose';
|
|
12
12
|
import { __, sprintf } from '@wordpress/i18n';
|
|
13
13
|
import { useState, useMemo, useDeferredValue } from '@wordpress/element';
|
|
14
|
-
import { VisuallyHidden, Icon,
|
|
14
|
+
import { VisuallyHidden, Icon, Composite } from '@wordpress/components';
|
|
15
15
|
import { search, check } from '@wordpress/icons';
|
|
16
16
|
import { SVG, Circle } from '@wordpress/primitives';
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Internal dependencies
|
|
20
20
|
*/
|
|
21
|
-
import { unlock } from '../../lock-unlock';
|
|
22
21
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
23
22
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
|
-
const {
|
|
25
|
-
CompositeV2: Composite,
|
|
26
|
-
CompositeItemV2: CompositeItem,
|
|
27
|
-
CompositeHoverV2: CompositeHover,
|
|
28
|
-
CompositeTypeaheadV2: CompositeTypeahead
|
|
29
|
-
} = unlock(componentsPrivateApis);
|
|
30
23
|
const radioCheck = /*#__PURE__*/_jsx(SVG, {
|
|
31
24
|
xmlns: "http://www.w3.org/2000/svg",
|
|
32
25
|
viewBox: "0 0 24 24",
|
|
@@ -91,15 +84,14 @@ function ListBox({
|
|
|
91
84
|
__('List of: %1$s'), filter.name),
|
|
92
85
|
onFocusVisible: () => {
|
|
93
86
|
// `onFocusVisible` needs the `Composite` component to be focusable,
|
|
94
|
-
// which is implicitly achieved via the `virtualFocus
|
|
95
|
-
// in the `useCompositeStore` hook.
|
|
87
|
+
// which is implicitly achieved via the `virtualFocus` prop.
|
|
96
88
|
if (!activeCompositeId && filter.elements.length) {
|
|
97
89
|
setActiveCompositeId(generateFilterElementCompositeItemId(baseId, filter.elements[0].value));
|
|
98
90
|
}
|
|
99
91
|
},
|
|
100
|
-
render: /*#__PURE__*/_jsx(
|
|
101
|
-
children: filter.elements.map(element => /*#__PURE__*/_jsxs(
|
|
102
|
-
render: /*#__PURE__*/_jsx(
|
|
92
|
+
render: /*#__PURE__*/_jsx(Composite.Typeahead, {}),
|
|
93
|
+
children: filter.elements.map(element => /*#__PURE__*/_jsxs(Composite.Hover, {
|
|
94
|
+
render: /*#__PURE__*/_jsx(Composite.Item, {
|
|
103
95
|
id: generateFilterElementCompositeItemId(baseId, element.value),
|
|
104
96
|
render: /*#__PURE__*/_jsx("div", {
|
|
105
97
|
"aria-label": element.label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Ariakit","removeAccents","useInstanceId","__","sprintf","useState","useMemo","useDeferredValue","VisuallyHidden","Icon","privateApis","componentsPrivateApis","search","check","SVG","Circle","unlock","jsx","_jsx","jsxs","_jsxs","CompositeV2","Composite","CompositeItemV2","CompositeItem","CompositeHoverV2","CompositeHover","CompositeTypeaheadV2","CompositeTypeahead","radioCheck","xmlns","viewBox","children","cx","cy","r","normalizeSearchInput","input","trim","toLowerCase","EMPTY_ARRAY","getCurrentValue","filterDefinition","currentFilter","singleSelection","value","Array","isArray","getNewValue","includes","filter","v","generateFilterElementCompositeItemId","prefix","filterElementValue","ListBox","view","onChangeView","baseId","activeCompositeId","setActiveCompositeId","operators","length","undefined","filters","find","f","field","currentValue","virtualFocus","focusLoop","activeId","setActiveId","role","className","name","onFocusVisible","elements","render","map","element","id","label","onClick","_view$filters","_view$filters2","newFilters","_filter","operator","page","icon","ComboboxList","searchValue","setSearchValue","deferredSearchValue","matches","normalizedSearch","item","ComboboxProvider","selectedValue","setSelectedValue","_view$filters3","_view$filters4","setValue","ComboboxLabel","Combobox","autoSelect","placeholder","alwaysVisible","ComboboxItem","resetValueOnSelect","hideOnClick","setValueOnClick","focusOnHover","ComboboxItemValue","description","SearchWidget","props","Widget"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/search-widget.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useMemo, useDeferredValue } from '@wordpress/element';\nimport {\n\tVisuallyHidden,\n\tIcon,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { search, check } from '@wordpress/icons';\nimport { SVG, Circle } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport type { Filter, NormalizedFilter, View } from '../../types';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tCompositeHoverV2: CompositeHover,\n\tCompositeTypeaheadV2: CompositeTypeahead,\n} = unlock( componentsPrivateApis );\n\ninterface SearchWidgetProps {\n\tview: View;\n\tfilter: NormalizedFilter;\n\tonChangeView: ( view: View ) => void;\n}\n\nconst radioCheck = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Circle cx={ 12 } cy={ 12 } r={ 3 }></Circle>\n\t</SVG>\n);\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\nconst getCurrentValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter?: Filter\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn currentFilter?.value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value;\n\t}\n\n\tif ( ! Array.isArray( currentFilter?.value ) && !! currentFilter?.value ) {\n\t\treturn [ currentFilter.value ];\n\t}\n\n\treturn EMPTY_ARRAY;\n};\n\nconst getNewValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter: Filter | undefined,\n\tvalue: any\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value.includes( value )\n\t\t\t? currentFilter.value.filter( ( v ) => v !== value )\n\t\t\t: [ ...currentFilter.value, value ];\n\t}\n\n\treturn [ value ];\n};\n\nfunction generateFilterElementCompositeItemId(\n\tprefix: string,\n\tfilterElementValue: string\n) {\n\treturn `${ prefix }-${ filterElementValue }`;\n}\n\nfunction ListBox( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst baseId = useInstanceId( ListBox, 'dataviews-filter-list-box' );\n\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>(\n\t\t// When there are one or less operators, the first item is set as active\n\t\t// (by setting the initial `activeId` to `undefined`).\n\t\t// With 2 or more operators, the focus is moved on the operators control\n\t\t// (by setting the initial `activeId` to `null`), meaning that there won't\n\t\t// be an active item initially. Focus is then managed via the\n\t\t// `onFocusVisible` callback.\n\t\tfilter.operators?.length === 1 ? undefined : null\n\t);\n\tconst currentFilter = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\treturn (\n\t\t<Composite\n\t\t\tvirtualFocus\n\t\t\tfocusLoop\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"dataviews-filters__search-widget-listbox\"\n\t\t\taria-label={ sprintf(\n\t\t\t\t/* translators: List of items for a filter. 1: Filter name. e.g.: \"List of: Author\". */\n\t\t\t\t__( 'List of: %1$s' ),\n\t\t\t\tfilter.name\n\t\t\t) }\n\t\t\tonFocusVisible={ () => {\n\t\t\t\t// `onFocusVisible` needs the `Composite` component to be focusable,\n\t\t\t\t// which is implicitly achieved via the `virtualFocus: true` option\n\t\t\t\t// in the `useCompositeStore` hook.\n\t\t\t\tif ( ! activeCompositeId && filter.elements.length ) {\n\t\t\t\t\tsetActiveCompositeId(\n\t\t\t\t\t\tgenerateFilterElementCompositeItemId(\n\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\tfilter.elements[ 0 ].value\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t\trender={ <CompositeTypeahead /> }\n\t\t>\n\t\t\t{ filter.elements.map( ( element ) => (\n\t\t\t\t<CompositeHover\n\t\t\t\t\tkey={ element.value }\n\t\t\t\t\trender={\n\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\tid={ generateFilterElementCompositeItemId(\n\t\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\taria-label={ element.label }\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_filter.field ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.field\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _filter;\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 ]\n\t\t\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\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 ];\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: newFilters,\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>\n\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-check\">\n\t\t\t\t\t\t{ filter.singleSelection &&\n\t\t\t\t\t\t\tcurrentValue === element.value && (\n\t\t\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! filter.singleSelection &&\n\t\t\t\t\t\t\tcurrentValue.includes( element.value ) && (\n\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span>{ element.label }</span>\n\t\t\t\t</CompositeHover>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction ComboboxList( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst deferredSearchValue = useDeferredValue( searchValue );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\tconst matches = useMemo( () => {\n\t\tconst normalizedSearch = normalizeSearchInput( deferredSearchValue );\n\t\treturn filter.elements.filter( ( item ) =>\n\t\t\tnormalizeSearchInput( item.label ).includes( normalizedSearch )\n\t\t);\n\t}, [ filter.elements, deferredSearchValue ] );\n\treturn (\n\t\t<Ariakit.ComboboxProvider\n\t\t\tselectedValue={ currentValue }\n\t\t\tsetSelectedValue={ ( value ) => {\n\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...( view.filters ?? [] ).map( ( _filter ) => {\n\t\t\t\t\t\t\t\tif ( _filter.field === filter.field ) {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\tfilter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\tvalue,\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\treturn _filter;\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ];\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters: newFilters,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tsetValue={ setSearchValue }\n\t\t>\n\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__wrapper\">\n\t\t\t\t<Ariakit.ComboboxLabel\n\t\t\t\t\trender={\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t</Ariakit.ComboboxLabel>\n\t\t\t\t<Ariakit.Combobox\n\t\t\t\t\tautoSelect=\"always\"\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox__input\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__icon\">\n\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Ariakit.ComboboxList\n\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-list\"\n\t\t\t\talwaysVisible\n\t\t\t>\n\t\t\t\t{ matches.map( ( element ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Ariakit.ComboboxItem\n\t\t\t\t\t\t\tresetValueOnSelect={ false }\n\t\t\t\t\t\t\tkey={ element.value }\n\t\t\t\t\t\t\tvalue={ element.value }\n\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\t\tsetValueOnClick={ false }\n\t\t\t\t\t\t\tfocusOnHover\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-check\">\n\t\t\t\t\t\t\t\t{ filter.singleSelection &&\n\t\t\t\t\t\t\t\t\tcurrentValue === element.value && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! filter.singleSelection &&\n\t\t\t\t\t\t\t\t\tcurrentValue.includes( element.value ) && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<Ariakit.ComboboxItemValue\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-item-value\"\n\t\t\t\t\t\t\t\t\tvalue={ element.label }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ !! element.description && (\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-description\">\n\t\t\t\t\t\t\t\t\t\t{ element.description }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Ariakit.ComboboxItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ ! matches.length && <p>{ __( 'No results found' ) }</p> }\n\t\t\t</Ariakit.ComboboxList>\n\t\t</Ariakit.ComboboxProvider>\n\t);\n}\n\nexport default function SearchWidget( props: SearchWidgetProps ) {\n\tconst Widget = props.filter.elements.length > 10 ? ComboboxList : ListBox;\n\treturn <Widget { ...props } />;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Ariakit","removeAccents","useInstanceId","__","sprintf","useState","useMemo","useDeferredValue","VisuallyHidden","Icon","Composite","search","check","SVG","Circle","jsx","_jsx","jsxs","_jsxs","radioCheck","xmlns","viewBox","children","cx","cy","r","normalizeSearchInput","input","trim","toLowerCase","EMPTY_ARRAY","getCurrentValue","filterDefinition","currentFilter","singleSelection","value","Array","isArray","getNewValue","includes","filter","v","generateFilterElementCompositeItemId","prefix","filterElementValue","ListBox","view","onChangeView","baseId","activeCompositeId","setActiveCompositeId","operators","length","undefined","filters","find","f","field","currentValue","virtualFocus","focusLoop","activeId","setActiveId","role","className","name","onFocusVisible","elements","render","Typeahead","map","element","Hover","Item","id","label","onClick","_view$filters","_view$filters2","newFilters","_filter","operator","page","icon","ComboboxList","searchValue","setSearchValue","deferredSearchValue","matches","normalizedSearch","item","ComboboxProvider","selectedValue","setSelectedValue","_view$filters3","_view$filters4","setValue","ComboboxLabel","Combobox","autoSelect","placeholder","alwaysVisible","ComboboxItem","resetValueOnSelect","hideOnClick","setValueOnClick","focusOnHover","ComboboxItemValue","description","SearchWidget","props","Widget"],"sources":["@wordpress/dataviews/src/components/dataviews-filters/search-widget.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useMemo, useDeferredValue } from '@wordpress/element';\nimport { VisuallyHidden, Icon, Composite } from '@wordpress/components';\nimport { search, check } from '@wordpress/icons';\nimport { SVG, Circle } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport type { Filter, NormalizedFilter, View } from '../../types';\n\ninterface SearchWidgetProps {\n\tview: View;\n\tfilter: NormalizedFilter;\n\tonChangeView: ( view: View ) => void;\n}\n\nconst radioCheck = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Circle cx={ 12 } cy={ 12 } r={ 3 }></Circle>\n\t</SVG>\n);\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nconst EMPTY_ARRAY: [] = [];\nconst getCurrentValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter?: Filter\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn currentFilter?.value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value;\n\t}\n\n\tif ( ! Array.isArray( currentFilter?.value ) && !! currentFilter?.value ) {\n\t\treturn [ currentFilter.value ];\n\t}\n\n\treturn EMPTY_ARRAY;\n};\n\nconst getNewValue = (\n\tfilterDefinition: NormalizedFilter,\n\tcurrentFilter: Filter | undefined,\n\tvalue: any\n) => {\n\tif ( filterDefinition.singleSelection ) {\n\t\treturn value;\n\t}\n\n\tif ( Array.isArray( currentFilter?.value ) ) {\n\t\treturn currentFilter.value.includes( value )\n\t\t\t? currentFilter.value.filter( ( v ) => v !== value )\n\t\t\t: [ ...currentFilter.value, value ];\n\t}\n\n\treturn [ value ];\n};\n\nfunction generateFilterElementCompositeItemId(\n\tprefix: string,\n\tfilterElementValue: string\n) {\n\treturn `${ prefix }-${ filterElementValue }`;\n}\n\nfunction ListBox( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst baseId = useInstanceId( ListBox, 'dataviews-filter-list-box' );\n\n\tconst [ activeCompositeId, setActiveCompositeId ] = useState<\n\t\tstring | null | undefined\n\t>(\n\t\t// When there are one or less operators, the first item is set as active\n\t\t// (by setting the initial `activeId` to `undefined`).\n\t\t// With 2 or more operators, the focus is moved on the operators control\n\t\t// (by setting the initial `activeId` to `null`), meaning that there won't\n\t\t// be an active item initially. Focus is then managed via the\n\t\t// `onFocusVisible` callback.\n\t\tfilter.operators?.length === 1 ? undefined : null\n\t);\n\tconst currentFilter = view.filters?.find(\n\t\t( f ) => f.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\treturn (\n\t\t<Composite\n\t\t\tvirtualFocus\n\t\t\tfocusLoop\n\t\t\tactiveId={ activeCompositeId }\n\t\t\tsetActiveId={ setActiveCompositeId }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"dataviews-filters__search-widget-listbox\"\n\t\t\taria-label={ sprintf(\n\t\t\t\t/* translators: List of items for a filter. 1: Filter name. e.g.: \"List of: Author\". */\n\t\t\t\t__( 'List of: %1$s' ),\n\t\t\t\tfilter.name\n\t\t\t) }\n\t\t\tonFocusVisible={ () => {\n\t\t\t\t// `onFocusVisible` needs the `Composite` component to be focusable,\n\t\t\t\t// which is implicitly achieved via the `virtualFocus` prop.\n\t\t\t\tif ( ! activeCompositeId && filter.elements.length ) {\n\t\t\t\t\tsetActiveCompositeId(\n\t\t\t\t\t\tgenerateFilterElementCompositeItemId(\n\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\tfilter.elements[ 0 ].value\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} }\n\t\t\trender={ <Composite.Typeahead /> }\n\t\t>\n\t\t\t{ filter.elements.map( ( element ) => (\n\t\t\t\t<Composite.Hover\n\t\t\t\t\tkey={ element.value }\n\t\t\t\t\trender={\n\t\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\t\tid={ generateFilterElementCompositeItemId(\n\t\t\t\t\t\t\t\tbaseId,\n\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\taria-label={ element.label }\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ).map(\n\t\t\t\t\t\t\t\t\t\t\t\t( _filter ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_filter.field ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.field\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn _filter;\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 ]\n\t\t\t\t\t\t\t\t\t: [\n\t\t\t\t\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: getNewValue(\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentFilter,\n\t\t\t\t\t\t\t\t\t\t\t\t\telement.value\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 ];\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: newFilters,\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>\n\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-check\">\n\t\t\t\t\t\t{ filter.singleSelection &&\n\t\t\t\t\t\t\tcurrentValue === element.value && (\n\t\t\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! filter.singleSelection &&\n\t\t\t\t\t\t\tcurrentValue.includes( element.value ) && (\n\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span>{ element.label }</span>\n\t\t\t\t</Composite.Hover>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction ComboboxList( { view, filter, onChangeView }: SearchWidgetProps ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst deferredSearchValue = useDeferredValue( searchValue );\n\tconst currentFilter = view.filters?.find(\n\t\t( _filter ) => _filter.field === filter.field\n\t);\n\tconst currentValue = getCurrentValue( filter, currentFilter );\n\tconst matches = useMemo( () => {\n\t\tconst normalizedSearch = normalizeSearchInput( deferredSearchValue );\n\t\treturn filter.elements.filter( ( item ) =>\n\t\t\tnormalizeSearchInput( item.label ).includes( normalizedSearch )\n\t\t);\n\t}, [ filter.elements, deferredSearchValue ] );\n\treturn (\n\t\t<Ariakit.ComboboxProvider\n\t\t\tselectedValue={ currentValue }\n\t\t\tsetSelectedValue={ ( value ) => {\n\t\t\t\tconst newFilters = currentFilter\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...( view.filters ?? [] ).map( ( _filter ) => {\n\t\t\t\t\t\t\t\tif ( _filter.field === filter.field ) {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t..._filter,\n\t\t\t\t\t\t\t\t\t\toperator:\n\t\t\t\t\t\t\t\t\t\t\tcurrentFilter.operator ||\n\t\t\t\t\t\t\t\t\t\t\tfilter.operators[ 0 ],\n\t\t\t\t\t\t\t\t\t\tvalue,\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\treturn _filter;\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: [\n\t\t\t\t\t\t\t...( view.filters ?? [] ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: filter.field,\n\t\t\t\t\t\t\t\toperator: filter.operators[ 0 ],\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ];\n\t\t\t\tonChangeView( {\n\t\t\t\t\t...view,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters: newFilters,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tsetValue={ setSearchValue }\n\t\t>\n\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__wrapper\">\n\t\t\t\t<Ariakit.ComboboxLabel\n\t\t\t\t\trender={\n\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Search items' ) }\n\t\t\t\t</Ariakit.ComboboxLabel>\n\t\t\t\t<Ariakit.Combobox\n\t\t\t\t\tautoSelect=\"always\"\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox__input\"\n\t\t\t\t/>\n\t\t\t\t<div className=\"dataviews-filters__search-widget-filter-combobox__icon\">\n\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<Ariakit.ComboboxList\n\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-list\"\n\t\t\t\talwaysVisible\n\t\t\t>\n\t\t\t\t{ matches.map( ( element ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Ariakit.ComboboxItem\n\t\t\t\t\t\t\tresetValueOnSelect={ false }\n\t\t\t\t\t\t\tkey={ element.value }\n\t\t\t\t\t\t\tvalue={ element.value }\n\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-listitem\"\n\t\t\t\t\t\t\thideOnClick={ false }\n\t\t\t\t\t\t\tsetValueOnClick={ false }\n\t\t\t\t\t\t\tfocusOnHover\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-check\">\n\t\t\t\t\t\t\t\t{ filter.singleSelection &&\n\t\t\t\t\t\t\t\t\tcurrentValue === element.value && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ radioCheck } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! filter.singleSelection &&\n\t\t\t\t\t\t\t\t\tcurrentValue.includes( element.value ) && (\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t<Ariakit.ComboboxItemValue\n\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filters__search-widget-filter-combobox-item-value\"\n\t\t\t\t\t\t\t\t\tvalue={ element.label }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ !! element.description && (\n\t\t\t\t\t\t\t\t\t<span className=\"dataviews-filters__search-widget-listitem-description\">\n\t\t\t\t\t\t\t\t\t\t{ element.description }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</Ariakit.ComboboxItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ ! matches.length && <p>{ __( 'No results found' ) }</p> }\n\t\t\t</Ariakit.ComboboxList>\n\t\t</Ariakit.ComboboxProvider>\n\t);\n}\n\nexport default function SearchWidget( props: SearchWidgetProps ) {\n\tconst Widget = props.filter.elements.length > 10 ? ComboboxList : ListBox;\n\treturn <Widget { ...props } />;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ import clsx from 'clsx';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { useInstanceId, usePrevious } from '@wordpress/compose';
|
|
10
|
-
import { __experimentalHStack as HStack, __experimentalVStack as VStack, Button, privateApis as componentsPrivateApis, Spinner, VisuallyHidden } from '@wordpress/components';
|
|
10
|
+
import { __experimentalHStack as HStack, __experimentalVStack as VStack, Button, privateApis as componentsPrivateApis, Spinner, VisuallyHidden, Composite } from '@wordpress/components';
|
|
11
11
|
import { useCallback, useEffect, useMemo, useRef, useState } from '@wordpress/element';
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
13
|
import { moreVertical } from '@wordpress/icons';
|
|
@@ -21,9 +21,6 @@ import { ActionsDropdownMenuGroup, ActionModal } from '../../components/dataview
|
|
|
21
21
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
22
22
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
23
|
const {
|
|
24
|
-
CompositeV2: Composite,
|
|
25
|
-
CompositeItemV2: CompositeItem,
|
|
26
|
-
CompositeRowV2: CompositeRow,
|
|
27
24
|
DropdownMenuV2: DropdownMenu
|
|
28
25
|
} = unlock(componentsPrivateApis);
|
|
29
26
|
function generateItemWrapperCompositeId(idPrefix) {
|
|
@@ -46,7 +43,7 @@ function PrimaryActionGridCell({
|
|
|
46
43
|
const label = typeof primaryAction.label === 'string' ? primaryAction.label : primaryAction.label([item]);
|
|
47
44
|
return 'RenderModal' in primaryAction ? /*#__PURE__*/_jsx("div", {
|
|
48
45
|
role: "gridcell",
|
|
49
|
-
children: /*#__PURE__*/_jsx(
|
|
46
|
+
children: /*#__PURE__*/_jsx(Composite.Item, {
|
|
50
47
|
id: compositeItemId,
|
|
51
48
|
render: /*#__PURE__*/_jsx(Button, {
|
|
52
49
|
label: label,
|
|
@@ -63,7 +60,7 @@ function PrimaryActionGridCell({
|
|
|
63
60
|
})
|
|
64
61
|
}, primaryAction.id) : /*#__PURE__*/_jsx("div", {
|
|
65
62
|
role: "gridcell",
|
|
66
|
-
children: /*#__PURE__*/_jsx(
|
|
63
|
+
children: /*#__PURE__*/_jsx(Composite.Item, {
|
|
67
64
|
id: compositeItemId,
|
|
68
65
|
render: /*#__PURE__*/_jsx(Button, {
|
|
69
66
|
label: label,
|
|
@@ -130,7 +127,7 @@ function ListItem({
|
|
|
130
127
|
const renderedPrimaryField = primaryField?.render ? /*#__PURE__*/_jsx(primaryField.render, {
|
|
131
128
|
item: item
|
|
132
129
|
}) : null;
|
|
133
|
-
return /*#__PURE__*/_jsx(
|
|
130
|
+
return /*#__PURE__*/_jsx(Composite.Row, {
|
|
134
131
|
ref: itemRef,
|
|
135
132
|
render: /*#__PURE__*/_jsx("li", {}),
|
|
136
133
|
role: "row",
|
|
@@ -146,7 +143,7 @@ function ListItem({
|
|
|
146
143
|
spacing: 0,
|
|
147
144
|
children: [/*#__PURE__*/_jsx("div", {
|
|
148
145
|
role: "gridcell",
|
|
149
|
-
children: /*#__PURE__*/_jsx(
|
|
146
|
+
children: /*#__PURE__*/_jsx(Composite.Item, {
|
|
150
147
|
render: /*#__PURE__*/_jsx("div", {}),
|
|
151
148
|
role: "button",
|
|
152
149
|
id: generateItemWrapperCompositeId(idPrefix),
|
|
@@ -204,7 +201,7 @@ function ListItem({
|
|
|
204
201
|
}), /*#__PURE__*/_jsx("div", {
|
|
205
202
|
role: "gridcell",
|
|
206
203
|
children: /*#__PURE__*/_jsx(DropdownMenu, {
|
|
207
|
-
trigger: /*#__PURE__*/_jsx(
|
|
204
|
+
trigger: /*#__PURE__*/_jsx(Composite.Item, {
|
|
208
205
|
id: generateDropdownTriggerCompositeId(idPrefix),
|
|
209
206
|
render: /*#__PURE__*/_jsx(Button, {
|
|
210
207
|
size: "small",
|
|
@@ -265,6 +262,9 @@ export default function ViewList(props) {
|
|
|
265
262
|
const selectCompositeItem = useCallback((targetIndex, generateCompositeId) => {
|
|
266
263
|
// Clamping between 0 and data.length - 1 to avoid out of bounds.
|
|
267
264
|
const clampedIndex = Math.min(data.length - 1, Math.max(0, targetIndex));
|
|
265
|
+
if (!data[clampedIndex]) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
268
|
const itemIdPrefix = generateCompositeItemIdPrefix(data[clampedIndex]);
|
|
269
269
|
const targetCompositeItemId = generateCompositeId(itemIdPrefix);
|
|
270
270
|
setActiveCompositeId(targetCompositeItemId);
|