@wordpress/block-editor 8.0.10 → 8.0.13

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 (163) hide show
  1. package/build/components/block-inspector/index.js +12 -2
  2. package/build/components/block-inspector/index.js.map +1 -1
  3. package/build/components/block-list/block.js +1 -1
  4. package/build/components/block-list/block.js.map +1 -1
  5. package/build/components/block-list/block.native.js +2 -3
  6. package/build/components/block-list/block.native.js.map +1 -1
  7. package/build/components/block-list/use-block-props/index.js +1 -3
  8. package/build/components/block-list/use-block-props/index.js.map +1 -1
  9. package/build/components/block-list/use-in-between-inserter.js +1 -1
  10. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  11. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +2 -2
  12. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  13. package/build/components/block-mover/button.js +2 -2
  14. package/build/components/block-mover/button.js.map +1 -1
  15. package/build/components/block-mover/index.js +2 -2
  16. package/build/components/block-mover/index.js.map +1 -1
  17. package/build/components/block-mover/index.native.js +2 -2
  18. package/build/components/block-mover/index.native.js.map +1 -1
  19. package/build/components/block-preview/index.js +51 -0
  20. package/build/components/block-preview/index.js.map +1 -1
  21. package/build/components/block-tools/block-selection-button.js +3 -3
  22. package/build/components/block-tools/block-selection-button.js.map +1 -1
  23. package/build/components/block-tools/index.js +9 -0
  24. package/build/components/block-tools/index.js.map +1 -1
  25. package/build/components/gradients/use-gradient.js +4 -4
  26. package/build/components/gradients/use-gradient.js.map +1 -1
  27. package/build/components/index.js +8 -1
  28. package/build/components/index.js.map +1 -1
  29. package/build/components/inserter/hooks/use-insertion-point.js +2 -2
  30. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  31. package/build/components/inserter/index.js +2 -2
  32. package/build/components/inserter/index.js.map +1 -1
  33. package/build/components/inserter/index.native.js +2 -2
  34. package/build/components/inserter/index.native.js.map +1 -1
  35. package/build/components/inserter/quick-inserter.js +1 -1
  36. package/build/components/inserter/quick-inserter.js.map +1 -1
  37. package/build/components/inspector-controls/block-support-tools-panel.js +50 -22
  38. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  39. package/build/components/list-view/use-list-view-drop-zone.js +1 -1
  40. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  41. package/build/components/provider/use-block-sync.js +37 -10
  42. package/build/components/provider/use-block-sync.js.map +1 -1
  43. package/build/components/use-on-block-drop/index.js +1 -1
  44. package/build/components/use-on-block-drop/index.js.map +1 -1
  45. package/build/components/use-setting/index.js +7 -0
  46. package/build/components/use-setting/index.js.map +1 -1
  47. package/build/hooks/color.js +6 -5
  48. package/build/hooks/color.js.map +1 -1
  49. package/build/hooks/layout.js +2 -1
  50. package/build/hooks/layout.js.map +1 -1
  51. package/build/hooks/style.js +2 -1
  52. package/build/hooks/style.js.map +1 -1
  53. package/build/layouts/flex.js +9 -29
  54. package/build/layouts/flex.js.map +1 -1
  55. package/build/layouts/flow.js +10 -6
  56. package/build/layouts/flow.js.map +1 -1
  57. package/build/store/actions.js +3 -3
  58. package/build/store/actions.js.map +1 -1
  59. package/build/store/reducer.js +34 -83
  60. package/build/store/reducer.js.map +1 -1
  61. package/build/store/selectors.js +27 -9
  62. package/build/store/selectors.js.map +1 -1
  63. package/build-module/components/block-inspector/index.js +12 -2
  64. package/build-module/components/block-inspector/index.js.map +1 -1
  65. package/build-module/components/block-list/block.js +1 -1
  66. package/build-module/components/block-list/block.js.map +1 -1
  67. package/build-module/components/block-list/block.native.js +2 -3
  68. package/build-module/components/block-list/block.native.js.map +1 -1
  69. package/build-module/components/block-list/use-block-props/index.js +1 -3
  70. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  71. package/build-module/components/block-list/use-in-between-inserter.js +1 -1
  72. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  73. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +2 -2
  74. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  75. package/build-module/components/block-mover/button.js +2 -2
  76. package/build-module/components/block-mover/button.js.map +1 -1
  77. package/build-module/components/block-mover/index.js +2 -2
  78. package/build-module/components/block-mover/index.js.map +1 -1
  79. package/build-module/components/block-mover/index.native.js +2 -2
  80. package/build-module/components/block-mover/index.native.js.map +1 -1
  81. package/build-module/components/block-preview/index.js +46 -0
  82. package/build-module/components/block-preview/index.js.map +1 -1
  83. package/build-module/components/block-tools/block-selection-button.js +3 -3
  84. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  85. package/build-module/components/block-tools/index.js +9 -0
  86. package/build-module/components/block-tools/index.js.map +1 -1
  87. package/build-module/components/gradients/use-gradient.js +4 -3
  88. package/build-module/components/gradients/use-gradient.js.map +1 -1
  89. package/build-module/components/index.js +1 -1
  90. package/build-module/components/index.js.map +1 -1
  91. package/build-module/components/inserter/hooks/use-insertion-point.js +2 -2
  92. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  93. package/build-module/components/inserter/index.js +2 -2
  94. package/build-module/components/inserter/index.js.map +1 -1
  95. package/build-module/components/inserter/index.native.js +2 -2
  96. package/build-module/components/inserter/index.native.js.map +1 -1
  97. package/build-module/components/inserter/quick-inserter.js +1 -1
  98. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  99. package/build-module/components/inspector-controls/block-support-tools-panel.js +50 -22
  100. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  101. package/build-module/components/list-view/use-list-view-drop-zone.js +1 -1
  102. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  103. package/build-module/components/provider/use-block-sync.js +41 -14
  104. package/build-module/components/provider/use-block-sync.js.map +1 -1
  105. package/build-module/components/use-on-block-drop/index.js +1 -1
  106. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  107. package/build-module/components/use-setting/index.js +7 -0
  108. package/build-module/components/use-setting/index.js.map +1 -1
  109. package/build-module/hooks/color.js +6 -5
  110. package/build-module/hooks/color.js.map +1 -1
  111. package/build-module/hooks/layout.js +2 -1
  112. package/build-module/hooks/layout.js.map +1 -1
  113. package/build-module/hooks/style.js +2 -1
  114. package/build-module/hooks/style.js.map +1 -1
  115. package/build-module/layouts/flex.js +9 -29
  116. package/build-module/layouts/flex.js.map +1 -1
  117. package/build-module/layouts/flow.js +10 -6
  118. package/build-module/layouts/flow.js.map +1 -1
  119. package/build-module/store/actions.js +3 -3
  120. package/build-module/store/actions.js.map +1 -1
  121. package/build-module/store/reducer.js +35 -84
  122. package/build-module/store/reducer.js.map +1 -1
  123. package/build-module/store/selectors.js +26 -9
  124. package/build-module/store/selectors.js.map +1 -1
  125. package/build-style/style-rtl.css +14 -0
  126. package/build-style/style.css +14 -0
  127. package/package.json +9 -9
  128. package/src/components/block-inspector/index.js +17 -1
  129. package/src/components/block-list/block.js +1 -1
  130. package/src/components/block-list/block.native.js +2 -2
  131. package/src/components/block-list/use-block-props/index.js +1 -3
  132. package/src/components/block-list/use-in-between-inserter.js +1 -1
  133. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +2 -5
  134. package/src/components/block-mover/button.js +2 -6
  135. package/src/components/block-mover/index.js +2 -5
  136. package/src/components/block-mover/index.native.js +2 -5
  137. package/src/components/block-preview/index.js +60 -0
  138. package/src/components/block-preview/style.scss +23 -0
  139. package/src/components/block-preview/test/index.js +114 -0
  140. package/src/components/block-tools/block-selection-button.js +3 -9
  141. package/src/components/block-tools/index.js +11 -0
  142. package/src/components/gradients/use-gradient.js +7 -7
  143. package/src/components/index.js +4 -1
  144. package/src/components/inserter/hooks/use-insertion-point.js +2 -9
  145. package/src/components/inserter/index.js +2 -2
  146. package/src/components/inserter/index.native.js +2 -5
  147. package/src/components/inserter/quick-inserter.js +1 -1
  148. package/src/components/inspector-controls/block-support-tools-panel.js +57 -21
  149. package/src/components/list-view/use-list-view-drop-zone.js +1 -1
  150. package/src/components/provider/use-block-sync.js +45 -11
  151. package/src/components/use-on-block-drop/index.js +1 -4
  152. package/src/components/use-setting/index.js +9 -0
  153. package/src/hooks/color.js +13 -14
  154. package/src/hooks/layout.js +1 -0
  155. package/src/hooks/style.js +2 -1
  156. package/src/hooks/test/style.js +0 -2
  157. package/src/layouts/flex.js +8 -31
  158. package/src/layouts/flow.js +8 -6
  159. package/src/store/actions.js +3 -4
  160. package/src/store/reducer.js +36 -105
  161. package/src/store/selectors.js +39 -9
  162. package/src/store/test/reducer.js +35 -0
  163. package/src/store/test/selectors.js +1 -1
