@wordpress/block-editor 12.19.2 → 12.20.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/block-canvas/index.js +2 -0
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.js +14 -17
- package/build/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build/components/block-inspector/index.js +0 -3
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/index.js +9 -9
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-preview/index.js +4 -0
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-parent-selector-menu-item.js +54 -0
- package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js +9 -37
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +4 -1
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/child-layout-control/index.js +37 -5
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +0 -1
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/font-appearance-control/index.js +1 -2
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js +5 -10
- package/build/components/global-styles/advanced-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +30 -19
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +3 -3
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +1 -1
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +0 -4
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/observe-typing/index.js +5 -10
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +1 -31
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/index.js +8 -5
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +25 -26
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +7 -14
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/url-input/index.js +5 -8
- package/build/components/url-input/index.js.map +1 -1
- package/build/hooks/background.js +4 -2
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/layout-child.js +50 -1
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/position.js +0 -1
- package/build/hooks/position.js.map +1 -1
- package/build/layouts/grid.js +105 -12
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +3 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +2 -30
- package/build/store/actions.js.map +1 -1
- package/build/store/index.js +0 -2
- package/build/store/index.js.map +1 -1
- package/build/store/private-keys.js +8 -0
- package/build/store/private-keys.js.map +1 -0
- package/build/store/private-selectors.js +6 -9
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -9
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +7 -12
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +7 -2
- package/build/store/utils.js.map +1 -1
- package/build-module/components/block-canvas/index.js +2 -0
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.js +14 -17
- package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +1 -4
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/index.js +9 -9
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +4 -0
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +46 -0
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -40
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +4 -1
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +38 -6
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +0 -1
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +1 -2
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js +6 -11
- package/build-module/components/global-styles/advanced-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +30 -19
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +3 -3
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +0 -4
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/observe-typing/index.js +5 -10
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +1 -31
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/index.js +8 -5
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +25 -26
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +8 -14
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/url-input/index.js +5 -8
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/hooks/background.js +4 -2
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/layout-child.js +50 -1
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/position.js +0 -1
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/layouts/grid.js +107 -14
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/private-apis.js +3 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +2 -30
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/index.js +0 -2
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/private-keys.js +2 -0
- package/build-module/store/private-keys.js.map +1 -0
- package/build-module/store/private-selectors.js +5 -6
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -9
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +8 -13
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +6 -2
- package/build-module/store/utils.js.map +1 -1
- package/build-style/style-rtl.css +12 -27
- package/build-style/style.css +12 -27
- package/package.json +31 -32
- package/src/components/block-canvas/index.js +2 -0
- package/src/components/block-heading-level-dropdown/index.js +17 -25
- package/src/components/block-inspector/index.js +0 -11
- package/src/components/block-list/index.js +55 -55
- package/src/components/block-preview/index.js +6 -1
- package/src/components/block-settings-menu/block-parent-selector-menu-item.js +50 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +9 -50
- package/src/components/block-styles/style.scss +0 -4
- package/src/components/block-toolbar/style.scss +11 -6
- package/src/components/block-tools/insertion-point.js +6 -1
- package/src/components/child-layout-control/index.js +85 -44
- package/src/components/date-format-picker/index.js +0 -1
- package/src/components/font-appearance-control/index.js +0 -1
- package/src/components/global-styles/advanced-panel.js +6 -12
- package/src/components/global-styles/dimensions-panel.js +36 -24
- package/src/components/global-styles/shadow-panel-components.js +3 -3
- package/src/components/global-styles/style.scss +0 -10
- package/src/components/global-styles/test/use-global-styles-output.js +3 -2
- package/src/components/inserter/media-tab/media-preview.js +6 -1
- package/src/components/inspector-controls-tabs/styles-tab.js +0 -7
- package/src/components/observe-typing/index.js +7 -10
- package/src/components/rich-text/format-toolbar-container.js +1 -48
- package/src/components/rich-text/index.js +12 -6
- package/src/components/rich-text/use-paste-handler.js +26 -25
- package/src/components/skip-to-selected-block/index.js +10 -13
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
- package/src/components/url-input/index.js +6 -15
- package/src/hooks/anchor.scss +1 -1
- package/src/hooks/background.js +5 -2
- package/src/hooks/layout-child.js +53 -1
- package/src/hooks/position.js +0 -1
- package/src/layouts/grid.js +131 -52
- package/src/layouts/test/grid.js +16 -2
- package/src/private-apis.js +2 -0
- package/src/store/actions.js +2 -38
- package/src/store/index.js +0 -2
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +4 -7
- package/src/store/reducer.js +0 -10
- package/src/store/selectors.js +7 -15
- package/src/store/test/actions.js +0 -101
- package/src/store/utils.js +7 -2
- package/src/style.scss +0 -1
- package/build/components/default-style-picker/index.js +0 -70
- package/build/components/default-style-picker/index.js.map +0 -1
- package/build/store/resolvers.js +0 -27
- package/build/store/resolvers.js.map +0 -1
- package/build-module/components/default-style-picker/index.js +0 -63
- package/build-module/components/default-style-picker/index.js.map +0 -1
- package/build-module/store/resolvers.js +0 -20
- package/build-module/store/resolvers.js.map +0 -1
- package/src/components/block-settings-menu/style.scss +0 -3
- package/src/components/default-style-picker/index.js +0 -70
- package/src/store/resolvers.js +0 -17
package/build/store/utils.js
CHANGED
|
@@ -4,6 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getAllPatternsDependants = exports.checkAllowListRecursive = exports.checkAllowList = void 0;
|
|
7
|
+
var _privateKeys = require("./private-keys");
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
|
|
7
12
|
const checkAllowList = (list, item, defaultResult = null) => {
|
|
8
13
|
if (typeof list === 'boolean') {
|
|
9
14
|
return list;
|
|
@@ -38,8 +43,8 @@ const checkAllowListRecursive = (blocks, allowedBlockTypes) => {
|
|
|
38
43
|
return true;
|
|
39
44
|
};
|
|
40
45
|
exports.checkAllowListRecursive = checkAllowListRecursive;
|
|
41
|
-
const getAllPatternsDependants = state => {
|
|
42
|
-
return [state.settings.__experimentalBlockPatterns, state.settings.__experimentalUserPatternCategories, state.settings.__experimentalReusableBlocks, state.settings.
|
|
46
|
+
const getAllPatternsDependants = select => state => {
|
|
47
|
+
return [state.settings.__experimentalBlockPatterns, state.settings.__experimentalUserPatternCategories, state.settings.__experimentalReusableBlocks, state.settings[_privateKeys.selectBlockPatternsKey]?.(select), state.blockPatterns];
|
|
43
48
|
};
|
|
44
49
|
exports.getAllPatternsDependants = getAllPatternsDependants;
|
|
45
50
|
//# sourceMappingURL=utils.js.map
|
package/build/store/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["checkAllowList","list","item","defaultResult","Array","isArray","includes","exports","checkAllowListRecursive","blocks","allowedBlockTypes","blocksQueue","length","block","shift","isAllowed","name","blockName","innerBlocks","forEach","innerBlock","push","getAllPatternsDependants","state","settings","__experimentalBlockPatterns","__experimentalUserPatternCategories","__experimentalReusableBlocks","
|
|
1
|
+
{"version":3,"names":["_privateKeys","require","checkAllowList","list","item","defaultResult","Array","isArray","includes","exports","checkAllowListRecursive","blocks","allowedBlockTypes","blocksQueue","length","block","shift","isAllowed","name","blockName","innerBlocks","forEach","innerBlock","push","getAllPatternsDependants","select","state","settings","__experimentalBlockPatterns","__experimentalUserPatternCategories","__experimentalReusableBlocks","selectBlockPatternsKey","blockPatterns"],"sources":["@wordpress/block-editor/src/store/utils.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { selectBlockPatternsKey } from './private-keys';\n\nexport const checkAllowList = ( list, item, defaultResult = null ) => {\n\tif ( typeof list === 'boolean' ) {\n\t\treturn list;\n\t}\n\tif ( Array.isArray( list ) ) {\n\t\t// TODO: when there is a canonical way to detect that we are editing a post\n\t\t// the following check should be changed to something like:\n\t\t// if ( list.includes( 'core/post-content' ) && getEditorMode() === 'post-content' && item === null )\n\t\tif ( list.includes( 'core/post-content' ) && item === null ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn list.includes( item );\n\t}\n\treturn defaultResult;\n};\n\nexport const checkAllowListRecursive = ( blocks, allowedBlockTypes ) => {\n\tif ( typeof allowedBlockTypes === 'boolean' ) {\n\t\treturn allowedBlockTypes;\n\t}\n\n\tconst blocksQueue = [ ...blocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\n\t\tconst isAllowed = checkAllowList(\n\t\t\tallowedBlockTypes,\n\t\t\tblock.name || block.blockName,\n\t\t\ttrue\n\t\t);\n\t\tif ( ! isAllowed ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n\n\treturn true;\n};\n\nexport const getAllPatternsDependants = ( select ) => ( state ) => {\n\treturn [\n\t\tstate.settings.__experimentalBlockPatterns,\n\t\tstate.settings.__experimentalUserPatternCategories,\n\t\tstate.settings.__experimentalReusableBlocks,\n\t\tstate.settings[ selectBlockPatternsKey ]?.( select ),\n\t\tstate.blockPatterns,\n\t];\n};\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAMC,cAAc,GAAGA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,aAAa,GAAG,IAAI,KAAM;EACrE,IAAK,OAAOF,IAAI,KAAK,SAAS,EAAG;IAChC,OAAOA,IAAI;EACZ;EACA,IAAKG,KAAK,CAACC,OAAO,CAAEJ,IAAK,CAAC,EAAG;IAC5B;IACA;IACA;IACA,IAAKA,IAAI,CAACK,QAAQ,CAAE,mBAAoB,CAAC,IAAIJ,IAAI,KAAK,IAAI,EAAG;MAC5D,OAAO,IAAI;IACZ;IACA,OAAOD,IAAI,CAACK,QAAQ,CAAEJ,IAAK,CAAC;EAC7B;EACA,OAAOC,aAAa;AACrB,CAAC;AAACI,OAAA,CAAAP,cAAA,GAAAA,cAAA;AAEK,MAAMQ,uBAAuB,GAAGA,CAAEC,MAAM,EAAEC,iBAAiB,KAAM;EACvE,IAAK,OAAOA,iBAAiB,KAAK,SAAS,EAAG;IAC7C,OAAOA,iBAAiB;EACzB;EAEA,MAAMC,WAAW,GAAG,CAAE,GAAGF,MAAM,CAAE;EACjC,OAAQE,WAAW,CAACC,MAAM,GAAG,CAAC,EAAG;IAChC,MAAMC,KAAK,GAAGF,WAAW,CAACG,KAAK,CAAC,CAAC;IAEjC,MAAMC,SAAS,GAAGf,cAAc,CAC/BU,iBAAiB,EACjBG,KAAK,CAACG,IAAI,IAAIH,KAAK,CAACI,SAAS,EAC7B,IACD,CAAC;IACD,IAAK,CAAEF,SAAS,EAAG;MAClB,OAAO,KAAK;IACb;IAEAF,KAAK,CAACK,WAAW,EAAEC,OAAO,CAAIC,UAAU,IAAM;MAC7CT,WAAW,CAACU,IAAI,CAAED,UAAW,CAAC;IAC/B,CAAE,CAAC;EACJ;EAEA,OAAO,IAAI;AACZ,CAAC;AAACb,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAEK,MAAMc,wBAAwB,GAAKC,MAAM,IAAQC,KAAK,IAAM;EAClE,OAAO,CACNA,KAAK,CAACC,QAAQ,CAACC,2BAA2B,EAC1CF,KAAK,CAACC,QAAQ,CAACE,mCAAmC,EAClDH,KAAK,CAACC,QAAQ,CAACG,4BAA4B,EAC3CJ,KAAK,CAACC,QAAQ,CAAEI,mCAAsB,CAAE,GAAIN,MAAO,CAAC,EACpDC,KAAK,CAACM,aAAa,CACnB;AACF,CAAC;AAACvB,OAAA,CAAAe,wBAAA,GAAAA,wBAAA"}
|
|
@@ -15,6 +15,7 @@ import Iframe from '../iframe';
|
|
|
15
15
|
import WritingFlow from '../writing-flow';
|
|
16
16
|
import { useMouseMoveTypingReset } from '../observe-typing';
|
|
17
17
|
import { useBlockSelectionClearer } from '../block-selection-clearer';
|
|
18
|
+
import { useBlockCommands } from '../use-block-commands';
|
|
18
19
|
export function ExperimentalBlockCanvas({
|
|
19
20
|
shouldIframe = true,
|
|
20
21
|
height = '300px',
|
|
@@ -23,6 +24,7 @@ export function ExperimentalBlockCanvas({
|
|
|
23
24
|
contentRef: contentRefProp,
|
|
24
25
|
iframeProps
|
|
25
26
|
}) {
|
|
27
|
+
useBlockCommands();
|
|
26
28
|
const resetTypingRef = useMouseMoveTypingReset();
|
|
27
29
|
const clearerRef = useBlockSelectionClearer();
|
|
28
30
|
const localRef = useRef();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMergeRefs","useRef","BlockList","BlockTools","EditorStyles","Iframe","WritingFlow","useMouseMoveTypingReset","useBlockSelectionClearer","ExperimentalBlockCanvas","shouldIframe","height","children","createElement","styles","contentRef","contentRefProp","iframeProps","resetTypingRef","clearerRef","localRef","__unstableContentRef","style","display","scope","ref","className","tabIndex","width","name","BlockCanvas"],"sources":["@wordpress/block-editor/src/components/block-canvas/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport BlockTools from '../block-tools';\nimport EditorStyles from '../editor-styles';\nimport Iframe from '../iframe';\nimport WritingFlow from '../writing-flow';\nimport { useMouseMoveTypingReset } from '../observe-typing';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\n\nexport function ExperimentalBlockCanvas( {\n\tshouldIframe = true,\n\theight = '300px',\n\tchildren = <BlockList />,\n\tstyles,\n\tcontentRef: contentRefProp,\n\tiframeProps,\n} ) {\n\tconst resetTypingRef = useMouseMoveTypingReset();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst localRef = useRef();\n\tconst contentRef = useMergeRefs( [ contentRefProp, clearerRef, localRef ] );\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<BlockTools\n\t\t\t\t__unstableContentRef={ localRef }\n\t\t\t\tstyle={ { height, display: 'flex' } }\n\t\t\t>\n\t\t\t\t<EditorStyles\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tscope=\".editor-styles-wrapper\"\n\t\t\t\t/>\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</BlockTools>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ localRef }\n\t\t\tstyle={ { height, display: 'flex' } }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\t{ ...iframeProps }\n\t\t\t\tref={ resetTypingRef }\n\t\t\t\tcontentRef={ contentRef }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t} }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t{ children }\n\t\t\t</Iframe>\n\t\t</BlockTools>\n\t);\n}\n\n/**\n * BlockCanvas component is a component used to display the canvas of the block editor.\n * What we call the canvas is an iframe containing the block list that you can manipulate.\n * The component is also responsible of wiring up all the necessary hooks to enable\n * the keyboard navigation across blocks in the editor and inject content styles into the iframe.\n *\n * @example\n *\n * ```jsx\n * function MyBlockEditor() {\n * const [ blocks, updateBlocks ] = useState([]);\n * return (\n * <BlockEditorProvider\n * value={ blocks }\n * onInput={ updateBlocks }\n * onChange={ persistBlocks }\n * >\n * <BlockCanvas height=\"400px\" />\n * </BlockEditorProvider>\n * );\n * }\n * ```\n *\n * @param {Object} props Component props.\n * @param {string} props.height Canvas height, defaults to 300px.\n * @param {Array} props.styles Content styles to inject into the iframe.\n * @param {Element} props.children Content of the canvas, defaults to the BlockList component.\n * @return {Element} Block Breadcrumb.\n */\nfunction BlockCanvas( { children, height, styles } ) {\n\treturn (\n\t\t<ExperimentalBlockCanvas height={ height } styles={ styles }>\n\t\t\t{ children }\n\t\t</ExperimentalBlockCanvas>\n\t);\n}\n\nexport default BlockCanvas;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,oBAAoB;AACjD,SAASC,MAAM,QAAQ,oBAAoB;;AAE3C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,eAAe;AACrC,OAAOC,UAAU,MAAM,gBAAgB;AACvC,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,WAAW,MAAM,iBAAiB;AACzC,SAASC,uBAAuB,QAAQ,mBAAmB;AAC3D,SAASC,wBAAwB,QAAQ,4BAA4B;
|
|
1
|
+
{"version":3,"names":["useMergeRefs","useRef","BlockList","BlockTools","EditorStyles","Iframe","WritingFlow","useMouseMoveTypingReset","useBlockSelectionClearer","useBlockCommands","ExperimentalBlockCanvas","shouldIframe","height","children","createElement","styles","contentRef","contentRefProp","iframeProps","resetTypingRef","clearerRef","localRef","__unstableContentRef","style","display","scope","ref","className","tabIndex","width","name","BlockCanvas"],"sources":["@wordpress/block-editor/src/components/block-canvas/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport BlockTools from '../block-tools';\nimport EditorStyles from '../editor-styles';\nimport Iframe from '../iframe';\nimport WritingFlow from '../writing-flow';\nimport { useMouseMoveTypingReset } from '../observe-typing';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useBlockCommands } from '../use-block-commands';\n\nexport function ExperimentalBlockCanvas( {\n\tshouldIframe = true,\n\theight = '300px',\n\tchildren = <BlockList />,\n\tstyles,\n\tcontentRef: contentRefProp,\n\tiframeProps,\n} ) {\n\tuseBlockCommands();\n\tconst resetTypingRef = useMouseMoveTypingReset();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst localRef = useRef();\n\tconst contentRef = useMergeRefs( [ contentRefProp, clearerRef, localRef ] );\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<BlockTools\n\t\t\t\t__unstableContentRef={ localRef }\n\t\t\t\tstyle={ { height, display: 'flex' } }\n\t\t\t>\n\t\t\t\t<EditorStyles\n\t\t\t\t\tstyles={ styles }\n\t\t\t\t\tscope=\".editor-styles-wrapper\"\n\t\t\t\t/>\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</BlockTools>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ localRef }\n\t\t\tstyle={ { height, display: 'flex' } }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\t{ ...iframeProps }\n\t\t\t\tref={ resetTypingRef }\n\t\t\t\tcontentRef={ contentRef }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t} }\n\t\t\t\tname=\"editor-canvas\"\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t{ children }\n\t\t\t</Iframe>\n\t\t</BlockTools>\n\t);\n}\n\n/**\n * BlockCanvas component is a component used to display the canvas of the block editor.\n * What we call the canvas is an iframe containing the block list that you can manipulate.\n * The component is also responsible of wiring up all the necessary hooks to enable\n * the keyboard navigation across blocks in the editor and inject content styles into the iframe.\n *\n * @example\n *\n * ```jsx\n * function MyBlockEditor() {\n * const [ blocks, updateBlocks ] = useState([]);\n * return (\n * <BlockEditorProvider\n * value={ blocks }\n * onInput={ updateBlocks }\n * onChange={ persistBlocks }\n * >\n * <BlockCanvas height=\"400px\" />\n * </BlockEditorProvider>\n * );\n * }\n * ```\n *\n * @param {Object} props Component props.\n * @param {string} props.height Canvas height, defaults to 300px.\n * @param {Array} props.styles Content styles to inject into the iframe.\n * @param {Element} props.children Content of the canvas, defaults to the BlockList component.\n * @return {Element} Block Breadcrumb.\n */\nfunction BlockCanvas( { children, height, styles } ) {\n\treturn (\n\t\t<ExperimentalBlockCanvas height={ height } styles={ styles }>\n\t\t\t{ children }\n\t\t</ExperimentalBlockCanvas>\n\t);\n}\n\nexport default BlockCanvas;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,YAAY,QAAQ,oBAAoB;AACjD,SAASC,MAAM,QAAQ,oBAAoB;;AAE3C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,eAAe;AACrC,OAAOC,UAAU,MAAM,gBAAgB;AACvC,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,WAAW,MAAM,iBAAiB;AACzC,SAASC,uBAAuB,QAAQ,mBAAmB;AAC3D,SAASC,wBAAwB,QAAQ,4BAA4B;AACrE,SAASC,gBAAgB,QAAQ,uBAAuB;AAExD,OAAO,SAASC,uBAAuBA,CAAE;EACxCC,YAAY,GAAG,IAAI;EACnBC,MAAM,GAAG,OAAO;EAChBC,QAAQ,GAAGC,aAAA,CAACZ,SAAS,MAAE,CAAC;EACxBa,MAAM;EACNC,UAAU,EAAEC,cAAc;EAC1BC;AACD,CAAC,EAAG;EACHT,gBAAgB,CAAC,CAAC;EAClB,MAAMU,cAAc,GAAGZ,uBAAuB,CAAC,CAAC;EAChD,MAAMa,UAAU,GAAGZ,wBAAwB,CAAC,CAAC;EAC7C,MAAMa,QAAQ,GAAGpB,MAAM,CAAC,CAAC;EACzB,MAAMe,UAAU,GAAGhB,YAAY,CAAE,CAAEiB,cAAc,EAAEG,UAAU,EAAEC,QAAQ,CAAG,CAAC;EAE3E,IAAK,CAAEV,YAAY,EAAG;IACrB,OACCG,aAAA,CAACX,UAAU;MACVmB,oBAAoB,EAAGD,QAAU;MACjCE,KAAK,EAAG;QAAEX,MAAM;QAAEY,OAAO,EAAE;MAAO;IAAG,GAErCV,aAAA,CAACV,YAAY;MACZW,MAAM,EAAGA,MAAQ;MACjBU,KAAK,EAAC;IAAwB,CAC9B,CAAC,EACFX,aAAA,CAACR,WAAW;MACXoB,GAAG,EAAGV,UAAY;MAClBW,SAAS,EAAC,uBAAuB;MACjCC,QAAQ,EAAG,CAAC,CAAG;MACfL,KAAK,EAAG;QACPX,MAAM,EAAE,MAAM;QACdiB,KAAK,EAAE;MACR;IAAG,GAEDhB,QACU,CACF,CAAC;EAEf;EAEA,OACCC,aAAA,CAACX,UAAU;IACVmB,oBAAoB,EAAGD,QAAU;IACjCE,KAAK,EAAG;MAAEX,MAAM;MAAEY,OAAO,EAAE;IAAO;EAAG,GAErCV,aAAA,CAACT,MAAM;IAAA,GACDa,WAAW;IAChBQ,GAAG,EAAGP,cAAgB;IACtBH,UAAU,EAAGA,UAAY;IACzBO,KAAK,EAAG;MACP,GAAGL,WAAW,EAAEK;IACjB,CAAG;IACHO,IAAI,EAAC;EAAe,GAEpBhB,aAAA,CAACV,YAAY;IAACW,MAAM,EAAGA;EAAQ,CAAE,CAAC,EAChCF,QACK,CACG,CAAC;AAEf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASkB,WAAWA,CAAE;EAAElB,QAAQ;EAAED,MAAM;EAAEG;AAAO,CAAC,EAAG;EACpD,OACCD,aAAA,CAACJ,uBAAuB;IAACE,MAAM,EAAGA,MAAQ;IAACG,MAAM,EAAGA;EAAQ,GACzDF,QACsB,CAAC;AAE5B;AAEA,eAAekB,WAAW"}
|
|
@@ -46,23 +46,20 @@ export default function HeadingLevelDropdown({
|
|
|
46
46
|
}),
|
|
47
47
|
label: __('Change level'),
|
|
48
48
|
controls: options.map(targetLevel => {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
role: 'menuitemradio'
|
|
64
|
-
};
|
|
65
|
-
}
|
|
49
|
+
const isActive = targetLevel === value;
|
|
50
|
+
return {
|
|
51
|
+
icon: createElement(HeadingLevelIcon, {
|
|
52
|
+
level: targetLevel
|
|
53
|
+
}),
|
|
54
|
+
title: targetLevel === 0 ? __('Paragraph') : sprintf(
|
|
55
|
+
// translators: %s: heading level e.g: "1", "2", "3"
|
|
56
|
+
__('Heading %d'), targetLevel),
|
|
57
|
+
isActive,
|
|
58
|
+
onClick() {
|
|
59
|
+
onChange(targetLevel);
|
|
60
|
+
},
|
|
61
|
+
role: 'menuitemradio'
|
|
62
|
+
};
|
|
66
63
|
})
|
|
67
64
|
});
|
|
68
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ToolbarDropdownMenu","__","sprintf","HeadingLevelIcon","HEADING_LEVELS","POPOVER_PROPS","className","HeadingLevelDropdown","options","value","onChange","createElement","popoverProps","icon","level","label","controls","map","targetLevel","isActive","
|
|
1
|
+
{"version":3,"names":["ToolbarDropdownMenu","__","sprintf","HeadingLevelIcon","HEADING_LEVELS","POPOVER_PROPS","className","HeadingLevelDropdown","options","value","onChange","createElement","popoverProps","icon","level","label","controls","map","targetLevel","isActive","title","onClick","role"],"sources":["@wordpress/block-editor/src/components/block-heading-level-dropdown/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarDropdownMenu } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelIcon from './heading-level-icon';\n\nconst HEADING_LEVELS = [ 1, 2, 3, 4, 5, 6 ];\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-library-heading-level-dropdown',\n};\n\n/** @typedef {import('react').ComponentType} ComponentType */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} value The chosen heading level.\n * @property {number[]} options An array of supported heading levels.\n * @property {(newValue:number)=>any} onChange Callback to run when\n * toolbar value is changed.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6) or paragraph (0).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {ComponentType} The toolbar.\n */\nexport default function HeadingLevelDropdown( {\n\toptions = HEADING_LEVELS,\n\tvalue,\n\tonChange,\n} ) {\n\treturn (\n\t\t<ToolbarDropdownMenu\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ticon={ <HeadingLevelIcon level={ value } /> }\n\t\t\tlabel={ __( 'Change level' ) }\n\t\t\tcontrols={ options.map( ( targetLevel ) => {\n\t\t\t\tconst isActive = targetLevel === value;\n\t\t\t\treturn {\n\t\t\t\t\ticon: <HeadingLevelIcon level={ targetLevel } />,\n\t\t\t\t\ttitle:\n\t\t\t\t\t\ttargetLevel === 0\n\t\t\t\t\t\t\t? __( 'Paragraph' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\t\t\t\t\t\t\t__( 'Heading %d' ),\n\t\t\t\t\t\t\t\t\ttargetLevel\n\t\t\t\t\t\t\t ),\n\t\t\t\t\tisActive,\n\t\t\t\t\tonClick() {\n\t\t\t\t\t\tonChange( targetLevel );\n\t\t\t\t\t},\n\t\t\t\t\trole: 'menuitemradio',\n\t\t\t\t};\n\t\t\t} ) }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAE7C;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,sBAAsB;AAEnD,MAAMC,cAAc,GAAG,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;AAE3C,MAAMC,aAAa,GAAG;EACrBC,SAAS,EAAE;AACZ,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,oBAAoBA,CAAE;EAC7CC,OAAO,GAAGJ,cAAc;EACxBK,KAAK;EACLC;AACD,CAAC,EAAG;EACH,OACCC,aAAA,CAACX,mBAAmB;IACnBY,YAAY,EAAGP,aAAe;IAC9BQ,IAAI,EAAGF,aAAA,CAACR,gBAAgB;MAACW,KAAK,EAAGL;IAAO,CAAE,CAAG;IAC7CM,KAAK,EAAGd,EAAE,CAAE,cAAe,CAAG;IAC9Be,QAAQ,EAAGR,OAAO,CAACS,GAAG,CAAIC,WAAW,IAAM;MAC1C,MAAMC,QAAQ,GAAGD,WAAW,KAAKT,KAAK;MACtC,OAAO;QACNI,IAAI,EAAEF,aAAA,CAACR,gBAAgB;UAACW,KAAK,EAAGI;QAAa,CAAE,CAAC;QAChDE,KAAK,EACJF,WAAW,KAAK,CAAC,GACdjB,EAAE,CAAE,WAAY,CAAC,GACjBC,OAAO;QACP;QACAD,EAAE,CAAE,YAAa,CAAC,EAClBiB,WACA,CAAC;QACLC,QAAQ;QACRE,OAAOA,CAAA,EAAG;UACTX,QAAQ,CAAEQ,WAAY,CAAC;QACxB,CAAC;QACDI,IAAI,EAAE;MACP,CAAC;IACF,CAAE;EAAG,CACL,CAAC;AAEJ"}
|
|
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "react";
|
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
5
|
import { __ } from '@wordpress/i18n';
|
|
6
|
-
import { getBlockType, getUnregisteredTypeHandlerName,
|
|
6
|
+
import { getBlockType, getUnregisteredTypeHandlerName, store as blocksStore } from '@wordpress/blocks';
|
|
7
7
|
import { PanelBody, __unstableMotion as motion } from '@wordpress/components';
|
|
8
8
|
import { useSelect } from '@wordpress/data';
|
|
9
9
|
|
|
@@ -17,7 +17,6 @@ import BlockVariationTransforms from '../block-variation-transforms';
|
|
|
17
17
|
import useBlockDisplayInformation from '../use-block-display-information';
|
|
18
18
|
import { store as blockEditorStore } from '../../store';
|
|
19
19
|
import BlockStyles from '../block-styles';
|
|
20
|
-
import DefaultStylePicker from '../default-style-picker';
|
|
21
20
|
import { default as InspectorControls } from '../inspector-controls';
|
|
22
21
|
import { default as InspectorControlsTabs } from '../inspector-controls-tabs';
|
|
23
22
|
import useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';
|
|
@@ -206,8 +205,6 @@ const BlockInspectorSingleBlock = ({
|
|
|
206
205
|
title: __('Styles')
|
|
207
206
|
}, createElement(BlockStyles, {
|
|
208
207
|
clientId: clientId
|
|
209
|
-
}), hasBlockSupport(blockName, 'defaultStylePicker', true) && createElement(DefaultStylePicker, {
|
|
210
|
-
blockName: blockName
|
|
211
208
|
}))), createElement(InspectorControls.Slot, null), createElement(InspectorControls.Slot, {
|
|
212
209
|
group: "list"
|
|
213
210
|
}), createElement(InspectorControls.Slot, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","getBlockType","getUnregisteredTypeHandlerName","hasBlockSupport","store","blocksStore","PanelBody","__unstableMotion","motion","useSelect","SkipToSelectedBlock","BlockCard","MultiSelectionInspector","BlockVariationTransforms","useBlockDisplayInformation","blockEditorStore","BlockStyles","DefaultStylePicker","default","InspectorControls","InspectorControlsTabs","useInspectorControlsTabs","AdvancedControls","PositionControls","useBlockInspectorAnimationSettings","BlockInfo","BlockQuickNavigation","getBorderPanelLabel","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","filter","clientId","blockInformation","createElement","className","isSynced","blockClientId","Slot","length","title","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","availableTabs","name","showTabs","blockInspectorAnimationSettings","tabs","Fragment","group","label","blockName","isSelectedBlockUnregistered","BlockInspectorSingleBlockWrapper","animate","wrapper","children","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","div","x","opacity","transition","ease","duration","initial","key","hasBlockStyles","getBlockStyles","blockStyles","borderPanelLabel"],"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { PanelBody, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockStyles from '../block-styles';\nimport DefaultStylePicker from '../default-style-picker';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport BlockInfo from '../block-info-slot-fill';\nimport BlockQuickNavigation from '../block-quick-navigation';\nimport { getBorderPanelLabel } from '../../hooks/border';\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst contentClientIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn getClientIdsOfDescendants( topLevelLockedBlock ).filter(\n\t\t\t\t( clientId ) =>\n\t\t\t\t\tgetBlockName( clientId ) !== 'core/list-item' &&\n\t\t\t\t\tgetBlockEditingMode( clientId ) === 'contentOnly'\n\t\t\t);\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ contentClientIds.length > 0 && (\n\t\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t\t<BlockQuickNavigation clientIds={ contentClientIds } />\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\ttopLevelLockedBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\t__unstableGetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\ttopLevelLockedBlock:\n\t\t\t\t__unstableGetContentLockingParent( _selectedBlockClientId ) ||\n\t\t\t\t( getTemplateLock( _selectedBlockClientId ) === 'contentOnly' ||\n\t\t\t\t_selectedBlockName === 'core/block'\n\t\t\t\t\t? _selectedBlockClientId\n\t\t\t\t\t: undefined ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings = useBlockInspectorAnimationSettings(\n\t\tblockType,\n\t\tselectedBlockClientId\n\t);\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ getBorderPanelLabel( {\n\t\t\t\t\t\t\t\tblockName: selectedBlockName,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\tif ( topLevelLockedBlock ) {\n\t\treturn (\n\t\t\t<BlockInspectorLockedBlocks\n\t\t\t\ttopLevelLockedBlock={ topLevelLockedBlock }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n};\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst borderPanelLabel = getBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t) && (\n\t\t\t\t\t\t\t\t\t<DefaultStylePicker\n\t\t\t\t\t\t\t\t\t\tblockName={ blockName }\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</PanelBody>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t<InspectorControls.Slot group=\"list\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<PositionControls />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["__","getBlockType","getUnregisteredTypeHandlerName","store","blocksStore","PanelBody","__unstableMotion","motion","useSelect","SkipToSelectedBlock","BlockCard","MultiSelectionInspector","BlockVariationTransforms","useBlockDisplayInformation","blockEditorStore","BlockStyles","default","InspectorControls","InspectorControlsTabs","useInspectorControlsTabs","AdvancedControls","PositionControls","useBlockInspectorAnimationSettings","BlockInfo","BlockQuickNavigation","getBorderPanelLabel","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","filter","clientId","blockInformation","createElement","className","isSynced","blockClientId","Slot","length","title","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","availableTabs","name","showTabs","blockInspectorAnimationSettings","tabs","Fragment","group","label","blockName","isSelectedBlockUnregistered","BlockInspectorSingleBlockWrapper","animate","wrapper","children","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","div","x","opacity","transition","ease","duration","initial","key","hasBlockStyles","getBlockStyles","blockStyles","borderPanelLabel"],"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { PanelBody, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockStyles from '../block-styles';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport BlockInfo from '../block-info-slot-fill';\nimport BlockQuickNavigation from '../block-quick-navigation';\nimport { getBorderPanelLabel } from '../../hooks/border';\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst contentClientIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn getClientIdsOfDescendants( topLevelLockedBlock ).filter(\n\t\t\t\t( clientId ) =>\n\t\t\t\t\tgetBlockName( clientId ) !== 'core/list-item' &&\n\t\t\t\t\tgetBlockEditingMode( clientId ) === 'contentOnly'\n\t\t\t);\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ contentClientIds.length > 0 && (\n\t\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t\t<BlockQuickNavigation clientIds={ contentClientIds } />\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\ttopLevelLockedBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\t__unstableGetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\ttopLevelLockedBlock:\n\t\t\t\t__unstableGetContentLockingParent( _selectedBlockClientId ) ||\n\t\t\t\t( getTemplateLock( _selectedBlockClientId ) === 'contentOnly' ||\n\t\t\t\t_selectedBlockName === 'core/block'\n\t\t\t\t\t? _selectedBlockClientId\n\t\t\t\t\t: undefined ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings = useBlockInspectorAnimationSettings(\n\t\tblockType,\n\t\tselectedBlockClientId\n\t);\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ getBorderPanelLabel( {\n\t\t\t\t\t\t\t\tblockName: selectedBlockName,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\tif ( topLevelLockedBlock ) {\n\t\treturn (\n\t\t\t<BlockInspectorLockedBlocks\n\t\t\t\ttopLevelLockedBlock={ topLevelLockedBlock }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n};\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst borderPanelLabel = getBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t<InspectorControls.Slot group=\"list\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<PositionControls />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"],"mappings":"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"}
|
|
@@ -34,11 +34,13 @@ function Root({
|
|
|
34
34
|
const {
|
|
35
35
|
isOutlineMode,
|
|
36
36
|
isFocusMode,
|
|
37
|
-
editorMode
|
|
37
|
+
editorMode,
|
|
38
|
+
temporarilyEditingAsBlocks
|
|
38
39
|
} = useSelect(select => {
|
|
39
40
|
const {
|
|
40
41
|
getSettings,
|
|
41
|
-
__unstableGetEditorMode
|
|
42
|
+
__unstableGetEditorMode,
|
|
43
|
+
__unstableGetTemporarilyEditingAsBlocks
|
|
42
44
|
} = select(blockEditorStore);
|
|
43
45
|
const {
|
|
44
46
|
outlineMode,
|
|
@@ -47,7 +49,8 @@ function Root({
|
|
|
47
49
|
return {
|
|
48
50
|
isOutlineMode: outlineMode,
|
|
49
51
|
isFocusMode: focusMode,
|
|
50
|
-
editorMode: __unstableGetEditorMode()
|
|
52
|
+
editorMode: __unstableGetEditorMode(),
|
|
53
|
+
temporarilyEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks()
|
|
51
54
|
};
|
|
52
55
|
}, []);
|
|
53
56
|
const registry = useRegistry();
|
|
@@ -93,6 +96,8 @@ function Root({
|
|
|
93
96
|
value: intersectionObserver
|
|
94
97
|
}, createElement("div", {
|
|
95
98
|
...innerBlocksProps
|
|
99
|
+
}), !!temporarilyEditingAsBlocks && createElement(StopEditingAsBlocksOnOutsideSelect, {
|
|
100
|
+
clientId: temporarilyEditingAsBlocks
|
|
96
101
|
}));
|
|
97
102
|
}
|
|
98
103
|
function StopEditingAsBlocksOnOutsideSelect({
|
|
@@ -137,7 +142,6 @@ function Items({
|
|
|
137
142
|
order,
|
|
138
143
|
selectedBlocks,
|
|
139
144
|
visibleBlocks,
|
|
140
|
-
temporarilyEditingAsBlocks,
|
|
141
145
|
shouldRenderAppender
|
|
142
146
|
} = useSelect(select => {
|
|
143
147
|
const {
|
|
@@ -145,7 +149,6 @@ function Items({
|
|
|
145
149
|
getSelectedBlockClientId,
|
|
146
150
|
getSelectedBlockClientIds,
|
|
147
151
|
__unstableGetVisibleBlocks,
|
|
148
|
-
__unstableGetTemporarilyEditingAsBlocks,
|
|
149
152
|
getTemplateLock,
|
|
150
153
|
getBlockEditingMode,
|
|
151
154
|
__unstableGetEditorMode
|
|
@@ -155,7 +158,6 @@ function Items({
|
|
|
155
158
|
order: getBlockOrder(rootClientId),
|
|
156
159
|
selectedBlocks: getSelectedBlockClientIds(),
|
|
157
160
|
visibleBlocks: __unstableGetVisibleBlocks(),
|
|
158
|
-
temporarilyEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks(),
|
|
159
161
|
shouldRenderAppender: hasAppender && (hasCustomAppender ? !getTemplateLock(rootClientId) && getBlockEditingMode(rootClientId) !== 'disabled' && __unstableGetEditorMode() !== 'zoom-out' : rootClientId === selectedBlockClientId || !rootClientId && !selectedBlockClientId)
|
|
160
162
|
};
|
|
161
163
|
}, [rootClientId, hasAppender, hasCustomAppender]);
|
|
@@ -170,9 +172,7 @@ function Items({
|
|
|
170
172
|
}, createElement(BlockListBlock, {
|
|
171
173
|
rootClientId: rootClientId,
|
|
172
174
|
clientId: clientId
|
|
173
|
-
}))), order.length < 1 && placeholder,
|
|
174
|
-
clientId: temporarilyEditingAsBlocks
|
|
175
|
-
}), shouldRenderAppender && createElement(BlockListAppender, {
|
|
175
|
+
}))), order.length < 1 && placeholder, shouldRenderAppender && createElement(BlockListAppender, {
|
|
176
176
|
tagName: __experimentalAppenderTagName,
|
|
177
177
|
rootClientId: rootClientId,
|
|
178
178
|
CustomAppender: CustomAppender
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","AsyncModeProvider","useSelect","useDispatch","useRegistry","useViewportMatch","useMergeRefs","useDebounce","createContext","useMemo","useCallback","useEffect","BlockListBlock","BlockListAppender","useInBetweenInserter","store","blockEditorStore","LayoutProvider","defaultLayout","useBlockSelectionClearer","useInnerBlocksProps","BlockEditContextProvider","DEFAULT_BLOCK_EDIT_CONTEXT","useTypingObserver","unlock","IntersectionObserver","pendingBlockVisibilityUpdatesPerRegistry","WeakMap","Root","className","settings","isLargeViewport","isOutlineMode","isFocusMode","editorMode","select","getSettings","__unstableGetEditorMode","outlineMode","focusMode","registry","setBlockVisibility","delayedBlockVisibilityUpdates","updates","get","forEach","id","isIntersecting","trailing","intersectionObserver","Observer","window","entries","set","entry","clientId","target","getAttribute","push","innerBlocksProps","ref","createElement","Provider","value","StopEditingAsBlocksOnOutsideSelect","stopEditingAsBlocks","isBlockOrDescendantSelected","isBlockSelected","hasSelectedInnerBlock","BlockList","Items","placeholder","rootClientId","renderAppender","CustomAppender","__experimentalAppenderTagName","layout","hasAppender","hasCustomAppender","order","selectedBlocks","visibleBlocks","temporarilyEditingAsBlocks","shouldRenderAppender","getBlockOrder","getSelectedBlockClientId","getSelectedBlockClientIds","__unstableGetVisibleBlocks","__unstableGetTemporarilyEditingAsBlocks","getTemplateLock","getBlockEditingMode","selectedBlockClientId","map","key","has","includes","length","tagName","BlockListItems","props"],"sources":["@wordpress/block-editor/src/components/block-list/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\tuseDebounce,\n} from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tuseEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\nimport { useTypingObserver } from '../observe-typing';\nimport { unlock } from '../../lock-unlock';\n\nexport const IntersectionObserver = createContext();\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\n\nfunction Root( { className, ...settings } ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { isOutlineMode, isFocusMode, editorMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, __unstableGetEditorMode } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { outlineMode, focusMode } = getSettings();\n\t\t\treturn {\n\t\t\t\tisOutlineMode: outlineMode,\n\t\t\t\tisFocusMode: focusMode,\n\t\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\t{\n\t\t\ttrailing: true,\n\t\t}\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t\tuseTypingObserver(),\n\t\t\t] ),\n\t\t\tclassName: classnames( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode && isLargeViewport,\n\t\t\t\t'is-navigate-mode': editorMode === 'navigation',\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</IntersectionObserver.Provider>\n\t);\n}\n\nfunction StopEditingAsBlocksOnOutsideSelect( { clientId } ) {\n\tconst { stopEditingAsBlocks } = unlock( useDispatch( blockEditorStore ) );\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingAsBlocks( clientId );\n\t\t}\n\t}, [ isBlockOrDescendantSelected, clientId, stopEditingAsBlocks ] );\n\treturn null;\n}\n\nexport default function BlockList( settings ) {\n\treturn (\n\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t<Root { ...settings } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender: CustomAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\t// Avoid passing CustomAppender to useSelect because it could be a new\n\t// function on every render.\n\tconst hasAppender = CustomAppender !== false;\n\tconst hasCustomAppender = !! CustomAppender;\n\tconst {\n\t\torder,\n\t\tselectedBlocks,\n\t\tvisibleBlocks,\n\t\ttemporarilyEditingAsBlocks,\n\t\tshouldRenderAppender,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t\t__unstableGetTemporarilyEditingAsBlocks,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\torder: getBlockOrder( rootClientId ),\n\t\t\t\tselectedBlocks: getSelectedBlockClientIds(),\n\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t\ttemporarilyEditingAsBlocks:\n\t\t\t\t\t__unstableGetTemporarilyEditingAsBlocks(),\n\t\t\t\tshouldRenderAppender:\n\t\t\t\t\thasAppender &&\n\t\t\t\t\t( hasCustomAppender\n\t\t\t\t\t\t? ! getTemplateLock( rootClientId ) &&\n\t\t\t\t\t\t getBlockEditingMode( rootClientId ) !== 'disabled' &&\n\t\t\t\t\t\t __unstableGetEditorMode() !== 'zoom-out'\n\t\t\t\t\t\t: rootClientId === selectedBlockClientId ||\n\t\t\t\t\t\t ( ! rootClientId && ! selectedBlockClientId ) ),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, hasAppender, hasCustomAppender ]\n\t);\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t{ order.map( ( clientId ) => (\n\t\t\t\t<AsyncModeProvider\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t// not visible and not selected.\n\t\t\t\t\t\t! visibleBlocks.has( clientId ) &&\n\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t{ !! temporarilyEditingAsBlocks && (\n\t\t\t\t<StopEditingAsBlocksOnOutsideSelect\n\t\t\t\t\tclientId={ temporarilyEditingAsBlocks }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ shouldRenderAppender && (\n\t\t\t\t<BlockListAppender\n\t\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tCustomAppender={ CustomAppender }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","AsyncModeProvider","useSelect","useDispatch","useRegistry","useViewportMatch","useMergeRefs","useDebounce","createContext","useMemo","useCallback","useEffect","BlockListBlock","BlockListAppender","useInBetweenInserter","store","blockEditorStore","LayoutProvider","defaultLayout","useBlockSelectionClearer","useInnerBlocksProps","BlockEditContextProvider","DEFAULT_BLOCK_EDIT_CONTEXT","useTypingObserver","unlock","IntersectionObserver","pendingBlockVisibilityUpdatesPerRegistry","WeakMap","Root","className","settings","isLargeViewport","isOutlineMode","isFocusMode","editorMode","temporarilyEditingAsBlocks","select","getSettings","__unstableGetEditorMode","__unstableGetTemporarilyEditingAsBlocks","outlineMode","focusMode","registry","setBlockVisibility","delayedBlockVisibilityUpdates","updates","get","forEach","id","isIntersecting","trailing","intersectionObserver","Observer","window","entries","set","entry","clientId","target","getAttribute","push","innerBlocksProps","ref","createElement","Provider","value","StopEditingAsBlocksOnOutsideSelect","stopEditingAsBlocks","isBlockOrDescendantSelected","isBlockSelected","hasSelectedInnerBlock","BlockList","Items","placeholder","rootClientId","renderAppender","CustomAppender","__experimentalAppenderTagName","layout","hasAppender","hasCustomAppender","order","selectedBlocks","visibleBlocks","shouldRenderAppender","getBlockOrder","getSelectedBlockClientId","getSelectedBlockClientIds","__unstableGetVisibleBlocks","getTemplateLock","getBlockEditingMode","selectedBlockClientId","map","key","has","includes","length","tagName","BlockListItems","props"],"sources":["@wordpress/block-editor/src/components/block-list/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAsyncModeProvider,\n\tuseSelect,\n\tuseDispatch,\n\tuseRegistry,\n} from '@wordpress/data';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\tuseDebounce,\n} from '@wordpress/compose';\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tuseEffect,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockListBlock from './block';\nimport BlockListAppender from '../block-list-appender';\nimport { useInBetweenInserter } from './use-in-between-inserter';\nimport { store as blockEditorStore } from '../../store';\nimport { LayoutProvider, defaultLayout } from './layout';\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useInnerBlocksProps } from '../inner-blocks';\nimport {\n\tBlockEditContextProvider,\n\tDEFAULT_BLOCK_EDIT_CONTEXT,\n} from '../block-edit/context';\nimport { useTypingObserver } from '../observe-typing';\nimport { unlock } from '../../lock-unlock';\n\nexport const IntersectionObserver = createContext();\nconst pendingBlockVisibilityUpdatesPerRegistry = new WeakMap();\n\nfunction Root( { className, ...settings } ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tisOutlineMode,\n\t\tisFocusMode,\n\t\teditorMode,\n\t\ttemporarilyEditingAsBlocks,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSettings,\n\t\t\t__unstableGetEditorMode,\n\t\t\t__unstableGetTemporarilyEditingAsBlocks,\n\t\t} = select( blockEditorStore );\n\t\tconst { outlineMode, focusMode } = getSettings();\n\t\treturn {\n\t\t\tisOutlineMode: outlineMode,\n\t\t\tisFocusMode: focusMode,\n\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\ttemporarilyEditingAsBlocks:\n\t\t\t\t__unstableGetTemporarilyEditingAsBlocks(),\n\t\t};\n\t}, [] );\n\tconst registry = useRegistry();\n\tconst { setBlockVisibility } = useDispatch( blockEditorStore );\n\n\tconst delayedBlockVisibilityUpdates = useDebounce(\n\t\tuseCallback( () => {\n\t\t\tconst updates = {};\n\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t.get( registry )\n\t\t\t\t.forEach( ( [ id, isIntersecting ] ) => {\n\t\t\t\t\tupdates[ id ] = isIntersecting;\n\t\t\t\t} );\n\t\t\tsetBlockVisibility( updates );\n\t\t}, [ registry ] ),\n\t\t300,\n\t\t{\n\t\t\ttrailing: true,\n\t\t}\n\t);\n\tconst intersectionObserver = useMemo( () => {\n\t\tconst { IntersectionObserver: Observer } = window;\n\n\t\tif ( ! Observer ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Observer( ( entries ) => {\n\t\t\tif ( ! pendingBlockVisibilityUpdatesPerRegistry.get( registry ) ) {\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry.set( registry, [] );\n\t\t\t}\n\t\t\tfor ( const entry of entries ) {\n\t\t\t\tconst clientId = entry.target.getAttribute( 'data-block' );\n\t\t\t\tpendingBlockVisibilityUpdatesPerRegistry\n\t\t\t\t\t.get( registry )\n\t\t\t\t\t.push( [ clientId, entry.isIntersecting ] );\n\t\t\t}\n\t\t\tdelayedBlockVisibilityUpdates();\n\t\t} );\n\t}, [] );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tref: useMergeRefs( [\n\t\t\t\tuseBlockSelectionClearer(),\n\t\t\t\tuseInBetweenInserter(),\n\t\t\t\tuseTypingObserver(),\n\t\t\t] ),\n\t\t\tclassName: classnames( 'is-root-container', className, {\n\t\t\t\t'is-outline-mode': isOutlineMode,\n\t\t\t\t'is-focus-mode': isFocusMode && isLargeViewport,\n\t\t\t\t'is-navigate-mode': editorMode === 'navigation',\n\t\t\t} ),\n\t\t},\n\t\tsettings\n\t);\n\treturn (\n\t\t<IntersectionObserver.Provider value={ intersectionObserver }>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t\t{ !! temporarilyEditingAsBlocks && (\n\t\t\t\t<StopEditingAsBlocksOnOutsideSelect\n\t\t\t\t\tclientId={ temporarilyEditingAsBlocks }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</IntersectionObserver.Provider>\n\t);\n}\n\nfunction StopEditingAsBlocksOnOutsideSelect( { clientId } ) {\n\tconst { stopEditingAsBlocks } = unlock( useDispatch( blockEditorStore ) );\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingAsBlocks( clientId );\n\t\t}\n\t}, [ isBlockOrDescendantSelected, clientId, stopEditingAsBlocks ] );\n\treturn null;\n}\n\nexport default function BlockList( settings ) {\n\treturn (\n\t\t<BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>\n\t\t\t<Root { ...settings } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n\nfunction Items( {\n\tplaceholder,\n\trootClientId,\n\trenderAppender: CustomAppender,\n\t__experimentalAppenderTagName,\n\tlayout = defaultLayout,\n} ) {\n\t// Avoid passing CustomAppender to useSelect because it could be a new\n\t// function on every render.\n\tconst hasAppender = CustomAppender !== false;\n\tconst hasCustomAppender = !! CustomAppender;\n\tconst { order, selectedBlocks, visibleBlocks, shouldRenderAppender } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\t\t__unstableGetVisibleBlocks,\n\t\t\t\t\tgetTemplateLock,\n\t\t\t\t\tgetBlockEditingMode,\n\t\t\t\t\t__unstableGetEditorMode,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\t\treturn {\n\t\t\t\t\torder: getBlockOrder( rootClientId ),\n\t\t\t\t\tselectedBlocks: getSelectedBlockClientIds(),\n\t\t\t\t\tvisibleBlocks: __unstableGetVisibleBlocks(),\n\t\t\t\t\tshouldRenderAppender:\n\t\t\t\t\t\thasAppender &&\n\t\t\t\t\t\t( hasCustomAppender\n\t\t\t\t\t\t\t? ! getTemplateLock( rootClientId ) &&\n\t\t\t\t\t\t\t getBlockEditingMode( rootClientId ) !==\n\t\t\t\t\t\t\t\t\t'disabled' &&\n\t\t\t\t\t\t\t __unstableGetEditorMode() !== 'zoom-out'\n\t\t\t\t\t\t\t: rootClientId === selectedBlockClientId ||\n\t\t\t\t\t\t\t ( ! rootClientId && ! selectedBlockClientId ) ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ rootClientId, hasAppender, hasCustomAppender ]\n\t\t);\n\n\treturn (\n\t\t<LayoutProvider value={ layout }>\n\t\t\t{ order.map( ( clientId ) => (\n\t\t\t\t<AsyncModeProvider\n\t\t\t\t\tkey={ clientId }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// Only provide data asynchronously if the block is\n\t\t\t\t\t\t// not visible and not selected.\n\t\t\t\t\t\t! visibleBlocks.has( clientId ) &&\n\t\t\t\t\t\t! selectedBlocks.includes( clientId )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</AsyncModeProvider>\n\t\t\t) ) }\n\t\t\t{ order.length < 1 && placeholder }\n\t\t\t{ shouldRenderAppender && (\n\t\t\t\t<BlockListAppender\n\t\t\t\t\ttagName={ __experimentalAppenderTagName }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tCustomAppender={ CustomAppender }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</LayoutProvider>\n\t);\n}\n\nexport function BlockListItems( props ) {\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<AsyncModeProvider value={ false }>\n\t\t\t<Items { ...props } />\n\t\t</AsyncModeProvider>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -50,6 +50,8 @@ export function BlockPreview({
|
|
|
50
50
|
const originalSettings = useSelect(select => select(blockEditorStore).getSettings(), []);
|
|
51
51
|
const settings = useMemo(() => ({
|
|
52
52
|
...originalSettings,
|
|
53
|
+
focusMode: false,
|
|
54
|
+
// Disable "Spotlight mode".
|
|
53
55
|
__unstableIsPreviewMode: true
|
|
54
56
|
}), [originalSettings]);
|
|
55
57
|
const renderedBlocks = useMemo(() => Array.isArray(blocks) ? blocks : [blocks], [blocks]);
|
|
@@ -104,6 +106,8 @@ export function useBlockPreview({
|
|
|
104
106
|
...originalSettings,
|
|
105
107
|
styles: undefined,
|
|
106
108
|
// Clear styles included by the parent settings, as they are already output by the parent's EditorStyles.
|
|
109
|
+
focusMode: false,
|
|
110
|
+
// Disable "Spotlight mode".
|
|
107
111
|
__unstableIsPreviewMode: true
|
|
108
112
|
}), [originalSettings]);
|
|
109
113
|
const disabledRef = useDisabled();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useDisabled","useMergeRefs","useSelect","memo","useMemo","deprecated","ExperimentalBlockEditorProvider","AutoHeightBlockPreview","EditorStyles","store","blockEditorStore","BlockListItems","BlockPreview","blocks","viewportWidth","minHeight","additionalStyles","__experimentalMinHeight","__experimentalPadding","since","version","alternative","css","originalSettings","select","getSettings","settings","__unstableIsPreviewMode","renderedBlocks","Array","isArray","length","createElement","value","useBlockPreview","props","layout","styles","undefined","disabledRef","ref","children","renderAppender","className"],"sources":["@wordpress/block-editor/src/components/block-preview/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useDisabled, useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { memo, useMemo } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { ExperimentalBlockEditorProvider } from '../provider';\nimport AutoHeightBlockPreview from './auto';\nimport EditorStyles from '../editor-styles';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockListItems } from '../block-list';\n\nexport function BlockPreview( {\n\tblocks,\n\tviewportWidth = 1200,\n\tminHeight,\n\tadditionalStyles = [],\n\t// Deprecated props:\n\t__experimentalMinHeight,\n\t__experimentalPadding,\n} ) {\n\tif ( __experimentalMinHeight ) {\n\t\tminHeight = __experimentalMinHeight;\n\t\tdeprecated( 'The __experimentalMinHeight prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'minHeight',\n\t\t} );\n\t}\n\tif ( __experimentalPadding ) {\n\t\tadditionalStyles = [\n\t\t\t...additionalStyles,\n\t\t\t{ css: `body { padding: ${ __experimentalPadding }px; }` },\n\t\t];\n\t\tdeprecated( 'The __experimentalPadding prop of BlockPreview', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'additionalStyles',\n\t\t} );\n\t}\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {
|
|
1
|
+
{"version":3,"names":["classnames","useDisabled","useMergeRefs","useSelect","memo","useMemo","deprecated","ExperimentalBlockEditorProvider","AutoHeightBlockPreview","EditorStyles","store","blockEditorStore","BlockListItems","BlockPreview","blocks","viewportWidth","minHeight","additionalStyles","__experimentalMinHeight","__experimentalPadding","since","version","alternative","css","originalSettings","select","getSettings","settings","focusMode","__unstableIsPreviewMode","renderedBlocks","Array","isArray","length","createElement","value","useBlockPreview","props","layout","styles","undefined","disabledRef","ref","children","renderAppender","className"],"sources":["@wordpress/block-editor/src/components/block-preview/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useDisabled, useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { memo, useMemo } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { ExperimentalBlockEditorProvider } from '../provider';\nimport AutoHeightBlockPreview from './auto';\nimport EditorStyles from '../editor-styles';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockListItems } from '../block-list';\n\nexport function BlockPreview( {\n\tblocks,\n\tviewportWidth = 1200,\n\tminHeight,\n\tadditionalStyles = [],\n\t// Deprecated props:\n\t__experimentalMinHeight,\n\t__experimentalPadding,\n} ) {\n\tif ( __experimentalMinHeight ) {\n\t\tminHeight = __experimentalMinHeight;\n\t\tdeprecated( 'The __experimentalMinHeight prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'minHeight',\n\t\t} );\n\t}\n\tif ( __experimentalPadding ) {\n\t\tadditionalStyles = [\n\t\t\t...additionalStyles,\n\t\t\t{ css: `body { padding: ${ __experimentalPadding }px; }` },\n\t\t];\n\t\tdeprecated( 'The __experimentalPadding prop of BlockPreview', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t\talternative: 'additionalStyles',\n\t\t} );\n\t}\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\t__unstableIsPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tif ( ! blocks || blocks.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<AutoHeightBlockPreview\n\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t/>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\n/**\n * BlockPreview renders a preview of a block or array of blocks.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-preview/README.md\n *\n * @param {Object} preview options for how the preview should be shown\n * @param {Array|Object} preview.blocks A block instance (object) or an array of blocks to be previewed.\n * @param {number} preview.viewportWidth Width of the preview container in pixels. Controls at what size the blocks will be rendered inside the preview. Default: 700.\n *\n * @return {Component} The component to be rendered.\n */\nexport default memo( BlockPreview );\n\n/**\n * This hook is used to lightly mark an element as a block preview wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * a block preview wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} options Preview options.\n * @param {WPBlock[]} options.blocks Block objects.\n * @param {Object} options.props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options.layout Layout settings to be used in the preview.\n */\nexport function useBlockPreview( { blocks, props = {}, layout } ) {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tstyles: undefined, // Clear styles included by the parent settings, as they are already output by the parent's EditorStyles.\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\t__unstableIsPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\tconst disabledRef = useDisabled();\n\tconst ref = useMergeRefs( [ props.ref, disabledRef ] );\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst children = (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tvalue={ renderedBlocks }\n\t\t\tsettings={ settings }\n\t\t>\n\t\t\t<EditorStyles />\n\t\t\t<BlockListItems renderAppender={ false } layout={ layout } />\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: classnames(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-preview__live-content',\n\t\t\t'components-disabled'\n\t\t),\n\t\tchildren: blocks?.length ? children : null,\n\t};\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* WordPress dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { useRef } from '@wordpress/element';
|
|
6
|
+
import { MenuItem } from '@wordpress/components';
|
|
7
|
+
import { useViewportMatch } from '@wordpress/compose';
|
|
8
|
+
import { useDispatch } from '@wordpress/data';
|
|
9
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Internal dependencies
|
|
13
|
+
*/
|
|
14
|
+
import BlockIcon from '../block-icon';
|
|
15
|
+
import { useShowHoveredOrFocusedGestures } from '../block-toolbar/utils';
|
|
16
|
+
import { store as blockEditorStore } from '../../store';
|
|
17
|
+
export default function BlockParentSelectorMenuItem({
|
|
18
|
+
parentClientId,
|
|
19
|
+
parentBlockType
|
|
20
|
+
}) {
|
|
21
|
+
const isSmallViewport = useViewportMatch('medium', '<');
|
|
22
|
+
const {
|
|
23
|
+
selectBlock
|
|
24
|
+
} = useDispatch(blockEditorStore);
|
|
25
|
+
|
|
26
|
+
// Allows highlighting the parent block outline when focusing or hovering
|
|
27
|
+
// the parent block selector within the child.
|
|
28
|
+
const menuItemRef = useRef();
|
|
29
|
+
const gesturesProps = useShowHoveredOrFocusedGestures({
|
|
30
|
+
ref: menuItemRef,
|
|
31
|
+
highlightParent: true
|
|
32
|
+
});
|
|
33
|
+
if (!isSmallViewport) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return createElement(MenuItem, {
|
|
37
|
+
...gesturesProps,
|
|
38
|
+
ref: menuItemRef,
|
|
39
|
+
icon: createElement(BlockIcon, {
|
|
40
|
+
icon: parentBlockType.icon
|
|
41
|
+
}),
|
|
42
|
+
onClick: () => selectBlock(parentClientId)
|
|
43
|
+
}, sprintf( /* translators: %s: Name of the block's parent. */
|
|
44
|
+
__('Select parent block (%s)'), parentBlockType.title));
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=block-parent-selector-menu-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useRef","MenuItem","useViewportMatch","useDispatch","__","sprintf","BlockIcon","useShowHoveredOrFocusedGestures","store","blockEditorStore","BlockParentSelectorMenuItem","parentClientId","parentBlockType","isSmallViewport","selectBlock","menuItemRef","gesturesProps","ref","highlightParent","createElement","icon","onClick","title"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-parent-selector-menu-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\nimport { MenuItem } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { useShowHoveredOrFocusedGestures } from '../block-toolbar/utils';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function BlockParentSelectorMenuItem( {\n\tparentClientId,\n\tparentBlockType,\n} ) {\n\tconst isSmallViewport = useViewportMatch( 'medium', '<' );\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\t// Allows highlighting the parent block outline when focusing or hovering\n\t// the parent block selector within the child.\n\tconst menuItemRef = useRef();\n\tconst gesturesProps = useShowHoveredOrFocusedGestures( {\n\t\tref: menuItemRef,\n\t\thighlightParent: true,\n\t} );\n\n\tif ( ! isSmallViewport ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...gesturesProps }\n\t\t\tref={ menuItemRef }\n\t\t\ticon={ <BlockIcon icon={ parentBlockType.icon } /> }\n\t\t\tonClick={ () => selectBlock( parentClientId ) }\n\t\t>\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: %s: Name of the block's parent. */\n\t\t\t\t__( 'Select parent block (%s)' ),\n\t\t\t\tparentBlockType.title\n\t\t\t) }\n\t\t</MenuItem>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAE7C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,eAAe;AACrC,SAASC,+BAA+B,QAAQ,wBAAwB;AACxE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AAEvD,eAAe,SAASC,2BAA2BA,CAAE;EACpDC,cAAc;EACdC;AACD,CAAC,EAAG;EACH,MAAMC,eAAe,GAAGX,gBAAgB,CAAE,QAAQ,EAAE,GAAI,CAAC;EACzD,MAAM;IAAEY;EAAY,CAAC,GAAGX,WAAW,CAAEM,gBAAiB,CAAC;;EAEvD;EACA;EACA,MAAMM,WAAW,GAAGf,MAAM,CAAC,CAAC;EAC5B,MAAMgB,aAAa,GAAGT,+BAA+B,CAAE;IACtDU,GAAG,EAAEF,WAAW;IAChBG,eAAe,EAAE;EAClB,CAAE,CAAC;EAEH,IAAK,CAAEL,eAAe,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,OACCM,aAAA,CAAClB,QAAQ;IAAA,GACHe,aAAa;IAClBC,GAAG,EAAGF,WAAa;IACnBK,IAAI,EAAGD,aAAA,CAACb,SAAS;MAACc,IAAI,EAAGR,eAAe,CAACQ;IAAM,CAAE,CAAG;IACpDC,OAAO,EAAGA,CAAA,KAAMP,WAAW,CAAEH,cAAe;EAAG,GAE7CN,OAAO,EACR;EACAD,EAAE,CAAE,0BAA2B,CAAC,EAChCQ,eAAe,CAACU,KACjB,CACS,CAAC;AAEb"}
|