@wordpress/block-editor 15.9.1-next.8b30e05b0.0 → 15.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +8 -0
  3. package/build/components/block-alignment-matrix-control/index.js +1 -8
  4. package/build/components/block-alignment-matrix-control/index.js.map +2 -2
  5. package/build/components/block-bindings/attribute-control.js +172 -0
  6. package/build/components/block-bindings/attribute-control.js.map +7 -0
  7. package/build/components/block-bindings/index.js +47 -0
  8. package/build/components/block-bindings/index.js.map +7 -0
  9. package/build/components/block-bindings/source-fields-list.js +135 -0
  10. package/build/components/block-bindings/source-fields-list.js.map +7 -0
  11. package/build/components/block-bindings/use-block-bindings-utils.js +66 -0
  12. package/build/components/block-bindings/use-block-bindings-utils.js.map +7 -0
  13. package/build/components/block-edit/edit.js +1 -3
  14. package/build/components/block-edit/edit.js.map +2 -2
  15. package/build/components/block-inspector/edit-contents.js +93 -14
  16. package/build/components/block-inspector/edit-contents.js.map +3 -3
  17. package/build/components/block-inspector/index.js +44 -28
  18. package/build/components/block-inspector/index.js.map +2 -2
  19. package/build/components/block-settings-menu-controls/edit-section-menu-item.js +39 -9
  20. package/build/components/block-settings-menu-controls/edit-section-menu-item.js.map +3 -3
  21. package/build/components/block-styles/preview-panel.js +3 -5
  22. package/build/components/block-styles/preview-panel.js.map +2 -2
  23. package/build/components/block-styles/use-styles-for-block.js +2 -2
  24. package/build/components/block-styles/use-styles-for-block.js.map +2 -2
  25. package/build/components/block-toolbar/index.js +1 -8
  26. package/build/components/block-toolbar/index.js.map +3 -3
  27. package/build/components/content-only-controls/index.js +2 -25
  28. package/build/components/content-only-controls/index.js.map +2 -2
  29. package/build/components/content-only-controls/link/index.js +3 -3
  30. package/build/components/content-only-controls/link/index.js.map +2 -2
  31. package/build/components/content-only-controls/media/index.js +3 -3
  32. package/build/components/content-only-controls/media/index.js.map +2 -2
  33. package/build/components/content-only-controls/rich-text/index.js +3 -2
  34. package/build/components/content-only-controls/rich-text/index.js.map +2 -2
  35. package/build/components/dimensions-tool/width-height-tool.js +4 -16
  36. package/build/components/dimensions-tool/width-height-tool.js.map +3 -3
  37. package/build/components/grid/grid-item-resizer.js +9 -5
  38. package/build/components/grid/grid-item-resizer.js.map +2 -2
  39. package/build/components/image-editor/cropper.js +3 -34
  40. package/build/components/image-editor/cropper.js.map +3 -3
  41. package/build/components/image-editor/index.js +9 -3
  42. package/build/components/image-editor/index.js.map +2 -2
  43. package/build/components/image-editor/use-transform-image.js +62 -32
  44. package/build/components/image-editor/use-transform-image.js.map +2 -2
  45. package/build/components/image-editor/zoom-dropdown.js +2 -2
  46. package/build/components/image-editor/zoom-dropdown.js.map +2 -2
  47. package/build/components/index.js +7 -3
  48. package/build/components/index.js.map +2 -2
  49. package/build/components/inserter/hooks/use-insertion-point.js +5 -2
  50. package/build/components/inserter/hooks/use-insertion-point.js.map +2 -2
  51. package/build/components/inserter-draggable-blocks/index.js +8 -4
  52. package/build/components/inserter-draggable-blocks/index.js.map +2 -2
  53. package/build/components/inspector-controls-tabs/content-tab.js +3 -2
  54. package/build/components/inspector-controls-tabs/content-tab.js.map +2 -2
  55. package/build/components/link-control/index.js +1 -1
  56. package/build/components/link-control/index.js.map +2 -2
  57. package/build/components/link-control/search-input.js +2 -2
  58. package/build/components/link-control/search-input.js.map +2 -2
  59. package/build/hooks/block-bindings.js +22 -260
  60. package/build/hooks/block-bindings.js.map +3 -3
  61. package/build/layouts/grid.js +23 -28
  62. package/build/layouts/grid.js.map +2 -2
  63. package/build/private-apis.js +1 -0
  64. package/build/private-apis.js.map +2 -2
  65. package/build/store/private-keys.js +3 -0
  66. package/build/store/private-keys.js.map +2 -2
  67. package/build/store/private-selectors.js +2 -1
  68. package/build/store/private-selectors.js.map +2 -2
  69. package/build/store/reducer.js +3 -2
  70. package/build/store/reducer.js.map +2 -2
  71. package/build/utils/block-bindings.js +2 -44
  72. package/build/utils/block-bindings.js.map +3 -3
  73. package/build/utils/index.js +2 -5
  74. package/build/utils/index.js.map +2 -2
  75. package/build-module/components/block-alignment-matrix-control/index.js +1 -8
  76. package/build-module/components/block-alignment-matrix-control/index.js.map +2 -2
  77. package/build-module/components/block-bindings/attribute-control.js +150 -0
  78. package/build-module/components/block-bindings/attribute-control.js.map +7 -0
  79. package/build-module/components/block-bindings/index.js +10 -0
  80. package/build-module/components/block-bindings/index.js.map +7 -0
  81. package/build-module/components/block-bindings/source-fields-list.js +104 -0
  82. package/build-module/components/block-bindings/source-fields-list.js.map +7 -0
  83. package/build-module/components/block-bindings/use-block-bindings-utils.js +45 -0
  84. package/build-module/components/block-bindings/use-block-bindings-utils.js.map +7 -0
  85. package/build-module/components/block-edit/edit.js +1 -3
  86. package/build-module/components/block-edit/edit.js.map +2 -2
  87. package/build-module/components/block-inspector/edit-contents.js +93 -14
  88. package/build-module/components/block-inspector/edit-contents.js.map +2 -2
  89. package/build-module/components/block-inspector/index.js +44 -28
  90. package/build-module/components/block-inspector/index.js.map +2 -2
  91. package/build-module/components/block-settings-menu-controls/edit-section-menu-item.js +39 -9
  92. package/build-module/components/block-settings-menu-controls/edit-section-menu-item.js.map +2 -2
  93. package/build-module/components/block-styles/preview-panel.js +3 -5
  94. package/build-module/components/block-styles/preview-panel.js.map +2 -2
  95. package/build-module/components/block-styles/use-styles-for-block.js +2 -2
  96. package/build-module/components/block-styles/use-styles-for-block.js.map +2 -2
  97. package/build-module/components/block-toolbar/index.js +1 -8
  98. package/build-module/components/block-toolbar/index.js.map +2 -2
  99. package/build-module/components/content-only-controls/index.js +2 -25
  100. package/build-module/components/content-only-controls/index.js.map +2 -2
  101. package/build-module/components/content-only-controls/link/index.js +3 -3
  102. package/build-module/components/content-only-controls/link/index.js.map +2 -2
  103. package/build-module/components/content-only-controls/media/index.js +3 -3
  104. package/build-module/components/content-only-controls/media/index.js.map +2 -2
  105. package/build-module/components/content-only-controls/rich-text/index.js +3 -2
  106. package/build-module/components/content-only-controls/rich-text/index.js.map +2 -2
  107. package/build-module/components/dimensions-tool/width-height-tool.js +4 -6
  108. package/build-module/components/dimensions-tool/width-height-tool.js.map +2 -2
  109. package/build-module/components/grid/grid-item-resizer.js +9 -5
  110. package/build-module/components/grid/grid-item-resizer.js.map +2 -2
  111. package/build-module/components/image-editor/cropper.js +3 -34
  112. package/build-module/components/image-editor/cropper.js.map +2 -2
  113. package/build-module/components/image-editor/index.js +9 -3
  114. package/build-module/components/image-editor/index.js.map +2 -2
  115. package/build-module/components/image-editor/use-transform-image.js +63 -33
  116. package/build-module/components/image-editor/use-transform-image.js.map +2 -2
  117. package/build-module/components/image-editor/zoom-dropdown.js +2 -2
  118. package/build-module/components/image-editor/zoom-dropdown.js.map +2 -2
  119. package/build-module/components/index.js +74 -68
  120. package/build-module/components/index.js.map +2 -2
  121. package/build-module/components/inserter/hooks/use-insertion-point.js +5 -2
  122. package/build-module/components/inserter/hooks/use-insertion-point.js.map +2 -2
  123. package/build-module/components/inserter-draggable-blocks/index.js +8 -4
  124. package/build-module/components/inserter-draggable-blocks/index.js.map +2 -2
  125. package/build-module/components/inspector-controls-tabs/content-tab.js +3 -2
  126. package/build-module/components/inspector-controls-tabs/content-tab.js.map +2 -2
  127. package/build-module/components/link-control/index.js +1 -1
  128. package/build-module/components/link-control/index.js.map +2 -2
  129. package/build-module/components/link-control/search-input.js +2 -2
  130. package/build-module/components/link-control/search-input.js.map +2 -2
  131. package/build-module/hooks/block-bindings.js +27 -270
  132. package/build-module/hooks/block-bindings.js.map +2 -2
  133. package/build-module/layouts/grid.js +23 -28
  134. package/build-module/layouts/grid.js.map +2 -2
  135. package/build-module/private-apis.js +3 -1
  136. package/build-module/private-apis.js.map +2 -2
  137. package/build-module/store/private-keys.js +2 -0
  138. package/build-module/store/private-keys.js.map +2 -2
  139. package/build-module/store/private-selectors.js +4 -2
  140. package/build-module/store/private-selectors.js.map +2 -2
  141. package/build-module/store/reducer.js +4 -3
  142. package/build-module/store/reducer.js.map +2 -2
  143. package/build-module/utils/block-bindings.js +1 -42
  144. package/build-module/utils/block-bindings.js.map +2 -2
  145. package/build-module/utils/index.js +1 -3
  146. package/build-module/utils/index.js.map +2 -2
  147. package/build-style/style-rtl.css +6 -6
  148. package/build-style/style.css +6 -6
  149. package/package.json +39 -40
  150. package/src/components/block-alignment-matrix-control/index.js +1 -5
  151. package/src/components/block-bindings/attribute-control.js +174 -0
  152. package/src/components/block-bindings/index.js +6 -0
  153. package/src/components/block-bindings/source-fields-list.js +130 -0
  154. package/src/components/block-bindings/use-block-bindings-utils.js +156 -0
  155. package/src/components/block-edit/edit.js +1 -3
  156. package/src/components/block-inspector/edit-contents.js +108 -18
  157. package/src/components/block-inspector/index.js +53 -30
  158. package/src/components/block-settings-menu-controls/edit-section-menu-item.js +50 -6
  159. package/src/components/block-styles/preview-panel.js +3 -5
  160. package/src/components/block-styles/use-styles-for-block.js +2 -2
  161. package/src/components/block-toolbar/index.js +1 -6
  162. package/src/components/block-toolbar/style.scss +6 -6
  163. package/src/components/content-only-controls/index.js +2 -27
  164. package/src/components/content-only-controls/link/index.js +3 -3
  165. package/src/components/content-only-controls/media/index.js +3 -3
  166. package/src/components/content-only-controls/rich-text/index.js +3 -2
  167. package/src/components/dimensions-tool/width-height-tool.js +6 -13
  168. package/src/components/grid/grid-item-resizer.js +18 -5
  169. package/src/components/image-editor/cropper.js +3 -32
  170. package/src/components/image-editor/index.js +34 -29
  171. package/src/components/image-editor/use-transform-image.js +80 -34
  172. package/src/components/image-editor/zoom-dropdown.js +2 -2
  173. package/src/components/index.js +5 -1
  174. package/src/components/inserter/hooks/use-insertion-point.js +3 -0
  175. package/src/components/inserter/style.scss +1 -1
  176. package/src/components/inserter-draggable-blocks/index.js +19 -8
  177. package/src/components/inspector-controls-tabs/content-tab.js +6 -2
  178. package/src/components/link-control/index.js +1 -1
  179. package/src/components/link-control/search-input.js +8 -2
  180. package/src/components/link-control/test/index.js +146 -7
  181. package/src/hooks/block-bindings.js +27 -347
  182. package/src/layouts/grid.js +40 -72
  183. package/src/layouts/test/grid.js +14 -0
  184. package/src/private-apis.js +2 -0
  185. package/src/store/private-keys.js +1 -0
  186. package/src/store/private-selectors.js +8 -1
  187. package/src/store/reducer.js +10 -3
  188. package/src/utils/block-bindings.js +0 -157
  189. package/src/utils/index.js +0 -1
  190. package/tsconfig.json +1 -0
  191. package/build/components/block-toolbar/block-name-context.js +0 -30
  192. package/build/components/block-toolbar/block-name-context.js.map +0 -7
  193. package/build-module/components/block-toolbar/block-name-context.js +0 -9
  194. package/build-module/components/block-toolbar/block-name-context.js.map +0 -7
  195. package/src/components/block-toolbar/block-name-context.js +0 -9
  196. /package/src/{utils → components/block-bindings}/test/use-block-bindings-utils.js +0 -0
