@wordpress/block-editor 15.5.1-next.ff1cebbba.0 → 15.6.1-next.36001005c.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/background-image-control/index.js +2 -2
- package/build/components/background-image-control/index.js.map +2 -2
- package/build/components/block-edit/edit.js +2 -2
- package/build/components/block-edit/edit.js.map +2 -2
- package/build/components/block-quick-navigation/index.js +1 -0
- package/build/components/block-quick-navigation/index.js.map +2 -2
- package/build/components/global-styles/border-panel.js +2 -1
- package/build/components/global-styles/border-panel.js.map +2 -2
- package/build/components/global-styles/color-panel.js +2 -1
- package/build/components/global-styles/color-panel.js.map +2 -2
- package/build/components/global-styles/dimensions-panel.js +3 -2
- package/build/components/global-styles/dimensions-panel.js.map +2 -2
- package/build/components/global-styles/filters-panel.js +2 -1
- package/build/components/global-styles/filters-panel.js.map +2 -2
- package/build/components/global-styles/hooks.js +23 -95
- package/build/components/global-styles/hooks.js.map +2 -2
- package/build/components/global-styles/index.js +0 -14
- package/build/components/global-styles/index.js.map +2 -2
- package/build/components/global-styles/typography-panel.js +2 -1
- package/build/components/global-styles/typography-panel.js.map +2 -2
- package/build/components/global-styles/typography-utils.js +2 -49
- package/build/components/global-styles/typography-utils.js.map +2 -2
- package/build/components/global-styles/utils.js +0 -377
- package/build/components/global-styles/utils.js.map +2 -2
- package/build/hooks/block-style-variation.js +6 -10
- package/build/hooks/block-style-variation.js.map +2 -2
- package/build/hooks/duotone.js +3 -3
- package/build/hooks/duotone.js.map +2 -2
- package/build/hooks/fit-text.js +17 -8
- package/build/hooks/fit-text.js.map +2 -2
- package/build/hooks/font-size.js +2 -2
- package/build/hooks/font-size.js.map +2 -2
- package/build/hooks/use-typography-props.js +2 -2
- package/build/hooks/use-typography-props.js.map +2 -2
- package/build/utils/fit-text-utils.js +4 -4
- package/build/utils/fit-text-utils.js.map +2 -2
- package/build-module/components/background-image-control/index.js +1 -1
- package/build-module/components/background-image-control/index.js.map +2 -2
- package/build-module/components/block-edit/edit.js +2 -2
- package/build-module/components/block-edit/edit.js.map +2 -2
- package/build-module/components/block-quick-navigation/index.js +1 -0
- package/build-module/components/block-quick-navigation/index.js.map +2 -2
- package/build-module/components/global-styles/border-panel.js +2 -1
- package/build-module/components/global-styles/border-panel.js.map +2 -2
- package/build-module/components/global-styles/color-panel.js +2 -1
- package/build-module/components/global-styles/color-panel.js.map +2 -2
- package/build-module/components/global-styles/dimensions-panel.js +2 -1
- package/build-module/components/global-styles/dimensions-panel.js.map +2 -2
- package/build-module/components/global-styles/filters-panel.js +2 -1
- package/build-module/components/global-styles/filters-panel.js.map +2 -2
- package/build-module/components/global-styles/hooks.js +27 -95
- package/build-module/components/global-styles/hooks.js.map +2 -2
- package/build-module/components/global-styles/index.js +0 -14
- package/build-module/components/global-styles/index.js.map +2 -2
- package/build-module/components/global-styles/typography-panel.js +2 -1
- package/build-module/components/global-styles/typography-panel.js.map +2 -2
- package/build-module/components/global-styles/typography-utils.js +1 -49
- package/build-module/components/global-styles/typography-utils.js.map +2 -2
- package/build-module/components/global-styles/utils.js +0 -364
- package/build-module/components/global-styles/utils.js.map +2 -2
- package/build-module/hooks/block-style-variation.js +4 -12
- package/build-module/hooks/block-style-variation.js.map +2 -2
- package/build-module/hooks/duotone.js +3 -3
- package/build-module/hooks/duotone.js.map +2 -2
- package/build-module/hooks/fit-text.js +18 -9
- package/build-module/hooks/fit-text.js.map +2 -2
- package/build-module/hooks/font-size.js +1 -1
- package/build-module/hooks/font-size.js.map +2 -2
- package/build-module/hooks/use-typography-props.js +1 -1
- package/build-module/hooks/use-typography-props.js.map +2 -2
- package/build-module/utils/fit-text-utils.js +4 -4
- package/build-module/utils/fit-text-utils.js.map +2 -2
- package/build-style/content-rtl.css +4 -0
- package/build-style/content.css +4 -0
- package/build-style/style-rtl.css +10 -6
- package/build-style/style.css +10 -6
- package/package.json +36 -35
- package/src/components/background-image-control/index.js +1 -1
- package/src/components/block-card/style.scss +1 -1
- package/src/components/block-edit/edit.js +2 -2
- package/src/components/block-navigation/style.scss +1 -1
- package/src/components/block-quick-navigation/index.js +1 -0
- package/src/components/block-quick-navigation/style.scss +5 -0
- package/src/components/block-switcher/style.scss +1 -1
- package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
- package/src/components/global-styles/border-panel.js +2 -1
- package/src/components/global-styles/color-panel.js +2 -1
- package/src/components/global-styles/color-panel.native.js +1 -1
- package/src/components/global-styles/dimensions-panel.js +2 -1
- package/src/components/global-styles/filters-panel.js +2 -1
- package/src/components/global-styles/hooks.js +29 -108
- package/src/components/global-styles/index.js +0 -8
- package/src/components/global-styles/test/typography-utils.js +0 -806
- package/src/components/global-styles/test/utils.js +1 -442
- package/src/components/global-styles/typography-panel.js +2 -1
- package/src/components/global-styles/typography-utils.js +0 -133
- package/src/components/global-styles/utils.js +0 -537
- package/src/components/inserter/style.scss +2 -2
- package/src/components/link-control/test/index.js +7 -6
- package/src/components/multi-selection-inspector/style.scss +1 -1
- package/src/components/rich-text/content.scss +5 -0
- package/src/hooks/block-style-variation.js +4 -12
- package/src/hooks/duotone.js +3 -3
- package/src/hooks/fit-text.js +27 -11
- package/src/hooks/font-size.js +1 -1
- package/src/hooks/use-typography-props.js +1 -1
- package/src/style.scss +1 -0
- package/src/utils/fit-text-utils.js +16 -4
- package/tsconfig.json +1 -0
- package/build/components/global-styles/get-block-css-selector.js +0 -78
- package/build/components/global-styles/get-block-css-selector.js.map +0 -7
- package/build/components/global-styles/use-global-styles-output.js +0 -998
- package/build/components/global-styles/use-global-styles-output.js.map +0 -7
- package/build-module/components/global-styles/get-block-css-selector.js +0 -54
- package/build-module/components/global-styles/get-block-css-selector.js.map +0 -7
- package/build-module/components/global-styles/use-global-styles-output.js +0 -979
- package/build-module/components/global-styles/use-global-styles-output.js.map +0 -7
- package/src/components/global-styles/get-block-css-selector.js +0 -114
- package/src/components/global-styles/test/use-global-styles-output.js +0 -1131
- package/src/components/global-styles/use-global-styles-output.js +0 -1487
package/src/hooks/fit-text.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { addFilter } from '@wordpress/hooks';
|
|
5
5
|
import { hasBlockSupport } from '@wordpress/blocks';
|
|
6
|
-
import { useEffect, useCallback } from '@wordpress/element';
|
|
6
|
+
import { useEffect, useCallback, useRef } from '@wordpress/element';
|
|
7
7
|
import { useSelect } from '@wordpress/data';
|
|
8
8
|
import { __ } from '@wordpress/i18n';
|
|
9
9
|
import {
|
|
@@ -62,18 +62,28 @@ function useFitText( { fitText, name, clientId } ) {
|
|
|
62
62
|
const hasFitTextSupport = hasBlockSupport( name, FIT_TEXT_SUPPORT_KEY );
|
|
63
63
|
const blockElement = useBlockElement( clientId );
|
|
64
64
|
|
|
65
|
-
// Monitor block attribute changes
|
|
65
|
+
// Monitor block attribute changes and selection state
|
|
66
66
|
// Any attribute may change the available space.
|
|
67
|
-
const blockAttributes = useSelect(
|
|
67
|
+
const { blockAttributes, isSelected } = useSelect(
|
|
68
68
|
( select ) => {
|
|
69
69
|
if ( ! clientId ) {
|
|
70
|
-
return;
|
|
70
|
+
return { blockAttributes: undefined, isSelected: false };
|
|
71
71
|
}
|
|
72
|
-
return
|
|
72
|
+
return {
|
|
73
|
+
blockAttributes:
|
|
74
|
+
select( blockEditorStore ).getBlockAttributes( clientId ),
|
|
75
|
+
isSelected:
|
|
76
|
+
select( blockEditorStore ).isBlockSelected( clientId ),
|
|
77
|
+
};
|
|
73
78
|
},
|
|
74
79
|
[ clientId ]
|
|
75
80
|
);
|
|
76
81
|
|
|
82
|
+
const isSelectedRef = useRef();
|
|
83
|
+
useEffect( () => {
|
|
84
|
+
isSelectedRef.current = isSelected;
|
|
85
|
+
}, [ isSelected ] );
|
|
86
|
+
|
|
77
87
|
const applyFitText = useCallback( () => {
|
|
78
88
|
if ( ! blockElement || ! hasFitTextSupport || ! fitText ) {
|
|
79
89
|
return;
|
|
@@ -94,8 +104,13 @@ function useFitText( { fitText, name, clientId } ) {
|
|
|
94
104
|
styleElement.textContent = css;
|
|
95
105
|
};
|
|
96
106
|
|
|
97
|
-
|
|
98
|
-
|
|
107
|
+
// Avoid very jarring resizes when a user is actively editing the
|
|
108
|
+
// block. Placing a ceiling on how much the block can grow curbs the
|
|
109
|
+
// effect of the first few keypresses.
|
|
110
|
+
const maxSize = isSelectedRef.current ? 200 : undefined;
|
|
111
|
+
|
|
112
|
+
optimizeFitText( blockElement, blockSelector, applyStylesFn, maxSize );
|
|
113
|
+
}, [ blockElement, clientId, hasFitTextSupport, fitText, isSelectedRef ] );
|
|
99
114
|
|
|
100
115
|
useEffect( () => {
|
|
101
116
|
if (
|
|
@@ -138,17 +153,18 @@ function useFitText( { fitText, name, clientId } ) {
|
|
|
138
153
|
// Trigger fit text recalculation when content changes
|
|
139
154
|
useEffect( () => {
|
|
140
155
|
if ( fitText && blockElement && hasFitTextSupport ) {
|
|
141
|
-
//
|
|
142
|
-
const
|
|
156
|
+
// Wait for next frame to ensure DOM has updated after content changes
|
|
157
|
+
const frameId = window.requestAnimationFrame( () => {
|
|
143
158
|
if ( blockElement ) {
|
|
144
159
|
applyFitText();
|
|
145
160
|
}
|
|
146
|
-
}
|
|
161
|
+
} );
|
|
147
162
|
|
|
148
|
-
return () =>
|
|
163
|
+
return () => window.cancelAnimationFrame( frameId );
|
|
149
164
|
}
|
|
150
165
|
}, [
|
|
151
166
|
blockAttributes,
|
|
167
|
+
isSelected,
|
|
152
168
|
fitText,
|
|
153
169
|
applyFitText,
|
|
154
170
|
blockElement,
|
package/src/hooks/font-size.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { addFilter } from '@wordpress/hooks';
|
|
5
5
|
import { hasBlockSupport } from '@wordpress/blocks';
|
|
6
6
|
import TokenList from '@wordpress/token-list';
|
|
7
|
+
import { getTypographyFontSizeValue } from '@wordpress/global-styles-engine';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Internal dependencies
|
|
@@ -21,7 +22,6 @@ import {
|
|
|
21
22
|
shouldSkipSerialization,
|
|
22
23
|
} from './utils';
|
|
23
24
|
import { useSettings } from '../components/use-settings';
|
|
24
|
-
import { getTypographyFontSizeValue } from '../components/global-styles/typography-utils';
|
|
25
25
|
|
|
26
26
|
export const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';
|
|
27
27
|
|
|
@@ -7,13 +7,13 @@ import clsx from 'clsx';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { privateApis as componentsPrivateApis } from '@wordpress/components';
|
|
10
|
+
import { getTypographyFontSizeValue } from '@wordpress/global-styles-engine';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Internal dependencies
|
|
13
14
|
*/
|
|
14
15
|
import { getInlineStyles } from './style';
|
|
15
16
|
import { getFontSizeClass } from '../components/font-sizes';
|
|
16
|
-
import { getTypographyFontSizeValue } from '../components/global-styles/typography-utils';
|
|
17
17
|
import { unlock } from '../lock-unlock';
|
|
18
18
|
|
|
19
19
|
const { kebabCase } = unlock( componentsPrivateApis );
|
package/src/style.scss
CHANGED
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
@use "./components/block-patterns-paging/style.scss" as *;
|
|
21
21
|
@use "./components/block-popover/style.scss" as *;
|
|
22
22
|
@use "./components/block-preview/style.scss" as *;
|
|
23
|
+
@use "./components/block-quick-navigation/style.scss" as *;
|
|
23
24
|
@use "./components/block-rename/style.scss" as *;
|
|
24
25
|
@use "./components/block-styles/style.scss" as *;
|
|
25
26
|
@use "./components/block-switcher/style.scss" as *;
|
|
@@ -20,13 +20,18 @@ function generateCSSRule( elementSelector, fontSize ) {
|
|
|
20
20
|
* @param {HTMLElement} textElement The text element
|
|
21
21
|
* @param {string} elementSelector CSS selector for the text element
|
|
22
22
|
* @param {Function} applyStylesFn Function to apply test styles
|
|
23
|
+
* @param {number} maxSize Maximum font size in pixels (default: 600)
|
|
23
24
|
* @return {number} Optimal font size
|
|
24
25
|
*/
|
|
25
|
-
function findOptimalFontSize(
|
|
26
|
+
function findOptimalFontSize(
|
|
27
|
+
textElement,
|
|
28
|
+
elementSelector,
|
|
29
|
+
applyStylesFn,
|
|
30
|
+
maxSize = 600
|
|
31
|
+
) {
|
|
26
32
|
const alreadyHasScrollableHeight =
|
|
27
33
|
textElement.scrollHeight > textElement.clientHeight;
|
|
28
34
|
let minSize = 5;
|
|
29
|
-
let maxSize = 600;
|
|
30
35
|
let bestSize = minSize;
|
|
31
36
|
|
|
32
37
|
while ( minSize <= maxSize ) {
|
|
@@ -56,8 +61,14 @@ function findOptimalFontSize( textElement, elementSelector, applyStylesFn ) {
|
|
|
56
61
|
* @param {HTMLElement} textElement The text element (paragraph, heading, etc.)
|
|
57
62
|
* @param {string} elementSelector CSS selector for the text element
|
|
58
63
|
* @param {Function} applyStylesFn Function to apply CSS styles (pass empty string to clear)
|
|
64
|
+
* @param {number} maxSize Maximum font size in pixels.
|
|
59
65
|
*/
|
|
60
|
-
export function optimizeFitText(
|
|
66
|
+
export function optimizeFitText(
|
|
67
|
+
textElement,
|
|
68
|
+
elementSelector,
|
|
69
|
+
applyStylesFn,
|
|
70
|
+
maxSize
|
|
71
|
+
) {
|
|
61
72
|
if ( ! textElement ) {
|
|
62
73
|
return;
|
|
63
74
|
}
|
|
@@ -67,7 +78,8 @@ export function optimizeFitText( textElement, elementSelector, applyStylesFn ) {
|
|
|
67
78
|
const optimalSize = findOptimalFontSize(
|
|
68
79
|
textElement,
|
|
69
80
|
elementSelector,
|
|
70
|
-
applyStylesFn
|
|
81
|
+
applyStylesFn,
|
|
82
|
+
maxSize
|
|
71
83
|
);
|
|
72
84
|
|
|
73
85
|
const cssRule = generateCSSRule( elementSelector, optimalSize );
|
package/tsconfig.json
CHANGED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var get_block_css_selector_exports = {};
|
|
20
|
-
__export(get_block_css_selector_exports, {
|
|
21
|
-
getBlockCSSSelector: () => getBlockCSSSelector
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(get_block_css_selector_exports);
|
|
24
|
-
var import_utils = require("./utils");
|
|
25
|
-
var import_object = require("../../utils/object");
|
|
26
|
-
function getBlockCSSSelector(blockType, target = "root", options = {}) {
|
|
27
|
-
if (!target) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
const { fallback = false } = options;
|
|
31
|
-
const { name, selectors, supports } = blockType;
|
|
32
|
-
const hasSelectors = selectors && Object.keys(selectors).length > 0;
|
|
33
|
-
const path = Array.isArray(target) ? target.join(".") : target;
|
|
34
|
-
let rootSelector = null;
|
|
35
|
-
if (hasSelectors && selectors.root) {
|
|
36
|
-
rootSelector = selectors?.root;
|
|
37
|
-
} else if (supports?.__experimentalSelector) {
|
|
38
|
-
rootSelector = supports.__experimentalSelector;
|
|
39
|
-
} else {
|
|
40
|
-
rootSelector = ".wp-block-" + name.replace("core/", "").replace("/", "-");
|
|
41
|
-
}
|
|
42
|
-
if (path === "root") {
|
|
43
|
-
return rootSelector;
|
|
44
|
-
}
|
|
45
|
-
const pathArray = Array.isArray(target) ? target : target.split(".");
|
|
46
|
-
if (pathArray.length === 1) {
|
|
47
|
-
const fallbackSelector = fallback ? rootSelector : null;
|
|
48
|
-
if (hasSelectors) {
|
|
49
|
-
const featureSelector2 = (0, import_object.getValueFromObjectPath)(selectors, `${path}.root`, null) || (0, import_object.getValueFromObjectPath)(selectors, path, null);
|
|
50
|
-
return featureSelector2 || fallbackSelector;
|
|
51
|
-
}
|
|
52
|
-
const featureSelector = (0, import_object.getValueFromObjectPath)(
|
|
53
|
-
supports,
|
|
54
|
-
`${path}.__experimentalSelector`,
|
|
55
|
-
null
|
|
56
|
-
);
|
|
57
|
-
if (!featureSelector) {
|
|
58
|
-
return fallbackSelector;
|
|
59
|
-
}
|
|
60
|
-
return (0, import_utils.scopeSelector)(rootSelector, featureSelector);
|
|
61
|
-
}
|
|
62
|
-
let subfeatureSelector;
|
|
63
|
-
if (hasSelectors) {
|
|
64
|
-
subfeatureSelector = (0, import_object.getValueFromObjectPath)(selectors, path, null);
|
|
65
|
-
}
|
|
66
|
-
if (subfeatureSelector) {
|
|
67
|
-
return subfeatureSelector;
|
|
68
|
-
}
|
|
69
|
-
if (fallback) {
|
|
70
|
-
return getBlockCSSSelector(blockType, pathArray[0], options);
|
|
71
|
-
}
|
|
72
|
-
return null;
|
|
73
|
-
}
|
|
74
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
75
|
-
0 && (module.exports = {
|
|
76
|
-
getBlockCSSSelector
|
|
77
|
-
});
|
|
78
|
-
//# sourceMappingURL=get-block-css-selector.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/global-styles/get-block-css-selector.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * Internal dependencies\n */\nimport { scopeSelector } from './utils';\nimport { getValueFromObjectPath } from '../../utils/object';\n\n/**\n * Determine the CSS selector for the block type and target provided, returning\n * it if available.\n *\n * @param {import('@wordpress/blocks').Block} blockType The block's type.\n * @param {string|string[]} target The desired selector's target e.g. `root`, delimited string, or array path.\n * @param {Object} options Options object.\n * @param {boolean} options.fallback Whether or not to fallback to broader selector.\n *\n * @return {?string} The CSS selector or `null` if no selector available.\n */\nexport function getBlockCSSSelector(\n\tblockType,\n\ttarget = 'root',\n\toptions = {}\n) {\n\tif ( ! target ) {\n\t\treturn null;\n\t}\n\n\tconst { fallback = false } = options;\n\tconst { name, selectors, supports } = blockType;\n\n\tconst hasSelectors = selectors && Object.keys( selectors ).length > 0;\n\tconst path = Array.isArray( target ) ? target.join( '.' ) : target;\n\n\t// Root selector.\n\n\t// Calculated before returning as it can be used as a fallback for feature\n\t// selectors later on.\n\tlet rootSelector = null;\n\n\tif ( hasSelectors && selectors.root ) {\n\t\t// Use the selectors API if available.\n\t\trootSelector = selectors?.root;\n\t} else if ( supports?.__experimentalSelector ) {\n\t\t// Use the old experimental selector supports property if set.\n\t\trootSelector = supports.__experimentalSelector;\n\t} else {\n\t\t// If no root selector found, generate default block class selector.\n\t\trootSelector =\n\t\t\t'.wp-block-' + name.replace( 'core/', '' ).replace( '/', '-' );\n\t}\n\n\t// Return selector if it's the root target we are looking for.\n\tif ( path === 'root' ) {\n\t\treturn rootSelector;\n\t}\n\n\t// If target is not `root` or `duotone` we have a feature or subfeature\n\t// as the target. If the target is a string convert to an array.\n\tconst pathArray = Array.isArray( target ) ? target : target.split( '.' );\n\n\t// Feature selectors ( may fallback to root selector );\n\tif ( pathArray.length === 1 ) {\n\t\tconst fallbackSelector = fallback ? rootSelector : null;\n\n\t\t// Prefer the selectors API if available.\n\t\tif ( hasSelectors ) {\n\t\t\t// Get selector from either `feature.root` or shorthand path.\n\t\t\tconst featureSelector =\n\t\t\t\tgetValueFromObjectPath( selectors, `${ path }.root`, null ) ||\n\t\t\t\tgetValueFromObjectPath( selectors, path, null );\n\n\t\t\t// Return feature selector if found or any available fallback.\n\t\t\treturn featureSelector || fallbackSelector;\n\t\t}\n\n\t\t// Try getting old experimental supports selector value.\n\t\tconst featureSelector = getValueFromObjectPath(\n\t\t\tsupports,\n\t\t\t`${ path }.__experimentalSelector`,\n\t\t\tnull\n\t\t);\n\n\t\t// If nothing to work with, provide fallback selector if available.\n\t\tif ( ! featureSelector ) {\n\t\t\treturn fallbackSelector;\n\t\t}\n\n\t\t// Scope the feature selector by the block's root selector.\n\t\treturn scopeSelector( rootSelector, featureSelector );\n\t}\n\n\t// Subfeature selector.\n\t// This may fallback either to parent feature or root selector.\n\tlet subfeatureSelector;\n\n\t// Use selectors API if available.\n\tif ( hasSelectors ) {\n\t\tsubfeatureSelector = getValueFromObjectPath( selectors, path, null );\n\t}\n\n\t// Only return if we have a subfeature selector.\n\tif ( subfeatureSelector ) {\n\t\treturn subfeatureSelector;\n\t}\n\n\t// To this point we don't have a subfeature selector. If a fallback has been\n\t// requested, remove subfeature from target path and return results of a\n\t// call for the parent feature's selector.\n\tif ( fallback ) {\n\t\treturn getBlockCSSSelector( blockType, pathArray[ 0 ], options );\n\t}\n\n\t// We tried.\n\treturn null;\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,mBAA8B;AAC9B,oBAAuC;AAahC,SAAS,oBACf,WACA,SAAS,QACT,UAAU,CAAC,GACV;AACD,MAAK,CAAE,QAAS;AACf,WAAO;AAAA,EACR;AAEA,QAAM,EAAE,WAAW,MAAM,IAAI;AAC7B,QAAM,EAAE,MAAM,WAAW,SAAS,IAAI;AAEtC,QAAM,eAAe,aAAa,OAAO,KAAM,SAAU,EAAE,SAAS;AACpE,QAAM,OAAO,MAAM,QAAS,MAAO,IAAI,OAAO,KAAM,GAAI,IAAI;AAM5D,MAAI,eAAe;AAEnB,MAAK,gBAAgB,UAAU,MAAO;AAErC,mBAAe,WAAW;AAAA,EAC3B,WAAY,UAAU,wBAAyB;AAE9C,mBAAe,SAAS;AAAA,EACzB,OAAO;AAEN,mBACC,eAAe,KAAK,QAAS,SAAS,EAAG,EAAE,QAAS,KAAK,GAAI;AAAA,EAC/D;AAGA,MAAK,SAAS,QAAS;AACtB,WAAO;AAAA,EACR;AAIA,QAAM,YAAY,MAAM,QAAS,MAAO,IAAI,SAAS,OAAO,MAAO,GAAI;AAGvE,MAAK,UAAU,WAAW,GAAI;AAC7B,UAAM,mBAAmB,WAAW,eAAe;AAGnD,QAAK,cAAe;AAEnB,YAAMA,uBACL,sCAAwB,WAAW,GAAI,IAAK,SAAS,IAAK,SAC1D,sCAAwB,WAAW,MAAM,IAAK;AAG/C,aAAOA,oBAAmB;AAAA,IAC3B;AAGA,UAAM,sBAAkB;AAAA,MACvB;AAAA,MACA,GAAI,IAAK;AAAA,MACT;AAAA,IACD;AAGA,QAAK,CAAE,iBAAkB;AACxB,aAAO;AAAA,IACR;AAGA,eAAO,4BAAe,cAAc,eAAgB;AAAA,EACrD;AAIA,MAAI;AAGJ,MAAK,cAAe;AACnB,6BAAqB,sCAAwB,WAAW,MAAM,IAAK;AAAA,EACpE;AAGA,MAAK,oBAAqB;AACzB,WAAO;AAAA,EACR;AAKA,MAAK,UAAW;AACf,WAAO,oBAAqB,WAAW,UAAW,CAAE,GAAG,OAAQ;AAAA,EAChE;AAGA,SAAO;AACR;",
|
|
6
|
-
"names": ["featureSelector"]
|
|
7
|
-
}
|