@wordpress/block-editor 12.13.0 → 12.15.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 (528) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +1 -1
  3. package/build/components/block-heading-level-dropdown/index.js +1 -1
  4. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  5. package/build/components/block-list/block.native.js +2 -0
  6. package/build/components/block-list/block.native.js.map +1 -1
  7. package/build/components/block-list/index.js +2 -9
  8. package/build/components/block-list/index.js.map +1 -1
  9. package/build/components/block-list-appender/index.js +16 -3
  10. package/build/components/block-list-appender/index.js.map +1 -1
  11. package/build/components/block-parent-selector/index.js +1 -1
  12. package/build/components/block-parent-selector/index.js.map +1 -1
  13. package/build/components/block-pattern-setup/index.js +25 -16
  14. package/build/components/block-pattern-setup/index.js.map +1 -1
  15. package/build/components/block-pattern-setup/setup-toolbar.js +4 -2
  16. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  17. package/build/components/block-patterns-list/index.js +36 -19
  18. package/build/components/block-patterns-list/index.js.map +1 -1
  19. package/build/components/block-quick-navigation/index.js +6 -4
  20. package/build/components/block-quick-navigation/index.js.map +1 -1
  21. package/build/components/block-rename/index.js +28 -0
  22. package/build/components/block-rename/index.js.map +1 -0
  23. package/build/components/block-rename/is-empty-string.js +10 -0
  24. package/build/components/block-rename/is-empty-string.js.map +1 -0
  25. package/build/components/block-rename/modal.js +87 -0
  26. package/build/components/block-rename/modal.js.map +1 -0
  27. package/build/components/block-rename/rename-control.js +74 -0
  28. package/build/components/block-rename/rename-control.js.map +1 -0
  29. package/build/components/block-rename/use-block-rename.js +17 -0
  30. package/build/components/block-rename/use-block-rename.js.map +1 -0
  31. package/build/components/block-settings-menu/block-settings-dropdown.js +33 -20
  32. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  33. package/build/components/block-settings-menu-controls/index.js +7 -0
  34. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  35. package/build/components/block-styles/index.js +0 -8
  36. package/build/components/block-styles/index.js.map +1 -1
  37. package/build/components/block-switcher/pattern-transformations-menu.js +18 -14
  38. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  39. package/build/components/block-toolbar/block-toolbar-menu.native.js +1 -1
  40. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  41. package/build/components/block-tools/back-compat.js +2 -2
  42. package/build/components/block-tools/back-compat.js.map +1 -1
  43. package/build/components/block-tools/block-contextual-toolbar.js +11 -81
  44. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  45. package/build/components/block-tools/empty-block-inserter.js +56 -0
  46. package/build/components/block-tools/empty-block-inserter.js.map +1 -0
  47. package/build/components/block-tools/index.js +48 -9
  48. package/build/components/block-tools/index.js.map +1 -1
  49. package/build/components/block-tools/selected-block-tools.js +113 -0
  50. package/build/components/block-tools/selected-block-tools.js.map +1 -0
  51. package/build/components/block-tools/use-selected-block-tool-props.js +56 -0
  52. package/build/components/block-tools/use-selected-block-tool-props.js.map +1 -0
  53. package/build/components/block-types-list/index.js +6 -2
  54. package/build/components/block-types-list/index.js.map +1 -1
  55. package/build/components/date-format-picker/index.js +8 -1
  56. package/build/components/date-format-picker/index.js.map +1 -1
  57. package/build/components/editable-text/index.js +1 -2
  58. package/build/components/editable-text/index.js.map +1 -1
  59. package/build/components/global-styles/advanced-panel.js +1 -1
  60. package/build/components/global-styles/advanced-panel.js.map +1 -1
  61. package/build/components/iframe/index.js +4 -3
  62. package/build/components/iframe/index.js.map +1 -1
  63. package/build/components/image-size-control/index.js +0 -5
  64. package/build/components/image-size-control/index.js.map +1 -1
  65. package/build/components/inner-blocks/index.js +3 -1
  66. package/build/components/inner-blocks/index.js.map +1 -1
  67. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +29 -31
  68. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  69. package/build/components/inserter/block-patterns-explorer/{explorer.js → index.js} +7 -7
  70. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -0
  71. package/build/components/inserter/block-patterns-explorer/{sidebar.js → pattern-explorer-sidebar.js} +1 -1
  72. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -0
  73. package/build/components/inserter/block-patterns-explorer/{patterns-list.js → pattern-list.js} +4 -4
  74. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -0
  75. package/build/components/inserter/block-patterns-tab/index.js +75 -0
  76. package/build/components/inserter/block-patterns-tab/index.js.map +1 -0
  77. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +48 -0
  78. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -0
  79. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +108 -0
  80. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -0
  81. package/build/components/inserter/{block-patterns-filter.js → block-patterns-tab/patterns-filter.js} +18 -34
  82. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -0
  83. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +55 -0
  84. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -0
  85. package/build/components/inserter/block-patterns-tab/utils.js +69 -0
  86. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -0
  87. package/build/components/inserter/hooks/use-patterns-state.js +2 -1
  88. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  89. package/build/components/inserter/media-tab/media-list.js +9 -5
  90. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  91. package/build/components/inserter/media-tab/media-preview.js +15 -12
  92. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  93. package/build/components/inserter/menu.js +3 -4
  94. package/build/components/inserter/menu.js.map +1 -1
  95. package/build/components/inserter-listbox/index.js +11 -6
  96. package/build/components/inserter-listbox/index.js.map +1 -1
  97. package/build/components/inserter-listbox/item.js +24 -23
  98. package/build/components/inserter-listbox/item.js.map +1 -1
  99. package/build/components/inserter-listbox/row.js +5 -5
  100. package/build/components/inserter-listbox/row.js.map +1 -1
  101. package/build/components/link-control/index.js +6 -5
  102. package/build/components/link-control/index.js.map +1 -1
  103. package/build/components/list-view/block-select-button.js +39 -0
  104. package/build/components/list-view/block-select-button.js.map +1 -1
  105. package/build/components/list-view/block.js +16 -3
  106. package/build/components/list-view/block.js.map +1 -1
  107. package/build/components/list-view/index.js +3 -2
  108. package/build/components/list-view/index.js.map +1 -1
  109. package/build/components/list-view/use-list-view-expand-selected-item.js +2 -3
  110. package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  111. package/build/components/navigable-toolbar/index.js +69 -18
  112. package/build/components/navigable-toolbar/index.js.map +1 -1
  113. package/build/components/preview-options/index.js +4 -2
  114. package/build/components/preview-options/index.js.map +1 -1
  115. package/build/components/provider/use-block-sync.js +1 -14
  116. package/build/components/provider/use-block-sync.js.map +1 -1
  117. package/build/components/rich-text/index.js +0 -1
  118. package/build/components/rich-text/index.js.map +1 -1
  119. package/build/components/rich-text/index.native.js +4 -2
  120. package/build/components/rich-text/index.native.js.map +1 -1
  121. package/build/components/rich-text/native/format-edit.js +45 -0
  122. package/build/components/rich-text/native/format-edit.js.map +1 -0
  123. package/build/components/rich-text/native/get-format-colors.native.js +41 -0
  124. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -0
  125. package/build/components/rich-text/native/index.js +9 -0
  126. package/build/components/rich-text/native/index.js.map +1 -0
  127. package/build/components/rich-text/native/index.native.js +1189 -0
  128. package/build/components/rich-text/native/index.native.js.map +1 -0
  129. package/build/components/rich-text/native/toolbar-button-with-options.native.js +58 -0
  130. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -0
  131. package/build/components/rich-text/native/use-format-types.js +111 -0
  132. package/build/components/rich-text/native/use-format-types.js.map +1 -0
  133. package/build/components/rich-text/use-input-rules.js +30 -1
  134. package/build/components/rich-text/use-input-rules.js.map +1 -1
  135. package/build/components/rich-text/use-paste-handler.js +2 -5
  136. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  137. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  138. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  139. package/build/components/url-popover/image-url-input-ui.js +2 -1
  140. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  141. package/build/components/use-block-drop-zone/index.js +4 -1
  142. package/build/components/use-block-drop-zone/index.js.map +1 -1
  143. package/build/components/use-moving-animation/index.js +2 -1
  144. package/build/components/use-moving-animation/index.js.map +1 -1
  145. package/build/components/use-settings/index.js +2 -2
  146. package/build/components/use-settings/index.js.map +1 -1
  147. package/build/components/writing-flow/use-tab-nav.js +7 -3
  148. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  149. package/build/hooks/align.js +10 -10
  150. package/build/hooks/align.js.map +1 -1
  151. package/build/hooks/align.native.js +2 -2
  152. package/build/hooks/align.native.js.map +1 -1
  153. package/build/hooks/anchor.js +7 -6
  154. package/build/hooks/anchor.js.map +1 -1
  155. package/build/hooks/background.js +16 -4
  156. package/build/hooks/background.js.map +1 -1
  157. package/build/hooks/block-hooks.js +7 -8
  158. package/build/hooks/block-hooks.js.map +1 -1
  159. package/build/hooks/block-renaming.js +42 -0
  160. package/build/hooks/block-renaming.js.map +1 -1
  161. package/build/hooks/content-lock-ui.js +5 -5
  162. package/build/hooks/content-lock-ui.js.map +1 -1
  163. package/build/hooks/custom-class-name.js +8 -7
  164. package/build/hooks/custom-class-name.js.map +1 -1
  165. package/build/hooks/custom-fields.js +57 -52
  166. package/build/hooks/custom-fields.js.map +1 -1
  167. package/build/hooks/duotone.js +9 -20
  168. package/build/hooks/duotone.js.map +1 -1
  169. package/build/hooks/index.js +0 -1
  170. package/build/hooks/index.js.map +1 -1
  171. package/build/hooks/layout.js +103 -93
  172. package/build/hooks/layout.js.map +1 -1
  173. package/build/hooks/position.js +10 -9
  174. package/build/hooks/position.js.map +1 -1
  175. package/build/hooks/style.js +10 -13
  176. package/build/hooks/style.js.map +1 -1
  177. package/build/hooks/utils.js +30 -0
  178. package/build/hooks/utils.js.map +1 -1
  179. package/build/layouts/constrained.js +4 -3
  180. package/build/layouts/constrained.js.map +1 -1
  181. package/build/private-apis.js +3 -0
  182. package/build/private-apis.js.map +1 -1
  183. package/build/store/actions.js +30 -37
  184. package/build/store/actions.js.map +1 -1
  185. package/build/store/reducer.js +18 -0
  186. package/build/store/reducer.js.map +1 -1
  187. package/build/store/selectors.js +18 -13
  188. package/build/store/selectors.js.map +1 -1
  189. package/build/utils/transform-styles/index.js +26 -6
  190. package/build/utils/transform-styles/index.js.map +1 -1
  191. package/build-module/components/block-heading-level-dropdown/index.js +1 -1
  192. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  193. package/build-module/components/block-list/block.native.js +2 -0
  194. package/build-module/components/block-list/block.native.js.map +1 -1
  195. package/build-module/components/block-list/index.js +3 -10
  196. package/build-module/components/block-list/index.js.map +1 -1
  197. package/build-module/components/block-list-appender/index.js +16 -3
  198. package/build-module/components/block-list-appender/index.js.map +1 -1
  199. package/build-module/components/block-parent-selector/index.js +1 -1
  200. package/build-module/components/block-parent-selector/index.js.map +1 -1
  201. package/build-module/components/block-pattern-setup/index.js +24 -15
  202. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  203. package/build-module/components/block-pattern-setup/setup-toolbar.js +4 -2
  204. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  205. package/build-module/components/block-patterns-list/index.js +36 -19
  206. package/build-module/components/block-patterns-list/index.js.map +1 -1
  207. package/build-module/components/block-quick-navigation/index.js +7 -5
  208. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  209. package/build-module/components/block-rename/index.js +4 -0
  210. package/build-module/components/block-rename/index.js.map +1 -0
  211. package/build-module/components/block-rename/is-empty-string.js +4 -0
  212. package/build-module/components/block-rename/is-empty-string.js.map +1 -0
  213. package/build-module/components/block-rename/modal.js +79 -0
  214. package/build-module/components/block-rename/modal.js.map +1 -0
  215. package/build-module/components/block-rename/rename-control.js +66 -0
  216. package/build-module/components/block-rename/rename-control.js.map +1 -0
  217. package/build-module/components/block-rename/use-block-rename.js +10 -0
  218. package/build-module/components/block-rename/use-block-rename.js.map +1 -0
  219. package/build-module/components/block-settings-menu/block-settings-dropdown.js +34 -21
  220. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  221. package/build-module/components/block-settings-menu-controls/index.js +7 -0
  222. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  223. package/build-module/components/block-styles/index.js +0 -8
  224. package/build-module/components/block-styles/index.js.map +1 -1
  225. package/build-module/components/block-switcher/pattern-transformations-menu.js +17 -13
  226. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  227. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -1
  228. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  229. package/build-module/components/block-tools/back-compat.js +1 -1
  230. package/build-module/components/block-tools/back-compat.js.map +1 -1
  231. package/build-module/components/block-tools/block-contextual-toolbar.js +11 -80
  232. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  233. package/build-module/components/block-tools/empty-block-inserter.js +48 -0
  234. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -0
  235. package/build-module/components/block-tools/index.js +48 -9
  236. package/build-module/components/block-tools/index.js.map +1 -1
  237. package/build-module/components/block-tools/selected-block-tools.js +105 -0
  238. package/build-module/components/block-tools/selected-block-tools.js.map +1 -0
  239. package/build-module/components/block-tools/use-selected-block-tool-props.js +50 -0
  240. package/build-module/components/block-tools/use-selected-block-tool-props.js.map +1 -0
  241. package/build-module/components/block-types-list/index.js +6 -2
  242. package/build-module/components/block-types-list/index.js.map +1 -1
  243. package/build-module/components/date-format-picker/index.js +8 -1
  244. package/build-module/components/date-format-picker/index.js.map +1 -1
  245. package/build-module/components/editable-text/index.js +1 -2
  246. package/build-module/components/editable-text/index.js.map +1 -1
  247. package/build-module/components/global-styles/advanced-panel.js +1 -1
  248. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  249. package/build-module/components/iframe/index.js +4 -3
  250. package/build-module/components/iframe/index.js.map +1 -1
  251. package/build-module/components/image-size-control/index.js +0 -5
  252. package/build-module/components/image-size-control/index.js.map +1 -1
  253. package/build-module/components/inner-blocks/index.js +3 -1
  254. package/build-module/components/inner-blocks/index.js.map +1 -1
  255. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +30 -32
  256. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  257. package/build-module/components/inserter/block-patterns-explorer/{explorer.js → index.js} +5 -5
  258. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -0
  259. package/build-module/components/inserter/block-patterns-explorer/{sidebar.js → pattern-explorer-sidebar.js} +1 -1
  260. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -0
  261. package/build-module/components/inserter/block-patterns-explorer/{patterns-list.js → pattern-list.js} +3 -3
  262. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -0
  263. package/build-module/components/inserter/block-patterns-tab/index.js +66 -0
  264. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -0
  265. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +42 -0
  266. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -0
  267. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +100 -0
  268. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -0
  269. package/build-module/components/inserter/{block-patterns-filter.js → block-patterns-tab/patterns-filter.js} +7 -20
  270. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -0
  271. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +47 -0
  272. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -0
  273. package/build-module/components/inserter/block-patterns-tab/utils.js +57 -0
  274. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -0
  275. package/build-module/components/inserter/hooks/use-patterns-state.js +2 -1
  276. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  277. package/build-module/components/inserter/media-tab/media-list.js +9 -5
  278. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  279. package/build-module/components/inserter/media-tab/media-preview.js +15 -12
  280. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  281. package/build-module/components/inserter/menu.js +4 -3
  282. package/build-module/components/inserter/menu.js.map +1 -1
  283. package/build-module/components/inserter-listbox/index.js +13 -8
  284. package/build-module/components/inserter-listbox/index.js.map +1 -1
  285. package/build-module/components/inserter-listbox/item.js +25 -23
  286. package/build-module/components/inserter-listbox/item.js.map +1 -1
  287. package/build-module/components/inserter-listbox/row.js +6 -5
  288. package/build-module/components/inserter-listbox/row.js.map +1 -1
  289. package/build-module/components/link-control/index.js +7 -6
  290. package/build-module/components/link-control/index.js.map +1 -1
  291. package/build-module/components/list-view/block-select-button.js +39 -0
  292. package/build-module/components/list-view/block-select-button.js.map +1 -1
  293. package/build-module/components/list-view/block.js +16 -3
  294. package/build-module/components/list-view/block.js.map +1 -1
  295. package/build-module/components/list-view/index.js +3 -2
  296. package/build-module/components/list-view/index.js.map +1 -1
  297. package/build-module/components/list-view/use-list-view-expand-selected-item.js +2 -3
  298. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  299. package/build-module/components/navigable-toolbar/index.js +69 -17
  300. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  301. package/build-module/components/preview-options/index.js +4 -2
  302. package/build-module/components/preview-options/index.js.map +1 -1
  303. package/build-module/components/provider/use-block-sync.js +1 -14
  304. package/build-module/components/provider/use-block-sync.js.map +1 -1
  305. package/build-module/components/rich-text/index.js +0 -1
  306. package/build-module/components/rich-text/index.js.map +1 -1
  307. package/build-module/components/rich-text/index.native.js +4 -2
  308. package/build-module/components/rich-text/index.native.js.map +1 -1
  309. package/build-module/components/rich-text/native/format-edit.js +38 -0
  310. package/build-module/components/rich-text/native/format-edit.js.map +1 -0
  311. package/build-module/components/rich-text/native/get-format-colors.native.js +34 -0
  312. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -0
  313. package/build-module/components/rich-text/native/index.js +2 -0
  314. package/build-module/components/rich-text/native/index.js.map +1 -0
  315. package/build-module/components/rich-text/native/index.native.js +1179 -0
  316. package/build-module/components/rich-text/native/index.native.js.map +1 -0
  317. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +51 -0
  318. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -0
  319. package/build-module/components/rich-text/native/use-format-types.js +104 -0
  320. package/build-module/components/rich-text/native/use-format-types.js.map +1 -0
  321. package/build-module/components/rich-text/use-input-rules.js +31 -2
  322. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  323. package/build-module/components/rich-text/use-paste-handler.js +2 -5
  324. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  325. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  326. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  327. package/build-module/components/url-popover/image-url-input-ui.js +2 -1
  328. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  329. package/build-module/components/use-block-drop-zone/index.js +4 -1
  330. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  331. package/build-module/components/use-moving-animation/index.js +2 -1
  332. package/build-module/components/use-moving-animation/index.js.map +1 -1
  333. package/build-module/components/use-settings/index.js +2 -2
  334. package/build-module/components/use-settings/index.js.map +1 -1
  335. package/build-module/components/writing-flow/use-tab-nav.js +7 -3
  336. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  337. package/build-module/hooks/align.js +8 -8
  338. package/build-module/hooks/align.js.map +1 -1
  339. package/build-module/hooks/align.native.js +2 -2
  340. package/build-module/hooks/align.native.js.map +1 -1
  341. package/build-module/hooks/anchor.js +5 -4
  342. package/build-module/hooks/anchor.js.map +1 -1
  343. package/build-module/hooks/background.js +17 -5
  344. package/build-module/hooks/background.js.map +1 -1
  345. package/build-module/hooks/block-hooks.js +5 -6
  346. package/build-module/hooks/block-hooks.js.map +1 -1
  347. package/build-module/hooks/block-renaming.js +40 -0
  348. package/build-module/hooks/block-renaming.js.map +1 -1
  349. package/build-module/hooks/content-lock-ui.js +3 -3
  350. package/build-module/hooks/content-lock-ui.js.map +1 -1
  351. package/build-module/hooks/custom-class-name.js +6 -5
  352. package/build-module/hooks/custom-class-name.js.map +1 -1
  353. package/build-module/hooks/custom-fields.js +57 -52
  354. package/build-module/hooks/custom-fields.js.map +1 -1
  355. package/build-module/hooks/duotone.js +10 -21
  356. package/build-module/hooks/duotone.js.map +1 -1
  357. package/build-module/hooks/index.js +0 -1
  358. package/build-module/hooks/index.js.map +1 -1
  359. package/build-module/hooks/layout.js +103 -93
  360. package/build-module/hooks/layout.js.map +1 -1
  361. package/build-module/hooks/position.js +11 -10
  362. package/build-module/hooks/position.js.map +1 -1
  363. package/build-module/hooks/style.js +10 -13
  364. package/build-module/hooks/style.js.map +1 -1
  365. package/build-module/hooks/utils.js +30 -1
  366. package/build-module/hooks/utils.js.map +1 -1
  367. package/build-module/layouts/constrained.js +4 -3
  368. package/build-module/layouts/constrained.js.map +1 -1
  369. package/build-module/private-apis.js +4 -1
  370. package/build-module/private-apis.js.map +1 -1
  371. package/build-module/store/actions.js +29 -37
  372. package/build-module/store/actions.js.map +1 -1
  373. package/build-module/store/reducer.js +17 -0
  374. package/build-module/store/reducer.js.map +1 -1
  375. package/build-module/store/selectors.js +17 -13
  376. package/build-module/store/selectors.js.map +1 -1
  377. package/build-module/utils/transform-styles/index.js +24 -7
  378. package/build-module/utils/transform-styles/index.js.map +1 -1
  379. package/build-style/content-rtl.css +6 -6
  380. package/build-style/content.css +6 -6
  381. package/build-style/style-rtl.css +26 -20
  382. package/build-style/style.css +26 -20
  383. package/package.json +31 -31
  384. package/src/components/block-heading-level-dropdown/index.js +1 -1
  385. package/src/components/block-list/block.native.js +2 -0
  386. package/src/components/block-list/index.js +4 -18
  387. package/src/components/block-list-appender/index.js +20 -4
  388. package/src/components/block-parent-selector/index.js +1 -1
  389. package/src/components/block-pattern-setup/index.js +38 -22
  390. package/src/components/block-pattern-setup/setup-toolbar.js +2 -0
  391. package/src/components/block-pattern-setup/style.scss +4 -1
  392. package/src/components/block-patterns-list/README.md +4 -4
  393. package/src/components/block-patterns-list/index.js +60 -34
  394. package/src/components/block-patterns-list/style.scss +7 -0
  395. package/src/components/block-quick-navigation/index.js +11 -5
  396. package/src/components/block-rename/index.js +3 -0
  397. package/src/components/block-rename/is-empty-string.js +3 -0
  398. package/src/components/block-rename/modal.js +115 -0
  399. package/src/components/block-rename/rename-control.js +80 -0
  400. package/src/components/block-rename/use-block-rename.js +10 -0
  401. package/src/components/block-settings-menu/block-settings-dropdown.js +38 -34
  402. package/src/components/block-settings-menu-controls/index.js +9 -0
  403. package/src/components/block-styles/index.js +0 -10
  404. package/src/components/block-switcher/pattern-transformations-menu.js +20 -14
  405. package/src/components/block-toolbar/block-toolbar-menu.native.js +1 -4
  406. package/src/components/block-toolbar/style.scss +8 -0
  407. package/src/components/block-tools/back-compat.js +1 -1
  408. package/src/components/block-tools/block-contextual-toolbar.js +11 -134
  409. package/src/components/block-tools/empty-block-inserter.js +56 -0
  410. package/src/components/block-tools/index.js +72 -16
  411. package/src/components/block-tools/selected-block-tools.js +127 -0
  412. package/src/components/block-tools/style.scss +0 -10
  413. package/src/components/block-tools/use-selected-block-tool-props.js +66 -0
  414. package/src/components/block-types-list/index.js +5 -4
  415. package/src/components/button-block-appender/content.scss +2 -2
  416. package/src/components/date-format-picker/index.js +7 -0
  417. package/src/components/editable-text/README.md +0 -36
  418. package/src/components/editable-text/index.js +1 -8
  419. package/src/components/global-styles/advanced-panel.js +1 -1
  420. package/src/components/iframe/index.js +4 -3
  421. package/src/components/image-size-control/index.js +0 -6
  422. package/src/components/inner-blocks/index.js +6 -2
  423. package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +57 -33
  424. package/src/components/inserter/block-patterns-explorer/{explorer.js → index.js} +4 -4
  425. package/src/components/inserter/block-patterns-explorer/{patterns-list.js → pattern-list.js} +9 -2
  426. package/src/components/inserter/block-patterns-tab/index.js +118 -0
  427. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +48 -0
  428. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +179 -0
  429. package/src/components/inserter/{block-patterns-filter.js → block-patterns-tab/patterns-filter.js} +15 -21
  430. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +101 -0
  431. package/src/components/inserter/block-patterns-tab/utils.js +78 -0
  432. package/src/components/inserter/hooks/use-patterns-state.js +3 -1
  433. package/src/components/inserter/media-tab/media-list.js +7 -7
  434. package/src/components/inserter/media-tab/media-preview.js +27 -22
  435. package/src/components/inserter/menu.js +4 -5
  436. package/src/components/inserter-listbox/index.js +11 -7
  437. package/src/components/inserter-listbox/item.js +11 -12
  438. package/src/components/inserter-listbox/row.js +6 -12
  439. package/src/components/link-control/README.md +2 -2
  440. package/src/components/link-control/index.js +15 -6
  441. package/src/components/link-control/style.scss +8 -5
  442. package/src/components/list-view/block-select-button.js +44 -1
  443. package/src/components/list-view/block.js +11 -11
  444. package/src/components/list-view/index.js +2 -0
  445. package/src/components/list-view/use-list-view-expand-selected-item.js +7 -8
  446. package/src/components/media-replace-flow/style.scss +2 -2
  447. package/src/components/navigable-toolbar/index.js +71 -25
  448. package/src/components/plain-text/README.md +2 -30
  449. package/src/components/preview-options/index.js +2 -0
  450. package/src/components/provider/use-block-sync.js +2 -21
  451. package/src/components/rich-text/README.md +6 -63
  452. package/src/components/rich-text/index.js +0 -1
  453. package/src/components/rich-text/index.native.js +4 -2
  454. package/src/components/rich-text/native/format-edit.js +44 -0
  455. package/src/components/rich-text/native/get-format-colors.native.js +54 -0
  456. package/src/components/rich-text/native/index.js +1 -0
  457. package/src/components/rich-text/native/index.native.js +1406 -0
  458. package/src/components/rich-text/native/style.native.scss +28 -0
  459. package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +79 -0
  460. package/src/components/rich-text/native/test/index.native.js +278 -0
  461. package/src/components/rich-text/native/test/performance/rich-text.native.js +44 -0
  462. package/src/components/rich-text/native/toolbar-button-with-options.native.js +61 -0
  463. package/src/components/rich-text/native/use-format-types.js +146 -0
  464. package/src/components/rich-text/use-input-rules.js +30 -2
  465. package/src/components/rich-text/use-paste-handler.js +1 -6
  466. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  467. package/src/components/url-input/README.md +1 -74
  468. package/src/components/url-popover/image-url-input-ui.js +1 -0
  469. package/src/components/use-block-drop-zone/index.js +4 -1
  470. package/src/components/use-moving-animation/index.js +1 -1
  471. package/src/components/use-settings/index.js +2 -2
  472. package/src/components/use-settings/test/index.js +1 -1
  473. package/src/components/writing-flow/use-tab-nav.js +8 -3
  474. package/src/hooks/align.js +8 -8
  475. package/src/hooks/align.native.js +2 -2
  476. package/src/hooks/anchor.js +21 -23
  477. package/src/hooks/background.js +28 -6
  478. package/src/hooks/block-hooks.js +20 -16
  479. package/src/hooks/block-renaming.js +47 -0
  480. package/src/hooks/content-lock-ui.js +3 -3
  481. package/src/hooks/custom-class-name.js +7 -6
  482. package/src/hooks/custom-fields.js +73 -70
  483. package/src/hooks/duotone.js +23 -33
  484. package/src/hooks/index.js +0 -1
  485. package/src/hooks/layout.js +126 -113
  486. package/src/hooks/position.js +8 -21
  487. package/src/hooks/style.js +17 -31
  488. package/src/hooks/test/__snapshots__/align.native.js.snap +5 -5
  489. package/src/hooks/test/align.js +4 -4
  490. package/src/hooks/utils.js +33 -1
  491. package/src/layouts/constrained.js +57 -50
  492. package/src/private-apis.js +4 -1
  493. package/src/store/actions.js +26 -72
  494. package/src/store/reducer.js +19 -0
  495. package/src/store/selectors.js +15 -19
  496. package/src/style.scss +1 -1
  497. package/src/utils/test/transform-styles.js +49 -0
  498. package/src/utils/transform-styles/index.js +39 -13
  499. package/build/components/block-tools/selected-block-popover.js +0 -221
  500. package/build/components/block-tools/selected-block-popover.js.map +0 -1
  501. package/build/components/inserter/block-patterns-explorer/explorer.js.map +0 -1
  502. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +0 -1
  503. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +0 -1
  504. package/build/components/inserter/block-patterns-filter.js.map +0 -1
  505. package/build/components/inserter/block-patterns-tab.js +0 -270
  506. package/build/components/inserter/block-patterns-tab.js.map +0 -1
  507. package/build/hooks/block-rename-ui.js +0 -165
  508. package/build/hooks/block-rename-ui.js.map +0 -1
  509. package/build/store/utils.js +0 -22
  510. package/build/store/utils.js.map +0 -1
  511. package/build-module/components/block-tools/selected-block-popover.js +0 -213
  512. package/build-module/components/block-tools/selected-block-popover.js.map +0 -1
  513. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +0 -1
  514. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +0 -1
  515. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +0 -1
  516. package/build-module/components/inserter/block-patterns-filter.js.map +0 -1
  517. package/build-module/components/inserter/block-patterns-tab.js +0 -254
  518. package/build-module/components/inserter/block-patterns-tab.js.map +0 -1
  519. package/build-module/hooks/block-rename-ui.js +0 -157
  520. package/build-module/hooks/block-rename-ui.js.map +0 -1
  521. package/build-module/store/utils.js +0 -16
  522. package/build-module/store/utils.js.map +0 -1
  523. package/src/components/block-tools/selected-block-popover.js +0 -265
  524. package/src/components/inserter/block-patterns-tab.js +0 -448
  525. package/src/hooks/block-rename-ui.js +0 -226
  526. package/src/store/utils.js +0 -12
  527. /package/src/{hooks/block-rename-ui.scss → components/block-rename/style.scss} +0 -0
  528. /package/src/components/inserter/block-patterns-explorer/{sidebar.js → pattern-explorer-sidebar.js} +0 -0