@@ -8,6 +8,11 @@ import {
8
8
  BlockAlignmentControl,
9
9
  BlockAlignmentToolbar
10
10
  } from "./block-alignment-control";
11
+ import {
12
+ BlockBindingsAttributeControl,
13
+ BlockBindingsSourceFieldsList,
14
+ useBlockBindingsUtils
15
+ } from "./block-bindings";
11
16
  import { default as default3 } from "./block-full-height-alignment-control";
12
17
  import { default as default4 } from "./block-alignment-matrix-control";
13
18
  import { default as default5 } from "./block-breadcrumb";
@@ -99,96 +104,97 @@ import {
99
104
  } from "./spacing-sizes-control/utils";
100
105
  import { default as default57 } from "./block-settings-menu/block-settings-menu-first-item";
101
106
  import { default as default58 } from "./block-toolbar/block-toolbar-last-item";
102
- import { default as default59 } from "./block-toolbar/block-name-context";
103
- import { default as default60 } from "./inserter-menu-extension";
104
- import { default as default61 } from "./preview-options";
105
- import { default as default62 } from "./use-resize-canvas";
106
- import { default as default63 } from "./block-inspector";
107
- import { default as default64 } from "./block-list";
107
+ import { default as default59 } from "./inserter-menu-extension";
108
+ import { default as default60 } from "./preview-options";
109
+ import { default as default61 } from "./use-resize-canvas";
110
+ import { default as default62 } from "./block-inspector";
111
+ import { default as default63 } from "./block-list";
108
112
  import { useBlockProps } from "./block-list/use-block-props";