@@ -87,8 +87,15 @@ const BlockInspector = _ref => {
87
87
  if (count > 1) {
88
88
  return (0, _element.createElement)("div", {
89
89
  className: "block-editor-block-inspector"
90
- }, (0, _element.createElement)(_multiSelectionInspector.default, null), (0, _element.createElement)(_inspectorControls.default.Slot, {
91
- bubblesVirtually: bubblesVirtually
90
+ }, (0, _element.createElement)(_multiSelectionInspector.default, null), (0, _element.createElement)(_inspectorControls.default.Slot, null), (0, _element.createElement)(_inspectorControls.default.Slot, {
91
+ __experimentalGroup: "typography",
92
+ label: (0, _i18n.__)('Typography')
93
+ }), (0, _element.createElement)(_inspectorControls.default.Slot, {
94
+ __experimentalGroup: "dimensions",
95
+ label: (0, _i18n.__)('Dimensions')
96
+ }), (0, _element.createElement)(_inspectorControls.default.Slot, {
97
+ __experimentalGroup: "border",
98
+ label: (0, _i18n.__)('Border')
92
99
  }));
93
100
  }
94
101
 
@@ -144,6 +151,9 @@ const BlockInspectorSingleBlock = _ref2 => {
144
151
  __experimentalGroup: "dimensions",
145
152
  bubblesVirtually: bubblesVirtually,
146
153
  label: (0, _i18n.__)('Dimensions')
154
+ }), (0, _element.createElement)(_inspectorControls.default.Slot, {
155
+ __experimentalGroup: "border",
156
+ label: (0, _i18n.__)('Border')
147
157
  }), (0, _element.createElement)("div", null, (0, _element.createElement)(AdvancedControls, {
148
158
  bubblesVirtually: bubblesVirtually
149
159
  })), (0, _element.createElement)(_skipToSelectedBlock.default, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"names":["BlockInspector","showNoBlockSelectedMessage","bubblesVirtually","count","hasBlockStyles","selectedBlockName","selectedBlockClientId","blockType","select","getSelectedBlockClientId","getSelectedBlockCount","getBlockName","blockEditorStore","getBlockStyles","blocksStore","_selectedBlockClientId","_selectedBlockName","_blockType","blockStyles","length","isSelectedBlockUnregistered","name","BlockInspectorSingleBlock","clientId","blockName","blockInformation","AdvancedControls","slot","InspectorAdvancedControls","slotName","hasFills","Boolean","fills"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\t__experimentalUseSlot as useSlot,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from '../inspector-controls';\nimport BlockStyles from '../block-styles';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport DefaultStylePicker from '../default-style-picker';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockInspector = ( {\n\tshowNoBlockSelectedMessage = true,\n\tbubblesVirtually = true,\n} ) => {\n\tconst {\n\t\tcount,\n\t\thasBlockStyles,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t} = select( blockEditorStore );\n\t\tconst { getBlockStyles } = select( blocksStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\t\tconst blockStyles =\n\t\t\t_selectedBlockName && getBlockStyles( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\thasBlockStyles: blockStyles && blockStyles.length > 0,\n\t\t};\n\t}, [] );\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t<InspectorControls.Slot bubblesVirtually={ bubblesVirtually } />\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\treturn (\n\t\t<BlockInspectorSingleBlock\n\t\t\tclientId={ selectedBlockClientId }\n\t\t\tblockName={ blockType.name }\n\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t/>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( {\n\tclientId,\n\tblockName,\n\thasBlockStyles,\n\tbubblesVirtually,\n} ) => {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard { ...blockInformation } />\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) && <DefaultStylePicker blockName={ blockName } /> }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot bubblesVirtually={ bubblesVirtually } />\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<AdvancedControls bubblesVirtually={ bubblesVirtually } />\n\t\t\t</div>\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\nconst AdvancedControls = ( { bubblesVirtually } ) => {\n\tconst slot = useSlot( InspectorAdvancedControls.slotName );\n\tconst hasFills = Boolean( slot.fills && slot.fills.length );\n\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\tclassName=\"block-editor-block-inspector__advanced\"\n\t\t\ttitle={ __( 'Advanced' ) }\n\t\t\tinitialOpen={ false }\n\t\t>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"advanced\"\n\t\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n};\n\nexport default BlockInspector;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"names":["BlockInspector","showNoBlockSelectedMessage","bubblesVirtually","count","hasBlockStyles","selectedBlockName","selectedBlockClientId","blockType","select","getSelectedBlockClientId","getSelectedBlockCount","getBlockName","blockEditorStore","getBlockStyles","blocksStore","_selectedBlockClientId","_selectedBlockName","_blockType","blockStyles","length","isSelectedBlockUnregistered","name","BlockInspectorSingleBlock","clientId","blockName","blockInformation","AdvancedControls","slot","InspectorAdvancedControls","slotName","hasFills","Boolean","fills"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\t__experimentalUseSlot as useSlot,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from '../inspector-controls';\nimport BlockStyles from '../block-styles';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport DefaultStylePicker from '../default-style-picker';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockInspector = ( {\n\tshowNoBlockSelectedMessage = true,\n\tbubblesVirtually = true,\n} ) => {\n\tconst {\n\t\tcount,\n\t\thasBlockStyles,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t} = select( blockEditorStore );\n\t\tconst { getBlockStyles } = select( blocksStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\t\tconst blockStyles =\n\t\t\t_selectedBlockName && getBlockStyles( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\thasBlockStyles: blockStyles && blockStyles.length > 0,\n\t\t};\n\t}, [] );\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"border\"\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\treturn (\n\t\t<BlockInspectorSingleBlock\n\t\t\tclientId={ selectedBlockClientId }\n\t\t\tblockName={ blockType.name }\n\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t/>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( {\n\tclientId,\n\tblockName,\n\thasBlockStyles,\n\tbubblesVirtually,\n} ) => {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard { ...blockInformation } />\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) && <DefaultStylePicker blockName={ blockName } /> }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot bubblesVirtually={ bubblesVirtually } />\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"border\"\n\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<AdvancedControls bubblesVirtually={ bubblesVirtually } />\n\t\t\t</div>\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\nconst AdvancedControls = ( { bubblesVirtually } ) => {\n\tconst slot = useSlot( InspectorAdvancedControls.slotName );\n\tconst hasFills = Boolean( slot.fills && slot.fills.length );\n\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\tclassName=\"block-editor-block-inspector__advanced\"\n\t\t\ttitle={ __( 'Advanced' ) }\n\t\t\tinitialOpen={ false }\n\t\t>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"advanced\"\n\t\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n};\n\nexport default BlockInspector;\n"]}
@@ -279,7 +279,7 @@ const applyWithDispatch = (0, _data.withDispatch)((dispatch, ownProps, _ref4) =>
279
279
  const {
280
280
  getBlockIndex
281
281
  } = select(_store.store);
282
- const index = getBlockIndex(clientId, rootClientId);
282
+ const index = getBlockIndex(clientId);
283
283
  insertBlocks(blocks, index + 1, rootClientId);
284
284
  },
285
285
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"names":["BlockListBlockContext","mergeWrapperProps","propsA","propsB","newProps","className","style","Block","children","isHtml","props","__unstableIsHtml","BlockListBlock","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onInsertBlocksAfter","onMerge","toggleSelection","removeBlock","blockEditorStore","onRemove","blockEdit","undefined","blockType","getEditWrapperProps","isAligned","block","saveContent","display","apiVersion","value","memoizedValue","Object","values","applyWithSelect","select","rootClientId","isBlockSelected","getBlockMode","getTemplateLock","__unstableGetBlockWithoutInnerBlocks","canRemoveBlock","canMoveBlock","templateLock","canMove","applyWithDispatch","dispatch","ownProps","updateBlockAttributes","insertBlocks","mergeBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","newAttributes","getMultiSelectedBlockClientIds","multiSelectedBlockClientIds","clientIds","length","onInsertBlocks","blocks","index","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","nextBlockClientId","previousBlockClientId","indexToSelect","initialPosition","selectionEnabled","pure"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAWA;;AAKA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAlCA;AACA;AACA;;AAIA;AACA;AACA;;AAiBA;AACA;AACA;AASO,MAAMA,qBAAqB,GAAG,6BAA9B;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AACA,SAASC,iBAAT,CAA4BC,MAA5B,EAAoCC,MAApC,EAA6C;AAC5C,QAAMC,QAAQ,GAAG,EAChB,GAAGF,MADa;AAEhB,OAAGC;AAFa,GAAjB;;AAKA,MAAKD,MAAM,IAAIC,MAAV,IAAoBD,MAAM,CAACG,SAA3B,IAAwCF,MAAM,CAACE,SAApD,EAAgE;AAC/DD,IAAAA,QAAQ,CAACC,SAAT,GAAqB,yBAAYH,MAAM,CAACG,SAAnB,EAA8BF,MAAM,CAACE,SAArC,CAArB;AACA;;AACD,MAAKH,MAAM,IAAIC,MAAV,IAAoBD,MAAM,CAACI,KAA3B,IAAoCH,MAAM,CAACG,KAAhD,EAAwD;AACvDF,IAAAA,QAAQ,CAACE,KAAT,GAAiB,EAAE,GAAGJ,MAAM,CAACI,KAAZ;AAAmB,SAAGH,MAAM,CAACG;AAA7B,KAAjB;AACA;;AAED,SAAOF,QAAP;AACA;;AAED,SAASG,KAAT,OAAiD;AAAA,MAAjC;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,MAAZ;AAAoB,OAAGC;AAAvB,GAAiC;AAChD,SACC,mCAAU,kCAAeA,KAAf,EAAsB;AAAEC,IAAAA,gBAAgB,EAAEF;AAApB,GAAtB,CAAV,EACGD,QADH,CADD;AAKA;;AAED,SAASI,cAAT,QAiBI;AAAA,MAjBqB;AACxBC,IAAAA,IADwB;AAExBC,IAAAA,QAFwB;AAGxBC,IAAAA,SAHwB;AAIxBC,IAAAA,QAJwB;AAKxBC,IAAAA,UALwB;AAMxBC,IAAAA,kBANwB;AAOxBb,IAAAA,SAPwB;AAQxBc,IAAAA,IARwB;AASxBC,IAAAA,OATwB;AAUxBC,IAAAA,UAVwB;AAWxBC,IAAAA,YAXwB;AAYxBC,IAAAA,aAZwB;AAaxBC,IAAAA,SAbwB;AAcxBC,IAAAA,mBAdwB;AAexBC,IAAAA,OAfwB;AAgBxBC,IAAAA;AAhBwB,GAiBrB;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAkB,uBAAaC,YAAb,CAAxB;AACA,QAAMC,QAAQ,GAAG,0BAAa,MAAMF,WAAW,CAAEZ,QAAF,CAA9B,EAA4C,CAAEA,QAAF,CAA5C,CAAjB,CAFG,CAIH;AACA;AACA;AACA;;AACA,MAAIe,SAAS,GACZ,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGZ,IADR;AAEC,IAAA,UAAU,EAAGF,UAFd;AAGC,IAAA,UAAU,EAAGI,UAHd;AAIC,IAAA,aAAa,EAAGE,aAJjB;AAKC,IAAA,iBAAiB,EAAGT,QAAQ,GAAGkB,SAAH,GAAeP,mBAL5C;AAMC,IAAA,SAAS,EAAGV,SAAS,GAAGS,SAAH,GAAeQ,SANrC;AAOC,IAAA,QAAQ,EAAGjB,SAAS,GAAGe,QAAH,GAAcE,SAPnC;AAQC,IAAA,WAAW,EAAGjB,SAAS,GAAGW,OAAH,GAAaM,SARrC;AASC,IAAA,QAAQ,EAAGhB,QATZ;AAUC,IAAA,kBAAkB,EAAGE,kBAVtB;AAWC,IAAA,eAAe,EAAGS;AAXnB,IADD;AAgBA,QAAMM,SAAS,GAAG,0BAAcd,IAAd,CAAlB,CAxBG,CA0BH;;AACA,MAAKc,SAAL,aAAKA,SAAL,eAAKA,SAAS,CAAEC,mBAAhB,EAAsC;AACrCZ,IAAAA,YAAY,GAAGrB,iBAAiB,CAC/BqB,YAD+B,EAE/BW,SAAS,CAACC,mBAAV,CAA+Bb,UAA/B,CAF+B,CAAhC;AAIA;;AAED,QAAMc,SAAS,GAAGb,YAAY,IAAI,CAAC,CAAEA,YAAY,CAAE,YAAF,CAAjD,CAlCG,CAoCH;AACA;;AACA,MAAKa,SAAL,EAAiB;AAChBJ,IAAAA,SAAS,GACR;AACC,MAAA,SAAS,EAAC,UADX;AAEC,oBAAaT,YAAY,CAAE,YAAF;AAF1B,OAIGS,SAJH,CADD;AAQA;;AAED,MAAIK,KAAJ;;AAEA,MAAK,CAAEhB,OAAP,EAAiB;AAChB,UAAMiB,WAAW,GAAG,4BAAgBJ,SAAhB,EAA2BZ,UAA3B,CAApB;AAEAe,IAAAA,KAAK,GACJ,4BAAC,KAAD;AAAO,MAAA,SAAS,EAAC;AAAjB,OACC,4BAAC,4BAAD;AAAqB,MAAA,QAAQ,EAAGpB;AAAhC,MADD,EAEC,4BAAC,gBAAD,QAAW,mBAAUqB,WAAV,CAAX,CAFD,CADD;AAMA,GATD,MASO,IAAKxB,IAAI,KAAK,MAAd,EAAuB;AAC7B;AACA;AACAuB,IAAAA,KAAK,GACJ,qDACC;AAAK,MAAA,KAAK,EAAG;AAAEE,QAAAA,OAAO,EAAE;AAAX;AAAb,OAAqCP,SAArC,CADD,EAEC,4BAAC,KAAD;AAAO,MAAA,MAAM;AAAb,OACC,4BAAC,kBAAD;AAAW,MAAA,QAAQ,EAAGf;AAAtB,MADD,CAFD,CADD;AAQA,GAXM,MAWA,IAAK,CAAAiB,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEM,UAAX,IAAwB,CAA7B,EAAiC;AACvCH,IAAAA,KAAK,GAAGL,SAAR;AACA,GAFM,MAEA;AACNK,IAAAA,KAAK,GAAG,4BAAC,KAAD,EAAYd,YAAZ,EAA6BS,SAA7B,CAAR;AACA;;AAED,QAAMS,KAAK,GAAG;AACbxB,IAAAA,QADa;AAEbX,IAAAA,SAFa;AAGbiB,IAAAA,YAAY,EAAE,kBAAMA,YAAN,EAAoB,CAAE,YAAF,CAApB,CAHD;AAIba,IAAAA;AAJa,GAAd;AAMA,QAAMM,aAAa,GAAG,sBAAS,MAAMD,KAAf,EAAsBE,MAAM,CAACC,MAAP,CAAeH,KAAf,CAAtB,CAAtB;AAEA,SACC,4BAAC,qBAAD,CAAuB,QAAvB;AAAgC,IAAA,KAAK,EAAGC;AAAxC,KACC,4BAAC,2BAAD;AACC,IAAA,QAAQ,EACP,4BAAC,KAAD;AAAO,MAAA,SAAS,EAAC;AAAjB,OACC,4BAAC,0BAAD,OADD;AAFF,KAOGL,KAPH,CADD,CADD;AAaA;;AAED,MAAMQ,eAAe,GAAG,sBAAY,CAAEC,MAAF,YAA0C;AAAA,MAAhC;AAAE7B,IAAAA,QAAF;AAAY8B,IAAAA;AAAZ,GAAgC;AAC7E,QAAM;AACLC,IAAAA,eADK;AAELC,IAAAA,YAFK;AAGL9B,IAAAA,kBAHK;AAIL+B,IAAAA,eAJK;AAKLC,IAAAA,oCALK;AAMLC,IAAAA,cANK;AAOLC,IAAAA;AAPK,MAQFP,MAAM,CAAEhB,YAAF,CARV;;AASA,QAAMO,KAAK,GAAGc,oCAAoC,CAAElC,QAAF,CAAlD;;AACA,QAAMC,UAAU,GAAG8B,eAAe,CAAE/B,QAAF,CAAlC;AACA,QAAMqC,YAAY,GAAGJ,eAAe,CAAEH,YAAF,CAApC;AACA,QAAM/B,SAAS,GAAGoC,cAAc,CAAEnC,QAAF,EAAY8B,YAAZ,CAAhC;AACA,QAAMQ,OAAO,GAAGF,YAAY,CAAEpC,QAAF,EAAY8B,YAAZ,CAA5B,CAd6E,CAgB7E;AACA;AACA;AACA;;AACA,QAAM;AAAE3B,IAAAA,IAAF;AAAQE,IAAAA,UAAR;AAAoBD,IAAAA;AAApB,MAAgCgB,KAAK,IAAI,EAA/C,CApB6E,CAsB7E;AACA;;AACA,SAAO;AACNvB,IAAAA,IAAI,EAAEmC,YAAY,CAAEhC,QAAF,CADZ;AAENE,IAAAA,kBAAkB,EAAEA,kBAAkB,EAFhC;AAGNJ,IAAAA,QAAQ,EAAE,CAAC,CAAEuC,YAHP;AAINtC,IAAAA,SAJM;AAKNuC,IAAAA,OALM;AAMN;AACA;AACA;AACA;AACAlB,IAAAA,KAVM;AAWNjB,IAAAA,IAXM;AAYNE,IAAAA,UAZM;AAaND,IAAAA,OAbM;AAcNH,IAAAA;AAdM,GAAP;AAgBA,CAxCuB,CAAxB;AA0CA,MAAMsC,iBAAiB,GAAG,wBAAc,CAAEC,QAAF,EAAYC,QAAZ,YAAsC;AAAA,MAAhB;AAAEZ,IAAAA;AAAF,GAAgB;AAC7E,QAAM;AACLa,IAAAA,qBADK;AAELC,IAAAA,YAFK;AAGLC,IAAAA,WAHK;AAILC,IAAAA,aAJK;AAKLlC,IAAAA,eALK;AAMLmC,IAAAA;AANK,MAOFN,QAAQ,CAAE3B,YAAF,CAPZ,CAD6E,CAU7E;AACA;;AACA,SAAO;AACNN,IAAAA,aAAa,CAAEwC,aAAF,EAAkB;AAC9B,YAAM;AAAEC,QAAAA;AAAF,UAAqCnB,MAAM,CAChDhB,YADgD,CAAjD;AAGA,YAAMoC,2BAA2B,GAAGD,8BAA8B,EAAlE;AACA,YAAM;AAAEhD,QAAAA;AAAF,UAAeyC,QAArB;AACA,YAAMS,SAAS,GAAGD,2BAA2B,CAACE,MAA5B,GACfF,2BADe,GAEf,CAAEjD,QAAF,CAFH;AAIA0C,MAAAA,qBAAqB,CAAEQ,SAAF,EAAaH,aAAb,CAArB;AACA,KAZK;;AAaNK,IAAAA,cAAc,CAAEC,MAAF,EAAUC,KAAV,EAAkB;AAC/B,YAAM;AAAExB,QAAAA;AAAF,UAAmBW,QAAzB;AACAE,MAAAA,YAAY,CAAEU,MAAF,EAAUC,KAAV,EAAiBxB,YAAjB,CAAZ;AACA,KAhBK;;AAiBNrB,IAAAA,mBAAmB,CAAE4C,MAAF,EAAW;AAC7B,YAAM;AAAErD,QAAAA,QAAF;AAAY8B,QAAAA;AAAZ,UAA6BW,QAAnC;AACA,YAAM;AAAEc,QAAAA;AAAF,UAAoB1B,MAAM,CAAEhB,YAAF,CAAhC;AACA,YAAMyC,KAAK,GAAGC,aAAa,CAAEvD,QAAF,EAAY8B,YAAZ,CAA3B;AACAa,MAAAA,YAAY,CAAEU,MAAF,EAAUC,KAAK,GAAG,CAAlB,EAAqBxB,YAArB,CAAZ;AACA,KAtBK;;AAuBNpB,IAAAA,OAAO,CAAE8C,OAAF,EAAY;AAClB,YAAM;AAAExD,QAAAA;AAAF,UAAeyC,QAArB;AACA,YAAM;AAAEgB,QAAAA,wBAAF;AAA4BC,QAAAA;AAA5B,UAAqD7B,MAAM,CAChEhB,YADgE,CAAjE;;AAIA,UAAK2C,OAAL,EAAe;AACd,cAAMG,iBAAiB,GAAGD,oBAAoB,CAAE1D,QAAF,CAA9C;;AACA,YAAK2D,iBAAL,EAAyB;AACxBf,UAAAA,WAAW,CAAE5C,QAAF,EAAY2D,iBAAZ,CAAX;AACA;AACD,OALD,MAKO;AACN,cAAMC,qBAAqB,GAAGH,wBAAwB,CACrDzD,QADqD,CAAtD;;AAGA,YAAK4D,qBAAL,EAA6B;AAC5BhB,UAAAA,WAAW,CAAEgB,qBAAF,EAAyB5D,QAAzB,CAAX;AACA;AACD;AACD,KA1CK;;AA2CNQ,IAAAA,SAAS,CAAE6C,MAAF,EAAUQ,aAAV,EAAyBC,eAAzB,EAA2C;AACnD,UACCT,MAAM,CAACF,MAAP,IACA,CAAE,sCAA0BE,MAAM,CAAEA,MAAM,CAACF,MAAP,GAAgB,CAAlB,CAAhC,CAFH,EAGE;AACDL,QAAAA,oCAAoC;AACpC;;AACDD,MAAAA,aAAa,CACZ,CAAEJ,QAAQ,CAACzC,QAAX,CADY,EAEZqD,MAFY,EAGZQ,aAHY,EAIZC,eAJY,CAAb;AAMA,KAxDK;;AAyDNnD,IAAAA,eAAe,CAAEoD,gBAAF,EAAqB;AACnCpD,MAAAA,eAAe,CAAEoD,gBAAF,CAAf;AACA;;AA3DK,GAAP;AA6DA,CAzEyB,CAA1B;;eA2Ee,sBACdC,aADc,EAEdpC,eAFc,EAGdW,iBAHc,EAId;AACA;AACA;AACA,0BAAa;AAAA,MAAE;AAAEnB,IAAAA;AAAF,GAAF;AAAA,SAAiB,CAAC,CAAEA,KAApB;AAAA,CAAb,CAPc,EAQd,6BAAa,uBAAb,CARc,EASZxB,cATY,C","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tRawHTML,\n} from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, withSelect, useDispatch } from '@wordpress/data';\nimport { compose, pure, ifCondition } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\n\nexport const BlockListBlockContext = createContext();\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\tif ( propsA && propsB && propsA.className && propsB.className ) {\n\t\tnewProps.className = classnames( propsA.className, propsB.className );\n\t}\n\tif ( propsA && propsB && propsA.style && propsB.style ) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned = wrapperProps && !! wrapperProps[ 'data-align' ];\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName=\"wp-block\"\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block { ...wrapperProps }>{ blockEdit }</Block>;\n\t}\n\n\tconst value = {\n\t\tclientId,\n\t\tclassName,\n\t\twrapperProps: omit( wrapperProps, [ 'data-align' ] ),\n\t\tisAligned,\n\t};\n\tconst memoizedValue = useMemo( () => value, Object.values( value ) );\n\n\treturn (\n\t\t<BlockListBlockContext.Provider value={ memoizedValue }>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</BlockListBlockContext.Provider>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select, { clientId, rootClientId } ) => {\n\tconst {\n\t\tisBlockSelected,\n\t\tgetBlockMode,\n\t\tisSelectionEnabled,\n\t\tgetTemplateLock,\n\t\t__unstableGetBlockWithoutInnerBlocks,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = select( blockEditorStore );\n\tconst block = __unstableGetBlockWithoutInnerBlocks( clientId );\n\tconst isSelected = isBlockSelected( clientId );\n\tconst templateLock = getTemplateLock( rootClientId );\n\tconst canRemove = canRemoveBlock( clientId, rootClientId );\n\tconst canMove = canMoveBlock( clientId, rootClientId );\n\n\t// The fallback to `{}` is a temporary fix.\n\t// This function should never be called when a block is not present in\n\t// the state. It happens now because the order in withSelect rendering\n\t// is not correct.\n\tconst { name, attributes, isValid } = block || {};\n\n\t// Do not add new properties here, use `useSelect` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tmode: getBlockMode( clientId ),\n\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\tisLocked: !! templateLock,\n\t\tcanRemove,\n\t\tcanMove,\n\t\t// Users of the editor.BlockListBlock filter used to be able to\n\t\t// access the block prop.\n\t\t// Ideally these blocks would rely on the clientId prop only.\n\t\t// This is kept for backward compatibility reasons.\n\t\tblock,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, { select } ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( newAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst multiSelectedBlockClientIds = getMultiSelectedBlockClientIds();\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId, rootClientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { getPreviousBlockClientId, getNextBlockClientId } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\tif ( forward ) {\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId = getPreviousBlockClientId(\n\t\t\t\t\tclientId\n\t\t\t\t);\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\tblocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\nexport default compose(\n\tpure,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\t// block is sometimes not mounted at the right time, causing it be undefined\n\t// see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tifCondition( ( { block } ) => !! block ),\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"names":["BlockListBlockContext","mergeWrapperProps","propsA","propsB","newProps","className","style","Block","children","isHtml","props","__unstableIsHtml","BlockListBlock","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onInsertBlocksAfter","onMerge","toggleSelection","removeBlock","blockEditorStore","onRemove","blockEdit","undefined","blockType","getEditWrapperProps","isAligned","block","saveContent","display","apiVersion","value","memoizedValue","Object","values","applyWithSelect","select","rootClientId","isBlockSelected","getBlockMode","getTemplateLock","__unstableGetBlockWithoutInnerBlocks","canRemoveBlock","canMoveBlock","templateLock","canMove","applyWithDispatch","dispatch","ownProps","updateBlockAttributes","insertBlocks","mergeBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","newAttributes","getMultiSelectedBlockClientIds","multiSelectedBlockClientIds","clientIds","length","onInsertBlocks","blocks","index","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","nextBlockClientId","previousBlockClientId","indexToSelect","initialPosition","selectionEnabled","pure"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseMemo,\n\tuseCallback,\n\tRawHTML,\n} from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, withSelect, useDispatch } from '@wordpress/data';\nimport { compose, pure, ifCondition } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\n\nexport const BlockListBlockContext = createContext();\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\tif ( propsA && propsB && propsA.className && propsB.className ) {\n\t\tnewProps.className = classnames( propsA.className, propsB.className );\n\t}\n\tif ( propsA && propsB && propsA.style && propsB.style ) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned = wrapperProps && !! wrapperProps[ 'data-align' ];\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName=\"wp-block\"\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block { ...wrapperProps }>{ blockEdit }</Block>;\n\t}\n\n\tconst value = {\n\t\tclientId,\n\t\tclassName,\n\t\twrapperProps: omit( wrapperProps, [ 'data-align' ] ),\n\t\tisAligned,\n\t};\n\tconst memoizedValue = useMemo( () => value, Object.values( value ) );\n\n\treturn (\n\t\t<BlockListBlockContext.Provider value={ memoizedValue }>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</BlockListBlockContext.Provider>\n\t);\n}\n\nconst applyWithSelect = withSelect( ( select, { clientId, rootClientId } ) => {\n\tconst {\n\t\tisBlockSelected,\n\t\tgetBlockMode,\n\t\tisSelectionEnabled,\n\t\tgetTemplateLock,\n\t\t__unstableGetBlockWithoutInnerBlocks,\n\t\tcanRemoveBlock,\n\t\tcanMoveBlock,\n\t} = select( blockEditorStore );\n\tconst block = __unstableGetBlockWithoutInnerBlocks( clientId );\n\tconst isSelected = isBlockSelected( clientId );\n\tconst templateLock = getTemplateLock( rootClientId );\n\tconst canRemove = canRemoveBlock( clientId, rootClientId );\n\tconst canMove = canMoveBlock( clientId, rootClientId );\n\n\t// The fallback to `{}` is a temporary fix.\n\t// This function should never be called when a block is not present in\n\t// the state. It happens now because the order in withSelect rendering\n\t// is not correct.\n\tconst { name, attributes, isValid } = block || {};\n\n\t// Do not add new properties here, use `useSelect` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tmode: getBlockMode( clientId ),\n\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\tisLocked: !! templateLock,\n\t\tcanRemove,\n\t\tcanMove,\n\t\t// Users of the editor.BlockListBlock filter used to be able to\n\t\t// access the block prop.\n\t\t// Ideally these blocks would rely on the clientId prop only.\n\t\t// This is kept for backward compatibility reasons.\n\t\tblock,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected,\n\t};\n} );\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, { select } ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( newAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst multiSelectedBlockClientIds = getMultiSelectedBlockClientIds();\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst { getPreviousBlockClientId, getNextBlockClientId } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\tif ( forward ) {\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId = getPreviousBlockClientId(\n\t\t\t\t\tclientId\n\t\t\t\t);\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\tblocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\nexport default compose(\n\tpure,\n\tapplyWithSelect,\n\tapplyWithDispatch,\n\t// block is sometimes not mounted at the right time, causing it be undefined\n\t// see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tifCondition( ( { block } ) => !! block ),\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n"]}
@@ -280,8 +280,7 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref3) => {
280
280
  var _getSettings;
281
281
 
282
282
  let {
283
- clientId,
284
- rootClientId
283
+ clientId
285
284
  } = _ref3;
286
285
  const {
287
286
  getBlockIndex,
@@ -293,7 +292,7 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref3) => {
293
292
  getBlockParents,
294
293
  hasSelectedInnerBlock
295
294
  } = select(_store.store);
296
- const order = getBlockIndex(clientId, rootClientId);
295
+ const order = getBlockIndex(clientId);
297
296
  const isSelected = isBlockSelected(clientId);
298
297
  const isInnerBlockSelected = hasSelectedInnerBlock(clientId);
299
298
  const block = getBlock(clientId);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"names":["emptyArray","BlockForType","attributes","clientId","contentStyle","getBlockWidth","insertBlocksAfter","isSelected","mergeBlocks","name","onBlockFocus","onChange","onDeleteBlock","onReplace","parentWidth","wrapperProps","blockWidth","baseGlobalStyles","defaultColors","fontSizes","globalStyle","mergedStyle","style","JSON","stringify","GlobalStylesContext","BLOCK_STYLE_ATTRIBUTES","BlockListBlock","Component","constructor","arguments","bind","onFocus","state","props","marginHorizontal","anchorNodeRef","firstToSelectId","onSelect","blocks","onInsertBlocks","order","nativeEvent","layout","layoutWidth","Math","floor","width","setState","getBlockForType","renderBlockTitle","styles","blockTitle","render","blockType","icon","isValid","title","isDimmed","isTouchable","isStackedHorizontally","isParentSelected","getStylesFromColorScheme","marginVertical","isInnerBlockSelected","align","accessibilityLabel","isFullWidth","isContainerRelated","alignmentHelpers","accessible","screenWidth","Dimensions","get","isScreenWidthEqual","isScreenWidthWider","isFullWidthToolbar","flex","dimmed","solidBorder","borderFullWidth","containerBorderFullWidth","solidBorderColor","solidBorderColorDark","dashedBorder","dashedBorderColor","dashedBorderColorDark","neutralToolbar","current","wrapperPropsCache","WeakMap","emptyObj","getWrapperProps","value","getWrapperPropsFunction","cachedValue","set","select","rootClientId","getBlockIndex","getSettings","isBlockSelected","getBlock","getSelectedBlockClientId","getLowestCommonAncestorWithSelectedBlock","getBlockParents","hasSelectedInnerBlock","blockEditorStore","block","parents","parentId","selectedBlockClientId","commonAncestor","commonAncestorIndex","indexOf","length","selectedParents","isDescendantOfParentSelected","includes","__experimentalGlobalStylesBaseStyles","getEditWrapperProps","dispatch","ownProps","insertBlocks","replaceBlocks","selectBlock","updateBlockAttributes","forward","getPreviousBlockClientId","getNextBlockClientId","nextBlockClientId","previousBlockClientId","index","initialPosition","indexToSelect","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback, Dimensions } from 'react-native';\nimport { pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef, useMemo } from '@wordpress/element';\nimport {\n\tGlobalStylesContext,\n\tgetMergedGlobalStyles,\n\talignmentHelpers,\n\tuseGlobalStyles,\n} from '@wordpress/components';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\t__experimentalGetAccessibleBlockLabel as getAccessibleBlockLabel,\n} from '@wordpress/blocks';\nimport { useSetting } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './block.scss';\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockMobileToolbar from '../block-mobile-toolbar';\nimport { store as blockEditorStore } from '../../store';\n\nconst emptyArray = [];\nfunction BlockForType( {\n\tattributes,\n\tclientId,\n\tcontentStyle,\n\tgetBlockWidth,\n\tinsertBlocksAfter,\n\tisSelected,\n\tmergeBlocks,\n\tname,\n\tonBlockFocus,\n\tonChange,\n\tonDeleteBlock,\n\tonReplace,\n\tparentWidth,\n\twrapperProps,\n\tblockWidth,\n\tbaseGlobalStyles,\n} ) {\n\tconst defaultColors = useSetting( 'color.palette' ) || emptyArray;\n\tconst fontSizes = useSetting( 'typography.fontSizes' ) || emptyArray;\n\tconst globalStyle = useGlobalStyles();\n\tconst mergedStyle = useMemo( () => {\n\t\treturn getMergedGlobalStyles(\n\t\t\tbaseGlobalStyles,\n\t\t\tglobalStyle,\n\t\t\twrapperProps.style,\n\t\t\tattributes,\n\t\t\tdefaultColors,\n\t\t\tname,\n\t\t\tfontSizes\n\t\t);\n\t}, [\n\t\tdefaultColors,\n\t\tglobalStyle,\n\t\t// I couldn't simply use attributes and wrapperProps.styles as a dependency because they are almost always a new reference.\n\t\t// Thanks to the JSON.stringify we check if the value is the same instead of reference.\n\t\tJSON.stringify( wrapperProps.style ),\n\t\tJSON.stringify(\n\t\t\tpick( attributes, GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES )\n\t\t),\n\t] );\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ mergedStyle }>\n\t\t\t<BlockEdit\n\t\t\t\tname={ name }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ onChange }\n\t\t\t\tonFocus={ onBlockFocus }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmergeBlocks={ mergeBlocks }\n\t\t\t\t// Block level styles\n\t\t\t\twrapperProps={ wrapperProps }\n\t\t\t\t// inherited styles merged with block level styles\n\t\t\t\tstyle={ mergedStyle }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t\t<View onLayout={ getBlockWidth } />\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n\nclass BlockListBlock extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.insertBlocksAfter = this.insertBlocksAfter.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.getBlockWidth = this.getBlockWidth.bind( this );\n\n\t\tthis.state = {\n\t\t\tblockWidth: this.props.blockWidth - 2 * this.props.marginHorizontal,\n\t\t};\n\n\t\tthis.anchorNodeRef = createRef();\n\t}\n\n\tonFocus() {\n\t\tconst { firstToSelectId, isSelected, onSelect } = this.props;\n\t\tif ( ! isSelected ) {\n\t\t\tonSelect( firstToSelectId );\n\t\t}\n\t}\n\n\tinsertBlocksAfter( blocks ) {\n\t\tthis.props.onInsertBlocks( blocks, this.props.order + 1 );\n\n\t\tif ( blocks[ 0 ] ) {\n\t\t\t// focus on the first block inserted\n\t\t\tthis.props.onSelect( blocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tgetBlockWidth( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst { blockWidth } = this.state;\n\t\tconst layoutWidth = Math.floor( layout.width );\n\n\t\tif ( ! blockWidth || ! layoutWidth ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( blockWidth !== layoutWidth ) {\n\t\t\tthis.setState( { blockWidth: layoutWidth } );\n\t\t}\n\t}\n\n\tgetBlockForType() {\n\t\tconst { blockWidth } = this.state;\n\t\treturn (\n\t\t\t<BlockForType\n\t\t\t\t{ ...this.props }\n\t\t\t\tonBlockFocus={ this.onFocus }\n\t\t\t\tinsertBlocksAfter={ this.insertBlocksAfter }\n\t\t\t\tgetBlockWidth={ this.getBlockWidth }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderBlockTitle() {\n\t\treturn (\n\t\t\t<View style={ styles.blockTitle }>\n\t\t\t\t<Text>BlockType: { this.props.name }</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tblockType,\n\t\t\tclientId,\n\t\t\ticon,\n\t\t\tisSelected,\n\t\t\tisValid,\n\t\t\torder,\n\t\t\ttitle,\n\t\t\tisDimmed,\n\t\t\tisTouchable,\n\t\t\tonDeleteBlock,\n\t\t\tisStackedHorizontally,\n\t\t\tisParentSelected,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tmarginVertical,\n\t\t\tmarginHorizontal,\n\t\t\tisInnerBlockSelected,\n\t\t\tname,\n\t\t} = this.props;\n\n\t\tif ( ! attributes || ! blockType ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { blockWidth } = this.state;\n\t\tconst { align } = attributes;\n\t\tconst accessibilityLabel = getAccessibleBlockLabel(\n\t\t\tblockType,\n\t\t\tattributes,\n\t\t\torder + 1\n\t\t);\n\t\tconst { isFullWidth, isContainerRelated } = alignmentHelpers;\n\t\tconst accessible = ! ( isSelected || isInnerBlockSelected );\n\t\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\t\tconst isScreenWidthEqual = blockWidth === screenWidth;\n\t\tconst isScreenWidthWider = blockWidth < screenWidth;\n\t\tconst isFullWidthToolbar = isFullWidth( align ) || isScreenWidthEqual;\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ this.onFocus }\n\t\t\t\taccessible={ accessible }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ { flex: 1 } }\n\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tpointerEvents={ isTouchable ? 'auto' : 'box-only' }\n\t\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t{ marginVertical, marginHorizontal, flex: 1 },\n\t\t\t\t\t\t\tisDimmed && styles.dimmed,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tstyles.solidBorder,\n\t\t\t\t\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\t\t\t\t\tisScreenWidthWider &&\n\t\t\t\t\t\t\t\t\t\tstyles.borderFullWidth,\n\t\t\t\t\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\t\t\t\t\tisContainerRelated( name ) &&\n\t\t\t\t\t\t\t\t\t\tisScreenWidthWider &&\n\t\t\t\t\t\t\t\t\t\tstyles.containerBorderFullWidth,\n\t\t\t\t\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\tstyles.solidBorderColor,\n\t\t\t\t\t\t\t\t\t\tstyles.solidBorderColorDark\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/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isParentSelected && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tstyles.dashedBorder,\n\t\t\t\t\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\tstyles.dashedBorderColor,\n\t\t\t\t\t\t\t\t\t\tstyles.dashedBorderColorDark\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/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isValid ? (\n\t\t\t\t\t\t\tthis.getBlockForType()\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<BlockInvalidWarning\n\t\t\t\t\t\t\t\tblockTitle={ title }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ styles.neutralToolbar }\n\t\t\t\t\t\t\tref={ this.anchorNodeRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t<BlockMobileToolbar\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\tonDelete={ onDeleteBlock }\n\t\t\t\t\t\t\t\t\tisStackedHorizontally={\n\t\t\t\t\t\t\t\t\t\tisStackedHorizontally\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t\t\t\tanchorNodeRef={ this.anchorNodeRef.current }\n\t\t\t\t\t\t\t\t\tisFullWidth={ isFullWidthToolbar }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\n// Helper function to memoize the wrapperProps since getEditWrapperProps always returns a new reference\nconst wrapperPropsCache = new WeakMap();\nconst emptyObj = {};\nfunction getWrapperProps( value, getWrapperPropsFunction ) {\n\tif ( ! getWrapperPropsFunction ) {\n\t\treturn emptyObj;\n\t}\n\tconst cachedValue = wrapperPropsCache.get( value );\n\tif ( ! cachedValue ) {\n\t\tconst wrapperProps = getWrapperPropsFunction( value );\n\t\twrapperPropsCache.set( value, wrapperProps );\n\t\treturn wrapperProps;\n\t}\n\treturn cachedValue;\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetSettings,\n\t\t\tisBlockSelected,\n\t\t\tgetBlock,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetLowestCommonAncestorWithSelectedBlock,\n\t\t\tgetBlockParents,\n\t\t\thasSelectedInnerBlock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst order = getBlockIndex( clientId, rootClientId );\n\t\tconst isSelected = isBlockSelected( clientId );\n\t\tconst isInnerBlockSelected = hasSelectedInnerBlock( clientId );\n\t\tconst block = getBlock( clientId );\n\t\tconst { name, attributes, isValid } = block || {};\n\n\t\tconst blockType = getBlockType( name || 'core/missing' );\n\t\tconst title = blockType?.title;\n\t\tconst icon = blockType?.icon;\n\n\t\tconst parents = getBlockParents( clientId, true );\n\t\tconst parentId = parents[ 0 ] || '';\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\tconst commonAncestor = getLowestCommonAncestorWithSelectedBlock(\n\t\t\tclientId\n\t\t);\n\t\tconst commonAncestorIndex = parents.indexOf( commonAncestor ) - 1;\n\t\tconst firstToSelectId = commonAncestor\n\t\t\t? parents[ commonAncestorIndex ]\n\t\t\t: parents[ parents.length - 1 ];\n\n\t\tconst isParentSelected =\n\t\t\t// set false as a default value to prevent re-render when it's changed from null to false\n\t\t\t( selectedBlockClientId || false ) &&\n\t\t\tselectedBlockClientId === parentId;\n\n\t\tconst selectedParents = selectedBlockClientId\n\t\t\t? getBlockParents( selectedBlockClientId )\n\t\t\t: [];\n\t\tconst isDescendantOfParentSelected = selectedParents.includes(\n\t\t\tparentId\n\t\t);\n\t\tconst isTouchable =\n\t\t\tisSelected ||\n\t\t\tisDescendantOfParentSelected ||\n\t\t\tisParentSelected ||\n\t\t\tparentId === '';\n\t\tconst baseGlobalStyles = getSettings()\n\t\t\t?.__experimentalGlobalStylesBaseStyles;\n\n\t\treturn {\n\t\t\ticon,\n\t\t\tname: name || 'core/missing',\n\t\t\torder,\n\t\t\ttitle,\n\t\t\tattributes,\n\t\t\tblockType,\n\t\t\tisSelected,\n\t\t\tisInnerBlockSelected,\n\t\t\tisValid,\n\t\t\tisParentSelected,\n\t\t\tfirstToSelectId,\n\t\t\tisTouchable,\n\t\t\tbaseGlobalStyles,\n\t\t\twrapperProps: getWrapperProps(\n\t\t\t\tattributes,\n\t\t\t\tblockType.getEditWrapperProps\n\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\tconst {\n\t\t\tinsertBlocks,\n\t\t\tmergeBlocks,\n\t\t\treplaceBlocks,\n\t\t\tselectBlock,\n\t\t\tupdateBlockAttributes,\n\t\t} = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tmergeBlocks( forward ) {\n\t\t\t\tconst { clientId } = ownProps;\n\t\t\t\tconst {\n\t\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\t\tgetNextBlockClientId,\n\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\tif ( forward ) {\n\t\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst previousBlockClientId = getPreviousBlockClientId(\n\t\t\t\t\t\tclientId\n\t\t\t\t\t);\n\t\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tonInsertBlocks( blocks, index ) {\n\t\t\t\tinsertBlocks( blocks, index, ownProps.rootClientId );\n\t\t\t},\n\t\t\tonSelect( clientId = ownProps.clientId, initialPosition ) {\n\t\t\t\tselectBlock( clientId, initialPosition );\n\t\t\t},\n\t\t\tonChange: ( attributes ) => {\n\t\t\t\tupdateBlockAttributes( ownProps.clientId, attributes );\n\t\t\t},\n\t\t\tonReplace( blocks, indexToSelect ) {\n\t\t\t\treplaceBlocks( [ ownProps.clientId ], blocks, indexToSelect );\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( BlockListBlock );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block.native.js"],"names":["emptyArray","BlockForType","attributes","clientId","contentStyle","getBlockWidth","insertBlocksAfter","isSelected","mergeBlocks","name","onBlockFocus","onChange","onDeleteBlock","onReplace","parentWidth","wrapperProps","blockWidth","baseGlobalStyles","defaultColors","fontSizes","globalStyle","mergedStyle","style","JSON","stringify","GlobalStylesContext","BLOCK_STYLE_ATTRIBUTES","BlockListBlock","Component","constructor","arguments","bind","onFocus","state","props","marginHorizontal","anchorNodeRef","firstToSelectId","onSelect","blocks","onInsertBlocks","order","nativeEvent","layout","layoutWidth","Math","floor","width","setState","getBlockForType","renderBlockTitle","styles","blockTitle","render","blockType","icon","isValid","title","isDimmed","isTouchable","isStackedHorizontally","isParentSelected","getStylesFromColorScheme","marginVertical","isInnerBlockSelected","align","accessibilityLabel","isFullWidth","isContainerRelated","alignmentHelpers","accessible","screenWidth","Dimensions","get","isScreenWidthEqual","isScreenWidthWider","isFullWidthToolbar","flex","dimmed","solidBorder","borderFullWidth","containerBorderFullWidth","solidBorderColor","solidBorderColorDark","dashedBorder","dashedBorderColor","dashedBorderColorDark","neutralToolbar","current","wrapperPropsCache","WeakMap","emptyObj","getWrapperProps","value","getWrapperPropsFunction","cachedValue","set","select","getBlockIndex","getSettings","isBlockSelected","getBlock","getSelectedBlockClientId","getLowestCommonAncestorWithSelectedBlock","getBlockParents","hasSelectedInnerBlock","blockEditorStore","block","parents","parentId","selectedBlockClientId","commonAncestor","commonAncestorIndex","indexOf","length","selectedParents","isDescendantOfParentSelected","includes","__experimentalGlobalStylesBaseStyles","getEditWrapperProps","dispatch","ownProps","insertBlocks","replaceBlocks","selectBlock","updateBlockAttributes","forward","getPreviousBlockClientId","getNextBlockClientId","nextBlockClientId","previousBlockClientId","index","rootClientId","initialPosition","indexToSelect","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback, Dimensions } from 'react-native';\nimport { pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef, useMemo } from '@wordpress/element';\nimport {\n\tGlobalStylesContext,\n\tgetMergedGlobalStyles,\n\talignmentHelpers,\n\tuseGlobalStyles,\n} from '@wordpress/components';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\t__experimentalGetAccessibleBlockLabel as getAccessibleBlockLabel,\n} from '@wordpress/blocks';\nimport { useSetting } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './block.scss';\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockMobileToolbar from '../block-mobile-toolbar';\nimport { store as blockEditorStore } from '../../store';\n\nconst emptyArray = [];\nfunction BlockForType( {\n\tattributes,\n\tclientId,\n\tcontentStyle,\n\tgetBlockWidth,\n\tinsertBlocksAfter,\n\tisSelected,\n\tmergeBlocks,\n\tname,\n\tonBlockFocus,\n\tonChange,\n\tonDeleteBlock,\n\tonReplace,\n\tparentWidth,\n\twrapperProps,\n\tblockWidth,\n\tbaseGlobalStyles,\n} ) {\n\tconst defaultColors = useSetting( 'color.palette' ) || emptyArray;\n\tconst fontSizes = useSetting( 'typography.fontSizes' ) || emptyArray;\n\tconst globalStyle = useGlobalStyles();\n\tconst mergedStyle = useMemo( () => {\n\t\treturn getMergedGlobalStyles(\n\t\t\tbaseGlobalStyles,\n\t\t\tglobalStyle,\n\t\t\twrapperProps.style,\n\t\t\tattributes,\n\t\t\tdefaultColors,\n\t\t\tname,\n\t\t\tfontSizes\n\t\t);\n\t}, [\n\t\tdefaultColors,\n\t\tglobalStyle,\n\t\t// I couldn't simply use attributes and wrapperProps.styles as a dependency because they are almost always a new reference.\n\t\t// Thanks to the JSON.stringify we check if the value is the same instead of reference.\n\t\tJSON.stringify( wrapperProps.style ),\n\t\tJSON.stringify(\n\t\t\tpick( attributes, GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES )\n\t\t),\n\t] );\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ mergedStyle }>\n\t\t\t<BlockEdit\n\t\t\t\tname={ name }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ onChange }\n\t\t\t\tonFocus={ onBlockFocus }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmergeBlocks={ mergeBlocks }\n\t\t\t\t// Block level styles\n\t\t\t\twrapperProps={ wrapperProps }\n\t\t\t\t// inherited styles merged with block level styles\n\t\t\t\tstyle={ mergedStyle }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t\t<View onLayout={ getBlockWidth } />\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n\nclass BlockListBlock extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.insertBlocksAfter = this.insertBlocksAfter.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.getBlockWidth = this.getBlockWidth.bind( this );\n\n\t\tthis.state = {\n\t\t\tblockWidth: this.props.blockWidth - 2 * this.props.marginHorizontal,\n\t\t};\n\n\t\tthis.anchorNodeRef = createRef();\n\t}\n\n\tonFocus() {\n\t\tconst { firstToSelectId, isSelected, onSelect } = this.props;\n\t\tif ( ! isSelected ) {\n\t\t\tonSelect( firstToSelectId );\n\t\t}\n\t}\n\n\tinsertBlocksAfter( blocks ) {\n\t\tthis.props.onInsertBlocks( blocks, this.props.order + 1 );\n\n\t\tif ( blocks[ 0 ] ) {\n\t\t\t// focus on the first block inserted\n\t\t\tthis.props.onSelect( blocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tgetBlockWidth( { nativeEvent } ) {\n\t\tconst { layout } = nativeEvent;\n\t\tconst { blockWidth } = this.state;\n\t\tconst layoutWidth = Math.floor( layout.width );\n\n\t\tif ( ! blockWidth || ! layoutWidth ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( blockWidth !== layoutWidth ) {\n\t\t\tthis.setState( { blockWidth: layoutWidth } );\n\t\t}\n\t}\n\n\tgetBlockForType() {\n\t\tconst { blockWidth } = this.state;\n\t\treturn (\n\t\t\t<BlockForType\n\t\t\t\t{ ...this.props }\n\t\t\t\tonBlockFocus={ this.onFocus }\n\t\t\t\tinsertBlocksAfter={ this.insertBlocksAfter }\n\t\t\t\tgetBlockWidth={ this.getBlockWidth }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderBlockTitle() {\n\t\treturn (\n\t\t\t<View style={ styles.blockTitle }>\n\t\t\t\t<Text>BlockType: { this.props.name }</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tblockType,\n\t\t\tclientId,\n\t\t\ticon,\n\t\t\tisSelected,\n\t\t\tisValid,\n\t\t\torder,\n\t\t\ttitle,\n\t\t\tisDimmed,\n\t\t\tisTouchable,\n\t\t\tonDeleteBlock,\n\t\t\tisStackedHorizontally,\n\t\t\tisParentSelected,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tmarginVertical,\n\t\t\tmarginHorizontal,\n\t\t\tisInnerBlockSelected,\n\t\t\tname,\n\t\t} = this.props;\n\n\t\tif ( ! attributes || ! blockType ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { blockWidth } = this.state;\n\t\tconst { align } = attributes;\n\t\tconst accessibilityLabel = getAccessibleBlockLabel(\n\t\t\tblockType,\n\t\t\tattributes,\n\t\t\torder + 1\n\t\t);\n\t\tconst { isFullWidth, isContainerRelated } = alignmentHelpers;\n\t\tconst accessible = ! ( isSelected || isInnerBlockSelected );\n\t\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\t\tconst isScreenWidthEqual = blockWidth === screenWidth;\n\t\tconst isScreenWidthWider = blockWidth < screenWidth;\n\t\tconst isFullWidthToolbar = isFullWidth( align ) || isScreenWidthEqual;\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ this.onFocus }\n\t\t\t\taccessible={ accessible }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ { flex: 1 } }\n\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tpointerEvents={ isTouchable ? 'auto' : 'box-only' }\n\t\t\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t{ marginVertical, marginHorizontal, flex: 1 },\n\t\t\t\t\t\t\tisDimmed && styles.dimmed,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tpointerEvents=\"box-none\"\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tstyles.solidBorder,\n\t\t\t\t\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\t\t\t\t\tisScreenWidthWider &&\n\t\t\t\t\t\t\t\t\t\tstyles.borderFullWidth,\n\t\t\t\t\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\t\t\t\t\tisContainerRelated( name ) &&\n\t\t\t\t\t\t\t\t\t\tisScreenWidthWider &&\n\t\t\t\t\t\t\t\t\t\tstyles.containerBorderFullWidth,\n\t\t\t\t\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\tstyles.solidBorderColor,\n\t\t\t\t\t\t\t\t\t\tstyles.solidBorderColorDark\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/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isParentSelected && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tstyles.dashedBorder,\n\t\t\t\t\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\tstyles.dashedBorderColor,\n\t\t\t\t\t\t\t\t\t\tstyles.dashedBorderColorDark\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/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isValid ? (\n\t\t\t\t\t\t\tthis.getBlockForType()\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<BlockInvalidWarning\n\t\t\t\t\t\t\t\tblockTitle={ title }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ styles.neutralToolbar }\n\t\t\t\t\t\t\tref={ this.anchorNodeRef }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t<BlockMobileToolbar\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\tonDelete={ onDeleteBlock }\n\t\t\t\t\t\t\t\t\tisStackedHorizontally={\n\t\t\t\t\t\t\t\t\t\tisStackedHorizontally\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t\t\t\tanchorNodeRef={ this.anchorNodeRef.current }\n\t\t\t\t\t\t\t\t\tisFullWidth={ isFullWidthToolbar }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\n// Helper function to memoize the wrapperProps since getEditWrapperProps always returns a new reference\nconst wrapperPropsCache = new WeakMap();\nconst emptyObj = {};\nfunction getWrapperProps( value, getWrapperPropsFunction ) {\n\tif ( ! getWrapperPropsFunction ) {\n\t\treturn emptyObj;\n\t}\n\tconst cachedValue = wrapperPropsCache.get( value );\n\tif ( ! cachedValue ) {\n\t\tconst wrapperProps = getWrapperPropsFunction( value );\n\t\twrapperPropsCache.set( value, wrapperProps );\n\t\treturn wrapperProps;\n\t}\n\treturn cachedValue;\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetSettings,\n\t\t\tisBlockSelected,\n\t\t\tgetBlock,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetLowestCommonAncestorWithSelectedBlock,\n\t\t\tgetBlockParents,\n\t\t\thasSelectedInnerBlock,\n\t\t} = select( blockEditorStore );\n\n\t\tconst order = getBlockIndex( clientId );\n\t\tconst isSelected = isBlockSelected( clientId );\n\t\tconst isInnerBlockSelected = hasSelectedInnerBlock( clientId );\n\t\tconst block = getBlock( clientId );\n\t\tconst { name, attributes, isValid } = block || {};\n\n\t\tconst blockType = getBlockType( name || 'core/missing' );\n\t\tconst title = blockType?.title;\n\t\tconst icon = blockType?.icon;\n\n\t\tconst parents = getBlockParents( clientId, true );\n\t\tconst parentId = parents[ 0 ] || '';\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\tconst commonAncestor = getLowestCommonAncestorWithSelectedBlock(\n\t\t\tclientId\n\t\t);\n\t\tconst commonAncestorIndex = parents.indexOf( commonAncestor ) - 1;\n\t\tconst firstToSelectId = commonAncestor\n\t\t\t? parents[ commonAncestorIndex ]\n\t\t\t: parents[ parents.length - 1 ];\n\n\t\tconst isParentSelected =\n\t\t\t// set false as a default value to prevent re-render when it's changed from null to false\n\t\t\t( selectedBlockClientId || false ) &&\n\t\t\tselectedBlockClientId === parentId;\n\n\t\tconst selectedParents = selectedBlockClientId\n\t\t\t? getBlockParents( selectedBlockClientId )\n\t\t\t: [];\n\t\tconst isDescendantOfParentSelected = selectedParents.includes(\n\t\t\tparentId\n\t\t);\n\t\tconst isTouchable =\n\t\t\tisSelected ||\n\t\t\tisDescendantOfParentSelected ||\n\t\t\tisParentSelected ||\n\t\t\tparentId === '';\n\t\tconst baseGlobalStyles = getSettings()\n\t\t\t?.__experimentalGlobalStylesBaseStyles;\n\n\t\treturn {\n\t\t\ticon,\n\t\t\tname: name || 'core/missing',\n\t\t\torder,\n\t\t\ttitle,\n\t\t\tattributes,\n\t\t\tblockType,\n\t\t\tisSelected,\n\t\t\tisInnerBlockSelected,\n\t\t\tisValid,\n\t\t\tisParentSelected,\n\t\t\tfirstToSelectId,\n\t\t\tisTouchable,\n\t\t\tbaseGlobalStyles,\n\t\t\twrapperProps: getWrapperProps(\n\t\t\t\tattributes,\n\t\t\t\tblockType.getEditWrapperProps\n\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\tconst {\n\t\t\tinsertBlocks,\n\t\t\tmergeBlocks,\n\t\t\treplaceBlocks,\n\t\t\tselectBlock,\n\t\t\tupdateBlockAttributes,\n\t\t} = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tmergeBlocks( forward ) {\n\t\t\t\tconst { clientId } = ownProps;\n\t\t\t\tconst {\n\t\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\t\tgetNextBlockClientId,\n\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\tif ( forward ) {\n\t\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tconst previousBlockClientId = getPreviousBlockClientId(\n\t\t\t\t\t\tclientId\n\t\t\t\t\t);\n\t\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tonInsertBlocks( blocks, index ) {\n\t\t\t\tinsertBlocks( blocks, index, ownProps.rootClientId );\n\t\t\t},\n\t\t\tonSelect( clientId = ownProps.clientId, initialPosition ) {\n\t\t\t\tselectBlock( clientId, initialPosition );\n\t\t\t},\n\t\t\tonChange: ( attributes ) => {\n\t\t\t\tupdateBlockAttributes( ownProps.clientId, attributes );\n\t\t\t},\n\t\t\tonReplace( blocks, indexToSelect ) {\n\t\t\t\treplaceBlocks( [ ownProps.clientId ], blocks, indexToSelect );\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( BlockListBlock );\n"]}
