@wordpress/block-editor 15.1.0 → 15.1.1-next.0f6f9d12c.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.
Files changed (94) hide show
  1. package/build/components/block-settings-menu/block-settings-dropdown.js +6 -2
  2. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  3. package/build/components/block-toolbar/block-toolbar-menu.native.js +2 -2
  4. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  5. package/build/components/border-radius-control/constants.js +41 -0
  6. package/build/components/border-radius-control/constants.js.map +1 -0
  7. package/build/components/border-radius-control/index.js +49 -58
  8. package/build/components/border-radius-control/index.js.map +1 -1
  9. package/build/components/border-radius-control/linked-button.js +1 -1
  10. package/build/components/border-radius-control/linked-button.js.map +1 -1
  11. package/build/components/border-radius-control/single-input-control.js +204 -0
  12. package/build/components/border-radius-control/single-input-control.js.map +1 -0
  13. package/build/components/border-radius-control/utils.js +161 -4
  14. package/build/components/border-radius-control/utils.js.map +1 -1
  15. package/build/components/global-styles/border-panel.js +12 -1
  16. package/build/components/global-styles/border-panel.js.map +1 -1
  17. package/build/components/global-styles/hooks.js +1 -1
  18. package/build/components/global-styles/hooks.js.map +1 -1
  19. package/build/components/global-styles/utils.js +5 -3
  20. package/build/components/global-styles/utils.js.map +1 -1
  21. package/build/components/rich-text/index.js +9 -4
  22. package/build/components/rich-text/index.js.map +1 -1
  23. package/build/components/rich-text/use-format-types.js +19 -8
  24. package/build/components/rich-text/use-format-types.js.map +1 -1
  25. package/build/hooks/duotone.js +2 -2
  26. package/build/hooks/duotone.js.map +1 -1
  27. package/build/hooks/utils.js +4 -3
  28. package/build/hooks/utils.js.map +1 -1
  29. package/build/private-apis.js +2 -1
  30. package/build/private-apis.js.map +1 -1
  31. package/build/store/private-keys.js +2 -1
  32. package/build/store/private-keys.js.map +1 -1
  33. package/build-module/components/block-settings-menu/block-settings-dropdown.js +6 -2
  34. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  35. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +3 -3
  36. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  37. package/build-module/components/border-radius-control/constants.js +34 -0
  38. package/build-module/components/border-radius-control/constants.js.map +1 -0
  39. package/build-module/components/border-radius-control/index.js +53 -62
  40. package/build-module/components/border-radius-control/index.js.map +1 -1
  41. package/build-module/components/border-radius-control/linked-button.js +1 -1
  42. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  43. package/build-module/components/border-radius-control/single-input-control.js +197 -0
  44. package/build-module/components/border-radius-control/single-input-control.js.map +1 -0
  45. package/build-module/components/border-radius-control/utils.js +154 -4
  46. package/build-module/components/border-radius-control/utils.js.map +1 -1
  47. package/build-module/components/global-styles/border-panel.js +12 -1
  48. package/build-module/components/global-styles/border-panel.js.map +1 -1
  49. package/build-module/components/global-styles/hooks.js +1 -1
  50. package/build-module/components/global-styles/hooks.js.map +1 -1
  51. package/build-module/components/global-styles/utils.js +5 -3
  52. package/build-module/components/global-styles/utils.js.map +1 -1
  53. package/build-module/components/rich-text/index.js +9 -4
  54. package/build-module/components/rich-text/index.js.map +1 -1
  55. package/build-module/components/rich-text/use-format-types.js +19 -8
  56. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  57. package/build-module/hooks/duotone.js +3 -3
  58. package/build-module/hooks/duotone.js.map +1 -1
  59. package/build-module/hooks/utils.js +4 -3
  60. package/build-module/hooks/utils.js.map +1 -1
  61. package/build-module/private-apis.js +3 -2
  62. package/build-module/private-apis.js.map +1 -1
  63. package/build-module/store/private-keys.js +1 -0
  64. package/build-module/store/private-keys.js.map +1 -1
  65. package/build-style/style-rtl.css +16 -18
  66. package/build-style/style.css +16 -18
  67. package/package.json +34 -34
  68. package/src/components/block-settings-menu/block-settings-dropdown.js +22 -14
  69. package/src/components/block-toolbar/block-toolbar-menu.native.js +3 -3
  70. package/src/components/border-radius-control/constants.js +46 -0
  71. package/src/components/border-radius-control/index.js +71 -72
  72. package/src/components/border-radius-control/linked-button.js +1 -1
  73. package/src/components/border-radius-control/single-input-control.js +277 -0
  74. package/src/components/border-radius-control/style.scss +16 -21
  75. package/src/components/border-radius-control/utils.js +178 -5
  76. package/src/components/global-styles/border-panel.js +12 -1
  77. package/src/components/global-styles/hooks.js +1 -0
  78. package/src/components/global-styles/utils.js +6 -1
  79. package/src/components/rich-text/index.js +19 -10
  80. package/src/components/rich-text/use-format-types.js +42 -19
  81. package/src/hooks/duotone.js +11 -3
  82. package/src/hooks/utils.js +4 -0
  83. package/src/private-apis.js +2 -0
  84. package/src/store/private-keys.js +1 -0
  85. package/build/components/border-radius-control/all-input-control.js +0 -65
  86. package/build/components/border-radius-control/all-input-control.js.map +0 -1
  87. package/build/components/border-radius-control/input-controls.js +0 -82
  88. package/build/components/border-radius-control/input-controls.js.map +0 -1
  89. package/build-module/components/border-radius-control/all-input-control.js +0 -58
  90. package/build-module/components/border-radius-control/all-input-control.js.map +0 -1
  91. package/build-module/components/border-radius-control/input-controls.js +0 -75
  92. package/build-module/components/border-radius-control/input-controls.js.map +0 -1
  93. package/src/components/border-radius-control/all-input-control.js +0 -67
  94. package/src/components/border-radius-control/input-controls.js +0 -91
