@wordpress/block-editor 12.19.3 → 12.19.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/block-actions/index.js +45 -32
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-bindings-toolbar-indicator/index.js +25 -0
- package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -0
- package/build/components/block-edit/context.js +2 -1
- package/build/components/block-edit/context.js.map +1 -1
- package/build/components/block-edit/index.js +8 -3
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-inspector/index.js +5 -4
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +8 -1
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -3
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.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-settings-dropdown.js +12 -10
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-toolbar/index.js +14 -5
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/global-styles/border-panel.js +21 -8
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/index.js +6 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +80 -23
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/link-control/link-preview.js +4 -1
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/list-view/block-select-button.js +10 -2
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/use-clipboard-handler.js +2 -1
- package/build/components/list-view/use-clipboard-handler.js.map +1 -1
- package/build/components/rich-text/index.js +46 -26
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/use-enter.js +3 -0
- package/build/components/rich-text/use-enter.js.map +1 -1
- package/build/components/url-popover/index.js +3 -3
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/writing-flow/use-clipboard-handler.js +2 -1
- package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build/components/writing-flow/utils.js +23 -6
- package/build/components/writing-flow/utils.js.map +1 -1
- package/build/hooks/block-hooks.js +34 -8
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/border.js +6 -4
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +171 -48
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/private-apis.js +5 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +40 -6
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +0 -10
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +0 -8
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -16
- package/build/store/reducer.js.map +1 -1
- package/build-module/components/block-actions/index.js +45 -32
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-bindings-toolbar-indicator/index.js +18 -0
- package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -0
- package/build-module/components/block-edit/context.js +1 -0
- package/build-module/components/block-edit/context.js.map +1 -1
- package/build-module/components/block-edit/index.js +9 -4
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +6 -5
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +9 -2
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -3
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.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-settings-dropdown.js +12 -10
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +14 -5
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +22 -10
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/index.js +1 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +82 -24
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +2 -2
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +5 -2
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +11 -3
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/use-clipboard-handler.js +3 -2
- package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
- package/build-module/components/rich-text/index.js +47 -28
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/use-enter.js +3 -0
- package/build-module/components/rich-text/use-enter.js.map +1 -1
- package/build-module/components/url-popover/index.js +3 -3
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/writing-flow/use-clipboard-handler.js +3 -2
- package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build-module/components/writing-flow/utils.js +22 -7
- package/build-module/components/writing-flow/utils.js.map +1 -1
- package/build-module/hooks/block-hooks.js +34 -8
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/border.js +7 -5
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +172 -49
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/private-apis.js +5 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +40 -6
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +0 -9
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +0 -6
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -16
- package/build-module/store/reducer.js.map +1 -1
- package/build-style/content-rtl.css +1 -0
- package/build-style/content.css +1 -0
- package/build-style/default-editor-styles-rtl.css +1 -0
- package/build-style/default-editor-styles.css +1 -0
- package/build-style/style-rtl.css +70 -14
- package/build-style/style.css +70 -14
- package/package.json +8 -8
- package/src/components/block-actions/index.js +57 -47
- package/src/components/block-bindings-toolbar-indicator/index.js +20 -0
- package/src/components/block-bindings-toolbar-indicator/style.scss +14 -0
- package/src/components/block-edit/context.js +1 -0
- package/src/components/block-edit/index.js +5 -1
- package/src/components/block-inspector/index.js +7 -5
- package/src/components/block-list/use-block-props/index.js +12 -2
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -7
- package/src/components/block-preview/index.js +6 -1
- package/src/components/block-settings-menu/block-settings-dropdown.js +12 -9
- package/src/components/block-toolbar/index.js +14 -4
- package/src/components/block-toolbar/style.scss +11 -6
- package/src/components/global-styles/border-panel.js +33 -22
- package/src/components/global-styles/index.js +5 -1
- package/src/components/global-styles/shadow-panel-components.js +92 -23
- package/src/components/global-styles/style.scss +33 -10
- package/src/components/inspector-controls-tabs/styles-tab.js +2 -2
- package/src/components/link-control/link-preview.js +9 -2
- package/src/components/link-control/style.scss +9 -0
- package/src/components/list-view/block-select-button.js +16 -2
- package/src/components/list-view/style.scss +8 -0
- package/src/components/list-view/use-clipboard-handler.js +3 -2
- package/src/components/rich-text/index.js +75 -52
- package/src/components/rich-text/use-enter.js +4 -0
- package/src/components/url-popover/index.js +5 -5
- package/src/components/url-popover/style.scss +1 -0
- package/src/components/writing-flow/use-clipboard-handler.js +3 -2
- package/src/components/writing-flow/utils.js +31 -16
- package/src/hooks/block-hooks.js +46 -8
- package/src/hooks/block-hooks.scss +6 -0
- package/src/hooks/border.js +16 -4
- package/src/hooks/use-bindings-attributes.js +215 -65
- package/src/private-apis.js +4 -0
- package/src/store/actions.js +54 -14
- package/src/store/private-actions.js +0 -10
- package/src/store/private-selectors.js +0 -8
- package/src/store/reducer.js +0 -15
- package/src/style.scss +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_compose","_data","_element","_deprecated","_provider","_auto","_editorStyles","_store","_blockList","BlockPreview","blocks","viewportWidth","minHeight","additionalStyles","__experimentalMinHeight","__experimentalPadding","deprecated","since","version","alternative","css","originalSettings","useSelect","select","blockEditorStore","getSettings","settings","useMemo","__unstableIsPreviewMode","renderedBlocks","Array","isArray","length","_react","createElement","ExperimentalBlockEditorProvider","value","default","_default","exports","memo","useBlockPreview","props","layout","styles","undefined","disabledRef","useDisabled","ref","useMergeRefs","children","BlockListItems","renderAppender","className","classnames"],"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","_interopRequireDefault","require","_compose","_data","_element","_deprecated","_provider","_auto","_editorStyles","_store","_blockList","BlockPreview","blocks","viewportWidth","minHeight","additionalStyles","__experimentalMinHeight","__experimentalPadding","deprecated","since","version","alternative","css","originalSettings","useSelect","select","blockEditorStore","getSettings","settings","useMemo","focusMode","__unstableIsPreviewMode","renderedBlocks","Array","isArray","length","_react","createElement","ExperimentalBlockEditorProvider","value","default","_default","exports","memo","useBlockPreview","props","layout","styles","undefined","disabledRef","useDisabled","ref","useMergeRefs","children","BlockListItems","renderAppender","className","classnames"],"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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"}
|
|
@@ -36,11 +36,14 @@ const POPOVER_PROPS = {
|
|
|
36
36
|
placement: 'bottom-start'
|
|
37
37
|
};
|
|
38
38
|
function CopyMenuItem({
|
|
39
|
-
|
|
39
|
+
clientIds,
|
|
40
40
|
onCopy,
|
|
41
41
|
label
|
|
42
42
|
}) {
|
|
43
|
-
const
|
|
43
|
+
const {
|
|
44
|
+
getBlocksByClientId
|
|
45
|
+
} = (0, _data.useSelect)(_store.store);
|
|
46
|
+
const ref = (0, _compose.useCopyToClipboard)(() => (0, _blocks.serialize)(getBlocksByClientId(clientIds)), onCopy);
|
|
44
47
|
const copyMenuItemLabel = label ? label : (0, _i18n.__)('Copy');
|
|
45
48
|
return (0, _react.createElement)(_components.MenuItem, {
|
|
46
49
|
ref: ref
|
|
@@ -185,7 +188,7 @@ function BlockSettingsDropdown({
|
|
|
185
188
|
}, ({
|
|
186
189
|
canCopyStyles,
|
|
187
190
|
canDuplicate,
|
|
188
|
-
|
|
191
|
+
canInsertBlock,
|
|
189
192
|
canMove,
|
|
190
193
|
canRemove,
|
|
191
194
|
onDuplicate,
|
|
@@ -194,8 +197,7 @@ function BlockSettingsDropdown({
|
|
|
194
197
|
onRemove,
|
|
195
198
|
onCopy,
|
|
196
199
|
onPasteStyles,
|
|
197
|
-
onMoveTo
|
|
198
|
-
blocks
|
|
200
|
+
onMoveTo
|
|
199
201
|
}) => (0, _react.createElement)(_components.DropdownMenu, {
|
|
200
202
|
icon: _icons.moreVertical,
|
|
201
203
|
label: (0, _i18n.__)('Options'),
|
|
@@ -216,11 +218,11 @@ function BlockSettingsDropdown({
|
|
|
216
218
|
} else if (isMatch('core/block-editor/duplicate', event) && canDuplicate) {
|
|
217
219
|
event.preventDefault();
|
|
218
220
|
updateSelectionAfterDuplicate(onDuplicate());
|
|
219
|
-
} else if (isMatch('core/block-editor/insert-after', event) &&
|
|
221
|
+
} else if (isMatch('core/block-editor/insert-after', event) && canInsertBlock) {
|
|
220
222
|
event.preventDefault();
|
|
221
223
|
setOpenedBlockSettingsMenu(undefined);
|
|
222
224
|
onInsertAfter();
|
|
223
|
-
} else if (isMatch('core/block-editor/insert-before', event) &&
|
|
225
|
+
} else if (isMatch('core/block-editor/insert-before', event) && canInsertBlock) {
|
|
224
226
|
event.preventDefault();
|
|
225
227
|
setOpenedBlockSettingsMenu(undefined);
|
|
226
228
|
onInsertBefore();
|
|
@@ -240,19 +242,19 @@ function BlockSettingsDropdown({
|
|
|
240
242
|
}), count === 1 && (0, _react.createElement)(_blockHtmlConvertButton.default, {
|
|
241
243
|
clientId: firstBlockClientId
|
|
242
244
|
}), (0, _react.createElement)(CopyMenuItem, {
|
|
243
|
-
|
|
245
|
+
clientIds: clientIds,
|
|
244
246
|
onCopy: onCopy
|
|
245
247
|
}), canDuplicate && (0, _react.createElement)(_components.MenuItem, {
|
|
246
248
|
onClick: (0, _compose.pipe)(onClose, onDuplicate, updateSelectionAfterDuplicate),
|
|
247
249
|
shortcut: shortcuts.duplicate
|
|
248
|
-
}, (0, _i18n.__)('Duplicate')),
|
|
250
|
+
}, (0, _i18n.__)('Duplicate')), canInsertBlock && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.MenuItem, {
|
|
249
251
|
onClick: (0, _compose.pipe)(onClose, onInsertBefore),
|
|
250
252
|
shortcut: shortcuts.insertBefore
|
|
251
253
|
}, (0, _i18n.__)('Add before')), (0, _react.createElement)(_components.MenuItem, {
|
|
252
254
|
onClick: (0, _compose.pipe)(onClose, onInsertAfter),
|
|
253
255
|
shortcut: shortcuts.insertAfter
|
|
254
256
|
}, (0, _i18n.__)('Add after')))), canCopyStyles && (0, _react.createElement)(_components.MenuGroup, null, (0, _react.createElement)(CopyMenuItem, {
|
|
255
|
-
|
|
257
|
+
clientIds: clientIds,
|
|
256
258
|
onCopy: onCopy,
|
|
257
259
|
label: (0, _i18n.__)('Copy styles')
|
|
258
260
|
}), (0, _react.createElement)(_components.MenuItem, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blocks","require","_components","_data","_icons","_element","_i18n","_keyboardShortcuts","_compose","_blockActions","_interopRequireDefault","_blockIcon","_blockHtmlConvertButton","_blockSettingsMenuFirstItem","_blockSettingsMenuControls","_store","_lockUnlock","_utils","POPOVER_PROPS","className","placement","CopyMenuItem","blocks","onCopy","label","ref","useCopyToClipboard","serialize","copyMenuItemLabel","__","_react","createElement","MenuItem","ParentSelectorMenuItem","parentClientId","parentBlockType","isSmallViewport","useViewportMatch","selectBlock","useDispatch","blockEditorStore","menuItemRef","useRef","gesturesProps","useShowHoveredOrFocusedGestures","highlightParent","icon","default","onClick","sprintf","title","BlockSettingsDropdown","block","clientIds","__experimentalSelectBlock","children","__unstableDisplayLocation","props","currentClientId","clientId","blockClientIds","Array","isArray","count","length","firstBlockClientId","firstParentClientId","onlyBlock","previousBlockClientId","selectedBlockClientIds","useSelect","select","getBlockCount","getBlockName","getBlockRootClientId","getPreviousBlockClientId","getSelectedBlockClientIds","getBlockAttributes","getActiveBlockVariation","blocksStore","_firstParentClientId","parentBlockName","getBlockType","getBlockOrder","openedBlockSettingsMenu","unlock","getOpenedBlockSettingsMenu","setOpenedBlockSettingsMenu","shortcuts","getShortcutRepresentation","keyboardShortcutsStore","duplicate","remove","insertAfter","insertBefore","isMatch","__unstableUseShortcutEventMatch","hasSelectedBlocks","updateSelectionAfterDuplicate","useCallback","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","__experimentalUpdateSelection","canCopyStyles","canDuplicate","canInsertDefaultBlock","canMove","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","onMoveTo","DropdownMenu","moreVertical","popoverProps","noIcons","menuProps","onKeyDown","event","defaultPrevented","preventDefault","onClose","Fragment","MenuGroup","Slot","fillProps","pipe","shortcut","Children","map","child","cloneElement","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockType,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tChildren,\n\tcloneElement,\n\tuseCallback,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tstore as keyboardShortcutsStore,\n\t__unstableUseShortcutEventMatch,\n} from '@wordpress/keyboard-shortcuts';\nimport { pipe, useCopyToClipboard, useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport BlockIcon from '../block-icon';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useShowHoveredOrFocusedGestures } from '../block-toolbar/utils';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nfunction CopyMenuItem( { blocks, onCopy, label } ) {\n\tconst ref = useCopyToClipboard( () => serialize( blocks ), onCopy );\n\tconst copyMenuItemLabel = label ? label : __( 'Copy' );\n\treturn <MenuItem ref={ ref }>{ copyMenuItemLabel }</MenuItem>;\n}\n\nfunction ParentSelectorMenuItem( { parentClientId, parentBlockType } ) {\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\nexport function BlockSettingsDropdown( {\n\tblock,\n\tclientIds,\n\t__experimentalSelectBlock,\n\tchildren,\n\t__unstableDisplayLocation,\n\t...props\n} ) {\n\t// Get the client id of the current block for this menu, if one is set.\n\tconst currentClientId = block?.clientId;\n\tconst blockClientIds = Array.isArray( clientIds )\n\t\t? clientIds\n\t\t: [ clientIds ];\n\tconst count = blockClientIds.length;\n\tconst firstBlockClientId = blockClientIds[ 0 ];\n\tconst {\n\t\tfirstParentClientId,\n\t\tonlyBlock,\n\t\tparentBlockType,\n\t\tpreviousBlockClientId,\n\t\tselectedBlockClientIds,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\n\t\t\tconst _firstParentClientId =\n\t\t\t\tgetBlockRootClientId( firstBlockClientId );\n\t\t\tconst parentBlockName =\n\t\t\t\t_firstParentClientId && getBlockName( _firstParentClientId );\n\n\t\t\treturn {\n\t\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\t\tonlyBlock: 1 === getBlockCount( _firstParentClientId ),\n\t\t\t\tparentBlockType:\n\t\t\t\t\t_firstParentClientId &&\n\t\t\t\t\t( getActiveBlockVariation(\n\t\t\t\t\t\tparentBlockName,\n\t\t\t\t\t\tgetBlockAttributes( _firstParentClientId )\n\t\t\t\t\t) ||\n\t\t\t\t\t\tgetBlockType( parentBlockName ) ),\n\t\t\t\tpreviousBlockClientId:\n\t\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ),\n\t\t\t\tselectedBlockClientIds: getSelectedBlockClientIds(),\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\tconst { getBlockOrder, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst openedBlockSettingsMenu = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( blockEditorStore ) ).getOpenedBlockSettingsMenu(),\n\t\t[]\n\t);\n\n\tconst { setOpenedBlockSettingsMenu } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst shortcuts = useSelect( ( select ) => {\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\tduplicate: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/duplicate'\n\t\t\t),\n\t\t\tremove: getShortcutRepresentation( 'core/block-editor/remove' ),\n\t\t\tinsertAfter: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-after'\n\t\t\t),\n\t\t\tinsertBefore: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-before'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst isMatch = __unstableUseShortcutEventMatch();\n\tconst hasSelectedBlocks = selectedBlockClientIds.length > 0;\n\n\tconst updateSelectionAfterDuplicate = useCallback(\n\t\tasync ( clientIdsPromise ) => {\n\t\t\tif ( __experimentalSelectBlock ) {\n\t\t\t\tconst ids = await clientIdsPromise;\n\t\t\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t\t\t__experimentalSelectBlock( ids[ 0 ], false );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ __experimentalSelectBlock ]\n\t);\n\n\tconst updateSelectionAfterRemove = useCallback( () => {\n\t\tif ( __experimentalSelectBlock ) {\n\t\t\tlet blockToFocus = previousBlockClientId || firstParentClientId;\n\n\t\t\t// Focus the first block if there's no previous block nor parent block.\n\t\t\tif ( ! blockToFocus ) {\n\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t}\n\n\t\t\t// Only update the selection if the original selection is removed.\n\t\t\tconst shouldUpdateSelection =\n\t\t\t\thasSelectedBlocks && getSelectedBlockClientIds().length === 0;\n\n\t\t\t__experimentalSelectBlock( blockToFocus, shouldUpdateSelection );\n\t\t}\n\t}, [\n\t\t__experimentalSelectBlock,\n\t\tpreviousBlockClientId,\n\t\tfirstParentClientId,\n\t\tgetBlockOrder,\n\t\thasSelectedBlocks,\n\t\tgetSelectedBlockClientIds,\n\t] );\n\n\t// This can occur when the selected block (the parent)\n\t// displays child blocks within a List View.\n\tconst parentBlockIsSelected =\n\t\tselectedBlockClientIds?.includes( firstParentClientId );\n\n\t// When a currentClientId is in use, treat the menu as a controlled component.\n\t// This ensures that only one block settings menu is open at a time.\n\t// This is a temporary solution to work around an issue with `onFocusOutside`\n\t// where it does not allow a dropdown to be closed if focus was never within\n\t// the dropdown to begin with. Examples include a user either CMD+Clicking or\n\t// right clicking into an inactive window.\n\t// See: https://github.com/WordPress/gutenberg/pull/54083\n\tconst open = ! currentClientId\n\t\t? undefined\n\t\t: openedBlockSettingsMenu === currentClientId || false;\n\n\tconst onToggle = useCallback(\n\t\t( localOpen ) => {\n\t\t\tif ( localOpen && openedBlockSettingsMenu !== currentClientId ) {\n\t\t\t\tsetOpenedBlockSettingsMenu( currentClientId );\n\t\t\t} else if (\n\t\t\t\t! localOpen &&\n\t\t\t\topenedBlockSettingsMenu &&\n\t\t\t\topenedBlockSettingsMenu === currentClientId\n\t\t\t) {\n\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t}\n\t\t},\n\t\t[ currentClientId, openedBlockSettingsMenu, setOpenedBlockSettingsMenu ]\n\t);\n\n\treturn (\n\t\t<BlockActions\n\t\t\tclientIds={ clientIds }\n\t\t\t__experimentalUpdateSelection={ ! __experimentalSelectBlock }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tcanCopyStyles,\n\t\t\t\tcanDuplicate,\n\t\t\t\tcanInsertDefaultBlock,\n\t\t\t\tcanMove,\n\t\t\t\tcanRemove,\n\t\t\t\tonDuplicate,\n\t\t\t\tonInsertAfter,\n\t\t\t\tonInsertBefore,\n\t\t\t\tonRemove,\n\t\t\t\tonCopy,\n\t\t\t\tonPasteStyles,\n\t\t\t\tonMoveTo,\n\t\t\t\tblocks,\n\t\t\t} ) => (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\topen={ open }\n\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\tnoIcons\n\t\t\t\t\tmenuProps={ {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * @param {KeyboardEvent} event\n\t\t\t\t\t\t */\n\t\t\t\t\t\tonKeyDown( event ) {\n\t\t\t\t\t\t\tif ( event.defaultPrevented ) return;\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tisMatch( 'core/block-editor/remove', event ) &&\n\t\t\t\t\t\t\t\tcanRemove\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tupdateSelectionAfterRemove( onRemove() );\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/duplicate',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanDuplicate\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate( onDuplicate() );\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/insert-after',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanInsertDefaultBlock\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\t\t\t\t\tonInsertAfter();\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/insert-before',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanInsertDefaultBlock\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\t\t\t\t\tonInsertBefore();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ! parentBlockIsSelected &&\n\t\t\t\t\t\t\t\t\t!! firstParentClientId && (\n\t\t\t\t\t\t\t\t\t\t<ParentSelectorMenuItem\n\t\t\t\t\t\t\t\t\t\t\tparentClientId={\n\t\t\t\t\t\t\t\t\t\t\t\tfirstParentClientId\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tparentBlockType={ parentBlockType }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\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\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.duplicate }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canInsertDefaultBlock && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertBefore }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertAfter }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\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</MenuGroup>\n\t\t\t\t\t\t\t{ canCopyStyles && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy styles' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<MenuItem onClick={ onPasteStyles }>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Paste styles' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\tcanMove,\n\t\t\t\t\t\t\t\t\tonMoveTo,\n\t\t\t\t\t\t\t\t\tonlyBlock,\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\tfirstBlockClientId,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t__unstableDisplayLocation={\n\t\t\t\t\t\t\t\t\t__unstableDisplayLocation\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterRemove\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.remove }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_blocks","require","_components","_data","_icons","_element","_i18n","_keyboardShortcuts","_compose","_blockActions","_interopRequireDefault","_blockIcon","_blockHtmlConvertButton","_blockSettingsMenuFirstItem","_blockSettingsMenuControls","_store","_lockUnlock","_utils","POPOVER_PROPS","className","placement","CopyMenuItem","clientIds","onCopy","label","getBlocksByClientId","useSelect","blockEditorStore","ref","useCopyToClipboard","serialize","copyMenuItemLabel","__","_react","createElement","MenuItem","ParentSelectorMenuItem","parentClientId","parentBlockType","isSmallViewport","useViewportMatch","selectBlock","useDispatch","menuItemRef","useRef","gesturesProps","useShowHoveredOrFocusedGestures","highlightParent","icon","default","onClick","sprintf","title","BlockSettingsDropdown","block","__experimentalSelectBlock","children","__unstableDisplayLocation","props","currentClientId","clientId","blockClientIds","Array","isArray","count","length","firstBlockClientId","firstParentClientId","onlyBlock","previousBlockClientId","selectedBlockClientIds","select","getBlockCount","getBlockName","getBlockRootClientId","getPreviousBlockClientId","getSelectedBlockClientIds","getBlockAttributes","getActiveBlockVariation","blocksStore","_firstParentClientId","parentBlockName","getBlockType","getBlockOrder","openedBlockSettingsMenu","unlock","getOpenedBlockSettingsMenu","setOpenedBlockSettingsMenu","shortcuts","getShortcutRepresentation","keyboardShortcutsStore","duplicate","remove","insertAfter","insertBefore","isMatch","__unstableUseShortcutEventMatch","hasSelectedBlocks","updateSelectionAfterDuplicate","useCallback","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","__experimentalUpdateSelection","canCopyStyles","canDuplicate","canInsertBlock","canMove","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","onMoveTo","DropdownMenu","moreVertical","popoverProps","noIcons","menuProps","onKeyDown","event","defaultPrevented","preventDefault","onClose","Fragment","MenuGroup","Slot","fillProps","pipe","shortcut","Children","map","child","cloneElement","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockType,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tChildren,\n\tcloneElement,\n\tuseCallback,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tstore as keyboardShortcutsStore,\n\t__unstableUseShortcutEventMatch,\n} from '@wordpress/keyboard-shortcuts';\nimport { pipe, useCopyToClipboard, useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport BlockIcon from '../block-icon';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useShowHoveredOrFocusedGestures } from '../block-toolbar/utils';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nfunction CopyMenuItem( { clientIds, onCopy, label } ) {\n\tconst { getBlocksByClientId } = useSelect( blockEditorStore );\n\tconst ref = useCopyToClipboard(\n\t\t() => serialize( getBlocksByClientId( clientIds ) ),\n\t\tonCopy\n\t);\n\tconst copyMenuItemLabel = label ? label : __( 'Copy' );\n\treturn <MenuItem ref={ ref }>{ copyMenuItemLabel }</MenuItem>;\n}\n\nfunction ParentSelectorMenuItem( { parentClientId, parentBlockType } ) {\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\nexport function BlockSettingsDropdown( {\n\tblock,\n\tclientIds,\n\t__experimentalSelectBlock,\n\tchildren,\n\t__unstableDisplayLocation,\n\t...props\n} ) {\n\t// Get the client id of the current block for this menu, if one is set.\n\tconst currentClientId = block?.clientId;\n\tconst blockClientIds = Array.isArray( clientIds )\n\t\t? clientIds\n\t\t: [ clientIds ];\n\tconst count = blockClientIds.length;\n\tconst firstBlockClientId = blockClientIds[ 0 ];\n\tconst {\n\t\tfirstParentClientId,\n\t\tonlyBlock,\n\t\tparentBlockType,\n\t\tpreviousBlockClientId,\n\t\tselectedBlockClientIds,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\n\t\t\tconst _firstParentClientId =\n\t\t\t\tgetBlockRootClientId( firstBlockClientId );\n\t\t\tconst parentBlockName =\n\t\t\t\t_firstParentClientId && getBlockName( _firstParentClientId );\n\n\t\t\treturn {\n\t\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\t\tonlyBlock: 1 === getBlockCount( _firstParentClientId ),\n\t\t\t\tparentBlockType:\n\t\t\t\t\t_firstParentClientId &&\n\t\t\t\t\t( getActiveBlockVariation(\n\t\t\t\t\t\tparentBlockName,\n\t\t\t\t\t\tgetBlockAttributes( _firstParentClientId )\n\t\t\t\t\t) ||\n\t\t\t\t\t\tgetBlockType( parentBlockName ) ),\n\t\t\t\tpreviousBlockClientId:\n\t\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ),\n\t\t\t\tselectedBlockClientIds: getSelectedBlockClientIds(),\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\tconst { getBlockOrder, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst openedBlockSettingsMenu = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( blockEditorStore ) ).getOpenedBlockSettingsMenu(),\n\t\t[]\n\t);\n\n\tconst { setOpenedBlockSettingsMenu } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst shortcuts = useSelect( ( select ) => {\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\tduplicate: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/duplicate'\n\t\t\t),\n\t\t\tremove: getShortcutRepresentation( 'core/block-editor/remove' ),\n\t\t\tinsertAfter: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-after'\n\t\t\t),\n\t\t\tinsertBefore: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-before'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst isMatch = __unstableUseShortcutEventMatch();\n\tconst hasSelectedBlocks = selectedBlockClientIds.length > 0;\n\n\tconst updateSelectionAfterDuplicate = useCallback(\n\t\tasync ( clientIdsPromise ) => {\n\t\t\tif ( __experimentalSelectBlock ) {\n\t\t\t\tconst ids = await clientIdsPromise;\n\t\t\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t\t\t__experimentalSelectBlock( ids[ 0 ], false );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ __experimentalSelectBlock ]\n\t);\n\n\tconst updateSelectionAfterRemove = useCallback( () => {\n\t\tif ( __experimentalSelectBlock ) {\n\t\t\tlet blockToFocus = previousBlockClientId || firstParentClientId;\n\n\t\t\t// Focus the first block if there's no previous block nor parent block.\n\t\t\tif ( ! blockToFocus ) {\n\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t}\n\n\t\t\t// Only update the selection if the original selection is removed.\n\t\t\tconst shouldUpdateSelection =\n\t\t\t\thasSelectedBlocks && getSelectedBlockClientIds().length === 0;\n\n\t\t\t__experimentalSelectBlock( blockToFocus, shouldUpdateSelection );\n\t\t}\n\t}, [\n\t\t__experimentalSelectBlock,\n\t\tpreviousBlockClientId,\n\t\tfirstParentClientId,\n\t\tgetBlockOrder,\n\t\thasSelectedBlocks,\n\t\tgetSelectedBlockClientIds,\n\t] );\n\n\t// This can occur when the selected block (the parent)\n\t// displays child blocks within a List View.\n\tconst parentBlockIsSelected =\n\t\tselectedBlockClientIds?.includes( firstParentClientId );\n\n\t// When a currentClientId is in use, treat the menu as a controlled component.\n\t// This ensures that only one block settings menu is open at a time.\n\t// This is a temporary solution to work around an issue with `onFocusOutside`\n\t// where it does not allow a dropdown to be closed if focus was never within\n\t// the dropdown to begin with. Examples include a user either CMD+Clicking or\n\t// right clicking into an inactive window.\n\t// See: https://github.com/WordPress/gutenberg/pull/54083\n\tconst open = ! currentClientId\n\t\t? undefined\n\t\t: openedBlockSettingsMenu === currentClientId || false;\n\n\tconst onToggle = useCallback(\n\t\t( localOpen ) => {\n\t\t\tif ( localOpen && openedBlockSettingsMenu !== currentClientId ) {\n\t\t\t\tsetOpenedBlockSettingsMenu( currentClientId );\n\t\t\t} else if (\n\t\t\t\t! localOpen &&\n\t\t\t\topenedBlockSettingsMenu &&\n\t\t\t\topenedBlockSettingsMenu === currentClientId\n\t\t\t) {\n\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t}\n\t\t},\n\t\t[ currentClientId, openedBlockSettingsMenu, setOpenedBlockSettingsMenu ]\n\t);\n\n\treturn (\n\t\t<BlockActions\n\t\t\tclientIds={ clientIds }\n\t\t\t__experimentalUpdateSelection={ ! __experimentalSelectBlock }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tcanCopyStyles,\n\t\t\t\tcanDuplicate,\n\t\t\t\tcanInsertBlock,\n\t\t\t\tcanMove,\n\t\t\t\tcanRemove,\n\t\t\t\tonDuplicate,\n\t\t\t\tonInsertAfter,\n\t\t\t\tonInsertBefore,\n\t\t\t\tonRemove,\n\t\t\t\tonCopy,\n\t\t\t\tonPasteStyles,\n\t\t\t\tonMoveTo,\n\t\t\t} ) => (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\topen={ open }\n\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\tnoIcons\n\t\t\t\t\tmenuProps={ {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * @param {KeyboardEvent} event\n\t\t\t\t\t\t */\n\t\t\t\t\t\tonKeyDown( event ) {\n\t\t\t\t\t\t\tif ( event.defaultPrevented ) return;\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tisMatch( 'core/block-editor/remove', event ) &&\n\t\t\t\t\t\t\t\tcanRemove\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tupdateSelectionAfterRemove( onRemove() );\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/duplicate',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanDuplicate\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate( onDuplicate() );\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/insert-after',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanInsertBlock\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\t\t\t\t\tonInsertAfter();\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/insert-before',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanInsertBlock\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\t\t\t\t\tonInsertBefore();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ! parentBlockIsSelected &&\n\t\t\t\t\t\t\t\t\t!! firstParentClientId && (\n\t\t\t\t\t\t\t\t\t\t<ParentSelectorMenuItem\n\t\t\t\t\t\t\t\t\t\t\tparentClientId={\n\t\t\t\t\t\t\t\t\t\t\t\tfirstParentClientId\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tparentBlockType={ parentBlockType }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\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\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.duplicate }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canInsertBlock && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertBefore }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertAfter }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\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</MenuGroup>\n\t\t\t\t\t\t\t{ canCopyStyles && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy styles' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<MenuItem onClick={ onPasteStyles }>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Paste styles' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\tcanMove,\n\t\t\t\t\t\t\t\t\tonMoveTo,\n\t\t\t\t\t\t\t\t\tonlyBlock,\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\tfirstBlockClientId,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t__unstableDisplayLocation={\n\t\t\t\t\t\t\t\t\t__unstableDisplayLocation\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterRemove\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.remove }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"],"mappings":"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"}
|
|
@@ -28,6 +28,8 @@ var _store = require("../../store");
|
|
|
28
28
|
var _blockNameContext = _interopRequireDefault(require("./block-name-context"));
|
|
29
29
|
var _navigableToolbar = _interopRequireDefault(require("../navigable-toolbar"));
|
|
30
30
|
var _useHasBlockControls = require("../block-controls/use-has-block-controls");
|
|
31
|
+
var _blockBindingsToolbarIndicator = _interopRequireDefault(require("../block-bindings-toolbar-indicator"));
|
|
32
|
+
var _useBindingsAttributes = require("../../hooks/use-bindings-attributes");
|
|
31
33
|
/**
|
|
32
34
|
* External dependencies
|
|
33
35
|
*/
|
|
@@ -64,8 +66,10 @@ function PrivateBlockToolbar({
|
|
|
64
66
|
blockClientIds,
|
|
65
67
|
isDefaultEditingMode,
|
|
66
68
|
blockType,
|
|
69
|
+
blockName,
|
|
67
70
|
shouldShowVisualToolbar,
|
|
68
|
-
showParentSelector
|
|
71
|
+
showParentSelector,
|
|
72
|
+
isUsingBindings
|
|
69
73
|
} = (0, _data.useSelect)(select => {
|
|
70
74
|
const {
|
|
71
75
|
getBlockName,
|
|
@@ -74,7 +78,8 @@ function PrivateBlockToolbar({
|
|
|
74
78
|
getSelectedBlockClientIds,
|
|
75
79
|
isBlockValid,
|
|
76
80
|
getBlockRootClientId,
|
|
77
|
-
getBlockEditingMode
|
|
81
|
+
getBlockEditingMode,
|
|
82
|
+
getBlockAttributes
|
|
78
83
|
} = select(_store.store);
|
|
79
84
|
const selectedBlockClientIds = getSelectedBlockClientIds();
|
|
80
85
|
const selectedBlockClientId = selectedBlockClientIds[0];
|
|
@@ -84,16 +89,20 @@ function PrivateBlockToolbar({
|
|
|
84
89
|
const parentBlockName = getBlockName(firstParentClientId);
|
|
85
90
|
const parentBlockType = (0, _blocks.getBlockType)(parentBlockName);
|
|
86
91
|
const _isDefaultEditingMode = getBlockEditingMode(selectedBlockClientId) === 'default';
|
|
92
|
+
const _blockName = getBlockName(selectedBlockClientId);
|
|
87
93
|
const isValid = selectedBlockClientIds.every(id => isBlockValid(id));
|
|
88
94
|
const isVisual = selectedBlockClientIds.every(id => getBlockMode(id) === 'visual');
|
|
95
|
+
const _isUsingBindings = !!getBlockAttributes(selectedBlockClientId)?.metadata?.bindings;
|
|
89
96
|
return {
|
|
90
97
|
blockClientId: selectedBlockClientId,
|
|
91
98
|
blockClientIds: selectedBlockClientIds,
|
|
92
99
|
isDefaultEditingMode: _isDefaultEditingMode,
|
|
93
|
-
|
|
100
|
+
blockName: _blockName,
|
|
101
|
+
blockType: selectedBlockClientId && (0, _blocks.getBlockType)(_blockName),
|
|
94
102
|
shouldShowVisualToolbar: isValid && isVisual,
|
|
95
103
|
rootClientId: blockRootClientId,
|
|
96
|
-
showParentSelector: parentBlockType && getBlockEditingMode(firstParentClientId) === 'default' && (0, _blocks.hasBlockSupport)(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length === 1 && _isDefaultEditingMode
|
|
104
|
+
showParentSelector: parentBlockType && getBlockEditingMode(firstParentClientId) === 'default' && (0, _blocks.hasBlockSupport)(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length === 1 && _isDefaultEditingMode,
|
|
105
|
+
isUsingBindings: _isUsingBindings
|
|
97
106
|
};
|
|
98
107
|
}, []);
|
|
99
108
|
const toolbarWrapperRef = (0, _element.useRef)(null);
|
|
@@ -138,7 +147,7 @@ function PrivateBlockToolbar({
|
|
|
138
147
|
}, (0, _react.createElement)("div", {
|
|
139
148
|
ref: toolbarWrapperRef,
|
|
140
149
|
className: innerClasses
|
|
141
|
-
}, !isMultiToolbar && isLargeViewport && isDefaultEditingMode && (0, _react.createElement)(_blockParentSelector.default, null), (shouldShowVisualToolbar || isMultiToolbar) && isDefaultEditingMode && (0, _react.createElement)("div", {
|
|
150
|
+
}, !isMultiToolbar && isLargeViewport && isDefaultEditingMode && (0, _react.createElement)(_blockParentSelector.default, null), isUsingBindings && (0, _useBindingsAttributes.canBindBlock)(blockName) && (0, _react.createElement)(_blockBindingsToolbarIndicator.default, null), (shouldShowVisualToolbar || isMultiToolbar) && isDefaultEditingMode && (0, _react.createElement)("div", {
|
|
142
151
|
ref: nodeRef,
|
|
143
152
|
...showHoveredOrFocusedGestures
|
|
144
153
|
}, (0, _react.createElement)(_components.ToolbarGroup, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_data","_element","_compose","_blocks","_components","_blockMover","_blockParentSelector","_blockSwitcher","_blockControls","_blockToolbarLastItem","_blockSettingsMenu","_blockLock","_convertToGroupButtons","_blockEditVisuallyButton","_utils","_store","_blockNameContext","_navigableToolbar","_useHasBlockControls","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","shouldShowVisualToolbar","showParentSelector","useSelect","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getBlockEditingMode","blockEditorStore","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","getBlockType","_isDefaultEditingMode","isValid","every","id","isVisual","rootClientId","hasBlockSupport","toolbarWrapperRef","useRef","nodeRef","showHoveredOrFocusedGestures","useShowHoveredOrFocusedGestures","ref","isLargeViewport","useViewportMatch","isToolbarEnabled","hasAnyBlockControls","useHasAnyBlockControls","isMultiToolbar","isSynced","isReusableBlock","isTemplatePart","classes","classnames","innerClasses","_react","createElement","default","focusEditorOnEscape","className","__","undefined","key","ToolbarGroup","clientIds","BlockLockToolbar","clientId","BlockGroupToolbar","Fragment","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\thasBlockSupport,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowHoveredOrFocusedGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport NavigableToolbar from '../navigable-toolbar';\nimport { useHasAnyBlockControls } from '../block-controls/use-has-block-controls';\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {boolean} props.focusOnMount Focus the toolbar when mounted.\n * @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus.\n * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport function PrivateBlockToolbar( {\n\thideDragHandle,\n\tfocusOnMount,\n\t__experimentalInitialIndex,\n\t__experimentalOnIndexChange,\n\tvariant = 'unstyled',\n} ) {\n\tconst {\n\t\tblockClientId,\n\t\tblockClientIds,\n\t\tisDefaultEditingMode,\n\t\tblockType,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockEditingMode,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst blockRootClientId = getBlockRootClientId( selectedBlockClientId );\n\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\tconst firstParentClientId = parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( firstParentClientId );\n\t\tconst parentBlockType = getBlockType( parentBlockName );\n\t\tconst _isDefaultEditingMode =\n\t\t\tgetBlockEditingMode( selectedBlockClientId ) === 'default';\n\t\tconst isValid = selectedBlockClientIds.every( ( id ) =>\n\t\t\tisBlockValid( id )\n\t\t);\n\t\tconst isVisual = selectedBlockClientIds.every(\n\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t);\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockType:\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) ),\n\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\trootClientId: blockRootClientId,\n\t\t\tshowParentSelector:\n\t\t\t\tparentBlockType &&\n\t\t\t\tgetBlockEditingMode( firstParentClientId ) === 'default' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\tparentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t) &&\n\t\t\t\tselectedBlockClientIds.length === 1 &&\n\t\t\t\t_isDefaultEditingMode,\n\t\t};\n\t}, [] );\n\n\tconst toolbarWrapperRef = useRef( null );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t} );\n\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tconst isToolbarEnabled =\n\t\tblockType &&\n\t\thasBlockSupport( blockType, '__experimentalToolbar', true );\n\tconst hasAnyBlockControls = useHasAnyBlockControls();\n\n\tif (\n\t\t! isToolbarEnabled ||\n\t\t( ! isDefaultEditingMode && ! hasAnyBlockControls )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = classnames( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': showParentSelector,\n\t} );\n\n\tconst innerClasses = classnames( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusEditorOnEscape\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t// The variant is applied as \"toolbar\" when undefined, which is the black border style of the dropdown from the toolbar popover.\n\t\t\tvariant={ variant === 'toolbar' ? undefined : variant }\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t__experimentalInitialIndex={ __experimentalInitialIndex }\n\t\t\t__experimentalOnIndexChange={ __experimentalOnIndexChange }\n\t\t\t// Resets the index whenever the active block changes so\n\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\tkey={ blockClientId }\n\t\t>\n\t\t\t<div ref={ toolbarWrapperRef } className={ innerClasses }>\n\t\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t\tisLargeViewport &&\n\t\t\t\t\tisDefaultEditingMode && <BlockParentSelector /> }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\tisDefaultEditingMode && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ nodeRef }\n\t\t\t\t\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\t\tclientId={ blockClientId }\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\t<BlockMover\n\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t\t<BlockGroupToolbar />\n\t\t\t\t) }\n\t\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t\t{ isDefaultEditingMode && (\n\t\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport default function BlockToolbar( { hideDragHandle, variant } ) {\n\treturn (\n\t\t<PrivateBlockToolbar\n\t\t\thideDragHandle={ hideDragHandle }\n\t\t\tvariant={ variant }\n\t\t\tfocusOnMount={ undefined }\n\t\t\t__experimentalInitialIndex={ undefined }\n\t\t\t__experimentalOnIndexChange={ undefined }\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_data","_element","_compose","_blocks","_components","_blockMover","_blockParentSelector","_blockSwitcher","_blockControls","_blockToolbarLastItem","_blockSettingsMenu","_blockLock","_convertToGroupButtons","_blockEditVisuallyButton","_utils","_store","_blockNameContext","_navigableToolbar","_useHasBlockControls","_blockBindingsToolbarIndicator","_useBindingsAttributes","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","blockName","shouldShowVisualToolbar","showParentSelector","isUsingBindings","useSelect","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getBlockEditingMode","getBlockAttributes","blockEditorStore","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","getBlockType","_isDefaultEditingMode","_blockName","isValid","every","id","isVisual","_isUsingBindings","metadata","bindings","rootClientId","hasBlockSupport","toolbarWrapperRef","useRef","nodeRef","showHoveredOrFocusedGestures","useShowHoveredOrFocusedGestures","ref","isLargeViewport","useViewportMatch","isToolbarEnabled","hasAnyBlockControls","useHasAnyBlockControls","isMultiToolbar","isSynced","isReusableBlock","isTemplatePart","classes","classnames","innerClasses","_react","createElement","default","focusEditorOnEscape","className","__","undefined","key","canBindBlock","ToolbarGroup","clientIds","BlockLockToolbar","clientId","BlockGroupToolbar","Fragment","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\thasBlockSupport,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowHoveredOrFocusedGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport NavigableToolbar from '../navigable-toolbar';\nimport { useHasAnyBlockControls } from '../block-controls/use-has-block-controls';\nimport BlockBindingsIndicator from '../block-bindings-toolbar-indicator';\nimport { canBindBlock } from '../../hooks/use-bindings-attributes';\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {boolean} props.focusOnMount Focus the toolbar when mounted.\n * @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus.\n * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport function PrivateBlockToolbar( {\n\thideDragHandle,\n\tfocusOnMount,\n\t__experimentalInitialIndex,\n\t__experimentalOnIndexChange,\n\tvariant = 'unstyled',\n} ) {\n\tconst {\n\t\tblockClientId,\n\t\tblockClientIds,\n\t\tisDefaultEditingMode,\n\t\tblockType,\n\t\tblockName,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t\tisUsingBindings,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockEditingMode,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst blockRootClientId = getBlockRootClientId( selectedBlockClientId );\n\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\tconst firstParentClientId = parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( firstParentClientId );\n\t\tconst parentBlockType = getBlockType( parentBlockName );\n\t\tconst _isDefaultEditingMode =\n\t\t\tgetBlockEditingMode( selectedBlockClientId ) === 'default';\n\t\tconst _blockName = getBlockName( selectedBlockClientId );\n\t\tconst isValid = selectedBlockClientIds.every( ( id ) =>\n\t\t\tisBlockValid( id )\n\t\t);\n\t\tconst isVisual = selectedBlockClientIds.every(\n\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t);\n\t\tconst _isUsingBindings = !! getBlockAttributes( selectedBlockClientId )\n\t\t\t?.metadata?.bindings;\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockName: _blockName,\n\t\t\tblockType: selectedBlockClientId && getBlockType( _blockName ),\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\trootClientId: blockRootClientId,\n\t\t\tshowParentSelector:\n\t\t\t\tparentBlockType &&\n\t\t\t\tgetBlockEditingMode( firstParentClientId ) === 'default' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\tparentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t) &&\n\t\t\t\tselectedBlockClientIds.length === 1 &&\n\t\t\t\t_isDefaultEditingMode,\n\t\t\tisUsingBindings: _isUsingBindings,\n\t\t};\n\t}, [] );\n\n\tconst toolbarWrapperRef = useRef( null );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t} );\n\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tconst isToolbarEnabled =\n\t\tblockType &&\n\t\thasBlockSupport( blockType, '__experimentalToolbar', true );\n\tconst hasAnyBlockControls = useHasAnyBlockControls();\n\n\tif (\n\t\t! isToolbarEnabled ||\n\t\t( ! isDefaultEditingMode && ! hasAnyBlockControls )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = classnames( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': showParentSelector,\n\t} );\n\n\tconst innerClasses = classnames( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusEditorOnEscape\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t// The variant is applied as \"toolbar\" when undefined, which is the black border style of the dropdown from the toolbar popover.\n\t\t\tvariant={ variant === 'toolbar' ? undefined : variant }\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t__experimentalInitialIndex={ __experimentalInitialIndex }\n\t\t\t__experimentalOnIndexChange={ __experimentalOnIndexChange }\n\t\t\t// Resets the index whenever the active block changes so\n\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\tkey={ blockClientId }\n\t\t>\n\t\t\t<div ref={ toolbarWrapperRef } className={ innerClasses }>\n\t\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t\tisLargeViewport &&\n\t\t\t\t\tisDefaultEditingMode && <BlockParentSelector /> }\n\t\t\t\t{ isUsingBindings && canBindBlock( blockName ) && (\n\t\t\t\t\t<BlockBindingsIndicator />\n\t\t\t\t) }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\tisDefaultEditingMode && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ nodeRef }\n\t\t\t\t\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\t\tclientId={ blockClientId }\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\t<BlockMover\n\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t\t<BlockGroupToolbar />\n\t\t\t\t) }\n\t\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t\t{ isDefaultEditingMode && (\n\t\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport default function BlockToolbar( { hideDragHandle, variant } ) {\n\treturn (\n\t\t<PrivateBlockToolbar\n\t\t\thideDragHandle={ hideDragHandle }\n\t\t\tvariant={ variant }\n\t\t\tfocusOnMount={ undefined }\n\t\t\t__experimentalInitialIndex={ undefined }\n\t\t\t__experimentalOnIndexChange={ undefined }\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = BorderPanel;
|
|
8
8
|
exports.useHasBorderPanel = useHasBorderPanel;
|
|
9
|
+
exports.useHasBorderPanelControls = useHasBorderPanelControls;
|
|
9
10
|
var _react = require("react");
|
|
10
11
|
var _components = require("@wordpress/components");
|
|
11
12
|
var _element = require("@wordpress/element");
|
|
@@ -25,13 +26,20 @@ var _shadowPanelComponents = require("./shadow-panel-components");
|
|
|
25
26
|
* Internal dependencies
|
|
26
27
|
*/
|
|
27
28
|
|
|
28
|
-
function useHasShadowControl(settings) {
|
|
29
|
-
return !!settings?.shadow;
|
|
30
|
-
}
|
|
31
29
|
function useHasBorderPanel(settings) {
|
|
32
|
-
const controls =
|
|
30
|
+
const controls = Object.values(useHasBorderPanelControls(settings));
|
|
33
31
|
return controls.some(Boolean);
|
|
34
32
|
}
|
|
33
|
+
function useHasBorderPanelControls(settings) {
|
|
34
|
+
const controls = {
|
|
35
|
+
hasBorderColor: useHasBorderColorControl(settings),
|
|
36
|
+
hasBorderRadius: useHasBorderRadiusControl(settings),
|
|
37
|
+
hasBorderStyle: useHasBorderStyleControl(settings),
|
|
38
|
+
hasBorderWidth: useHasBorderWidthControl(settings),
|
|
39
|
+
hasShadow: useHasShadowControl(settings)
|
|
40
|
+
};
|
|
41
|
+
return controls;
|
|
42
|
+
}
|
|
35
43
|
function useHasBorderColorControl(settings) {
|
|
36
44
|
return settings?.border?.color;
|
|
37
45
|
}
|
|
@@ -44,6 +52,10 @@ function useHasBorderStyleControl(settings) {
|
|
|
44
52
|
function useHasBorderWidthControl(settings) {
|
|
45
53
|
return settings?.border?.width;
|
|
46
54
|
}
|
|
55
|
+
function useHasShadowControl(settings) {
|
|
56
|
+
const shadows = (0, _shadowPanelComponents.useShadowPresets)(settings);
|
|
57
|
+
return !!settings?.shadow && shadows.length > 0;
|
|
58
|
+
}
|
|
47
59
|
function BorderToolsPanel({
|
|
48
60
|
resetAllFilter,
|
|
49
61
|
onChange,
|
|
@@ -190,10 +202,11 @@ function BorderPanel({
|
|
|
190
202
|
};
|
|
191
203
|
}, []);
|
|
192
204
|
const showBorderByDefault = defaultControls?.color || defaultControls?.width;
|
|
193
|
-
const
|
|
205
|
+
const hasBorderControl = showBorderColor || showBorderStyle || showBorderWidth || showBorderRadius;
|
|
206
|
+
const label = (0, _border.useBorderPanelLabel)({
|
|
194
207
|
blockName: name,
|
|
195
208
|
hasShadowControl,
|
|
196
|
-
hasBorderControl
|
|
209
|
+
hasBorderControl
|
|
197
210
|
});
|
|
198
211
|
return (0, _react.createElement)(Wrapper, {
|
|
199
212
|
resetAllFilter: resetAllFilter,
|
|
@@ -236,9 +249,9 @@ function BorderPanel({
|
|
|
236
249
|
onDeselect: resetShadow,
|
|
237
250
|
isShownByDefault: defaultControls.shadow,
|
|
238
251
|
panelId: panelId
|
|
239
|
-
}, (0, _react.createElement)(_components.BaseControl.VisualLabel, {
|
|
252
|
+
}, hasBorderControl ? (0, _react.createElement)(_components.BaseControl.VisualLabel, {
|
|
240
253
|
as: "legend"
|
|
241
|
-
}, (0, _i18n.__)('Shadow')), (0, _react.createElement)(_components.__experimentalItemGroup, {
|
|
254
|
+
}, (0, _i18n.__)('Shadow')) : null, (0, _react.createElement)(_components.__experimentalItemGroup, {
|
|
242
255
|
isBordered: true,
|
|
243
256
|
isSeparated: true
|
|
244
257
|
}, (0, _react.createElement)(_shadowPanelComponents.ShadowPopover, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_i18n","_borderRadiusControl","_interopRequireDefault","_hooks","_utils","_getBlockSettings","_object","_border","_shadowPanelComponents","useHasShadowControl","settings","shadow","useHasBorderPanel","controls","useHasBorderColorControl","useHasBorderRadiusControl","useHasBorderStyleControl","useHasBorderWidthControl","some","Boolean","border","color","radius","style","width","BorderToolsPanel","resetAllFilter","onChange","value","panelId","children","label","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","DEFAULT_CONTROLS","BorderPanel","as","Wrapper","inheritedValue","name","defaultControls","_settings$shadow$pres","_overrideOrigins","colors","useColorsPerOrigin","decodeValue","useCallback","rawValue","getValueFromVariable","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","find","slug","useMemo","hasSplitBorders","borderValue","forEach","side","undefined","setBorder","newBorder","showBorderColor","showBorderStyle","showBorderWidth","showBorderRadius","borderRadiusValues","setBorderRadius","newBorderRadius","hasBorderRadius","borderValues","Object","entries","hasShadowControl","shadowPresets","presets","overriddenShadowPresets","overrideOrigins","setShadow","newValue","shadowName","setImmutably","hasShadow","resetShadow","resetBorder","onBorderChange","updatedBorder","previousValue","showBorderByDefault","getBorderPanelLabel","blockName","hasBorderControl","__experimentalToolsPanelItem","hasValue","isDefinedBorder","__","onDeselect","isShownByDefault","__experimentalBorderBoxControl","enableAlpha","enableStyle","popoverOffset","popoverPlacement","__experimentalIsRenderedInSidebar","size","hideLabelFromVision","default","values","BaseControl","VisualLabel","__experimentalItemGroup","isBordered","isSeparated","ShadowPopover","onShadowChange"],"sources":["@wordpress/block-editor/src/components/global-styles/border-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderBoxControl as BorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\tBaseControl,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { overrideOrigins } from '../../store/get-block-settings';\nimport { setImmutably } from '../../utils/object';\nimport { getBorderPanelLabel } from '../../hooks/border';\nimport { ShadowPopover } from './shadow-panel-components';\n\nfunction useHasShadowControl( settings ) {\n\treturn !! settings?.shadow;\n}\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = [\n\t\tuseHasBorderColorControl( settings ),\n\t\tuseHasBorderRadiusControl( settings ),\n\t\tuseHasBorderStyleControl( settings ),\n\t\tuseHasBorderWidthControl( settings ),\n\t\tuseHasShadowControl( settings ),\n\t];\n\n\treturn controls.some( Boolean );\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction BorderToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\tlabel,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tradius: true,\n\tcolor: true,\n\twidth: true,\n\tshadow: false,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tname,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst decodeValue = useCallback(\n\t\t( rawValue ) => getValueFromVariable( { settings }, '', rawValue ),\n\t\t[ settings ]\n\t);\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = decodeValue( border?.radius );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\tconst hasShadowControl = useHasShadowControl( settings );\n\n\t// Shadow\n\tconst shadow = decodeValue( inheritedValue?.shadow );\n\tconst shadowPresets = settings?.shadow?.presets ?? {};\n\tconst overriddenShadowPresets = overrideOrigins( shadowPresets ) ?? [];\n\tconst setShadow = ( newValue ) => {\n\t\tconst slug = overriddenShadowPresets?.find(\n\t\t\t( { shadow: shadowName } ) => shadowName === newValue\n\t\t)?.slug;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'shadow' ],\n\t\t\t\tslug ? `var:preset|shadow|${ slug }` : newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasShadow = () => !! value?.shadow;\n\tconst resetShadow = () => setShadow( undefined );\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = { ...newBorder };\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t\tshadow: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\n\n\tconst label = getBorderPanelLabel( {\n\t\tblockName: name,\n\t\thasShadowControl,\n\t\thasBorderControl:\n\t\t\tshowBorderColor ||\n\t\t\tshowBorderStyle ||\n\t\t\tshowBorderWidth ||\n\t\t\tshowBorderRadius,\n\t} );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t\tlabel={ label }\n\t\t>\n\t\t\t{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tenableAlpha={ true }\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={ true }\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\thideLabelFromVision={ ! hasShadowControl }\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasShadowControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\t\thasValue={ hasShadow }\n\t\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\t\tisShownByDefault={ defaultControls.shadow }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_i18n","_borderRadiusControl","_interopRequireDefault","_hooks","_utils","_getBlockSettings","_object","_border","_shadowPanelComponents","useHasBorderPanel","settings","controls","Object","values","useHasBorderPanelControls","some","Boolean","hasBorderColor","useHasBorderColorControl","hasBorderRadius","useHasBorderRadiusControl","hasBorderStyle","useHasBorderStyleControl","hasBorderWidth","useHasBorderWidthControl","hasShadow","useHasShadowControl","border","color","radius","style","width","shadows","useShadowPresets","shadow","length","BorderToolsPanel","resetAllFilter","onChange","value","panelId","children","label","resetAll","updatedValue","_react","createElement","__experimentalToolsPanel","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","DEFAULT_CONTROLS","BorderPanel","as","Wrapper","inheritedValue","name","defaultControls","_settings$shadow$pres","_overrideOrigins","colors","useColorsPerOrigin","decodeValue","useCallback","rawValue","getValueFromVariable","encodeColorValue","colorValue","allColors","flatMap","originColors","colorObject","find","slug","useMemo","hasSplitBorders","borderValue","forEach","side","undefined","setBorder","newBorder","showBorderColor","showBorderStyle","showBorderWidth","showBorderRadius","borderRadiusValues","setBorderRadius","newBorderRadius","borderValues","entries","hasShadowControl","shadowPresets","presets","overriddenShadowPresets","overrideOrigins","setShadow","newValue","shadowName","setImmutably","resetShadow","resetBorder","onBorderChange","updatedBorder","previousValue","showBorderByDefault","hasBorderControl","useBorderPanelLabel","blockName","__experimentalToolsPanelItem","hasValue","isDefinedBorder","__","onDeselect","isShownByDefault","__experimentalBorderBoxControl","enableAlpha","enableStyle","popoverOffset","popoverPlacement","__experimentalIsRenderedInSidebar","size","hideLabelFromVision","default","BaseControl","VisualLabel","__experimentalItemGroup","isBordered","isSeparated","ShadowPopover","onShadowChange"],"sources":["@wordpress/block-editor/src/components/global-styles/border-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderBoxControl as BorderBoxControl,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n\t__experimentalIsDefinedBorder as isDefinedBorder,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\tBaseControl,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BorderRadiusControl from '../border-radius-control';\nimport { useColorsPerOrigin } from './hooks';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { overrideOrigins } from '../../store/get-block-settings';\nimport { setImmutably } from '../../utils/object';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport { ShadowPopover, useShadowPresets } from './shadow-panel-components';\n\nexport function useHasBorderPanel( settings ) {\n\tconst controls = Object.values( useHasBorderPanelControls( settings ) );\n\treturn controls.some( Boolean );\n}\n\nexport function useHasBorderPanelControls( settings ) {\n\tconst controls = {\n\t\thasBorderColor: useHasBorderColorControl( settings ),\n\t\thasBorderRadius: useHasBorderRadiusControl( settings ),\n\t\thasBorderStyle: useHasBorderStyleControl( settings ),\n\t\thasBorderWidth: useHasBorderWidthControl( settings ),\n\t\thasShadow: useHasShadowControl( settings ),\n\t};\n\n\treturn controls;\n}\n\nfunction useHasBorderColorControl( settings ) {\n\treturn settings?.border?.color;\n}\n\nfunction useHasBorderRadiusControl( settings ) {\n\treturn settings?.border?.radius;\n}\n\nfunction useHasBorderStyleControl( settings ) {\n\treturn settings?.border?.style;\n}\n\nfunction useHasBorderWidthControl( settings ) {\n\treturn settings?.border?.width;\n}\n\nfunction useHasShadowControl( settings ) {\n\tconst shadows = useShadowPresets( settings );\n\treturn !! settings?.shadow && shadows.length > 0;\n}\n\nfunction BorderToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\tlabel,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ label }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tradius: true,\n\tcolor: true,\n\twidth: true,\n\tshadow: false,\n};\n\nexport default function BorderPanel( {\n\tas: Wrapper = BorderToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tname,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst decodeValue = useCallback(\n\t\t( rawValue ) => getValueFromVariable( { settings }, '', rawValue ),\n\t\t[ settings ]\n\t);\n\tconst encodeColorValue = ( colorValue ) => {\n\t\tconst allColors = colors.flatMap(\n\t\t\t( { colors: originColors } ) => originColors\n\t\t);\n\t\tconst colorObject = allColors.find(\n\t\t\t( { color } ) => color === colorValue\n\t\t);\n\t\treturn colorObject\n\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t: colorValue;\n\t};\n\tconst border = useMemo( () => {\n\t\tif ( hasSplitBorders( inheritedValue?.border ) ) {\n\t\t\tconst borderValue = { ...inheritedValue?.border };\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tborderValue[ side ] = {\n\t\t\t\t\t...borderValue[ side ],\n\t\t\t\t\tcolor: decodeValue( borderValue[ side ]?.color ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn borderValue;\n\t\t}\n\t\treturn {\n\t\t\t...inheritedValue?.border,\n\t\t\tcolor: inheritedValue?.border?.color\n\t\t\t\t? decodeValue( inheritedValue?.border?.color )\n\t\t\t\t: undefined,\n\t\t};\n\t}, [ inheritedValue?.border, decodeValue ] );\n\tconst setBorder = ( newBorder ) =>\n\t\tonChange( { ...value, border: newBorder } );\n\tconst showBorderColor = useHasBorderColorControl( settings );\n\tconst showBorderStyle = useHasBorderStyleControl( settings );\n\tconst showBorderWidth = useHasBorderWidthControl( settings );\n\n\t// Border radius.\n\tconst showBorderRadius = useHasBorderRadiusControl( settings );\n\tconst borderRadiusValues = decodeValue( border?.radius );\n\tconst setBorderRadius = ( newBorderRadius ) =>\n\t\tsetBorder( { ...border, radius: newBorderRadius } );\n\tconst hasBorderRadius = () => {\n\t\tconst borderValues = value?.border?.radius;\n\t\tif ( typeof borderValues === 'object' ) {\n\t\t\treturn Object.entries( borderValues ).some( Boolean );\n\t\t}\n\t\treturn !! borderValues;\n\t};\n\tconst hasShadowControl = useHasShadowControl( settings );\n\n\t// Shadow\n\tconst shadow = decodeValue( inheritedValue?.shadow );\n\tconst shadowPresets = settings?.shadow?.presets ?? {};\n\tconst overriddenShadowPresets = overrideOrigins( shadowPresets ) ?? [];\n\tconst setShadow = ( newValue ) => {\n\t\tconst slug = overriddenShadowPresets?.find(\n\t\t\t( { shadow: shadowName } ) => shadowName === newValue\n\t\t)?.slug;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'shadow' ],\n\t\t\t\tslug ? `var:preset|shadow|${ slug }` : newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasShadow = () => !! value?.shadow;\n\tconst resetShadow = () => setShadow( undefined );\n\n\tconst resetBorder = () => {\n\t\tif ( hasBorderRadius() ) {\n\t\t\treturn setBorder( { radius: value?.border?.radius } );\n\t\t}\n\n\t\tsetBorder( undefined );\n\t};\n\n\tconst onBorderChange = ( newBorder ) => {\n\t\t// Ensure we have a visible border style when a border width or\n\t\t// color is being selected.\n\t\tconst updatedBorder = { ...newBorder };\n\n\t\tif ( hasSplitBorders( updatedBorder ) ) {\n\t\t\t[ 'top', 'right', 'bottom', 'left' ].forEach( ( side ) => {\n\t\t\t\tif ( updatedBorder[ side ] ) {\n\t\t\t\t\tupdatedBorder[ side ] = {\n\t\t\t\t\t\t...updatedBorder[ side ],\n\t\t\t\t\t\tcolor: encodeColorValue( updatedBorder[ side ]?.color ),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t} else if ( updatedBorder ) {\n\t\t\tupdatedBorder.color = encodeColorValue( updatedBorder.color );\n\t\t}\n\n\t\t// As radius is maintained separately to color, style, and width\n\t\t// maintain its value. Undefined values here will be cleaned when\n\t\t// global styles are saved.\n\t\tsetBorder( { radius: border?.radius, ...updatedBorder } );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tborder: undefined,\n\t\t\tshadow: undefined,\n\t\t};\n\t}, [] );\n\n\tconst showBorderByDefault =\n\t\tdefaultControls?.color || defaultControls?.width;\n\n\tconst hasBorderControl =\n\t\tshowBorderColor ||\n\t\tshowBorderStyle ||\n\t\tshowBorderWidth ||\n\t\tshowBorderRadius;\n\n\tconst label = useBorderPanelLabel( {\n\t\tblockName: name,\n\t\thasShadowControl,\n\t\thasBorderControl,\n\t} );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t\tlabel={ label }\n\t\t>\n\t\t\t{ ( showBorderWidth || showBorderColor ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => isDefinedBorder( value?.border ) }\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\tonDeselect={ () => resetBorder() }\n\t\t\t\t\tisShownByDefault={ showBorderByDefault }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderBoxControl\n\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\tenableAlpha={ true }\n\t\t\t\t\t\tenableStyle={ showBorderStyle }\n\t\t\t\t\t\tonChange={ onBorderChange }\n\t\t\t\t\t\tpopoverOffset={ 40 }\n\t\t\t\t\t\tpopoverPlacement=\"left-start\"\n\t\t\t\t\t\tvalue={ border }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={ true }\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\thideLabelFromVision={ ! hasShadowControl }\n\t\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showBorderRadius && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasBorderRadius }\n\t\t\t\t\tlabel={ __( 'Radius' ) }\n\t\t\t\t\tonDeselect={ () => setBorderRadius( undefined ) }\n\t\t\t\t\tisShownByDefault={ defaultControls.radius }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BorderRadiusControl\n\t\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tsetBorderRadius( newValue || undefined );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasShadowControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Shadow' ) }\n\t\t\t\t\thasValue={ hasShadow }\n\t\t\t\t\tonDeselect={ resetShadow }\n\t\t\t\t\tisShownByDefault={ defaultControls.shadow }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ hasBorderControl ? (\n\t\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t\t{ __( 'Shadow' ) }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t) : null }\n\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\t\tonShadowChange={ setShadow }\n\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -112,6 +112,12 @@ Object.defineProperty(exports, "useHasBorderPanel", {
|
|
|
112
112
|
return _borderPanel.useHasBorderPanel;
|
|
113
113
|
}
|
|
114
114
|
});
|
|
115
|
+
Object.defineProperty(exports, "useHasBorderPanelControls", {
|
|
116
|
+
enumerable: true,
|
|
117
|
+
get: function () {
|
|
118
|
+
return _borderPanel.useHasBorderPanelControls;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
115
121
|
Object.defineProperty(exports, "useHasColorPanel", {
|
|
116
122
|
enumerable: true,
|
|
117
123
|
get: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_hooks","require","_getBlockCssSelector","_useGlobalStylesOutput","_context","_typographyPanel","_interopRequireWildcard","_dimensionsPanel","_borderPanel","_colorPanel","_filtersPanel","_imageSettingsPanel","_advancedPanel","_interopRequireDefault","_utils","_getGlobalStylesChanges","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set"],"sources":["@wordpress/block-editor/src/components/global-styles/index.js"],"sourcesContent":["export {\n\tuseGlobalStylesReset,\n\tuseGlobalSetting,\n\tuseGlobalStyle,\n\tuseSettingsForBlockElement,\n} from './hooks';\nexport { getBlockCSSSelector } from './get-block-css-selector';\nexport {\n\tgetLayoutStyles,\n\tuseGlobalStylesOutput,\n\tuseGlobalStylesOutputWithConfig,\n} from './use-global-styles-output';\nexport { GlobalStylesContext } from './context';\nexport {\n\tdefault as TypographyPanel,\n\tuseHasTypographyPanel,\n} from './typography-panel';\nexport {\n\tdefault as DimensionsPanel,\n\tuseHasDimensionsPanel,\n} from './dimensions-panel';\nexport {
|
|
1
|
+
{"version":3,"names":["_hooks","require","_getBlockCssSelector","_useGlobalStylesOutput","_context","_typographyPanel","_interopRequireWildcard","_dimensionsPanel","_borderPanel","_colorPanel","_filtersPanel","_imageSettingsPanel","_advancedPanel","_interopRequireDefault","_utils","_getGlobalStylesChanges","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set"],"sources":["@wordpress/block-editor/src/components/global-styles/index.js"],"sourcesContent":["export {\n\tuseGlobalStylesReset,\n\tuseGlobalSetting,\n\tuseGlobalStyle,\n\tuseSettingsForBlockElement,\n} from './hooks';\nexport { getBlockCSSSelector } from './get-block-css-selector';\nexport {\n\tgetLayoutStyles,\n\tuseGlobalStylesOutput,\n\tuseGlobalStylesOutputWithConfig,\n} from './use-global-styles-output';\nexport { GlobalStylesContext } from './context';\nexport {\n\tdefault as TypographyPanel,\n\tuseHasTypographyPanel,\n} from './typography-panel';\nexport {\n\tdefault as DimensionsPanel,\n\tuseHasDimensionsPanel,\n} from './dimensions-panel';\nexport {\n\tdefault as BorderPanel,\n\tuseHasBorderPanel,\n\tuseHasBorderPanelControls,\n} from './border-panel';\nexport { default as ColorPanel, useHasColorPanel } from './color-panel';\nexport { default as FiltersPanel, useHasFiltersPanel } from './filters-panel';\nexport {\n\tdefault as ImageSettingsPanel,\n\tuseHasImageSettingsPanel,\n} from './image-settings-panel';\nexport { default as AdvancedPanel } from './advanced-panel';\nexport { areGlobalStyleConfigsEqual } from './utils';\nexport { default as getGlobalStylesChanges } from './get-global-styles-changes';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAMA,IAAAC,oBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAC,uBAAA,CAAAL,OAAA;AAIA,IAAAM,gBAAA,GAAAD,uBAAA,CAAAL,OAAA;AAIA,IAAAO,YAAA,GAAAF,uBAAA,CAAAL,OAAA;AAKA,IAAAQ,WAAA,GAAAH,uBAAA,CAAAL,OAAA;AACA,IAAAS,aAAA,GAAAJ,uBAAA,CAAAL,OAAA;AACA,IAAAU,mBAAA,GAAAL,uBAAA,CAAAL,OAAA;AAIA,IAAAW,cAAA,GAAAC,sBAAA,CAAAZ,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,uBAAA,GAAAF,sBAAA,CAAAZ,OAAA;AAAgF,SAAAe,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA"}
|