@wordpress/block-editor 8.0.11 → 8.0.14

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 +24 -1
  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 +24 -1
  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 +23 -1
  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
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/index.js"],"names":["first","last","useSelect","useDispatch","useViewportMatch","Popover","__unstableUseShortcutEventMatch","useShortcutEventMatch","InsertionPoint","BlockPopover","store","blockEditorStore","BlockContextualToolbar","usePopoverScroll","BlockTools","children","__unstableContentRef","props","isLargeViewport","hasFixedToolbar","select","getSettings","isMatch","getSelectedBlockClientIds","getBlockRootClientId","duplicateBlocks","removeBlocks","insertAfterBlock","insertBeforeBlock","clearSelectedBlock","moveBlocksUp","moveBlocksDown","onKeyDown","event","clientIds","length","preventDefault","rootClientId","target","ownerDocument","defaultView","getSelection","removeAllRanges"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { first, last } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { Popover } from '@wordpress/components';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport InsertionPoint from './insertion-point';\nimport BlockPopover from './block-popover';\nimport { store as blockEditorStore } from '../../store';\nimport BlockContextualToolbar from './block-contextual-toolbar';\nimport { usePopoverScroll } from './use-popover-scroll';\n\n/**\n * Renders block tools (the block toolbar, select/navigation mode toolbar, the\n * insertion point and a slot for the inline rich text toolbar). Must be wrapped\n * around the block content and editor styles wrapper or iframe.\n *\n * @param {Object} $0 Props.\n * @param {Object} $0.children The block content and style container.\n * @param {Object} $0.__unstableContentRef Ref holding the content scroll container.\n */\nexport default function BlockTools( {\n\tchildren,\n\t__unstableContentRef,\n\t...props\n} ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst hasFixedToolbar = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().hasFixedToolbar,\n\t\t[]\n\t);\n\tconst isMatch = useShortcutEventMatch();\n\tconst { getSelectedBlockClientIds, getBlockRootClientId } = useSelect(\n\t\tblockEditorStore\n\t);\n\tconst {\n\t\tduplicateBlocks,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tclearSelectedBlock,\n\t\tmoveBlocksUp,\n\t\tmoveBlocksDown,\n\t} = useDispatch( blockEditorStore );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isMatch( 'core/block-editor/move-up', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( first( clientIds ) );\n\t\t\t\tmoveBlocksUp( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/move-down', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( first( clientIds ) );\n\t\t\t\tmoveBlocksDown( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tduplicateBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/remove', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tremoveBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertAfterBlock( last( clientIds ) );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertBeforeBlock( first( clientIds ) );\n\t\t\t}\n\t\t} else if (\n\t\t\tisMatch( 'core/block-editor/delete-multi-selection', event )\n\t\t) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length > 1 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tremoveBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/unselect', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length > 1 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclearSelectedBlock();\n\t\t\t\tevent.target.ownerDocument.defaultView\n\t\t\t\t\t.getSelection()\n\t\t\t\t\t.removeAllRanges();\n\t\t\t}\n\t\t}\n\t}\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div { ...props } onKeyDown={ onKeyDown }>\n\t\t\t<InsertionPoint __unstableContentRef={ __unstableContentRef }>\n\t\t\t\t{ ( hasFixedToolbar || ! isLargeViewport ) && (\n\t\t\t\t\t<BlockContextualToolbar isFixed />\n\t\t\t\t) }\n\t\t\t\t{ /* Even if the toolbar is fixed, the block popover is still\n needed for navigation mode. */ }\n\t\t\t\t<BlockPopover __unstableContentRef={ __unstableContentRef } />\n\t\t\t\t{ /* Used for the inline rich text toolbar. */ }\n\t\t\t\t<Popover.Slot\n\t\t\t\t\tname=\"block-toolbar\"\n\t\t\t\t\tref={ usePopoverScroll( __unstableContentRef ) }\n\t\t\t\t/>\n\t\t\t\t{ children }\n\t\t\t\t{ /* Used for inline rich text popovers. */ }\n\t\t\t\t<Popover.Slot\n\t\t\t\t\tname=\"__unstable-block-tools-after\"\n\t\t\t\t\tref={ usePopoverScroll( __unstableContentRef ) }\n\t\t\t\t/>\n\t\t\t</InsertionPoint>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/index.js"],"names":["first","last","useSelect","useDispatch","useViewportMatch","Popover","__unstableUseShortcutEventMatch","useShortcutEventMatch","InsertionPoint","BlockPopover","store","blockEditorStore","BlockContextualToolbar","usePopoverScroll","BlockTools","children","__unstableContentRef","props","isLargeViewport","hasFixedToolbar","select","getSettings","isMatch","getSelectedBlockClientIds","getBlockRootClientId","duplicateBlocks","removeBlocks","insertAfterBlock","insertBeforeBlock","clearSelectedBlock","moveBlocksUp","moveBlocksDown","onKeyDown","event","clientIds","length","preventDefault","rootClientId","includes","target","nodeName","defaultPrevented","ownerDocument","defaultView","getSelection","removeAllRanges"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { first, last } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { Popover } from '@wordpress/components';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport InsertionPoint from './insertion-point';\nimport BlockPopover from './block-popover';\nimport { store as blockEditorStore } from '../../store';\nimport BlockContextualToolbar from './block-contextual-toolbar';\nimport { usePopoverScroll } from './use-popover-scroll';\n\n/**\n * Renders block tools (the block toolbar, select/navigation mode toolbar, the\n * insertion point and a slot for the inline rich text toolbar). Must be wrapped\n * around the block content and editor styles wrapper or iframe.\n *\n * @param {Object} $0 Props.\n * @param {Object} $0.children The block content and style container.\n * @param {Object} $0.__unstableContentRef Ref holding the content scroll container.\n */\nexport default function BlockTools( {\n\tchildren,\n\t__unstableContentRef,\n\t...props\n} ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst hasFixedToolbar = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().hasFixedToolbar,\n\t\t[]\n\t);\n\tconst isMatch = useShortcutEventMatch();\n\tconst { getSelectedBlockClientIds, getBlockRootClientId } = useSelect(\n\t\tblockEditorStore\n\t);\n\tconst {\n\t\tduplicateBlocks,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tclearSelectedBlock,\n\t\tmoveBlocksUp,\n\t\tmoveBlocksDown,\n\t} = useDispatch( blockEditorStore );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isMatch( 'core/block-editor/move-up', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( first( clientIds ) );\n\t\t\t\tmoveBlocksUp( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/move-down', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( first( clientIds ) );\n\t\t\t\tmoveBlocksDown( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tduplicateBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/remove', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tremoveBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertAfterBlock( last( clientIds ) );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertBeforeBlock( first( clientIds ) );\n\t\t\t}\n\t\t} else if (\n\t\t\tisMatch( 'core/block-editor/delete-multi-selection', event )\n\t\t) {\n\t\t\t/**\n\t\t\t * Check if the target element is a text area, input or\n\t\t\t * event.defaultPrevented and return early. In all these\n\t\t\t * cases backspace could be handled elsewhere.\n\t\t\t */\n\t\t\tif (\n\t\t\t\t[ 'INPUT', 'TEXTAREA' ].includes( event.target.nodeName ) ||\n\t\t\t\tevent.defaultPrevented\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length > 1 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tremoveBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/unselect', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length > 1 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclearSelectedBlock();\n\t\t\t\tevent.target.ownerDocument.defaultView\n\t\t\t\t\t.getSelection()\n\t\t\t\t\t.removeAllRanges();\n\t\t\t}\n\t\t}\n\t}\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div { ...props } onKeyDown={ onKeyDown }>\n\t\t\t<InsertionPoint __unstableContentRef={ __unstableContentRef }>\n\t\t\t\t{ ( hasFixedToolbar || ! isLargeViewport ) && (\n\t\t\t\t\t<BlockContextualToolbar isFixed />\n\t\t\t\t) }\n\t\t\t\t{ /* Even if the toolbar is fixed, the block popover is still\n needed for navigation mode. */ }\n\t\t\t\t<BlockPopover __unstableContentRef={ __unstableContentRef } />\n\t\t\t\t{ /* Used for the inline rich text toolbar. */ }\n\t\t\t\t<Popover.Slot\n\t\t\t\t\tname=\"block-toolbar\"\n\t\t\t\t\tref={ usePopoverScroll( __unstableContentRef ) }\n\t\t\t\t/>\n\t\t\t\t{ children }\n\t\t\t\t{ /* Used for inline rich text popovers. */ }\n\t\t\t\t<Popover.Slot\n\t\t\t\t\tname=\"__unstable-block-tools-after\"\n\t\t\t\t\tref={ usePopoverScroll( __unstableContentRef ) }\n\t\t\t\t/>\n\t\t\t</InsertionPoint>\n\t\t</div>\n\t);\n}\n"]}
@@ -52,7 +52,6 @@ export function getGradientSlugByValue(gradients, value) {
52
52
 
53
53
  return gradient && gradient.slug;
54
54
  }
55
- const EMPTY_OBJECT = {};
56
55
  export function __experimentalUseGradient() {
57
56
  let {
58
57
  gradientAttribute = 'gradient',
@@ -61,8 +60,10 @@ export function __experimentalUseGradient() {
61
60
  const {
62
61
  clientId
63
62
  } = useBlockEditContext();
64
- const gradientsPerOrigin = useSetting('color.gradients') || EMPTY_OBJECT;
65
- const allGradients = useMemo(() => [...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.custom) || []), ...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.theme) || []), ...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.default) || [])], [gradientsPerOrigin]);
63
+ const userGradientPalette = useSetting('color.gradients.custom');
64
+ const themeGradientPalette = useSetting('color.gradients.theme');
65
+ const defaultGradientPalette = useSetting('color.gradients.default');
66
+ const allGradients = useMemo(() => [...(userGradientPalette || []), ...(themeGradientPalette || []), ...(defaultGradientPalette || [])], [userGradientPalette, themeGradientPalette, defaultGradientPalette]);
66
67
  const {
67
68
  gradient,
68
69
  customGradient
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/gradients/use-gradient.js"],"names":["find","useCallback","useMemo","useSelect","useDispatch","useBlockEditContext","useSetting","store","blockEditorStore","__experimentalGetGradientClass","gradientSlug","undefined","getGradientValueBySlug","gradients","slug","gradient","__experimentalGetGradientObjectByGradientValue","value","getGradientSlugByValue","EMPTY_OBJECT","__experimentalUseGradient","gradientAttribute","customGradientAttribute","clientId","gradientsPerOrigin","allGradients","custom","theme","default","customGradient","select","getBlockAttributes","attributes","updateBlockAttributes","setGradient","newGradientValue","gradientClass","gradientValue"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditContext } from '../block-edit';\nimport useSetting from '../use-setting';\nimport { store as blockEditorStore } from '../../store';\n\nexport function __experimentalGetGradientClass( gradientSlug ) {\n\tif ( ! gradientSlug ) {\n\t\treturn undefined;\n\t}\n\treturn `has-${ gradientSlug }-gradient-background`;\n}\n\n/**\n * Retrieves the gradient value per slug.\n *\n * @param {Array} gradients Gradient Palette\n * @param {string} slug Gradient slug\n *\n * @return {string} Gradient value.\n */\nexport function getGradientValueBySlug( gradients, slug ) {\n\tconst gradient = find( gradients, [ 'slug', slug ] );\n\treturn gradient && gradient.gradient;\n}\n\nexport function __experimentalGetGradientObjectByGradientValue(\n\tgradients,\n\tvalue\n) {\n\tconst gradient = find( gradients, [ 'gradient', value ] );\n\treturn gradient;\n}\n\n/**\n * Retrieves the gradient slug per slug.\n *\n * @param {Array} gradients Gradient Palette\n * @param {string} value Gradient value\n * @return {string} Gradient slug.\n */\nexport function getGradientSlugByValue( gradients, value ) {\n\tconst gradient = __experimentalGetGradientObjectByGradientValue(\n\t\tgradients,\n\t\tvalue\n\t);\n\treturn gradient && gradient.slug;\n}\n\nconst EMPTY_OBJECT = {};\n\nexport function __experimentalUseGradient( {\n\tgradientAttribute = 'gradient',\n\tcustomGradientAttribute = 'customGradient',\n} = {} ) {\n\tconst { clientId } = useBlockEditContext();\n\n\tconst gradientsPerOrigin = useSetting( 'color.gradients' ) || EMPTY_OBJECT;\n\tconst allGradients = useMemo(\n\t\t() => [\n\t\t\t...( gradientsPerOrigin?.custom || [] ),\n\t\t\t...( gradientsPerOrigin?.theme || [] ),\n\t\t\t...( gradientsPerOrigin?.default || [] ),\n\t\t],\n\t\t[ gradientsPerOrigin ]\n\t);\n\tconst { gradient, customGradient } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes } = select( blockEditorStore );\n\t\t\tconst attributes = getBlockAttributes( clientId ) || {};\n\t\t\treturn {\n\t\t\t\tcustomGradient: attributes[ customGradientAttribute ],\n\t\t\t\tgradient: attributes[ gradientAttribute ],\n\t\t\t};\n\t\t},\n\t\t[ clientId, gradientAttribute, customGradientAttribute ]\n\t);\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst setGradient = useCallback(\n\t\t( newGradientValue ) => {\n\t\t\tconst slug = getGradientSlugByValue(\n\t\t\t\tallGradients,\n\t\t\t\tnewGradientValue\n\t\t\t);\n\t\t\tif ( slug ) {\n\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\t[ gradientAttribute ]: slug,\n\t\t\t\t\t[ customGradientAttribute ]: undefined,\n\t\t\t\t} );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t[ gradientAttribute ]: undefined,\n\t\t\t\t[ customGradientAttribute ]: newGradientValue,\n\t\t\t} );\n\t\t},\n\t\t[ allGradients, clientId, updateBlockAttributes ]\n\t);\n\n\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\tlet gradientValue;\n\tif ( gradient ) {\n\t\tgradientValue = getGradientValueBySlug( allGradients, gradient );\n\t} else {\n\t\tgradientValue = customGradient;\n\t}\n\treturn { gradientClass, gradientValue, setGradient };\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/gradients/use-gradient.js"],"names":["find","useCallback","useMemo","useSelect","useDispatch","useBlockEditContext","useSetting","store","blockEditorStore","__experimentalGetGradientClass","gradientSlug","undefined","getGradientValueBySlug","gradients","slug","gradient","__experimentalGetGradientObjectByGradientValue","value","getGradientSlugByValue","__experimentalUseGradient","gradientAttribute","customGradientAttribute","clientId","userGradientPalette","themeGradientPalette","defaultGradientPalette","allGradients","customGradient","select","getBlockAttributes","attributes","updateBlockAttributes","setGradient","newGradientValue","gradientClass","gradientValue"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditContext } from '../block-edit';\nimport useSetting from '../use-setting';\nimport { store as blockEditorStore } from '../../store';\n\nexport function __experimentalGetGradientClass( gradientSlug ) {\n\tif ( ! gradientSlug ) {\n\t\treturn undefined;\n\t}\n\treturn `has-${ gradientSlug }-gradient-background`;\n}\n\n/**\n * Retrieves the gradient value per slug.\n *\n * @param {Array} gradients Gradient Palette\n * @param {string} slug Gradient slug\n *\n * @return {string} Gradient value.\n */\nexport function getGradientValueBySlug( gradients, slug ) {\n\tconst gradient = find( gradients, [ 'slug', slug ] );\n\treturn gradient && gradient.gradient;\n}\n\nexport function __experimentalGetGradientObjectByGradientValue(\n\tgradients,\n\tvalue\n) {\n\tconst gradient = find( gradients, [ 'gradient', value ] );\n\treturn gradient;\n}\n\n/**\n * Retrieves the gradient slug per slug.\n *\n * @param {Array} gradients Gradient Palette\n * @param {string} value Gradient value\n * @return {string} Gradient slug.\n */\nexport function getGradientSlugByValue( gradients, value ) {\n\tconst gradient = __experimentalGetGradientObjectByGradientValue(\n\t\tgradients,\n\t\tvalue\n\t);\n\treturn gradient && gradient.slug;\n}\n\nexport function __experimentalUseGradient( {\n\tgradientAttribute = 'gradient',\n\tcustomGradientAttribute = 'customGradient',\n} = {} ) {\n\tconst { clientId } = useBlockEditContext();\n\n\tconst userGradientPalette = useSetting( 'color.gradients.custom' );\n\tconst themeGradientPalette = useSetting( 'color.gradients.theme' );\n\tconst defaultGradientPalette = useSetting( 'color.gradients.default' );\n\tconst allGradients = useMemo(\n\t\t() => [\n\t\t\t...( userGradientPalette || [] ),\n\t\t\t...( themeGradientPalette || [] ),\n\t\t\t...( defaultGradientPalette || [] ),\n\t\t],\n\t\t[ userGradientPalette, themeGradientPalette, defaultGradientPalette ]\n\t);\n\tconst { gradient, customGradient } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes } = select( blockEditorStore );\n\t\t\tconst attributes = getBlockAttributes( clientId ) || {};\n\t\t\treturn {\n\t\t\t\tcustomGradient: attributes[ customGradientAttribute ],\n\t\t\t\tgradient: attributes[ gradientAttribute ],\n\t\t\t};\n\t\t},\n\t\t[ clientId, gradientAttribute, customGradientAttribute ]\n\t);\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst setGradient = useCallback(\n\t\t( newGradientValue ) => {\n\t\t\tconst slug = getGradientSlugByValue(\n\t\t\t\tallGradients,\n\t\t\t\tnewGradientValue\n\t\t\t);\n\t\t\tif ( slug ) {\n\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\t[ gradientAttribute ]: slug,\n\t\t\t\t\t[ customGradientAttribute ]: undefined,\n\t\t\t\t} );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t[ gradientAttribute ]: undefined,\n\t\t\t\t[ customGradientAttribute ]: newGradientValue,\n\t\t\t} );\n\t\t},\n\t\t[ allGradients, clientId, updateBlockAttributes ]\n\t);\n\n\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\tlet gradientValue;\n\tif ( gradient ) {\n\t\tgradientValue = getGradientValueBySlug( allGradients, gradient );\n\t} else {\n\t\tgradientValue = customGradient;\n\t}\n\treturn { gradientClass, gradientValue, setGradient };\n}\n"]}
@@ -75,7 +75,7 @@ export { default as BlockList } from './block-list';
75
75
  export { useBlockProps } from './block-list/use-block-props';