@@ -82,6 +82,7 @@ export function BlockSettingsDropdown({
82
82
  selectedBlockClientIds,
83
83
  openedBlockSettingsMenu,
84
84
  isContentOnly,
85
+ isNavigationMode,
85
86
  isZoomOut
86
87
  } = useSelect(select => {
87
88
  const {
@@ -92,6 +93,7 @@ export function BlockSettingsDropdown({
92
93
  getBlockAttributes,
93
94
  getOpenedBlockSettingsMenu,
94
95
  getBlockEditingMode,
96
+ isNavigationMode: _isNavigationMode,
95
97
  isZoomOut: _isZoomOut
96
98
  } = unlock(select(blockEditorStore));
97
99
  const {
@@ -106,6 +108,7 @@ export function BlockSettingsDropdown({
106
108
  selectedBlockClientIds: getSelectedBlockClientIds(),
107
109
  openedBlockSettingsMenu: getOpenedBlockSettingsMenu(),
108
110
  isContentOnly: getBlockEditingMode(firstBlockClientId) === 'contentOnly',
111
+ isNavigationMode: _isNavigationMode(),
109
112
  isZoomOut: _isZoomOut()
110
113
  };
111
114
  }, [firstBlockClientId]);
@@ -130,6 +133,7 @@ export function BlockSettingsDropdown({
130
133
  };
131
134
  }, []);
132
135
  const hasSelectedBlocks = selectedBlockClientIds.length > 0;
136
+ const isContentOnlyWriteMode = isNavigationMode && isContentOnly;
133
137
  async function updateSelectionAfterDuplicate(clientIdsPromise) {
134
138
  if (!__experimentalSelectBlock) {
135
139
  return;
@@ -220,11 +224,11 @@ export function BlockSettingsDropdown({
220
224
  parentBlockType: parentBlockType
221
225
  }), count === 1 && /*#__PURE__*/_jsx(BlockHTMLConvertButton, {
222
226
  clientId: firstBlockClientId
223
- }), /*#__PURE__*/_jsx(CopyMenuItem, {
227
+ }), !isContentOnlyWriteMode && /*#__PURE__*/_jsx(CopyMenuItem, {
224
228
  clientIds: clientIds,
225
229
  onCopy: onCopy,
226
230
  shortcut: shortcuts.copy
227
- }), /*#__PURE__*/_jsx(CopyMenuItem, {
231
+ }), !isContentOnlyWriteMode && /*#__PURE__*/_jsx(CopyMenuItem, {
228
232
  clientIds: clientIds,
229
233
  label: __('Cut'),
230
234
  eventType: "cut",
@@ -1 +1 @@
1
- {"version":3,"names":["getBlockType","serialize","store","blocksStore","DropdownMenu","MenuGroup","MenuItem","useDispatch","useSelect","moreVertical","Children","cloneElement","__","keyboardShortcutsStore","pipe","useCopyToClipboard","BlockActions","CommentIconSlotFill","BlockHTMLConvertButton","__unstableBlockSettingsMenuFirstItem","BlockSettingsMenuControls","BlockParentSelectorMenuItem","blockEditorStore","unlock","useNotifyCopy","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","POPOVER_PROPS","className","placement","CopyMenuItem","clientIds","onCopy","label","shortcut","eventType","__experimentalUpdateSelection","updateSelection","getBlocksByClientId","removeBlocks","notifyCopy","ref","copyMenuItemLabel","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","getActiveBlockVariation","_firstParentClientId","parentBlockName","getBlockOrder","setOpenedBlockSettingsMenu","shortcuts","getShortcutRepresentation","copy","cut","duplicate","remove","insertAfter","insertBefore","hasSelectedBlocks","updateSelectionAfterDuplicate","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","shouldShowBlockParentMenuItem","canCopyStyles","canDuplicate","canInsertBlock","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","isEmpty","icon","popoverProps","noIcons","onClose","Slot","fillProps","parentClientId","onClick","map","child"],"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":["getBlockType","serialize","store","blocksStore","DropdownMenu","MenuGroup","MenuItem","useDispatch","useSelect","moreVertical","Children","cloneElement","__","keyboardShortcutsStore","pipe","useCopyToClipboard","BlockActions","CommentIconSlotFill","BlockHTMLConvertButton","__unstableBlockSettingsMenuFirstItem","BlockSettingsMenuControls","BlockParentSelectorMenuItem","blockEditorStore","unlock","useNotifyCopy","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","POPOVER_PROPS","className","placement","CopyMenuItem","clientIds","onCopy","label","shortcut","eventType","__experimentalUpdateSelection","updateSelection","getBlocksByClientId","removeBlocks","notifyCopy","ref","copyMenuItemLabel","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","getActiveBlockVariation","_firstParentClientId","parentBlockName","getBlockOrder","setOpenedBlockSettingsMenu","shortcuts","getShortcutRepresentation","copy","cut","duplicate","remove","insertAfter","insertBefore","hasSelectedBlocks","isContentOnlyWriteMode","updateSelectionAfterDuplicate","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","shouldShowBlockParentMenuItem","canCopyStyles","canDuplicate","canInsertBlock","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","isEmpty","icon","popoverProps","noIcons","onClose","Slot","fillProps","parentClientId","onClick","map","child"],"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":[]}
@@ -11,7 +11,7 @@ import { getBlockType, getDefaultBlockName, hasBlockSupport, serialize, rawHandl
11
11
  import { __, sprintf } from '@wordpress/i18n';
12
12
  import { withDispatch, withSelect, useSelect } from '@wordpress/data';
13
13
  import { withInstanceId, compose } from '@wordpress/compose';
14
- import { moreHorizontalMobile } from '@wordpress/icons';
14
+ import { moreHorizontal } from '@wordpress/icons';
15
15
  import { useRef, useState } from '@wordpress/element';
16
16
  import { store as noticesStore } from '@wordpress/notices';
17
17
  import { store as reusableBlocksStore } from '@wordpress/reusable-blocks';
@@ -199,7 +199,7 @@ const BlockActionsMenu = ({
199
199
  return /*#__PURE__*/_jsx(ToolbarGroup, {
200
200
  children: /*#__PURE__*/_jsx(ToolbarButton, {
201
201
  title: __('Open Block Actions Menu'),
202
- icon: moreHorizontalMobile,
202
+ icon: moreHorizontal,
203
203
  disabled: true
204
204
  })
205
205
  });
@@ -228,7 +228,7 @@ const BlockActionsMenu = ({
228
228
  children: [/*#__PURE__*/_jsx(ToolbarButton, {
229
229
  title: __('Open Block Actions Menu'),
230
230
  onClick: onPickerPresent,
231
- icon: moreHorizontalMobile,
231
+ icon: moreHorizontal,
232
232
  extraProps: {
233
233
  hint: accessibilityHint
234
234
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","findNodeHandle","getClipboard","setClipboard","ToolbarGroup","ToolbarButton","Picker","getBlockType","getDefaultBlockName","hasBlockSupport","serialize","rawHandler","createBlock","isUnmodifiedDefaultBlock","isReusableBlock","__","sprintf","withDispatch","withSelect","useSelect","withInstanceId","compose","moreHorizontalMobile","useRef","useState","store","noticesStore","reusableBlocksStore","coreStore","getMoversSetup","blockEditorStore","BlockTransformationsMenu","useConvertToGroupButtons","useConvertToGroupButtonProps","jsx","_jsx","jsxs","_jsxs","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","blockActionsMenuPickerRef","blockTransformationMenuPickerRef","moversOptions","keys","clipboardBlock","HTML","isPasteEnabled","name","innerBlockCount","select","getBlockCount","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","convertToGroupButtons","allOptions","settings","id","label","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","cutButton","pasteButton","onPasteBlock","duplicateButton","successNotice","title","raw","options","length","group","ungroup","filter","Boolean","children","icon","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","accessibilityHint","OS","getAnchor","undefined","onClick","extraProps","hint","testID","ref","onChange","destructiveButtonIndex","hideCancelButton","leftAlign","pickerRef","possibleTransformations","selectedBlock","EMPTY_BLOCK_LIST","clientId","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","block","blockName","blockType","blockOrder","currentBlockIndex","innerBlocks","every","innerBlock","isDefaultBlock","isEmptyContent","attributes","content","isExactlyOneBlock","getEntityRecord","currentIndex","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlock","clearSelectedBlock","getBlockSelectionEnd","__experimentalConvertBlockToStatic","convertBlockToStatic","setImmediate","args","canReplaceBlock","insertedBlock"],"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":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","findNodeHandle","getClipboard","setClipboard","ToolbarGroup","ToolbarButton","Picker","getBlockType","getDefaultBlockName","hasBlockSupport","serialize","rawHandler","createBlock","isUnmodifiedDefaultBlock","isReusableBlock","__","sprintf","withDispatch","withSelect","useSelect","withInstanceId","compose","moreHorizontal","useRef","useState","store","noticesStore","reusableBlocksStore","coreStore","getMoversSetup","blockEditorStore","BlockTransformationsMenu","useConvertToGroupButtons","useConvertToGroupButtonProps","jsx","_jsx","jsxs","_jsxs","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","blockActionsMenuPickerRef","blockTransformationMenuPickerRef","moversOptions","keys","clipboardBlock","HTML","isPasteEnabled","name","innerBlockCount","select","getBlockCount","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","convertToGroupButtons","allOptions","settings","id","label","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","cutButton","pasteButton","onPasteBlock","duplicateButton","successNotice","title","raw","options","length","group","ungroup","filter","Boolean","children","icon","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","accessibilityHint","OS","getAnchor","undefined","onClick","extraProps","hint","testID","ref","onChange","destructiveButtonIndex","hideCancelButton","leftAlign","pickerRef","possibleTransformations","selectedBlock","EMPTY_BLOCK_LIST","clientId","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","block","blockName","blockType","blockOrder","currentBlockIndex","innerBlocks","every","innerBlock","isDefaultBlock","isEmptyContent","attributes","content","isExactlyOneBlock","getEntityRecord","currentIndex","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlock","clearSelectedBlock","getBlockSelectionEnd","__experimentalConvertBlockToStatic","convertBlockToStatic","setImmediate","args","canReplaceBlock","insertedBlock"],"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,34 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { cornerAll, cornerBottomLeft, cornerBottomRight, cornerTopLeft, cornerTopRight } from '@wordpress/icons';
6
+ export const DEFAULT_VALUES = {
7
+ topLeft: undefined,
8
+ topRight: undefined,
9
+ bottomLeft: undefined,
10
+ bottomRight: undefined
11
+ };
12
+ export const RANGE_CONTROL_MAX_SIZE = 8;
13
+ export const EMPTY_ARRAY = [];
14
+ export const CORNERS = {
15
+ all: __('Border radius'),
16
+ topLeft: __('Top left'),
17
+ topRight: __('Top right'),
18
+ bottomLeft: __('Bottom left'),
19
+ bottomRight: __('Bottom right')
20
+ };
21
+ export const ICONS = {
22
+ all: cornerAll,
23
+ topLeft: cornerTopLeft,
24
+ topRight: cornerTopRight,
25
+ bottomLeft: cornerBottomLeft,
26
+ bottomRight: cornerBottomRight
27
+ };
28
+ export const MIN_BORDER_RADIUS_VALUE = 0;
29
+ export const MAX_BORDER_RADIUS_VALUES = {
30
+ px: 100,
31
+ em: 20,
32
+ rem: 20
33
+ };
34
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","cornerAll","cornerBottomLeft","cornerBottomRight","cornerTopLeft","cornerTopRight","DEFAULT_VALUES","topLeft","undefined","topRight","bottomLeft","bottomRight","RANGE_CONTROL_MAX_SIZE","EMPTY_ARRAY","CORNERS","all","ICONS","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":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,SAAS,EACTC,gBAAgB,EAChBC,iBAAiB,EACjBC,aAAa,EACbC,cAAc,QACR,kBAAkB;AAEzB,OAAO,MAAMC,cAAc,GAAG;EAC7BC,OAAO,EAAEC,SAAS;EAClBC,QAAQ,EAAED,SAAS;EACnBE,UAAU,EAAEF,SAAS;EACrBG,WAAW,EAAEH;AACd,CAAC;AAED,OAAO,MAAMI,sBAAsB,GAAG,CAAC;AAEvC,OAAO,MAAMC,WAAW,GAAG,EAAE;AAE7B,OAAO,MAAMC,OAAO,GAAG;EACtBC,GAAG,EAAEf,EAAE,CAAE,eAAgB,CAAC;EAC1BO,OAAO,EAAEP,EAAE,CAAE,UAAW,CAAC;EACzBS,QAAQ,EAAET,EAAE,CAAE,WAAY,CAAC;EAC3BU,UAAU,EAAEV,EAAE,CAAE,aAAc,CAAC;EAC/BW,WAAW,EAAEX,EAAE,CAAE,cAAe;AACjC,CAAC;AAED,OAAO,MAAMgB,KAAK,GAAG;EACpBD,GAAG,EAAEd,SAAS;EACdM,OAAO,EAAEH,aAAa;EACtBK,QAAQ,EAAEJ,cAAc;EACxBK,UAAU,EAAER,gBAAgB;EAC5BS,WAAW,EAAER;AACd,CAAC;AAED,OAAO,MAAMc,uBAAuB,GAAG,CAAC;AAExC,OAAO,MAAMC,wBAAwB,GAAG;EACvCC,EAAE,EAAE,GAAG;EACPC,EAAE,EAAE,EAAE;EACNC,GAAG,EAAE;AACN,CAAC","ignoreList":[]}
@@ -1,31 +1,37 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { BaseControl, RangeControl, __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue, __experimentalUseCustomUnits as useCustomUnits } from '@wordpress/components';
5
- import { useState } from '@wordpress/element';
4
+ import { BaseControl, __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue, __experimentalUseCustomUnits as useCustomUnits, __experimentalVStack as VStack, __experimentalHStack as HStack } from '@wordpress/components';
5
+ import { useState, useMemo } from '@wordpress/element';
6
6
  import { __ } from '@wordpress/i18n';
7
7
 
8
8
  /**
9
9
  * Internal dependencies
10
10
  */
11
- import AllInputControl from './all-input-control';
12
- import InputControls from './input-controls';
13
11
  import LinkedButton from './linked-button';
14
12
  import { useSettings } from '../use-settings';
15
- import { getAllValue, getAllUnit, hasDefinedValues, hasMixedValues } from './utils';
16
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
17
- const DEFAULT_VALUES = {
18
- topLeft: undefined,
19
- topRight: undefined,
20
- bottomLeft: undefined,
21
- bottomRight: undefined
22
- };
23
- const MIN_BORDER_RADIUS_VALUE = 0;
24
- const MAX_BORDER_RADIUS_VALUES = {
25
- px: 100,
26
- em: 20,
27
- rem: 20
28
- };
13
+ import { hasDefinedValues, hasMixedValues } from './utils';
14
+ import SingleInputControl from './single-input-control';
15
+ import { DEFAULT_VALUES, RANGE_CONTROL_MAX_SIZE, EMPTY_ARRAY } from './constants';
16
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
17
+ function useBorderRadiusSizes(presets) {
18
+ var _presets$default, _presets$custom, _presets$theme;
19
+ const defaultSizes = (_presets$default = presets?.default) !== null && _presets$default !== void 0 ? _presets$default : EMPTY_ARRAY;
20
+ const customSizes = (_presets$custom = presets?.custom) !== null && _presets$custom !== void 0 ? _presets$custom : EMPTY_ARRAY;
21
+ const themeSizes = (_presets$theme = presets?.theme) !== null && _presets$theme !== void 0 ? _presets$theme : EMPTY_ARRAY;
22
+ return useMemo(() => {
23
+ const sizes = [{
24
+ name: __('None'),
25
+ slug: '0',
26
+ size: 0
27
+ }, ...customSizes, ...themeSizes, ...defaultSizes];
28
+ return sizes.length > RANGE_CONTROL_MAX_SIZE ? [{
29
+ name: __('Default'),
30
+ slug: 'default',
31
+ size: undefined
32
+ }, ...sizes] : sizes;
33
+ }, [customSizes, themeSizes, defaultSizes]);
34
+ }
29
35
 
30
36
  /**
31
37
  * Control to display border radius options.
@@ -33,15 +39,17 @@ const MAX_BORDER_RADIUS_VALUES = {
33
39
  * @param {Object} props Component props.
34
40
  * @param {Function} props.onChange Callback to handle onChange.
35
41
  * @param {Object} props.values Border radius values.
42
+ * @param {Object} props.presets Border radius presets.
36
43
  *
37
44
  * @return {Element} Custom border radius control.
38
45
  */
39
46
  export default function BorderRadiusControl({
40
47
  onChange,
41
- values
48
+ values,
49
+ presets
42
50
  }) {
43
51
  const [isLinked, setIsLinked] = useState(!hasDefinedValues(values) || !hasMixedValues(values));
44
-
52
+ const options = useBorderRadiusSizes(presets);
45
53
  // Tracking selected units via internal state allows filtering of CSS unit
46
54
  // only values from being saved while maintaining preexisting unit selection
47
55
  // behaviour. Filtering CSS unit only values prevents invalid style values.
@@ -56,55 +64,38 @@ export default function BorderRadiusControl({
56
64
  const units = useCustomUnits({
57
65
  availableUnits: availableUnits || ['px', 'em', 'rem']
58
66
  });
59
- const unit = getAllUnit(selectedUnits);
60
- const unitConfig = units && units.find(item => item.value === unit);
61
- const step = unitConfig?.step || 1;
62
- const [allValue] = parseQuantityAndUnitFromRawValue(getAllValue(values));
63
67
  const toggleLinked = () => setIsLinked(!isLinked);
64
- const handleSliderChange = next => {
65
- onChange(next !== undefined ? `${next}${unit}` : undefined);
66
- };
67
68
  return /*#__PURE__*/_jsxs("fieldset", {
68
69
  className: "components-border-radius-control",
69
- children: [/*#__PURE__*/_jsx(BaseControl.VisualLabel, {
70
- as: "legend",
71
- children: __('Radius')
72
- }), /*#__PURE__*/_jsxs("div", {
73
- className: "components-border-radius-control__wrapper",
74
- children: [isLinked ? /*#__PURE__*/_jsxs(_Fragment, {
75
- children: [/*#__PURE__*/_jsx(AllInputControl, {
76
- className: "components-border-radius-control__unit-control",
77
- values: values,
78
- min: MIN_BORDER_RADIUS_VALUE,
79
- onChange: onChange,
80
- selectedUnits: selectedUnits,
81
- setSelectedUnits: setSelectedUnits,
82
- units: units
83
- }), /*#__PURE__*/_jsx(RangeControl, {
84
- __next40pxDefaultSize: true,
85
- label: __('Border radius'),
86
- hideLabelFromVision: true,
87
- className: "components-border-radius-control__range-control",
88
- value: allValue !== null && allValue !== void 0 ? allValue : '',
89
- min: MIN_BORDER_RADIUS_VALUE,
90
- max: MAX_BORDER_RADIUS_VALUES[unit],
91
- initialPosition: 0,
92
- withInputField: false,
93
- onChange: handleSliderChange,
94
- step: step,
95
- __nextHasNoMarginBottom: true
96
- })]
97
- }) : /*#__PURE__*/_jsx(InputControls, {
98
- min: MIN_BORDER_RADIUS_VALUE,
99
- onChange: onChange,
100
- selectedUnits: selectedUnits,
101
- setSelectedUnits: setSelectedUnits,
102
- values: values || DEFAULT_VALUES,
103
- units: units
70
+ children: [/*#__PURE__*/_jsxs(HStack, {
71
+ className: "components-border-radius-control__header",
72
+ children: [/*#__PURE__*/_jsx(BaseControl.VisualLabel, {
73
+ as: "legend",
74
+ children: __('Radius')
104
75
  }), /*#__PURE__*/_jsx(LinkedButton, {
105
76
  onClick: toggleLinked,
106
77
  isLinked: isLinked
107
78
  })]
79
+ }), isLinked ? /*#__PURE__*/_jsx(_Fragment, {
80
+ children: /*#__PURE__*/_jsx(SingleInputControl, {
81
+ onChange: onChange,
82
+ selectedUnits: selectedUnits,
83
+ setSelectedUnits: setSelectedUnits,
84
+ values: values,
85
+ units: units,
86
+ corner: "all",
87
+ presets: options
88
+ })
89
+ }) : /*#__PURE__*/_jsx(VStack, {
90
+ children: ['topLeft', 'topRight', 'bottomLeft', 'bottomRight'].map(corner => /*#__PURE__*/_jsx(SingleInputControl, {
91
+ onChange: onChange,
92
+ selectedUnits: selectedUnits,
93
+ setSelectedUnits: setSelectedUnits,
94
+ values: values || DEFAULT_VALUES,
95
+ units: units,
96
+ corner: corner,
97
+ presets: options
98
+ }, corner))
108
99
  })]
109
100
  });
110
101
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BaseControl","RangeControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","__experimentalUseCustomUnits","useCustomUnits","useState","__","AllInputControl","InputControls","LinkedButton","useSettings","getAllValue","getAllUnit","hasDefinedValues","hasMixedValues","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_VALUES","topLeft","undefined","topRight","bottomLeft","bottomRight","MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUES","px","em","rem","BorderRadiusControl","onChange","values","isLinked","setIsLinked","selectedUnits","setSelectedUnits","flat","availableUnits","units","unit","unitConfig","find","item","value","step","allValue","toggleLinked","handleSliderChange","next","className","children","VisualLabel","as","min","__next40pxDefaultSize","label","hideLabelFromVision","max","initialPosition","withInputField","__nextHasNoMarginBottom","onClick"],"sources":["@wordpress/block-editor/src/components/border-radius-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tRangeControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport AllInputControl from './all-input-control';\nimport InputControls from './input-controls';\nimport LinkedButton from './linked-button';\nimport { useSettings } from '../use-settings';\nimport {\n\tgetAllValue,\n\tgetAllUnit,\n\thasDefinedValues,\n\thasMixedValues,\n} from './utils';\n\nconst DEFAULT_VALUES = {\n\ttopLeft: undefined,\n\ttopRight: undefined,\n\tbottomLeft: undefined,\n\tbottomRight: undefined,\n};\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUES = {\n\tpx: 100,\n\tem: 20,\n\trem: 20,\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 *\n * @return {Element} Custom border radius control.\n */\nexport default function BorderRadiusControl( { onChange, values } ) {\n\tconst [ isLinked, setIsLinked ] = useState(\n\t\t! hasDefinedValues( values ) || ! hasMixedValues( values )\n\t);\n\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 unit = getAllUnit( selectedUnits );\n\tconst unitConfig = units && units.find( ( item ) => item.value === unit );\n\tconst step = unitConfig?.step || 1;\n\n\tconst [ allValue ] = parseQuantityAndUnitFromRawValue(\n\t\tgetAllValue( values )\n\t);\n\n\tconst toggleLinked = () => setIsLinked( ! isLinked );\n\n\tconst handleSliderChange = ( next ) => {\n\t\tonChange( next !== undefined ? `${ next }${ unit }` : undefined );\n\t};\n\n\treturn (\n\t\t<fieldset className=\"components-border-radius-control\">\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ __( 'Radius' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<div className=\"components-border-radius-control__wrapper\">\n\t\t\t\t{ isLinked ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<AllInputControl\n\t\t\t\t\t\t\tclassName=\"components-border-radius-control__unit-control\"\n\t\t\t\t\t\t\tvalues={ values }\n\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\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\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Border radius' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tclassName=\"components-border-radius-control__range-control\"\n\t\t\t\t\t\t\tvalue={ allValue ?? '' }\n\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUES[ unit ] }\n\t\t\t\t\t\t\tinitialPosition={ 0 }\n\t\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\t\tonChange={ handleSliderChange }\n\t\t\t\t\t\t\tstep={ step }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<InputControls\n\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\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 || DEFAULT_VALUES }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<LinkedButton onClick={ toggleLinked } isLinked={ isLinked } />\n\t\t\t</div>\n\t\t</fieldset>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BaseControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","__experimentalUseCustomUnits","useCustomUnits","__experimentalVStack","VStack","__experimentalHStack","HStack","useState","useMemo","__","LinkedButton","useSettings","hasDefinedValues","hasMixedValues","SingleInputControl","DEFAULT_VALUES","RANGE_CONTROL_MAX_SIZE","EMPTY_ARRAY","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useBorderRadiusSizes","presets","_presets$default","_presets$custom","_presets$theme","defaultSizes","default","customSizes","custom","themeSizes","theme","sizes","name","slug","size","length","undefined","BorderRadiusControl","onChange","values","isLinked","setIsLinked","options","selectedUnits","setSelectedUnits","flat","topLeft","topRight","bottomLeft","bottomRight","availableUnits","units","toggleLinked","className","children","VisualLabel","as","onClick","corner","map"],"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":"AAAA;AACA;AACA;AACA,SACCA,WAAW,EACXC,8CAA8C,IAAIC,gCAAgC,EAClFC,4BAA4B,IAAIC,cAAc,EAC9CC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,QAAQ,EAAEC,OAAO,QAAQ,oBAAoB;AACtD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,gBAAgB,EAAEC,cAAc,QAAQ,SAAS;AAC1D,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,SACCC,cAAc,EACdC,sBAAsB,EACtBC,WAAW,QACL,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAErB,SAASC,oBAAoBA,CAAEC,OAAO,EAAG;EAAA,IAAAC,gBAAA,EAAAC,eAAA,EAAAC,cAAA;EACxC,MAAMC,YAAY,IAAAH,gBAAA,GAAGD,OAAO,EAAEK,OAAO,cAAAJ,gBAAA,cAAAA,gBAAA,GAAIT,WAAW;EACpD,MAAMc,WAAW,IAAAJ,eAAA,GAAGF,OAAO,EAAEO,MAAM,cAAAL,eAAA,cAAAA,eAAA,GAAIV,WAAW;EAClD,MAAMgB,UAAU,IAAAL,cAAA,GAAGH,OAAO,EAAES,KAAK,cAAAN,cAAA,cAAAA,cAAA,GAAIX,WAAW;EAEhD,OAAOT,OAAO,CAAE,MAAM;IACrB,MAAM2B,KAAK,GAAG,CACb;MAAEC,IAAI,EAAE3B,EAAE,CAAE,MAAO,CAAC;MAAE4B,IAAI,EAAE,GAAG;MAAEC,IAAI,EAAE;IAAE,CAAC,EAC1C,GAAGP,WAAW,EACd,GAAGE,UAAU,EACb,GAAGJ,YAAY,CACf;IAED,OAAOM,KAAK,CAACI,MAAM,GAAGvB,sBAAsB,GACzC,CACA;MACCoB,IAAI,EAAE3B,EAAE,CAAE,SAAU,CAAC;MACrB4B,IAAI,EAAE,SAAS;MACfC,IAAI,EAAEE;IACP,CAAC,EACD,GAAGL,KAAK,CACP,GACDA,KAAK;EACT,CAAC,EAAE,CAAEJ,WAAW,EAAEE,UAAU,EAAEJ,YAAY,CAAG,CAAC;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASY,mBAAmBA,CAAE;EAAEC,QAAQ;EAAEC,MAAM;EAAElB;AAAQ,CAAC,EAAG;EAC5E,MAAM,CAAEmB,QAAQ,EAAEC,WAAW,CAAE,GAAGtC,QAAQ,CACzC,CAAEK,gBAAgB,CAAE+B,MAAO,CAAC,IAAI,CAAE9B,cAAc,CAAE8B,MAAO,CAC1D,CAAC;EACD,MAAMG,OAAO,GAAGtB,oBAAoB,CAAEC,OAAQ,CAAC;EAC/C;EACA;EACA;EACA,MAAM,CAAEsB,aAAa,EAAEC,gBAAgB,CAAE,GAAGzC,QAAQ,CAAE;IACrD0C,IAAI,EACH,OAAON,MAAM,KAAK,QAAQ,GACvB3C,gCAAgC,CAAE2C,MAAO,CAAC,CAAE,CAAC,CAAE,GAC/CH,SAAS;IACbU,OAAO,EAAElD,gCAAgC,CAAE2C,MAAM,EAAEO,OAAQ,CAAC,CAAE,CAAC,CAAE;IACjEC,QAAQ,EAAEnD,gCAAgC,CAAE2C,MAAM,EAAEQ,QAAS,CAAC,CAAE,CAAC,CAAE;IACnEC,UAAU,EAAEpD,gCAAgC,CAAE2C,MAAM,EAAES,UAAW,CAAC,CAAE,CAAC,CAAE;IACvEC,WAAW,EAAErD,gCAAgC,CAC5C2C,MAAM,EAAEU,WACT,CAAC,CAAE,CAAC;EACL,CAAE,CAAC;EAEH,MAAM,CAAEC,cAAc,CAAE,GAAG3C,WAAW,CAAE,eAAgB,CAAC;EACzD,MAAM4C,KAAK,GAAGrD,cAAc,CAAE;IAC7BoD,cAAc,EAAEA,cAAc,IAAI,CAAE,IAAI,EAAE,IAAI,EAAE,KAAK;EACtD,CAAE,CAAC;EAEH,MAAME,YAAY,GAAGA,CAAA,KAAMX,WAAW,CAAE,CAAED,QAAS,CAAC;EAEpD,oBACCvB,KAAA;IAAUoC,SAAS,EAAC,kCAAkC;IAAAC,QAAA,gBACrDrC,KAAA,CAACf,MAAM;MAACmD,SAAS,EAAC,0CAA0C;MAAAC,QAAA,gBAC3DvC,IAAA,CAACrB,WAAW,CAAC6D,WAAW;QAACC,EAAE,EAAC,QAAQ;QAAAF,QAAA,EACjCjD,EAAE,CAAE,QAAS;MAAC,CACQ,CAAC,eAC1BU,IAAA,CAACT,YAAY;QAACmD,OAAO,EAAGL,YAAc;QAACZ,QAAQ,EAAGA;MAAU,CAAE,CAAC;IAAA,CACxD,CAAC,EACPA,QAAQ,gBACTzB,IAAA,CAAAI,SAAA;MAAAmC,QAAA,eACCvC,IAAA,CAACL,kBAAkB;QAClB4B,QAAQ,EAAGA,QAAU;QACrBK,aAAa,EAAGA,aAAe;QAC/BC,gBAAgB,EAAGA,gBAAkB;QACrCL,MAAM,EAAGA,MAAQ;QACjBY,KAAK,EAAGA,KAAO;QACfO,MAAM,EAAC,KAAK;QACZrC,OAAO,EAAGqB;MAAS,CACnB;IAAC,CACD,CAAC,gBAEH3B,IAAA,CAACf,MAAM;MAAAsD,QAAA,EACJ,CACD,SAAS,EACT,UAAU,EACV,YAAY,EACZ,aAAa,CACb,CAACK,GAAG,CAAID,MAAM,iBACd3C,IAAA,CAACL,kBAAkB;QAElB4B,QAAQ,EAAGA,QAAU;QACrBK,aAAa,EAAGA,aAAe;QAC/BC,gBAAgB,EAAGA,gBAAkB;QACrCL,MAAM,EAAGA,MAAM,IAAI5B,cAAgB;QACnCwC,KAAK,EAAGA,KAAO;QACfO,MAAM,EAAGA,MAAQ;QACjBrC,OAAO,EAAGqB;MAAS,GAPbgB,MAQN,CACA;IAAC,CACI,CACR;EAAA,CACQ,CAAC;AAEb","ignoreList":[]}
@@ -12,7 +12,7 @@ export default function LinkedButton({
12
12
  const label = isLinked ? __('Unlink radii') : __('Link radii');
13
13
  return /*#__PURE__*/_jsx(Button, {
14
14
  ...props,
15
- className: "component-border-radius-control__linked-button",
15
+ className: "components-border-radius-control__linked-button",
16
16
  size: "small",
17
17
  icon: isLinked ? link : linkOff,
18
18
  iconSize: 24,