109
- import { default as default65 } from "./block-mover";
113
+ import { default as default64 } from "./block-mover";
110
114
  import {
111
- default as default66,
115
+ default as default65,
112
116
  useBlockPreview
113
117
  } from "./block-preview";
114
118
  import {
115
- default as default67,
119
+ default as default66,
116
120
  useBlockSelectionClearer
117
121
  } from "./block-selection-clearer";
118
- import { default as default68 } from "./block-settings-menu";
119
- import { default as default69 } from "./block-settings-menu-controls";
120
- import { default as default70 } from "./block-title";
121
- import { default as default71 } from "./block-toolbar";
122
- import { default as default72 } from "./block-tools";
122
+ import { default as default67 } from "./block-settings-menu";
123
+ import { default as default68 } from "./block-settings-menu-controls";
124
+ import { default as default69 } from "./block-title";
125
+ import { default as default70 } from "./block-toolbar";
126
+ import { default as default71 } from "./block-tools";
123
127
  import {
124
- default as default73,
128
+ default as default72,
125
129
  __unstableUseClipboardHandler
126
130
  } from "./copy-handler";
127
- import { default as default74 } from "./default-block-appender";
128
- import { default as default75 } from "./editor-styles";
129
- import { default as default76 } from "./inserter";
130
- import { default as default77 } from "./inserter/library";
131
- import { default as default78 } from "./keyboard-shortcuts";
131
+ import { default as default73 } from "./default-block-appender";
132
+ import { default as default74 } from "./editor-styles";
133
+ import { default as default75 } from "./inserter";
134
+ import { default as default76 } from "./inserter/library";
135
+ import { default as default77 } from "./keyboard-shortcuts";
132
136
  import { MultiSelectScrollIntoView } from "./selection-scroll-into-view";
133
- import { default as default79 } from "./navigable-toolbar";
137
+ import { default as default78 } from "./navigable-toolbar";
134
138
  import {
135
- default as default80,
139
+ default as default79,
136
140
  useTypingObserver,
137
141
  useMouseMoveTypingReset
138
142
  } from "./observe-typing";
139
- import { default as default81 } from "./skip-to-selected-block";
143
+ import { default as default80 } from "./skip-to-selected-block";
140
144
  import {
141
- default as default82,
145
+ default as default81,
142
146
  useTypewriter
143
147
  } from "./typewriter";
144
- import { default as default83 } from "./warning";
145
- import { default as default84 } from "./writing-flow";
146
- import { default as default85 } from "./use-block-display-information";
147
- import { default as default86 } from "./iframe";
148
+ import { default as default82 } from "./warning";
149
+ import { default as default83 } from "./writing-flow";
150
+ import { default as default84 } from "./use-block-display-information";
151
+ import { default as default85 } from "./iframe";
148
152
  import {
149
153
  RecursionProvider,
150
154
  DeprecatedExperimentalRecursionProvider,
151
155
  useHasRecursion,
152
156
  DeprecatedExperimentalUseHasRecursion
153
157
  } from "./recursion-provider";
154
- import { default as default87 } from "./block-patterns-list";
155
- import { default as default88 } from "./publish-date-time-picker";
156
- import { default as default89 } from "./inspector-popover-header";
157
- import { default as default90 } from "./block-popover";
158
+ import { default as default86 } from "./block-patterns-list";
159
+ import { default as default87 } from "./publish-date-time-picker";
160
+ import { default as default88 } from "./inspector-popover-header";
161
+ import { default as default89 } from "./block-popover";
158
162
  import { useBlockEditingMode } from "./block-editing-mode";
159
- import { default as default91 } from "./provider";
163
+ import { default as default90 } from "./provider";
160
164
  import { useSettings, useSetting } from "./use-settings";
161
165
  import { useBlockCommands } from "./use-block-commands";
