@wordpress/components 29.5.0 → 29.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/build/query-controls/index.js +18 -16
- package/build/query-controls/index.js.map +1 -1
- package/build/query-controls/index.native.js +3 -2
- package/build/query-controls/index.native.js.map +1 -1
- package/build/query-controls/types.js.map +1 -1
- package/build-module/query-controls/index.js +18 -16
- package/build-module/query-controls/index.js.map +1 -1
- package/build-module/query-controls/index.native.js +3 -2
- package/build-module/query-controls/index.native.js.map +1 -1
- package/build-module/query-controls/types.js.map +1 -1
- package/build-style/style-rtl.css +1 -1
- package/build-style/style.css +1 -1
- package/build-types/query-controls/index.d.ts +2 -2
- package/build-types/query-controls/index.d.ts.map +1 -1
- package/build-types/query-controls/types.d.ts +15 -1
- package/build-types/query-controls/types.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/button/style.scss +1 -1
- package/src/query-controls/README.md +10 -3
- package/src/query-controls/index.native.js +3 -2
- package/src/query-controls/index.tsx +25 -21
- package/src/query-controls/types.ts +16 -1
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
- `Button`: Fix tertiary variant displaying incorrect text color in pressed and hover states ([#68542](https://github.com/WordPress/gutenberg/pull/68542)).
|
|
8
|
+
|
|
9
|
+
### Enhancement
|
|
10
|
+
|
|
11
|
+
- `QueryControls`: Add menu_order sorting option if supported by the post type. ([#68781](https://github.com/WordPress/gutenberg/pull/68781)).
|
|
12
|
+
|
|
5
13
|
## 29.5.0 (2025-02-28)
|
|
6
14
|
|
|
7
15
|
### Documentation
|
|
@@ -31,6 +31,21 @@ function isSingleCategorySelection(props) {
|
|
|
31
31
|
function isMultipleCategorySelection(props) {
|
|
32
32
|
return 'categorySuggestions' in props;
|
|
33
33
|
}
|
|
34
|
+
const defaultOrderByOptions = [{
|
|
35
|
+
label: (0, _i18n.__)('Newest to oldest'),
|
|
36
|
+
value: 'date/desc'
|
|
37
|
+
}, {
|
|
38
|
+
label: (0, _i18n.__)('Oldest to newest'),
|
|
39
|
+
value: 'date/asc'
|
|
40
|
+
}, {
|
|
41
|
+
/* translators: Label for ordering posts by title in ascending order. */
|
|
42
|
+
label: (0, _i18n.__)('A → Z'),
|
|
43
|
+
value: 'title/asc'
|
|
44
|
+
}, {
|
|
45
|
+
/* translators: Label for ordering posts by title in descending order. */
|
|
46
|
+
label: (0, _i18n.__)('Z → A'),
|
|
47
|
+
value: 'title/desc'
|
|
48
|
+
}];
|
|
34
49
|
|
|
35
50
|
/**
|
|
36
51
|
* Controls to query for posts.
|
|
@@ -38,7 +53,7 @@ function isMultipleCategorySelection(props) {
|
|
|
38
53
|
* ```jsx
|
|
39
54
|
* const MyQueryControls = () => (
|
|
40
55
|
* <QueryControls
|
|
41
|
-
* { ...{ maxItems, minItems, numberOfItems, order, orderBy } }
|
|
56
|
+
* { ...{ maxItems, minItems, numberOfItems, order, orderBy, orderByOptions } }
|
|
42
57
|
* onOrderByChange={ ( newOrderBy ) => {
|
|
43
58
|
* updateQuery( { orderBy: newOrderBy } )
|
|
44
59
|
* }
|
|
@@ -63,6 +78,7 @@ function QueryControls({
|
|
|
63
78
|
numberOfItems,
|
|
64
79
|
order,
|
|
65
80
|
orderBy,
|
|
81
|
+
orderByOptions = defaultOrderByOptions,
|
|
66
82
|
maxItems = DEFAULT_MAX_ITEMS,
|
|
67
83
|
minItems = DEFAULT_MIN_ITEMS,
|
|
68
84
|
onAuthorChange,
|
|
@@ -81,21 +97,7 @@ function QueryControls({
|
|
|
81
97
|
__next40pxDefaultSize: true,
|
|
82
98
|
label: (0, _i18n.__)('Order by'),
|
|
83
99
|
value: orderBy === undefined || order === undefined ? undefined : `${orderBy}/${order}`,
|
|
84
|
-
options:
|
|
85
|
-
label: (0, _i18n.__)('Newest to oldest'),
|
|
86
|
-
value: 'date/desc'
|
|
87
|
-
}, {
|
|
88
|
-
label: (0, _i18n.__)('Oldest to newest'),
|
|
89
|
-
value: 'date/asc'
|
|
90
|
-
}, {
|
|
91
|
-
/* translators: Label for ordering posts by title in ascending order. */
|
|
92
|
-
label: (0, _i18n.__)('A → Z'),
|
|
93
|
-
value: 'title/asc'
|
|
94
|
-
}, {
|
|
95
|
-
/* translators: Label for ordering posts by title in descending order. */
|
|
96
|
-
label: (0, _i18n.__)('Z → A'),
|
|
97
|
-
value: 'title/desc'
|
|
98
|
-
}],
|
|
100
|
+
options: orderByOptions,
|
|
99
101
|
onChange: value => {
|
|
100
102
|
if (typeof value !== 'string') {
|
|
101
103
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_authorSelect","_interopRequireDefault","_categorySelect","_formTokenField","_rangeControl","_selectControl","_vStack","_jsxRuntime","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","MAX_CATEGORIES_SUGGESTIONS","isSingleCategorySelection","props","isMultipleCategorySelection","QueryControls","authorList","selectedAuthorId","numberOfItems","order","orderBy","maxItems","minItems","onAuthorChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","jsx","VStack","spacing","className","children","default","__nextHasNoMarginBottom","__next40pxDefaultSize","label","__","value","undefined","options","onChange","newOrderBy","newOrder","split","categoriesList","onCategoryChange","noOptionLabel","_x","selectedCategoryId","categorySuggestions","selectedCategories","map","item","id","name","suggestions","Object","keys","maxSuggestions","min","max","required","_default","exports"],"sources":["@wordpress/components/src/query-controls/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport AuthorSelect from './author-select';\nimport CategorySelect from './category-select';\nimport FormTokenField from '../form-token-field';\nimport RangeControl from '../range-control';\nimport SelectControl from '../select-control';\nimport { VStack } from '../v-stack';\nimport type {\n\tQueryControlsProps,\n\tQueryControlsWithMultipleCategorySelectionProps,\n\tQueryControlsWithSingleCategorySelectionProps,\n} from './types';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\nconst MAX_CATEGORIES_SUGGESTIONS = 20;\n\nfunction isSingleCategorySelection(\n\tprops: QueryControlsProps\n): props is QueryControlsWithSingleCategorySelectionProps {\n\treturn 'categoriesList' in props;\n}\n\nfunction isMultipleCategorySelection(\n\tprops: QueryControlsProps\n): props is QueryControlsWithMultipleCategorySelectionProps {\n\treturn 'categorySuggestions' in props;\n}\n\n/**\n * Controls to query for posts.\n *\n * ```jsx\n * const MyQueryControls = () => (\n * <QueryControls\n * { ...{ maxItems, minItems, numberOfItems, order, orderBy } }\n * onOrderByChange={ ( newOrderBy ) => {\n * updateQuery( { orderBy: newOrderBy } )\n * }\n * onOrderChange={ ( newOrder ) => {\n * updateQuery( { order: newOrder } )\n * }\n * categoriesList={ categories }\n * selectedCategoryId={ category }\n * onCategoryChange={ ( newCategory ) => {\n * updateQuery( { category: newCategory } )\n * }\n * onNumberOfItemsChange={ ( newNumberOfItems ) => {\n * updateQuery( { numberOfItems: newNumberOfItems } )\n * } }\n * />\n * );\n * ```\n */\nexport function QueryControls( {\n\tauthorList,\n\tselectedAuthorId,\n\tnumberOfItems,\n\torder,\n\torderBy,\n\tmaxItems = DEFAULT_MAX_ITEMS,\n\tminItems = DEFAULT_MIN_ITEMS,\n\tonAuthorChange,\n\tonNumberOfItemsChange,\n\tonOrderChange,\n\tonOrderByChange,\n\t// Props for single OR multiple category selection are not destructured here,\n\t// but instead are destructured inline where necessary.\n\t...props\n}: QueryControlsProps ) {\n\treturn (\n\t\t<VStack spacing=\"4\" className=\"components-query-controls\">\n\t\t\t{ [\n\t\t\t\tonOrderChange && onOrderByChange && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-order-select\"\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\torderBy === undefined || order === undefined\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: `${ orderBy }/${ order }`\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Newest to oldest' ),\n\t\t\t\t\t\t\t\tvalue: 'date/desc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Oldest to newest' ),\n\t\t\t\t\t\t\t\tvalue: 'date/asc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: Label for ordering posts by title in ascending order. */\n\t\t\t\t\t\t\t\tlabel: __( 'A → Z' ),\n\t\t\t\t\t\t\t\tvalue: 'title/asc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: Label for ordering posts by title in descending order. */\n\t\t\t\t\t\t\t\tlabel: __( 'Z → A' ),\n\t\t\t\t\t\t\t\tvalue: 'title/desc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tif ( typeof value !== 'string' ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\t\t\t\tonOrderChange(\n\t\t\t\t\t\t\t\t\tnewOrder as NonNullable<\n\t\t\t\t\t\t\t\t\t\tQueryControlsProps[ 'order' ]\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\t\t\t\tonOrderByChange(\n\t\t\t\t\t\t\t\t\tnewOrderBy as NonNullable<\n\t\t\t\t\t\t\t\t\t\tQueryControlsProps[ 'orderBy' ]\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tisSingleCategorySelection( props ) &&\n\t\t\t\t\tprops.categoriesList &&\n\t\t\t\t\tprops.onCategoryChange && (\n\t\t\t\t\t\t<CategorySelect\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tkey=\"query-controls-category-select\"\n\t\t\t\t\t\t\tcategoriesList={ props.categoriesList }\n\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'categories' ) }\n\t\t\t\t\t\t\tselectedCategoryId={ props.selectedCategoryId }\n\t\t\t\t\t\t\tonChange={ props.onCategoryChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\tisMultipleCategorySelection( props ) &&\n\t\t\t\t\tprops.categorySuggestions &&\n\t\t\t\t\tprops.onCategoryChange && (\n\t\t\t\t\t\t<FormTokenField\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tkey=\"query-controls-categories-select\"\n\t\t\t\t\t\t\tlabel={ __( 'Categories' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tprops.selectedCategories &&\n\t\t\t\t\t\t\t\tprops.selectedCategories.map( ( item ) => ( {\n\t\t\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\t\t\t// Keeping the fallback to `item.value` for legacy reasons,\n\t\t\t\t\t\t\t\t\t// even if items of `selectedCategories` should not have a\n\t\t\t\t\t\t\t\t\t// `value` property.\n\t\t\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\t\t\tvalue: item.name || item.value,\n\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ Object.keys(\n\t\t\t\t\t\t\t\tprops.categorySuggestions\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ props.onCategoryChange }\n\t\t\t\t\t\t\tmaxSuggestions={ MAX_CATEGORIES_SUGGESTIONS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\tonAuthorChange && (\n\t\t\t\t\t<AuthorSelect\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-author-select\"\n\t\t\t\t\t\tauthorList={ authorList }\n\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'authors' ) }\n\t\t\t\t\t\tselectedAuthorId={ selectedAuthorId }\n\t\t\t\t\t\tonChange={ onAuthorChange }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tonNumberOfItemsChange && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-range-control\"\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ numberOfItems }\n\t\t\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\t\t\tmin={ minItems }\n\t\t\t\t\t\tmax={ maxItems }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t] }\n\t\t</VStack>\n\t);\n}\n\nexport default QueryControls;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_authorSelect","_interopRequireDefault","_categorySelect","_formTokenField","_rangeControl","_selectControl","_vStack","_jsxRuntime","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","MAX_CATEGORIES_SUGGESTIONS","isSingleCategorySelection","props","isMultipleCategorySelection","defaultOrderByOptions","label","__","value","QueryControls","authorList","selectedAuthorId","numberOfItems","order","orderBy","orderByOptions","maxItems","minItems","onAuthorChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","jsx","VStack","spacing","className","children","default","__nextHasNoMarginBottom","__next40pxDefaultSize","undefined","options","onChange","newOrderBy","newOrder","split","categoriesList","onCategoryChange","noOptionLabel","_x","selectedCategoryId","categorySuggestions","selectedCategories","map","item","id","name","suggestions","Object","keys","maxSuggestions","min","max","required","_default","exports"],"sources":["@wordpress/components/src/query-controls/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport AuthorSelect from './author-select';\nimport CategorySelect from './category-select';\nimport FormTokenField from '../form-token-field';\nimport RangeControl from '../range-control';\nimport SelectControl from '../select-control';\nimport { VStack } from '../v-stack';\nimport type {\n\tQueryControlsProps,\n\tQueryControlsWithMultipleCategorySelectionProps,\n\tQueryControlsWithSingleCategorySelectionProps,\n\tOrderByOption,\n} from './types';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\nconst MAX_CATEGORIES_SUGGESTIONS = 20;\n\nfunction isSingleCategorySelection(\n\tprops: QueryControlsProps\n): props is QueryControlsWithSingleCategorySelectionProps {\n\treturn 'categoriesList' in props;\n}\n\nfunction isMultipleCategorySelection(\n\tprops: QueryControlsProps\n): props is QueryControlsWithMultipleCategorySelectionProps {\n\treturn 'categorySuggestions' in props;\n}\n\nconst defaultOrderByOptions: OrderByOption[] = [\n\t{\n\t\tlabel: __( 'Newest to oldest' ),\n\t\tvalue: 'date/desc',\n\t},\n\t{\n\t\tlabel: __( 'Oldest to newest' ),\n\t\tvalue: 'date/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in ascending order. */\n\t\tlabel: __( 'A → Z' ),\n\t\tvalue: 'title/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in descending order. */\n\t\tlabel: __( 'Z → A' ),\n\t\tvalue: 'title/desc',\n\t},\n];\n\n/**\n * Controls to query for posts.\n *\n * ```jsx\n * const MyQueryControls = () => (\n * <QueryControls\n * { ...{ maxItems, minItems, numberOfItems, order, orderBy, orderByOptions } }\n * onOrderByChange={ ( newOrderBy ) => {\n * updateQuery( { orderBy: newOrderBy } )\n * }\n * onOrderChange={ ( newOrder ) => {\n * updateQuery( { order: newOrder } )\n * }\n * categoriesList={ categories }\n * selectedCategoryId={ category }\n * onCategoryChange={ ( newCategory ) => {\n * updateQuery( { category: newCategory } )\n * }\n * onNumberOfItemsChange={ ( newNumberOfItems ) => {\n * updateQuery( { numberOfItems: newNumberOfItems } )\n * } }\n * />\n * );\n * ```\n */\nexport function QueryControls( {\n\tauthorList,\n\tselectedAuthorId,\n\tnumberOfItems,\n\torder,\n\torderBy,\n\torderByOptions = defaultOrderByOptions,\n\tmaxItems = DEFAULT_MAX_ITEMS,\n\tminItems = DEFAULT_MIN_ITEMS,\n\tonAuthorChange,\n\tonNumberOfItemsChange,\n\tonOrderChange,\n\tonOrderByChange,\n\t// Props for single OR multiple category selection are not destructured here,\n\t// but instead are destructured inline where necessary.\n\t...props\n}: QueryControlsProps ) {\n\treturn (\n\t\t<VStack spacing=\"4\" className=\"components-query-controls\">\n\t\t\t{ [\n\t\t\t\tonOrderChange && onOrderByChange && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-order-select\"\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\torderBy === undefined || order === undefined\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: `${ orderBy }/${ order }`\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ orderByOptions }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tif ( typeof value !== 'string' ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\t\t\t\tonOrderChange(\n\t\t\t\t\t\t\t\t\tnewOrder as NonNullable<\n\t\t\t\t\t\t\t\t\t\tQueryControlsProps[ 'order' ]\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\t\t\t\tonOrderByChange(\n\t\t\t\t\t\t\t\t\tnewOrderBy as NonNullable<\n\t\t\t\t\t\t\t\t\t\tQueryControlsProps[ 'orderBy' ]\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tisSingleCategorySelection( props ) &&\n\t\t\t\t\tprops.categoriesList &&\n\t\t\t\t\tprops.onCategoryChange && (\n\t\t\t\t\t\t<CategorySelect\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tkey=\"query-controls-category-select\"\n\t\t\t\t\t\t\tcategoriesList={ props.categoriesList }\n\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'categories' ) }\n\t\t\t\t\t\t\tselectedCategoryId={ props.selectedCategoryId }\n\t\t\t\t\t\t\tonChange={ props.onCategoryChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\tisMultipleCategorySelection( props ) &&\n\t\t\t\t\tprops.categorySuggestions &&\n\t\t\t\t\tprops.onCategoryChange && (\n\t\t\t\t\t\t<FormTokenField\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tkey=\"query-controls-categories-select\"\n\t\t\t\t\t\t\tlabel={ __( 'Categories' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tprops.selectedCategories &&\n\t\t\t\t\t\t\t\tprops.selectedCategories.map( ( item ) => ( {\n\t\t\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\t\t\t// Keeping the fallback to `item.value` for legacy reasons,\n\t\t\t\t\t\t\t\t\t// even if items of `selectedCategories` should not have a\n\t\t\t\t\t\t\t\t\t// `value` property.\n\t\t\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\t\t\tvalue: item.name || item.value,\n\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ Object.keys(\n\t\t\t\t\t\t\t\tprops.categorySuggestions\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ props.onCategoryChange }\n\t\t\t\t\t\t\tmaxSuggestions={ MAX_CATEGORIES_SUGGESTIONS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\tonAuthorChange && (\n\t\t\t\t\t<AuthorSelect\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-author-select\"\n\t\t\t\t\t\tauthorList={ authorList }\n\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'authors' ) }\n\t\t\t\t\t\tselectedAuthorId={ selectedAuthorId }\n\t\t\t\t\t\tonChange={ onAuthorChange }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tonNumberOfItemsChange && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-range-control\"\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ numberOfItems }\n\t\t\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\t\t\tmin={ minItems }\n\t\t\t\t\t\tmax={ maxItems }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t] }\n\t\t</VStack>\n\t);\n}\n\nexport default QueryControls;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,7 +21,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
21
21
|
|
|
22
22
|
const DEFAULT_MIN_ITEMS = 1;
|
|
23
23
|
const DEFAULT_MAX_ITEMS = 100;
|
|
24
|
-
const
|
|
24
|
+
const defaultOrderByOptions = [{
|
|
25
25
|
label: (0, _i18n.__)('Newest to oldest'),
|
|
26
26
|
value: 'date/desc'
|
|
27
27
|
}, {
|
|
@@ -42,6 +42,7 @@ const QueryControls = (0, _element.memo)(({
|
|
|
42
42
|
numberOfItems,
|
|
43
43
|
order,
|
|
44
44
|
orderBy,
|
|
45
|
+
orderByOptions = defaultOrderByOptions,
|
|
45
46
|
maxItems = DEFAULT_MAX_ITEMS,
|
|
46
47
|
minItems = DEFAULT_MIN_ITEMS,
|
|
47
48
|
onCategoryChange,
|
|
@@ -62,7 +63,7 @@ const QueryControls = (0, _element.memo)(({
|
|
|
62
63
|
children: [onOrderChange && onOrderByChange && /*#__PURE__*/(0, _jsxRuntime.jsx)(_selectControl.default, {
|
|
63
64
|
label: (0, _i18n.__)('Order by'),
|
|
64
65
|
value: `${orderBy}/${order}`,
|
|
65
|
-
options:
|
|
66
|
+
options: orderByOptions,
|
|
66
67
|
onChange: onChange,
|
|
67
68
|
hideCancelButton: true
|
|
68
69
|
}), onCategoryChange && /*#__PURE__*/(0, _jsxRuntime.jsx)(_categorySelect.default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_element","_rangeControl","_interopRequireDefault","_selectControl","_categorySelect","_jsxRuntime","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","
|
|
1
|
+
{"version":3,"names":["_i18n","require","_element","_rangeControl","_interopRequireDefault","_selectControl","_categorySelect","_jsxRuntime","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","defaultOrderByOptions","label","__","value","QueryControls","memo","categoriesList","selectedCategoryId","numberOfItems","order","orderBy","orderByOptions","maxItems","minItems","onCategoryChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","onChange","useCallback","newOrderBy","newOrder","split","jsxs","Fragment","children","jsx","default","options","hideCancelButton","noOptionLabel","_x","__next40pxDefaultSize","min","max","required","_default","exports"],"sources":["@wordpress/components/src/query-controls/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, memo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport RangeControl from '../range-control';\nimport SelectControl from '../select-control';\nimport CategorySelect from './category-select';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\n\nconst defaultOrderByOptions = [\n\t{\n\t\tlabel: __( 'Newest to oldest' ),\n\t\tvalue: 'date/desc',\n\t},\n\t{\n\t\tlabel: __( 'Oldest to newest' ),\n\t\tvalue: 'date/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in ascending order. */\n\t\tlabel: __( 'A → Z' ),\n\t\tvalue: 'title/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in descending order. */\n\t\tlabel: __( 'Z → A' ),\n\t\tvalue: 'title/desc',\n\t},\n];\n\nconst QueryControls = memo(\n\t( {\n\t\tcategoriesList,\n\t\tselectedCategoryId,\n\t\tnumberOfItems,\n\t\torder,\n\t\torderBy,\n\t\torderByOptions = defaultOrderByOptions,\n\t\tmaxItems = DEFAULT_MAX_ITEMS,\n\t\tminItems = DEFAULT_MIN_ITEMS,\n\t\tonCategoryChange,\n\t\tonNumberOfItemsChange,\n\t\tonOrderChange,\n\t\tonOrderByChange,\n\t} ) => {\n\t\tconst onChange = useCallback(\n\t\t\t( value ) => {\n\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\tonOrderChange( newOrder );\n\t\t\t\t}\n\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\tonOrderByChange( newOrderBy );\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ order, orderBy, onOrderByChange, onOrderChange ]\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ onOrderChange && onOrderByChange && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\tvalue={ `${ orderBy }/${ order }` }\n\t\t\t\t\t\toptions={ orderByOptions }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ onCategoryChange && (\n\t\t\t\t\t<CategorySelect\n\t\t\t\t\t\tcategoriesList={ categoriesList }\n\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'categories' ) }\n\t\t\t\t\t\tselectedCategoryId={ selectedCategoryId }\n\t\t\t\t\t\tonChange={ onCategoryChange }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ onNumberOfItemsChange && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ numberOfItems }\n\t\t\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\t\t\tmin={ minItems }\n\t\t\t\t\t\tmax={ maxItems }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n);\n\nexport default QueryControls;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["@wordpress/components/src/query-controls/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { FormTokenFieldProps } from '../form-token-field/types';\nimport type { TreeSelectProps } from '../tree-select/types';\n\nexport type Author = {\n\tid: number;\n\tname: string;\n};\n\nexport type Category = {\n\tid: number;\n\tname: string;\n\tparent: number;\n};\n\nexport type TermWithParentAndChildren = {\n\tid: string;\n\tname: string;\n\tparent: number | null;\n\tchildren: TermWithParentAndChildren[];\n};\n\nexport type TermsByParent = Record< string, TermWithParentAndChildren[] >;\n\nexport type CategorySelectProps = Pick<\n\tTreeSelectProps,\n\t'label' | 'noOptionLabel'\n> & {\n\tcategoriesList: Category[];\n\tonChange: ( newCategory: string ) => void;\n\tselectedCategoryId?: Category[ 'id' ];\n\t__next40pxDefaultSize: boolean;\n};\n\nexport type AuthorSelectProps = Pick<\n\tTreeSelectProps,\n\t'label' | 'noOptionLabel'\n> & {\n\tauthorList?: Author[];\n\tonChange: ( newAuthor: string ) => void;\n\tselectedAuthorId?: Author[ 'id' ];\n\t__next40pxDefaultSize: boolean;\n};\n\ntype Order = 'asc' | 'desc';\ntype OrderBy = 'date' | 'title';\n\ntype BaseQueryControlsProps = {\n\t/**\n\t * An array of the authors to select from.\n\t */\n\tauthorList?: AuthorSelectProps[ 'authorList' ];\n\t/**\n\t * The maximum number of items.\n\t *\n\t * @default 100\n\t */\n\tmaxItems?: number;\n\t/**\n\t * The minimum number of items.\n\t *\n\t * @default 1\n\t */\n\tminItems?: number;\n\t/**\n\t * The selected number of items to retrieve via the query.\n\t */\n\tnumberOfItems?: number;\n\t/**\n\t * A function that receives the new author value.\n\t * If not specified, the author controls are not rendered.\n\t */\n\tonAuthorChange?: AuthorSelectProps[ 'onChange' ];\n\t/**\n\t * A function that receives the new number of items.\n\t * If not specified, then the number of items\n\t * range control is not rendered.\n\t */\n\tonNumberOfItemsChange?: ( newNumber?: number ) => void;\n\t/**\n\t * A function that receives the new order value.\n\t * If this prop or the `onOrderByChange` prop are not specified,\n\t * then the order controls are not rendered.\n\t */\n\tonOrderChange?: ( newOrder: Order ) => void;\n\t/**\n\t * A function that receives the new orderby value.\n\t * If this prop or the `onOrderChange` prop are not specified,\n\t * then the order controls are not rendered.\n\t */\n\tonOrderByChange?: ( newOrderBy: OrderBy ) => void;\n\t/**\n\t * The order in which to retrieve posts.\n\t */\n\torder?: Order;\n\t/**\n\t * The meta key by which to order posts.\n\t */\n\torderBy?: OrderBy;\n\t/**\n\t * The selected author ID.\n\t */\n\tselectedAuthorId?: AuthorSelectProps[ 'selectedAuthorId' ];\n\t/**\n\t * Start opting into the larger default height that will become the\n\t * default size in a future version.\n\t *\n\t * @deprecated Default behavior since WP 6.7. Prop can be safely removed.\n\t * @ignore\n\t */\n\t__next40pxDefaultSize?: boolean;\n};\n\nexport type QueryControlsWithSingleCategorySelectionProps =\n\tBaseQueryControlsProps & {\n\t\t/**\n\t\t * An array of categories. When passed in conjunction with the\n\t\t * `onCategoryChange` prop, it causes the component to render UI that allows\n\t\t * selecting one category at a time.\n\t\t */\n\t\tcategoriesList?: CategorySelectProps[ 'categoriesList' ];\n\t\t/**\n\t\t * The selected category for the `categoriesList` prop.\n\t\t */\n\t\tselectedCategoryId?: CategorySelectProps[ 'selectedCategoryId' ];\n\t\t/**\n\t\t * A function that receives the new category value. If not specified, the\n\t\t * category controls are not rendered.\n\t\t * The function's signature changes depending on whether multiple category\n\t\t * selection is enabled or not.\n\t\t */\n\t\tonCategoryChange?: CategorySelectProps[ 'onChange' ];\n\t};\n\nexport type QueryControlsWithMultipleCategorySelectionProps =\n\tBaseQueryControlsProps & {\n\t\t/**\n\t\t * An object of categories with the category name as the key. When passed in\n\t\t * conjunction with the `onCategoryChange` prop, it causes the component to\n\t\t * render UI that enables multiple selection.\n\t\t */\n\t\tcategorySuggestions?: Record< Category[ 'name' ], Category >;\n\t\t/**\n\t\t * The selected categories for the `categorySuggestions` prop.\n\t\t */\n\t\tselectedCategories?: Category[];\n\t\t/**\n\t\t * A function that receives the new category value. If not specified, the\n\t\t * category controls are not rendered.\n\t\t * The function's signature changes depending on whether multiple category\n\t\t * selection is enabled or not.\n\t\t */\n\t\tonCategoryChange?: FormTokenFieldProps[ 'onChange' ];\n\t};\n\nexport type QueryControlsProps =\n\t| QueryControlsWithSingleCategorySelectionProps\n\t| QueryControlsWithMultipleCategorySelectionProps;\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["@wordpress/components/src/query-controls/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { FormTokenFieldProps } from '../form-token-field/types';\nimport type { TreeSelectProps } from '../tree-select/types';\n\nexport type Author = {\n\tid: number;\n\tname: string;\n};\n\nexport type Category = {\n\tid: number;\n\tname: string;\n\tparent: number;\n};\n\nexport type TermWithParentAndChildren = {\n\tid: string;\n\tname: string;\n\tparent: number | null;\n\tchildren: TermWithParentAndChildren[];\n};\n\nexport type TermsByParent = Record< string, TermWithParentAndChildren[] >;\n\nexport type CategorySelectProps = Pick<\n\tTreeSelectProps,\n\t'label' | 'noOptionLabel'\n> & {\n\tcategoriesList: Category[];\n\tonChange: ( newCategory: string ) => void;\n\tselectedCategoryId?: Category[ 'id' ];\n\t__next40pxDefaultSize: boolean;\n};\n\nexport type AuthorSelectProps = Pick<\n\tTreeSelectProps,\n\t'label' | 'noOptionLabel'\n> & {\n\tauthorList?: Author[];\n\tonChange: ( newAuthor: string ) => void;\n\tselectedAuthorId?: Author[ 'id' ];\n\t__next40pxDefaultSize: boolean;\n};\n\ntype Order = 'asc' | 'desc';\ntype OrderBy = 'date' | 'title' | 'menu_order';\n\nexport type OrderByOption = {\n\t/**\n\t * The label to be shown to the user.\n\t */\n\tlabel: string;\n\t/**\n\t * Option value passed to `onChange` when the option is selected.\n\t */\n\tvalue: `${ OrderBy }/${ Order }`;\n};\n\ntype BaseQueryControlsProps = {\n\t/**\n\t * An array of the authors to select from.\n\t */\n\tauthorList?: AuthorSelectProps[ 'authorList' ];\n\t/**\n\t * The maximum number of items.\n\t *\n\t * @default 100\n\t */\n\tmaxItems?: number;\n\t/**\n\t * The minimum number of items.\n\t *\n\t * @default 1\n\t */\n\tminItems?: number;\n\t/**\n\t * The selected number of items to retrieve via the query.\n\t */\n\tnumberOfItems?: number;\n\t/**\n\t * A function that receives the new author value.\n\t * If not specified, the author controls are not rendered.\n\t */\n\tonAuthorChange?: AuthorSelectProps[ 'onChange' ];\n\t/**\n\t * A function that receives the new number of items.\n\t * If not specified, then the number of items\n\t * range control is not rendered.\n\t */\n\tonNumberOfItemsChange?: ( newNumber?: number ) => void;\n\t/**\n\t * A function that receives the new order value.\n\t * If this prop or the `onOrderByChange` prop are not specified,\n\t * then the order controls are not rendered.\n\t */\n\tonOrderChange?: ( newOrder: Order ) => void;\n\t/**\n\t * A function that receives the new orderby value.\n\t * If this prop or the `onOrderChange` prop are not specified,\n\t * then the order controls are not rendered.\n\t */\n\tonOrderByChange?: ( newOrderBy: OrderBy ) => void;\n\t/**\n\t * The order in which to retrieve posts.\n\t */\n\torder?: Order;\n\t/**\n\t * The meta key by which to order posts.\n\t */\n\torderBy?: OrderBy;\n\t/**\n\t * List of available ordering options.\n\t */\n\torderByOptions?: OrderByOption[];\n\t/**\n\t * The selected author ID.\n\t */\n\tselectedAuthorId?: AuthorSelectProps[ 'selectedAuthorId' ];\n\t/**\n\t * Start opting into the larger default height that will become the\n\t * default size in a future version.\n\t *\n\t * @deprecated Default behavior since WP 6.7. Prop can be safely removed.\n\t * @ignore\n\t */\n\t__next40pxDefaultSize?: boolean;\n};\n\nexport type QueryControlsWithSingleCategorySelectionProps =\n\tBaseQueryControlsProps & {\n\t\t/**\n\t\t * An array of categories. When passed in conjunction with the\n\t\t * `onCategoryChange` prop, it causes the component to render UI that allows\n\t\t * selecting one category at a time.\n\t\t */\n\t\tcategoriesList?: CategorySelectProps[ 'categoriesList' ];\n\t\t/**\n\t\t * The selected category for the `categoriesList` prop.\n\t\t */\n\t\tselectedCategoryId?: CategorySelectProps[ 'selectedCategoryId' ];\n\t\t/**\n\t\t * A function that receives the new category value. If not specified, the\n\t\t * category controls are not rendered.\n\t\t * The function's signature changes depending on whether multiple category\n\t\t * selection is enabled or not.\n\t\t */\n\t\tonCategoryChange?: CategorySelectProps[ 'onChange' ];\n\t};\n\nexport type QueryControlsWithMultipleCategorySelectionProps =\n\tBaseQueryControlsProps & {\n\t\t/**\n\t\t * An object of categories with the category name as the key. When passed in\n\t\t * conjunction with the `onCategoryChange` prop, it causes the component to\n\t\t * render UI that enables multiple selection.\n\t\t */\n\t\tcategorySuggestions?: Record< Category[ 'name' ], Category >;\n\t\t/**\n\t\t * The selected categories for the `categorySuggestions` prop.\n\t\t */\n\t\tselectedCategories?: Category[];\n\t\t/**\n\t\t * A function that receives the new category value. If not specified, the\n\t\t * category controls are not rendered.\n\t\t * The function's signature changes depending on whether multiple category\n\t\t * selection is enabled or not.\n\t\t */\n\t\tonCategoryChange?: FormTokenFieldProps[ 'onChange' ];\n\t};\n\nexport type QueryControlsProps =\n\t| QueryControlsWithSingleCategorySelectionProps\n\t| QueryControlsWithMultipleCategorySelectionProps;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -22,6 +22,21 @@ function isSingleCategorySelection(props) {
|
|
|
22
22
|
function isMultipleCategorySelection(props) {
|
|
23
23
|
return 'categorySuggestions' in props;
|
|
24
24
|
}
|
|
25
|
+
const defaultOrderByOptions = [{
|
|
26
|
+
label: __('Newest to oldest'),
|
|
27
|
+
value: 'date/desc'
|
|
28
|
+
}, {
|
|
29
|
+
label: __('Oldest to newest'),
|
|
30
|
+
value: 'date/asc'
|
|
31
|
+
}, {
|
|
32
|
+
/* translators: Label for ordering posts by title in ascending order. */
|
|
33
|
+
label: __('A → Z'),
|
|
34
|
+
value: 'title/asc'
|
|
35
|
+
}, {
|
|
36
|
+
/* translators: Label for ordering posts by title in descending order. */
|
|
37
|
+
label: __('Z → A'),
|
|
38
|
+
value: 'title/desc'
|
|
39
|
+
}];
|
|
25
40
|
|
|
26
41
|
/**
|
|
27
42
|
* Controls to query for posts.
|
|
@@ -29,7 +44,7 @@ function isMultipleCategorySelection(props) {
|
|
|
29
44
|
* ```jsx
|
|
30
45
|
* const MyQueryControls = () => (
|
|
31
46
|
* <QueryControls
|
|
32
|
-
* { ...{ maxItems, minItems, numberOfItems, order, orderBy } }
|
|
47
|
+
* { ...{ maxItems, minItems, numberOfItems, order, orderBy, orderByOptions } }
|
|
33
48
|
* onOrderByChange={ ( newOrderBy ) => {
|
|
34
49
|
* updateQuery( { orderBy: newOrderBy } )
|
|
35
50
|
* }
|
|
@@ -54,6 +69,7 @@ export function QueryControls({
|
|
|
54
69
|
numberOfItems,
|
|
55
70
|
order,
|
|
56
71
|
orderBy,
|
|
72
|
+
orderByOptions = defaultOrderByOptions,
|
|
57
73
|
maxItems = DEFAULT_MAX_ITEMS,
|
|
58
74
|
minItems = DEFAULT_MIN_ITEMS,
|
|
59
75
|
onAuthorChange,
|
|
@@ -72,21 +88,7 @@ export function QueryControls({
|
|
|
72
88
|
__next40pxDefaultSize: true,
|
|
73
89
|
label: __('Order by'),
|
|
74
90
|
value: orderBy === undefined || order === undefined ? undefined : `${orderBy}/${order}`,
|
|
75
|
-
options:
|
|
76
|
-
label: __('Newest to oldest'),
|
|
77
|
-
value: 'date/desc'
|
|
78
|
-
}, {
|
|
79
|
-
label: __('Oldest to newest'),
|
|
80
|
-
value: 'date/asc'
|
|
81
|
-
}, {
|
|
82
|
-
/* translators: Label for ordering posts by title in ascending order. */
|
|
83
|
-
label: __('A → Z'),
|
|
84
|
-
value: 'title/asc'
|
|
85
|
-
}, {
|
|
86
|
-
/* translators: Label for ordering posts by title in descending order. */
|
|
87
|
-
label: __('Z → A'),
|
|
88
|
-
value: 'title/desc'
|
|
89
|
-
}],
|
|
91
|
+
options: orderByOptions,
|
|
90
92
|
onChange: value => {
|
|
91
93
|
if (typeof value !== 'string') {
|
|
92
94
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","_x","AuthorSelect","CategorySelect","FormTokenField","RangeControl","SelectControl","VStack","jsx","_jsx","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","MAX_CATEGORIES_SUGGESTIONS","isSingleCategorySelection","props","isMultipleCategorySelection","QueryControls","authorList","selectedAuthorId","numberOfItems","order","orderBy","maxItems","minItems","onAuthorChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","spacing","className","children","__nextHasNoMarginBottom","__next40pxDefaultSize","label","value","undefined","options","onChange","newOrderBy","newOrder","split","categoriesList","onCategoryChange","noOptionLabel","selectedCategoryId","categorySuggestions","selectedCategories","map","item","id","name","suggestions","Object","keys","maxSuggestions","min","max","required"],"sources":["@wordpress/components/src/query-controls/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport AuthorSelect from './author-select';\nimport CategorySelect from './category-select';\nimport FormTokenField from '../form-token-field';\nimport RangeControl from '../range-control';\nimport SelectControl from '../select-control';\nimport { VStack } from '../v-stack';\nimport type {\n\tQueryControlsProps,\n\tQueryControlsWithMultipleCategorySelectionProps,\n\tQueryControlsWithSingleCategorySelectionProps,\n} from './types';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\nconst MAX_CATEGORIES_SUGGESTIONS = 20;\n\nfunction isSingleCategorySelection(\n\tprops: QueryControlsProps\n): props is QueryControlsWithSingleCategorySelectionProps {\n\treturn 'categoriesList' in props;\n}\n\nfunction isMultipleCategorySelection(\n\tprops: QueryControlsProps\n): props is QueryControlsWithMultipleCategorySelectionProps {\n\treturn 'categorySuggestions' in props;\n}\n\n/**\n * Controls to query for posts.\n *\n * ```jsx\n * const MyQueryControls = () => (\n * <QueryControls\n * { ...{ maxItems, minItems, numberOfItems, order, orderBy } }\n * onOrderByChange={ ( newOrderBy ) => {\n * updateQuery( { orderBy: newOrderBy } )\n * }\n * onOrderChange={ ( newOrder ) => {\n * updateQuery( { order: newOrder } )\n * }\n * categoriesList={ categories }\n * selectedCategoryId={ category }\n * onCategoryChange={ ( newCategory ) => {\n * updateQuery( { category: newCategory } )\n * }\n * onNumberOfItemsChange={ ( newNumberOfItems ) => {\n * updateQuery( { numberOfItems: newNumberOfItems } )\n * } }\n * />\n * );\n * ```\n */\nexport function QueryControls( {\n\tauthorList,\n\tselectedAuthorId,\n\tnumberOfItems,\n\torder,\n\torderBy,\n\tmaxItems = DEFAULT_MAX_ITEMS,\n\tminItems = DEFAULT_MIN_ITEMS,\n\tonAuthorChange,\n\tonNumberOfItemsChange,\n\tonOrderChange,\n\tonOrderByChange,\n\t// Props for single OR multiple category selection are not destructured here,\n\t// but instead are destructured inline where necessary.\n\t...props\n}: QueryControlsProps ) {\n\treturn (\n\t\t<VStack spacing=\"4\" className=\"components-query-controls\">\n\t\t\t{ [\n\t\t\t\tonOrderChange && onOrderByChange && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-order-select\"\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\torderBy === undefined || order === undefined\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: `${ orderBy }/${ order }`\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Newest to oldest' ),\n\t\t\t\t\t\t\t\tvalue: 'date/desc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Oldest to newest' ),\n\t\t\t\t\t\t\t\tvalue: 'date/asc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: Label for ordering posts by title in ascending order. */\n\t\t\t\t\t\t\t\tlabel: __( 'A → Z' ),\n\t\t\t\t\t\t\t\tvalue: 'title/asc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t/* translators: Label for ordering posts by title in descending order. */\n\t\t\t\t\t\t\t\tlabel: __( 'Z → A' ),\n\t\t\t\t\t\t\t\tvalue: 'title/desc',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tif ( typeof value !== 'string' ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\t\t\t\tonOrderChange(\n\t\t\t\t\t\t\t\t\tnewOrder as NonNullable<\n\t\t\t\t\t\t\t\t\t\tQueryControlsProps[ 'order' ]\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\t\t\t\tonOrderByChange(\n\t\t\t\t\t\t\t\t\tnewOrderBy as NonNullable<\n\t\t\t\t\t\t\t\t\t\tQueryControlsProps[ 'orderBy' ]\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tisSingleCategorySelection( props ) &&\n\t\t\t\t\tprops.categoriesList &&\n\t\t\t\t\tprops.onCategoryChange && (\n\t\t\t\t\t\t<CategorySelect\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tkey=\"query-controls-category-select\"\n\t\t\t\t\t\t\tcategoriesList={ props.categoriesList }\n\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'categories' ) }\n\t\t\t\t\t\t\tselectedCategoryId={ props.selectedCategoryId }\n\t\t\t\t\t\t\tonChange={ props.onCategoryChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\tisMultipleCategorySelection( props ) &&\n\t\t\t\t\tprops.categorySuggestions &&\n\t\t\t\t\tprops.onCategoryChange && (\n\t\t\t\t\t\t<FormTokenField\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tkey=\"query-controls-categories-select\"\n\t\t\t\t\t\t\tlabel={ __( 'Categories' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tprops.selectedCategories &&\n\t\t\t\t\t\t\t\tprops.selectedCategories.map( ( item ) => ( {\n\t\t\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\t\t\t// Keeping the fallback to `item.value` for legacy reasons,\n\t\t\t\t\t\t\t\t\t// even if items of `selectedCategories` should not have a\n\t\t\t\t\t\t\t\t\t// `value` property.\n\t\t\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\t\t\tvalue: item.name || item.value,\n\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ Object.keys(\n\t\t\t\t\t\t\t\tprops.categorySuggestions\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ props.onCategoryChange }\n\t\t\t\t\t\t\tmaxSuggestions={ MAX_CATEGORIES_SUGGESTIONS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\tonAuthorChange && (\n\t\t\t\t\t<AuthorSelect\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-author-select\"\n\t\t\t\t\t\tauthorList={ authorList }\n\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'authors' ) }\n\t\t\t\t\t\tselectedAuthorId={ selectedAuthorId }\n\t\t\t\t\t\tonChange={ onAuthorChange }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tonNumberOfItemsChange && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-range-control\"\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ numberOfItems }\n\t\t\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\t\t\tmin={ minItems }\n\t\t\t\t\t\tmax={ maxItems }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t] }\n\t\t</VStack>\n\t);\n}\n\nexport default QueryControls;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;;AAExC;AACA;AACA;AACA,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,cAAc,MAAM,qBAAqB;AAChD,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,SAASC,MAAM,QAAQ,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOpC,MAAMC,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,0BAA0B,GAAG,EAAE;AAErC,SAASC,yBAAyBA,CACjCC,KAAyB,EACgC;EACzD,OAAO,gBAAgB,IAAIA,KAAK;AACjC;AAEA,SAASC,2BAA2BA,CACnCD,KAAyB,EACkC;EAC3D,OAAO,qBAAqB,IAAIA,KAAK;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,aAAaA,CAAE;EAC9BC,UAAU;EACVC,gBAAgB;EAChBC,aAAa;EACbC,KAAK;EACLC,OAAO;EACPC,QAAQ,GAAGX,iBAAiB;EAC5BY,QAAQ,GAAGb,iBAAiB;EAC5Bc,cAAc;EACdC,qBAAqB;EACrBC,aAAa;EACbC,eAAe;EACf;EACA;EACA,GAAGb;AACgB,CAAC,EAAG;EACvB,oBACCL,IAAA,CAACF,MAAM;IAACqB,OAAO,EAAC,GAAG;IAACC,SAAS,EAAC,2BAA2B;IAAAC,QAAA,EACtD,CACDJ,aAAa,IAAIC,eAAe,iBAC/BlB,IAAA,CAACH,aAAa;MACbyB,uBAAuB;MACvBC,qBAAqB;MAErBC,KAAK,EAAGjC,EAAE,CAAE,UAAW,CAAG;MAC1BkC,KAAK,EACJb,OAAO,KAAKc,SAAS,IAAIf,KAAK,KAAKe,SAAS,GACzCA,SAAS,GACT,GAAId,OAAO,IAAMD,KAAK,EACzB;MACDgB,OAAO,EAAG,CACT;QACCH,KAAK,EAAEjC,EAAE,CAAE,kBAAmB,CAAC;QAC/BkC,KAAK,EAAE;MACR,CAAC,EACD;QACCD,KAAK,EAAEjC,EAAE,CAAE,kBAAmB,CAAC;QAC/BkC,KAAK,EAAE;MACR,CAAC,EACD;QACC;QACAD,KAAK,EAAEjC,EAAE,CAAE,OAAQ,CAAC;QACpBkC,KAAK,EAAE;MACR,CAAC,EACD;QACC;QACAD,KAAK,EAAEjC,EAAE,CAAE,OAAQ,CAAC;QACpBkC,KAAK,EAAE;MACR,CAAC,CACC;MACHG,QAAQ,EAAKH,KAAK,IAAM;QACvB,IAAK,OAAOA,KAAK,KAAK,QAAQ,EAAG;UAChC;QACD;QAEA,MAAM,CAAEI,UAAU,EAAEC,QAAQ,CAAE,GAAGL,KAAK,CAACM,KAAK,CAAE,GAAI,CAAC;QACnD,IAAKD,QAAQ,KAAKnB,KAAK,EAAG;UACzBM,aAAa,CACZa,QAGD,CAAC;QACF;QACA,IAAKD,UAAU,KAAKjB,OAAO,EAAG;UAC7BM,eAAe,CACdW,UAGD,CAAC;QACF;MACD;IAAG,GA/CC,6BAgDJ,CACD,EACDzB,yBAAyB,CAAEC,KAAM,CAAC,IACjCA,KAAK,CAAC2B,cAAc,IACpB3B,KAAK,CAAC4B,gBAAgB,iBACrBjC,IAAA,CAACN,cAAc;MACd6B,qBAAqB;MAErBS,cAAc,EAAG3B,KAAK,CAAC2B,cAAgB;MACvCR,KAAK,EAAGjC,EAAE,CAAE,UAAW,CAAG;MAC1B2C,aAAa,EAAG1C,EAAE,CAAE,KAAK,EAAE,YAAa,CAAG;MAC3C2C,kBAAkB,EAAG9B,KAAK,CAAC8B,kBAAoB;MAC/CP,QAAQ,EAAGvB,KAAK,CAAC4B;IAAkB,GAL/B,gCAMJ,CACD,EACF3B,2BAA2B,CAAED,KAAM,CAAC,IACnCA,KAAK,CAAC+B,mBAAmB,IACzB/B,KAAK,CAAC4B,gBAAgB,iBACrBjC,IAAA,CAACL,cAAc;MACd4B,qBAAqB;MACrBD,uBAAuB;MAEvBE,KAAK,EAAGjC,EAAE,CAAE,YAAa,CAAG;MAC5BkC,KAAK,EACJpB,KAAK,CAACgC,kBAAkB,IACxBhC,KAAK,CAACgC,kBAAkB,CAACC,GAAG,CAAIC,IAAI,KAAQ;QAC3CC,EAAE,EAAED,IAAI,CAACC,EAAE;QACX;QACA;QACA;QACA;QACAf,KAAK,EAAEc,IAAI,CAACE,IAAI,IAAIF,IAAI,CAACd;MAC1B,CAAC,CAAG,CACJ;MACDiB,WAAW,EAAGC,MAAM,CAACC,IAAI,CACxBvC,KAAK,CAAC+B,mBACP,CAAG;MACHR,QAAQ,EAAGvB,KAAK,CAAC4B,gBAAkB;MACnCY,cAAc,EAAG1C;IAA4B,GAjBzC,kCAkBJ,CACD,EACFY,cAAc,iBACbf,IAAA,CAACP,YAAY;MACZ8B,qBAAqB;MAErBf,UAAU,EAAGA,UAAY;MACzBgB,KAAK,EAAGjC,EAAE,CAAE,QAAS,CAAG;MACxB2C,aAAa,EAAG1C,EAAE,CAAE,KAAK,EAAE,SAAU,CAAG;MACxCiB,gBAAgB,EAAGA,gBAAkB;MACrCmB,QAAQ,EAAGb;IAAgB,GALvB,8BAMJ,CACD,EACDC,qBAAqB,iBACpBhB,IAAA,CAACJ,YAAY;MACZ0B,uBAAuB;MACvBC,qBAAqB;MAErBC,KAAK,EAAGjC,EAAE,CAAE,iBAAkB,CAAG;MACjCkC,KAAK,EAAGf,aAAe;MACvBkB,QAAQ,EAAGZ,qBAAuB;MAClC8B,GAAG,EAAGhC,QAAU;MAChBiC,GAAG,EAAGlC,QAAU;MAChBmC,QAAQ;IAAA,GANJ,8BAOJ,CACD;EACD,CACM,CAAC;AAEX;AAEA,eAAezC,aAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","_x","AuthorSelect","CategorySelect","FormTokenField","RangeControl","SelectControl","VStack","jsx","_jsx","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","MAX_CATEGORIES_SUGGESTIONS","isSingleCategorySelection","props","isMultipleCategorySelection","defaultOrderByOptions","label","value","QueryControls","authorList","selectedAuthorId","numberOfItems","order","orderBy","orderByOptions","maxItems","minItems","onAuthorChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","spacing","className","children","__nextHasNoMarginBottom","__next40pxDefaultSize","undefined","options","onChange","newOrderBy","newOrder","split","categoriesList","onCategoryChange","noOptionLabel","selectedCategoryId","categorySuggestions","selectedCategories","map","item","id","name","suggestions","Object","keys","maxSuggestions","min","max","required"],"sources":["@wordpress/components/src/query-controls/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport AuthorSelect from './author-select';\nimport CategorySelect from './category-select';\nimport FormTokenField from '../form-token-field';\nimport RangeControl from '../range-control';\nimport SelectControl from '../select-control';\nimport { VStack } from '../v-stack';\nimport type {\n\tQueryControlsProps,\n\tQueryControlsWithMultipleCategorySelectionProps,\n\tQueryControlsWithSingleCategorySelectionProps,\n\tOrderByOption,\n} from './types';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\nconst MAX_CATEGORIES_SUGGESTIONS = 20;\n\nfunction isSingleCategorySelection(\n\tprops: QueryControlsProps\n): props is QueryControlsWithSingleCategorySelectionProps {\n\treturn 'categoriesList' in props;\n}\n\nfunction isMultipleCategorySelection(\n\tprops: QueryControlsProps\n): props is QueryControlsWithMultipleCategorySelectionProps {\n\treturn 'categorySuggestions' in props;\n}\n\nconst defaultOrderByOptions: OrderByOption[] = [\n\t{\n\t\tlabel: __( 'Newest to oldest' ),\n\t\tvalue: 'date/desc',\n\t},\n\t{\n\t\tlabel: __( 'Oldest to newest' ),\n\t\tvalue: 'date/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in ascending order. */\n\t\tlabel: __( 'A → Z' ),\n\t\tvalue: 'title/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in descending order. */\n\t\tlabel: __( 'Z → A' ),\n\t\tvalue: 'title/desc',\n\t},\n];\n\n/**\n * Controls to query for posts.\n *\n * ```jsx\n * const MyQueryControls = () => (\n * <QueryControls\n * { ...{ maxItems, minItems, numberOfItems, order, orderBy, orderByOptions } }\n * onOrderByChange={ ( newOrderBy ) => {\n * updateQuery( { orderBy: newOrderBy } )\n * }\n * onOrderChange={ ( newOrder ) => {\n * updateQuery( { order: newOrder } )\n * }\n * categoriesList={ categories }\n * selectedCategoryId={ category }\n * onCategoryChange={ ( newCategory ) => {\n * updateQuery( { category: newCategory } )\n * }\n * onNumberOfItemsChange={ ( newNumberOfItems ) => {\n * updateQuery( { numberOfItems: newNumberOfItems } )\n * } }\n * />\n * );\n * ```\n */\nexport function QueryControls( {\n\tauthorList,\n\tselectedAuthorId,\n\tnumberOfItems,\n\torder,\n\torderBy,\n\torderByOptions = defaultOrderByOptions,\n\tmaxItems = DEFAULT_MAX_ITEMS,\n\tminItems = DEFAULT_MIN_ITEMS,\n\tonAuthorChange,\n\tonNumberOfItemsChange,\n\tonOrderChange,\n\tonOrderByChange,\n\t// Props for single OR multiple category selection are not destructured here,\n\t// but instead are destructured inline where necessary.\n\t...props\n}: QueryControlsProps ) {\n\treturn (\n\t\t<VStack spacing=\"4\" className=\"components-query-controls\">\n\t\t\t{ [\n\t\t\t\tonOrderChange && onOrderByChange && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-order-select\"\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\torderBy === undefined || order === undefined\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: `${ orderBy }/${ order }`\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ orderByOptions }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tif ( typeof value !== 'string' ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\t\t\t\tonOrderChange(\n\t\t\t\t\t\t\t\t\tnewOrder as NonNullable<\n\t\t\t\t\t\t\t\t\t\tQueryControlsProps[ 'order' ]\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\t\t\t\tonOrderByChange(\n\t\t\t\t\t\t\t\t\tnewOrderBy as NonNullable<\n\t\t\t\t\t\t\t\t\t\tQueryControlsProps[ 'orderBy' ]\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tisSingleCategorySelection( props ) &&\n\t\t\t\t\tprops.categoriesList &&\n\t\t\t\t\tprops.onCategoryChange && (\n\t\t\t\t\t\t<CategorySelect\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tkey=\"query-controls-category-select\"\n\t\t\t\t\t\t\tcategoriesList={ props.categoriesList }\n\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'categories' ) }\n\t\t\t\t\t\t\tselectedCategoryId={ props.selectedCategoryId }\n\t\t\t\t\t\t\tonChange={ props.onCategoryChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\tisMultipleCategorySelection( props ) &&\n\t\t\t\t\tprops.categorySuggestions &&\n\t\t\t\t\tprops.onCategoryChange && (\n\t\t\t\t\t\t<FormTokenField\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tkey=\"query-controls-categories-select\"\n\t\t\t\t\t\t\tlabel={ __( 'Categories' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tprops.selectedCategories &&\n\t\t\t\t\t\t\t\tprops.selectedCategories.map( ( item ) => ( {\n\t\t\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\t\t\t// Keeping the fallback to `item.value` for legacy reasons,\n\t\t\t\t\t\t\t\t\t// even if items of `selectedCategories` should not have a\n\t\t\t\t\t\t\t\t\t// `value` property.\n\t\t\t\t\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\t\t\t\t\tvalue: item.name || item.value,\n\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsuggestions={ Object.keys(\n\t\t\t\t\t\t\t\tprops.categorySuggestions\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ props.onCategoryChange }\n\t\t\t\t\t\t\tmaxSuggestions={ MAX_CATEGORIES_SUGGESTIONS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\tonAuthorChange && (\n\t\t\t\t\t<AuthorSelect\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-author-select\"\n\t\t\t\t\t\tauthorList={ authorList }\n\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'authors' ) }\n\t\t\t\t\t\tselectedAuthorId={ selectedAuthorId }\n\t\t\t\t\t\tonChange={ onAuthorChange }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tonNumberOfItemsChange && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tkey=\"query-controls-range-control\"\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ numberOfItems }\n\t\t\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\t\t\tmin={ minItems }\n\t\t\t\t\t\tmax={ maxItems }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t] }\n\t\t</VStack>\n\t);\n}\n\nexport default QueryControls;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ import CategorySelect from './category-select';
|
|
|
13
13
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
14
|
const DEFAULT_MIN_ITEMS = 1;
|
|
15
15
|
const DEFAULT_MAX_ITEMS = 100;
|
|
16
|
-
const
|
|
16
|
+
const defaultOrderByOptions = [{
|
|
17
17
|
label: __('Newest to oldest'),
|
|
18
18
|
value: 'date/desc'
|
|
19
19
|
}, {
|
|
@@ -34,6 +34,7 @@ const QueryControls = memo(({
|
|
|
34
34
|
numberOfItems,
|
|
35
35
|
order,
|
|
36
36
|
orderBy,
|
|
37
|
+
orderByOptions = defaultOrderByOptions,
|
|
37
38
|
maxItems = DEFAULT_MAX_ITEMS,
|
|
38
39
|
minItems = DEFAULT_MIN_ITEMS,
|
|
39
40
|
onCategoryChange,
|
|
@@ -54,7 +55,7 @@ const QueryControls = memo(({
|
|
|
54
55
|
children: [onOrderChange && onOrderByChange && /*#__PURE__*/_jsx(SelectControl, {
|
|
55
56
|
label: __('Order by'),
|
|
56
57
|
value: `${orderBy}/${order}`,
|
|
57
|
-
options:
|
|
58
|
+
options: orderByOptions,
|
|
58
59
|
onChange: onChange,
|
|
59
60
|
hideCancelButton: true
|
|
60
61
|
}), onCategoryChange && /*#__PURE__*/_jsx(CategorySelect, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","_x","useCallback","memo","RangeControl","SelectControl","CategorySelect","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","
|
|
1
|
+
{"version":3,"names":["__","_x","useCallback","memo","RangeControl","SelectControl","CategorySelect","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","defaultOrderByOptions","label","value","QueryControls","categoriesList","selectedCategoryId","numberOfItems","order","orderBy","orderByOptions","maxItems","minItems","onCategoryChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","onChange","newOrderBy","newOrder","split","children","options","hideCancelButton","noOptionLabel","__next40pxDefaultSize","min","max","required"],"sources":["@wordpress/components/src/query-controls/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, memo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport RangeControl from '../range-control';\nimport SelectControl from '../select-control';\nimport CategorySelect from './category-select';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\n\nconst defaultOrderByOptions = [\n\t{\n\t\tlabel: __( 'Newest to oldest' ),\n\t\tvalue: 'date/desc',\n\t},\n\t{\n\t\tlabel: __( 'Oldest to newest' ),\n\t\tvalue: 'date/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in ascending order. */\n\t\tlabel: __( 'A → Z' ),\n\t\tvalue: 'title/asc',\n\t},\n\t{\n\t\t/* translators: Label for ordering posts by title in descending order. */\n\t\tlabel: __( 'Z → A' ),\n\t\tvalue: 'title/desc',\n\t},\n];\n\nconst QueryControls = memo(\n\t( {\n\t\tcategoriesList,\n\t\tselectedCategoryId,\n\t\tnumberOfItems,\n\t\torder,\n\t\torderBy,\n\t\torderByOptions = defaultOrderByOptions,\n\t\tmaxItems = DEFAULT_MAX_ITEMS,\n\t\tminItems = DEFAULT_MIN_ITEMS,\n\t\tonCategoryChange,\n\t\tonNumberOfItemsChange,\n\t\tonOrderChange,\n\t\tonOrderByChange,\n\t} ) => {\n\t\tconst onChange = useCallback(\n\t\t\t( value ) => {\n\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\tonOrderChange( newOrder );\n\t\t\t\t}\n\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\tonOrderByChange( newOrderBy );\n\t\t\t\t}\n\t\t\t},\n\t\t\t[ order, orderBy, onOrderByChange, onOrderChange ]\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ onOrderChange && onOrderByChange && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\t\t\tvalue={ `${ orderBy }/${ order }` }\n\t\t\t\t\t\toptions={ orderByOptions }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ onCategoryChange && (\n\t\t\t\t\t<CategorySelect\n\t\t\t\t\t\tcategoriesList={ categoriesList }\n\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\tnoOptionLabel={ _x( 'All', 'categories' ) }\n\t\t\t\t\t\tselectedCategoryId={ selectedCategoryId }\n\t\t\t\t\t\tonChange={ onCategoryChange }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ onNumberOfItemsChange && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ numberOfItems }\n\t\t\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\t\t\tmin={ minItems }\n\t\t\t\t\t\tmax={ maxItems }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n);\n\nexport default QueryControls;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,WAAW,EAAEC,IAAI,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,cAAc,MAAM,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAE/C,MAAMC,iBAAiB,GAAG,CAAC;AAC3B,MAAMC,iBAAiB,GAAG,GAAG;AAE7B,MAAMC,qBAAqB,GAAG,CAC7B;EACCC,KAAK,EAAEhB,EAAE,CAAE,kBAAmB,CAAC;EAC/BiB,KAAK,EAAE;AACR,CAAC,EACD;EACCD,KAAK,EAAEhB,EAAE,CAAE,kBAAmB,CAAC;EAC/BiB,KAAK,EAAE;AACR,CAAC,EACD;EACC;EACAD,KAAK,EAAEhB,EAAE,CAAE,OAAQ,CAAC;EACpBiB,KAAK,EAAE;AACR,CAAC,EACD;EACC;EACAD,KAAK,EAAEhB,EAAE,CAAE,OAAQ,CAAC;EACpBiB,KAAK,EAAE;AACR,CAAC,CACD;AAED,MAAMC,aAAa,GAAGf,IAAI,CACzB,CAAE;EACDgB,cAAc;EACdC,kBAAkB;EAClBC,aAAa;EACbC,KAAK;EACLC,OAAO;EACPC,cAAc,GAAGT,qBAAqB;EACtCU,QAAQ,GAAGX,iBAAiB;EAC5BY,QAAQ,GAAGb,iBAAiB;EAC5Bc,gBAAgB;EAChBC,qBAAqB;EACrBC,aAAa;EACbC;AACD,CAAC,KAAM;EACN,MAAMC,QAAQ,GAAG7B,WAAW,CACzBe,KAAK,IAAM;IACZ,MAAM,CAAEe,UAAU,EAAEC,QAAQ,CAAE,GAAGhB,KAAK,CAACiB,KAAK,CAAE,GAAI,CAAC;IACnD,IAAKD,QAAQ,KAAKX,KAAK,EAAG;MACzBO,aAAa,CAAEI,QAAS,CAAC;IAC1B;IACA,IAAKD,UAAU,KAAKT,OAAO,EAAG;MAC7BO,eAAe,CAAEE,UAAW,CAAC;IAC9B;EACD,CAAC,EACD,CAAEV,KAAK,EAAEC,OAAO,EAAEO,eAAe,EAAED,aAAa,CACjD,CAAC;EAED,oBACCjB,KAAA,CAAAF,SAAA;IAAAyB,QAAA,GACGN,aAAa,IAAIC,eAAe,iBACjCtB,IAAA,CAACH,aAAa;MACbW,KAAK,EAAGhB,EAAE,CAAE,UAAW,CAAG;MAC1BiB,KAAK,EAAG,GAAIM,OAAO,IAAMD,KAAK,EAAK;MACnCc,OAAO,EAAGZ,cAAgB;MAC1BO,QAAQ,EAAGA,QAAU;MACrBM,gBAAgB;IAAA,CAChB,CACD,EACCV,gBAAgB,iBACjBnB,IAAA,CAACF,cAAc;MACda,cAAc,EAAGA,cAAgB;MACjCH,KAAK,EAAGhB,EAAE,CAAE,UAAW,CAAG;MAC1BsC,aAAa,EAAGrC,EAAE,CAAE,KAAK,EAAE,YAAa,CAAG;MAC3CmB,kBAAkB,EAAGA,kBAAoB;MACzCW,QAAQ,EAAGJ,gBAAkB;MAC7BU,gBAAgB;IAAA,CAChB,CACD,EACCT,qBAAqB,iBACtBpB,IAAA,CAACJ,YAAY;MACZmC,qBAAqB;MACrBvB,KAAK,EAAGhB,EAAE,CAAE,iBAAkB,CAAG;MACjCiB,KAAK,EAAGI,aAAe;MACvBU,QAAQ,EAAGH,qBAAuB;MAClCY,GAAG,EAAGd,QAAU;MAChBe,GAAG,EAAGhB,QAAU;MAChBiB,QAAQ;IAAA,CACR,CACD;EAAA,CACA,CAAC;AAEL,CACD,CAAC;AAED,eAAexB,aAAa","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["@wordpress/components/src/query-controls/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { FormTokenFieldProps } from '../form-token-field/types';\nimport type { TreeSelectProps } from '../tree-select/types';\n\nexport type Author = {\n\tid: number;\n\tname: string;\n};\n\nexport type Category = {\n\tid: number;\n\tname: string;\n\tparent: number;\n};\n\nexport type TermWithParentAndChildren = {\n\tid: string;\n\tname: string;\n\tparent: number | null;\n\tchildren: TermWithParentAndChildren[];\n};\n\nexport type TermsByParent = Record< string, TermWithParentAndChildren[] >;\n\nexport type CategorySelectProps = Pick<\n\tTreeSelectProps,\n\t'label' | 'noOptionLabel'\n> & {\n\tcategoriesList: Category[];\n\tonChange: ( newCategory: string ) => void;\n\tselectedCategoryId?: Category[ 'id' ];\n\t__next40pxDefaultSize: boolean;\n};\n\nexport type AuthorSelectProps = Pick<\n\tTreeSelectProps,\n\t'label' | 'noOptionLabel'\n> & {\n\tauthorList?: Author[];\n\tonChange: ( newAuthor: string ) => void;\n\tselectedAuthorId?: Author[ 'id' ];\n\t__next40pxDefaultSize: boolean;\n};\n\ntype Order = 'asc' | 'desc';\ntype OrderBy = 'date' | 'title';\n\ntype BaseQueryControlsProps = {\n\t/**\n\t * An array of the authors to select from.\n\t */\n\tauthorList?: AuthorSelectProps[ 'authorList' ];\n\t/**\n\t * The maximum number of items.\n\t *\n\t * @default 100\n\t */\n\tmaxItems?: number;\n\t/**\n\t * The minimum number of items.\n\t *\n\t * @default 1\n\t */\n\tminItems?: number;\n\t/**\n\t * The selected number of items to retrieve via the query.\n\t */\n\tnumberOfItems?: number;\n\t/**\n\t * A function that receives the new author value.\n\t * If not specified, the author controls are not rendered.\n\t */\n\tonAuthorChange?: AuthorSelectProps[ 'onChange' ];\n\t/**\n\t * A function that receives the new number of items.\n\t * If not specified, then the number of items\n\t * range control is not rendered.\n\t */\n\tonNumberOfItemsChange?: ( newNumber?: number ) => void;\n\t/**\n\t * A function that receives the new order value.\n\t * If this prop or the `onOrderByChange` prop are not specified,\n\t * then the order controls are not rendered.\n\t */\n\tonOrderChange?: ( newOrder: Order ) => void;\n\t/**\n\t * A function that receives the new orderby value.\n\t * If this prop or the `onOrderChange` prop are not specified,\n\t * then the order controls are not rendered.\n\t */\n\tonOrderByChange?: ( newOrderBy: OrderBy ) => void;\n\t/**\n\t * The order in which to retrieve posts.\n\t */\n\torder?: Order;\n\t/**\n\t * The meta key by which to order posts.\n\t */\n\torderBy?: OrderBy;\n\t/**\n\t * The selected author ID.\n\t */\n\tselectedAuthorId?: AuthorSelectProps[ 'selectedAuthorId' ];\n\t/**\n\t * Start opting into the larger default height that will become the\n\t * default size in a future version.\n\t *\n\t * @deprecated Default behavior since WP 6.7. Prop can be safely removed.\n\t * @ignore\n\t */\n\t__next40pxDefaultSize?: boolean;\n};\n\nexport type QueryControlsWithSingleCategorySelectionProps =\n\tBaseQueryControlsProps & {\n\t\t/**\n\t\t * An array of categories. When passed in conjunction with the\n\t\t * `onCategoryChange` prop, it causes the component to render UI that allows\n\t\t * selecting one category at a time.\n\t\t */\n\t\tcategoriesList?: CategorySelectProps[ 'categoriesList' ];\n\t\t/**\n\t\t * The selected category for the `categoriesList` prop.\n\t\t */\n\t\tselectedCategoryId?: CategorySelectProps[ 'selectedCategoryId' ];\n\t\t/**\n\t\t * A function that receives the new category value. If not specified, the\n\t\t * category controls are not rendered.\n\t\t * The function's signature changes depending on whether multiple category\n\t\t * selection is enabled or not.\n\t\t */\n\t\tonCategoryChange?: CategorySelectProps[ 'onChange' ];\n\t};\n\nexport type QueryControlsWithMultipleCategorySelectionProps =\n\tBaseQueryControlsProps & {\n\t\t/**\n\t\t * An object of categories with the category name as the key. When passed in\n\t\t * conjunction with the `onCategoryChange` prop, it causes the component to\n\t\t * render UI that enables multiple selection.\n\t\t */\n\t\tcategorySuggestions?: Record< Category[ 'name' ], Category >;\n\t\t/**\n\t\t * The selected categories for the `categorySuggestions` prop.\n\t\t */\n\t\tselectedCategories?: Category[];\n\t\t/**\n\t\t * A function that receives the new category value. If not specified, the\n\t\t * category controls are not rendered.\n\t\t * The function's signature changes depending on whether multiple category\n\t\t * selection is enabled or not.\n\t\t */\n\t\tonCategoryChange?: FormTokenFieldProps[ 'onChange' ];\n\t};\n\nexport type QueryControlsProps =\n\t| QueryControlsWithSingleCategorySelectionProps\n\t| QueryControlsWithMultipleCategorySelectionProps;\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["@wordpress/components/src/query-controls/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { FormTokenFieldProps } from '../form-token-field/types';\nimport type { TreeSelectProps } from '../tree-select/types';\n\nexport type Author = {\n\tid: number;\n\tname: string;\n};\n\nexport type Category = {\n\tid: number;\n\tname: string;\n\tparent: number;\n};\n\nexport type TermWithParentAndChildren = {\n\tid: string;\n\tname: string;\n\tparent: number | null;\n\tchildren: TermWithParentAndChildren[];\n};\n\nexport type TermsByParent = Record< string, TermWithParentAndChildren[] >;\n\nexport type CategorySelectProps = Pick<\n\tTreeSelectProps,\n\t'label' | 'noOptionLabel'\n> & {\n\tcategoriesList: Category[];\n\tonChange: ( newCategory: string ) => void;\n\tselectedCategoryId?: Category[ 'id' ];\n\t__next40pxDefaultSize: boolean;\n};\n\nexport type AuthorSelectProps = Pick<\n\tTreeSelectProps,\n\t'label' | 'noOptionLabel'\n> & {\n\tauthorList?: Author[];\n\tonChange: ( newAuthor: string ) => void;\n\tselectedAuthorId?: Author[ 'id' ];\n\t__next40pxDefaultSize: boolean;\n};\n\ntype Order = 'asc' | 'desc';\ntype OrderBy = 'date' | 'title' | 'menu_order';\n\nexport type OrderByOption = {\n\t/**\n\t * The label to be shown to the user.\n\t */\n\tlabel: string;\n\t/**\n\t * Option value passed to `onChange` when the option is selected.\n\t */\n\tvalue: `${ OrderBy }/${ Order }`;\n};\n\ntype BaseQueryControlsProps = {\n\t/**\n\t * An array of the authors to select from.\n\t */\n\tauthorList?: AuthorSelectProps[ 'authorList' ];\n\t/**\n\t * The maximum number of items.\n\t *\n\t * @default 100\n\t */\n\tmaxItems?: number;\n\t/**\n\t * The minimum number of items.\n\t *\n\t * @default 1\n\t */\n\tminItems?: number;\n\t/**\n\t * The selected number of items to retrieve via the query.\n\t */\n\tnumberOfItems?: number;\n\t/**\n\t * A function that receives the new author value.\n\t * If not specified, the author controls are not rendered.\n\t */\n\tonAuthorChange?: AuthorSelectProps[ 'onChange' ];\n\t/**\n\t * A function that receives the new number of items.\n\t * If not specified, then the number of items\n\t * range control is not rendered.\n\t */\n\tonNumberOfItemsChange?: ( newNumber?: number ) => void;\n\t/**\n\t * A function that receives the new order value.\n\t * If this prop or the `onOrderByChange` prop are not specified,\n\t * then the order controls are not rendered.\n\t */\n\tonOrderChange?: ( newOrder: Order ) => void;\n\t/**\n\t * A function that receives the new orderby value.\n\t * If this prop or the `onOrderChange` prop are not specified,\n\t * then the order controls are not rendered.\n\t */\n\tonOrderByChange?: ( newOrderBy: OrderBy ) => void;\n\t/**\n\t * The order in which to retrieve posts.\n\t */\n\torder?: Order;\n\t/**\n\t * The meta key by which to order posts.\n\t */\n\torderBy?: OrderBy;\n\t/**\n\t * List of available ordering options.\n\t */\n\torderByOptions?: OrderByOption[];\n\t/**\n\t * The selected author ID.\n\t */\n\tselectedAuthorId?: AuthorSelectProps[ 'selectedAuthorId' ];\n\t/**\n\t * Start opting into the larger default height that will become the\n\t * default size in a future version.\n\t *\n\t * @deprecated Default behavior since WP 6.7. Prop can be safely removed.\n\t * @ignore\n\t */\n\t__next40pxDefaultSize?: boolean;\n};\n\nexport type QueryControlsWithSingleCategorySelectionProps =\n\tBaseQueryControlsProps & {\n\t\t/**\n\t\t * An array of categories. When passed in conjunction with the\n\t\t * `onCategoryChange` prop, it causes the component to render UI that allows\n\t\t * selecting one category at a time.\n\t\t */\n\t\tcategoriesList?: CategorySelectProps[ 'categoriesList' ];\n\t\t/**\n\t\t * The selected category for the `categoriesList` prop.\n\t\t */\n\t\tselectedCategoryId?: CategorySelectProps[ 'selectedCategoryId' ];\n\t\t/**\n\t\t * A function that receives the new category value. If not specified, the\n\t\t * category controls are not rendered.\n\t\t * The function's signature changes depending on whether multiple category\n\t\t * selection is enabled or not.\n\t\t */\n\t\tonCategoryChange?: CategorySelectProps[ 'onChange' ];\n\t};\n\nexport type QueryControlsWithMultipleCategorySelectionProps =\n\tBaseQueryControlsProps & {\n\t\t/**\n\t\t * An object of categories with the category name as the key. When passed in\n\t\t * conjunction with the `onCategoryChange` prop, it causes the component to\n\t\t * render UI that enables multiple selection.\n\t\t */\n\t\tcategorySuggestions?: Record< Category[ 'name' ], Category >;\n\t\t/**\n\t\t * The selected categories for the `categorySuggestions` prop.\n\t\t */\n\t\tselectedCategories?: Category[];\n\t\t/**\n\t\t * A function that receives the new category value. If not specified, the\n\t\t * category controls are not rendered.\n\t\t * The function's signature changes depending on whether multiple category\n\t\t * selection is enabled or not.\n\t\t */\n\t\tonCategoryChange?: FormTokenFieldProps[ 'onChange' ];\n\t};\n\nexport type QueryControlsProps =\n\t| QueryControlsWithSingleCategorySelectionProps\n\t| QueryControlsWithMultipleCategorySelectionProps;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -396,7 +396,7 @@
|
|
|
396
396
|
color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
|
|
397
397
|
background: transparent;
|
|
398
398
|
}
|
|
399
|
-
.components-button.is-tertiary:hover:not(:disabled, [aria-disabled=true]) {
|
|
399
|
+
.components-button.is-tertiary:hover:not(:disabled, [aria-disabled=true], .is-pressed) {
|
|
400
400
|
background: color-mix(in srgb, var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)) 4%, transparent);
|
|
401
401
|
color: var(--wp-components-color-accent-darker-20, var(--wp-admin-theme-color-darker-20, #183ad6));
|
|
402
402
|
}
|
package/build-style/style.css
CHANGED
|
@@ -396,7 +396,7 @@
|
|
|
396
396
|
color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
|
|
397
397
|
background: transparent;
|
|
398
398
|
}
|
|
399
|
-
.components-button.is-tertiary:hover:not(:disabled, [aria-disabled=true]) {
|
|
399
|
+
.components-button.is-tertiary:hover:not(:disabled, [aria-disabled=true], .is-pressed) {
|
|
400
400
|
background: color-mix(in srgb, var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)) 4%, transparent);
|
|
401
401
|
color: var(--wp-components-color-accent-darker-20, var(--wp-admin-theme-color-darker-20, #183ad6));
|
|
402
402
|
}
|
|
@@ -5,7 +5,7 @@ import type { QueryControlsProps } from './types';
|
|
|
5
5
|
* ```jsx
|
|
6
6
|
* const MyQueryControls = () => (
|
|
7
7
|
* <QueryControls
|
|
8
|
-
* { ...{ maxItems, minItems, numberOfItems, order, orderBy } }
|
|
8
|
+
* { ...{ maxItems, minItems, numberOfItems, order, orderBy, orderByOptions } }
|
|
9
9
|
* onOrderByChange={ ( newOrderBy ) => {
|
|
10
10
|
* updateQuery( { orderBy: newOrderBy } )
|
|
11
11
|
* }
|
|
@@ -24,6 +24,6 @@ import type { QueryControlsProps } from './types';
|
|
|
24
24
|
* );
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
|
-
export declare function QueryControls({ authorList, selectedAuthorId, numberOfItems, order, orderBy, maxItems, minItems, onAuthorChange, onNumberOfItemsChange, onOrderChange, onOrderByChange, ...props }: QueryControlsProps): import("react").JSX.Element;
|
|
27
|
+
export declare function QueryControls({ authorList, selectedAuthorId, numberOfItems, order, orderBy, orderByOptions, maxItems, minItems, onAuthorChange, onNumberOfItemsChange, onOrderChange, onOrderByChange, ...props }: QueryControlsProps): import("react").JSX.Element;
|
|
28
28
|
export default QueryControls;
|
|
29
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/query-controls/index.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/query-controls/index.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,kBAAkB,EAIlB,MAAM,SAAS,CAAC;AAuCjB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAAE,EAC9B,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,OAAO,EACP,cAAsC,EACtC,QAA4B,EAC5B,QAA4B,EAC5B,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,eAAe,EAGf,GAAG,KAAK,EACR,EAAE,kBAAkB,+BAyGpB;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -32,7 +32,17 @@ export type AuthorSelectProps = Pick<TreeSelectProps, 'label' | 'noOptionLabel'>
|
|
|
32
32
|
__next40pxDefaultSize: boolean;
|
|
33
33
|
};
|
|
34
34
|
type Order = 'asc' | 'desc';
|
|
35
|
-
type OrderBy = 'date' | 'title';
|
|
35
|
+
type OrderBy = 'date' | 'title' | 'menu_order';
|
|
36
|
+
export type OrderByOption = {
|
|
37
|
+
/**
|
|
38
|
+
* The label to be shown to the user.
|
|
39
|
+
*/
|
|
40
|
+
label: string;
|
|
41
|
+
/**
|
|
42
|
+
* Option value passed to `onChange` when the option is selected.
|
|
43
|
+
*/
|
|
44
|
+
value: `${OrderBy}/${Order}`;
|
|
45
|
+
};
|
|
36
46
|
type BaseQueryControlsProps = {
|
|
37
47
|
/**
|
|
38
48
|
* An array of the authors to select from.
|
|
@@ -85,6 +95,10 @@ type BaseQueryControlsProps = {
|
|
|
85
95
|
* The meta key by which to order posts.
|
|
86
96
|
*/
|
|
87
97
|
orderBy?: OrderBy;
|
|
98
|
+
/**
|
|
99
|
+
* List of available ordering options.
|
|
100
|
+
*/
|
|
101
|
+
orderByOptions?: OrderByOption[];
|
|
88
102
|
/**
|
|
89
103
|
* The selected author ID.
|
|
90
104
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/query-controls/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,MAAM,MAAM,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,yBAAyB,EAAE,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAE,MAAM,EAAE,yBAAyB,EAAE,CAAE,CAAC;AAE1E,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACrC,eAAe,EACf,OAAO,GAAG,eAAe,CACzB,GAAG;IACH,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAE,WAAW,EAAE,MAAM,KAAM,IAAI,CAAC;IAC1C,kBAAkB,CAAC,EAAE,QAAQ,CAAE,IAAI,CAAE,CAAC;IACtC,qBAAqB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CACnC,eAAe,EACf,OAAO,GAAG,eAAe,CACzB,GAAG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,CAAE,SAAS,EAAE,MAAM,KAAM,IAAI,CAAC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAE,IAAI,CAAE,CAAC;IAClC,qBAAqB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,KAAK,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAC5B,KAAK,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/query-controls/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/components",
|
|
3
|
-
"version": "29.5.
|
|
3
|
+
"version": "29.5.2",
|
|
4
4
|
"description": "UI components for WordPress.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -44,23 +44,23 @@
|
|
|
44
44
|
"@types/gradient-parser": "0.1.3",
|
|
45
45
|
"@types/highlight-words-core": "1.2.1",
|
|
46
46
|
"@use-gesture/react": "^10.3.1",
|
|
47
|
-
"@wordpress/a11y": "^4.19.
|
|
48
|
-
"@wordpress/compose": "^7.19.
|
|
49
|
-
"@wordpress/date": "^5.19.
|
|
50
|
-
"@wordpress/deprecated": "^4.19.
|
|
51
|
-
"@wordpress/dom": "^4.19.
|
|
52
|
-
"@wordpress/element": "^6.19.
|
|
53
|
-
"@wordpress/escape-html": "^3.19.
|
|
54
|
-
"@wordpress/hooks": "^4.19.
|
|
55
|
-
"@wordpress/html-entities": "^4.19.
|
|
56
|
-
"@wordpress/i18n": "^5.19.
|
|
57
|
-
"@wordpress/icons": "^10.19.
|
|
58
|
-
"@wordpress/is-shallow-equal": "^5.19.
|
|
59
|
-
"@wordpress/keycodes": "^4.19.
|
|
60
|
-
"@wordpress/primitives": "^4.19.
|
|
61
|
-
"@wordpress/private-apis": "^1.19.
|
|
62
|
-
"@wordpress/rich-text": "^7.19.
|
|
63
|
-
"@wordpress/warning": "^3.19.
|
|
47
|
+
"@wordpress/a11y": "^4.19.1",
|
|
48
|
+
"@wordpress/compose": "^7.19.1",
|
|
49
|
+
"@wordpress/date": "^5.19.1",
|
|
50
|
+
"@wordpress/deprecated": "^4.19.1",
|
|
51
|
+
"@wordpress/dom": "^4.19.1",
|
|
52
|
+
"@wordpress/element": "^6.19.1",
|
|
53
|
+
"@wordpress/escape-html": "^3.19.1",
|
|
54
|
+
"@wordpress/hooks": "^4.19.1",
|
|
55
|
+
"@wordpress/html-entities": "^4.19.1",
|
|
56
|
+
"@wordpress/i18n": "^5.19.1",
|
|
57
|
+
"@wordpress/icons": "^10.19.1",
|
|
58
|
+
"@wordpress/is-shallow-equal": "^5.19.1",
|
|
59
|
+
"@wordpress/keycodes": "^4.19.1",
|
|
60
|
+
"@wordpress/primitives": "^4.19.1",
|
|
61
|
+
"@wordpress/private-apis": "^1.19.1",
|
|
62
|
+
"@wordpress/rich-text": "^7.19.1",
|
|
63
|
+
"@wordpress/warning": "^3.19.1",
|
|
64
64
|
"change-case": "^4.1.2",
|
|
65
65
|
"clsx": "^2.1.1",
|
|
66
66
|
"colord": "^2.7.0",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"publishConfig": {
|
|
86
86
|
"access": "public"
|
|
87
87
|
},
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "0750912b313e3e488ec2cad0c084e548cedd6b95"
|
|
89
89
|
}
|
package/src/button/style.scss
CHANGED
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
color: $components-color-accent;
|
|
168
168
|
background: transparent;
|
|
169
169
|
|
|
170
|
-
&:hover:not(:disabled, [aria-disabled="true"]) {
|
|
170
|
+
&:hover:not(:disabled, [aria-disabled="true"], .is-pressed) {
|
|
171
171
|
background: color-mix(in srgb, $components-color-accent 4%, transparent);
|
|
172
172
|
color: $components-color-accent-darker-20;
|
|
173
173
|
}
|
|
@@ -36,7 +36,7 @@ const QUERY_DEFAULTS = {
|
|
|
36
36
|
|
|
37
37
|
const MyQueryControls = () => {
|
|
38
38
|
const [ query, setQuery ] = useState( QUERY_DEFAULTS );
|
|
39
|
-
const { category, categories, maxItems, minItems, numberOfItems, order, orderBy
|
|
39
|
+
const { category, categories, maxItems, minItems, numberOfItems, order, orderBy } = query;
|
|
40
40
|
|
|
41
41
|
const updateQuery = ( newQuery ) => {
|
|
42
42
|
setQuery( { ...query, ...newQuery } );
|
|
@@ -213,7 +213,14 @@ The order in which to retrieve posts.
|
|
|
213
213
|
- Required: No
|
|
214
214
|
- Platform: Web
|
|
215
215
|
|
|
216
|
-
#### `orderBy`: `'date' | 'title'`
|
|
216
|
+
#### `orderBy`: `'date' | 'title' | 'menu_order'`
|
|
217
|
+
|
|
218
|
+
The meta key by which to order posts.
|
|
219
|
+
|
|
220
|
+
- Required: No
|
|
221
|
+
- Platform: Web
|
|
222
|
+
|
|
223
|
+
#### `orderByOptions`: `OrderByOption[]`
|
|
217
224
|
|
|
218
225
|
The meta key by which to order posts.
|
|
219
226
|
|
|
@@ -246,4 +253,4 @@ The selected category for the `categoriesList` prop.
|
|
|
246
253
|
Start opting into the larger default height that will become the default size in a future version.
|
|
247
254
|
|
|
248
255
|
- Required: No
|
|
249
|
-
- Default: `false`
|
|
256
|
+
- Default: `false`
|