@wordpress/block-editor 15.1.0 → 15.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js +6 -2
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js +2 -2
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build/components/border-radius-control/constants.js +41 -0
- package/build/components/border-radius-control/constants.js.map +1 -0
- package/build/components/border-radius-control/index.js +49 -58
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +1 -1
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/border-radius-control/single-input-control.js +204 -0
- package/build/components/border-radius-control/single-input-control.js.map +1 -0
- package/build/components/border-radius-control/utils.js +161 -4
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/global-styles/border-panel.js +12 -1
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +1 -1
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/utils.js +5 -3
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/rich-text/index.js +9 -4
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +19 -8
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +7 -1
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/hooks/duotone.js +2 -2
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/utils.js +4 -3
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +2 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/private-keys.js +2 -1
- package/build/store/private-keys.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +6 -2
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js +3 -3
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build-module/components/border-radius-control/constants.js +34 -0
- package/build-module/components/border-radius-control/constants.js.map +1 -0
- package/build-module/components/border-radius-control/index.js +53 -62
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +1 -1
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/border-radius-control/single-input-control.js +197 -0
- package/build-module/components/border-radius-control/single-input-control.js.map +1 -0
- package/build-module/components/border-radius-control/utils.js +154 -4
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +12 -1
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +1 -1
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/utils.js +5 -3
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/rich-text/index.js +9 -4
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +19 -8
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +7 -1
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/hooks/duotone.js +3 -3
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/utils.js +4 -3
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +3 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/private-keys.js +1 -0
- package/build-module/store/private-keys.js.map +1 -1
- package/build-style/style-rtl.css +16 -18
- package/build-style/style.css +16 -18
- package/package.json +34 -34
- package/src/components/block-settings-menu/block-settings-dropdown.js +22 -14
- package/src/components/block-toolbar/block-toolbar-menu.native.js +3 -3
- package/src/components/border-radius-control/constants.js +46 -0
- package/src/components/border-radius-control/index.js +71 -72
- package/src/components/border-radius-control/linked-button.js +1 -1
- package/src/components/border-radius-control/single-input-control.js +277 -0
- package/src/components/border-radius-control/style.scss +16 -21
- package/src/components/border-radius-control/utils.js +178 -5
- package/src/components/global-styles/border-panel.js +12 -1
- package/src/components/global-styles/hooks.js +1 -0
- package/src/components/global-styles/utils.js +6 -1
- package/src/components/rich-text/index.js +19 -10
- package/src/components/rich-text/use-format-types.js +42 -19
- package/src/components/use-block-drop-zone/index.js +12 -4
- package/src/hooks/duotone.js +11 -3
- package/src/hooks/utils.js +4 -0
- package/src/private-apis.js +2 -0
- package/src/store/private-keys.js +1 -0
- package/build/components/border-radius-control/all-input-control.js +0 -65
- package/build/components/border-radius-control/all-input-control.js.map +0 -1
- package/build/components/border-radius-control/input-controls.js +0 -82
- package/build/components/border-radius-control/input-controls.js.map +0 -1
- package/build-module/components/border-radius-control/all-input-control.js +0 -58
- package/build-module/components/border-radius-control/all-input-control.js.map +0 -1
- package/build-module/components/border-radius-control/input-controls.js +0 -75
- package/build-module/components/border-radius-control/input-controls.js.map +0 -1
- package/src/components/border-radius-control/all-input-control.js +0 -67
- package/src/components/border-radius-control/input-controls.js +0 -91
package/CHANGELOG.md
CHANGED
|
@@ -91,6 +91,7 @@ function BlockSettingsDropdown({
|
|
|
91
91
|
selectedBlockClientIds,
|
|
92
92
|
openedBlockSettingsMenu,
|
|
93
93
|
isContentOnly,
|
|
94
|
+
isNavigationMode,
|
|
94
95
|
isZoomOut
|
|
95
96
|
} = (0, _data.useSelect)(select => {
|
|
96
97
|
const {
|
|
@@ -101,6 +102,7 @@ function BlockSettingsDropdown({
|
|
|
101
102
|
getBlockAttributes,
|
|
102
103
|
getOpenedBlockSettingsMenu,
|
|
103
104
|
getBlockEditingMode,
|
|
105
|
+
isNavigationMode: _isNavigationMode,
|
|
104
106
|
isZoomOut: _isZoomOut
|
|
105
107
|
} = (0, _lockUnlock.unlock)(select(_store.store));
|
|
106
108
|
const {
|
|
@@ -115,6 +117,7 @@ function BlockSettingsDropdown({
|
|
|
115
117
|
selectedBlockClientIds: getSelectedBlockClientIds(),
|
|
116
118
|
openedBlockSettingsMenu: getOpenedBlockSettingsMenu(),
|
|
117
119
|
isContentOnly: getBlockEditingMode(firstBlockClientId) === 'contentOnly',
|
|
120
|
+
isNavigationMode: _isNavigationMode(),
|
|
118
121
|
isZoomOut: _isZoomOut()
|
|
119
122
|
};
|
|
120
123
|
}, [firstBlockClientId]);
|
|
@@ -139,6 +142,7 @@ function BlockSettingsDropdown({
|
|
|
139
142
|
};
|
|
140
143
|
}, []);
|
|
141
144
|
const hasSelectedBlocks = selectedBlockClientIds.length > 0;
|
|
145
|
+
const isContentOnlyWriteMode = isNavigationMode && isContentOnly;
|
|
142
146
|
async function updateSelectionAfterDuplicate(clientIdsPromise) {
|
|
143
147
|
if (!__experimentalSelectBlock) {
|
|
144
148
|
return;
|
|
@@ -229,11 +233,11 @@ function BlockSettingsDropdown({
|
|
|
229
233
|
parentBlockType: parentBlockType
|
|
230
234
|
}), count === 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockHtmlConvertButton.default, {
|
|
231
235
|
clientId: firstBlockClientId
|
|
232
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(CopyMenuItem, {
|
|
236
|
+
}), !isContentOnlyWriteMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(CopyMenuItem, {
|
|
233
237
|
clientIds: clientIds,
|
|
234
238
|
onCopy: onCopy,
|
|
235
239
|
shortcut: shortcuts.copy
|
|
236
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(CopyMenuItem, {
|
|
240
|
+
}), !isContentOnlyWriteMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(CopyMenuItem, {
|
|
237
241
|
clientIds: clientIds,
|
|
238
242
|
label: (0, _i18n.__)('Cut'),
|
|
239
243
|
eventType: "cut",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blocks","require","_components","_data","_icons","_element","_i18n","_keyboardShortcuts","_compose","_blockActions","_interopRequireDefault","_blockCommentIconSlot","_blockHtmlConvertButton","_blockSettingsMenuFirstItem","_blockSettingsMenuControls","_blockParentSelectorMenuItem","_store","_lockUnlock","_useNotifyCopy","_jsxRuntime","POPOVER_PROPS","className","placement","CopyMenuItem","clientIds","onCopy","label","shortcut","eventType","__experimentalUpdateSelection","updateSelection","getBlocksByClientId","useSelect","blockEditorStore","removeBlocks","useDispatch","notifyCopy","useNotifyCopy","ref","useCopyToClipboard","serialize","copyMenuItemLabel","__","jsx","MenuItem","children","BlockSettingsDropdown","block","__experimentalSelectBlock","props","currentClientId","clientId","count","length","firstBlockClientId","firstParentClientId","parentBlockType","previousBlockClientId","selectedBlockClientIds","openedBlockSettingsMenu","isContentOnly","isZoomOut","select","getBlockName","getBlockRootClientId","getPreviousBlockClientId","getSelectedBlockClientIds","getBlockAttributes","getOpenedBlockSettingsMenu","getBlockEditingMode","_isZoomOut","unlock","getActiveBlockVariation","blocksStore","_firstParentClientId","parentBlockName","getBlockType","getBlockOrder","setOpenedBlockSettingsMenu","shortcuts","getShortcutRepresentation","keyboardShortcutsStore","copy","cut","duplicate","remove","insertAfter","insertBefore","hasSelectedBlocks","updateSelectionAfterDuplicate","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","shouldShowBlockParentMenuItem","default","canCopyStyles","canDuplicate","canInsertBlock","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","isEmpty","DropdownMenu","icon","moreVertical","popoverProps","noIcons","onClose","jsxs","Fragment","MenuGroup","Slot","fillProps","parentClientId","onClick","pipe","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 { Children, cloneElement } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { pipe, useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport CommentIconSlotFill from '../../components/collab/block-comment-icon-slot';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport BlockParentSelectorMenuItem from './block-parent-selector-menu-item';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useNotifyCopy } from '../../utils/use-notify-copy';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nfunction CopyMenuItem( {\n\tclientIds,\n\tonCopy,\n\tlabel,\n\tshortcut,\n\teventType = 'copy',\n\t__experimentalUpdateSelection: updateSelection = false,\n} ) {\n\tconst { getBlocksByClientId } = useSelect( blockEditorStore );\n\tconst { removeBlocks } = useDispatch( blockEditorStore );\n\tconst notifyCopy = useNotifyCopy();\n\tconst ref = useCopyToClipboard(\n\t\t() => serialize( getBlocksByClientId( clientIds ) ),\n\t\t() => {\n\t\t\tswitch ( eventType ) {\n\t\t\t\tcase 'copy':\n\t\t\t\tcase 'copyStyles':\n\t\t\t\t\tonCopy();\n\t\t\t\t\tnotifyCopy( eventType, clientIds );\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'cut':\n\t\t\t\t\tnotifyCopy( eventType, clientIds );\n\t\t\t\t\tremoveBlocks( clientIds, updateSelection );\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t);\n\tconst copyMenuItemLabel = label ? label : __( 'Copy' );\n\treturn (\n\t\t<MenuItem ref={ ref } shortcut={ shortcut }>\n\t\t\t{ copyMenuItemLabel }\n\t\t</MenuItem>\n\t);\n}\n\nexport function BlockSettingsDropdown( {\n\tblock,\n\tclientIds,\n\tchildren,\n\t__experimentalSelectBlock,\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 count = clientIds.length;\n\tconst firstBlockClientId = clientIds[ 0 ];\n\n\tconst {\n\t\tfirstParentClientId,\n\t\tparentBlockType,\n\t\tpreviousBlockClientId,\n\t\tselectedBlockClientIds,\n\t\topenedBlockSettingsMenu,\n\t\tisContentOnly,\n\t\tisZoomOut,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\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\tgetOpenedBlockSettingsMenu,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tisZoomOut: _isZoomOut,\n\t\t\t} = unlock( 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\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\topenedBlockSettingsMenu: getOpenedBlockSettingsMenu(),\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( firstBlockClientId ) === 'contentOnly',\n\t\t\t\tisZoomOut: _isZoomOut(),\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\n\tconst { getBlockOrder, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\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\tcopy: getShortcutRepresentation( 'core/block-editor/copy' ),\n\t\t\tcut: getShortcutRepresentation( 'core/block-editor/cut' ),\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 hasSelectedBlocks = selectedBlockClientIds.length > 0;\n\n\tasync function updateSelectionAfterDuplicate( clientIdsPromise ) {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = await clientIdsPromise;\n\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t__experimentalSelectBlock( ids[ 0 ], false );\n\t\t}\n\t}\n\n\tfunction updateSelectionAfterRemove() {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet blockToFocus = previousBlockClientId || firstParentClientId;\n\n\t\t// Focus the first block if there's no previous block nor parent block.\n\t\tif ( ! blockToFocus ) {\n\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t}\n\n\t\t// Only update the selection if the original selection is removed.\n\t\tconst shouldUpdateSelection =\n\t\t\thasSelectedBlocks && getSelectedBlockClientIds().length === 0;\n\n\t\t__experimentalSelectBlock( blockToFocus, shouldUpdateSelection );\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\tfunction onToggle( localOpen ) {\n\t\tif ( localOpen && openedBlockSettingsMenu !== currentClientId ) {\n\t\t\tsetOpenedBlockSettingsMenu( currentClientId );\n\t\t} else if (\n\t\t\t! localOpen &&\n\t\t\topenedBlockSettingsMenu &&\n\t\t\topenedBlockSettingsMenu === currentClientId\n\t\t) {\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t}\n\t}\n\n\tconst shouldShowBlockParentMenuItem =\n\t\t! parentBlockIsSelected && !! firstParentClientId;\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\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} ) => {\n\t\t\t\t// It is possible that some plugins register fills for this menu\n\t\t\t\t// even if Core doesn't render anything in the block settings menu.\n\t\t\t\t// in which case, we may want to render the menu anyway.\n\t\t\t\t// That said for now, we can start more conservative.\n\t\t\t\tconst isEmpty =\n\t\t\t\t\t! canRemove &&\n\t\t\t\t\t! canDuplicate &&\n\t\t\t\t\t! canInsertBlock &&\n\t\t\t\t\tisContentOnly;\n\n\t\t\t\tif ( isEmpty ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\t\topen={ open }\n\t\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\t\tnoIcons\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ shouldShowBlockParentMenuItem && (\n\t\t\t\t\t\t\t\t\t\t<BlockParentSelectorMenuItem\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\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\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\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\tshortcut={ shortcuts.copy }\n\t\t\t\t\t\t\t\t\t/>\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\tlabel={ __( 'Cut' ) }\n\t\t\t\t\t\t\t\t\t\teventType=\"cut\"\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.cut }\n\t\t\t\t\t\t\t\t\t\t__experimentalUpdateSelection={\n\t\t\t\t\t\t\t\t\t\t\t! __experimentalSelectBlock\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\t{ canDuplicate && (\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\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate\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.duplicate }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\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\t{ canInsertBlock && ! isZoomOut && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t\t\t\t\t\tshortcuts.insertBefore\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t\t\t\t\t\tshortcuts.insertAfter\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\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\t<CommentIconSlotFill.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t{ canCopyStyles && ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy styles' ) }\n\t\t\t\t\t\t\t\t\t\t\teventType=\"copyStyles\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<MenuItem onClick={ onPasteStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Paste styles' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t\t\tfirstBlockClientId,\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\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{ typeof children === 'function'\n\t\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t\t<MenuGroup>\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\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterRemove\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.remove }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t);\n\t\t\t} }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_blocks","require","_components","_data","_icons","_element","_i18n","_keyboardShortcuts","_compose","_blockActions","_interopRequireDefault","_blockCommentIconSlot","_blockHtmlConvertButton","_blockSettingsMenuFirstItem","_blockSettingsMenuControls","_blockParentSelectorMenuItem","_store","_lockUnlock","_useNotifyCopy","_jsxRuntime","POPOVER_PROPS","className","placement","CopyMenuItem","clientIds","onCopy","label","shortcut","eventType","__experimentalUpdateSelection","updateSelection","getBlocksByClientId","useSelect","blockEditorStore","removeBlocks","useDispatch","notifyCopy","useNotifyCopy","ref","useCopyToClipboard","serialize","copyMenuItemLabel","__","jsx","MenuItem","children","BlockSettingsDropdown","block","__experimentalSelectBlock","props","currentClientId","clientId","count","length","firstBlockClientId","firstParentClientId","parentBlockType","previousBlockClientId","selectedBlockClientIds","openedBlockSettingsMenu","isContentOnly","isNavigationMode","isZoomOut","select","getBlockName","getBlockRootClientId","getPreviousBlockClientId","getSelectedBlockClientIds","getBlockAttributes","getOpenedBlockSettingsMenu","getBlockEditingMode","_isNavigationMode","_isZoomOut","unlock","getActiveBlockVariation","blocksStore","_firstParentClientId","parentBlockName","getBlockType","getBlockOrder","setOpenedBlockSettingsMenu","shortcuts","getShortcutRepresentation","keyboardShortcutsStore","copy","cut","duplicate","remove","insertAfter","insertBefore","hasSelectedBlocks","isContentOnlyWriteMode","updateSelectionAfterDuplicate","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","shouldShowBlockParentMenuItem","default","canCopyStyles","canDuplicate","canInsertBlock","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","isEmpty","DropdownMenu","icon","moreVertical","popoverProps","noIcons","onClose","jsxs","Fragment","MenuGroup","Slot","fillProps","parentClientId","onClick","pipe","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 { Children, cloneElement } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { pipe, useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport CommentIconSlotFill from '../../components/collab/block-comment-icon-slot';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport BlockParentSelectorMenuItem from './block-parent-selector-menu-item';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useNotifyCopy } from '../../utils/use-notify-copy';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nfunction CopyMenuItem( {\n\tclientIds,\n\tonCopy,\n\tlabel,\n\tshortcut,\n\teventType = 'copy',\n\t__experimentalUpdateSelection: updateSelection = false,\n} ) {\n\tconst { getBlocksByClientId } = useSelect( blockEditorStore );\n\tconst { removeBlocks } = useDispatch( blockEditorStore );\n\tconst notifyCopy = useNotifyCopy();\n\tconst ref = useCopyToClipboard(\n\t\t() => serialize( getBlocksByClientId( clientIds ) ),\n\t\t() => {\n\t\t\tswitch ( eventType ) {\n\t\t\t\tcase 'copy':\n\t\t\t\tcase 'copyStyles':\n\t\t\t\t\tonCopy();\n\t\t\t\t\tnotifyCopy( eventType, clientIds );\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'cut':\n\t\t\t\t\tnotifyCopy( eventType, clientIds );\n\t\t\t\t\tremoveBlocks( clientIds, updateSelection );\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t);\n\tconst copyMenuItemLabel = label ? label : __( 'Copy' );\n\treturn (\n\t\t<MenuItem ref={ ref } shortcut={ shortcut }>\n\t\t\t{ copyMenuItemLabel }\n\t\t</MenuItem>\n\t);\n}\n\nexport function BlockSettingsDropdown( {\n\tblock,\n\tclientIds,\n\tchildren,\n\t__experimentalSelectBlock,\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 count = clientIds.length;\n\tconst firstBlockClientId = clientIds[ 0 ];\n\n\tconst {\n\t\tfirstParentClientId,\n\t\tparentBlockType,\n\t\tpreviousBlockClientId,\n\t\tselectedBlockClientIds,\n\t\topenedBlockSettingsMenu,\n\t\tisContentOnly,\n\t\tisNavigationMode,\n\t\tisZoomOut,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\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\tgetOpenedBlockSettingsMenu,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tisNavigationMode: _isNavigationMode,\n\t\t\t\tisZoomOut: _isZoomOut,\n\t\t\t} = unlock( 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\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\topenedBlockSettingsMenu: getOpenedBlockSettingsMenu(),\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( firstBlockClientId ) === 'contentOnly',\n\t\t\t\tisNavigationMode: _isNavigationMode(),\n\t\t\t\tisZoomOut: _isZoomOut(),\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\n\tconst { getBlockOrder, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\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\tcopy: getShortcutRepresentation( 'core/block-editor/copy' ),\n\t\t\tcut: getShortcutRepresentation( 'core/block-editor/cut' ),\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 hasSelectedBlocks = selectedBlockClientIds.length > 0;\n\tconst isContentOnlyWriteMode = isNavigationMode && isContentOnly;\n\n\tasync function updateSelectionAfterDuplicate( clientIdsPromise ) {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst ids = await clientIdsPromise;\n\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t__experimentalSelectBlock( ids[ 0 ], false );\n\t\t}\n\t}\n\n\tfunction updateSelectionAfterRemove() {\n\t\tif ( ! __experimentalSelectBlock ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet blockToFocus = previousBlockClientId || firstParentClientId;\n\n\t\t// Focus the first block if there's no previous block nor parent block.\n\t\tif ( ! blockToFocus ) {\n\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t}\n\n\t\t// Only update the selection if the original selection is removed.\n\t\tconst shouldUpdateSelection =\n\t\t\thasSelectedBlocks && getSelectedBlockClientIds().length === 0;\n\n\t\t__experimentalSelectBlock( blockToFocus, shouldUpdateSelection );\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\tfunction onToggle( localOpen ) {\n\t\tif ( localOpen && openedBlockSettingsMenu !== currentClientId ) {\n\t\t\tsetOpenedBlockSettingsMenu( currentClientId );\n\t\t} else if (\n\t\t\t! localOpen &&\n\t\t\topenedBlockSettingsMenu &&\n\t\t\topenedBlockSettingsMenu === currentClientId\n\t\t) {\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t}\n\t}\n\n\tconst shouldShowBlockParentMenuItem =\n\t\t! parentBlockIsSelected && !! firstParentClientId;\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\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} ) => {\n\t\t\t\t// It is possible that some plugins register fills for this menu\n\t\t\t\t// even if Core doesn't render anything in the block settings menu.\n\t\t\t\t// in which case, we may want to render the menu anyway.\n\t\t\t\t// That said for now, we can start more conservative.\n\t\t\t\tconst isEmpty =\n\t\t\t\t\t! canRemove &&\n\t\t\t\t\t! canDuplicate &&\n\t\t\t\t\t! canInsertBlock &&\n\t\t\t\t\tisContentOnly;\n\n\t\t\t\tif ( isEmpty ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\t\topen={ open }\n\t\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\t\tnoIcons\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ shouldShowBlockParentMenuItem && (\n\t\t\t\t\t\t\t\t\t\t<BlockParentSelectorMenuItem\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\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\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\t{ ! isContentOnlyWriteMode && (\n\t\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.copy }\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\t{ ! isContentOnlyWriteMode && (\n\t\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Cut' ) }\n\t\t\t\t\t\t\t\t\t\t\teventType=\"cut\"\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.cut }\n\t\t\t\t\t\t\t\t\t\t\t__experimentalUpdateSelection={\n\t\t\t\t\t\t\t\t\t\t\t\t! __experimentalSelectBlock\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ canDuplicate && (\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\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate\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.duplicate }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\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\t{ canInsertBlock && ! isZoomOut && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t\t\t\t\t\tshortcuts.insertBefore\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\tshortcut={\n\t\t\t\t\t\t\t\t\t\t\t\t\tshortcuts.insertAfter\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\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\t<CommentIconSlotFill.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t{ canCopyStyles && ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy styles' ) }\n\t\t\t\t\t\t\t\t\t\t\teventType=\"copyStyles\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<MenuItem onClick={ onPasteStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Paste styles' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! isContentOnly && (\n\t\t\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t\t\tfirstBlockClientId,\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tclientIds={ clientIds }\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{ typeof children === 'function'\n\t\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t\t<MenuGroup>\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\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterRemove\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.remove }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t);\n\t\t\t} }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -208,7 +208,7 @@ const BlockActionsMenu = ({
|
|
|
208
208
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarGroup, {
|
|
209
209
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
|
|
210
210
|
title: (0, _i18n.__)('Open Block Actions Menu'),
|
|
211
|
-
icon: _icons.
|
|
211
|
+
icon: _icons.moreHorizontal,
|
|
212
212
|
disabled: true
|
|
213
213
|
})
|
|
214
214
|
});
|
|
@@ -237,7 +237,7 @@ const BlockActionsMenu = ({
|
|
|
237
237
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
|
|
238
238
|
title: (0, _i18n.__)('Open Block Actions Menu'),
|
|
239
239
|
onClick: onPickerPresent,
|
|
240
|
-
icon: _icons.
|
|
240
|
+
icon: _icons.moreHorizontal,
|
|
241
241
|
extraProps: {
|
|
242
242
|
hint: accessibilityHint
|
|
243
243
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_components","_blocks","_i18n","_data","_compose","_icons","_element","_notices","_reusableBlocks","_coreData","_moverDescription","_store","_blockTransformationsMenu","_interopRequireDefault","_convertToGroupButtons","_jsxRuntime","BlockActionsMenu","blockTitle","canInsertBlockType","getBlocksByClientId","isEmptyDefaultBlock","isLocked","canDuplicate","isFirst","isLast","isReusableBlockType","reusableBlock","rootClientId","selectedBlockClientId","selectedBlockPossibleTransformations","createSuccessNotice","convertToRegularBlocks","duplicateBlock","onMoveDown","onMoveUp","openGeneralSidebar","pasteBlock","removeBlocks","anchorNodeRef","isStackedHorizontally","onDelete","wrapBlockMover","wrapBlockSettings","clipboard","setCurrentClipboard","useState","getClipboard","blockActionsMenuPickerRef","useRef","blockTransformationMenuPickerRef","moversOptions","keys","clipboardBlock","rawHandler","HTML","isPasteEnabled","name","innerBlockCount","useSelect","select","blockEditorStore","getBlockCount","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","getMoversSetup","convertToGroupButtonProps","useConvertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","convertToGroupButtons","useConvertToGroupButtons","allOptions","settings","id","label","__","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","serialize","setClipboard","cutButton","pasteButton","onPasteBlock","duplicateButton","successNotice","sprintf","title","raw","options","length","group","ungroup","filter","Boolean","jsx","ToolbarGroup","children","ToolbarButton","icon","moreHorizontalMobile","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","accessibilityHint","Platform","OS","getAnchor","findNodeHandle","undefined","jsxs","onClick","extraProps","hint","Picker","testID","ref","onChange","destructiveButtonIndex","hideCancelButton","leftAlign","default","pickerRef","possibleTransformations","selectedBlock","EMPTY_BLOCK_LIST","_default","exports","compose","withSelect","clientId","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","block","blockName","blockType","getBlockType","blockOrder","currentBlockIndex","innerBlocks","every","innerBlock","hasBlockSupport","isDefaultBlock","getDefaultBlockName","isEmptyContent","attributes","content","isExactlyOneBlock","isReusableBlock","coreStore","getEntityRecord","currentIndex","withDispatch","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlock","clearSelectedBlock","getBlockSelectionEnd","noticesStore","__experimentalConvertBlockToStatic","convertBlockToStatic","reusableBlocksStore","setImmediate","args","canReplaceBlock","isUnmodifiedDefaultBlock","insertedBlock","createBlock","withInstanceId"],"sources":["@wordpress/block-editor/src/components/block-toolbar/block-toolbar-menu.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, findNodeHandle } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetClipboard,\n\tsetClipboard,\n\tToolbarGroup,\n\tToolbarButton,\n\tPicker,\n} from '@wordpress/components';\nimport {\n\tgetBlockType,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tserialize,\n\trawHandler,\n\tcreateBlock,\n\tisUnmodifiedDefaultBlock,\n\tisReusableBlock,\n} from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect, useSelect } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { moreHorizontalMobile } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getMoversSetup } from '../block-mover/mover-description';\nimport { store as blockEditorStore } from '../../store';\nimport BlockTransformationsMenu from '../block-switcher/block-transformations-menu';\nimport {\n\tuseConvertToGroupButtons,\n\tuseConvertToGroupButtonProps,\n} from '../convert-to-group-buttons';\n\nconst BlockActionsMenu = ( {\n\t// Select.\n\tblockTitle,\n\tcanInsertBlockType,\n\tgetBlocksByClientId,\n\tisEmptyDefaultBlock,\n\tisLocked,\n\tcanDuplicate,\n\tisFirst,\n\tisLast,\n\tisReusableBlockType,\n\treusableBlock,\n\trootClientId,\n\tselectedBlockClientId,\n\tselectedBlockPossibleTransformations,\n\t// Dispatch.\n\tcreateSuccessNotice,\n\tconvertToRegularBlocks,\n\tduplicateBlock,\n\tonMoveDown,\n\tonMoveUp,\n\topenGeneralSidebar,\n\tpasteBlock,\n\tremoveBlocks,\n\t// Passed in.\n\tanchorNodeRef,\n\tisStackedHorizontally,\n\tonDelete,\n\twrapBlockMover,\n\twrapBlockSettings,\n} ) => {\n\tconst [ clipboard, setCurrentClipboard ] = useState( getClipboard() );\n\tconst blockActionsMenuPickerRef = useRef();\n\tconst blockTransformationMenuPickerRef = useRef();\n\tconst moversOptions = { keys: [ 'icon', 'actionTitle' ] };\n\tconst clipboardBlock = clipboard && rawHandler( { HTML: clipboard } )[ 0 ];\n\tconst isPasteEnabled =\n\t\tclipboardBlock &&\n\t\tcanInsertBlockType( clipboardBlock.name, rootClientId );\n\n\tconst innerBlockCount = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockCount( selectedBlockClientId ),\n\t\t[ selectedBlockClientId ]\n\t);\n\n\tconst {\n\t\tactionTitle: {\n\t\t\tbackward: backwardButtonTitle,\n\t\t\tforward: forwardButtonTitle,\n\t\t},\n\t} = getMoversSetup( isStackedHorizontally, moversOptions );\n\n\t// Check if selected block is Groupable and/or Ungroupable.\n\tconst convertToGroupButtonProps = useConvertToGroupButtonProps(\n\t\t// `selectedBlockClientId` can be undefined in some cases where this\n\t\t// component gets re-rendered right after the block is removed.\n\t\tselectedBlockClientId ? [ selectedBlockClientId ] : []\n\t);\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton = isGroupable || isUngroupable;\n\tconst convertToGroupButtons = useConvertToGroupButtons( {\n\t\t...convertToGroupButtonProps,\n\t} );\n\n\tconst allOptions = {\n\t\tsettings: {\n\t\t\tid: 'settingsOption',\n\t\t\tlabel: __( 'Block settings' ),\n\t\t\tvalue: 'settingsOption',\n\t\t\tonSelect: openGeneralSidebar,\n\t\t},\n\t\tbackwardButton: {\n\t\t\tid: 'backwardButtonOption',\n\t\t\tlabel: backwardButtonTitle,\n\t\t\tvalue: 'backwardButtonOption',\n\t\t\tdisabled: isFirst,\n\t\t\tonSelect: onMoveUp,\n\t\t},\n\t\tforwardButton: {\n\t\t\tid: 'forwardButtonOption',\n\t\t\tlabel: forwardButtonTitle,\n\t\t\tvalue: 'forwardButtonOption',\n\t\t\tdisabled: isLast,\n\t\t\tonSelect: onMoveDown,\n\t\t},\n\t\tdelete: {\n\t\t\tid: 'deleteOption',\n\t\t\tlabel: __( 'Remove block' ),\n\t\t\tvalue: 'deleteOption',\n\t\t\tseparated: true,\n\t\t\tdisabled: isEmptyDefaultBlock,\n\t\t\tonSelect: () => {\n\t\t\t\tonDelete();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is removed.\n\t\t\t\t\t__( 'Block removed' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\ttransformButton: {\n\t\t\tid: 'transformButtonOption',\n\t\t\tlabel: __( 'Transform block…' ),\n\t\t\tvalue: 'transformButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tif ( blockTransformationMenuPickerRef.current ) {\n\t\t\t\t\tblockTransformationMenuPickerRef.current.presentPicker();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcopyButton: {\n\t\t\tid: 'copyButtonOption',\n\t\t\tlabel: __( 'Copy' ),\n\t\t\tvalue: 'copyButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst serializedBlock = serialize(\n\t\t\t\t\tgetBlocksByClientId( selectedBlockClientId )\n\t\t\t\t);\n\t\t\t\tsetCurrentClipboard( serializedBlock );\n\t\t\t\tsetClipboard( serializedBlock );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is copied.\n\t\t\t\t\t__( 'Block copied' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tcutButton: {\n\t\t\tid: 'cutButtonOption',\n\t\t\tlabel: __( 'Cut block' ),\n\t\t\tvalue: 'cutButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tsetClipboard(\n\t\t\t\t\tserialize( getBlocksByClientId( selectedBlockClientId ) )\n\t\t\t\t);\n\t\t\t\tremoveBlocks( selectedBlockClientId );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is cut.\n\t\t\t\t\t__( 'Block cut' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tpasteButton: {\n\t\t\tid: 'pasteButtonOption',\n\t\t\tlabel: __( 'Paste block after' ),\n\t\t\tvalue: 'pasteButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tonPasteBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is pasted.\n\t\t\t\t\t__( 'Block pasted' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tduplicateButton: {\n\t\t\tid: 'duplicateButtonOption',\n\t\t\tlabel: __( 'Duplicate block' ),\n\t\t\tvalue: 'duplicateButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tduplicateBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is duplicated.\n\t\t\t\t\t__( 'Block duplicated' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tconvertToRegularBlocks: {\n\t\t\tid: 'convertToRegularBlocksOption',\n\t\t\tlabel: __( 'Detach' ),\n\t\t\tvalue: 'convertToRegularBlocksOption',\n\t\t\tonSelect: () => {\n\t\t\t\t/* translators: %s: name of the synced block */\n\t\t\t\tconst successNotice = __( '%s detached' );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\tsuccessNotice,\n\t\t\t\t\t\treusableBlock?.title?.raw || blockTitle\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconvertToRegularBlocks();\n\t\t\t},\n\t\t},\n\t};\n\n\tconst options = [\n\t\twrapBlockMover && allOptions.backwardButton,\n\t\twrapBlockMover && allOptions.forwardButton,\n\t\twrapBlockSettings && allOptions.settings,\n\t\t! isLocked &&\n\t\t\tselectedBlockPossibleTransformations.length &&\n\t\t\tallOptions.transformButton,\n\t\tcanDuplicate && allOptions.copyButton,\n\t\tcanDuplicate && allOptions.cutButton,\n\t\tcanDuplicate && isPasteEnabled && allOptions.pasteButton,\n\t\tcanDuplicate && allOptions.duplicateButton,\n\t\tshowConvertToGroupButton && isGroupable && convertToGroupButtons.group,\n\t\tshowConvertToGroupButton &&\n\t\t\tisUngroupable &&\n\t\t\tconvertToGroupButtons.ungroup,\n\t\tisReusableBlockType &&\n\t\t\tinnerBlockCount > 0 &&\n\t\t\tallOptions.convertToRegularBlocks,\n\t\t! isLocked && allOptions.delete,\n\t].filter( Boolean );\n\n\t// End early if there are no options to show.\n\tif ( ! options.length ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tfunction onPasteBlock() {\n\t\tif ( ! clipboard ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpasteBlock( rawHandler( { HTML: clipboard } )[ 0 ] );\n\t}\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\tfunction onPickerPresent() {\n\t\tif ( blockActionsMenuPickerRef.current ) {\n\t\t\tblockActionsMenuPickerRef.current.presentPicker();\n\t\t}\n\t}\n\n\tconst disabledButtonIndices = options\n\t\t.map( ( option, index ) => option.disabled && index + 1 )\n\t\t.filter( Boolean );\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet with available options' )\n\t\t\t: __( 'Double tap to open Bottom Sheet with available options' );\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\tonClick={ onPickerPresent }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: accessibilityHint,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<Picker\n\t\t\t\ttestID=\"block-actions-menu\"\n\t\t\t\tref={ blockActionsMenuPickerRef }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\tdestructiveButtonIndex={ options.length }\n\t\t\t\tdisabledButtonIndices={ disabledButtonIndices }\n\t\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\t\tleftAlign\n\t\t\t\tgetAnchor={ getAnchor }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ sprintf( __( '%s block options' ), blockTitle ) }\n\t\t\t/>\n\t\t\t<BlockTransformationsMenu\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\tpickerRef={ blockTransformationMenuPickerRef }\n\t\t\t\tpossibleTransformations={ selectedBlockPossibleTransformations }\n\t\t\t\tselectedBlock={ getBlocksByClientId( selectedBlockClientId ) }\n\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n};\n\nconst EMPTY_BLOCK_LIST = [];\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockName,\n\t\t\tgetBlockTransformItems,\n\t\t\tgetBlock,\n\t\t\tgetBlocksByClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tcanInsertBlockType,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst blockName = getBlockName( clientId );\n\t\tconst blockType = getBlockType( blockName );\n\t\tconst blockTitle = blockType?.title;\n\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\tconst isFirst = currentBlockIndex === 0;\n\t\tconst isLast = currentBlockIndex === blockOrder.length - 1;\n\n\t\tconst innerBlocks = getBlocksByClientId( clientId );\n\n\t\tconst canDuplicate = innerBlocks.every( ( innerBlock ) => {\n\t\t\treturn (\n\t\t\t\t!! innerBlock &&\n\t\t\t\thasBlockSupport( innerBlock.name, 'multiple', true ) &&\n\t\t\t\tcanInsertBlockType( innerBlock.name, rootClientId )\n\t\t\t);\n\t\t} );\n\n\t\tconst isDefaultBlock = blockName === getDefaultBlockName();\n\t\tconst isEmptyContent = block?.attributes.content === '';\n\t\tconst isExactlyOneBlock = blockOrder.length === 1;\n\t\tconst isEmptyDefaultBlock =\n\t\t\tisExactlyOneBlock && isDefaultBlock && isEmptyContent;\n\t\tconst isLocked = !! getTemplateLock( rootClientId );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientIds()[ 0 ];\n\t\tconst selectedBlock = selectedBlockClientId\n\t\t\t? getBlocksByClientId( selectedBlockClientId )[ 0 ]\n\t\t\t: undefined;\n\t\tconst selectedBlockPossibleTransformations = selectedBlock\n\t\t\t? getBlockTransformItems( selectedBlock, rootClientId )\n\t\t\t: EMPTY_BLOCK_LIST;\n\n\t\tconst isReusableBlockType = block ? isReusableBlock( block ) : false;\n\t\tconst reusableBlock = isReusableBlockType\n\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblock?.attributes.ref\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tblockTitle,\n\t\t\tcanInsertBlockType,\n\t\t\tcurrentIndex: currentBlockIndex,\n\t\t\tgetBlocksByClientId,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tisReusableBlockType,\n\t\t\treusableBlock,\n\t\t\trootClientId,\n\t\t\tselectedBlockClientId,\n\t\t\tselectedBlockPossibleTransformations,\n\t\t};\n\t} ),\n\twithDispatch(\n\t\t(\n\t\t\tdispatch,\n\t\t\t{ clientId, rootClientId, currentIndex, selectedBlockClientId },\n\t\t\t{ select }\n\t\t) => {\n\t\t\tconst {\n\t\t\t\tmoveBlocksDown,\n\t\t\t\tmoveBlocksUp,\n\t\t\t\tduplicateBlocks,\n\t\t\t\tremoveBlocks,\n\t\t\t\tinsertBlock,\n\t\t\t\treplaceBlock,\n\t\t\t\tclearSelectedBlock,\n\t\t\t} = dispatch( blockEditorStore );\n\t\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\t\tconst { getBlockSelectionEnd, getBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\t\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\t\t\tdispatch( reusableBlocksStore );\n\n\t\t\treturn {\n\t\t\t\tcreateSuccessNotice,\n\t\t\t\tconvertToRegularBlocks() {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t\t\t\t// to prevent issues related to undo/redo actions.\n\t\t\t\t\tsetImmediate( () =>\n\t\t\t\t\t\tconvertBlockToStatic( selectedBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tduplicateBlock() {\n\t\t\t\t\treturn duplicateBlocks( [ clientId ] );\n\t\t\t\t},\n\t\t\t\tonMoveDown: ( ...args ) =>\n\t\t\t\t\tmoveBlocksDown( [ clientId ], rootClientId, ...args ),\n\t\t\t\tonMoveUp: ( ...args ) =>\n\t\t\t\t\tmoveBlocksUp( [ clientId ], rootClientId, ...args ),\n\t\t\t\topenGeneralSidebar: () =>\n\t\t\t\t\topenGeneralSidebar( 'edit-post/block' ),\n\t\t\t\tpasteBlock: ( clipboardBlock ) => {\n\t\t\t\t\tconst canReplaceBlock = isUnmodifiedDefaultBlock(\n\t\t\t\t\t\tgetBlock( getBlockSelectionEnd() )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! canReplaceBlock ) {\n\t\t\t\t\t\tconst insertedBlock = createBlock(\n\t\t\t\t\t\t\tclipboardBlock.name,\n\t\t\t\t\t\t\tclipboardBlock.attributes,\n\t\t\t\t\t\t\tclipboardBlock.innerBlocks\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\tinsertedBlock,\n\t\t\t\t\t\t\tcurrentIndex + 1,\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treplaceBlock( clientId, clipboardBlock );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tremoveBlocks,\n\t\t\t};\n\t\t}\n\t),\n\twithInstanceId\n)( BlockActionsMenu );\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAOA,IAAAE,OAAA,GAAAF,OAAA;AAUA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AAGA,IAAAU,SAAA,GAAAV,OAAA;AAKA,IAAAW,iBAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AACA,IAAAa,yBAAA,GAAAC,sBAAA,CAAAd,OAAA;AACA,IAAAe,sBAAA,GAAAf,OAAA;AAGqC,IAAAgB,WAAA,GAAAhB,OAAA;AA7CrC;AACA;AACA;;AAGA;AACA;AACA;;AAyBA;AACA;;AAGA;AACA;AACA;;AASA,MAAMiB,gBAAgB,GAAGA,CAAE;EAC1B;EACAC,UAAU;EACVC,kBAAkB;EAClBC,mBAAmB;EACnBC,mBAAmB;EACnBC,QAAQ;EACRC,YAAY;EACZC,OAAO;EACPC,MAAM;EACNC,mBAAmB;EACnBC,aAAa;EACbC,YAAY;EACZC,qBAAqB;EACrBC,oCAAoC;EACpC;EACAC,mBAAmB;EACnBC,sBAAsB;EACtBC,cAAc;EACdC,UAAU;EACVC,QAAQ;EACRC,kBAAkB;EAClBC,UAAU;EACVC,YAAY;EACZ;EACAC,aAAa;EACbC,qBAAqB;EACrBC,QAAQ;EACRC,cAAc;EACdC;AACD,CAAC,KAAM;EACN,MAAM,CAAEC,SAAS,EAAEC,mBAAmB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,IAAAC,wBAAY,EAAC,CAAE,CAAC;EACrE,MAAMC,yBAAyB,GAAG,IAAAC,eAAM,EAAC,CAAC;EAC1C,MAAMC,gCAAgC,GAAG,IAAAD,eAAM,EAAC,CAAC;EACjD,MAAME,aAAa,GAAG;IAAEC,IAAI,EAAE,CAAE,MAAM,EAAE,aAAa;EAAG,CAAC;EACzD,MAAMC,cAAc,GAAGT,SAAS,IAAI,IAAAU,kBAAU,EAAE;IAAEC,IAAI,EAAEX;EAAU,CAAE,CAAC,CAAE,CAAC,CAAE;EAC1E,MAAMY,cAAc,GACnBH,cAAc,IACdlC,kBAAkB,CAAEkC,cAAc,CAACI,IAAI,EAAE7B,YAAa,CAAC;EAExD,MAAM8B,eAAe,GAAG,IAAAC,eAAS,EAC9BC,MAAM,IACPA,MAAM,CAAEC,YAAiB,CAAC,CAACC,aAAa,CAAEjC,qBAAsB,CAAC,EAClE,CAAEA,qBAAqB,CACxB,CAAC;EAED,MAAM;IACLkC,WAAW,EAAE;MACZC,QAAQ,EAAEC,mBAAmB;MAC7BC,OAAO,EAAEC;IACV;EACD,CAAC,GAAG,IAAAC,gCAAc,EAAE5B,qBAAqB,EAAEW,aAAc,CAAC;;EAE1D;EACA,MAAMkB,yBAAyB,GAAG,IAAAC,mDAA4B;EAC7D;EACA;EACAzC,qBAAqB,GAAG,CAAEA,qBAAqB,CAAE,GAAG,EACrD,CAAC;EACD,MAAM;IAAE0C,WAAW;IAAEC;EAAc,CAAC,GAAGH,yBAAyB;EAChE,MAAMI,wBAAwB,GAAGF,WAAW,IAAIC,aAAa;EAC7D,MAAME,qBAAqB,GAAG,IAAAC,+CAAwB,EAAE;IACvD,GAAGN;EACJ,CAAE,CAAC;EAEH,MAAMO,UAAU,GAAG;IAClBC,QAAQ,EAAE;MACTC,EAAE,EAAE,gBAAgB;MACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,gBAAiB,CAAC;MAC7BC,KAAK,EAAE,gBAAgB;MACvBC,QAAQ,EAAE9C;IACX,CAAC;IACD+C,cAAc,EAAE;MACfL,EAAE,EAAE,sBAAsB;MAC1BC,KAAK,EAAEd,mBAAmB;MAC1BgB,KAAK,EAAE,sBAAsB;MAC7BG,QAAQ,EAAE5D,OAAO;MACjB0D,QAAQ,EAAE/C;IACX,CAAC;IACDkD,aAAa,EAAE;MACdP,EAAE,EAAE,qBAAqB;MACzBC,KAAK,EAAEZ,kBAAkB;MACzBc,KAAK,EAAE,qBAAqB;MAC5BG,QAAQ,EAAE3D,MAAM;MAChByD,QAAQ,EAAEhD;IACX,CAAC;IACDoD,MAAM,EAAE;MACPR,EAAE,EAAE,cAAc;MAClBC,KAAK,EAAE,IAAAC,QAAE,EAAE,cAAe,CAAC;MAC3BC,KAAK,EAAE,cAAc;MACrBM,SAAS,EAAE,IAAI;MACfH,QAAQ,EAAE/D,mBAAmB;MAC7B6D,QAAQ,EAAEA,CAAA,KAAM;QACfzC,QAAQ,CAAC,CAAC;QACVV,mBAAmB;QAClB;QACA,IAAAiD,QAAE,EAAE,eAAgB,CACrB,CAAC;MACF;IACD,CAAC;IACDQ,eAAe,EAAE;MAChBV,EAAE,EAAE,uBAAuB;MAC3BC,KAAK,EAAE,IAAAC,QAAE,EAAE,kBAAmB,CAAC;MAC/BC,KAAK,EAAE,uBAAuB;MAC9BC,QAAQ,EAAEA,CAAA,KAAM;QACf,IAAKhC,gCAAgC,CAACuC,OAAO,EAAG;UAC/CvC,gCAAgC,CAACuC,OAAO,CAACC,aAAa,CAAC,CAAC;QACzD;MACD;IACD,CAAC;IACDC,UAAU,EAAE;MACXb,EAAE,EAAE,kBAAkB;MACtBC,KAAK,EAAE,IAAAC,QAAE,EAAE,MAAO,CAAC;MACnBC,KAAK,EAAE,kBAAkB;MACzBC,QAAQ,EAAEA,CAAA,KAAM;QACf,MAAMU,eAAe,GAAG,IAAAC,iBAAS,EAChCzE,mBAAmB,CAAES,qBAAsB,CAC5C,CAAC;QACDgB,mBAAmB,CAAE+C,eAAgB,CAAC;QACtC,IAAAE,wBAAY,EAAEF,eAAgB,CAAC;QAC/B7D,mBAAmB;QAClB;QACA,IAAAiD,QAAE,EAAE,cAAe,CACpB,CAAC;MACF;IACD,CAAC;IACDe,SAAS,EAAE;MACVjB,EAAE,EAAE,iBAAiB;MACrBC,KAAK,EAAE,IAAAC,QAAE,EAAE,WAAY,CAAC;MACxBC,KAAK,EAAE,iBAAiB;MACxBC,QAAQ,EAAEA,CAAA,KAAM;QACf,IAAAY,wBAAY,EACX,IAAAD,iBAAS,EAAEzE,mBAAmB,CAAES,qBAAsB,CAAE,CACzD,CAAC;QACDS,YAAY,CAAET,qBAAsB,CAAC;QACrCE,mBAAmB;QAClB;QACA,IAAAiD,QAAE,EAAE,WAAY,CACjB,CAAC;MACF;IACD,CAAC;IACDgB,WAAW,EAAE;MACZlB,EAAE,EAAE,mBAAmB;MACvBC,KAAK,EAAE,IAAAC,QAAE,EAAE,mBAAoB,CAAC;MAChCC,KAAK,EAAE,mBAAmB;MAC1BC,QAAQ,EAAEA,CAAA,KAAM;QACfe,YAAY,CAAC,CAAC;QACdlE,mBAAmB;QAClB;QACA,IAAAiD,QAAE,EAAE,cAAe,CACpB,CAAC;MACF;IACD,CAAC;IACDkB,eAAe,EAAE;MAChBpB,EAAE,EAAE,uBAAuB;MAC3BC,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB,CAAC;MAC9BC,KAAK,EAAE,uBAAuB;MAC9BC,QAAQ,EAAEA,CAAA,KAAM;QACfjD,cAAc,CAAC,CAAC;QAChBF,mBAAmB;QAClB;QACA,IAAAiD,QAAE,EAAE,kBAAmB,CACxB,CAAC;MACF;IACD,CAAC;IACDhD,sBAAsB,EAAE;MACvB8C,EAAE,EAAE,8BAA8B;MAClCC,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS,CAAC;MACrBC,KAAK,EAAE,8BAA8B;MACrCC,QAAQ,EAAEA,CAAA,KAAM;QACf;QACA,MAAMiB,aAAa,GAAG,IAAAnB,QAAE,EAAE,aAAc,CAAC;QACzCjD,mBAAmB,CAClB,IAAAqE,aAAO,EACND,aAAa,EACbxE,aAAa,EAAE0E,KAAK,EAAEC,GAAG,IAAIpF,UAC9B,CACD,CAAC;QACDc,sBAAsB,CAAC,CAAC;MACzB;IACD;EACD,CAAC;EAED,MAAMuE,OAAO,GAAG,CACf7D,cAAc,IAAIkC,UAAU,CAACO,cAAc,EAC3CzC,cAAc,IAAIkC,UAAU,CAACS,aAAa,EAC1C1C,iBAAiB,IAAIiC,UAAU,CAACC,QAAQ,EACxC,CAAEvD,QAAQ,IACTQ,oCAAoC,CAAC0E,MAAM,IAC3C5B,UAAU,CAACY,eAAe,EAC3BjE,YAAY,IAAIqD,UAAU,CAACe,UAAU,EACrCpE,YAAY,IAAIqD,UAAU,CAACmB,SAAS,EACpCxE,YAAY,IAAIiC,cAAc,IAAIoB,UAAU,CAACoB,WAAW,EACxDzE,YAAY,IAAIqD,UAAU,CAACsB,eAAe,EAC1CzB,wBAAwB,IAAIF,WAAW,IAAIG,qBAAqB,CAAC+B,KAAK,EACtEhC,wBAAwB,IACvBD,aAAa,IACbE,qBAAqB,CAACgC,OAAO,EAC9BhF,mBAAmB,IAClBgC,eAAe,GAAG,CAAC,IACnBkB,UAAU,CAAC5C,sBAAsB,EAClC,CAAEV,QAAQ,IAAIsD,UAAU,CAACU,MAAM,CAC/B,CAACqB,MAAM,CAAEC,OAAQ,CAAC;;EAEnB;EACA,IAAK,CAAEL,OAAO,CAACC,MAAM,EAAG;IACvB,oBACC,IAAAxF,WAAA,CAAA6F,GAAA,EAAC5G,WAAA,CAAA6G,YAAY;MAAAC,QAAA,eACZ,IAAA/F,WAAA,CAAA6F,GAAA,EAAC5G,WAAA,CAAA+G,aAAa;QACbX,KAAK,EAAG,IAAArB,QAAE,EAAE,yBAA0B,CAAG;QACzCiC,IAAI,EAAGC,2BAAsB;QAC7B9B,QAAQ;MAAA,CACR;IAAC,CACW,CAAC;EAEjB;EAEA,SAASa,YAAYA,CAAA,EAAG;IACvB,IAAK,CAAErD,SAAS,EAAG;MAClB;IACD;IAEAP,UAAU,CAAE,IAAAiB,kBAAU,EAAE;MAAEC,IAAI,EAAEX;IAAU,CAAE,CAAC,CAAE,CAAC,CAAG,CAAC;EACrD;EAEA,SAASuE,cAAcA,CAAElC,KAAK,EAAG;IAChC,MAAMmC,YAAY,GAAGb,OAAO,CAACc,IAAI,CAAIC,IAAI,IAAMA,IAAI,CAACrC,KAAK,KAAKA,KAAM,CAAC;IACrEmC,YAAY,CAAClC,QAAQ,CAAC,CAAC;EACxB;EAEA,SAASqC,eAAeA,CAAA,EAAG;IAC1B,IAAKvE,yBAAyB,CAACyC,OAAO,EAAG;MACxCzC,yBAAyB,CAACyC,OAAO,CAACC,aAAa,CAAC,CAAC;IAClD;EACD;EAEA,MAAM8B,qBAAqB,GAAGjB,OAAO,CACnCkB,GAAG,CAAE,CAAEC,MAAM,EAAEC,KAAK,KAAMD,MAAM,CAACtC,QAAQ,IAAIuC,KAAK,GAAG,CAAE,CAAC,CACxDhB,MAAM,CAAEC,OAAQ,CAAC;EAEnB,MAAMgB,iBAAiB,GACtBC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAClB,IAAA9C,QAAE,EAAE,wDAAyD,CAAC,GAC9D,IAAAA,QAAE,EAAE,wDAAyD,CAAC;EAElE,MAAM+C,SAAS,GAAGA,CAAA,KACjBxF,aAAa,GAAG,IAAAyF,2BAAc,EAAEzF,aAAc,CAAC,GAAG0F,SAAS;EAE5D,oBACC,IAAAjH,WAAA,CAAAkH,IAAA,EAACjI,WAAA,CAAA6G,YAAY;IAAAC,QAAA,gBACZ,IAAA/F,WAAA,CAAA6F,GAAA,EAAC5G,WAAA,CAAA+G,aAAa;MACbX,KAAK,EAAG,IAAArB,QAAE,EAAE,yBAA0B,CAAG;MACzCmD,OAAO,EAAGZ,eAAiB;MAC3BN,IAAI,EAAGC,2BAAsB;MAC7BkB,UAAU,EAAG;QACZC,IAAI,EAAET;MACP;IAAG,CACH,CAAC,eACF,IAAA5G,WAAA,CAAA6F,GAAA,EAAC5G,WAAA,CAAAqI,MAAM;MACNC,MAAM,EAAC,oBAAoB;MAC3BC,GAAG,EAAGxF,yBAA2B;MACjCuD,OAAO,EAAGA,OAAS;MACnBkC,QAAQ,EAAGtB,cAAgB;MAC3BuB,sBAAsB,EAAGnC,OAAO,CAACC,MAAQ;MACzCgB,qBAAqB,EAAGA,qBAAuB;MAC/CmB,gBAAgB,EAAGd,qBAAQ,CAACC,EAAE,KAAK,KAAO;MAC1Cc,SAAS;MACTb,SAAS,EAAGA;MACZ;MAAA;MACA1B,KAAK,EAAG,IAAAD,aAAO,EAAE,IAAApB,QAAE,EAAE,kBAAmB,CAAC,EAAE9D,UAAW;IAAG,CACzD,CAAC,eACF,IAAAF,WAAA,CAAA6F,GAAA,EAAChG,yBAAA,CAAAgI,OAAwB;MACxBtG,aAAa,EAAGA,aAAe;MAC/BrB,UAAU,EAAGA,UAAY;MACzB4H,SAAS,EAAG5F,gCAAkC;MAC9C6F,uBAAuB,EAAGjH,oCAAsC;MAChEkH,aAAa,EAAG5H,mBAAmB,CAAES,qBAAsB,CAAG;MAC9DA,qBAAqB,EAAGA;IAAuB,CAC/C,CAAC;EAAA,CACW,CAAC;AAEjB,CAAC;AAED,MAAMoH,gBAAgB,GAAG,EAAE;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAN,OAAA,GAEb,IAAAO,gBAAO,EACrB,IAAAC,gBAAU,EAAE,CAAEzF,MAAM,EAAE;EAAE0F;AAAS,CAAC,KAAM;EACvC,MAAM;IACLC,aAAa;IACbC,oBAAoB;IACpBC,aAAa;IACbC,YAAY;IACZC,sBAAsB;IACtBC,QAAQ;IACRxI,mBAAmB;IACnByI,yBAAyB;IACzB1I,kBAAkB;IAClB2I;EACD,CAAC,GAAGlG,MAAM,CAAEC,YAAiB,CAAC;EAC9B,MAAMkG,KAAK,GAAGH,QAAQ,CAAEN,QAAS,CAAC;EAClC,MAAMU,SAAS,GAAGN,YAAY,CAAEJ,QAAS,CAAC;EAC1C,MAAMW,SAAS,GAAG,IAAAC,oBAAY,EAAEF,SAAU,CAAC;EAC3C,MAAM9I,UAAU,GAAG+I,SAAS,EAAE5D,KAAK;EACnC,MAAMzE,YAAY,GAAG4H,oBAAoB,CAAEF,QAAS,CAAC;EACrD,MAAMa,UAAU,GAAGV,aAAa,CAAE7H,YAAa,CAAC;EAEhD,MAAMwI,iBAAiB,GAAGb,aAAa,CAAED,QAAS,CAAC;EACnD,MAAM9H,OAAO,GAAG4I,iBAAiB,KAAK,CAAC;EACvC,MAAM3I,MAAM,GAAG2I,iBAAiB,KAAKD,UAAU,CAAC3D,MAAM,GAAG,CAAC;EAE1D,MAAM6D,WAAW,GAAGjJ,mBAAmB,CAAEkI,QAAS,CAAC;EAEnD,MAAM/H,YAAY,GAAG8I,WAAW,CAACC,KAAK,CAAIC,UAAU,IAAM;IACzD,OACC,CAAC,CAAEA,UAAU,IACb,IAAAC,uBAAe,EAAED,UAAU,CAAC9G,IAAI,EAAE,UAAU,EAAE,IAAK,CAAC,IACpDtC,kBAAkB,CAAEoJ,UAAU,CAAC9G,IAAI,EAAE7B,YAAa,CAAC;EAErD,CAAE,CAAC;EAEH,MAAM6I,cAAc,GAAGT,SAAS,KAAK,IAAAU,2BAAmB,EAAC,CAAC;EAC1D,MAAMC,cAAc,GAAGZ,KAAK,EAAEa,UAAU,CAACC,OAAO,KAAK,EAAE;EACvD,MAAMC,iBAAiB,GAAGX,UAAU,CAAC3D,MAAM,KAAK,CAAC;EACjD,MAAMnF,mBAAmB,GACxByJ,iBAAiB,IAAIL,cAAc,IAAIE,cAAc;EACtD,MAAMrJ,QAAQ,GAAG,CAAC,CAAEwI,eAAe,CAAElI,YAAa,CAAC;EAEnD,MAAMC,qBAAqB,GAAGgI,yBAAyB,CAAC,CAAC,CAAE,CAAC,CAAE;EAC9D,MAAMb,aAAa,GAAGnH,qBAAqB,GACxCT,mBAAmB,CAAES,qBAAsB,CAAC,CAAE,CAAC,CAAE,GACjDoG,SAAS;EACZ,MAAMnG,oCAAoC,GAAGkH,aAAa,GACvDW,sBAAsB,CAAEX,aAAa,EAAEpH,YAAa,CAAC,GACrDqH,gBAAgB;EAEnB,MAAMvH,mBAAmB,GAAGqI,KAAK,GAAG,IAAAgB,uBAAe,EAAEhB,KAAM,CAAC,GAAG,KAAK;EACpE,MAAMpI,aAAa,GAAGD,mBAAmB,GACtCkC,MAAM,CAAEoH,eAAU,CAAC,CAACC,eAAe,CACnC,UAAU,EACV,UAAU,EACVlB,KAAK,EAAEa,UAAU,CAACpC,GAClB,CAAC,GACDP,SAAS;EAEZ,OAAO;IACN/G,UAAU;IACVC,kBAAkB;IAClB+J,YAAY,EAAEd,iBAAiB;IAC/BhJ,mBAAmB;IACnBC,mBAAmB;IACnBC,QAAQ;IACRC,YAAY;IACZC,OAAO;IACPC,MAAM;IACNC,mBAAmB;IACnBC,aAAa;IACbC,YAAY;IACZC,qBAAqB;IACrBC;EACD,CAAC;AACF,CAAE,CAAC,EACH,IAAAqJ,kBAAY,EACX,CACCC,QAAQ,EACR;EAAE9B,QAAQ;EAAE1H,YAAY;EAAEsJ,YAAY;EAAErJ;AAAsB,CAAC,EAC/D;EAAE+B;AAAO,CAAC,KACN;EACJ,MAAM;IACLyH,cAAc;IACdC,YAAY;IACZC,eAAe;IACfjJ,YAAY;IACZkJ,WAAW;IACXC,YAAY;IACZC;EACD,CAAC,GAAGN,QAAQ,CAAEvH,YAAiB,CAAC;EAChC,MAAM;IAAEzB;EAAmB,CAAC,GAAGgJ,QAAQ,CAAE,gBAAiB,CAAC;EAC3D,MAAM;IAAEO,oBAAoB;IAAE/B;EAAS,CAAC,GACvChG,MAAM,CAAEC,YAAiB,CAAC;EAC3B,MAAM;IAAE9B;EAAoB,CAAC,GAAGqJ,QAAQ,CAAEQ,cAAa,CAAC;EAExD,MAAM;IAAEC,kCAAkC,EAAEC;EAAqB,CAAC,GACjEV,QAAQ,CAAEW,qBAAoB,CAAC;EAEhC,OAAO;IACNhK,mBAAmB;IACnBC,sBAAsBA,CAAA,EAAG;MACxB0J,kBAAkB,CAAC,CAAC;MACpB;MACA;MACAM,YAAY,CAAE,MACbF,oBAAoB,CAAEjK,qBAAsB,CAC7C,CAAC;IACF,CAAC;IACDI,cAAcA,CAAA,EAAG;MAChB,OAAOsJ,eAAe,CAAE,CAAEjC,QAAQ,CAAG,CAAC;IACvC,CAAC;IACDpH,UAAU,EAAEA,CAAE,GAAG+J,IAAI,KACpBZ,cAAc,CAAE,CAAE/B,QAAQ,CAAE,EAAE1H,YAAY,EAAE,GAAGqK,IAAK,CAAC;IACtD9J,QAAQ,EAAEA,CAAE,GAAG8J,IAAI,KAClBX,YAAY,CAAE,CAAEhC,QAAQ,CAAE,EAAE1H,YAAY,EAAE,GAAGqK,IAAK,CAAC;IACpD7J,kBAAkB,EAAEA,CAAA,KACnBA,kBAAkB,CAAE,iBAAkB,CAAC;IACxCC,UAAU,EAAIgB,cAAc,IAAM;MACjC,MAAM6I,eAAe,GAAG,IAAAC,gCAAwB,EAC/CvC,QAAQ,CAAE+B,oBAAoB,CAAC,CAAE,CAClC,CAAC;MAED,IAAK,CAAEO,eAAe,EAAG;QACxB,MAAME,aAAa,GAAG,IAAAC,mBAAW,EAChChJ,cAAc,CAACI,IAAI,EACnBJ,cAAc,CAACuH,UAAU,EACzBvH,cAAc,CAACgH,WAChB,CAAC;QAEDmB,WAAW,CACVY,aAAa,EACblB,YAAY,GAAG,CAAC,EAChBtJ,YACD,CAAC;MACF,CAAC,MAAM;QACN6J,YAAY,CAAEnC,QAAQ,EAAEjG,cAAe,CAAC;MACzC;IACD,CAAC;IACDf;EACD,CAAC;AACF,CACD,CAAC,EACDgK,uBACD,CAAC,CAAErL,gBAAiB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_components","_blocks","_i18n","_data","_compose","_icons","_element","_notices","_reusableBlocks","_coreData","_moverDescription","_store","_blockTransformationsMenu","_interopRequireDefault","_convertToGroupButtons","_jsxRuntime","BlockActionsMenu","blockTitle","canInsertBlockType","getBlocksByClientId","isEmptyDefaultBlock","isLocked","canDuplicate","isFirst","isLast","isReusableBlockType","reusableBlock","rootClientId","selectedBlockClientId","selectedBlockPossibleTransformations","createSuccessNotice","convertToRegularBlocks","duplicateBlock","onMoveDown","onMoveUp","openGeneralSidebar","pasteBlock","removeBlocks","anchorNodeRef","isStackedHorizontally","onDelete","wrapBlockMover","wrapBlockSettings","clipboard","setCurrentClipboard","useState","getClipboard","blockActionsMenuPickerRef","useRef","blockTransformationMenuPickerRef","moversOptions","keys","clipboardBlock","rawHandler","HTML","isPasteEnabled","name","innerBlockCount","useSelect","select","blockEditorStore","getBlockCount","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","getMoversSetup","convertToGroupButtonProps","useConvertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","convertToGroupButtons","useConvertToGroupButtons","allOptions","settings","id","label","__","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","serialize","setClipboard","cutButton","pasteButton","onPasteBlock","duplicateButton","successNotice","sprintf","title","raw","options","length","group","ungroup","filter","Boolean","jsx","ToolbarGroup","children","ToolbarButton","icon","moreHorizontal","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","accessibilityHint","Platform","OS","getAnchor","findNodeHandle","undefined","jsxs","onClick","extraProps","hint","Picker","testID","ref","onChange","destructiveButtonIndex","hideCancelButton","leftAlign","default","pickerRef","possibleTransformations","selectedBlock","EMPTY_BLOCK_LIST","_default","exports","compose","withSelect","clientId","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","block","blockName","blockType","getBlockType","blockOrder","currentBlockIndex","innerBlocks","every","innerBlock","hasBlockSupport","isDefaultBlock","getDefaultBlockName","isEmptyContent","attributes","content","isExactlyOneBlock","isReusableBlock","coreStore","getEntityRecord","currentIndex","withDispatch","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlock","clearSelectedBlock","getBlockSelectionEnd","noticesStore","__experimentalConvertBlockToStatic","convertBlockToStatic","reusableBlocksStore","setImmediate","args","canReplaceBlock","isUnmodifiedDefaultBlock","insertedBlock","createBlock","withInstanceId"],"sources":["@wordpress/block-editor/src/components/block-toolbar/block-toolbar-menu.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, findNodeHandle } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetClipboard,\n\tsetClipboard,\n\tToolbarGroup,\n\tToolbarButton,\n\tPicker,\n} from '@wordpress/components';\nimport {\n\tgetBlockType,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tserialize,\n\trawHandler,\n\tcreateBlock,\n\tisUnmodifiedDefaultBlock,\n\tisReusableBlock,\n} from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect, useSelect } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { moreHorizontal } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getMoversSetup } from '../block-mover/mover-description';\nimport { store as blockEditorStore } from '../../store';\nimport BlockTransformationsMenu from '../block-switcher/block-transformations-menu';\nimport {\n\tuseConvertToGroupButtons,\n\tuseConvertToGroupButtonProps,\n} from '../convert-to-group-buttons';\n\nconst BlockActionsMenu = ( {\n\t// Select.\n\tblockTitle,\n\tcanInsertBlockType,\n\tgetBlocksByClientId,\n\tisEmptyDefaultBlock,\n\tisLocked,\n\tcanDuplicate,\n\tisFirst,\n\tisLast,\n\tisReusableBlockType,\n\treusableBlock,\n\trootClientId,\n\tselectedBlockClientId,\n\tselectedBlockPossibleTransformations,\n\t// Dispatch.\n\tcreateSuccessNotice,\n\tconvertToRegularBlocks,\n\tduplicateBlock,\n\tonMoveDown,\n\tonMoveUp,\n\topenGeneralSidebar,\n\tpasteBlock,\n\tremoveBlocks,\n\t// Passed in.\n\tanchorNodeRef,\n\tisStackedHorizontally,\n\tonDelete,\n\twrapBlockMover,\n\twrapBlockSettings,\n} ) => {\n\tconst [ clipboard, setCurrentClipboard ] = useState( getClipboard() );\n\tconst blockActionsMenuPickerRef = useRef();\n\tconst blockTransformationMenuPickerRef = useRef();\n\tconst moversOptions = { keys: [ 'icon', 'actionTitle' ] };\n\tconst clipboardBlock = clipboard && rawHandler( { HTML: clipboard } )[ 0 ];\n\tconst isPasteEnabled =\n\t\tclipboardBlock &&\n\t\tcanInsertBlockType( clipboardBlock.name, rootClientId );\n\n\tconst innerBlockCount = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockCount( selectedBlockClientId ),\n\t\t[ selectedBlockClientId ]\n\t);\n\n\tconst {\n\t\tactionTitle: {\n\t\t\tbackward: backwardButtonTitle,\n\t\t\tforward: forwardButtonTitle,\n\t\t},\n\t} = getMoversSetup( isStackedHorizontally, moversOptions );\n\n\t// Check if selected block is Groupable and/or Ungroupable.\n\tconst convertToGroupButtonProps = useConvertToGroupButtonProps(\n\t\t// `selectedBlockClientId` can be undefined in some cases where this\n\t\t// component gets re-rendered right after the block is removed.\n\t\tselectedBlockClientId ? [ selectedBlockClientId ] : []\n\t);\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton = isGroupable || isUngroupable;\n\tconst convertToGroupButtons = useConvertToGroupButtons( {\n\t\t...convertToGroupButtonProps,\n\t} );\n\n\tconst allOptions = {\n\t\tsettings: {\n\t\t\tid: 'settingsOption',\n\t\t\tlabel: __( 'Block settings' ),\n\t\t\tvalue: 'settingsOption',\n\t\t\tonSelect: openGeneralSidebar,\n\t\t},\n\t\tbackwardButton: {\n\t\t\tid: 'backwardButtonOption',\n\t\t\tlabel: backwardButtonTitle,\n\t\t\tvalue: 'backwardButtonOption',\n\t\t\tdisabled: isFirst,\n\t\t\tonSelect: onMoveUp,\n\t\t},\n\t\tforwardButton: {\n\t\t\tid: 'forwardButtonOption',\n\t\t\tlabel: forwardButtonTitle,\n\t\t\tvalue: 'forwardButtonOption',\n\t\t\tdisabled: isLast,\n\t\t\tonSelect: onMoveDown,\n\t\t},\n\t\tdelete: {\n\t\t\tid: 'deleteOption',\n\t\t\tlabel: __( 'Remove block' ),\n\t\t\tvalue: 'deleteOption',\n\t\t\tseparated: true,\n\t\t\tdisabled: isEmptyDefaultBlock,\n\t\t\tonSelect: () => {\n\t\t\t\tonDelete();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is removed.\n\t\t\t\t\t__( 'Block removed' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\ttransformButton: {\n\t\t\tid: 'transformButtonOption',\n\t\t\tlabel: __( 'Transform block…' ),\n\t\t\tvalue: 'transformButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tif ( blockTransformationMenuPickerRef.current ) {\n\t\t\t\t\tblockTransformationMenuPickerRef.current.presentPicker();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcopyButton: {\n\t\t\tid: 'copyButtonOption',\n\t\t\tlabel: __( 'Copy' ),\n\t\t\tvalue: 'copyButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst serializedBlock = serialize(\n\t\t\t\t\tgetBlocksByClientId( selectedBlockClientId )\n\t\t\t\t);\n\t\t\t\tsetCurrentClipboard( serializedBlock );\n\t\t\t\tsetClipboard( serializedBlock );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is copied.\n\t\t\t\t\t__( 'Block copied' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tcutButton: {\n\t\t\tid: 'cutButtonOption',\n\t\t\tlabel: __( 'Cut block' ),\n\t\t\tvalue: 'cutButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tsetClipboard(\n\t\t\t\t\tserialize( getBlocksByClientId( selectedBlockClientId ) )\n\t\t\t\t);\n\t\t\t\tremoveBlocks( selectedBlockClientId );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is cut.\n\t\t\t\t\t__( 'Block cut' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tpasteButton: {\n\t\t\tid: 'pasteButtonOption',\n\t\t\tlabel: __( 'Paste block after' ),\n\t\t\tvalue: 'pasteButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tonPasteBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is pasted.\n\t\t\t\t\t__( 'Block pasted' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tduplicateButton: {\n\t\t\tid: 'duplicateButtonOption',\n\t\t\tlabel: __( 'Duplicate block' ),\n\t\t\tvalue: 'duplicateButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tduplicateBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is duplicated.\n\t\t\t\t\t__( 'Block duplicated' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tconvertToRegularBlocks: {\n\t\t\tid: 'convertToRegularBlocksOption',\n\t\t\tlabel: __( 'Detach' ),\n\t\t\tvalue: 'convertToRegularBlocksOption',\n\t\t\tonSelect: () => {\n\t\t\t\t/* translators: %s: name of the synced block */\n\t\t\t\tconst successNotice = __( '%s detached' );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\tsuccessNotice,\n\t\t\t\t\t\treusableBlock?.title?.raw || blockTitle\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconvertToRegularBlocks();\n\t\t\t},\n\t\t},\n\t};\n\n\tconst options = [\n\t\twrapBlockMover && allOptions.backwardButton,\n\t\twrapBlockMover && allOptions.forwardButton,\n\t\twrapBlockSettings && allOptions.settings,\n\t\t! isLocked &&\n\t\t\tselectedBlockPossibleTransformations.length &&\n\t\t\tallOptions.transformButton,\n\t\tcanDuplicate && allOptions.copyButton,\n\t\tcanDuplicate && allOptions.cutButton,\n\t\tcanDuplicate && isPasteEnabled && allOptions.pasteButton,\n\t\tcanDuplicate && allOptions.duplicateButton,\n\t\tshowConvertToGroupButton && isGroupable && convertToGroupButtons.group,\n\t\tshowConvertToGroupButton &&\n\t\t\tisUngroupable &&\n\t\t\tconvertToGroupButtons.ungroup,\n\t\tisReusableBlockType &&\n\t\t\tinnerBlockCount > 0 &&\n\t\t\tallOptions.convertToRegularBlocks,\n\t\t! isLocked && allOptions.delete,\n\t].filter( Boolean );\n\n\t// End early if there are no options to show.\n\tif ( ! options.length ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\t\ticon={ moreHorizontal }\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tfunction onPasteBlock() {\n\t\tif ( ! clipboard ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpasteBlock( rawHandler( { HTML: clipboard } )[ 0 ] );\n\t}\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\tfunction onPickerPresent() {\n\t\tif ( blockActionsMenuPickerRef.current ) {\n\t\t\tblockActionsMenuPickerRef.current.presentPicker();\n\t\t}\n\t}\n\n\tconst disabledButtonIndices = options\n\t\t.map( ( option, index ) => option.disabled && index + 1 )\n\t\t.filter( Boolean );\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet with available options' )\n\t\t\t: __( 'Double tap to open Bottom Sheet with available options' );\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\tonClick={ onPickerPresent }\n\t\t\t\ticon={ moreHorizontal }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: accessibilityHint,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<Picker\n\t\t\t\ttestID=\"block-actions-menu\"\n\t\t\t\tref={ blockActionsMenuPickerRef }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\tdestructiveButtonIndex={ options.length }\n\t\t\t\tdisabledButtonIndices={ disabledButtonIndices }\n\t\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\t\tleftAlign\n\t\t\t\tgetAnchor={ getAnchor }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ sprintf( __( '%s block options' ), blockTitle ) }\n\t\t\t/>\n\t\t\t<BlockTransformationsMenu\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\tpickerRef={ blockTransformationMenuPickerRef }\n\t\t\t\tpossibleTransformations={ selectedBlockPossibleTransformations }\n\t\t\t\tselectedBlock={ getBlocksByClientId( selectedBlockClientId ) }\n\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n};\n\nconst EMPTY_BLOCK_LIST = [];\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockName,\n\t\t\tgetBlockTransformItems,\n\t\t\tgetBlock,\n\t\t\tgetBlocksByClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tcanInsertBlockType,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst blockName = getBlockName( clientId );\n\t\tconst blockType = getBlockType( blockName );\n\t\tconst blockTitle = blockType?.title;\n\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\tconst isFirst = currentBlockIndex === 0;\n\t\tconst isLast = currentBlockIndex === blockOrder.length - 1;\n\n\t\tconst innerBlocks = getBlocksByClientId( clientId );\n\n\t\tconst canDuplicate = innerBlocks.every( ( innerBlock ) => {\n\t\t\treturn (\n\t\t\t\t!! innerBlock &&\n\t\t\t\thasBlockSupport( innerBlock.name, 'multiple', true ) &&\n\t\t\t\tcanInsertBlockType( innerBlock.name, rootClientId )\n\t\t\t);\n\t\t} );\n\n\t\tconst isDefaultBlock = blockName === getDefaultBlockName();\n\t\tconst isEmptyContent = block?.attributes.content === '';\n\t\tconst isExactlyOneBlock = blockOrder.length === 1;\n\t\tconst isEmptyDefaultBlock =\n\t\t\tisExactlyOneBlock && isDefaultBlock && isEmptyContent;\n\t\tconst isLocked = !! getTemplateLock( rootClientId );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientIds()[ 0 ];\n\t\tconst selectedBlock = selectedBlockClientId\n\t\t\t? getBlocksByClientId( selectedBlockClientId )[ 0 ]\n\t\t\t: undefined;\n\t\tconst selectedBlockPossibleTransformations = selectedBlock\n\t\t\t? getBlockTransformItems( selectedBlock, rootClientId )\n\t\t\t: EMPTY_BLOCK_LIST;\n\n\t\tconst isReusableBlockType = block ? isReusableBlock( block ) : false;\n\t\tconst reusableBlock = isReusableBlockType\n\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblock?.attributes.ref\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tblockTitle,\n\t\t\tcanInsertBlockType,\n\t\t\tcurrentIndex: currentBlockIndex,\n\t\t\tgetBlocksByClientId,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tisReusableBlockType,\n\t\t\treusableBlock,\n\t\t\trootClientId,\n\t\t\tselectedBlockClientId,\n\t\t\tselectedBlockPossibleTransformations,\n\t\t};\n\t} ),\n\twithDispatch(\n\t\t(\n\t\t\tdispatch,\n\t\t\t{ clientId, rootClientId, currentIndex, selectedBlockClientId },\n\t\t\t{ select }\n\t\t) => {\n\t\t\tconst {\n\t\t\t\tmoveBlocksDown,\n\t\t\t\tmoveBlocksUp,\n\t\t\t\tduplicateBlocks,\n\t\t\t\tremoveBlocks,\n\t\t\t\tinsertBlock,\n\t\t\t\treplaceBlock,\n\t\t\t\tclearSelectedBlock,\n\t\t\t} = dispatch( blockEditorStore );\n\t\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\t\tconst { getBlockSelectionEnd, getBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\t\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\t\t\tdispatch( reusableBlocksStore );\n\n\t\t\treturn {\n\t\t\t\tcreateSuccessNotice,\n\t\t\t\tconvertToRegularBlocks() {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t\t\t\t// to prevent issues related to undo/redo actions.\n\t\t\t\t\tsetImmediate( () =>\n\t\t\t\t\t\tconvertBlockToStatic( selectedBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tduplicateBlock() {\n\t\t\t\t\treturn duplicateBlocks( [ clientId ] );\n\t\t\t\t},\n\t\t\t\tonMoveDown: ( ...args ) =>\n\t\t\t\t\tmoveBlocksDown( [ clientId ], rootClientId, ...args ),\n\t\t\t\tonMoveUp: ( ...args ) =>\n\t\t\t\t\tmoveBlocksUp( [ clientId ], rootClientId, ...args ),\n\t\t\t\topenGeneralSidebar: () =>\n\t\t\t\t\topenGeneralSidebar( 'edit-post/block' ),\n\t\t\t\tpasteBlock: ( clipboardBlock ) => {\n\t\t\t\t\tconst canReplaceBlock = isUnmodifiedDefaultBlock(\n\t\t\t\t\t\tgetBlock( getBlockSelectionEnd() )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! canReplaceBlock ) {\n\t\t\t\t\t\tconst insertedBlock = createBlock(\n\t\t\t\t\t\t\tclipboardBlock.name,\n\t\t\t\t\t\t\tclipboardBlock.attributes,\n\t\t\t\t\t\t\tclipboardBlock.innerBlocks\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\tinsertedBlock,\n\t\t\t\t\t\t\tcurrentIndex + 1,\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treplaceBlock( clientId, clipboardBlock );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tremoveBlocks,\n\t\t\t};\n\t\t}\n\t),\n\twithInstanceId\n)( BlockActionsMenu );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RANGE_CONTROL_MAX_SIZE = exports.MIN_BORDER_RADIUS_VALUE = exports.MAX_BORDER_RADIUS_VALUES = exports.ICONS = exports.EMPTY_ARRAY = exports.DEFAULT_VALUES = exports.CORNERS = void 0;
|
|
7
|
+
var _i18n = require("@wordpress/i18n");
|
|
8
|
+
var _icons = require("@wordpress/icons");
|
|
9
|
+
/**
|
|
10
|
+
* WordPress dependencies
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const DEFAULT_VALUES = exports.DEFAULT_VALUES = {
|
|
14
|
+
topLeft: undefined,
|
|
15
|
+
topRight: undefined,
|
|
16
|
+
bottomLeft: undefined,
|
|
17
|
+
bottomRight: undefined
|
|
18
|
+
};
|
|
19
|
+
const RANGE_CONTROL_MAX_SIZE = exports.RANGE_CONTROL_MAX_SIZE = 8;
|
|
20
|
+
const EMPTY_ARRAY = exports.EMPTY_ARRAY = [];
|
|
21
|
+
const CORNERS = exports.CORNERS = {
|
|
22
|
+
all: (0, _i18n.__)('Border radius'),
|
|
23
|
+
topLeft: (0, _i18n.__)('Top left'),
|
|
24
|
+
topRight: (0, _i18n.__)('Top right'),
|
|
25
|
+
bottomLeft: (0, _i18n.__)('Bottom left'),
|
|
26
|
+
bottomRight: (0, _i18n.__)('Bottom right')
|
|
27
|
+
};
|
|
28
|
+
const ICONS = exports.ICONS = {
|
|
29
|
+
all: _icons.cornerAll,
|
|
30
|
+
topLeft: _icons.cornerTopLeft,
|
|
31
|
+
topRight: _icons.cornerTopRight,
|
|
32
|
+
bottomLeft: _icons.cornerBottomLeft,
|
|
33
|
+
bottomRight: _icons.cornerBottomRight
|
|
34
|
+
};
|
|
35
|
+
const MIN_BORDER_RADIUS_VALUE = exports.MIN_BORDER_RADIUS_VALUE = 0;
|
|
36
|
+
const MAX_BORDER_RADIUS_VALUES = exports.MAX_BORDER_RADIUS_VALUES = {
|
|
37
|
+
px: 100,
|
|
38
|
+
em: 20,
|
|
39
|
+
rem: 20
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","DEFAULT_VALUES","exports","topLeft","undefined","topRight","bottomLeft","bottomRight","RANGE_CONTROL_MAX_SIZE","EMPTY_ARRAY","CORNERS","all","__","ICONS","cornerAll","cornerTopLeft","cornerTopRight","cornerBottomLeft","cornerBottomRight","MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUES","px","em","rem"],"sources":["@wordpress/block-editor/src/components/border-radius-control/constants.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tcornerAll,\n\tcornerBottomLeft,\n\tcornerBottomRight,\n\tcornerTopLeft,\n\tcornerTopRight,\n} from '@wordpress/icons';\n\nexport const DEFAULT_VALUES = {\n\ttopLeft: undefined,\n\ttopRight: undefined,\n\tbottomLeft: undefined,\n\tbottomRight: undefined,\n};\n\nexport const RANGE_CONTROL_MAX_SIZE = 8;\n\nexport const EMPTY_ARRAY = [];\n\nexport const CORNERS = {\n\tall: __( 'Border radius' ),\n\ttopLeft: __( 'Top left' ),\n\ttopRight: __( 'Top right' ),\n\tbottomLeft: __( 'Bottom left' ),\n\tbottomRight: __( 'Bottom right' ),\n};\n\nexport const ICONS = {\n\tall: cornerAll,\n\ttopLeft: cornerTopLeft,\n\ttopRight: cornerTopRight,\n\tbottomLeft: cornerBottomLeft,\n\tbottomRight: cornerBottomRight,\n};\n\nexport const MIN_BORDER_RADIUS_VALUE = 0;\n\nexport const MAX_BORDER_RADIUS_VALUES = {\n\tpx: 100,\n\tem: 20,\n\trem: 20,\n};\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAUO,MAAME,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC7BE,OAAO,EAAEC,SAAS;EAClBC,QAAQ,EAAED,SAAS;EACnBE,UAAU,EAAEF,SAAS;EACrBG,WAAW,EAAEH;AACd,CAAC;AAEM,MAAMI,sBAAsB,GAAAN,OAAA,CAAAM,sBAAA,GAAG,CAAC;AAEhC,MAAMC,WAAW,GAAAP,OAAA,CAAAO,WAAA,GAAG,EAAE;AAEtB,MAAMC,OAAO,GAAAR,OAAA,CAAAQ,OAAA,GAAG;EACtBC,GAAG,EAAE,IAAAC,QAAE,EAAE,eAAgB,CAAC;EAC1BT,OAAO,EAAE,IAAAS,QAAE,EAAE,UAAW,CAAC;EACzBP,QAAQ,EAAE,IAAAO,QAAE,EAAE,WAAY,CAAC;EAC3BN,UAAU,EAAE,IAAAM,QAAE,EAAE,aAAc,CAAC;EAC/BL,WAAW,EAAE,IAAAK,QAAE,EAAE,cAAe;AACjC,CAAC;AAEM,MAAMC,KAAK,GAAAX,OAAA,CAAAW,KAAA,GAAG;EACpBF,GAAG,EAAEG,gBAAS;EACdX,OAAO,EAAEY,oBAAa;EACtBV,QAAQ,EAAEW,qBAAc;EACxBV,UAAU,EAAEW,uBAAgB;EAC5BV,WAAW,EAAEW;AACd,CAAC;AAEM,MAAMC,uBAAuB,GAAAjB,OAAA,CAAAiB,uBAAA,GAAG,CAAC;AAEjC,MAAMC,wBAAwB,GAAAlB,OAAA,CAAAkB,wBAAA,GAAG;EACvCC,EAAE,EAAE,GAAG;EACPC,EAAE,EAAE,EAAE;EACNC,GAAG,EAAE;AACN,CAAC","ignoreList":[]}
|
|
@@ -8,11 +8,11 @@ exports.default = BorderRadiusControl;
|
|
|
8
8
|
var _components = require("@wordpress/components");
|
|
9
9
|
var _element = require("@wordpress/element");
|
|
10
10
|
var _i18n = require("@wordpress/i18n");
|
|
11
|
-
var _allInputControl = _interopRequireDefault(require("./all-input-control"));
|
|
12
|
-
var _inputControls = _interopRequireDefault(require("./input-controls"));
|
|
13
11
|
var _linkedButton = _interopRequireDefault(require("./linked-button"));
|
|
14
12
|
var _useSettings = require("../use-settings");
|
|
15
13
|
var _utils = require("./utils");
|
|
14
|
+
var _singleInputControl = _interopRequireDefault(require("./single-input-control"));
|
|
15
|
+
var _constants = require("./constants");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
17
|
/**
|
|
18
18
|
* WordPress dependencies
|
|
@@ -22,18 +22,24 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
22
22
|
* Internal dependencies
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
25
|
+
function useBorderRadiusSizes(presets) {
|
|
26
|
+
var _presets$default, _presets$custom, _presets$theme;
|
|
27
|
+
const defaultSizes = (_presets$default = presets?.default) !== null && _presets$default !== void 0 ? _presets$default : _constants.EMPTY_ARRAY;
|
|
28
|
+
const customSizes = (_presets$custom = presets?.custom) !== null && _presets$custom !== void 0 ? _presets$custom : _constants.EMPTY_ARRAY;
|
|
29
|
+
const themeSizes = (_presets$theme = presets?.theme) !== null && _presets$theme !== void 0 ? _presets$theme : _constants.EMPTY_ARRAY;
|
|
30
|
+
return (0, _element.useMemo)(() => {
|
|
31
|
+
const sizes = [{
|
|
32
|
+
name: (0, _i18n.__)('None'),
|
|
33
|
+
slug: '0',
|
|
34
|
+
size: 0
|
|
35
|
+
}, ...customSizes, ...themeSizes, ...defaultSizes];
|
|
36
|
+
return sizes.length > _constants.RANGE_CONTROL_MAX_SIZE ? [{
|
|
37
|
+
name: (0, _i18n.__)('Default'),
|
|
38
|
+
slug: 'default',
|
|
39
|
+
size: undefined
|
|
40
|
+
}, ...sizes] : sizes;
|
|
41
|
+
}, [customSizes, themeSizes, defaultSizes]);
|
|
42
|
+
}
|
|
37
43
|
|
|
38
44
|
/**
|
|
39
45
|
* Control to display border radius options.
|
|
@@ -41,15 +47,17 @@ const MAX_BORDER_RADIUS_VALUES = {
|
|
|
41
47
|
* @param {Object} props Component props.
|
|
42
48
|
* @param {Function} props.onChange Callback to handle onChange.
|
|
43
49
|
* @param {Object} props.values Border radius values.
|
|
50
|
+
* @param {Object} props.presets Border radius presets.
|
|
44
51
|
*
|
|
45
52
|
* @return {Element} Custom border radius control.
|
|
46
53
|
*/
|
|
47
54
|
function BorderRadiusControl({
|
|
48
55
|
onChange,
|
|
49
|
-
values
|
|
56
|
+
values,
|
|
57
|
+
presets
|
|
50
58
|
}) {
|
|
51
59
|
const [isLinked, setIsLinked] = (0, _element.useState)(!(0, _utils.hasDefinedValues)(values) || !(0, _utils.hasMixedValues)(values));
|
|
52
|
-
|
|
60
|
+
const options = useBorderRadiusSizes(presets);
|
|
53
61
|
// Tracking selected units via internal state allows filtering of CSS unit
|
|
54
62
|
// only values from being saved while maintaining preexisting unit selection
|
|
55
63
|
// behaviour. Filtering CSS unit only values prevents invalid style values.
|
|
@@ -64,55 +72,38 @@ function BorderRadiusControl({
|
|
|
64
72
|
const units = (0, _components.__experimentalUseCustomUnits)({
|
|
65
73
|
availableUnits: availableUnits || ['px', 'em', 'rem']
|
|
66
74
|
});
|
|
67
|
-
const unit = (0, _utils.getAllUnit)(selectedUnits);
|
|
68
|
-
const unitConfig = units && units.find(item => item.value === unit);
|
|
69
|
-
const step = unitConfig?.step || 1;
|
|
70
|
-
const [allValue] = (0, _components.__experimentalParseQuantityAndUnitFromRawValue)((0, _utils.getAllValue)(values));
|
|
71
75
|
const toggleLinked = () => setIsLinked(!isLinked);
|
|
72
|
-
const handleSliderChange = next => {
|
|
73
|
-
onChange(next !== undefined ? `${next}${unit}` : undefined);
|
|
74
|
-
};
|
|
75
76
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("fieldset", {
|
|
76
77
|
className: "components-border-radius-control",
|
|
77
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.
|
|
78
|
-
|
|
79
|
-
children: (0,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
children: [isLinked ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
83
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_allInputControl.default, {
|
|
84
|
-
className: "components-border-radius-control__unit-control",
|
|
85
|
-
values: values,
|
|
86
|
-
min: MIN_BORDER_RADIUS_VALUE,
|
|
87
|
-
onChange: onChange,
|
|
88
|
-
selectedUnits: selectedUnits,
|
|
89
|
-
setSelectedUnits: setSelectedUnits,
|
|
90
|
-
units: units
|
|
91
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
|
|
92
|
-
__next40pxDefaultSize: true,
|
|
93
|
-
label: (0, _i18n.__)('Border radius'),
|
|
94
|
-
hideLabelFromVision: true,
|
|
95
|
-
className: "components-border-radius-control__range-control",
|
|
96
|
-
value: allValue !== null && allValue !== void 0 ? allValue : '',
|
|
97
|
-
min: MIN_BORDER_RADIUS_VALUE,
|
|
98
|
-
max: MAX_BORDER_RADIUS_VALUES[unit],
|
|
99
|
-
initialPosition: 0,
|
|
100
|
-
withInputField: false,
|
|
101
|
-
onChange: handleSliderChange,
|
|
102
|
-
step: step,
|
|
103
|
-
__nextHasNoMarginBottom: true
|
|
104
|
-
})]
|
|
105
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_inputControls.default, {
|
|
106
|
-
min: MIN_BORDER_RADIUS_VALUE,
|
|
107
|
-
onChange: onChange,
|
|
108
|
-
selectedUnits: selectedUnits,
|
|
109
|
-
setSelectedUnits: setSelectedUnits,
|
|
110
|
-
values: values || DEFAULT_VALUES,
|
|
111
|
-
units: units
|
|
78
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
|
|
79
|
+
className: "components-border-radius-control__header",
|
|
80
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.BaseControl.VisualLabel, {
|
|
81
|
+
as: "legend",
|
|
82
|
+
children: (0, _i18n.__)('Radius')
|
|
112
83
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_linkedButton.default, {
|
|
113
84
|
onClick: toggleLinked,
|
|
114
85
|
isLinked: isLinked
|
|
115
86
|
})]
|
|
87
|
+
}), isLinked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
88
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_singleInputControl.default, {
|
|
89
|
+
onChange: onChange,
|
|
90
|
+
selectedUnits: selectedUnits,
|
|
91
|
+
setSelectedUnits: setSelectedUnits,
|
|
92
|
+
values: values,
|
|
93
|
+
units: units,
|
|
94
|
+
corner: "all",
|
|
95
|
+
presets: options
|
|
96
|
+
})
|
|
97
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
|
|
98
|
+
children: ['topLeft', 'topRight', 'bottomLeft', 'bottomRight'].map(corner => /*#__PURE__*/(0, _jsxRuntime.jsx)(_singleInputControl.default, {
|
|
99
|
+
onChange: onChange,
|
|
100
|
+
selectedUnits: selectedUnits,
|
|
101
|
+
setSelectedUnits: setSelectedUnits,
|
|
102
|
+
values: values || _constants.DEFAULT_VALUES,
|
|
103
|
+
units: units,
|
|
104
|
+
corner: corner,
|
|
105
|
+
presets: options
|
|
106
|
+
}, corner))
|
|
116
107
|
})]
|
|
117
108
|
});
|
|
118
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_i18n","
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_i18n","_linkedButton","_interopRequireDefault","_useSettings","_utils","_singleInputControl","_constants","_jsxRuntime","useBorderRadiusSizes","presets","_presets$default","_presets$custom","_presets$theme","defaultSizes","default","EMPTY_ARRAY","customSizes","custom","themeSizes","theme","useMemo","sizes","name","__","slug","size","length","RANGE_CONTROL_MAX_SIZE","undefined","BorderRadiusControl","onChange","values","isLinked","setIsLinked","useState","hasDefinedValues","hasMixedValues","options","selectedUnits","setSelectedUnits","flat","parseQuantityAndUnitFromRawValue","topLeft","topRight","bottomLeft","bottomRight","availableUnits","useSettings","units","useCustomUnits","toggleLinked","jsxs","className","children","__experimentalHStack","jsx","BaseControl","VisualLabel","as","onClick","Fragment","corner","__experimentalVStack","map","DEFAULT_VALUES"],"sources":["@wordpress/block-editor/src/components/border-radius-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport LinkedButton from './linked-button';\nimport { useSettings } from '../use-settings';\nimport { hasDefinedValues, hasMixedValues } from './utils';\nimport SingleInputControl from './single-input-control';\nimport {\n\tDEFAULT_VALUES,\n\tRANGE_CONTROL_MAX_SIZE,\n\tEMPTY_ARRAY,\n} from './constants';\n\nfunction useBorderRadiusSizes( presets ) {\n\tconst defaultSizes = presets?.default ?? EMPTY_ARRAY;\n\tconst customSizes = presets?.custom ?? EMPTY_ARRAY;\n\tconst themeSizes = presets?.theme ?? EMPTY_ARRAY;\n\n\treturn useMemo( () => {\n\t\tconst sizes = [\n\t\t\t{ name: __( 'None' ), slug: '0', size: 0 },\n\t\t\t...customSizes,\n\t\t\t...themeSizes,\n\t\t\t...defaultSizes,\n\t\t];\n\n\t\treturn sizes.length > RANGE_CONTROL_MAX_SIZE\n\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: __( 'Default' ),\n\t\t\t\t\t\tslug: 'default',\n\t\t\t\t\t\tsize: undefined,\n\t\t\t\t\t},\n\t\t\t\t\t...sizes,\n\t\t\t ]\n\t\t\t: sizes;\n\t}, [ customSizes, themeSizes, defaultSizes ] );\n}\n\n/**\n * Control to display border radius options.\n *\n * @param {Object} props Component props.\n * @param {Function} props.onChange Callback to handle onChange.\n * @param {Object} props.values Border radius values.\n * @param {Object} props.presets Border radius presets.\n *\n * @return {Element} Custom border radius control.\n */\nexport default function BorderRadiusControl( { onChange, values, presets } ) {\n\tconst [ isLinked, setIsLinked ] = useState(\n\t\t! hasDefinedValues( values ) || ! hasMixedValues( values )\n\t);\n\tconst options = useBorderRadiusSizes( presets );\n\t// Tracking selected units via internal state allows filtering of CSS unit\n\t// only values from being saved while maintaining preexisting unit selection\n\t// behaviour. Filtering CSS unit only values prevents invalid style values.\n\tconst [ selectedUnits, setSelectedUnits ] = useState( {\n\t\tflat:\n\t\t\ttypeof values === 'string'\n\t\t\t\t? parseQuantityAndUnitFromRawValue( values )[ 1 ]\n\t\t\t\t: undefined,\n\t\ttopLeft: parseQuantityAndUnitFromRawValue( values?.topLeft )[ 1 ],\n\t\ttopRight: parseQuantityAndUnitFromRawValue( values?.topRight )[ 1 ],\n\t\tbottomLeft: parseQuantityAndUnitFromRawValue( values?.bottomLeft )[ 1 ],\n\t\tbottomRight: parseQuantityAndUnitFromRawValue(\n\t\t\tvalues?.bottomRight\n\t\t)[ 1 ],\n\t} );\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem' ],\n\t} );\n\n\tconst toggleLinked = () => setIsLinked( ! isLinked );\n\n\treturn (\n\t\t<fieldset className=\"components-border-radius-control\">\n\t\t\t<HStack className=\"components-border-radius-control__header\">\n\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t{ __( 'Radius' ) }\n\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t<LinkedButton onClick={ toggleLinked } isLinked={ isLinked } />\n\t\t\t</HStack>\n\t\t\t{ isLinked ? (\n\t\t\t\t<>\n\t\t\t\t\t<SingleInputControl\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tselectedUnits={ selectedUnits }\n\t\t\t\t\t\tsetSelectedUnits={ setSelectedUnits }\n\t\t\t\t\t\tvalues={ values }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tcorner=\"all\"\n\t\t\t\t\t\tpresets={ options }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<VStack>\n\t\t\t\t\t{ [\n\t\t\t\t\t\t'topLeft',\n\t\t\t\t\t\t'topRight',\n\t\t\t\t\t\t'bottomLeft',\n\t\t\t\t\t\t'bottomRight',\n\t\t\t\t\t].map( ( corner ) => (\n\t\t\t\t\t\t<SingleInputControl\n\t\t\t\t\t\t\tkey={ corner }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tselectedUnits={ selectedUnits }\n\t\t\t\t\t\t\tsetSelectedUnits={ setSelectedUnits }\n\t\t\t\t\t\t\tvalues={ values || DEFAULT_VALUES }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tcorner={ corner }\n\t\t\t\t\t\t\tpresets={ options }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|