@@ -111,7 +111,6 @@ function useBlockProps() {
111
111
  enableAnimation
112
112
  } = (0, _data.useSelect)(select => {
113
113
  const {
114
- getBlockRootClientId,
115
114
  getBlockIndex,
116
115
  getBlockMode,
117
116
  getBlockName,
@@ -125,10 +124,9 @@ function useBlockProps() {
125
124
  const isSelected = isBlockSelected(clientId);
126
125
  const isPartOfMultiSelection = isBlockMultiSelected(clientId) || isAncestorMultiSelected(clientId);
127
126
  const blockName = getBlockName(clientId);
128
- const rootClientId = getBlockRootClientId(clientId);
129
127
  const blockType = (0, _blocks.getBlockType)(blockName);
130
128
  return {
131
- index: getBlockIndex(clientId, rootClientId),
129
+ index: getBlockIndex(clientId),
132
130
  mode: getBlockMode(clientId),
133
131
  name: blockName,
134
132
  blockApiVersion: (blockType === null || blockType === void 0 ? void 0 : blockType.apiVersion) || 1,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"names":["BLOCK_ANIMATION_THRESHOLD","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","BlockListBlockContext","index","mode","name","blockApiVersion","blockTitle","isPartOfSelection","adjustScrolling","enableAnimation","select","getBlockRootClientId","getBlockIndex","getBlockMode","getBlockName","isTyping","getGlobalBlockCount","isBlockSelected","isBlockMultiSelected","isAncestorMultiSelected","isFirstMultiSelectedBlock","blockEditorStore","isSelected","isPartOfMultiSelection","blockName","rootClientId","blockType","apiVersion","title","blockLabel","htmlSuffix","mergedRefs","ref","triggerAnimationOnChange","blockEditContext","id","tabIndex","role","style","save","getBlockProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__unstableGetBlockProps as getBlockProps,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { BlockListBlockContext } from '../block';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport { useBlockEditContext } from '../../block-edit/context';\nimport { useBlockClassNames } from './use-block-class-names';\nimport { useBlockDefaultClassName } from './use-block-default-class-name';\nimport { useBlockCustomClassName } from './use-block-custom-class-name';\nimport { useBlockMovingModeClassNames } from './use-block-moving-mode-class-names';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useNavModeExit } from './use-nav-mode-exit';\nimport { useScrollIntoView } from './use-scroll-into-view';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useMultiSelection } from './use-multi-selection';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * If the block count exceeds the threshold, we disable the reordering animation\n * to avoid laginess.\n */\nconst BLOCK_ANIMATION_THRESHOLD = 200;\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst { clientId, className, wrapperProps = {}, isAligned } = useContext(\n\t\tBlockListBlockContext\n\t);\n\tconst {\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisPartOfSelection,\n\t\tadjustScrolling,\n\t\tenableAnimation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisTyping,\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisAncestorMultiSelected,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst isSelected = isBlockSelected( clientId );\n\t\t\tconst isPartOfMultiSelection =\n\t\t\t\tisBlockMultiSelected( clientId ) ||\n\t\t\t\tisAncestorMultiSelected( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\treturn {\n\t\t\t\tindex: getBlockIndex( clientId, rootClientId ),\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tname: blockName,\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tisPartOfSelection: isSelected || isPartOfMultiSelection,\n\t\t\t\tadjustScrolling:\n\t\t\t\t\tisSelected || isFirstMultiSelectedBlock( clientId ),\n\t\t\t\tenableAnimation:\n\t\t\t\t\t! isTyping() &&\n\t\t\t\t\tgetGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( clientId ),\n\t\t// Must happen after focus because we check for focus in the block.\n\t\tuseScrollIntoView( clientId ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseMultiSelection( clientId ),\n\t\tuseEventHandlers( clientId ),\n\t\tuseNavModeExit( clientId ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( {\n\t\t\tisSelected: isPartOfSelection,\n\t\t\tadjustScrolling,\n\t\t\tenableAnimation,\n\t\t\ttriggerAnimationOnChange: index,\n\t\t} ),\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\treturn {\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\ttabIndex: 0,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tclassName: classnames(\n\t\t\t// The wp-block className is important for editor styles.\n\t\t\tclassnames( 'block-editor-block-list__block', {\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t} ),\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tuseBlockClassNames( clientId ),\n\t\t\tuseBlockDefaultClassName( clientId ),\n\t\t\tuseBlockCustomClassName( clientId ),\n\t\t\tuseBlockMovingModeClassNames( clientId )\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"names":["BLOCK_ANIMATION_THRESHOLD","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","BlockListBlockContext","index","mode","name","blockApiVersion","blockTitle","isPartOfSelection","adjustScrolling","enableAnimation","select","getBlockIndex","getBlockMode","getBlockName","isTyping","getGlobalBlockCount","isBlockSelected","isBlockMultiSelected","isAncestorMultiSelected","isFirstMultiSelectedBlock","blockEditorStore","isSelected","isPartOfMultiSelection","blockName","blockType","apiVersion","title","blockLabel","htmlSuffix","mergedRefs","ref","triggerAnimationOnChange","blockEditContext","id","tabIndex","role","style","save","getBlockProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__unstableGetBlockProps as getBlockProps,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { BlockListBlockContext } from '../block';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport { useBlockEditContext } from '../../block-edit/context';\nimport { useBlockClassNames } from './use-block-class-names';\nimport { useBlockDefaultClassName } from './use-block-default-class-name';\nimport { useBlockCustomClassName } from './use-block-custom-class-name';\nimport { useBlockMovingModeClassNames } from './use-block-moving-mode-class-names';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useNavModeExit } from './use-nav-mode-exit';\nimport { useScrollIntoView } from './use-scroll-into-view';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useMultiSelection } from './use-multi-selection';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * If the block count exceeds the threshold, we disable the reordering animation\n * to avoid laginess.\n */\nconst BLOCK_ANIMATION_THRESHOLD = 200;\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst { clientId, className, wrapperProps = {}, isAligned } = useContext(\n\t\tBlockListBlockContext\n\t);\n\tconst {\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisPartOfSelection,\n\t\tadjustScrolling,\n\t\tenableAnimation,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisTyping,\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tisBlockSelected,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisAncestorMultiSelected,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst isSelected = isBlockSelected( clientId );\n\t\t\tconst isPartOfMultiSelection =\n\t\t\t\tisBlockMultiSelected( clientId ) ||\n\t\t\t\tisAncestorMultiSelected( clientId );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\treturn {\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tname: blockName,\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tisPartOfSelection: isSelected || isPartOfMultiSelection,\n\t\t\t\tadjustScrolling:\n\t\t\t\t\tisSelected || isFirstMultiSelectedBlock( clientId ),\n\t\t\t\tenableAnimation:\n\t\t\t\t\t! isTyping() &&\n\t\t\t\t\tgetGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( clientId ),\n\t\t// Must happen after focus because we check for focus in the block.\n\t\tuseScrollIntoView( clientId ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseMultiSelection( clientId ),\n\t\tuseEventHandlers( clientId ),\n\t\tuseNavModeExit( clientId ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( {\n\t\t\tisSelected: isPartOfSelection,\n\t\t\tadjustScrolling,\n\t\t\tenableAnimation,\n\t\t\ttriggerAnimationOnChange: index,\n\t\t} ),\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\treturn {\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\ttabIndex: 0,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tclassName: classnames(\n\t\t\t// The wp-block className is important for editor styles.\n\t\t\tclassnames( 'block-editor-block-list__block', {\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t} ),\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tuseBlockClassNames( clientId ),\n\t\t\tuseBlockDefaultClassName( clientId ),\n\t\t\tuseBlockCustomClassName( clientId ),\n\t\t\tuseBlockMovingModeClassNames( clientId )\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"]}
@@ -127,7 +127,7 @@ function useInBetweenInserter() {
127
127
  return;
128
128
  }
129
129
 
130
- const index = getBlockIndex(clientId, rootClientId); // Don't show the in-between inserter before the first block in
130
+ const index = getBlockIndex(clientId); // Don't show the in-between inserter before the first block in
131
131
  // the list (preserves the original behaviour).
132
132
 
133
133
  if (index === 0) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-in-between-inserter.js"],"names":["useInBetweenInserter","openRef","InsertionPointOpenRef","hasReducedUI","select","blockEditorStore","getSettings","getBlockListSettings","getBlockRootClientId","getBlockIndex","isBlockInsertionPointVisible","isMultiSelecting","getSelectedBlockClientIds","getTemplateLock","showInsertionPoint","hideInsertionPoint","node","onMouseMove","event","current","target","classList","contains","rootClientId","blockElement","getAttribute","closest","orientation","rect","getBoundingClientRect","offsetTop","clientY","top","offsetLeft","clientX","left","children","Array","from","element","find","blockEl","id","firstElementChild","parentOverlay","parentElement","clientId","slice","length","includes","elementRect","bottom","right","index","__unstableWithInserter","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\n\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { InsertionPointOpenRef } from '../block-tools/insertion-point';\n\nexport function useInBetweenInserter() {\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst hasReducedUI = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().hasReducedUI,\n\t\t[]\n\t);\n\tconst {\n\t\tgetBlockListSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t\tisBlockInsertionPointVisible,\n\t\tisMultiSelecting,\n\t\tgetSelectedBlockClientIds,\n\t\tgetTemplateLock,\n\t} = useSelect( blockEditorStore );\n\tconst { showInsertionPoint, hideInsertionPoint } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( hasReducedUI ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction onMouseMove( event ) {\n\t\t\t\tif ( openRef.current ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( isMultiSelecting() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! event.target.classList.contains(\n\t\t\t\t\t\t'block-editor-block-list__layout'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tif ( isBlockInsertionPointVisible() ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet rootClientId;\n\t\t\t\tif (\n\t\t\t\t\t! event.target.classList.contains( 'is-root-container' )\n\t\t\t\t) {\n\t\t\t\t\tconst blockElement = !! event.target.getAttribute(\n\t\t\t\t\t\t'data-block'\n\t\t\t\t\t)\n\t\t\t\t\t\t? event.target\n\t\t\t\t\t\t: event.target.closest( '[data-block]' );\n\t\t\t\t\trootClientId = blockElement.getAttribute( 'data-block' );\n\t\t\t\t}\n\n\t\t\t\t// Don't set the insertion point if the template is locked.\n\t\t\t\tif ( getTemplateLock( rootClientId ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst orientation =\n\t\t\t\t\tgetBlockListSettings( rootClientId )?.orientation ||\n\t\t\t\t\t'vertical';\n\t\t\t\tconst rect = event.target.getBoundingClientRect();\n\t\t\t\tconst offsetTop = event.clientY - rect.top;\n\t\t\t\tconst offsetLeft = event.clientX - rect.left;\n\n\t\t\t\tconst children = Array.from( event.target.children );\n\t\t\t\tlet element = children.find( ( blockEl ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t( blockEl.classList.contains( 'wp-block' ) &&\n\t\t\t\t\t\t\torientation === 'vertical' &&\n\t\t\t\t\t\t\tblockEl.offsetTop > offsetTop ) ||\n\t\t\t\t\t\t( blockEl.classList.contains( 'wp-block' ) &&\n\t\t\t\t\t\t\torientation === 'horizontal' &&\n\t\t\t\t\t\t\tblockEl.offsetLeft > offsetLeft )\n\t\t\t\t\t);\n\t\t\t\t} );\n\n\t\t\t\tif ( ! element ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// The block may be in an alignment wrapper, so check the first direct\n\t\t\t\t// child if the element has no ID.\n\t\t\t\tif ( ! element.id ) {\n\t\t\t\t\telement = element.firstElementChild;\n\n\t\t\t\t\tif ( ! element ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Don't show the insertion point if a parent block has an \"overlay\"\n\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/34012#pullrequestreview-727762337\n\t\t\t\tconst parentOverlay = element.parentElement?.closest(\n\t\t\t\t\t'.block-editor-block-content-overlay.overlay-active'\n\t\t\t\t);\n\t\t\t\tif ( parentOverlay ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst clientId = element.id.slice( 'block-'.length );\n\n\t\t\t\tif ( ! clientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Don't show the inserter when hovering above (conflicts with\n\t\t\t\t// block toolbar) or inside selected block(s).\n\t\t\t\tif ( getSelectedBlockClientIds().includes( clientId ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst elementRect = element.getBoundingClientRect();\n\n\t\t\t\tif (\n\t\t\t\t\t( orientation === 'horizontal' &&\n\t\t\t\t\t\t( event.clientY > elementRect.bottom ||\n\t\t\t\t\t\t\tevent.clientY < elementRect.top ) ) ||\n\t\t\t\t\t( orientation === 'vertical' &&\n\t\t\t\t\t\t( event.clientX > elementRect.right ||\n\t\t\t\t\t\t\tevent.clientX < elementRect.left ) )\n\t\t\t\t) {\n\t\t\t\t\tif ( isBlockInsertionPointVisible() ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst index = getBlockIndex( clientId, rootClientId );\n\n\t\t\t\t// Don't show the in-between inserter before the first block in\n\t\t\t\t// the list (preserves the original behaviour).\n\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\tif ( isBlockInsertionPointVisible() ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tshowInsertionPoint( rootClientId, index, {\n\t\t\t\t\t__unstableWithInserter: true,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'mousemove', onMouseMove );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'mousemove', onMouseMove );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\topenRef,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockIndex,\n\t\t\tisBlockInsertionPointVisible,\n\t\t\tisMultiSelecting,\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t\tgetSelectedBlockClientIds,\n\t\t]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/use-in-between-inserter.js"],"names":["useInBetweenInserter","openRef","InsertionPointOpenRef","hasReducedUI","select","blockEditorStore","getSettings","getBlockListSettings","getBlockRootClientId","getBlockIndex","isBlockInsertionPointVisible","isMultiSelecting","getSelectedBlockClientIds","getTemplateLock","showInsertionPoint","hideInsertionPoint","node","onMouseMove","event","current","target","classList","contains","rootClientId","blockElement","getAttribute","closest","orientation","rect","getBoundingClientRect","offsetTop","clientY","top","offsetLeft","clientX","left","children","Array","from","element","find","blockEl","id","firstElementChild","parentOverlay","parentElement","clientId","slice","length","includes","elementRect","bottom","right","index","__unstableWithInserter","addEventListener","removeEventListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\n\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { InsertionPointOpenRef } from '../block-tools/insertion-point';\n\nexport function useInBetweenInserter() {\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst hasReducedUI = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().hasReducedUI,\n\t\t[]\n\t);\n\tconst {\n\t\tgetBlockListSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t\tisBlockInsertionPointVisible,\n\t\tisMultiSelecting,\n\t\tgetSelectedBlockClientIds,\n\t\tgetTemplateLock,\n\t} = useSelect( blockEditorStore );\n\tconst { showInsertionPoint, hideInsertionPoint } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( hasReducedUI ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfunction onMouseMove( event ) {\n\t\t\t\tif ( openRef.current ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( isMultiSelecting() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t! event.target.classList.contains(\n\t\t\t\t\t\t'block-editor-block-list__layout'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tif ( isBlockInsertionPointVisible() ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet rootClientId;\n\t\t\t\tif (\n\t\t\t\t\t! event.target.classList.contains( 'is-root-container' )\n\t\t\t\t) {\n\t\t\t\t\tconst blockElement = !! event.target.getAttribute(\n\t\t\t\t\t\t'data-block'\n\t\t\t\t\t)\n\t\t\t\t\t\t? event.target\n\t\t\t\t\t\t: event.target.closest( '[data-block]' );\n\t\t\t\t\trootClientId = blockElement.getAttribute( 'data-block' );\n\t\t\t\t}\n\n\t\t\t\t// Don't set the insertion point if the template is locked.\n\t\t\t\tif ( getTemplateLock( rootClientId ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst orientation =\n\t\t\t\t\tgetBlockListSettings( rootClientId )?.orientation ||\n\t\t\t\t\t'vertical';\n\t\t\t\tconst rect = event.target.getBoundingClientRect();\n\t\t\t\tconst offsetTop = event.clientY - rect.top;\n\t\t\t\tconst offsetLeft = event.clientX - rect.left;\n\n\t\t\t\tconst children = Array.from( event.target.children );\n\t\t\t\tlet element = children.find( ( blockEl ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t( blockEl.classList.contains( 'wp-block' ) &&\n\t\t\t\t\t\t\torientation === 'vertical' &&\n\t\t\t\t\t\t\tblockEl.offsetTop > offsetTop ) ||\n\t\t\t\t\t\t( blockEl.classList.contains( 'wp-block' ) &&\n\t\t\t\t\t\t\torientation === 'horizontal' &&\n\t\t\t\t\t\t\tblockEl.offsetLeft > offsetLeft )\n\t\t\t\t\t);\n\t\t\t\t} );\n\n\t\t\t\tif ( ! element ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// The block may be in an alignment wrapper, so check the first direct\n\t\t\t\t// child if the element has no ID.\n\t\t\t\tif ( ! element.id ) {\n\t\t\t\t\telement = element.firstElementChild;\n\n\t\t\t\t\tif ( ! element ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Don't show the insertion point if a parent block has an \"overlay\"\n\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/34012#pullrequestreview-727762337\n\t\t\t\tconst parentOverlay = element.parentElement?.closest(\n\t\t\t\t\t'.block-editor-block-content-overlay.overlay-active'\n\t\t\t\t);\n\t\t\t\tif ( parentOverlay ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst clientId = element.id.slice( 'block-'.length );\n\n\t\t\t\tif ( ! clientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Don't show the inserter when hovering above (conflicts with\n\t\t\t\t// block toolbar) or inside selected block(s).\n\t\t\t\tif ( getSelectedBlockClientIds().includes( clientId ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst elementRect = element.getBoundingClientRect();\n\n\t\t\t\tif (\n\t\t\t\t\t( orientation === 'horizontal' &&\n\t\t\t\t\t\t( event.clientY > elementRect.bottom ||\n\t\t\t\t\t\t\tevent.clientY < elementRect.top ) ) ||\n\t\t\t\t\t( orientation === 'vertical' &&\n\t\t\t\t\t\t( event.clientX > elementRect.right ||\n\t\t\t\t\t\t\tevent.clientX < elementRect.left ) )\n\t\t\t\t) {\n\t\t\t\t\tif ( isBlockInsertionPointVisible() ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst index = getBlockIndex( clientId );\n\n\t\t\t\t// Don't show the in-between inserter before the first block in\n\t\t\t\t// the list (preserves the original behaviour).\n\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\tif ( isBlockInsertionPointVisible() ) {\n\t\t\t\t\t\thideInsertionPoint();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tshowInsertionPoint( rootClientId, index, {\n\t\t\t\t\t__unstableWithInserter: true,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'mousemove', onMouseMove );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'mousemove', onMouseMove );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\topenRef,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockIndex,\n\t\t\tisBlockInsertionPointVisible,\n\t\t\tisMultiSelecting,\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t\tgetSelectedBlockClientIds,\n\t\t]\n\t);\n}\n"]}
@@ -284,8 +284,8 @@ var _default = (0, _compose.compose)((0, _data.withSelect)((select, _ref2) => {
284
284
  const firstClientId = (0, _lodash.first)(normalizedClientIds);
285
285
  const rootClientId = getBlockRootClientId(firstClientId);
286
286
  const blockOrder = getBlockOrder(rootClientId);
287
- const firstIndex = getBlockIndex(firstClientId, rootClientId);
288
- const lastIndex = getBlockIndex((0, _lodash.last)(normalizedClientIds), rootClientId);
287
+ const firstIndex = getBlockIndex(firstClientId);
288
+ const lastIndex = getBlockIndex((0, _lodash.last)(normalizedClientIds));
289
289
  const innerBlocks = getBlocksByClientId(clientIds);
290
290
  const canDuplicate = (0, _lodash.every)(innerBlocks, innerBlock => {
291
291
  return !!innerBlock && (0, _blocks.hasBlockSupport)(innerBlock.name, 'multiple', true) && canInsertBlockType(innerBlock.name, rootClientId);