76
76
  export { LayoutStyle as __experimentalLayoutStyle } from './block-list/layout';
77
77
  export { default as BlockMover } from './block-mover';
78
- export { default as BlockPreview } from './block-preview';
78
+ export { default as BlockPreview, useBlockPreview as __experimentalUseBlockPreview } from './block-preview';
79
79
  export { default as BlockSelectionClearer, useBlockSelectionClearer as __unstableUseBlockSelectionClearer } from './block-selection-clearer';
80
80
  export { default as BlockSettingsMenu } from './block-settings-menu';
81
81
  export { default as BlockSettingsMenuControls } from './block-settings-menu-controls';
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":["AlignmentControl","AlignmentToolbar","default","Autocomplete","BlockAlignmentControl","BlockAlignmentToolbar","__experimentalBlockFullHeightAligmentControl","__experimentalBlockAlignmentMatrixControl","BlockBreadcrumb","__experimentalBlockContentOverlay","BlockContextProvider","BlockControls","BlockFormatControls","BlockColorsStyleSelector","BlockEdit","useBlockEditContext","BlockIcon","BlockNavigationDropdown","__experimentalBlockVariationPicker","__experimentalBlockPatternSetup","__experimentalBlockVariationTransforms","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","__experimentalBorderRadiusControl","__experimentalBorderStyleControl","ButtonBlockerAppender","ButtonBlockAppender","ColorPalette","ColorPaletteControl","ContrastChecker","__experimentalDuotoneControl","__experimentalFontAppearanceControl","__experimentalFontFamilyControl","__experimentalLetterSpacingControl","__experimentalTextDecorationControl","__experimentalTextTransformControl","__experimentalColorGradientControl","__experimentalPanelColorGradientSettings","__experimentalImageEditor","ImageEditingProvider","__experimentalImageEditingProvider","__experimentalImageSizeControl","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","__experimentalLinkControl","__experimentalLinkControlSearchInput","__experimentalLinkControlSearchResults","__experimentalLinkControlSearchItem","LineHeightControl","__experimentalListView","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MediaUploadCheck","PanelColorSettings","PlainText","__experimentalResponsiveBlockControl","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","ToolSelector","__experimentalUnitControl","URLInput","URLInputButton","URLPopover","__experimentalImageURLInputUI","withColorContext","__unstableBlockSettingsMenuFirstItem","__unstableInserterMenuExtension","__experimentalPreviewOptions","__experimentalUseResizeCanvas","BlockInspector","BlockList","useBlockProps","LayoutStyle","__experimentalLayoutStyle","BlockMover","BlockPreview","BlockSelectionClearer","useBlockSelectionClearer","__unstableUseBlockSelectionClearer","BlockSettingsMenu","BlockSettingsMenuControls","BlockTitle","BlockToolbar","BlockTools","CopyHandler","useClipboardHandler","__unstableUseClipboardHandler","DefaultBlockAppender","__unstableEditorStyles","Inserter","__experimentalLibrary","BlockEditorKeyboardShortcuts","MultiSelectScrollIntoView","NavigableToolbar","ObserveTyping","useTypingObserver","__unstableUseTypingObserver","useMouseMoveTypingReset","__unstableUseMouseMoveTypingReset","PreserveScrollInReorder","SkipToSelectedBlock","Typewriter","useTypewriter","__unstableUseTypewriter","Warning","WritingFlow","useCanvasClickRedirect","__unstableUseCanvasClickRedirect","useBlockDisplayInformation","__unstableIframe","__experimentalUseNoRecursiveRenders","BlockEditorProvider","useSetting"],"mappings":"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","sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalBlockContentOverlay } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport { default as __experimentalBorderStyleControl } from './border-style-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport {\n\tdefault as __experimentalImageEditor,\n\tImageEditingProvider as __experimentalImageEditingProvider,\n} from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as ToolSelector } from './tool-selector';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\n\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { LayoutStyle as __experimentalLayoutStyle } from './block-list/layout';\nexport { default as BlockMover } from './block-mover';\nexport { default as BlockPreview } from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\tuseClipboardHandler as __unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as PreserveScrollInReorder } from './preserve-scroll-in-reorder';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { useCanvasClickRedirect as __unstableUseCanvasClickRedirect } from './use-canvas-click-redirect';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport { default as __experimentalUseNoRecursiveRenders } from './use-no-recursive-renders';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":["AlignmentControl","AlignmentToolbar","default","Autocomplete","BlockAlignmentControl","BlockAlignmentToolbar","__experimentalBlockFullHeightAligmentControl","__experimentalBlockAlignmentMatrixControl","BlockBreadcrumb","__experimentalBlockContentOverlay","BlockContextProvider","BlockControls","BlockFormatControls","BlockColorsStyleSelector","BlockEdit","useBlockEditContext","BlockIcon","BlockNavigationDropdown","__experimentalBlockVariationPicker","__experimentalBlockPatternSetup","__experimentalBlockVariationTransforms","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","__experimentalBorderRadiusControl","__experimentalBorderStyleControl","ButtonBlockerAppender","ButtonBlockAppender","ColorPalette","ColorPaletteControl","ContrastChecker","__experimentalDuotoneControl","__experimentalFontAppearanceControl","__experimentalFontFamilyControl","__experimentalLetterSpacingControl","__experimentalTextDecorationControl","__experimentalTextTransformControl","__experimentalColorGradientControl","__experimentalPanelColorGradientSettings","__experimentalImageEditor","ImageEditingProvider","__experimentalImageEditingProvider","__experimentalImageSizeControl","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","__experimentalLinkControl","__experimentalLinkControlSearchInput","__experimentalLinkControlSearchResults","__experimentalLinkControlSearchItem","LineHeightControl","__experimentalListView","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MediaUploadCheck","PanelColorSettings","PlainText","__experimentalResponsiveBlockControl","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","ToolSelector","__experimentalUnitControl","URLInput","URLInputButton","URLPopover","__experimentalImageURLInputUI","withColorContext","__unstableBlockSettingsMenuFirstItem","__unstableInserterMenuExtension","__experimentalPreviewOptions","__experimentalUseResizeCanvas","BlockInspector","BlockList","useBlockProps","LayoutStyle","__experimentalLayoutStyle","BlockMover","BlockPreview","useBlockPreview","__experimentalUseBlockPreview","BlockSelectionClearer","useBlockSelectionClearer","__unstableUseBlockSelectionClearer","BlockSettingsMenu","BlockSettingsMenuControls","BlockTitle","BlockToolbar","BlockTools","CopyHandler","useClipboardHandler","__unstableUseClipboardHandler","DefaultBlockAppender","__unstableEditorStyles","Inserter","__experimentalLibrary","BlockEditorKeyboardShortcuts","MultiSelectScrollIntoView","NavigableToolbar","ObserveTyping","useTypingObserver","__unstableUseTypingObserver","useMouseMoveTypingReset","__unstableUseMouseMoveTypingReset","PreserveScrollInReorder","SkipToSelectedBlock","Typewriter","useTypewriter","__unstableUseTypewriter","Warning","WritingFlow","useCanvasClickRedirect","__unstableUseCanvasClickRedirect","useBlockDisplayInformation","__unstableIframe","__experimentalUseNoRecursiveRenders","BlockEditorProvider","useSetting"],"mappings":"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","sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalBlockContentOverlay } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport { default as __experimentalBorderStyleControl } from './border-style-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport {\n\tdefault as __experimentalImageEditor,\n\tImageEditingProvider as __experimentalImageEditingProvider,\n} from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as ToolSelector } from './tool-selector';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\n\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { LayoutStyle as __experimentalLayoutStyle } from './block-list/layout';\nexport { default as BlockMover } from './block-mover';\nexport {\n\tdefault as BlockPreview,\n\tuseBlockPreview as __experimentalUseBlockPreview,\n} from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\tuseClipboardHandler as __unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as PreserveScrollInReorder } from './preserve-scroll-in-reorder';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { useCanvasClickRedirect as __unstableUseCanvasClickRedirect } from './use-canvas-click-redirect';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport { default as __experimentalUseNoRecursiveRenders } from './use-no-recursive-renders';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\n"]}
@@ -69,10 +69,10 @@ function useInsertionPoint(_ref) {
69
69
  _destinationIndex = insertionIndex;
70
70
  } else if (clientId) {
71
71
  // Insert after a specific client ID.
72
- _destinationIndex = getBlockIndex(clientId, _destinationRootClientId);
72
+ _destinationIndex = getBlockIndex(clientId);
73
73
  } else if (!isAppender && selectedBlockClientId) {
74
74
  _destinationRootClientId = getBlockRootClientId(selectedBlockClientId);
75
- _destinationIndex = getBlockIndex(selectedBlockClientId, _destinationRootClientId) + 1;
75
+ _destinationIndex = getBlockIndex(selectedBlockClientId) + 1;
76
76
  } else {
77
77
  // Insert at the end of the list.
78
78
  _destinationIndex = getBlockOrder(_destinationRootClientId).length;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-insertion-point.js"],"names":["castArray","useDispatch","useSelect","isUnmodifiedDefaultBlock","_n","sprintf","speak","useCallback","store","blockEditorStore","useInsertionPoint","rootClientId","insertionIndex","clientId","isAppender","onSelect","shouldFocusBlock","getSelectedBlock","destinationRootClientId","destinationIndex","select","getSelectedBlockClientId","getBlockRootClientId","getBlockIndex","getBlockOrder","selectedBlockClientId","_destinationRootClientId","_destinationIndex","undefined","length","replaceBlocks","insertBlocks","showInsertionPoint","hideInsertionPoint","onInsertBlocks","blocks","meta","shouldForceFocusBlock","selectedBlock","message","onToggleInsertionPoint","show"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { castArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport { _n, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * @typedef WPInserterConfig\n *\n * @property {string=} rootClientId If set, insertion will be into the\n * block with this ID.\n * @property {number=} insertionIndex If set, insertion will be into this\n * explicit position.\n * @property {string=} clientId If set, insertion will be after the\n * block with this ID.\n * @property {boolean=} isAppender Whether the inserter is an appender\n * or not.\n * @property {Function=} onSelect Called after insertion.\n */\n\n/**\n * Returns the insertion point state given the inserter config.\n *\n * @param {WPInserterConfig} config Inserter Config.\n * @return {Array} Insertion Point State (rootClientID, onInsertBlocks and onToggle).\n */\nfunction useInsertionPoint( {\n\trootClientId = '',\n\tinsertionIndex,\n\tclientId,\n\tisAppender,\n\tonSelect,\n\tshouldFocusBlock = true,\n} ) {\n\tconst { getSelectedBlock } = useSelect( blockEditorStore );\n\tconst { destinationRootClientId, destinationIndex } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tlet _destinationRootClientId = rootClientId;\n\t\t\tlet _destinationIndex;\n\n\t\t\tif ( insertionIndex !== undefined ) {\n\t\t\t\t// Insert into a specific index.\n\t\t\t\t_destinationIndex = insertionIndex;\n\t\t\t} else if ( clientId ) {\n\t\t\t\t// Insert after a specific client ID.\n\t\t\t\t_destinationIndex = getBlockIndex(\n\t\t\t\t\tclientId,\n\t\t\t\t\t_destinationRootClientId\n\t\t\t\t);\n\t\t\t} else if ( ! isAppender && selectedBlockClientId ) {\n\t\t\t\t_destinationRootClientId = getBlockRootClientId(\n\t\t\t\t\tselectedBlockClientId\n\t\t\t\t);\n\t\t\t\t_destinationIndex =\n\t\t\t\t\tgetBlockIndex(\n\t\t\t\t\t\tselectedBlockClientId,\n\t\t\t\t\t\t_destinationRootClientId\n\t\t\t\t\t) + 1;\n\t\t\t} else {\n\t\t\t\t// Insert at the end of the list.\n\t\t\t\t_destinationIndex = getBlockOrder( _destinationRootClientId )\n\t\t\t\t\t.length;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tdestinationRootClientId: _destinationRootClientId,\n\t\t\t\tdestinationIndex: _destinationIndex,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, insertionIndex, clientId, isAppender ]\n\t);\n\n\tconst {\n\t\treplaceBlocks,\n\t\tinsertBlocks,\n\t\tshowInsertionPoint,\n\t\thideInsertionPoint,\n\t} = useDispatch( blockEditorStore );\n\n\tconst onInsertBlocks = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock = false ) => {\n\t\t\tconst selectedBlock = getSelectedBlock();\n\n\t\t\tif (\n\t\t\t\t! isAppender &&\n\t\t\t\tselectedBlock &&\n\t\t\t\tisUnmodifiedDefaultBlock( selectedBlock )\n\t\t\t) {\n\t\t\t\treplaceBlocks(\n\t\t\t\t\tselectedBlock.clientId,\n\t\t\t\t\tblocks,\n\t\t\t\t\tnull,\n\t\t\t\t\tshouldFocusBlock || shouldForceFocusBlock ? 0 : null,\n\t\t\t\t\tmeta\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tinsertBlocks(\n\t\t\t\t\tblocks,\n\t\t\t\t\tdestinationIndex,\n\t\t\t\t\tdestinationRootClientId,\n\t\t\t\t\ttrue,\n\t\t\t\t\tshouldFocusBlock || shouldForceFocusBlock ? 0 : null,\n\t\t\t\t\tmeta\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst message = sprintf(\n\t\t\t\t// translators: %d: the name of the block that has been added\n\t\t\t\t_n(\n\t\t\t\t\t'%d block added.',\n\t\t\t\t\t'%d blocks added.',\n\t\t\t\t\tcastArray( blocks ).length\n\t\t\t\t),\n\t\t\t\tcastArray( blocks ).length\n\t\t\t);\n\t\t\tspeak( message );\n\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect();\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tisAppender,\n\t\t\tgetSelectedBlock,\n\t\t\treplaceBlocks,\n\t\t\tinsertBlocks,\n\t\t\tdestinationRootClientId,\n\t\t\tdestinationIndex,\n\t\t\tonSelect,\n\t\t\tshouldFocusBlock,\n\t\t]\n\t);\n\n\tconst onToggleInsertionPoint = useCallback(\n\t\t( show ) => {\n\t\t\tif ( show ) {\n\t\t\t\tshowInsertionPoint( destinationRootClientId, destinationIndex );\n\t\t\t} else {\n\t\t\t\thideInsertionPoint();\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t\tdestinationRootClientId,\n\t\t\tdestinationIndex,\n\t\t]\n\t);\n\n\treturn [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ];\n}\n\nexport default useInsertionPoint;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-insertion-point.js"],"names":["castArray","useDispatch","useSelect","isUnmodifiedDefaultBlock","_n","sprintf","speak","useCallback","store","blockEditorStore","useInsertionPoint","rootClientId","insertionIndex","clientId","isAppender","onSelect","shouldFocusBlock","getSelectedBlock","destinationRootClientId","destinationIndex","select","getSelectedBlockClientId","getBlockRootClientId","getBlockIndex","getBlockOrder","selectedBlockClientId","_destinationRootClientId","_destinationIndex","undefined","length","replaceBlocks","insertBlocks","showInsertionPoint","hideInsertionPoint","onInsertBlocks","blocks","meta","shouldForceFocusBlock","selectedBlock","message","onToggleInsertionPoint","show"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { castArray } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport { _n, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\n/**\n * @typedef WPInserterConfig\n *\n * @property {string=} rootClientId If set, insertion will be into the\n * block with this ID.\n * @property {number=} insertionIndex If set, insertion will be into this\n * explicit position.\n * @property {string=} clientId If set, insertion will be after the\n * block with this ID.\n * @property {boolean=} isAppender Whether the inserter is an appender\n * or not.\n * @property {Function=} onSelect Called after insertion.\n */\n\n/**\n * Returns the insertion point state given the inserter config.\n *\n * @param {WPInserterConfig} config Inserter Config.\n * @return {Array} Insertion Point State (rootClientID, onInsertBlocks and onToggle).\n */\nfunction useInsertionPoint( {\n\trootClientId = '',\n\tinsertionIndex,\n\tclientId,\n\tisAppender,\n\tonSelect,\n\tshouldFocusBlock = true,\n} ) {\n\tconst { getSelectedBlock } = useSelect( blockEditorStore );\n\tconst { destinationRootClientId, destinationIndex } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\tlet _destinationRootClientId = rootClientId;\n\t\t\tlet _destinationIndex;\n\n\t\t\tif ( insertionIndex !== undefined ) {\n\t\t\t\t// Insert into a specific index.\n\t\t\t\t_destinationIndex = insertionIndex;\n\t\t\t} else if ( clientId ) {\n\t\t\t\t// Insert after a specific client ID.\n\t\t\t\t_destinationIndex = getBlockIndex( clientId );\n\t\t\t} else if ( ! isAppender && selectedBlockClientId ) {\n\t\t\t\t_destinationRootClientId = getBlockRootClientId(\n\t\t\t\t\tselectedBlockClientId\n\t\t\t\t);\n\t\t\t\t_destinationIndex = getBlockIndex( selectedBlockClientId ) + 1;\n\t\t\t} else {\n\t\t\t\t// Insert at the end of the list.\n\t\t\t\t_destinationIndex = getBlockOrder( _destinationRootClientId )\n\t\t\t\t\t.length;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tdestinationRootClientId: _destinationRootClientId,\n\t\t\t\tdestinationIndex: _destinationIndex,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId, insertionIndex, clientId, isAppender ]\n\t);\n\n\tconst {\n\t\treplaceBlocks,\n\t\tinsertBlocks,\n\t\tshowInsertionPoint,\n\t\thideInsertionPoint,\n\t} = useDispatch( blockEditorStore );\n\n\tconst onInsertBlocks = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock = false ) => {\n\t\t\tconst selectedBlock = getSelectedBlock();\n\n\t\t\tif (\n\t\t\t\t! isAppender &&\n\t\t\t\tselectedBlock &&\n\t\t\t\tisUnmodifiedDefaultBlock( selectedBlock )\n\t\t\t) {\n\t\t\t\treplaceBlocks(\n\t\t\t\t\tselectedBlock.clientId,\n\t\t\t\t\tblocks,\n\t\t\t\t\tnull,\n\t\t\t\t\tshouldFocusBlock || shouldForceFocusBlock ? 0 : null,\n\t\t\t\t\tmeta\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tinsertBlocks(\n\t\t\t\t\tblocks,\n\t\t\t\t\tdestinationIndex,\n\t\t\t\t\tdestinationRootClientId,\n\t\t\t\t\ttrue,\n\t\t\t\t\tshouldFocusBlock || shouldForceFocusBlock ? 0 : null,\n\t\t\t\t\tmeta\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst message = sprintf(\n\t\t\t\t// translators: %d: the name of the block that has been added\n\t\t\t\t_n(\n\t\t\t\t\t'%d block added.',\n\t\t\t\t\t'%d blocks added.',\n\t\t\t\t\tcastArray( blocks ).length\n\t\t\t\t),\n\t\t\t\tcastArray( blocks ).length\n\t\t\t);\n\t\t\tspeak( message );\n\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect();\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tisAppender,\n\t\t\tgetSelectedBlock,\n\t\t\treplaceBlocks,\n\t\t\tinsertBlocks,\n\t\t\tdestinationRootClientId,\n\t\t\tdestinationIndex,\n\t\t\tonSelect,\n\t\t\tshouldFocusBlock,\n\t\t]\n\t);\n\n\tconst onToggleInsertionPoint = useCallback(\n\t\t( show ) => {\n\t\t\tif ( show ) {\n\t\t\t\tshowInsertionPoint( destinationRootClientId, destinationIndex );\n\t\t\t} else {\n\t\t\t\thideInsertionPoint();\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t\tdestinationRootClientId,\n\t\t\tdestinationIndex,\n\t\t]\n\t);\n\n\treturn [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ];\n}\n\nexport default useInsertionPoint;\n"]}
@@ -268,14 +268,14 @@ export default compose([withSelect((select, _ref4) => {
268
268
  } = select(blockEditorStore); // If the clientId is defined, we insert at the position of the block.
269
269
 
270
270
  if (clientId) {
271
- return getBlockIndex(clientId, rootClientId);
271
+ return getBlockIndex(clientId);
272
272
  } // If there a selected block, we insert after the selected block.
273
273
 
274
274
 
275
275
  const end = getBlockSelectionEnd();
276
276
 
277
277
  if (!isAppender && end && getBlockRootClientId(end) === rootClientId) {
278
- return getBlockIndex(end, rootClientId) + 1;
278
+ return getBlockIndex(end) + 1;
279
279
  } // Otherwise, we insert at the end of the current rootClientId
280
280
 
281
281
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/index.js"],"names":["size","classnames","speak","__","_x","sprintf","Dropdown","Button","Component","withDispatch","withSelect","compose","ifCondition","createBlock","store","blocksStore","plus","InserterMenu","QuickInserter","blockEditorStore","defaultRenderToggle","onToggle","disabled","isOpen","blockTitle","hasSingleBlockType","toggleProps","label","onClick","rest","handleClick","event","Inserter","constructor","arguments","bind","renderToggle","renderContent","props","directInsertBlock","hasItems","onClose","rootClientId","clientId","isAppender","showInserterHelpPanel","__experimentalIsQuick","isQuick","render","position","insertOnlyAllowedBlock","onSelectOrClose","length","select","getBlockRootClientId","hasInserterItems","__experimentalGetAllowedBlocks","__experimentalGetDirectInsertBlock","getBlockVariations","undefined","allowedBlocks","name","allowedBlockType","title","dispatch","ownProps","getInsertionIndex","getBlockIndex","getBlockSelectionEnd","getBlockOrder","end","insertBlock","blockToInsert","message"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { size } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { Dropdown, Button } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport QuickInserter from './quick-inserter';\nimport { store as blockEditorStore } from '../../store';\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\tisOpen,\n\tblockTitle,\n\thasSingleBlockType,\n\ttoggleProps = {},\n} ) => {\n\tlet label;\n\tif ( hasSingleBlockType ) {\n\t\tlabel = sprintf(\n\t\t\t// translators: %s: the name of the block when there is only one\n\t\t\t_x( 'Add %s', 'directly add the only allowed block' ),\n\t\t\tblockTitle\n\t\t);\n\t} else {\n\t\tlabel = _x( 'Add block', 'Generic label for block inserter button' );\n\t}\n\n\tconst { onClick, ...rest } = toggleProps;\n\n\t// Handle both onClick functions from the toggle and the parent component\n\tfunction handleClick( event ) {\n\t\tif ( onToggle ) {\n\t\t\tonToggle( event );\n\t\t}\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ticon={ plus }\n\t\t\tlabel={ label }\n\t\t\ttooltipPosition=\"bottom\"\n\t\t\tonClick={ handleClick }\n\t\t\tclassName=\"block-editor-inserter__toggle\"\n\t\t\taria-haspopup={ ! hasSingleBlockType ? 'true' : false }\n\t\t\taria-expanded={ ! hasSingleBlockType ? isOpen : false }\n\t\t\tdisabled={ disabled }\n\t\t\t{ ...rest }\n\t\t/>\n\t);\n};\n\nclass Inserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderToggle = this.renderToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { onToggle } = this.props;\n\n\t\t// Surface toggle callback to parent component\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown toggle element.\n\t */\n\trenderToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\thasItems,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t} = this.props;\n\n\t\treturn renderToggle( {\n\t\t\tonToggle,\n\t\t\tisOpen,\n\t\t\tdisabled: disabled || ! hasItems,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t *\n\t * @return {WPElement} Dropdown content element.\n\t */\n\trenderContent( { onClose } ) {\n\t\tconst {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tshowInserterHelpPanel,\n\n\t\t\t// This prop is experimental to give some time for the quick inserter to mature\n\t\t\t// Feel free to make them stable after a few releases.\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t} = this.props;\n\n\t\tif ( isQuick ) {\n\t\t\treturn (\n\t\t\t\t<QuickInserter\n\t\t\t\t\tonSelect={ () => {\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tonSelect={ () => {\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tposition,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\tinsertOnlyAllowedBlock,\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tonSelectOrClose,\n\t\t} = this.props;\n\n\t\tif ( hasSingleBlockType || directInsertBlock?.length ) {\n\t\t\treturn this.renderToggle( { onToggle: insertOnlyAllowedBlock } );\n\t\t}\n\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"block-editor-inserter\"\n\t\t\t\tcontentClassName={ classnames(\n\t\t\t\t\t'block-editor-inserter__popover',\n\t\t\t\t\t{ 'is-quick': isQuick }\n\t\t\t\t) }\n\t\t\t\tposition={ position }\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\texpandOnMobile\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t\tonClose={ onSelectOrClose }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\thasInserterItems,\n\t\t\t__experimentalGetAllowedBlocks,\n\t\t\t__experimentalGetDirectInsertBlock,\n\t\t} = select( blockEditorStore );\n\t\tconst { getBlockVariations } = select( blocksStore );\n\n\t\trootClientId =\n\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined;\n\n\t\tconst allowedBlocks = __experimentalGetAllowedBlocks( rootClientId );\n\n\t\tconst directInsertBlock = __experimentalGetDirectInsertBlock(\n\t\t\trootClientId\n\t\t);\n\n\t\tconst hasSingleBlockType =\n\t\t\tsize( allowedBlocks ) === 1 &&\n\t\t\tsize(\n\t\t\t\tgetBlockVariations( allowedBlocks[ 0 ].name, 'inserter' )\n\t\t\t) === 0;\n\n\t\tlet allowedBlockType = false;\n\t\tif ( hasSingleBlockType ) {\n\t\t\tallowedBlockType = allowedBlocks[ 0 ];\n\t\t}\n\n\t\treturn {\n\t\t\thasItems: hasInserterItems( rootClientId ),\n\t\t\thasSingleBlockType,\n\t\t\tblockTitle: allowedBlockType ? allowedBlockType.title : '',\n\t\t\tallowedBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\trootClientId,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\treturn {\n\t\t\tinsertOnlyAllowedBlock() {\n\t\t\t\tconst {\n\t\t\t\t\trootClientId,\n\t\t\t\t\tclientId,\n\t\t\t\t\tisAppender,\n\t\t\t\t\thasSingleBlockType,\n\t\t\t\t\tallowedBlockType,\n\t\t\t\t\tdirectInsertBlock,\n\t\t\t\t\tonSelectOrClose,\n\t\t\t\t} = ownProps;\n\n\t\t\t\tif ( ! hasSingleBlockType && ! directInsertBlock?.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction getInsertionIndex() {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\t\tgetBlockSelectionEnd,\n\t\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\t\t\tif ( clientId ) {\n\t\t\t\t\t\treturn getBlockIndex( clientId, rootClientId );\n\t\t\t\t\t}\n\n\t\t\t\t\t// If there a selected block, we insert after the selected block.\n\t\t\t\t\tconst end = getBlockSelectionEnd();\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isAppender &&\n\t\t\t\t\t\tend &&\n\t\t\t\t\t\tgetBlockRootClientId( end ) === rootClientId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn getBlockIndex( end, rootClientId ) + 1;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Otherwise, we insert at the end of the current rootClientId\n\t\t\t\t\treturn getBlockOrder( rootClientId ).length;\n\t\t\t\t}\n\n\t\t\t\tconst { insertBlock } = dispatch( blockEditorStore );\n\n\t\t\t\tconst blockToInsert = directInsertBlock?.length\n\t\t\t\t\t? createBlock( ...directInsertBlock )\n\t\t\t\t\t: createBlock( allowedBlockType.name );\n\n\t\t\t\tinsertBlock( blockToInsert, getInsertionIndex(), rootClientId );\n\n\t\t\t\tif ( onSelectOrClose ) {\n\t\t\t\t\tonSelectOrClose();\n\t\t\t\t}\n\n\t\t\t\tconst message = sprintf(\n\t\t\t\t\t// translators: %s: the name of the block that has been added\n\t\t\t\t\t__( '%s block added' ),\n\t\t\t\t\tallowedBlockType.title\n\t\t\t\t);\n\t\t\t\tspeak( message );\n\t\t\t},\n\t\t};\n\t} ),\n\t// The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as\n\t// a way to detect the global Inserter.\n\tifCondition(\n\t\t( { hasItems, isAppender, rootClientId, clientId } ) =>\n\t\t\thasItems || ( ! isAppender && ! rootClientId && ! clientId )\n\t),\n] )( Inserter );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/index.js"],"names":["size","classnames","speak","__","_x","sprintf","Dropdown","Button","Component","withDispatch","withSelect","compose","ifCondition","createBlock","store","blocksStore","plus","InserterMenu","QuickInserter","blockEditorStore","defaultRenderToggle","onToggle","disabled","isOpen","blockTitle","hasSingleBlockType","toggleProps","label","onClick","rest","handleClick","event","Inserter","constructor","arguments","bind","renderToggle","renderContent","props","directInsertBlock","hasItems","onClose","rootClientId","clientId","isAppender","showInserterHelpPanel","__experimentalIsQuick","isQuick","render","position","insertOnlyAllowedBlock","onSelectOrClose","length","select","getBlockRootClientId","hasInserterItems","__experimentalGetAllowedBlocks","__experimentalGetDirectInsertBlock","getBlockVariations","undefined","allowedBlocks","name","allowedBlockType","title","dispatch","ownProps","getInsertionIndex","getBlockIndex","getBlockSelectionEnd","getBlockOrder","end","insertBlock","blockToInsert","message"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { size } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { Dropdown, Button } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { plus } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport InserterMenu from './menu';\nimport QuickInserter from './quick-inserter';\nimport { store as blockEditorStore } from '../../store';\n\nconst defaultRenderToggle = ( {\n\tonToggle,\n\tdisabled,\n\tisOpen,\n\tblockTitle,\n\thasSingleBlockType,\n\ttoggleProps = {},\n} ) => {\n\tlet label;\n\tif ( hasSingleBlockType ) {\n\t\tlabel = sprintf(\n\t\t\t// translators: %s: the name of the block when there is only one\n\t\t\t_x( 'Add %s', 'directly add the only allowed block' ),\n\t\t\tblockTitle\n\t\t);\n\t} else {\n\t\tlabel = _x( 'Add block', 'Generic label for block inserter button' );\n\t}\n\n\tconst { onClick, ...rest } = toggleProps;\n\n\t// Handle both onClick functions from the toggle and the parent component\n\tfunction handleClick( event ) {\n\t\tif ( onToggle ) {\n\t\t\tonToggle( event );\n\t\t}\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\ticon={ plus }\n\t\t\tlabel={ label }\n\t\t\ttooltipPosition=\"bottom\"\n\t\t\tonClick={ handleClick }\n\t\t\tclassName=\"block-editor-inserter__toggle\"\n\t\t\taria-haspopup={ ! hasSingleBlockType ? 'true' : false }\n\t\t\taria-expanded={ ! hasSingleBlockType ? isOpen : false }\n\t\t\tdisabled={ disabled }\n\t\t\t{ ...rest }\n\t\t/>\n\t);\n};\n\nclass Inserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderToggle = this.renderToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { onToggle } = this.props;\n\n\t\t// Surface toggle callback to parent component\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown toggle element.\n\t */\n\trenderToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t\thasItems,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t} = this.props;\n\n\t\treturn renderToggle( {\n\t\t\tonToggle,\n\t\t\tisOpen,\n\t\t\tdisabled: disabled || ! hasItems,\n\t\t\tblockTitle,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\ttoggleProps,\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t *\n\t * @return {WPElement} Dropdown content element.\n\t */\n\trenderContent( { onClose } ) {\n\t\tconst {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tshowInserterHelpPanel,\n\n\t\t\t// This prop is experimental to give some time for the quick inserter to mature\n\t\t\t// Feel free to make them stable after a few releases.\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t} = this.props;\n\n\t\tif ( isQuick ) {\n\t\t\treturn (\n\t\t\t\t<QuickInserter\n\t\t\t\t\tonSelect={ () => {\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tonSelect={ () => {\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshowInserterHelpPanel={ showInserterHelpPanel }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tposition,\n\t\t\thasSingleBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\tinsertOnlyAllowedBlock,\n\t\t\t__experimentalIsQuick: isQuick,\n\t\t\tonSelectOrClose,\n\t\t} = this.props;\n\n\t\tif ( hasSingleBlockType || directInsertBlock?.length ) {\n\t\t\treturn this.renderToggle( { onToggle: insertOnlyAllowedBlock } );\n\t\t}\n\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"block-editor-inserter\"\n\t\t\t\tcontentClassName={ classnames(\n\t\t\t\t\t'block-editor-inserter__popover',\n\t\t\t\t\t{ 'is-quick': isQuick }\n\t\t\t\t) }\n\t\t\t\tposition={ position }\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\texpandOnMobile\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t\tonClose={ onSelectOrClose }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\thasInserterItems,\n\t\t\t__experimentalGetAllowedBlocks,\n\t\t\t__experimentalGetDirectInsertBlock,\n\t\t} = select( blockEditorStore );\n\t\tconst { getBlockVariations } = select( blocksStore );\n\n\t\trootClientId =\n\t\t\trootClientId || getBlockRootClientId( clientId ) || undefined;\n\n\t\tconst allowedBlocks = __experimentalGetAllowedBlocks( rootClientId );\n\n\t\tconst directInsertBlock = __experimentalGetDirectInsertBlock(\n\t\t\trootClientId\n\t\t);\n\n\t\tconst hasSingleBlockType =\n\t\t\tsize( allowedBlocks ) === 1 &&\n\t\t\tsize(\n\t\t\t\tgetBlockVariations( allowedBlocks[ 0 ].name, 'inserter' )\n\t\t\t) === 0;\n\n\t\tlet allowedBlockType = false;\n\t\tif ( hasSingleBlockType ) {\n\t\t\tallowedBlockType = allowedBlocks[ 0 ];\n\t\t}\n\n\t\treturn {\n\t\t\thasItems: hasInserterItems( rootClientId ),\n\t\t\thasSingleBlockType,\n\t\t\tblockTitle: allowedBlockType ? allowedBlockType.title : '',\n\t\t\tallowedBlockType,\n\t\t\tdirectInsertBlock,\n\t\t\trootClientId,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps, { select } ) => {\n\t\treturn {\n\t\t\tinsertOnlyAllowedBlock() {\n\t\t\t\tconst {\n\t\t\t\t\trootClientId,\n\t\t\t\t\tclientId,\n\t\t\t\t\tisAppender,\n\t\t\t\t\thasSingleBlockType,\n\t\t\t\t\tallowedBlockType,\n\t\t\t\t\tdirectInsertBlock,\n\t\t\t\t\tonSelectOrClose,\n\t\t\t\t} = ownProps;\n\n\t\t\t\tif ( ! hasSingleBlockType && ! directInsertBlock?.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction getInsertionIndex() {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\t\tgetBlockSelectionEnd,\n\t\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\t} = select( blockEditorStore );\n\n\t\t\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\t\t\tif ( clientId ) {\n\t\t\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t\t\t}\n\n\t\t\t\t\t// If there a selected block, we insert after the selected block.\n\t\t\t\t\tconst end = getBlockSelectionEnd();\n\t\t\t\t\tif (\n\t\t\t\t\t\t! isAppender &&\n\t\t\t\t\t\tend &&\n\t\t\t\t\t\tgetBlockRootClientId( end ) === rootClientId\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn getBlockIndex( end ) + 1;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Otherwise, we insert at the end of the current rootClientId\n\t\t\t\t\treturn getBlockOrder( rootClientId ).length;\n\t\t\t\t}\n\n\t\t\t\tconst { insertBlock } = dispatch( blockEditorStore );\n\n\t\t\t\tconst blockToInsert = directInsertBlock?.length\n\t\t\t\t\t? createBlock( ...directInsertBlock )\n\t\t\t\t\t: createBlock( allowedBlockType.name );\n\n\t\t\t\tinsertBlock( blockToInsert, getInsertionIndex(), rootClientId );\n\n\t\t\t\tif ( onSelectOrClose ) {\n\t\t\t\t\tonSelectOrClose();\n\t\t\t\t}\n\n\t\t\t\tconst message = sprintf(\n\t\t\t\t\t// translators: %s: the name of the block that has been added\n\t\t\t\t\t__( '%s block added' ),\n\t\t\t\t\tallowedBlockType.title\n\t\t\t\t);\n\t\t\t\tspeak( message );\n\t\t\t},\n\t\t};\n\t} ),\n\t// The global inserter should always be visible, we are using ( ! isAppender && ! rootClientId && ! clientId ) as\n\t// a way to detect the global Inserter.\n\tifCondition(\n\t\t( { hasItems, isAppender, rootClientId, clientId } ) =>\n\t\t\thasItems || ( ! isAppender && ! rootClientId && ! clientId )\n\t),\n] )( Inserter );\n"]}
@@ -330,7 +330,7 @@ export default compose([withDispatch(dispatch => {
330
330
 
331
331
  const isAnyBlockSelected = !isAppender && end && getBlock(end);
332
332
  const destinationRootClientId = isAnyBlockSelected ? getBlockRootClientId(end) : rootClientId;
333
- const selectedBlockIndex = getBlockIndex(end, destinationRootClientId);
333
+ const selectedBlockIndex = getBlockIndex(end);
334
334
  const endOfRootIndex = getBlockOrder(rootClientId).length;
335
335
  const isSelectedUnmodifiedDefaultBlock = isAnyBlockSelected ? isUnmodifiedDefaultBlock(getBlock(end)) : undefined;
336
336
 
@@ -345,7 +345,7 @@ export default compose([withDispatch(dispatch => {
345
345
 
346
346
 
347
347
  if (clientId) {
348
- return getBlockIndex(clientId, rootClientId);
348
+ return getBlockIndex(clientId);
349
349
  } // If there is a selected block,
350
350
 
351
351
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/index.native.js"],"names":["AccessibilityInfo","Platform","delay","__","Dropdown","ToolbarButton","Picker","Component","withDispatch","withSelect","compose","withPreferredColorScheme","isUnmodifiedDefaultBlock","Icon","plusCircle","plusCircleFilled","insertAfter","insertBefore","setBlockTypeImpressions","styles","InserterMenu","BlockInsertionPoint","store","blockEditorStore","VOICE_OVER_ANNOUNCEMENT_DELAY","defaultRenderToggle","onToggle","disabled","style","onLongPress","color","hint","testID","Inserter","constructor","arguments","bind","renderInserterToggle","renderContent","getInsertionOptions","addBeforeOption","value","label","icon","replaceCurrentOption","addAfterOption","addToBeginningOption","addToEndOption","isAnyBlockSelected","isSelectedBlockReplaceable","props","getInsertionIndex","insertionType","insertionIndexDefault","insertionIndexStart","insertionIndexBefore","insertionIndexAfter","insertionIndexEnd","shouldReplaceBlock","isOpen","blockTypeImpressions","updateSettings","impressionsRemain","Object","values","some","count","decrementedImpressions","entries","reduce","acc","blockName","Math","max","impressions","onInserterToggledAnnouncement","isScreenReaderEnabled","done","isEnabled","isIOS","OS","announcement","announceForAccessibility","renderToggle","getStylesFromColorScheme","showSeparator","addBlockButton","addBlockButtonDark","onPress","setState","destinationRootClientId","insertionIndex","picker","presentPicker","onPickerSelect","instance","onClose","clientId","isAppender","state","render","dispatch","select","rootClientId","getBlockRootClientId","getBlockSelectionEnd","getBlockOrder","getBlockIndex","getBlock","getSettings","getBlockEditorSettings","end","selectedBlockIndex","endOfRootIndex","length","isSelectedUnmodifiedDefaultBlock","undefined","getDefaultInsertionIndex","__experimentalShouldInsertAtTheTop","shouldInsertAtTheTop"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, Platform } from 'react-native';\nimport { delay } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Dropdown, ToolbarButton, Picker } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport {\n\tIcon,\n\tplusCircle,\n\tplusCircleFilled,\n\tinsertAfter,\n\tinsertBefore,\n} from '@wordpress/icons';\nimport { setBlockTypeImpressions } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport InserterMenu from './menu';\nimport BlockInsertionPoint from '../block-list/insertion-point';\nimport { store as blockEditorStore } from '../../store';\n\nconst VOICE_OVER_ANNOUNCEMENT_DELAY = 1000;\n\nconst defaultRenderToggle = ( { onToggle, disabled, style, onLongPress } ) => (\n\t<ToolbarButton\n\t\ttitle={ __( 'Add block' ) }\n\t\ticon={\n\t\t\t<Icon\n\t\t\t\ticon={ plusCircleFilled }\n\t\t\t\tstyle={ style }\n\t\t\t\tcolor={ style.color }\n\t\t\t/>\n\t\t}\n\t\tonClick={ onToggle }\n\t\textraProps={ {\n\t\t\thint: __( 'Double tap to add a block' ),\n\t\t\t// testID is present to disambiguate this element for native UI tests. It's not\n\t\t\t// usually required for components. See: https://git.io/JeQ7G.\n\t\t\ttestID: 'add-block-button',\n\t\t\tonLongPress,\n\t\t} }\n\t\tisDisabled={ disabled }\n\t/>\n);\n\nexport class Inserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderInserterToggle = this.renderInserterToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tgetInsertionOptions() {\n\t\tconst addBeforeOption = {\n\t\t\tvalue: 'before',\n\t\t\tlabel: __( 'Add Block Before' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst replaceCurrentOption = {\n\t\t\tvalue: 'replace',\n\t\t\tlabel: __( 'Replace Current Block' ),\n\t\t\ticon: plusCircleFilled,\n\t\t};\n\n\t\tconst addAfterOption = {\n\t\t\tvalue: 'after',\n\t\t\tlabel: __( 'Add Block After' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst addToBeginningOption = {\n\t\t\tvalue: 'start',\n\t\t\tlabel: __( 'Add To Beginning' ),\n\t\t\ticon: insertBefore,\n\t\t};\n\n\t\tconst addToEndOption = {\n\t\t\tvalue: 'end',\n\t\t\tlabel: __( 'Add To End' ),\n\t\t\ticon: insertAfter,\n\t\t};\n\n\t\tconst { isAnyBlockSelected, isSelectedBlockReplaceable } = this.props;\n\t\tif ( isAnyBlockSelected ) {\n\t\t\tif ( isSelectedBlockReplaceable ) {\n\t\t\t\treturn [\n\t\t\t\t\taddToBeginningOption,\n\t\t\t\t\taddBeforeOption,\n\t\t\t\t\treplaceCurrentOption,\n\t\t\t\t\taddAfterOption,\n\t\t\t\t\taddToEndOption,\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [\n\t\t\t\taddToBeginningOption,\n\t\t\t\taddBeforeOption,\n\t\t\t\taddAfterOption,\n\t\t\t\taddToEndOption,\n\t\t\t];\n\t\t}\n\t\treturn [ addToBeginningOption, addToEndOption ];\n\t}\n\n\tgetInsertionIndex( insertionType ) {\n\t\tconst {\n\t\t\tinsertionIndexDefault,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexEnd,\n\t\t} = this.props;\n\t\tif ( insertionType === 'start' ) {\n\t\t\treturn insertionIndexStart;\n\t\t}\n\t\tif ( insertionType === 'before' || insertionType === 'replace' ) {\n\t\t\treturn insertionIndexBefore;\n\t\t}\n\t\tif ( insertionType === 'after' ) {\n\t\t\treturn insertionIndexAfter;\n\t\t}\n\t\tif ( insertionType === 'end' ) {\n\t\t\treturn insertionIndexEnd;\n\t\t}\n\t\treturn insertionIndexDefault;\n\t}\n\n\tshouldReplaceBlock( insertionType ) {\n\t\tconst { isSelectedBlockReplaceable } = this.props;\n\t\tif ( insertionType === 'replace' ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( insertionType === 'default' && isSelectedBlockReplaceable ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { blockTypeImpressions, onToggle, updateSettings } = this.props;\n\n\t\tif ( ! isOpen ) {\n\t\t\tconst impressionsRemain = Object.values(\n\t\t\t\tblockTypeImpressions\n\t\t\t).some( ( count ) => count > 0 );\n\n\t\t\tif ( impressionsRemain ) {\n\t\t\t\tconst decrementedImpressions = Object.entries(\n\t\t\t\t\tblockTypeImpressions\n\t\t\t\t).reduce(\n\t\t\t\t\t( acc, [ blockName, count ] ) => ( {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ blockName ]: Math.max( count - 1, 0 ),\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\t// Persist block type impression to JavaScript store\n\t\t\t\tupdateSettings( {\n\t\t\t\t\timpressions: decrementedImpressions,\n\t\t\t\t} );\n\n\t\t\t\t// Persist block type impression count to native app store\n\t\t\t\tsetBlockTypeImpressions( decrementedImpressions );\n\t\t\t}\n\t\t}\n\n\t\t// Surface toggle callback to parent component\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t\tthis.onInserterToggledAnnouncement( isOpen );\n\t}\n\n\tonInserterToggledAnnouncement( isOpen ) {\n\t\tAccessibilityInfo.isScreenReaderEnabled().done( ( isEnabled ) => {\n\t\t\tif ( isEnabled ) {\n\t\t\t\tconst isIOS = Platform.OS === 'ios';\n\t\t\t\tconst announcement = isOpen\n\t\t\t\t\t? __( 'Scrollable block menu opened. Select a block.' )\n\t\t\t\t\t: __( 'Scrollable block menu closed.' );\n\t\t\t\tdelay(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tAccessibilityInfo.announceForAccessibility(\n\t\t\t\t\t\t\tannouncement\n\t\t\t\t\t\t),\n\t\t\t\t\tisIOS ? VOICE_OVER_ANNOUNCEMENT_DELAY : 0\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown toggle element.\n\t */\n\trenderInserterToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tshowSeparator,\n\t\t} = this.props;\n\t\tif ( showSeparator && isOpen ) {\n\t\t\treturn <BlockInsertionPoint />;\n\t\t}\n\t\tconst style = getStylesFromColorScheme(\n\t\t\tstyles.addBlockButton,\n\t\t\tstyles.addBlockButtonDark\n\t\t);\n\n\t\tconst onPress = () => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock( 'default' ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( 'default' ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\tconst onLongPress = () => {\n\t\t\tif ( this.picker ) {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t};\n\n\t\tconst onPickerSelect = ( insertionType ) => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock(\n\t\t\t\t\t\tinsertionType\n\t\t\t\t\t),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( insertionType ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ renderToggle( {\n\t\t\t\t\tonToggle: onPress,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tdisabled,\n\t\t\t\t\tstyle,\n\t\t\t\t\tonLongPress,\n\t\t\t\t} ) }\n\t\t\t\t<Picker\n\t\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\t\toptions={ this.getInsertionOptions() }\n\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown content element.\n\t */\n\trenderContent( { onClose, isOpen } ) {\n\t\tconst { clientId, isAppender } = this.props;\n\t\tconst {\n\t\t\tdestinationRootClientId,\n\t\t\tshouldReplaceBlock,\n\t\t\tinsertionIndex,\n\t\t} = this.state;\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tisOpen={ isOpen }\n\t\t\t\tonSelect={ onClose }\n\t\t\t\tonDismiss={ onClose }\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshouldReplaceBlock={ shouldReplaceBlock }\n\t\t\t\tinsertionIndex={ insertionIndex }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderInserterToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { updateSettings } = dispatch( blockEditorStore );\n\t\treturn { updateSettings };\n\t} ),\n\twithSelect( ( select, { clientId, isAppender, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockIndex,\n\t\t\tgetBlock,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst end = getBlockSelectionEnd();\n\t\t// `end` argument (id) can refer to the component which is removed\n\t\t// due to pressing `undo` button, that's why we need to check\n\t\t// if `getBlock( end) is valid, otherwise `null` is passed\n\t\tconst isAnyBlockSelected = ! isAppender && end && getBlock( end );\n\t\tconst destinationRootClientId = isAnyBlockSelected\n\t\t\t? getBlockRootClientId( end )\n\t\t\t: rootClientId;\n\t\tconst selectedBlockIndex = getBlockIndex(\n\t\t\tend,\n\t\t\tdestinationRootClientId\n\t\t);\n\t\tconst endOfRootIndex = getBlockOrder( rootClientId ).length;\n\t\tconst isSelectedUnmodifiedDefaultBlock = isAnyBlockSelected\n\t\t\t? isUnmodifiedDefaultBlock( getBlock( end ) )\n\t\t\t: undefined;\n\n\t\tfunction getDefaultInsertionIndex() {\n\t\t\tconst {\n\t\t\t\t__experimentalShouldInsertAtTheTop: shouldInsertAtTheTop,\n\t\t\t} = getBlockEditorSettings();\n\n\t\t\t// if post title is selected insert as first block\n\t\t\tif ( shouldInsertAtTheTop ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\tif ( clientId ) {\n\t\t\t\treturn getBlockIndex( clientId, rootClientId );\n\t\t\t}\n\n\t\t\t// If there is a selected block,\n\t\t\tif ( isAnyBlockSelected ) {\n\t\t\t\t// and the last selected block is unmodified (empty), it will be replaced\n\t\t\t\tif ( isSelectedUnmodifiedDefaultBlock ) {\n\t\t\t\t\treturn selectedBlockIndex;\n\t\t\t\t}\n\n\t\t\t\t// we insert after the selected block.\n\t\t\t\treturn selectedBlockIndex + 1;\n\t\t\t}\n\n\t\t\t// Otherwise, we insert at the end of the current rootClientId\n\t\t\treturn endOfRootIndex;\n\t\t}\n\n\t\tconst insertionIndexStart = 0;\n\n\t\tconst insertionIndexBefore = isAnyBlockSelected\n\t\t\t? selectedBlockIndex\n\t\t\t: insertionIndexStart;\n\n\t\tconst insertionIndexAfter = isAnyBlockSelected\n\t\t\t? selectedBlockIndex + 1\n\t\t\t: endOfRootIndex;\n\n\t\tconst insertionIndexEnd = endOfRootIndex;\n\n\t\treturn {\n\t\t\tblockTypeImpressions: getBlockEditorSettings().impressions,\n\t\t\tdestinationRootClientId,\n\t\t\tinsertionIndexDefault: getDefaultInsertionIndex(),\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexEnd,\n\t\t\tisAnyBlockSelected: !! isAnyBlockSelected,\n\t\t\tisSelectedBlockReplaceable: isSelectedUnmodifiedDefaultBlock,\n\t\t};\n\t} ),\n\n\twithPreferredColorScheme,\n] )( Inserter );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/index.native.js"],"names":["AccessibilityInfo","Platform","delay","__","Dropdown","ToolbarButton","Picker","Component","withDispatch","withSelect","compose","withPreferredColorScheme","isUnmodifiedDefaultBlock","Icon","plusCircle","plusCircleFilled","insertAfter","insertBefore","setBlockTypeImpressions","styles","InserterMenu","BlockInsertionPoint","store","blockEditorStore","VOICE_OVER_ANNOUNCEMENT_DELAY","defaultRenderToggle","onToggle","disabled","style","onLongPress","color","hint","testID","Inserter","constructor","arguments","bind","renderInserterToggle","renderContent","getInsertionOptions","addBeforeOption","value","label","icon","replaceCurrentOption","addAfterOption","addToBeginningOption","addToEndOption","isAnyBlockSelected","isSelectedBlockReplaceable","props","getInsertionIndex","insertionType","insertionIndexDefault","insertionIndexStart","insertionIndexBefore","insertionIndexAfter","insertionIndexEnd","shouldReplaceBlock","isOpen","blockTypeImpressions","updateSettings","impressionsRemain","Object","values","some","count","decrementedImpressions","entries","reduce","acc","blockName","Math","max","impressions","onInserterToggledAnnouncement","isScreenReaderEnabled","done","isEnabled","isIOS","OS","announcement","announceForAccessibility","renderToggle","getStylesFromColorScheme","showSeparator","addBlockButton","addBlockButtonDark","onPress","setState","destinationRootClientId","insertionIndex","picker","presentPicker","onPickerSelect","instance","onClose","clientId","isAppender","state","render","dispatch","select","rootClientId","getBlockRootClientId","getBlockSelectionEnd","getBlockOrder","getBlockIndex","getBlock","getSettings","getBlockEditorSettings","end","selectedBlockIndex","endOfRootIndex","length","isSelectedUnmodifiedDefaultBlock","undefined","getDefaultInsertionIndex","__experimentalShouldInsertAtTheTop","shouldInsertAtTheTop"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { AccessibilityInfo, Platform } from 'react-native';\nimport { delay } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Dropdown, ToolbarButton, Picker } from '@wordpress/components';\nimport { Component } from '@wordpress/element';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\nimport {\n\tIcon,\n\tplusCircle,\n\tplusCircleFilled,\n\tinsertAfter,\n\tinsertBefore,\n} from '@wordpress/icons';\nimport { setBlockTypeImpressions } from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport InserterMenu from './menu';\nimport BlockInsertionPoint from '../block-list/insertion-point';\nimport { store as blockEditorStore } from '../../store';\n\nconst VOICE_OVER_ANNOUNCEMENT_DELAY = 1000;\n\nconst defaultRenderToggle = ( { onToggle, disabled, style, onLongPress } ) => (\n\t<ToolbarButton\n\t\ttitle={ __( 'Add block' ) }\n\t\ticon={\n\t\t\t<Icon\n\t\t\t\ticon={ plusCircleFilled }\n\t\t\t\tstyle={ style }\n\t\t\t\tcolor={ style.color }\n\t\t\t/>\n\t\t}\n\t\tonClick={ onToggle }\n\t\textraProps={ {\n\t\t\thint: __( 'Double tap to add a block' ),\n\t\t\t// testID is present to disambiguate this element for native UI tests. It's not\n\t\t\t// usually required for components. See: https://git.io/JeQ7G.\n\t\t\ttestID: 'add-block-button',\n\t\t\tonLongPress,\n\t\t} }\n\t\tisDisabled={ disabled }\n\t/>\n);\n\nexport class Inserter extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onToggle = this.onToggle.bind( this );\n\t\tthis.renderInserterToggle = this.renderInserterToggle.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\t}\n\n\tgetInsertionOptions() {\n\t\tconst addBeforeOption = {\n\t\t\tvalue: 'before',\n\t\t\tlabel: __( 'Add Block Before' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst replaceCurrentOption = {\n\t\t\tvalue: 'replace',\n\t\t\tlabel: __( 'Replace Current Block' ),\n\t\t\ticon: plusCircleFilled,\n\t\t};\n\n\t\tconst addAfterOption = {\n\t\t\tvalue: 'after',\n\t\t\tlabel: __( 'Add Block After' ),\n\t\t\ticon: plusCircle,\n\t\t};\n\n\t\tconst addToBeginningOption = {\n\t\t\tvalue: 'start',\n\t\t\tlabel: __( 'Add To Beginning' ),\n\t\t\ticon: insertBefore,\n\t\t};\n\n\t\tconst addToEndOption = {\n\t\t\tvalue: 'end',\n\t\t\tlabel: __( 'Add To End' ),\n\t\t\ticon: insertAfter,\n\t\t};\n\n\t\tconst { isAnyBlockSelected, isSelectedBlockReplaceable } = this.props;\n\t\tif ( isAnyBlockSelected ) {\n\t\t\tif ( isSelectedBlockReplaceable ) {\n\t\t\t\treturn [\n\t\t\t\t\taddToBeginningOption,\n\t\t\t\t\taddBeforeOption,\n\t\t\t\t\treplaceCurrentOption,\n\t\t\t\t\taddAfterOption,\n\t\t\t\t\taddToEndOption,\n\t\t\t\t];\n\t\t\t}\n\t\t\treturn [\n\t\t\t\taddToBeginningOption,\n\t\t\t\taddBeforeOption,\n\t\t\t\taddAfterOption,\n\t\t\t\taddToEndOption,\n\t\t\t];\n\t\t}\n\t\treturn [ addToBeginningOption, addToEndOption ];\n\t}\n\n\tgetInsertionIndex( insertionType ) {\n\t\tconst {\n\t\t\tinsertionIndexDefault,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexEnd,\n\t\t} = this.props;\n\t\tif ( insertionType === 'start' ) {\n\t\t\treturn insertionIndexStart;\n\t\t}\n\t\tif ( insertionType === 'before' || insertionType === 'replace' ) {\n\t\t\treturn insertionIndexBefore;\n\t\t}\n\t\tif ( insertionType === 'after' ) {\n\t\t\treturn insertionIndexAfter;\n\t\t}\n\t\tif ( insertionType === 'end' ) {\n\t\t\treturn insertionIndexEnd;\n\t\t}\n\t\treturn insertionIndexDefault;\n\t}\n\n\tshouldReplaceBlock( insertionType ) {\n\t\tconst { isSelectedBlockReplaceable } = this.props;\n\t\tif ( insertionType === 'replace' ) {\n\t\t\treturn true;\n\t\t}\n\t\tif ( insertionType === 'default' && isSelectedBlockReplaceable ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tonToggle( isOpen ) {\n\t\tconst { blockTypeImpressions, onToggle, updateSettings } = this.props;\n\n\t\tif ( ! isOpen ) {\n\t\t\tconst impressionsRemain = Object.values(\n\t\t\t\tblockTypeImpressions\n\t\t\t).some( ( count ) => count > 0 );\n\n\t\t\tif ( impressionsRemain ) {\n\t\t\t\tconst decrementedImpressions = Object.entries(\n\t\t\t\t\tblockTypeImpressions\n\t\t\t\t).reduce(\n\t\t\t\t\t( acc, [ blockName, count ] ) => ( {\n\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t[ blockName ]: Math.max( count - 1, 0 ),\n\t\t\t\t\t} ),\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\t\t// Persist block type impression to JavaScript store\n\t\t\t\tupdateSettings( {\n\t\t\t\t\timpressions: decrementedImpressions,\n\t\t\t\t} );\n\n\t\t\t\t// Persist block type impression count to native app store\n\t\t\t\tsetBlockTypeImpressions( decrementedImpressions );\n\t\t\t}\n\t\t}\n\n\t\t// Surface toggle callback to parent component\n\t\tif ( onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t\tthis.onInserterToggledAnnouncement( isOpen );\n\t}\n\n\tonInserterToggledAnnouncement( isOpen ) {\n\t\tAccessibilityInfo.isScreenReaderEnabled().done( ( isEnabled ) => {\n\t\t\tif ( isEnabled ) {\n\t\t\t\tconst isIOS = Platform.OS === 'ios';\n\t\t\t\tconst announcement = isOpen\n\t\t\t\t\t? __( 'Scrollable block menu opened. Select a block.' )\n\t\t\t\t\t: __( 'Scrollable block menu closed.' );\n\t\t\t\tdelay(\n\t\t\t\t\t() =>\n\t\t\t\t\t\tAccessibilityInfo.announceForAccessibility(\n\t\t\t\t\t\t\tannouncement\n\t\t\t\t\t\t),\n\t\t\t\t\tisIOS ? VOICE_OVER_ANNOUNCEMENT_DELAY : 0\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Render callback to display Dropdown toggle element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onToggle Callback to invoke when toggle is\n\t * pressed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown toggle element.\n\t */\n\trenderInserterToggle( { onToggle, isOpen } ) {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\trenderToggle = defaultRenderToggle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tshowSeparator,\n\t\t} = this.props;\n\t\tif ( showSeparator && isOpen ) {\n\t\t\treturn <BlockInsertionPoint />;\n\t\t}\n\t\tconst style = getStylesFromColorScheme(\n\t\t\tstyles.addBlockButton,\n\t\t\tstyles.addBlockButtonDark\n\t\t);\n\n\t\tconst onPress = () => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock( 'default' ),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( 'default' ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\tconst onLongPress = () => {\n\t\t\tif ( this.picker ) {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t};\n\n\t\tconst onPickerSelect = ( insertionType ) => {\n\t\t\tthis.setState(\n\t\t\t\t{\n\t\t\t\t\tdestinationRootClientId: this.props.destinationRootClientId,\n\t\t\t\t\tshouldReplaceBlock: this.shouldReplaceBlock(\n\t\t\t\t\t\tinsertionType\n\t\t\t\t\t),\n\t\t\t\t\tinsertionIndex: this.getInsertionIndex( insertionType ),\n\t\t\t\t},\n\t\t\t\tonToggle\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ renderToggle( {\n\t\t\t\t\tonToggle: onPress,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tdisabled,\n\t\t\t\t\tstyle,\n\t\t\t\t\tonLongPress,\n\t\t\t\t} ) }\n\t\t\t\t<Picker\n\t\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\t\toptions={ this.getInsertionOptions() }\n\t\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\t/**\n\t * Render callback to display Dropdown content element.\n\t *\n\t * @param {Object} options\n\t * @param {Function} options.onClose Callback to invoke when dropdown is\n\t * closed.\n\t * @param {boolean} options.isOpen Whether dropdown is currently open.\n\t *\n\t * @return {WPElement} Dropdown content element.\n\t */\n\trenderContent( { onClose, isOpen } ) {\n\t\tconst { clientId, isAppender } = this.props;\n\t\tconst {\n\t\t\tdestinationRootClientId,\n\t\t\tshouldReplaceBlock,\n\t\t\tinsertionIndex,\n\t\t} = this.state;\n\t\treturn (\n\t\t\t<InserterMenu\n\t\t\t\tisOpen={ isOpen }\n\t\t\t\tonSelect={ onClose }\n\t\t\t\tonDismiss={ onClose }\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisAppender={ isAppender }\n\t\t\t\tshouldReplaceBlock={ shouldReplaceBlock }\n\t\t\t\tinsertionIndex={ insertionIndex }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Dropdown\n\t\t\t\tonToggle={ this.onToggle }\n\t\t\t\theaderTitle={ __( 'Add a block' ) }\n\t\t\t\trenderToggle={ this.renderInserterToggle }\n\t\t\t\trenderContent={ this.renderContent }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { updateSettings } = dispatch( blockEditorStore );\n\t\treturn { updateSettings };\n\t} ),\n\twithSelect( ( select, { clientId, isAppender, rootClientId } ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockSelectionEnd,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockIndex,\n\t\t\tgetBlock,\n\t\t\tgetSettings: getBlockEditorSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst end = getBlockSelectionEnd();\n\t\t// `end` argument (id) can refer to the component which is removed\n\t\t// due to pressing `undo` button, that's why we need to check\n\t\t// if `getBlock( end) is valid, otherwise `null` is passed\n\t\tconst isAnyBlockSelected = ! isAppender && end && getBlock( end );\n\t\tconst destinationRootClientId = isAnyBlockSelected\n\t\t\t? getBlockRootClientId( end )\n\t\t\t: rootClientId;\n\t\tconst selectedBlockIndex = getBlockIndex( end );\n\t\tconst endOfRootIndex = getBlockOrder( rootClientId ).length;\n\t\tconst isSelectedUnmodifiedDefaultBlock = isAnyBlockSelected\n\t\t\t? isUnmodifiedDefaultBlock( getBlock( end ) )\n\t\t\t: undefined;\n\n\t\tfunction getDefaultInsertionIndex() {\n\t\t\tconst {\n\t\t\t\t__experimentalShouldInsertAtTheTop: shouldInsertAtTheTop,\n\t\t\t} = getBlockEditorSettings();\n\n\t\t\t// if post title is selected insert as first block\n\t\t\tif ( shouldInsertAtTheTop ) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\t// If the clientId is defined, we insert at the position of the block.\n\t\t\tif ( clientId ) {\n\t\t\t\treturn getBlockIndex( clientId );\n\t\t\t}\n\n\t\t\t// If there is a selected block,\n\t\t\tif ( isAnyBlockSelected ) {\n\t\t\t\t// and the last selected block is unmodified (empty), it will be replaced\n\t\t\t\tif ( isSelectedUnmodifiedDefaultBlock ) {\n\t\t\t\t\treturn selectedBlockIndex;\n\t\t\t\t}\n\n\t\t\t\t// we insert after the selected block.\n\t\t\t\treturn selectedBlockIndex + 1;\n\t\t\t}\n\n\t\t\t// Otherwise, we insert at the end of the current rootClientId\n\t\t\treturn endOfRootIndex;\n\t\t}\n\n\t\tconst insertionIndexStart = 0;\n\n\t\tconst insertionIndexBefore = isAnyBlockSelected\n\t\t\t? selectedBlockIndex\n\t\t\t: insertionIndexStart;\n\n\t\tconst insertionIndexAfter = isAnyBlockSelected\n\t\t\t? selectedBlockIndex + 1\n\t\t\t: endOfRootIndex;\n\n\t\tconst insertionIndexEnd = endOfRootIndex;\n\n\t\treturn {\n\t\t\tblockTypeImpressions: getBlockEditorSettings().impressions,\n\t\t\tdestinationRootClientId,\n\t\t\tinsertionIndexDefault: getDefaultInsertionIndex(),\n\t\t\tinsertionIndexBefore,\n\t\t\tinsertionIndexAfter,\n\t\t\tinsertionIndexStart,\n\t\t\tinsertionIndexEnd,\n\t\t\tisAnyBlockSelected: !! isAnyBlockSelected,\n\t\t\tisSelectedBlockReplaceable: isSelectedUnmodifiedDefaultBlock,\n\t\t};\n\t} ),\n\n\twithPreferredColorScheme,\n] )( Inserter );\n"]}
@@ -51,7 +51,7 @@ export default function QuickInserter(_ref) {
51
51
  getBlockIndex,
52
52
  getBlockCount
53
53
  } = select(blockEditorStore);
54
- const index = getBlockIndex(clientId, rootClientId);
54
+ const index = getBlockIndex(clientId);
55
55
  return {
56
56
  setInserterIsOpened: getSettings().__experimentalSetIsInserterOpened,
57
57
  insertionIndex: index === -1 ? getBlockCount() : index
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/quick-inserter.js"],"names":["classnames","useState","useEffect","__","Button","SearchControl","useSelect","InserterSearchResults","useInsertionPoint","usePatternsState","useBlockTypesState","store","blockEditorStore","SEARCH_THRESHOLD","SHOWN_BLOCK_TYPES","SHOWN_BLOCK_PATTERNS","QuickInserter","onSelect","rootClientId","clientId","isAppender","filterValue","setFilterValue","destinationRootClientId","onInsertBlocks","blockTypes","patterns","showPatterns","length","showSearch","setInserterIsOpened","insertionIndex","select","getSettings","getBlockIndex","getBlockCount","index","__experimentalSetIsInserterOpened","onBrowseAll","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, SearchControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport usePatternsState from './hooks/use-patterns-state';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport { store as blockEditorStore } from '../../store';\n\nconst SEARCH_THRESHOLD = 6;\nconst SHOWN_BLOCK_TYPES = 6;\nconst SHOWN_BLOCK_PATTERNS = 2;\n\nexport default function QuickInserter( {\n\tonSelect,\n\trootClientId,\n\tclientId,\n\tisAppender,\n} ) {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tonSelect,\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t} );\n\tconst [ blockTypes ] = useBlockTypesState(\n\t\tdestinationRootClientId,\n\t\tonInsertBlocks\n\t);\n\n\tconst [ patterns ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\tconst showPatterns = patterns.length && !! filterValue;\n\tconst showSearch =\n\t\t( showPatterns && patterns.length > SEARCH_THRESHOLD ) ||\n\t\tblockTypes.length > SEARCH_THRESHOLD;\n\n\tconst { setInserterIsOpened, insertionIndex } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getBlockIndex, getBlockCount } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst index = getBlockIndex( clientId, rootClientId );\n\t\t\treturn {\n\t\t\t\tsetInserterIsOpened: getSettings()\n\t\t\t\t\t.__experimentalSetIsInserterOpened,\n\t\t\t\tinsertionIndex: index === -1 ? getBlockCount() : index,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( setInserterIsOpened ) {\n\t\t\tsetInserterIsOpened( false );\n\t\t}\n\t}, [ setInserterIsOpened ] );\n\n\t// When clicking Browse All select the appropriate block so as\n\t// the insertion point can work as expected\n\tconst onBrowseAll = () => {\n\t\tsetInserterIsOpened( { rootClientId, insertionIndex, filterValue } );\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'block-editor-inserter__quick-inserter', {\n\t\t\t\t'has-search': showSearch,\n\t\t\t\t'has-expand': setInserterIsOpened,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ showSearch && (\n\t\t\t\t<SearchControl\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-results\">\n\t\t\t\t<InserterSearchResults\n\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\tmaxBlockPatterns={ showPatterns ? SHOWN_BLOCK_PATTERNS : 0 }\n\t\t\t\t\tmaxBlockTypes={ SHOWN_BLOCK_TYPES }\n\t\t\t\t\tisDraggable={ false }\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{ setInserterIsOpened && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-inserter__quick-inserter-expand\"\n\t\t\t\t\tonClick={ onBrowseAll }\n\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t'Browse all. This will open the main inserter panel in the editor toolbar.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Browse all' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/inserter/quick-inserter.js"],"names":["classnames","useState","useEffect","__","Button","SearchControl","useSelect","InserterSearchResults","useInsertionPoint","usePatternsState","useBlockTypesState","store","blockEditorStore","SEARCH_THRESHOLD","SHOWN_BLOCK_TYPES","SHOWN_BLOCK_PATTERNS","QuickInserter","onSelect","rootClientId","clientId","isAppender","filterValue","setFilterValue","destinationRootClientId","onInsertBlocks","blockTypes","patterns","showPatterns","length","showSearch","setInserterIsOpened","insertionIndex","select","getSettings","getBlockIndex","getBlockCount","index","__experimentalSetIsInserterOpened","onBrowseAll","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, SearchControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport InserterSearchResults from './search-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport usePatternsState from './hooks/use-patterns-state';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport { store as blockEditorStore } from '../../store';\n\nconst SEARCH_THRESHOLD = 6;\nconst SHOWN_BLOCK_TYPES = 6;\nconst SHOWN_BLOCK_PATTERNS = 2;\n\nexport default function QuickInserter( {\n\tonSelect,\n\trootClientId,\n\tclientId,\n\tisAppender,\n} ) {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tonSelect,\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t} );\n\tconst [ blockTypes ] = useBlockTypesState(\n\t\tdestinationRootClientId,\n\t\tonInsertBlocks\n\t);\n\n\tconst [ patterns ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\tconst showPatterns = patterns.length && !! filterValue;\n\tconst showSearch =\n\t\t( showPatterns && patterns.length > SEARCH_THRESHOLD ) ||\n\t\tblockTypes.length > SEARCH_THRESHOLD;\n\n\tconst { setInserterIsOpened, insertionIndex } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getBlockIndex, getBlockCount } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\treturn {\n\t\t\t\tsetInserterIsOpened: getSettings()\n\t\t\t\t\t.__experimentalSetIsInserterOpened,\n\t\t\t\tinsertionIndex: index === -1 ? getBlockCount() : index,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( setInserterIsOpened ) {\n\t\t\tsetInserterIsOpened( false );\n\t\t}\n\t}, [ setInserterIsOpened ] );\n\n\t// When clicking Browse All select the appropriate block so as\n\t// the insertion point can work as expected\n\tconst onBrowseAll = () => {\n\t\tsetInserterIsOpened( { rootClientId, insertionIndex, filterValue } );\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'block-editor-inserter__quick-inserter', {\n\t\t\t\t'has-search': showSearch,\n\t\t\t\t'has-expand': setInserterIsOpened,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ showSearch && (\n\t\t\t\t<SearchControl\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-results\">\n\t\t\t\t<InserterSearchResults\n\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\tmaxBlockPatterns={ showPatterns ? SHOWN_BLOCK_PATTERNS : 0 }\n\t\t\t\t\tmaxBlockTypes={ SHOWN_BLOCK_TYPES }\n\t\t\t\t\tisDraggable={ false }\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t{ setInserterIsOpened && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-inserter__quick-inserter-expand\"\n\t\t\t\t\tonClick={ onBrowseAll }\n\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t'Browse all. This will open the main inserter panel in the editor toolbar.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Browse all' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}