162
- import { default as default92 } from "./tool-selector";
166
+ import { default as default91 } from "./tool-selector";
163
167
  export {
164
168
  AlignmentControl,
165
169
  AlignmentToolbar,
166
170
  default2 as Autocomplete,
167
171
  BlockAlignmentControl,
168
172
  BlockAlignmentToolbar,
173
+ BlockBindingsAttributeControl,
174
+ BlockBindingsSourceFieldsList,
169
175
  default5 as BlockBreadcrumb,
170
176
  default7 as BlockCanvas,
171
177
  default9 as BlockColorsStyleSelector,
172
178
  BlockContextProvider,
173
179
  default8 as BlockControls,
174
180
  default10 as BlockEdit,
175
- default78 as BlockEditorKeyboardShortcuts,
176
- default91 as BlockEditorProvider,
181
+ default77 as BlockEditorKeyboardShortcuts,
182
+ default90 as BlockEditorProvider,
177
183
  BlockFormatControls,
178
184
  default11 as BlockIcon,
179
- default63 as BlockInspector,
180
- default64 as BlockList,
181
- default65 as BlockMover,
185
+ default62 as BlockInspector,
186
+ default63 as BlockList,
187
+ default64 as BlockMover,
182
188
  default12 as BlockNavigationDropdown,
183
- default90 as BlockPopover,
184
- default66 as BlockPreview,
185
- default67 as BlockSelectionClearer,
186
- default68 as BlockSettingsMenu,
187
- default69 as BlockSettingsMenuControls,
189
+ default89 as BlockPopover,
190
+ default65 as BlockPreview,
191
+ default66 as BlockSelectionClearer,
192
+ default67 as BlockSettingsMenu,
193
+ default68 as BlockSettingsMenuControls,
188
194
  default13 as BlockStyles,
189
- default70 as BlockTitle,
190
- default71 as BlockToolbar,
191
- default72 as BlockTools,
195
+ default69 as BlockTitle,
196
+ default70 as BlockToolbar,
197
+ default71 as BlockTools,
192
198
  BlockVerticalAlignmentControl,
193
199
  BlockVerticalAlignmentToolbar,
194
200
  default19 as ButtonBlockAppender,
@@ -196,12 +202,12 @@ export {
196
202
  default20 as ColorPalette,
197
203
  default21 as ColorPaletteControl,
198
204
  default22 as ContrastChecker,
199
- default73 as CopyHandler,
200
- default74 as DefaultBlockAppender,
205
+ default72 as CopyHandler,
206
+ default73 as DefaultBlockAppender,
201
207
  default14 as HeadingLevelDropdown,
202
208
  default35 as HeightControl,
203
209
  default38 as InnerBlocks,
204
- default76 as Inserter,
210
+ default75 as Inserter,
205
211
  InspectorAdvancedControls,
206
212
  default39 as InspectorControls,
207
213
  JustifyContentControl,
@@ -213,26 +219,26 @@ export {
213
219
  default45 as MediaUpload,
214
220
  default46 as MediaUploadCheck,
215
221
  MultiSelectScrollIntoView,
216
- default79 as NavigableToolbar,
217
- default80 as ObserveTyping,
222
+ default78 as NavigableToolbar,
223
+ default79 as ObserveTyping,
218
224
  default47 as PanelColorSettings,
219
225
  default48 as PlainText,
220
226
  RecursionProvider,
221
227
  default50 as RichText,
222
228
  RichTextShortcut,
223
229
  RichTextToolbarButton,
224
- default81 as SkipToSelectedBlock,
225
- default92 as ToolSelector,
226
- default82 as Typewriter,
230
+ default80 as SkipToSelectedBlock,
231
+ default91 as ToolSelector,
232
+ default81 as Typewriter,
227
233
  default52 as URLInput,
228
234
  default53 as URLInputButton,
229
235
  default54 as URLPopover,
230
- default83 as Warning,
231
- default84 as WritingFlow,
236
+ default82 as Warning,
237
+ default83 as WritingFlow,
232
238
  default4 as __experimentalBlockAlignmentMatrixControl,
233
239
  default3 as __experimentalBlockFullHeightAligmentControl,
234
240
  default16 as __experimentalBlockPatternSetup,
235
- default87 as __experimentalBlockPatternsList,
241
+ default86 as __experimentalBlockPatternsList,
236
242
  default15 as __experimentalBlockVariationPicker,
237
243
  default17 as __experimentalBlockVariationTransforms,
238
244
  default18 as __experimentalBorderRadiusControl,
@@ -245,17 +251,17 @@ export {
245
251
  default36 as __experimentalImageEditor,
246
252
  default37 as __experimentalImageSizeControl,
247
253
  __experimentalImageURLInputUI,
248
- default89 as __experimentalInspectorPopoverHeader,
254
+ default88 as __experimentalInspectorPopoverHeader,
249
255
  default27 as __experimentalLetterSpacingControl,
250
- default77 as __experimentalLibrary,
256
+ default76 as __experimentalLibrary,
251
257
  DeprecatedExperimentalLinkControl as __experimentalLinkControl,
252
258
  __experimentalLinkControlSearchInput,
253
259
  __experimentalLinkControlSearchItem,
254
260
  __experimentalLinkControlSearchResults,
255
261
  default42 as __experimentalListView,
256
262
  default33 as __experimentalPanelColorGradientSettings,
257
- default61 as __experimentalPreviewOptions,
258
- default88 as __experimentalPublishDateTimePicker,
263
+ default60 as __experimentalPreviewOptions,
264
+ default87 as __experimentalPublishDateTimePicker,
259
265
  DeprecatedExperimentalRecursionProvider as __experimentalRecursionProvider,
260
266
  default49 as __experimentalResponsiveBlockControl,
261
267
  default56 as __experimentalSpacingSizesControl,
@@ -266,14 +272,13 @@ export {
266
272
  useBlockPreview as __experimentalUseBlockPreview,
267
273
  DeprecatedExperimentalUseHasRecursion as __experimentalUseHasRecursion,
268
274
  default34 as __experimentalUseMultipleOriginColorsAndGradients,
269
- default62 as __experimentalUseResizeCanvas,
275
+ default61 as __experimentalUseResizeCanvas,
270
276
  default30 as __experimentalWritingModeControl,
271
- default59 as __unstableBlockNameContext,
272
277
  default57 as __unstableBlockSettingsMenuFirstItem,
273
278
  default58 as __unstableBlockToolbarLastItem,
274
- default75 as __unstableEditorStyles,
275
- default86 as __unstableIframe,
276
- default60 as __unstableInserterMenuExtension,
279
+ default74 as __unstableEditorStyles,
280
+ default85 as __unstableIframe,
281
+ default59 as __unstableInserterMenuExtension,
277
282
  __unstableRichTextInputEvent,
278
283
  useBlockSelectionClearer as __unstableUseBlockSelectionClearer,
279
284
  __unstableUseClipboardHandler,
@@ -283,8 +288,9 @@ export {
283
288
  getCustomValueFromPreset,
284
289
  getSpacingPresetCssVar,
285
290
  isValueSpacingPreset,
291
+ useBlockBindingsUtils,
286
292
  useBlockCommands,
287
- default85 as useBlockDisplayInformation,
293
+ default84 as useBlockDisplayInformation,
288
294
  useBlockEditContext,
289
295
  useBlockEditingMode,
290
296
  useBlockProps,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/index.js"],
4
- "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 __experimentalUseBlockOverlayActive } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport { default as BlockCanvas } from './block-canvas';\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 BlockStyles } from './block-styles';\nexport { default as HeadingLevelDropdown } from './block-heading-level-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 {\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 __experimentalDateFormatPicker } from './date-format-picker';\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 __experimentalWritingModeControl } from './writing-mode-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalUseMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as HeightControl } from './height-control';\nexport { default as __experimentalImageEditor } 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 {\n\tdefault as LinkControl,\n\tDeprecatedExperimentalLinkControl as __experimentalLinkControl,\n} from './link-control';\nexport { __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { __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 __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';\nexport { default as __experimentalSpacingSizesControl } from './spacing-sizes-control';\nexport {\n\tgetSpacingPresetCssVar,\n\tisValueSpacingPreset,\n\tgetCustomValueFromPreset,\n} from './spacing-sizes-control/utils';\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableBlockToolbarLastItem } from './block-toolbar/block-toolbar-last-item';\nexport { default as __unstableBlockNameContext } from './block-toolbar/block-name-context';\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 { 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\t__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 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 { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport {\n\tRecursionProvider,\n\tDeprecatedExperimentalRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion,\n\tDeprecatedExperimentalUseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\nexport { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';\nexport { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';\nexport { default as BlockPopover } from './block-popover';\nexport { useBlockEditingMode } from './block-editing-mode';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { useSettings, useSetting } from './use-settings';\nexport { useBlockCommands } from './use-block-commands';\n\n// This component is no longer used in Gutenberg,\n// but kept for backwards compatibility.\nexport { default as ToolSelector } from './tool-selector';\n"],
5
- "mappings": "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",
4
+ "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 {\n\tBlockBindingsAttributeControl,\n\tBlockBindingsSourceFieldsList,\n\tuseBlockBindingsUtils,\n} from './block-bindings';\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 __experimentalUseBlockOverlayActive } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport { default as BlockCanvas } from './block-canvas';\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 BlockStyles } from './block-styles';\nexport { default as HeadingLevelDropdown } from './block-heading-level-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 {\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 __experimentalDateFormatPicker } from './date-format-picker';\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 __experimentalWritingModeControl } from './writing-mode-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalUseMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as HeightControl } from './height-control';\nexport { default as __experimentalImageEditor } 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 {\n\tdefault as LinkControl,\n\tDeprecatedExperimentalLinkControl as __experimentalLinkControl,\n} from './link-control';\nexport { __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { __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 __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';\nexport { default as __experimentalSpacingSizesControl } from './spacing-sizes-control';\nexport {\n\tgetSpacingPresetCssVar,\n\tisValueSpacingPreset,\n\tgetCustomValueFromPreset,\n} from './spacing-sizes-control/utils';\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableBlockToolbarLastItem } from './block-toolbar/block-toolbar-last-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 { 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\t__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 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 { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport {\n\tRecursionProvider,\n\tDeprecatedExperimentalRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion,\n\tDeprecatedExperimentalUseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\nexport { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';\nexport { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';\nexport { default as BlockPopover } from './block-popover';\nexport { useBlockEditingMode } from './block-editing-mode';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { useSettings, useSetting } from './use-settings';\nexport { useBlockCommands } from './use-block-commands';\n\n// This component is no longer used in Gutenberg,\n// but kept for backwards compatibility.\nexport { default as ToolSelector } from './tool-selector';\n"],
5
+ "mappings": "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",
6
6
  "names": ["default"]
7
7
  }
@@ -134,7 +134,9 @@ function useInsertionPoint({
134
134
  destinationIndex,
135
135
  onSelect,
136
136
  shouldFocusBlock,
137
- selectBlockOnInsert
137
+ selectBlockOnInsert,
138
+ setLastFocus,
139
+ registry
138
140
  ]
139
141
  );
140
142
  const onToggleInsertionPoint = useCallback(
@@ -165,7 +167,8 @@ function useInsertionPoint({
165
167
  showInsertionPoint,
166
168
  hideInsertionPoint,
167
169
  destinationRootClientId,
168
- destinationIndex
170
+ destinationIndex,
171
+ registry
169
172
  ]
170
173
  );
171
174
  return [destinationRootClientId, onInsertBlocks, onToggleInsertionPoint];
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/inserter/hooks/use-insertion-point.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useDispatch, useRegistry, 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';\nimport { unlock } from '../../../lock-unlock';\n\nfunction getIndex( {\n\tdestinationRootClientId,\n\tdestinationIndex,\n\trootClientId,\n\tregistry,\n} ) {\n\tif ( rootClientId === destinationRootClientId ) {\n\t\treturn destinationIndex;\n\t}\n\tconst parents = [\n\t\t'',\n\t\t...registry\n\t\t\t.select( blockEditorStore )\n\t\t\t.getBlockParents( destinationRootClientId ),\n\t\tdestinationRootClientId,\n\t];\n\tconst parentIndex = parents.indexOf( rootClientId );\n\tif ( parentIndex !== -1 ) {\n\t\treturn (\n\t\t\tregistry\n\t\t\t\t.select( blockEditorStore )\n\t\t\t\t.getBlockIndex( parents[ parentIndex + 1 ] ) + 1\n\t\t);\n\t}\n\treturn registry.select( blockEditorStore ).getBlockOrder( rootClientId )\n\t\t.length;\n}\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\tselectBlockOnInsert = true,\n} ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tgetSelectedBlock,\n\t\tgetClosestAllowedInsertionPoint,\n\t\tisBlockInsertionPointVisible,\n\t} = unlock( 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\tgetInsertionPoint,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tlet _destinationRootClientId = rootClientId;\n\t\t\tlet _destinationIndex;\n\t\t\tconst insertionPoint = getInsertionPoint();\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 (\n\t\t\t\tinsertionPoint &&\n\t\t\t\tinsertionPoint.hasOwnProperty( 'index' )\n\t\t\t) {\n\t\t\t\t_destinationRootClientId = insertionPoint?.rootClientId\n\t\t\t\t\t? insertionPoint.rootClientId\n\t\t\t\t\t: rootClientId;\n\t\t\t\t_destinationIndex = insertionPoint.index;\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(\n\t\t\t\t\t_destinationRootClientId\n\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\tsetLastFocus,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\tconst onInsertBlocks = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock = false, _rootClientId ) => {\n\t\t\t// When we are trying to move focus or select a new block on insert, we also\n\t\t\t// need to clear the last focus to avoid the focus being set to the wrong block\n\t\t\t// when tabbing back into the canvas if the block was added from outside the\n\t\t\t// editor canvas.\n\t\t\tif (\n\t\t\t\tshouldForceFocusBlock ||\n\t\t\t\tshouldFocusBlock ||\n\t\t\t\tselectBlockOnInsert\n\t\t\t) {\n\t\t\t\tsetLastFocus( null );\n\t\t\t}\n\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, 'content' )\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\tisAppender || _rootClientId === undefined\n\t\t\t\t\t\t? destinationIndex\n\t\t\t\t\t\t: getIndex( {\n\t\t\t\t\t\t\t\tdestinationRootClientId,\n\t\t\t\t\t\t\t\tdestinationIndex,\n\t\t\t\t\t\t\t\trootClientId: _rootClientId,\n\t\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t } ),\n\t\t\t\t\tisAppender || _rootClientId === undefined\n\t\t\t\t\t\t? destinationRootClientId\n\t\t\t\t\t\t: _rootClientId,\n\t\t\t\t\tselectBlockOnInsert,\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 blockLength = Array.isArray( blocks ) ? blocks.length : 1;\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( '%d block added.', '%d blocks added.', blockLength ),\n\t\t\t\tblockLength\n\t\t\t);\n\t\t\tspeak( message );\n\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect( blocks );\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\tselectBlockOnInsert,\n\t\t]\n\t);\n\n\tconst onToggleInsertionPoint = useCallback(\n\t\t( item ) => {\n\t\t\tif ( item && ! isBlockInsertionPointVisible() ) {\n\t\t\t\tconst allowedDestinationRootClientId =\n\t\t\t\t\tgetClosestAllowedInsertionPoint(\n\t\t\t\t\t\titem.name,\n\t\t\t\t\t\tdestinationRootClientId\n\t\t\t\t\t);\n\t\t\t\tif ( allowedDestinationRootClientId !== null ) {\n\t\t\t\t\tshowInsertionPoint(\n\t\t\t\t\t\tallowedDestinationRootClientId,\n\t\t\t\t\t\tgetIndex( {\n\t\t\t\t\t\t\tdestinationRootClientId,\n\t\t\t\t\t\t\tdestinationIndex,\n\t\t\t\t\t\t\trootClientId: allowedDestinationRootClientId,\n\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thideInsertionPoint();\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tgetClosestAllowedInsertionPoint,\n\t\t\tisBlockInsertionPointVisible,\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"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useDispatch, useRegistry, 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';\nimport { unlock } from '../../../lock-unlock';\n\nfunction getIndex( {\n\tdestinationRootClientId,\n\tdestinationIndex,\n\trootClientId,\n\tregistry,\n} ) {\n\tif ( rootClientId === destinationRootClientId ) {\n\t\treturn destinationIndex;\n\t}\n\tconst parents = [\n\t\t'',\n\t\t...registry\n\t\t\t.select( blockEditorStore )\n\t\t\t.getBlockParents( destinationRootClientId ),\n\t\tdestinationRootClientId,\n\t];\n\tconst parentIndex = parents.indexOf( rootClientId );\n\tif ( parentIndex !== -1 ) {\n\t\treturn (\n\t\t\tregistry\n\t\t\t\t.select( blockEditorStore )\n\t\t\t\t.getBlockIndex( parents[ parentIndex + 1 ] ) + 1\n\t\t);\n\t}\n\treturn registry.select( blockEditorStore ).getBlockOrder( rootClientId )\n\t\t.length;\n}\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\tselectBlockOnInsert = true,\n} ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tgetSelectedBlock,\n\t\tgetClosestAllowedInsertionPoint,\n\t\tisBlockInsertionPointVisible,\n\t} = unlock( 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\tgetInsertionPoint,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tlet _destinationRootClientId = rootClientId;\n\t\t\tlet _destinationIndex;\n\t\t\tconst insertionPoint = getInsertionPoint();\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 (\n\t\t\t\tinsertionPoint &&\n\t\t\t\tinsertionPoint.hasOwnProperty( 'index' )\n\t\t\t) {\n\t\t\t\t_destinationRootClientId = insertionPoint?.rootClientId\n\t\t\t\t\t? insertionPoint.rootClientId\n\t\t\t\t\t: rootClientId;\n\t\t\t\t_destinationIndex = insertionPoint.index;\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(\n\t\t\t\t\t_destinationRootClientId\n\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\tsetLastFocus,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\tconst onInsertBlocks = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock = false, _rootClientId ) => {\n\t\t\t// When we are trying to move focus or select a new block on insert, we also\n\t\t\t// need to clear the last focus to avoid the focus being set to the wrong block\n\t\t\t// when tabbing back into the canvas if the block was added from outside the\n\t\t\t// editor canvas.\n\t\t\tif (\n\t\t\t\tshouldForceFocusBlock ||\n\t\t\t\tshouldFocusBlock ||\n\t\t\t\tselectBlockOnInsert\n\t\t\t) {\n\t\t\t\tsetLastFocus( null );\n\t\t\t}\n\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, 'content' )\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\tisAppender || _rootClientId === undefined\n\t\t\t\t\t\t? destinationIndex\n\t\t\t\t\t\t: getIndex( {\n\t\t\t\t\t\t\t\tdestinationRootClientId,\n\t\t\t\t\t\t\t\tdestinationIndex,\n\t\t\t\t\t\t\t\trootClientId: _rootClientId,\n\t\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t } ),\n\t\t\t\t\tisAppender || _rootClientId === undefined\n\t\t\t\t\t\t? destinationRootClientId\n\t\t\t\t\t\t: _rootClientId,\n\t\t\t\t\tselectBlockOnInsert,\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 blockLength = Array.isArray( blocks ) ? blocks.length : 1;\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( '%d block added.', '%d blocks added.', blockLength ),\n\t\t\t\tblockLength\n\t\t\t);\n\t\t\tspeak( message );\n\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect( blocks );\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\tselectBlockOnInsert,\n\t\t\tsetLastFocus,\n\t\t\tregistry,\n\t\t]\n\t);\n\n\tconst onToggleInsertionPoint = useCallback(\n\t\t( item ) => {\n\t\t\tif ( item && ! isBlockInsertionPointVisible() ) {\n\t\t\t\tconst allowedDestinationRootClientId =\n\t\t\t\t\tgetClosestAllowedInsertionPoint(\n\t\t\t\t\t\titem.name,\n\t\t\t\t\t\tdestinationRootClientId\n\t\t\t\t\t);\n\t\t\t\tif ( allowedDestinationRootClientId !== null ) {\n\t\t\t\t\tshowInsertionPoint(\n\t\t\t\t\t\tallowedDestinationRootClientId,\n\t\t\t\t\t\tgetIndex( {\n\t\t\t\t\t\t\tdestinationRootClientId,\n\t\t\t\t\t\t\tdestinationIndex,\n\t\t\t\t\t\t\trootClientId: allowedDestinationRootClientId,\n\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thideInsertionPoint();\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\tgetClosestAllowedInsertionPoint,\n\t\t\tisBlockInsertionPointVisible,\n\t\t\tshowInsertionPoint,\n\t\t\thideInsertionPoint,\n\t\t\tdestinationRootClientId,\n\t\t\tdestinationIndex,\n\t\t\tregistry,\n\t\t]\n\t);\n\n\treturn [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ];\n}\n\nexport default useInsertionPoint;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -15,12 +15,12 @@ var InserterDraggableBlocks = ({
15
15
  children,
16
16
  pattern
17
17
  }) => {
18
+ const blockName = blocks.length === 1 ? blocks[0].name : void 0;
18
19
  const blockTypeIcon = useSelect(
19
20
  (select) => {
20
- const { getBlockType } = select(blocksStore);
21
- return blocks.length === 1 && getBlockType(blocks[0].name)?.icon;
21
+ return blockName && select(blocksStore).getBlockType(blockName)?.icon;
22
22
  },
23
- [blocks]
23
+ [blockName]
24
24
  );
25
25
  const { startDragging, stopDragging } = unlock(
26
26
  useDispatch(blockEditorStore)
@@ -43,9 +43,13 @@ var InserterDraggableBlocks = ({
43
43
  transferData: { type: "inserter", blocks: draggableBlocks },
44
44
  onDragStart: (event) => {
45
45
  startDragging();
46
+ const addedTypes = /* @__PURE__ */ new Set();
46
47
  for (const block of draggableBlocks) {
47
48
  const type = `wp-block:${block.name}`;
48
- event.dataTransfer.items.add("", type);
49
+ if (!addedTypes.has(type)) {
50
+ event.dataTransfer.items.add("", type);
51
+ addedTypes.add(type);
52
+ }
49
53
  }
50
54
  },
51
55
  onDragEnd: () => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/inserter-draggable-blocks/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Draggable } from '@wordpress/components';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from '../block-draggable/draggable-chip';\nimport { INSERTER_PATTERN_TYPES } from '../inserter/block-patterns-tab/utils';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst InserterDraggableBlocks = ( {\n\tisEnabled,\n\tblocks,\n\ticon,\n\tchildren,\n\tpattern,\n} ) => {\n\tconst blockTypeIcon = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\treturn (\n\t\t\t\tblocks.length === 1 && getBlockType( blocks[ 0 ].name )?.icon\n\t\t\t);\n\t\t},\n\t\t[ blocks ]\n\t);\n\n\tconst { startDragging, stopDragging } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst patternBlock = useMemo( () => {\n\t\treturn pattern?.type === INSERTER_PATTERN_TYPES.user &&\n\t\t\tpattern?.syncStatus !== 'unsynced'\n\t\t\t? [ createBlock( 'core/block', { ref: pattern.id } ) ]\n\t\t\t: undefined;\n\t}, [ pattern?.type, pattern?.syncStatus, pattern?.id ] );\n\n\tif ( ! isEnabled ) {\n\t\treturn children( {\n\t\t\tdraggable: false,\n\t\t\tonDragStart: undefined,\n\t\t\tonDragEnd: undefined,\n\t\t} );\n\t}\n\n\tconst draggableBlocks = patternBlock ?? blocks;\n\treturn (\n\t\t<Draggable\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ { type: 'inserter', blocks: draggableBlocks } }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\tstartDragging();\n\t\t\t\tfor ( const block of draggableBlocks ) {\n\t\t\t\t\tconst type = `wp-block:${ block.name }`;\n\t\t\t\t\t// This will fill in the dataTransfer.types array so that\n\t\t\t\t\t// the drop zone can check if the draggable is eligible.\n\t\t\t\t\t// Unfortuantely, on drag start, we don't have access to the\n\t\t\t\t\t// actual data, only the data keys/types.\n\t\t\t\t\tevent.dataTransfer.items.add( '', type );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonDragEnd={ () => {\n\t\t\t\tstopDragging();\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip\n\t\t\t\t\tcount={ blocks.length }\n\t\t\t\t\ticon={ icon || ( ! pattern && blockTypeIcon ) }\n\t\t\t\t\tisPattern={ !! pattern }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\tonDragStart: onDraggableStart,\n\t\t\t\t\tonDragEnd: onDraggableEnd,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default InserterDraggableBlocks;\n"],
5
- "mappings": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,aAAa,SAAS,mBAAmB;AAClD,SAAS,aAAa,iBAAiB;AACvC,SAAS,eAAe;AAKxB,OAAO,wBAAwB;AAC/B,SAAS,8BAA8B;AACvC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,cAAc;AA0DnB;AAxDJ,IAAM,0BAA0B,CAAE;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAO;AACN,QAAM,gBAAgB;AAAA,IACrB,CAAE,WAAY;AACb,YAAM,EAAE,aAAa,IAAI,OAAQ,WAAY;AAC7C,aACC,OAAO,WAAW,KAAK,aAAc,OAAQ,CAAE,EAAE,IAAK,GAAG;AAAA,IAE3D;AAAA,IACA,CAAE,MAAO;AAAA,EACV;AAEA,QAAM,EAAE,eAAe,aAAa,IAAI;AAAA,IACvC,YAAa,gBAAiB;AAAA,EAC/B;AAEA,QAAM,eAAe,QAAS,MAAM;AACnC,WAAO,SAAS,SAAS,uBAAuB,QAC/C,SAAS,eAAe,aACtB,CAAE,YAAa,cAAc,EAAE,KAAK,QAAQ,GAAG,CAAE,CAAE,IACnD;AAAA,EACJ,GAAG,CAAE,SAAS,MAAM,SAAS,YAAY,SAAS,EAAG,CAAE;AAEvD,MAAK,CAAE,WAAY;AAClB,WAAO,SAAU;AAAA,MAChB,WAAW;AAAA,MACX,aAAa;AAAA,MACb,WAAW;AAAA,IACZ,CAAE;AAAA,EACH;AAEA,QAAM,kBAAkB,gBAAgB;AACxC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,gCAA+B;AAAA,MAC/B,cAAe,EAAE,MAAM,YAAY,QAAQ,gBAAgB;AAAA,MAC3D,aAAc,CAAE,UAAW;AAC1B,sBAAc;AACd,mBAAY,SAAS,iBAAkB;AACtC,gBAAM,OAAO,YAAa,MAAM,IAAK;AAKrC,gBAAM,aAAa,MAAM,IAAK,IAAI,IAAK;AAAA,QACxC;AAAA,MACD;AAAA,MACA,WAAY,MAAM;AACjB,qBAAa;AAAA,MACd;AAAA,MACA,6BACC;AAAA,QAAC;AAAA;AAAA,UACA,OAAQ,OAAO;AAAA,UACf,MAAO,QAAU,CAAE,WAAW;AAAA,UAC9B,WAAY,CAAC,CAAE;AAAA;AAAA,MAChB;AAAA,MAGC,WAAE,EAAE,kBAAkB,eAAe,MAAO;AAC7C,eAAO,SAAU;AAAA,UAChB,WAAW;AAAA,UACX,aAAa;AAAA,UACb,WAAW;AAAA,QACZ,CAAE;AAAA,MACH;AAAA;AAAA,EACD;AAEF;AAEA,IAAO,oCAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Draggable } from '@wordpress/components';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from '../block-draggable/draggable-chip';\nimport { INSERTER_PATTERN_TYPES } from '../inserter/block-patterns-tab/utils';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst InserterDraggableBlocks = ( {\n\tisEnabled,\n\tblocks,\n\ticon,\n\tchildren,\n\tpattern,\n} ) => {\n\tconst blockName = blocks.length === 1 ? blocks[ 0 ].name : undefined;\n\tconst blockTypeIcon = useSelect(\n\t\t( select ) => {\n\t\t\treturn (\n\t\t\t\tblockName &&\n\t\t\t\tselect( blocksStore ).getBlockType( blockName )?.icon\n\t\t\t);\n\t\t},\n\t\t[ blockName ]\n\t);\n\n\tconst { startDragging, stopDragging } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst patternBlock = useMemo( () => {\n\t\treturn pattern?.type === INSERTER_PATTERN_TYPES.user &&\n\t\t\tpattern?.syncStatus !== 'unsynced'\n\t\t\t? [ createBlock( 'core/block', { ref: pattern.id } ) ]\n\t\t\t: undefined;\n\t}, [ pattern?.type, pattern?.syncStatus, pattern?.id ] );\n\n\tif ( ! isEnabled ) {\n\t\treturn children( {\n\t\t\tdraggable: false,\n\t\t\tonDragStart: undefined,\n\t\t\tonDragEnd: undefined,\n\t\t} );\n\t}\n\n\tconst draggableBlocks = patternBlock ?? blocks;\n\treturn (\n\t\t<Draggable\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ { type: 'inserter', blocks: draggableBlocks } }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\tstartDragging();\n\t\t\t\tconst addedTypes = new Set();\n\t\t\t\tfor ( const block of draggableBlocks ) {\n\t\t\t\t\tconst type = `wp-block:${ block.name }`;\n\t\t\t\t\t/*\n\t\t\t\t\t * Only add each block type once to avoid DataTransferItemList::add `NotSupportedError`\n\t\t\t\t\t * when patterns contain multiple blocks of the same type.\n\t\t\t\t\t */\n\t\t\t\t\tif ( ! addedTypes.has( type ) ) {\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * This will fill in the dataTransfer.types array so that\n\t\t\t\t\t\t * the drop zone can check if the draggable is eligible.\n\t\t\t\t\t\t * Unfortuantely, on drag start, we don't have access to the\n\t\t\t\t\t\t * actual data, only the data keys/types.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tevent.dataTransfer.items.add( '', type );\n\t\t\t\t\t\taddedTypes.add( type );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonDragEnd={ () => {\n\t\t\t\tstopDragging();\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip\n\t\t\t\t\tcount={ blocks.length }\n\t\t\t\t\ticon={ icon || ( ! pattern && blockTypeIcon ) }\n\t\t\t\t\tisPattern={ !! pattern }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: true,\n\t\t\t\t\tonDragStart: onDraggableStart,\n\t\t\t\t\tonDragEnd: onDraggableEnd,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default InserterDraggableBlocks;\n"],
5
+ "mappings": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,aAAa,SAAS,mBAAmB;AAClD,SAAS,aAAa,iBAAiB;AACvC,SAAS,eAAe;AAKxB,OAAO,wBAAwB;AAC/B,SAAS,8BAA8B;AACvC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,cAAc;AAqEnB;AAnEJ,IAAM,0BAA0B,CAAE;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,MAAO;AACN,QAAM,YAAY,OAAO,WAAW,IAAI,OAAQ,CAAE,EAAE,OAAO;AAC3D,QAAM,gBAAgB;AAAA,IACrB,CAAE,WAAY;AACb,aACC,aACA,OAAQ,WAAY,EAAE,aAAc,SAAU,GAAG;AAAA,IAEnD;AAAA,IACA,CAAE,SAAU;AAAA,EACb;AAEA,QAAM,EAAE,eAAe,aAAa,IAAI;AAAA,IACvC,YAAa,gBAAiB;AAAA,EAC/B;AAEA,QAAM,eAAe,QAAS,MAAM;AACnC,WAAO,SAAS,SAAS,uBAAuB,QAC/C,SAAS,eAAe,aACtB,CAAE,YAAa,cAAc,EAAE,KAAK,QAAQ,GAAG,CAAE,CAAE,IACnD;AAAA,EACJ,GAAG,CAAE,SAAS,MAAM,SAAS,YAAY,SAAS,EAAG,CAAE;AAEvD,MAAK,CAAE,WAAY;AAClB,WAAO,SAAU;AAAA,MAChB,WAAW;AAAA,MACX,aAAa;AAAA,MACb,WAAW;AAAA,IACZ,CAAE;AAAA,EACH;AAEA,QAAM,kBAAkB,gBAAgB;AACxC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,gCAA+B;AAAA,MAC/B,cAAe,EAAE,MAAM,YAAY,QAAQ,gBAAgB;AAAA,MAC3D,aAAc,CAAE,UAAW;AAC1B,sBAAc;AACd,cAAM,aAAa,oBAAI,IAAI;AAC3B,mBAAY,SAAS,iBAAkB;AACtC,gBAAM,OAAO,YAAa,MAAM,IAAK;AAKrC,cAAK,CAAE,WAAW,IAAK,IAAK,GAAI;AAO/B,kBAAM,aAAa,MAAM,IAAK,IAAI,IAAK;AACvC,uBAAW,IAAK,IAAK;AAAA,UACtB;AAAA,QACD;AAAA,MACD;AAAA,MACA,WAAY,MAAM;AACjB,qBAAa;AAAA,MACd;AAAA,MACA,6BACC;AAAA,QAAC;AAAA;AAAA,UACA,OAAQ,OAAO;AAAA,UACf,MAAO,QAAU,CAAE,WAAW;AAAA,UAC9B,WAAY,CAAC,CAAE;AAAA;AAAA,MAChB;AAAA,MAGC,WAAE,EAAE,kBAAkB,eAAe,MAAO;AAC7C,eAAO,SAAU;AAAA,UAChB,WAAW;AAAA,UACX,aAAa;AAAA,UACb,WAAW;AAAA,QACZ,CAAE;AAAA,MACH;AAAA;AAAA,EACD;AAEF;AAEA,IAAO,oCAAQ;",
6
6
  "names": []
7
7
  }
@@ -8,9 +8,10 @@ var ContentTab = ({ rootClientId, contentClientIds }) => {
8
8
  if (!contentClientIds || contentClientIds.length === 0) {
9
9
  return null;
10
10
  }
11
+ const shouldShowContentOnlyControls = window?.__experimentalContentOnlyPatternInsertion && window?.__experimentalContentOnlyInspectorFields;
11
12
  return /* @__PURE__ */ jsxs(Fragment, { children: [
12
- !window?.__experimentalContentOnlyPatternInsertion && /* @__PURE__ */ jsx(PanelBody, { title: __("Content"), children: /* @__PURE__ */ jsx(BlockQuickNavigation, { clientIds: contentClientIds }) }),
13
- window?.__experimentalContentOnlyPatternInsertion && /* @__PURE__ */ jsx(ContentOnlyControls, { rootClientId })
13
+ !shouldShowContentOnlyControls && /* @__PURE__ */ jsx(PanelBody, { title: __("Content"), children: /* @__PURE__ */ jsx(BlockQuickNavigation, { clientIds: contentClientIds }) }),
14
+ shouldShowContentOnlyControls && /* @__PURE__ */ jsx(ContentOnlyControls, { rootClientId })
14
15
  ] });
15
16
  };
16
17
  var content_tab_default = ContentTab;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/inspector-controls-tabs/content-tab.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockQuickNavigation from '../block-quick-navigation';\nimport ContentOnlyControls from '../content-only-controls';\n\nconst ContentTab = ( { rootClientId, contentClientIds } ) => {\n\tif ( ! contentClientIds || contentClientIds.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ ! window?.__experimentalContentOnlyPatternInsertion && (\n\t\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t\t<BlockQuickNavigation clientIds={ contentClientIds } />\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t{ window?.__experimentalContentOnlyPatternInsertion && (\n\t\t\t\t<ContentOnlyControls rootClientId={ rootClientId } />\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default ContentTab;\n"],
5
- "mappings": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,UAAU;AAKnB,OAAO,0BAA0B;AACjC,OAAO,yBAAyB;AAQ9B,mBAGG,KAHH;AANF,IAAM,aAAa,CAAE,EAAE,cAAc,iBAAiB,MAAO;AAC5D,MAAK,CAAE,oBAAoB,iBAAiB,WAAW,GAAI;AAC1D,WAAO;AAAA,EACR;AAEA,SACC,iCACG;AAAA,KAAE,QAAQ,6CACX,oBAAC,aAAU,OAAQ,GAAI,SAAU,GAChC,8BAAC,wBAAqB,WAAY,kBAAmB,GACtD;AAAA,IAEC,QAAQ,6CACT,oBAAC,uBAAoB,cAA8B;AAAA,KAErD;AAEF;AAEA,IAAO,sBAAQ;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockQuickNavigation from '../block-quick-navigation';\nimport ContentOnlyControls from '../content-only-controls';\n\nconst ContentTab = ( { rootClientId, contentClientIds } ) => {\n\tif ( ! contentClientIds || contentClientIds.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst shouldShowContentOnlyControls =\n\t\twindow?.__experimentalContentOnlyPatternInsertion &&\n\t\twindow?.__experimentalContentOnlyInspectorFields;\n\n\treturn (\n\t\t<>\n\t\t\t{ ! shouldShowContentOnlyControls && (\n\t\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t\t<BlockQuickNavigation clientIds={ contentClientIds } />\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t{ shouldShowContentOnlyControls && (\n\t\t\t\t<ContentOnlyControls rootClientId={ rootClientId } />\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default ContentTab;\n"],
5
+ "mappings": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,UAAU;AAKnB,OAAO,0BAA0B;AACjC,OAAO,yBAAyB;AAY9B,mBAGG,KAHH;AAVF,IAAM,aAAa,CAAE,EAAE,cAAc,iBAAiB,MAAO;AAC5D,MAAK,CAAE,oBAAoB,iBAAiB,WAAW,GAAI;AAC1D,WAAO;AAAA,EACR;AAEA,QAAM,gCACL,QAAQ,6CACR,QAAQ;AAET,SACC,iCACG;AAAA,KAAE,iCACH,oBAAC,aAAU,OAAQ,GAAI,SAAU,GAChC,8BAAC,wBAAqB,WAAY,kBAAmB,GACtD;AAAA,IAEC,iCACD,oBAAC,uBAAoB,cAA8B;AAAA,KAErD;AAEF;AAEA,IAAO,sBAAQ;",
6
6
  "names": []
7
7
  }
@@ -17,6 +17,7 @@ import { isShallowEqualObjects } from "@wordpress/is-shallow-equal";
17
17
  import { useSelect, useDispatch } from "@wordpress/data";
18
18
  import { store as preferencesStore } from "@wordpress/preferences";
19
19
  import { keyboardReturn, linkOff } from "@wordpress/icons";
20
+ import deprecated from "@wordpress/deprecated";
20
21
  import LinkControlSettingsDrawer from "./settings-drawer";
21
22
  import LinkControlSearchInput from "./search-input";
22
23
  import LinkPreview from "./link-preview";
@@ -25,7 +26,6 @@ import useCreatePage from "./use-create-page";
25
26
  import useInternalValue from "./use-internal-value";
26
27
  import { ViewerFill } from "./viewer-slot";
27
28
  import { DEFAULT_LINK_SETTINGS } from "./constants";
28
- import deprecated from "@wordpress/deprecated";
29
29
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
30
30
  var noop = () => {
31
31
  };