@@ -47,6 +47,35 @@ function CopyMenuItem({
47
47
  ref: ref
48
48
  }, copyMenuItemLabel);
49
49
  }
50
+ function ParentSelectorMenuItem({
51
+ parentClientId,
52
+ parentBlockType
53
+ }) {
54
+ const isSmallViewport = (0, _compose.useViewportMatch)('medium', '<');
55
+ const {
56
+ selectBlock
57
+ } = (0, _data.useDispatch)(_store.store);
58
+
59
+ // Allows highlighting the parent block outline when focusing or hovering
60
+ // the parent block selector within the child.
61
+ const menuItemRef = (0, _element.useRef)();
62
+ const gesturesProps = (0, _utils.useShowHoveredOrFocusedGestures)({
63
+ ref: menuItemRef,
64
+ highlightParent: true
65
+ });
66
+ if (!isSmallViewport) {
67
+ return null;
68
+ }
69
+ return (0, _react.createElement)(_components.MenuItem, {
70
+ ...gesturesProps,
71
+ ref: menuItemRef,
72
+ icon: (0, _react.createElement)(_blockIcon.default, {
73
+ icon: parentBlockType.icon
74
+ }),
75
+ onClick: () => selectBlock(parentClientId)
76
+ }, (0, _i18n.sprintf)( /* translators: %s: Name of the block's parent. */
77
+ (0, _i18n.__)('Select parent block (%s)'), parentBlockType.title));
78
+ }
50
79
  function BlockSettingsDropdown({
51
80
  block,
52
81
  clientIds,
@@ -108,9 +137,6 @@ function BlockSettingsDropdown({
108
137
  };
109
138
  }, []);
110
139
  const isMatch = (0, _keyboardShortcuts.__unstableUseShortcutEventMatch)();
111
- const {
112
- selectBlock
113
- } = (0, _data.useDispatch)(_store.store);
114
140
  const hasSelectedBlocks = selectedBlockClientIds.length > 0;
115
141
  const updateSelectionAfterDuplicate = (0, _element.useCallback)(async clientIdsPromise => {
116
142
  if (__experimentalSelectBlock) {
@@ -136,14 +162,6 @@ function BlockSettingsDropdown({
136
162
  }, [__experimentalSelectBlock, previousBlockClientId, firstParentClientId, getBlockOrder, hasSelectedBlocks, getSelectedBlockClientIds]);
137
163
  const removeBlockLabel = count === 1 ? (0, _i18n.__)('Delete') : (0, _i18n.__)('Delete blocks');
138
164
 
139
- // Allows highlighting the parent block outline when focusing or hovering
140
- // the parent block selector within the child.
141
- const selectParentButtonRef = (0, _element.useRef)();
142
- const showParentOutlineGestures = (0, _utils.useShowHoveredOrFocusedGestures)({
143
- ref: selectParentButtonRef,
144
- highlightParent: true
145
- });
146
-
147
165
  // This can occur when the selected block (the parent)
148
166
  // displays child blocks within a List View.
149
167
  const parentBlockIsSelected = selectedBlockClientIds?.includes(firstParentClientId);
@@ -218,15 +236,10 @@ function BlockSettingsDropdown({
218
236
  fillProps: {
219
237
  onClose
220
238
  }
221
- }), !parentBlockIsSelected && !!firstParentClientId && (0, _react.createElement)(_components.MenuItem, {
222
- ...showParentOutlineGestures,
223
- ref: selectParentButtonRef,
224
- icon: (0, _react.createElement)(_blockIcon.default, {
225
- icon: parentBlockType.icon
226
- }),
227
- onClick: () => selectBlock(firstParentClientId)
228
- }, (0, _i18n.sprintf)( /* translators: %s: Name of the block's parent. */
229
- (0, _i18n.__)('Select parent block (%s)'), parentBlockType.title)), count === 1 && (0, _react.createElement)(_blockHtmlConvertButton.default, {
239
+ }), !parentBlockIsSelected && !!firstParentClientId && (0, _react.createElement)(ParentSelectorMenuItem, {
240
+ parentClientId: firstParentClientId,
241
+ parentBlockType: parentBlockType
242
+ }), count === 1 && (0, _react.createElement)(_blockHtmlConvertButton.default, {
230
243
  clientId: firstBlockClientId
231
244
  }), (0, _react.createElement)(CopyMenuItem, {
232
245
  blocks: blocks,
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_components","_data","_icons","_element","_i18n","_keyboardShortcuts","_compose","_blockActions","_interopRequireDefault","_blockIcon","_blockHtmlConvertButton","_blockSettingsMenuFirstItem","_blockSettingsMenuControls","_store","_lockUnlock","_utils","POPOVER_PROPS","className","placement","CopyMenuItem","blocks","onCopy","label","ref","useCopyToClipboard","serialize","copyMenuItemBlocksLabel","length","__","copyMenuItemLabel","_react","createElement","MenuItem","BlockSettingsDropdown","block","clientIds","__experimentalSelectBlock","children","__unstableDisplayLocation","props","currentClientId","clientId","blockClientIds","Array","isArray","count","firstBlockClientId","firstParentClientId","onlyBlock","parentBlockType","previousBlockClientId","selectedBlockClientIds","useSelect","select","getBlockCount","getBlockName","getBlockRootClientId","getPreviousBlockClientId","getSelectedBlockClientIds","getBlockAttributes","blockEditorStore","getActiveBlockVariation","blocksStore","_firstParentClientId","parentBlockName","getBlockType","getBlockOrder","openedBlockSettingsMenu","unlock","getOpenedBlockSettingsMenu","setOpenedBlockSettingsMenu","useDispatch","shortcuts","getShortcutRepresentation","keyboardShortcutsStore","duplicate","remove","insertAfter","insertBefore","isMatch","__unstableUseShortcutEventMatch","selectBlock","hasSelectedBlocks","updateSelectionAfterDuplicate","useCallback","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","removeBlockLabel","selectParentButtonRef","useRef","showParentOutlineGestures","useShowHoveredOrFocusedGestures","highlightParent","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","default","__experimentalUpdateSelection","canCopyStyles","canDuplicate","canInsertDefaultBlock","canMove","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","onMoveTo","DropdownMenu","icon","moreVertical","popoverProps","noIcons","menuProps","onKeyDown","event","defaultPrevented","preventDefault","onClose","Fragment","MenuGroup","Slot","fillProps","onClick","sprintf","title","pipe","shortcut","Children","map","child","cloneElement","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockType,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tChildren,\n\tcloneElement,\n\tuseCallback,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tstore as keyboardShortcutsStore,\n\t__unstableUseShortcutEventMatch,\n} from '@wordpress/keyboard-shortcuts';\nimport { pipe, useCopyToClipboard } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport BlockIcon from '../block-icon';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useShowHoveredOrFocusedGestures } from '../block-toolbar/utils';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nfunction CopyMenuItem( { blocks, onCopy, label } ) {\n\tconst ref = useCopyToClipboard( () => serialize( blocks ), onCopy );\n\tconst copyMenuItemBlocksLabel =\n\t\tblocks.length > 1 ? __( 'Copy blocks' ) : __( 'Copy' );\n\tconst copyMenuItemLabel = label ? label : copyMenuItemBlocksLabel;\n\treturn <MenuItem ref={ ref }>{ copyMenuItemLabel }</MenuItem>;\n}\n\nexport function BlockSettingsDropdown( {\n\tblock,\n\tclientIds,\n\t__experimentalSelectBlock,\n\tchildren,\n\t__unstableDisplayLocation,\n\t...props\n} ) {\n\t// Get the client id of the current block for this menu, if one is set.\n\tconst currentClientId = block?.clientId;\n\tconst blockClientIds = Array.isArray( clientIds )\n\t\t? clientIds\n\t\t: [ clientIds ];\n\tconst count = blockClientIds.length;\n\tconst firstBlockClientId = blockClientIds[ 0 ];\n\tconst {\n\t\tfirstParentClientId,\n\t\tonlyBlock,\n\t\tparentBlockType,\n\t\tpreviousBlockClientId,\n\t\tselectedBlockClientIds,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\n\t\t\tconst _firstParentClientId =\n\t\t\t\tgetBlockRootClientId( firstBlockClientId );\n\t\t\tconst parentBlockName =\n\t\t\t\t_firstParentClientId && getBlockName( _firstParentClientId );\n\n\t\t\treturn {\n\t\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\t\tonlyBlock: 1 === getBlockCount( _firstParentClientId ),\n\t\t\t\tparentBlockType:\n\t\t\t\t\t_firstParentClientId &&\n\t\t\t\t\t( getActiveBlockVariation(\n\t\t\t\t\t\tparentBlockName,\n\t\t\t\t\t\tgetBlockAttributes( _firstParentClientId )\n\t\t\t\t\t) ||\n\t\t\t\t\t\tgetBlockType( parentBlockName ) ),\n\t\t\t\tpreviousBlockClientId:\n\t\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ),\n\t\t\t\tselectedBlockClientIds: getSelectedBlockClientIds(),\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\tconst { getBlockOrder, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst openedBlockSettingsMenu = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( blockEditorStore ) ).getOpenedBlockSettingsMenu(),\n\t\t[]\n\t);\n\n\tconst { setOpenedBlockSettingsMenu } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst shortcuts = useSelect( ( select ) => {\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\tduplicate: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/duplicate'\n\t\t\t),\n\t\t\tremove: getShortcutRepresentation( 'core/block-editor/remove' ),\n\t\t\tinsertAfter: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-after'\n\t\t\t),\n\t\t\tinsertBefore: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-before'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst isMatch = __unstableUseShortcutEventMatch();\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst hasSelectedBlocks = selectedBlockClientIds.length > 0;\n\n\tconst updateSelectionAfterDuplicate = useCallback(\n\t\tasync ( clientIdsPromise ) => {\n\t\t\tif ( __experimentalSelectBlock ) {\n\t\t\t\tconst ids = await clientIdsPromise;\n\t\t\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t\t\t__experimentalSelectBlock( ids[ 0 ], false );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ __experimentalSelectBlock ]\n\t);\n\n\tconst updateSelectionAfterRemove = useCallback( () => {\n\t\tif ( __experimentalSelectBlock ) {\n\t\t\tlet blockToFocus = previousBlockClientId || firstParentClientId;\n\n\t\t\t// Focus the first block if there's no previous block nor parent block.\n\t\t\tif ( ! blockToFocus ) {\n\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t}\n\n\t\t\t// Only update the selection if the original selection is removed.\n\t\t\tconst shouldUpdateSelection =\n\t\t\t\thasSelectedBlocks && getSelectedBlockClientIds().length === 0;\n\n\t\t\t__experimentalSelectBlock( blockToFocus, shouldUpdateSelection );\n\t\t}\n\t}, [\n\t\t__experimentalSelectBlock,\n\t\tpreviousBlockClientId,\n\t\tfirstParentClientId,\n\t\tgetBlockOrder,\n\t\thasSelectedBlocks,\n\t\tgetSelectedBlockClientIds,\n\t] );\n\n\tconst removeBlockLabel =\n\t\tcount === 1 ? __( 'Delete' ) : __( 'Delete blocks' );\n\n\t// Allows highlighting the parent block outline when focusing or hovering\n\t// the parent block selector within the child.\n\tconst selectParentButtonRef = useRef();\n\tconst showParentOutlineGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: selectParentButtonRef,\n\t\thighlightParent: true,\n\t} );\n\n\t// This can occur when the selected block (the parent)\n\t// displays child blocks within a List View.\n\tconst parentBlockIsSelected =\n\t\tselectedBlockClientIds?.includes( firstParentClientId );\n\n\t// When a currentClientId is in use, treat the menu as a controlled component.\n\t// This ensures that only one block settings menu is open at a time.\n\t// This is a temporary solution to work around an issue with `onFocusOutside`\n\t// where it does not allow a dropdown to be closed if focus was never within\n\t// the dropdown to begin with. Examples include a user either CMD+Clicking or\n\t// right clicking into an inactive window.\n\t// See: https://github.com/WordPress/gutenberg/pull/54083\n\tconst open = ! currentClientId\n\t\t? undefined\n\t\t: openedBlockSettingsMenu === currentClientId || false;\n\n\tconst onToggle = useCallback(\n\t\t( localOpen ) => {\n\t\t\tif ( localOpen && openedBlockSettingsMenu !== currentClientId ) {\n\t\t\t\tsetOpenedBlockSettingsMenu( currentClientId );\n\t\t\t} else if (\n\t\t\t\t! localOpen &&\n\t\t\t\topenedBlockSettingsMenu &&\n\t\t\t\topenedBlockSettingsMenu === currentClientId\n\t\t\t) {\n\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t}\n\t\t},\n\t\t[ currentClientId, openedBlockSettingsMenu, setOpenedBlockSettingsMenu ]\n\t);\n\n\treturn (\n\t\t<BlockActions\n\t\t\tclientIds={ clientIds }\n\t\t\t__experimentalUpdateSelection={ ! __experimentalSelectBlock }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tcanCopyStyles,\n\t\t\t\tcanDuplicate,\n\t\t\t\tcanInsertDefaultBlock,\n\t\t\t\tcanMove,\n\t\t\t\tcanRemove,\n\t\t\t\tonDuplicate,\n\t\t\t\tonInsertAfter,\n\t\t\t\tonInsertBefore,\n\t\t\t\tonRemove,\n\t\t\t\tonCopy,\n\t\t\t\tonPasteStyles,\n\t\t\t\tonMoveTo,\n\t\t\t\tblocks,\n\t\t\t} ) => (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\topen={ open }\n\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\tnoIcons\n\t\t\t\t\tmenuProps={ {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * @param {KeyboardEvent} event\n\t\t\t\t\t\t */\n\t\t\t\t\t\tonKeyDown( event ) {\n\t\t\t\t\t\t\tif ( event.defaultPrevented ) return;\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tisMatch( 'core/block-editor/remove', event ) &&\n\t\t\t\t\t\t\t\tcanRemove\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tupdateSelectionAfterRemove( onRemove() );\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/duplicate',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanDuplicate\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate( onDuplicate() );\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/insert-after',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanInsertDefaultBlock\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\t\t\t\t\tonInsertAfter();\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/insert-before',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanInsertDefaultBlock\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\t\t\t\t\tonInsertBefore();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ! parentBlockIsSelected &&\n\t\t\t\t\t\t\t\t\t!! firstParentClientId && (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t{ ...showParentOutlineGestures }\n\t\t\t\t\t\t\t\t\t\t\tref={ selectParentButtonRef }\n\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentBlockType.icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tselectBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\tfirstParentClientId\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: Name of the block's parent. */\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Select parent block (%s)'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tparentBlockType.title\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.duplicate }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canInsertDefaultBlock && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertBefore }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertAfter }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t{ canCopyStyles && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy styles' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<MenuItem onClick={ onPasteStyles }>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Paste styles' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\tcanMove,\n\t\t\t\t\t\t\t\t\tonMoveTo,\n\t\t\t\t\t\t\t\t\tonlyBlock,\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\tfirstBlockClientId,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t__unstableDisplayLocation={\n\t\t\t\t\t\t\t\t\t__unstableDisplayLocation\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterRemove\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.remove }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ removeBlockLabel }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_blocks","require","_components","_data","_icons","_element","_i18n","_keyboardShortcuts","_compose","_blockActions","_interopRequireDefault","_blockIcon","_blockHtmlConvertButton","_blockSettingsMenuFirstItem","_blockSettingsMenuControls","_store","_lockUnlock","_utils","POPOVER_PROPS","className","placement","CopyMenuItem","blocks","onCopy","label","ref","useCopyToClipboard","serialize","copyMenuItemBlocksLabel","length","__","copyMenuItemLabel","_react","createElement","MenuItem","ParentSelectorMenuItem","parentClientId","parentBlockType","isSmallViewport","useViewportMatch","selectBlock","useDispatch","blockEditorStore","menuItemRef","useRef","gesturesProps","useShowHoveredOrFocusedGestures","highlightParent","icon","default","onClick","sprintf","title","BlockSettingsDropdown","block","clientIds","__experimentalSelectBlock","children","__unstableDisplayLocation","props","currentClientId","clientId","blockClientIds","Array","isArray","count","firstBlockClientId","firstParentClientId","onlyBlock","previousBlockClientId","selectedBlockClientIds","useSelect","select","getBlockCount","getBlockName","getBlockRootClientId","getPreviousBlockClientId","getSelectedBlockClientIds","getBlockAttributes","getActiveBlockVariation","blocksStore","_firstParentClientId","parentBlockName","getBlockType","getBlockOrder","openedBlockSettingsMenu","unlock","getOpenedBlockSettingsMenu","setOpenedBlockSettingsMenu","shortcuts","getShortcutRepresentation","keyboardShortcutsStore","duplicate","remove","insertAfter","insertBefore","isMatch","__unstableUseShortcutEventMatch","hasSelectedBlocks","updateSelectionAfterDuplicate","useCallback","clientIdsPromise","ids","updateSelectionAfterRemove","blockToFocus","shouldUpdateSelection","removeBlockLabel","parentBlockIsSelected","includes","open","undefined","onToggle","localOpen","__experimentalUpdateSelection","canCopyStyles","canDuplicate","canInsertDefaultBlock","canMove","canRemove","onDuplicate","onInsertAfter","onInsertBefore","onRemove","onPasteStyles","onMoveTo","DropdownMenu","moreVertical","popoverProps","noIcons","menuProps","onKeyDown","event","defaultPrevented","preventDefault","onClose","Fragment","MenuGroup","Slot","fillProps","pipe","shortcut","Children","map","child","cloneElement","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-settings-menu/block-settings-dropdown.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockType,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tChildren,\n\tcloneElement,\n\tuseCallback,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tstore as keyboardShortcutsStore,\n\t__unstableUseShortcutEventMatch,\n} from '@wordpress/keyboard-shortcuts';\nimport { pipe, useCopyToClipboard, useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockActions from '../block-actions';\nimport BlockIcon from '../block-icon';\nimport BlockHTMLConvertButton from './block-html-convert-button';\nimport __unstableBlockSettingsMenuFirstItem from './block-settings-menu-first-item';\nimport BlockSettingsMenuControls from '../block-settings-menu-controls';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useShowHoveredOrFocusedGestures } from '../block-toolbar/utils';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tplacement: 'bottom-start',\n};\n\nfunction CopyMenuItem( { blocks, onCopy, label } ) {\n\tconst ref = useCopyToClipboard( () => serialize( blocks ), onCopy );\n\tconst copyMenuItemBlocksLabel =\n\t\tblocks.length > 1 ? __( 'Copy blocks' ) : __( 'Copy' );\n\tconst copyMenuItemLabel = label ? label : copyMenuItemBlocksLabel;\n\treturn <MenuItem ref={ ref }>{ copyMenuItemLabel }</MenuItem>;\n}\n\nfunction ParentSelectorMenuItem( { parentClientId, parentBlockType } ) {\n\tconst isSmallViewport = useViewportMatch( 'medium', '<' );\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\t// Allows highlighting the parent block outline when focusing or hovering\n\t// the parent block selector within the child.\n\tconst menuItemRef = useRef();\n\tconst gesturesProps = useShowHoveredOrFocusedGestures( {\n\t\tref: menuItemRef,\n\t\thighlightParent: true,\n\t} );\n\n\tif ( ! isSmallViewport ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuItem\n\t\t\t{ ...gesturesProps }\n\t\t\tref={ menuItemRef }\n\t\t\ticon={ <BlockIcon icon={ parentBlockType.icon } /> }\n\t\t\tonClick={ () => selectBlock( parentClientId ) }\n\t\t>\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: %s: Name of the block's parent. */\n\t\t\t\t__( 'Select parent block (%s)' ),\n\t\t\t\tparentBlockType.title\n\t\t\t) }\n\t\t</MenuItem>\n\t);\n}\n\nexport function BlockSettingsDropdown( {\n\tblock,\n\tclientIds,\n\t__experimentalSelectBlock,\n\tchildren,\n\t__unstableDisplayLocation,\n\t...props\n} ) {\n\t// Get the client id of the current block for this menu, if one is set.\n\tconst currentClientId = block?.clientId;\n\tconst blockClientIds = Array.isArray( clientIds )\n\t\t? clientIds\n\t\t: [ clientIds ];\n\tconst count = blockClientIds.length;\n\tconst firstBlockClientId = blockClientIds[ 0 ];\n\tconst {\n\t\tfirstParentClientId,\n\t\tonlyBlock,\n\t\tparentBlockType,\n\t\tpreviousBlockClientId,\n\t\tselectedBlockClientIds,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst { getActiveBlockVariation } = select( blocksStore );\n\n\t\t\tconst _firstParentClientId =\n\t\t\t\tgetBlockRootClientId( firstBlockClientId );\n\t\t\tconst parentBlockName =\n\t\t\t\t_firstParentClientId && getBlockName( _firstParentClientId );\n\n\t\t\treturn {\n\t\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\t\tonlyBlock: 1 === getBlockCount( _firstParentClientId ),\n\t\t\t\tparentBlockType:\n\t\t\t\t\t_firstParentClientId &&\n\t\t\t\t\t( getActiveBlockVariation(\n\t\t\t\t\t\tparentBlockName,\n\t\t\t\t\t\tgetBlockAttributes( _firstParentClientId )\n\t\t\t\t\t) ||\n\t\t\t\t\t\tgetBlockType( parentBlockName ) ),\n\t\t\t\tpreviousBlockClientId:\n\t\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ),\n\t\t\t\tselectedBlockClientIds: getSelectedBlockClientIds(),\n\t\t\t};\n\t\t},\n\t\t[ firstBlockClientId ]\n\t);\n\tconst { getBlockOrder, getSelectedBlockClientIds } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst openedBlockSettingsMenu = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( blockEditorStore ) ).getOpenedBlockSettingsMenu(),\n\t\t[]\n\t);\n\n\tconst { setOpenedBlockSettingsMenu } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst shortcuts = useSelect( ( select ) => {\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\tduplicate: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/duplicate'\n\t\t\t),\n\t\t\tremove: getShortcutRepresentation( 'core/block-editor/remove' ),\n\t\t\tinsertAfter: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-after'\n\t\t\t),\n\t\t\tinsertBefore: getShortcutRepresentation(\n\t\t\t\t'core/block-editor/insert-before'\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst isMatch = __unstableUseShortcutEventMatch();\n\tconst hasSelectedBlocks = selectedBlockClientIds.length > 0;\n\n\tconst updateSelectionAfterDuplicate = useCallback(\n\t\tasync ( clientIdsPromise ) => {\n\t\t\tif ( __experimentalSelectBlock ) {\n\t\t\t\tconst ids = await clientIdsPromise;\n\t\t\t\tif ( ids && ids[ 0 ] ) {\n\t\t\t\t\t__experimentalSelectBlock( ids[ 0 ], false );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ __experimentalSelectBlock ]\n\t);\n\n\tconst updateSelectionAfterRemove = useCallback( () => {\n\t\tif ( __experimentalSelectBlock ) {\n\t\t\tlet blockToFocus = previousBlockClientId || firstParentClientId;\n\n\t\t\t// Focus the first block if there's no previous block nor parent block.\n\t\t\tif ( ! blockToFocus ) {\n\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t}\n\n\t\t\t// Only update the selection if the original selection is removed.\n\t\t\tconst shouldUpdateSelection =\n\t\t\t\thasSelectedBlocks && getSelectedBlockClientIds().length === 0;\n\n\t\t\t__experimentalSelectBlock( blockToFocus, shouldUpdateSelection );\n\t\t}\n\t}, [\n\t\t__experimentalSelectBlock,\n\t\tpreviousBlockClientId,\n\t\tfirstParentClientId,\n\t\tgetBlockOrder,\n\t\thasSelectedBlocks,\n\t\tgetSelectedBlockClientIds,\n\t] );\n\n\tconst removeBlockLabel =\n\t\tcount === 1 ? __( 'Delete' ) : __( 'Delete blocks' );\n\n\t// This can occur when the selected block (the parent)\n\t// displays child blocks within a List View.\n\tconst parentBlockIsSelected =\n\t\tselectedBlockClientIds?.includes( firstParentClientId );\n\n\t// When a currentClientId is in use, treat the menu as a controlled component.\n\t// This ensures that only one block settings menu is open at a time.\n\t// This is a temporary solution to work around an issue with `onFocusOutside`\n\t// where it does not allow a dropdown to be closed if focus was never within\n\t// the dropdown to begin with. Examples include a user either CMD+Clicking or\n\t// right clicking into an inactive window.\n\t// See: https://github.com/WordPress/gutenberg/pull/54083\n\tconst open = ! currentClientId\n\t\t? undefined\n\t\t: openedBlockSettingsMenu === currentClientId || false;\n\n\tconst onToggle = useCallback(\n\t\t( localOpen ) => {\n\t\t\tif ( localOpen && openedBlockSettingsMenu !== currentClientId ) {\n\t\t\t\tsetOpenedBlockSettingsMenu( currentClientId );\n\t\t\t} else if (\n\t\t\t\t! localOpen &&\n\t\t\t\topenedBlockSettingsMenu &&\n\t\t\t\topenedBlockSettingsMenu === currentClientId\n\t\t\t) {\n\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t}\n\t\t},\n\t\t[ currentClientId, openedBlockSettingsMenu, setOpenedBlockSettingsMenu ]\n\t);\n\n\treturn (\n\t\t<BlockActions\n\t\t\tclientIds={ clientIds }\n\t\t\t__experimentalUpdateSelection={ ! __experimentalSelectBlock }\n\t\t>\n\t\t\t{ ( {\n\t\t\t\tcanCopyStyles,\n\t\t\t\tcanDuplicate,\n\t\t\t\tcanInsertDefaultBlock,\n\t\t\t\tcanMove,\n\t\t\t\tcanRemove,\n\t\t\t\tonDuplicate,\n\t\t\t\tonInsertAfter,\n\t\t\t\tonInsertBefore,\n\t\t\t\tonRemove,\n\t\t\t\tonCopy,\n\t\t\t\tonPasteStyles,\n\t\t\t\tonMoveTo,\n\t\t\t\tblocks,\n\t\t\t} ) => (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t\topen={ open }\n\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\tnoIcons\n\t\t\t\t\tmenuProps={ {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * @param {KeyboardEvent} event\n\t\t\t\t\t\t */\n\t\t\t\t\t\tonKeyDown( event ) {\n\t\t\t\t\t\t\tif ( event.defaultPrevented ) return;\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tisMatch( 'core/block-editor/remove', event ) &&\n\t\t\t\t\t\t\t\tcanRemove\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tupdateSelectionAfterRemove( onRemove() );\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/duplicate',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanDuplicate\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate( onDuplicate() );\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/insert-after',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanInsertDefaultBlock\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\t\t\t\t\tonInsertAfter();\n\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\tisMatch(\n\t\t\t\t\t\t\t\t\t'core/block-editor/insert-before',\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t) &&\n\t\t\t\t\t\t\t\tcanInsertDefaultBlock\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\t\t\t\t\tonInsertBefore();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<__unstableBlockSettingsMenuFirstItem.Slot\n\t\t\t\t\t\t\t\t\tfillProps={ { onClose } }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ! parentBlockIsSelected &&\n\t\t\t\t\t\t\t\t\t!! firstParentClientId && (\n\t\t\t\t\t\t\t\t\t\t<ParentSelectorMenuItem\n\t\t\t\t\t\t\t\t\t\t\tparentClientId={\n\t\t\t\t\t\t\t\t\t\t\t\tfirstParentClientId\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tparentBlockType={ parentBlockType }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ count === 1 && (\n\t\t\t\t\t\t\t\t\t<BlockHTMLConvertButton\n\t\t\t\t\t\t\t\t\t\tclientId={ firstBlockClientId }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ canDuplicate && (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonDuplicate,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterDuplicate\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.duplicate }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ canInsertDefaultBlock && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertBefore\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertBefore }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add before' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\t\tonInsertAfter\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.insertAfter }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Add after' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t{ canCopyStyles && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<CopyMenuItem\n\t\t\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\t\t\tonCopy={ onCopy }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Copy styles' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<MenuItem onClick={ onPasteStyles }>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Paste styles' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockSettingsMenuControls.Slot\n\t\t\t\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\tcanMove,\n\t\t\t\t\t\t\t\t\tonMoveTo,\n\t\t\t\t\t\t\t\t\tonlyBlock,\n\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\tfirstBlockClientId,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\t__unstableDisplayLocation={\n\t\t\t\t\t\t\t\t\t__unstableDisplayLocation\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t\t: Children.map( ( child ) =>\n\t\t\t\t\t\t\t\t\t\tcloneElement( child, { onClose } )\n\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\t\t\tonClose,\n\t\t\t\t\t\t\t\t\t\t\tonRemove,\n\t\t\t\t\t\t\t\t\t\t\tupdateSelectionAfterRemove\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tshortcut={ shortcuts.remove }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ removeBlockLabel }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</BlockActions>\n\t);\n}\n\nexport default BlockSettingsDropdown;\n"],"mappings":"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"}
@@ -14,6 +14,7 @@ var _convertToGroupButtons = require("../convert-to-group-buttons");
14
14
  var _blockLock = require("../block-lock");
15
15
  var _store = require("../../store");
16
16
  var _blockModeToggle = _interopRequireDefault(require("../block-settings-menu/block-mode-toggle"));
17
+ var _blockRename = require("../block-rename");
17
18
  /**
18
19
  * WordPress dependencies
19
20
  */
@@ -48,7 +49,11 @@ const BlockSettingsMenuControlsSlot = ({
48
49
  const {
49
50
  canLock
50
51
  } = (0, _blockLock.useBlockLock)(selectedClientIds[0]);
52
+ const {
53
+ canRename
54
+ } = (0, _blockRename.useBlockRename)(selectedBlocks[0]);
51
55
  const showLockButton = selectedClientIds.length === 1 && canLock;
56
+ const showRenameButton = selectedClientIds.length === 1 && canRename;
52
57
 
53
58
  // Check if current selection of blocks is Groupable or Ungroupable
54
59
  // and pass this props down to ConvertToGroupButton.
@@ -74,6 +79,8 @@ const BlockSettingsMenuControlsSlot = ({
74
79
  onClose: fillProps?.onClose
75
80
  }), showLockButton && (0, _react.createElement)(_blockLock.BlockLockMenuItem, {
76
81
  clientId: selectedClientIds[0]
82
+ }), showRenameButton && (0, _react.createElement)(_blockRename.BlockRenameControl, {
83
+ clientId: selectedClientIds[0]
77
84
  }), fills, fillProps?.canMove && !fillProps?.onlyBlock && (0, _react.createElement)(_components.MenuItem, {
78
85
  onClick: (0, _compose.pipe)(fillProps?.onClose, fillProps?.onMoveTo)
79
86
  }, (0, _i18n.__)('Move to')), fillProps?.count === 1 && (0, _react.createElement)(_blockModeToggle.default, {
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_data","_compose","_i18n","_convertToGroupButtons","_blockLock","_store","_blockModeToggle","_interopRequireDefault","Fill","Slot","createSlotFill","BlockSettingsMenuControlsSlot","fillProps","clientIds","__unstableDisplayLocation","selectedBlocks","selectedClientIds","useSelect","select","getBlockNamesByClientId","getSelectedBlockClientIds","blockEditorStore","ids","canLock","useBlockLock","showLockButton","length","convertToGroupButtonProps","useConvertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","_react","createElement","fills","MenuGroup","ConvertToGroupButton","onClose","BlockLockMenuItem","clientId","canMove","onlyBlock","MenuItem","onClick","pipe","onMoveTo","__","count","default","firstBlockClientId","onToggle","BlockSettingsMenuControls","props","__experimentalStyleProvider","document","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalStyleProvider as StyleProvider,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { pipe } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseConvertToGroupButtonProps,\n\tConvertToGroupButton,\n} from '../convert-to-group-buttons';\nimport { BlockLockMenuItem, useBlockLock } from '../block-lock';\nimport { store as blockEditorStore } from '../../store';\nimport BlockModeToggle from '../block-settings-menu/block-mode-toggle';\n\nconst { Fill, Slot } = createSlotFill( 'BlockSettingsMenuControls' );\n\nconst BlockSettingsMenuControlsSlot = ( {\n\tfillProps,\n\tclientIds = null,\n\t__unstableDisplayLocation,\n} ) => {\n\tconst { selectedBlocks, selectedClientIds } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockNamesByClientId, getSelectedBlockClientIds } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst ids =\n\t\t\t\tclientIds !== null ? clientIds : getSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\tselectedBlocks: getBlockNamesByClientId( ids ),\n\t\t\t\tselectedClientIds: ids,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tconst { canLock } = useBlockLock( selectedClientIds[ 0 ] );\n\tconst showLockButton = selectedClientIds.length === 1 && canLock;\n\n\t// Check if current selection of blocks is Groupable or Ungroupable\n\t// and pass this props down to ConvertToGroupButton.\n\tconst convertToGroupButtonProps =\n\t\tuseConvertToGroupButtonProps( selectedClientIds );\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton = isGroupable || isUngroupable;\n\n\treturn (\n\t\t<Slot\n\t\t\tfillProps={ {\n\t\t\t\t...fillProps,\n\t\t\t\t__unstableDisplayLocation,\n\t\t\t\tselectedBlocks,\n\t\t\t\tselectedClientIds,\n\t\t\t} }\n\t\t>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif (\n\t\t\t\t\t! fills?.length > 0 &&\n\t\t\t\t\t! showConvertToGroupButton &&\n\t\t\t\t\t! showLockButton\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ showConvertToGroupButton && (\n\t\t\t\t\t\t\t<ConvertToGroupButton\n\t\t\t\t\t\t\t\t{ ...convertToGroupButtonProps }\n\t\t\t\t\t\t\t\tonClose={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showLockButton && (\n\t\t\t\t\t\t\t<BlockLockMenuItem\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t{ fillProps?.canMove && ! fillProps?.onlyBlock && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\tfillProps?.onClose,\n\t\t\t\t\t\t\t\t\tfillProps?.onMoveTo\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Move to' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fillProps?.count === 1 && (\n\t\t\t\t\t\t\t<BlockModeToggle\n\t\t\t\t\t\t\t\tclientId={ fillProps?.firstBlockClientId }\n\t\t\t\t\t\t\t\tonToggle={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t</Slot>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-settings-menu-controls/README.md\n *\n * @param {Object} props Fill props.\n * @return {Element} Element.\n */\nfunction BlockSettingsMenuControls( { ...props } ) {\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill { ...props } />\n\t\t</StyleProvider>\n\t);\n}\n\nBlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot;\n\nexport default BlockSettingsMenuControls;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_data","_compose","_i18n","_convertToGroupButtons","_blockLock","_store","_blockModeToggle","_interopRequireDefault","_blockRename","Fill","Slot","createSlotFill","BlockSettingsMenuControlsSlot","fillProps","clientIds","__unstableDisplayLocation","selectedBlocks","selectedClientIds","useSelect","select","getBlockNamesByClientId","getSelectedBlockClientIds","blockEditorStore","ids","canLock","useBlockLock","canRename","useBlockRename","showLockButton","length","showRenameButton","convertToGroupButtonProps","useConvertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","_react","createElement","fills","MenuGroup","ConvertToGroupButton","onClose","BlockLockMenuItem","clientId","BlockRenameControl","canMove","onlyBlock","MenuItem","onClick","pipe","onMoveTo","__","count","default","firstBlockClientId","onToggle","BlockSettingsMenuControls","props","__experimentalStyleProvider","document","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalStyleProvider as StyleProvider,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { pipe } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseConvertToGroupButtonProps,\n\tConvertToGroupButton,\n} from '../convert-to-group-buttons';\nimport { BlockLockMenuItem, useBlockLock } from '../block-lock';\nimport { store as blockEditorStore } from '../../store';\nimport BlockModeToggle from '../block-settings-menu/block-mode-toggle';\n\nimport { BlockRenameControl, useBlockRename } from '../block-rename';\n\nconst { Fill, Slot } = createSlotFill( 'BlockSettingsMenuControls' );\n\nconst BlockSettingsMenuControlsSlot = ( {\n\tfillProps,\n\tclientIds = null,\n\t__unstableDisplayLocation,\n} ) => {\n\tconst { selectedBlocks, selectedClientIds } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockNamesByClientId, getSelectedBlockClientIds } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst ids =\n\t\t\t\tclientIds !== null ? clientIds : getSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\tselectedBlocks: getBlockNamesByClientId( ids ),\n\t\t\t\tselectedClientIds: ids,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tconst { canLock } = useBlockLock( selectedClientIds[ 0 ] );\n\tconst { canRename } = useBlockRename( selectedBlocks[ 0 ] );\n\tconst showLockButton = selectedClientIds.length === 1 && canLock;\n\tconst showRenameButton = selectedClientIds.length === 1 && canRename;\n\n\t// Check if current selection of blocks is Groupable or Ungroupable\n\t// and pass this props down to ConvertToGroupButton.\n\tconst convertToGroupButtonProps =\n\t\tuseConvertToGroupButtonProps( selectedClientIds );\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton = isGroupable || isUngroupable;\n\n\treturn (\n\t\t<Slot\n\t\t\tfillProps={ {\n\t\t\t\t...fillProps,\n\t\t\t\t__unstableDisplayLocation,\n\t\t\t\tselectedBlocks,\n\t\t\t\tselectedClientIds,\n\t\t\t} }\n\t\t>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif (\n\t\t\t\t\t! fills?.length > 0 &&\n\t\t\t\t\t! showConvertToGroupButton &&\n\t\t\t\t\t! showLockButton\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ showConvertToGroupButton && (\n\t\t\t\t\t\t\t<ConvertToGroupButton\n\t\t\t\t\t\t\t\t{ ...convertToGroupButtonProps }\n\t\t\t\t\t\t\t\tonClose={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showLockButton && (\n\t\t\t\t\t\t\t<BlockLockMenuItem\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showRenameButton && (\n\t\t\t\t\t\t\t<BlockRenameControl\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t{ fillProps?.canMove && ! fillProps?.onlyBlock && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\tfillProps?.onClose,\n\t\t\t\t\t\t\t\t\tfillProps?.onMoveTo\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Move to' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fillProps?.count === 1 && (\n\t\t\t\t\t\t\t<BlockModeToggle\n\t\t\t\t\t\t\t\tclientId={ fillProps?.firstBlockClientId }\n\t\t\t\t\t\t\t\tonToggle={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t</Slot>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-settings-menu-controls/README.md\n *\n * @param {Object} props Fill props.\n * @return {Element} Element.\n */\nfunction BlockSettingsMenuControls( { ...props } ) {\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill { ...props } />\n\t\t</StyleProvider>\n\t);\n}\n\nBlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot;\n\nexport default BlockSettingsMenuControls;\n"],"mappings":"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"}
@@ -10,7 +10,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _element = require("@wordpress/element");
11
11
  var _compose = require("@wordpress/compose");
12
12
  var _components = require("@wordpress/components");
13
- var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
14
13
  var _previewPanel = _interopRequireDefault(require("./preview-panel"));
15
14
  var _useStylesForBlock = _interopRequireDefault(require("./use-styles-for-block"));
16
15
  /**
@@ -104,11 +103,4 @@ function BlockStyles({
104
103
  }
105
104
  var _default = BlockStyles;
106
105
  exports.default = _default;
107
- BlockStyles.Slot = () => {
108
- (0, _deprecated.default)('BlockStyles.Slot', {
109
- version: '6.4',
110
- since: '6.2'
111
- });
112
- return null;
113
- };
114
106
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_compose","_components","_deprecated","_previewPanel","_useStylesForBlock","noop","BlockStyles","clientId","onSwitch","onHoverClassName","onSelect","stylesToRender","activeStyle","genericPreviewBlock","className","previewClassName","useStylesForBlocks","hoveredStyle","setHoveredStyle","useState","isMobileViewport","useViewportMatch","length","debouncedSetHoveredStyle","debounce","onSelectStylePreview","style","cancel","styleItemHandler","item","_item$name","name","_react","createElement","map","buttonText","label","Button","__next40pxDefaultSize","classnames","key","variant","onMouseEnter","onFocus","onMouseLeave","onBlur","onClick","__experimentalTruncate","numberOfLines","Popover","placement","offset","focusOnMount","default","_default","exports","Slot","deprecated","version","since"],"sources":["@wordpress/block-editor/src/components/block-styles/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { debounce, useViewportMatch } from '@wordpress/compose';\nimport {\n\tButton,\n\t__experimentalTruncate as Truncate,\n\tPopover,\n} from '@wordpress/components';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport BlockStylesPreviewPanel from './preview-panel';\nimport useStylesForBlocks from './use-styles-for-block';\n\nconst noop = () => {};\n\n// Block Styles component for the Settings Sidebar.\nfunction BlockStyles( { clientId, onSwitch = noop, onHoverClassName = noop } ) {\n\tconst {\n\t\tonSelect,\n\t\tstylesToRender,\n\t\tactiveStyle,\n\t\tgenericPreviewBlock,\n\t\tclassName: previewClassName,\n\t} = useStylesForBlocks( {\n\t\tclientId,\n\t\tonSwitch,\n\t} );\n\tconst [ hoveredStyle, setHoveredStyle ] = useState( null );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tif ( ! stylesToRender || stylesToRender.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst debouncedSetHoveredStyle = debounce( setHoveredStyle, 250 );\n\n\tconst onSelectStylePreview = ( style ) => {\n\t\tonSelect( style );\n\t\tonHoverClassName( null );\n\t\tsetHoveredStyle( null );\n\t\tdebouncedSetHoveredStyle.cancel();\n\t};\n\n\tconst styleItemHandler = ( item ) => {\n\t\tif ( hoveredStyle === item ) {\n\t\t\tdebouncedSetHoveredStyle.cancel();\n\t\t\treturn;\n\t\t}\n\t\tdebouncedSetHoveredStyle( item );\n\t\tonHoverClassName( item?.name ?? null );\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-block-styles\">\n\t\t\t<div className=\"block-editor-block-styles__variants\">\n\t\t\t\t{ stylesToRender.map( ( style ) => {\n\t\t\t\t\tconst buttonText = style.label || style.name;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-block-styles__item',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\tactiveStyle.name === style.name,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tkey={ style.name }\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tlabel={ buttonText }\n\t\t\t\t\t\t\tonMouseEnter={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonFocus={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonBlur={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonClick={ () => onSelectStylePreview( style ) }\n\t\t\t\t\t\t\taria-current={ activeStyle.name === style.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-styles__item-text\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ buttonText }\n\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t\t{ hoveredStyle && ! isMobileViewport && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"left-start\"\n\t\t\t\t\toffset={ 20 }\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"block-editor-block-styles__preview-panel\"\n\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockStylesPreviewPanel\n\t\t\t\t\t\t\tactiveStyle={ activeStyle }\n\t\t\t\t\t\t\tclassName={ previewClassName }\n\t\t\t\t\t\t\tgenericPreviewBlock={ genericPreviewBlock }\n\t\t\t\t\t\t\tstyle={ hoveredStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default BlockStyles;\n\nBlockStyles.Slot = () => {\n\tdeprecated( 'BlockStyles.Slot', {\n\t\tversion: '6.4',\n\t\tsince: '6.2',\n\t} );\n\n\treturn null;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_compose","_components","_previewPanel","_useStylesForBlock","noop","BlockStyles","clientId","onSwitch","onHoverClassName","onSelect","stylesToRender","activeStyle","genericPreviewBlock","className","previewClassName","useStylesForBlocks","hoveredStyle","setHoveredStyle","useState","isMobileViewport","useViewportMatch","length","debouncedSetHoveredStyle","debounce","onSelectStylePreview","style","cancel","styleItemHandler","item","_item$name","name","_react","createElement","map","buttonText","label","Button","__next40pxDefaultSize","classnames","key","variant","onMouseEnter","onFocus","onMouseLeave","onBlur","onClick","__experimentalTruncate","numberOfLines","Popover","placement","offset","focusOnMount","default","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-styles/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { debounce, useViewportMatch } from '@wordpress/compose';\nimport {\n\tButton,\n\t__experimentalTruncate as Truncate,\n\tPopover,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockStylesPreviewPanel from './preview-panel';\nimport useStylesForBlocks from './use-styles-for-block';\n\nconst noop = () => {};\n\n// Block Styles component for the Settings Sidebar.\nfunction BlockStyles( { clientId, onSwitch = noop, onHoverClassName = noop } ) {\n\tconst {\n\t\tonSelect,\n\t\tstylesToRender,\n\t\tactiveStyle,\n\t\tgenericPreviewBlock,\n\t\tclassName: previewClassName,\n\t} = useStylesForBlocks( {\n\t\tclientId,\n\t\tonSwitch,\n\t} );\n\tconst [ hoveredStyle, setHoveredStyle ] = useState( null );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tif ( ! stylesToRender || stylesToRender.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst debouncedSetHoveredStyle = debounce( setHoveredStyle, 250 );\n\n\tconst onSelectStylePreview = ( style ) => {\n\t\tonSelect( style );\n\t\tonHoverClassName( null );\n\t\tsetHoveredStyle( null );\n\t\tdebouncedSetHoveredStyle.cancel();\n\t};\n\n\tconst styleItemHandler = ( item ) => {\n\t\tif ( hoveredStyle === item ) {\n\t\t\tdebouncedSetHoveredStyle.cancel();\n\t\t\treturn;\n\t\t}\n\t\tdebouncedSetHoveredStyle( item );\n\t\tonHoverClassName( item?.name ?? null );\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-block-styles\">\n\t\t\t<div className=\"block-editor-block-styles__variants\">\n\t\t\t\t{ stylesToRender.map( ( style ) => {\n\t\t\t\t\tconst buttonText = style.label || style.name;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-block-styles__item',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\tactiveStyle.name === style.name,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tkey={ style.name }\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tlabel={ buttonText }\n\t\t\t\t\t\t\tonMouseEnter={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonFocus={ () => styleItemHandler( style ) }\n\t\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonBlur={ () => styleItemHandler( null ) }\n\t\t\t\t\t\t\tonClick={ () => onSelectStylePreview( style ) }\n\t\t\t\t\t\t\taria-current={ activeStyle.name === style.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-styles__item-text\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ buttonText }\n\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t\t{ hoveredStyle && ! isMobileViewport && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"left-start\"\n\t\t\t\t\toffset={ 20 }\n\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"block-editor-block-styles__preview-panel\"\n\t\t\t\t\t\tonMouseLeave={ () => styleItemHandler( null ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockStylesPreviewPanel\n\t\t\t\t\t\t\tactiveStyle={ activeStyle }\n\t\t\t\t\t\t\tclassName={ previewClassName }\n\t\t\t\t\t\t\tgenericPreviewBlock={ genericPreviewBlock }\n\t\t\t\t\t\t\tstyle={ hoveredStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default BlockStyles;\n"],"mappings":"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"}
@@ -13,6 +13,7 @@ var _icons = require("@wordpress/icons");
13
13
  var _components = require("@wordpress/components");
14
14
  var _blockPreview = _interopRequireDefault(require("../block-preview"));
15
15
  var _useTransformedPatterns = _interopRequireDefault(require("./use-transformed-patterns"));
16
+ var _lockUnlock = require("../../lock-unlock");
16
17
  /**
17
18
  * WordPress dependencies
18
19
  */
@@ -21,6 +22,11 @@ var _useTransformedPatterns = _interopRequireDefault(require("./use-transformed-
21
22
  * Internal dependencies
22
23
  */
23
24
 
25
+ const {
26
+ CompositeV2: Composite,
27
+ CompositeItemV2: CompositeItem,
28
+ useCompositeStoreV2: useCompositeStore
29
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
24
30
  function PatternTransformationsMenu({
25
31
  blocks,
26
32
  patterns: statePatterns,
@@ -64,36 +70,34 @@ function BlockPatternsList({
64
70
  patterns,
65
71
  onSelect
66
72
  }) {
67
- const composite = (0, _components.__unstableUseCompositeState)();
68
- return (0, _react.createElement)(_components.__unstableComposite, {
69
- ...composite,
73
+ const composite = useCompositeStore();
74
+ return (0, _react.createElement)(Composite, {
75
+ store: composite,
70
76
  role: "listbox",
71
77
  className: "block-editor-block-switcher__preview-patterns-container",
72
78
  "aria-label": (0, _i18n.__)('Patterns list')
73
79
  }, patterns.map(pattern => (0, _react.createElement)(BlockPattern, {
74
80
  key: pattern.name,
75
81
  pattern: pattern,
76
- onSelect: onSelect,
77
- composite: composite
82
+ onSelect: onSelect
78
83
  })));
79
84
  }
80
85
  function BlockPattern({
81
86
  pattern,
82
- onSelect,
83
- composite
87
+ onSelect
84
88
  }) {
85
89
  // TODO check pattern/preview width...
86
90
  const baseClassName = 'block-editor-block-switcher__preview-patterns-container';
87
91
  const descriptionId = (0, _compose.useInstanceId)(BlockPattern, `${baseClassName}-list__item-description`);
88
92
  return (0, _react.createElement)("div", {
89
93
  className: `${baseClassName}-list__list-item`
90
- }, (0, _react.createElement)(_components.__unstableCompositeItem, {
91
- role: "option",
92
- as: "div",
93
- ...composite,
94
- "aria-label": pattern.title,
95
- "aria-describedby": pattern.description ? descriptionId : undefined,
96
- className: `${baseClassName}-list__item`,
94
+ }, (0, _react.createElement)(CompositeItem, {
95
+ render: (0, _react.createElement)("div", {
96
+ role: "option",
97
+ "aria-label": pattern.title,
98
+ "aria-describedby": pattern.description ? descriptionId : undefined,
99
+ className: `${baseClassName}-list__item`
100
+ }),
97
101
  onClick: () => onSelect(pattern.transformedBlocks)
98
102
  }, (0, _react.createElement)(_blockPreview.default, {
99
103
  blocks: pattern.transformedBlocks,
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_element","_compose","_icons","_components","_blockPreview","_interopRequireDefault","_useTransformedPatterns","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","useState","useTransformedPatterns","length","_react","createElement","MenuGroup","className","PreviewPatternsPopover","MenuItem","onClick","event","preventDefault","icon","chevronRight","__","Popover","position","BlockPatternsList","composite","useCompositeState","__unstableComposite","role","map","pattern","BlockPattern","key","name","baseClassName","descriptionId","useInstanceId","__unstableCompositeItem","as","title","description","undefined","transformedBlocks","default","viewportWidth","VisuallyHidden","id","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-switcher/pattern-transformations-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { chevronRight } from '@wordpress/icons';\n\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPopover,\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport useTransformedPatterns from './use-transformed-patterns';\n\nfunction PatternTransformationsMenu( {\n\tblocks,\n\tpatterns: statePatterns,\n\tonSelect,\n} ) {\n\tconst [ showTransforms, setShowTransforms ] = useState( false );\n\tconst patterns = useTransformedPatterns( statePatterns, blocks );\n\tif ( ! patterns.length ) return null;\n\n\treturn (\n\t\t<MenuGroup className=\"block-editor-block-switcher__pattern__transforms__menugroup\">\n\t\t\t{ showTransforms && (\n\t\t\t\t<PreviewPatternsPopover\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<MenuItem\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetShowTransforms( ! showTransforms );\n\t\t\t\t} }\n\t\t\t\ticon={ chevronRight }\n\t\t\t>\n\t\t\t\t{ __( 'Patterns' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n\nfunction PreviewPatternsPopover( { patterns, onSelect } ) {\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover__preview__parent\">\n\t\t\t<div className=\"block-editor-block-switcher__popover__preview__container\">\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-block-switcher__preview__popover\"\n\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"block-editor-block-switcher__preview is-pattern-list-preview\">\n\t\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsList( { patterns, onSelect } ) {\n\tconst composite = useCompositeState();\n\treturn (\n\t\t<Composite\n\t\t\t{ ...composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-switcher__preview-patterns-container\"\n\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t>\n\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t<BlockPattern\n\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\tcomposite={ composite }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction BlockPattern( { pattern, onSelect, composite } ) {\n\t// TODO check pattern/preview width...\n\tconst baseClassName =\n\t\t'block-editor-block-switcher__preview-patterns-container';\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }-list__item-description`\n\t);\n\treturn (\n\t\t<div className={ `${ baseClassName }-list__list-item` }>\n\t\t\t<CompositeItem\n\t\t\t\trole=\"option\"\n\t\t\t\tas=\"div\"\n\t\t\t\t{ ...composite }\n\t\t\t\taria-label={ pattern.title }\n\t\t\t\taria-describedby={\n\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t}\n\t\t\t\tclassName={ `${ baseClassName }-list__item` }\n\t\t\t\tonClick={ () => onSelect( pattern.transformedBlocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ pattern.transformedBlocks }\n\t\t\t\t\tviewportWidth={ pattern.viewportWidth || 500 }\n\t\t\t\t/>\n\t\t\t\t<div className={ `${ baseClassName }-list__item-title` }>\n\t\t\t\t\t{ pattern.title }\n\t\t\t\t</div>\n\t\t\t</CompositeItem>\n\t\t\t{ !! pattern.description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ pattern.description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default PatternTransformationsMenu;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_i18n","require","_element","_compose","_icons","_components","_blockPreview","_interopRequireDefault","_useTransformedPatterns","_lockUnlock","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","useState","useTransformedPatterns","length","_react","createElement","MenuGroup","className","PreviewPatternsPopover","MenuItem","onClick","event","preventDefault","icon","chevronRight","__","Popover","position","BlockPatternsList","composite","store","role","map","pattern","BlockPattern","key","name","baseClassName","descriptionId","useInstanceId","render","title","description","undefined","transformedBlocks","default","viewportWidth","VisuallyHidden","id","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-switcher/pattern-transformations-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { chevronRight } from '@wordpress/icons';\n\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPopover,\n\tVisuallyHidden,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport useTransformedPatterns from './use-transformed-patterns';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\nfunction PatternTransformationsMenu( {\n\tblocks,\n\tpatterns: statePatterns,\n\tonSelect,\n} ) {\n\tconst [ showTransforms, setShowTransforms ] = useState( false );\n\tconst patterns = useTransformedPatterns( statePatterns, blocks );\n\tif ( ! patterns.length ) return null;\n\n\treturn (\n\t\t<MenuGroup className=\"block-editor-block-switcher__pattern__transforms__menugroup\">\n\t\t\t{ showTransforms && (\n\t\t\t\t<PreviewPatternsPopover\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<MenuItem\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetShowTransforms( ! showTransforms );\n\t\t\t\t} }\n\t\t\t\ticon={ chevronRight }\n\t\t\t>\n\t\t\t\t{ __( 'Patterns' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n\nfunction PreviewPatternsPopover( { patterns, onSelect } ) {\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover__preview__parent\">\n\t\t\t<div className=\"block-editor-block-switcher__popover__preview__container\">\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-block-switcher__preview__popover\"\n\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"block-editor-block-switcher__preview is-pattern-list-preview\">\n\t\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsList( { patterns, onSelect } ) {\n\tconst composite = useCompositeStore();\n\treturn (\n\t\t<Composite\n\t\t\tstore={ composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-switcher__preview-patterns-container\"\n\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t>\n\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t<BlockPattern\n\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction BlockPattern( { pattern, onSelect } ) {\n\t// TODO check pattern/preview width...\n\tconst baseClassName =\n\t\t'block-editor-block-switcher__preview-patterns-container';\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }-list__item-description`\n\t);\n\treturn (\n\t\t<div className={ `${ baseClassName }-list__list-item` }>\n\t\t\t<CompositeItem\n\t\t\t\trender={\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={ `${ baseClassName }-list__item` }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( pattern.transformedBlocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ pattern.transformedBlocks }\n\t\t\t\t\tviewportWidth={ pattern.viewportWidth || 500 }\n\t\t\t\t/>\n\t\t\t\t<div className={ `${ baseClassName }-list__item-title` }>\n\t\t\t\t\t{ pattern.title }\n\t\t\t\t</div>\n\t\t\t</CompositeItem>\n\t\t\t{ !! pattern.description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ pattern.description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default PatternTransformationsMenu;\n"],"mappings":"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"}
@@ -191,7 +191,7 @@ const BlockActionsMenu = ({
191
191
  },
192
192
  convertToRegularBlocks: {
193
193
  id: 'convertToRegularBlocksOption',
194
- label: innerBlockCount > 1 ? (0, _i18n.__)('Detach patterns') : (0, _i18n.__)('Detach pattern'),
194
+ label: (0, _i18n.__)('Detach'),
195
195
  value: 'convertToRegularBlocksOption',
196
196
  onSelect: () => {
197
197
  /* translators: %s: name of the synced block */