@wordpress/block-library 8.25.0 → 8.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/LICENSE.md +1 -1
- package/build/audio/edit.js +10 -12
- package/build/audio/edit.js.map +1 -1
- package/build/block/edit.js +79 -32
- package/build/block/edit.js.map +1 -1
- package/build/comments-title/deprecated.js +1 -1
- package/build/comments-title/index.js +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/embed/util.js +4 -4
- package/build/embed/util.js.map +1 -1
- package/build/file/edit.js +19 -27
- package/build/file/edit.js.map +1 -1
- package/build/gallery/edit.js +36 -17
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +3 -2
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/index.js +4 -0
- package/build/gallery/index.js.map +1 -1
- package/build/gallery/transforms.js +4 -68
- package/build/gallery/transforms.js.map +1 -1
- package/build/group/index.js +5 -1
- package/build/group/index.js.map +1 -1
- package/build/image/deprecated.js +11 -0
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.native.js +3 -0
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +22 -21
- package/build/image/image.js.map +1 -1
- package/build/image/view.js +7 -1
- package/build/image/view.js.map +1 -1
- package/build/list/edit.js +10 -15
- package/build/list/edit.js.map +1 -1
- package/build/list-item/edit.js +17 -2
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/use-enter.js +5 -3
- package/build/list-item/hooks/use-enter.js.map +1 -1
- package/build/list-item/hooks/use-enter.native.js +4 -3
- package/build/list-item/hooks/use-enter.native.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +2 -3
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +1 -1
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +3 -17
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-space.js +8 -4
- package/build/list-item/hooks/use-space.js.map +1 -1
- package/build/media-text/media-container.native.js +3 -0
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/navigation/constants.js +3 -1
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/edit/index.js +4 -0
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/view.js +25 -1
- package/build/navigation/view.js.map +1 -1
- package/build/pattern/edit.js +24 -2
- package/build/pattern/edit.js.map +1 -1
- package/build/pattern/recursion-detector.js +147 -0
- package/build/pattern/recursion-detector.js.map +1 -0
- package/build/post-featured-image/edit.js +19 -2
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +4 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +3 -1
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query-pagination-numbers/index.js +1 -1
- package/build/search/edit.js +3 -5
- package/build/search/edit.js.map +1 -1
- package/build/search/index.js +0 -4
- package/build/search/index.js.map +1 -1
- package/build/site-logo/edit.js +7 -6
- package/build/site-logo/edit.js.map +1 -1
- package/build/spacer/edit.native.js +2 -2
- package/build/spacer/edit.native.js.map +1 -1
- package/build/tag-cloud/edit.js +5 -9
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/utils/constants.js +16 -0
- package/build/utils/constants.js.map +1 -0
- package/build/video/edit.js +11 -8
- package/build/video/edit.js.map +1 -1
- package/build-module/audio/edit.js +10 -12
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/block/edit.js +83 -36
- package/build-module/block/edit.js.map +1 -1
- package/build-module/comments-title/deprecated.js +1 -1
- package/build-module/comments-title/index.js +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/embed/util.js +4 -4
- package/build-module/embed/util.js.map +1 -1
- package/build-module/file/edit.js +19 -27
- package/build-module/file/edit.js.map +1 -1
- package/build-module/gallery/edit.js +36 -17
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +3 -2
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/index.js +4 -0
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/gallery/transforms.js +4 -68
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/group/index.js +5 -1
- package/build-module/group/index.js.map +1 -1
- package/build-module/image/deprecated.js +11 -0
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/edit.native.js +3 -0
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +17 -16
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/view.js +7 -1
- package/build-module/image/view.js.map +1 -1
- package/build-module/list/edit.js +10 -15
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list-item/edit.js +18 -3
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-enter.js +5 -3
- package/build-module/list-item/hooks/use-enter.js.map +1 -1
- package/build-module/list-item/hooks/use-enter.native.js +4 -3
- package/build-module/list-item/hooks/use-enter.native.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +2 -3
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +1 -1
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +3 -17
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-space.js +8 -4
- package/build-module/list-item/hooks/use-space.js.map +1 -1
- package/build-module/media-text/media-container.native.js +3 -0
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/navigation/constants.js +1 -0
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/edit/index.js +5 -1
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/view.js +25 -1
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/pattern/edit.js +26 -4
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/pattern/recursion-detector.js +139 -0
- package/build-module/pattern/recursion-detector.js.map +1 -0
- package/build-module/post-featured-image/edit.js +19 -2
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +4 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +3 -1
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query-pagination-numbers/index.js +1 -1
- package/build-module/search/edit.js +3 -5
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/index.js +0 -4
- package/build-module/search/index.js.map +1 -1
- package/build-module/site-logo/edit.js +7 -6
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/spacer/edit.native.js +2 -2
- package/build-module/spacer/edit.native.js.map +1 -1
- package/build-module/tag-cloud/edit.js +6 -10
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/utils/constants.js +9 -0
- package/build-module/utils/constants.js.map +1 -0
- package/build-module/video/edit.js +11 -8
- package/build-module/video/edit.js.map +1 -1
- package/build-style/button/editor-rtl.css +0 -37
- package/build-style/button/editor.css +0 -37
- package/build-style/button/style-rtl.css +6 -6
- package/build-style/button/style.css +6 -6
- package/build-style/editor-rtl.css +2 -44
- package/build-style/editor.css +2 -44
- package/build-style/navigation/editor-rtl.css +2 -4
- package/build-style/navigation/editor.css +2 -4
- package/build-style/navigation/style-rtl.css +14 -18
- package/build-style/navigation/style.css +14 -18
- package/build-style/search/style-rtl.css +26 -27
- package/build-style/search/style.css +26 -27
- package/build-style/style-rtl.css +46 -51
- package/build-style/style.css +46 -51
- package/build-style/table/editor-rtl.css +0 -3
- package/build-style/table/editor.css +0 -3
- package/package.json +32 -32
- package/src/audio/edit.js +19 -19
- package/src/audio/test/__snapshots__/edit.native.js.snap +12 -0
- package/src/audio/test/edit.native.js +29 -0
- package/src/block/edit.js +114 -60
- package/src/button/editor.scss +0 -43
- package/src/button/style.scss +6 -6
- package/src/comments-title/block.json +1 -1
- package/src/cover/edit/inspector-controls.js +1 -1
- package/src/embed/util.js +2 -2
- package/src/file/edit.js +17 -24
- package/src/gallery/block.json +4 -0
- package/src/gallery/edit.js +69 -42
- package/src/gallery/gallery.js +4 -1
- package/src/gallery/index.php +18 -0
- package/src/gallery/transforms.js +2 -55
- package/src/group/block.json +5 -1
- package/src/image/deprecated.js +8 -0
- package/src/image/edit.native.js +3 -0
- package/src/image/image.js +54 -35
- package/src/image/index.php +1 -6
- package/src/image/view.js +5 -2
- package/src/list/edit.js +27 -35
- package/src/list-item/edit.js +18 -2
- package/src/list-item/hooks/use-enter.js +63 -62
- package/src/list-item/hooks/use-enter.native.js +9 -5
- package/src/list-item/hooks/use-indent-list-item.js +43 -53
- package/src/list-item/hooks/use-merge.js +1 -1
- package/src/list-item/hooks/use-outdent-list-item.js +50 -69
- package/src/list-item/hooks/use-space.js +7 -4
- package/src/media-text/media-container.native.js +3 -1
- package/src/navigation/constants.js +2 -0
- package/src/navigation/edit/index.js +11 -1
- package/src/navigation/editor.scss +1 -1
- package/src/navigation/style.scss +18 -16
- package/src/navigation/view.js +29 -3
- package/src/paragraph/test/__snapshots__/edit.native.js.snap +12 -0
- package/src/paragraph/test/edit.native.js +114 -0
- package/src/pattern/edit.js +35 -3
- package/src/pattern/index.php +16 -0
- package/src/pattern/recursion-detector.js +145 -0
- package/src/pattern/test/index.js +74 -0
- package/src/post-featured-image/block.json +4 -0
- package/src/post-featured-image/edit.js +32 -1
- package/src/post-featured-image/index.php +31 -0
- package/src/query/edit/inspector-controls/index.js +2 -0
- package/src/query-pagination-numbers/block.json +1 -1
- package/src/search/block.json +0 -4
- package/src/search/edit.js +2 -8
- package/src/search/index.php +3 -7
- package/src/search/style.scss +27 -29
- package/src/site-logo/edit.js +3 -4
- package/src/social-link/index.php +1 -1
- package/src/spacer/edit.native.js +4 -2
- package/src/table/editor.scss +0 -3
- package/src/tag-cloud/edit.js +7 -7
- package/src/template-part/index.php +6 -0
- package/src/utils/constants.js +8 -0
- package/src/video/edit.js +29 -27
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.parsePatternDependencies = parsePatternDependencies;
|
|
7
|
+
exports.registerDependency = registerDependency;
|
|
8
|
+
exports.useParsePatternDependencies = useParsePatternDependencies;
|
|
9
|
+
var _data = require("@wordpress/data");
|
|
10
|
+
/**
|
|
11
|
+
* THIS MODULE IS INTENTIONALLY KEPT WITHIN THE PATTERN BLOCK'S SOURCE.
|
|
12
|
+
*
|
|
13
|
+
* This is because this approach for preventing infinite loops due to
|
|
14
|
+
* recursively rendering blocks is specific to the way that the `core/pattern`
|
|
15
|
+
* block behaves in the editor. Any other block types that deal with recursion
|
|
16
|
+
* SHOULD USE THE STANDARD METHOD for avoiding loops:
|
|
17
|
+
*
|
|
18
|
+
* @see https://github.com/WordPress/gutenberg/pull/31455
|
|
19
|
+
* @see packages/block-editor/src/components/recursion-provider/README.md
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* WordPress dependencies
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Naming is hard.
|
|
28
|
+
*
|
|
29
|
+
* @see useParsePatternDependencies
|
|
30
|
+
*
|
|
31
|
+
* @type {WeakMap<Object, Function>}
|
|
32
|
+
*/
|
|
33
|
+
const cachedParsers = new WeakMap();
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Hook used by PatternEdit to parse block patterns. It returns a function that
|
|
37
|
+
* takes a pattern and returns nothing but throws an error if the pattern is
|
|
38
|
+
* recursive.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```js
|
|
42
|
+
* const parsePatternDependencies = useParsePatternDependencies();
|
|
43
|
+
* parsePatternDependencies( selectedPattern );
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @see parsePatternDependencies
|
|
47
|
+
*
|
|
48
|
+
* @return {Function} A function to parse block patterns.
|
|
49
|
+
*/
|
|
50
|
+
function useParsePatternDependencies() {
|
|
51
|
+
const registry = (0, _data.useRegistry)();
|
|
52
|
+
|
|
53
|
+
// Instead of caching maps, go straight to the point and cache bound
|
|
54
|
+
// functions. Each of those functions is bound to a different Map that will
|
|
55
|
+
// keep track of patterns in the context of the given registry.
|
|
56
|
+
if (!cachedParsers.has(registry)) {
|
|
57
|
+
const deps = new Map();
|
|
58
|
+
cachedParsers.set(registry, parsePatternDependencies.bind(null, deps));
|
|
59
|
+
}
|
|
60
|
+
return cachedParsers.get(registry);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Parse a given pattern and traverse its contents to detect any subsequent
|
|
65
|
+
* patterns on which it may depend. Such occurrences will be added to an
|
|
66
|
+
* internal dependency graph. If a circular dependency is detected, an
|
|
67
|
+
* error will be thrown.
|
|
68
|
+
*
|
|
69
|
+
* EXPORTED FOR TESTING PURPOSES ONLY.
|
|
70
|
+
*
|
|
71
|
+
* @param {Map<string, Set<string>>} deps Map of pattern dependencies.
|
|
72
|
+
* @param {Object} pattern Pattern.
|
|
73
|
+
* @param {string} pattern.name Pattern name.
|
|
74
|
+
* @param {Array} pattern.blocks Pattern's block list.
|
|
75
|
+
*
|
|
76
|
+
* @throws {Error} If a circular dependency is detected.
|
|
77
|
+
*/
|
|
78
|
+
function parsePatternDependencies(deps, {
|
|
79
|
+
name,
|
|
80
|
+
blocks
|
|
81
|
+
}) {
|
|
82
|
+
const queue = [...blocks];
|
|
83
|
+
while (queue.length) {
|
|
84
|
+
const block = queue.shift();
|
|
85
|
+
for (const innerBlock of (_block$innerBlocks = block.innerBlocks) !== null && _block$innerBlocks !== void 0 ? _block$innerBlocks : []) {
|
|
86
|
+
var _block$innerBlocks;
|
|
87
|
+
queue.unshift(innerBlock);
|
|
88
|
+
}
|
|
89
|
+
if (block.name === 'core/pattern') {
|
|
90
|
+
registerDependency(deps, name, block.attributes.slug);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Declare that pattern `a` depends on pattern `b`. If a circular
|
|
97
|
+
* dependency is detected, an error will be thrown.
|
|
98
|
+
*
|
|
99
|
+
* EXPORTED FOR TESTING PURPOSES ONLY.
|
|
100
|
+
*
|
|
101
|
+
* @param {Map<string, Set<string>>} deps Map of pattern dependencies.
|
|
102
|
+
* @param {string} a Slug for pattern A.
|
|
103
|
+
* @param {string} b Slug for pattern B.
|
|
104
|
+
*
|
|
105
|
+
* @throws {Error} If a circular dependency is detected.
|
|
106
|
+
*/
|
|
107
|
+
function registerDependency(deps, a, b) {
|
|
108
|
+
if (!deps.has(a)) {
|
|
109
|
+
deps.set(a, new Set());
|
|
110
|
+
}
|
|
111
|
+
deps.get(a).add(b);
|
|
112
|
+
if (hasCycle(deps, a)) {
|
|
113
|
+
throw new TypeError(`Pattern ${a} has a circular dependency and cannot be rendered.`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Determine if a given pattern has circular dependencies on other patterns.
|
|
119
|
+
* This will be determined by running a depth-first search on the current state
|
|
120
|
+
* of the graph represented by `patternDependencies`.
|
|
121
|
+
*
|
|
122
|
+
* @param {Map<string, Set<string>>} deps Map of pattern dependencies.
|
|
123
|
+
* @param {string} slug Pattern slug.
|
|
124
|
+
* @param {Set<string>} [visitedNodes] Set to track visited nodes in the graph.
|
|
125
|
+
* @param {Set<string>} [currentPath] Set to track and backtrack graph paths.
|
|
126
|
+
* @return {boolean} Whether any cycle was found.
|
|
127
|
+
*/
|
|
128
|
+
function hasCycle(deps, slug, visitedNodes = new Set(), currentPath = new Set()) {
|
|
129
|
+
var _deps$get;
|
|
130
|
+
visitedNodes.add(slug);
|
|
131
|
+
currentPath.add(slug);
|
|
132
|
+
const dependencies = (_deps$get = deps.get(slug)) !== null && _deps$get !== void 0 ? _deps$get : new Set();
|
|
133
|
+
for (const dependency of dependencies) {
|
|
134
|
+
if (!visitedNodes.has(dependency)) {
|
|
135
|
+
if (hasCycle(deps, dependency, visitedNodes, currentPath)) {
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
} else if (currentPath.has(dependency)) {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Remove the current node from the current path when backtracking
|
|
144
|
+
currentPath.delete(slug);
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=recursion-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_data","require","cachedParsers","WeakMap","useParsePatternDependencies","registry","useRegistry","has","deps","Map","set","parsePatternDependencies","bind","get","name","blocks","queue","length","block","shift","innerBlock","_block$innerBlocks","innerBlocks","unshift","registerDependency","attributes","slug","a","b","Set","add","hasCycle","TypeError","visitedNodes","currentPath","_deps$get","dependencies","dependency","delete"],"sources":["@wordpress/block-library/src/pattern/recursion-detector.js"],"sourcesContent":["/**\n * THIS MODULE IS INTENTIONALLY KEPT WITHIN THE PATTERN BLOCK'S SOURCE.\n *\n * This is because this approach for preventing infinite loops due to\n * recursively rendering blocks is specific to the way that the `core/pattern`\n * block behaves in the editor. Any other block types that deal with recursion\n * SHOULD USE THE STANDARD METHOD for avoiding loops:\n *\n * @see https://github.com/WordPress/gutenberg/pull/31455\n * @see packages/block-editor/src/components/recursion-provider/README.md\n */\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry } from '@wordpress/data';\n\n/**\n * Naming is hard.\n *\n * @see useParsePatternDependencies\n *\n * @type {WeakMap<Object, Function>}\n */\nconst cachedParsers = new WeakMap();\n\n/**\n * Hook used by PatternEdit to parse block patterns. It returns a function that\n * takes a pattern and returns nothing but throws an error if the pattern is\n * recursive.\n *\n * @example\n * ```js\n * const parsePatternDependencies = useParsePatternDependencies();\n * parsePatternDependencies( selectedPattern );\n * ```\n *\n * @see parsePatternDependencies\n *\n * @return {Function} A function to parse block patterns.\n */\nexport function useParsePatternDependencies() {\n\tconst registry = useRegistry();\n\n\t// Instead of caching maps, go straight to the point and cache bound\n\t// functions. Each of those functions is bound to a different Map that will\n\t// keep track of patterns in the context of the given registry.\n\tif ( ! cachedParsers.has( registry ) ) {\n\t\tconst deps = new Map();\n\t\tcachedParsers.set(\n\t\t\tregistry,\n\t\t\tparsePatternDependencies.bind( null, deps )\n\t\t);\n\t}\n\treturn cachedParsers.get( registry );\n}\n\n/**\n * Parse a given pattern and traverse its contents to detect any subsequent\n * patterns on which it may depend. Such occurrences will be added to an\n * internal dependency graph. If a circular dependency is detected, an\n * error will be thrown.\n *\n * EXPORTED FOR TESTING PURPOSES ONLY.\n *\n * @param {Map<string, Set<string>>} deps Map of pattern dependencies.\n * @param {Object} pattern Pattern.\n * @param {string} pattern.name Pattern name.\n * @param {Array} pattern.blocks Pattern's block list.\n *\n * @throws {Error} If a circular dependency is detected.\n */\nexport function parsePatternDependencies( deps, { name, blocks } ) {\n\tconst queue = [ ...blocks ];\n\twhile ( queue.length ) {\n\t\tconst block = queue.shift();\n\t\tfor ( const innerBlock of block.innerBlocks ?? [] ) {\n\t\t\tqueue.unshift( innerBlock );\n\t\t}\n\t\tif ( block.name === 'core/pattern' ) {\n\t\t\tregisterDependency( deps, name, block.attributes.slug );\n\t\t}\n\t}\n}\n\n/**\n * Declare that pattern `a` depends on pattern `b`. If a circular\n * dependency is detected, an error will be thrown.\n *\n * EXPORTED FOR TESTING PURPOSES ONLY.\n *\n * @param {Map<string, Set<string>>} deps Map of pattern dependencies.\n * @param {string} a Slug for pattern A.\n * @param {string} b Slug for pattern B.\n *\n * @throws {Error} If a circular dependency is detected.\n */\nexport function registerDependency( deps, a, b ) {\n\tif ( ! deps.has( a ) ) {\n\t\tdeps.set( a, new Set() );\n\t}\n\tdeps.get( a ).add( b );\n\tif ( hasCycle( deps, a ) ) {\n\t\tthrow new TypeError(\n\t\t\t`Pattern ${ a } has a circular dependency and cannot be rendered.`\n\t\t);\n\t}\n}\n\n/**\n * Determine if a given pattern has circular dependencies on other patterns.\n * This will be determined by running a depth-first search on the current state\n * of the graph represented by `patternDependencies`.\n *\n * @param {Map<string, Set<string>>} deps Map of pattern dependencies.\n * @param {string} slug Pattern slug.\n * @param {Set<string>} [visitedNodes] Set to track visited nodes in the graph.\n * @param {Set<string>} [currentPath] Set to track and backtrack graph paths.\n * @return {boolean} Whether any cycle was found.\n */\nfunction hasCycle(\n\tdeps,\n\tslug,\n\tvisitedNodes = new Set(),\n\tcurrentPath = new Set()\n) {\n\tvisitedNodes.add( slug );\n\tcurrentPath.add( slug );\n\n\tconst dependencies = deps.get( slug ) ?? new Set();\n\n\tfor ( const dependency of dependencies ) {\n\t\tif ( ! visitedNodes.has( dependency ) ) {\n\t\t\tif ( hasCycle( deps, dependency, visitedNodes, currentPath ) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} else if ( currentPath.has( dependency ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t// Remove the current node from the current path when backtracking\n\tcurrentPath.delete( slug );\n\treturn false;\n}\n"],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ var _coreData = require("@wordpress/core-data");
|
|
|
11
11
|
var _data = require("@wordpress/data");
|
|
12
12
|
var _components = require("@wordpress/components");
|
|
13
13
|
var _blockEditor = require("@wordpress/block-editor");
|
|
14
|
+
var _element = require("@wordpress/element");
|
|
14
15
|
var _i18n = require("@wordpress/i18n");
|
|
15
16
|
var _icons = require("@wordpress/icons");
|
|
16
17
|
var _notices = require("@wordpress/notices");
|
|
@@ -55,9 +56,25 @@ function PostFeaturedImageEdit({
|
|
|
55
56
|
scale,
|
|
56
57
|
sizeSlug,
|
|
57
58
|
rel,
|
|
58
|
-
linkTarget
|
|
59
|
+
linkTarget,
|
|
60
|
+
useFirstImageFromPost
|
|
59
61
|
} = attributes;
|
|
60
|
-
const [
|
|
62
|
+
const [storedFeaturedImage, setFeaturedImage] = (0, _coreData.useEntityProp)('postType', postTypeSlug, 'featured_media', postId);
|
|
63
|
+
|
|
64
|
+
// Fallback to post content if no featured image is set.
|
|
65
|
+
// This is needed for the "Use first image from post" option.
|
|
66
|
+
const [postContent] = (0, _coreData.useEntityProp)('postType', postTypeSlug, 'content', postId);
|
|
67
|
+
const featuredImage = (0, _element.useMemo)(() => {
|
|
68
|
+
if (storedFeaturedImage) {
|
|
69
|
+
return storedFeaturedImage;
|
|
70
|
+
}
|
|
71
|
+
if (!useFirstImageFromPost) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const imageOpener = /<!--\s+wp:(?:core\/)?image\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\s+\/?-->).)*)?}\s+)?-->/.exec(postContent);
|
|
75
|
+
const imageId = imageOpener?.groups?.attrs && JSON.parse(imageOpener.groups.attrs)?.id;
|
|
76
|
+
return imageId;
|
|
77
|
+
}, [storedFeaturedImage, useFirstImageFromPost, postContent]);
|
|
61
78
|
const {
|
|
62
79
|
media,
|
|
63
80
|
postType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_data","_components","_blockEditor","_i18n","_icons","_notices","_dimensionControls","_overlay","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","disabledClickProps","onClick","event","preventDefault","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","featuredImage","setFeaturedImage","useEntityProp","postPermalink","useSelect","select","getMedia","getPostType","getEditedEntityRecord","coreStore","link","mediaUrl","imageSizes","blockEditorStore","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","useBlockProps","style","borderProps","useBorderProps","placeholder","content","_react","createElement","Placeholder","className","classnames","withIllustration","onSelectImage","id","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","controls","Fragment","default","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","labels","singular_name","sprintf","onChange","checked","TextControl","newRel","image","href","target","imageStyles","objectFit","MediaPlaceholder","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","Button","icon","upload","variant","showTooltip","tooltipPosition","src","alt","alt_text","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","MenuItem"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport Overlay from './overlay';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nconst disabledClickProps = {\n\tonClick: ( event ) => event.preventDefault(),\n\t'aria-disabled': true,\n};\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t} = attributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Page\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a consious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ imageStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_data","_components","_blockEditor","_element","_i18n","_icons","_notices","_dimensionControls","_overlay","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","disabledClickProps","onClick","event","preventDefault","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","storedFeaturedImage","setFeaturedImage","useEntityProp","postContent","featuredImage","useMemo","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","postPermalink","useSelect","select","getMedia","getPostType","getEditedEntityRecord","coreStore","link","mediaUrl","imageSizes","blockEditorStore","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","useBlockProps","style","borderProps","useBorderProps","placeholder","content","_react","createElement","Placeholder","className","classnames","withIllustration","onSelectImage","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","controls","Fragment","default","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","labels","singular_name","sprintf","onChange","checked","TextControl","newRel","image","href","target","imageStyles","objectFit","MediaPlaceholder","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","Button","icon","upload","variant","showTooltip","tooltipPosition","src","alt","alt_text","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","MenuItem"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport Overlay from './overlay';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nconst disabledClickProps = {\n\tonClick: ( event ) => event.preventDefault(),\n\t'aria-disabled': true,\n};\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t\tuseFirstImageFromPost,\n\t} = attributes;\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Page\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a consious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ imageStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","isLink","type","aspectRatio","width","height","scale","sizeSlug","rel","attribute","linkTarget","overlayColor","customOverlayColor","dimRatio","gradient","customGradient","usesContext","supports","align","color","__experimentalDuotone","text","background","__experimentalBorder","radius","__experimentalSelector","__experimentalSkipSerialization","__experimentalDefaultControls","html","spacing","margin","padding","editorStyle","style","exports","settings","icon","edit","init","initBlock"],"sources":["@wordpress/block-library/src/post-featured-image/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postFeaturedImage as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAVA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAI,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,MAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,WAAA;MAAAD,IAAA;IAAA;IAAAE,KAAA;MAAAF,IAAA;IAAA;IAAAG,MAAA;MAAAH,IAAA;IAAA;IAAAI,KAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,QAAA;MAAAL,IAAA;IAAA;IAAAM,GAAA;MAAAN,IAAA;MAAAO,SAAA;MAAA;IAAA;IAAAC,UAAA;MAAAR,IAAA;MAAA;IAAA;IAAAS,YAAA;MAAAT,IAAA;IAAA;IAAAU,kBAAA;MAAAV,IAAA;IAAA;IAAAW,QAAA;MAAAX,IAAA;MAAA;IAAA;IAAAY,QAAA;MAAAZ,IAAA;IAAA;IAAAa,cAAA;MAAAb,IAAA;IAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","isLink","type","aspectRatio","width","height","scale","sizeSlug","rel","attribute","linkTarget","overlayColor","customOverlayColor","dimRatio","gradient","customGradient","useFirstImageFromPost","usesContext","supports","align","color","__experimentalDuotone","text","background","__experimentalBorder","radius","__experimentalSelector","__experimentalSkipSerialization","__experimentalDefaultControls","html","spacing","margin","padding","editorStyle","style","exports","settings","icon","edit","init","initBlock"],"sources":["@wordpress/block-library/src/post-featured-image/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postFeaturedImage as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAVA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAI,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,MAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,WAAA;MAAAD,IAAA;IAAA;IAAAE,KAAA;MAAAF,IAAA;IAAA;IAAAG,MAAA;MAAAH,IAAA;IAAA;IAAAI,KAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,QAAA;MAAAL,IAAA;IAAA;IAAAM,GAAA;MAAAN,IAAA;MAAAO,SAAA;MAAA;IAAA;IAAAC,UAAA;MAAAR,IAAA;MAAA;IAAA;IAAAS,YAAA;MAAAT,IAAA;IAAA;IAAAU,kBAAA;MAAAV,IAAA;IAAA;IAAAW,QAAA;MAAAX,IAAA;MAAA;IAAA;IAAAY,QAAA;MAAAZ,IAAA;IAAA;IAAAa,cAAA;MAAAb,IAAA;IAAA;IAAAc,qBAAA;MAAAd,IAAA;MAAA;IAAA;EAAA;EAAAe,WAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,KAAA;MAAAC,qBAAA;MAAAC,IAAA;MAAAC,UAAA;IAAA;IAAAC,oBAAA;MAAAJ,KAAA;MAAAK,MAAA;MAAArB,KAAA;MAAAsB,sBAAA;MAAAC,+BAAA;MAAAC,6BAAA;QAAAR,KAAA;QAAAK,MAAA;QAAArB,KAAA;MAAA;IAAA;IAAAyB,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAAAC,OAAA,CAAA3C,QAAA,GAAAA,QAAA;AAOA,MAAM;EAAEG;AAAK,CAAC,GAAGH,QAAQ;AAAC2C,OAAA,CAAAxC,IAAA,GAAAA,IAAA;AAGnB,MAAMyC,QAAQ,GAAG;EACvBC,IAAI,EAAJA,wBAAI;EACJC,IAAI,EAAJA;AACD,CAAC;AAACH,OAAA,CAAAC,QAAA,GAAAA,QAAA;AAEK,MAAMG,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAE7C,IAAI;EAAEH,QAAQ;EAAE4C;AAAS,CAAE,CAAC;AAACD,OAAA,CAAAI,IAAA,GAAAA,IAAA"}
|
|
@@ -20,6 +20,7 @@ var _enhancedPaginationControl = _interopRequireDefault(require("./enhanced-pagi
|
|
|
20
20
|
var _createNewPostLink = _interopRequireDefault(require("./create-new-post-link"));
|
|
21
21
|
var _lockUnlock = require("../../../lock-unlock");
|
|
22
22
|
var _utils = require("../../utils");
|
|
23
|
+
var _constants = require("../../../utils/constants");
|
|
23
24
|
/**
|
|
24
25
|
* WordPress dependencies
|
|
25
26
|
*/
|
|
@@ -164,7 +165,8 @@ function QueryInspectorControls(props) {
|
|
|
164
165
|
taxQuery: null
|
|
165
166
|
});
|
|
166
167
|
setQuerySearch('');
|
|
167
|
-
}
|
|
168
|
+
},
|
|
169
|
+
dropdownMenuProps: _constants.TOOLSPANEL_DROPDOWNMENU_PROPS
|
|
168
170
|
}, showTaxControl && (0, _react.createElement)(_components.__experimentalToolsPanelItem, {
|
|
169
171
|
label: (0, _i18n.__)('Taxonomies'),
|
|
170
172
|
hasValue: () => Object.values(taxQuery || {}).some(terms => !!terms.length),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_blockEditor","_compose","_element","_orderControl","_interopRequireDefault","_authorControl","_parentControl","_taxonomyControls","_stickyControl","_enhancedPaginationControl","_createNewPostLink","_lockUnlock","_utils","BlockInfo","unlock","blockEditorPrivateApis","QueryInspectorControls","props","attributes","setQuery","setDisplayLayout","setAttributes","clientId","query","displayLayout","enhancedPagination","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","parents","allowedControls","useAllowedControls","showSticky","setShowSticky","useState","postTypesTaxonomiesMap","postTypesSelectOptions","usePostTypes","taxonomies","useTaxonomies","isPostTypeHierarchical","useIsPostTypeHierarchical","useEffect","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","useCallback","debounce","cancel","showInheritControl","isControlAllowed","showPostTypeControl","showColumnsControl","showOrderControl","showStickyControl","showSettingsPanel","showTaxControl","showAuthorControl","showSearchControl","showParentControl","showFiltersPanel","_react","createElement","Fragment","default","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","label","help","checked","onChange","value","SelectControl","options","RangeControl","columns","min","max","Math","Notice","status","isDismissible","__experimentalToolsPanel","className","resetAll","__experimentalToolsPanelItem","hasValue","values","some","onDeselect","TaxonomyControls","TextControl"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls } from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport EnhancedPaginationControl from './enhanced-pagination-control';\nimport CreateNewPostLink from './create-new-post-link';\nimport { unlock } from '../../../lock-unlock';\nimport {\n\tusePostTypes,\n\tuseIsPostTypeHierarchical,\n\tuseAllowedControls,\n\tisControlAllowed,\n\tuseTaxonomies,\n} from '../../utils';\n\nconst { BlockInfo } = unlock( blockEditorPrivateApis );\n\nexport default function QueryInspectorControls( props ) {\n\tconst { attributes, setQuery, setDisplayLayout, setAttributes, clientId } =\n\t\tprops;\n\tconst { query, displayLayout, enhancedPagination } = attributes;\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t} = query;\n\tconst allowedControls = useAllowedControls( attributes );\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst taxonomies = useTaxonomies( postType );\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\tconst showInheritControl = isControlAllowed( allowedControls, 'inherit' );\n\tconst showPostTypeControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'postType' );\n\tconst showColumnsControl = false;\n\tconst showOrderControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'order' );\n\tconst showStickyControl =\n\t\t! inherit &&\n\t\tshowSticky &&\n\t\tisControlAllowed( allowedControls, 'sticky' );\n\tconst showSettingsPanel =\n\t\tshowInheritControl ||\n\t\tshowPostTypeControl ||\n\t\tshowColumnsControl ||\n\t\tshowOrderControl ||\n\t\tshowStickyControl;\n\tconst showTaxControl =\n\t\t!! taxonomies?.length &&\n\t\tisControlAllowed( allowedControls, 'taxQuery' );\n\tconst showAuthorControl = isControlAllowed( allowedControls, 'author' );\n\tconst showSearchControl = isControlAllowed( allowedControls, 'search' );\n\tconst showParentControl =\n\t\tisControlAllowed( allowedControls, 'parents' ) &&\n\t\tisPostTypeHierarchical;\n\n\tconst showFiltersPanel =\n\t\tshowTaxControl ||\n\t\tshowAuthorControl ||\n\t\tshowSearchControl ||\n\t\tshowParentControl;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockInfo>\n\t\t\t\t<CreateNewPostLink { ...props } />\n\t\t\t</BlockInfo>\n\t\t\t{ showSettingsPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ showInheritControl && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { inherit: !! 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) }\n\t\t\t\t\t\t{ showPostTypeControl && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called “Post types”. By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\t\t\t\t\t\t\tcolumns: value,\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\tmin={ 2 }\n\t\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\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\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showOrderControl && (\n\t\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showStickyControl && (\n\t\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { sticky: 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) }\n\t\t\t\t\t\t<EnhancedPaginationControl\n\t\t\t\t\t\t\tenhancedPagination={ enhancedPagination }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! inherit && showFiltersPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\"\n\t\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTaxControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\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\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetQuery( { taxQuery: null } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showAuthorControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showSearchControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showParentControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { parents: [] } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_blockEditor","_compose","_element","_orderControl","_interopRequireDefault","_authorControl","_parentControl","_taxonomyControls","_stickyControl","_enhancedPaginationControl","_createNewPostLink","_lockUnlock","_utils","_constants","BlockInfo","unlock","blockEditorPrivateApis","QueryInspectorControls","props","attributes","setQuery","setDisplayLayout","setAttributes","clientId","query","displayLayout","enhancedPagination","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","parents","allowedControls","useAllowedControls","showSticky","setShowSticky","useState","postTypesTaxonomiesMap","postTypesSelectOptions","usePostTypes","taxonomies","useTaxonomies","isPostTypeHierarchical","useIsPostTypeHierarchical","useEffect","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","useCallback","debounce","cancel","showInheritControl","isControlAllowed","showPostTypeControl","showColumnsControl","showOrderControl","showStickyControl","showSettingsPanel","showTaxControl","showAuthorControl","showSearchControl","showParentControl","showFiltersPanel","_react","createElement","Fragment","default","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","label","help","checked","onChange","value","SelectControl","options","RangeControl","columns","min","max","Math","Notice","status","isDismissible","__experimentalToolsPanel","className","resetAll","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","__experimentalToolsPanelItem","hasValue","values","some","onDeselect","TaxonomyControls","TextControl"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls } from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport EnhancedPaginationControl from './enhanced-pagination-control';\nimport CreateNewPostLink from './create-new-post-link';\nimport { unlock } from '../../../lock-unlock';\nimport {\n\tusePostTypes,\n\tuseIsPostTypeHierarchical,\n\tuseAllowedControls,\n\tisControlAllowed,\n\tuseTaxonomies,\n} from '../../utils';\nimport { TOOLSPANEL_DROPDOWNMENU_PROPS } from '../../../utils/constants';\n\nconst { BlockInfo } = unlock( blockEditorPrivateApis );\n\nexport default function QueryInspectorControls( props ) {\n\tconst { attributes, setQuery, setDisplayLayout, setAttributes, clientId } =\n\t\tprops;\n\tconst { query, displayLayout, enhancedPagination } = attributes;\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t} = query;\n\tconst allowedControls = useAllowedControls( attributes );\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst taxonomies = useTaxonomies( postType );\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\tconst showInheritControl = isControlAllowed( allowedControls, 'inherit' );\n\tconst showPostTypeControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'postType' );\n\tconst showColumnsControl = false;\n\tconst showOrderControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'order' );\n\tconst showStickyControl =\n\t\t! inherit &&\n\t\tshowSticky &&\n\t\tisControlAllowed( allowedControls, 'sticky' );\n\tconst showSettingsPanel =\n\t\tshowInheritControl ||\n\t\tshowPostTypeControl ||\n\t\tshowColumnsControl ||\n\t\tshowOrderControl ||\n\t\tshowStickyControl;\n\tconst showTaxControl =\n\t\t!! taxonomies?.length &&\n\t\tisControlAllowed( allowedControls, 'taxQuery' );\n\tconst showAuthorControl = isControlAllowed( allowedControls, 'author' );\n\tconst showSearchControl = isControlAllowed( allowedControls, 'search' );\n\tconst showParentControl =\n\t\tisControlAllowed( allowedControls, 'parents' ) &&\n\t\tisPostTypeHierarchical;\n\n\tconst showFiltersPanel =\n\t\tshowTaxControl ||\n\t\tshowAuthorControl ||\n\t\tshowSearchControl ||\n\t\tshowParentControl;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockInfo>\n\t\t\t\t<CreateNewPostLink { ...props } />\n\t\t\t</BlockInfo>\n\t\t\t{ showSettingsPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ showInheritControl && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { inherit: !! 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) }\n\t\t\t\t\t\t{ showPostTypeControl && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called “Post types”. By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\t\t\t\t\t\t\tcolumns: value,\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\tmin={ 2 }\n\t\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\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\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showOrderControl && (\n\t\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showStickyControl && (\n\t\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { sticky: 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) }\n\t\t\t\t\t\t<EnhancedPaginationControl\n\t\t\t\t\t\t\tenhancedPagination={ enhancedPagination }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! inherit && showFiltersPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\"\n\t\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTaxControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\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\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetQuery( { taxQuery: null } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showAuthorControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showSearchControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showParentControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { parents: [] } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ const metadata = {
|
|
|
21
21
|
title: "Page Numbers",
|
|
22
22
|
category: "theme",
|
|
23
23
|
parent: ["core/query-pagination"],
|
|
24
|
-
description: "Displays a list of page numbers for pagination",
|
|
24
|
+
description: "Displays a list of page numbers for pagination.",
|
|
25
25
|
textdomain: "default",
|
|
26
26
|
attributes: {
|
|
27
27
|
midSize: {
|
package/build/search/edit.js
CHANGED
|
@@ -32,7 +32,6 @@ var _utils = require("./utils.js");
|
|
|
32
32
|
// Used to calculate border radius adjustment to avoid "fat" corners when
|
|
33
33
|
// button is placed inside wrapper.
|
|
34
34
|
const DEFAULT_INNER_PADDING = '4px';
|
|
35
|
-
const BUTTON_BEHAVIOR_EXPAND = 'expand-searchfield';
|
|
36
35
|
function SearchEdit({
|
|
37
36
|
className,
|
|
38
37
|
attributes,
|
|
@@ -51,7 +50,6 @@ function SearchEdit({
|
|
|
51
50
|
buttonText,
|
|
52
51
|
buttonPosition,
|
|
53
52
|
buttonUseIcon,
|
|
54
|
-
buttonBehavior,
|
|
55
53
|
isSearchFieldHidden,
|
|
56
54
|
style
|
|
57
55
|
} = attributes;
|
|
@@ -128,7 +126,7 @@ function SearchEdit({
|
|
|
128
126
|
});
|
|
129
127
|
}, [hasOnlyButton, isSelected, setAttributes, width]);
|
|
130
128
|
const getBlockClassNames = () => {
|
|
131
|
-
return (0, _classnames.default)(className, isButtonPositionInside ? 'wp-block-search__button-inside' : undefined, isButtonPositionOutside ? 'wp-block-search__button-outside' : undefined, hasNoButton ? 'wp-block-search__no-button' : undefined, hasOnlyButton ? 'wp-block-search__button-only' : undefined, !buttonUseIcon && !hasNoButton ? 'wp-block-search__text-button' : undefined, buttonUseIcon && !hasNoButton ? 'wp-block-search__icon-button' : undefined, hasOnlyButton &&
|
|
129
|
+
return (0, _classnames.default)(className, isButtonPositionInside ? 'wp-block-search__button-inside' : undefined, isButtonPositionOutside ? 'wp-block-search__button-outside' : undefined, hasNoButton ? 'wp-block-search__no-button' : undefined, hasOnlyButton ? 'wp-block-search__button-only' : undefined, !buttonUseIcon && !hasNoButton ? 'wp-block-search__text-button' : undefined, buttonUseIcon && !hasNoButton ? 'wp-block-search__icon-button' : undefined, hasOnlyButton && isSearchFieldHidden ? 'wp-block-search__searchfield-hidden' : undefined);
|
|
132
130
|
};
|
|
133
131
|
const buttonPositionControls = [{
|
|
134
132
|
role: 'menuitemradio',
|
|
@@ -234,7 +232,7 @@ function SearchEdit({
|
|
|
234
232
|
} : borderProps.style)
|
|
235
233
|
};
|
|
236
234
|
const handleButtonClick = () => {
|
|
237
|
-
if (hasOnlyButton
|
|
235
|
+
if (hasOnlyButton) {
|
|
238
236
|
setAttributes({
|
|
239
237
|
isSearchFieldHidden: !isSearchFieldHidden
|
|
240
238
|
});
|
|
@@ -315,7 +313,7 @@ function SearchEdit({
|
|
|
315
313
|
}, [25, 50, 75, 100].map(widthValue => {
|
|
316
314
|
return (0, _react.createElement)(_components.Button, {
|
|
317
315
|
key: widthValue,
|
|
318
|
-
|
|
316
|
+
size: "small",
|
|
319
317
|
variant: widthValue === width && widthUnit === '%' ? 'primary' : undefined,
|
|
320
318
|
onClick: () => setAttributes({
|
|
321
319
|
width: widthValue,
|