@wordpress/block-editor 12.3.0 → 12.3.2

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 (971) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +13 -0
  3. package/build/autocompleters/block.js +5 -3
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/alignment-control/index.js +4 -6
  6. package/build/components/alignment-control/index.js.map +1 -1
  7. package/build/components/alignment-control/ui.js +5 -9
  8. package/build/components/alignment-control/ui.js.map +1 -1
  9. package/build/components/autocomplete/index.js +2 -4
  10. package/build/components/autocomplete/index.js.map +1 -1
  11. package/build/components/block-actions/index.js +4 -0
  12. package/build/components/block-actions/index.js.map +1 -1
  13. package/build/components/block-alignment-control/constants.js +1 -5
  14. package/build/components/block-alignment-control/constants.js.map +1 -1
  15. package/build/components/block-alignment-control/index.js +4 -6
  16. package/build/components/block-alignment-control/index.js.map +1 -1
  17. package/build/components/block-alignment-control/ui.js +3 -4
  18. package/build/components/block-alignment-control/ui.js.map +1 -1
  19. package/build/components/block-alignment-control/ui.native.js +3 -3
  20. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  21. package/build/components/block-alignment-matrix-control/index.js +0 -1
  22. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  23. package/build/components/block-breadcrumb/index.js +2 -3
  24. package/build/components/block-breadcrumb/index.js.map +1 -1
  25. package/build/components/block-controls/fill.js +2 -1
  26. package/build/components/block-controls/fill.js.map +1 -1
  27. package/build/components/block-controls/index.js +8 -8
  28. package/build/components/block-controls/index.js.map +1 -1
  29. package/build/components/block-controls/slot.js +2 -4
  30. package/build/components/block-controls/slot.js.map +1 -1
  31. package/build/components/block-controls/slot.native.js +4 -2
  32. package/build/components/block-controls/slot.native.js.map +1 -1
  33. package/build/components/block-edit/edit.js +4 -6
  34. package/build/components/block-edit/edit.js.map +1 -1
  35. package/build/components/block-edit/edit.native.js +2 -4
  36. package/build/components/block-edit/edit.native.js.map +1 -1
  37. package/build/components/block-edit/index.js +3 -2
  38. package/build/components/block-edit/index.js.map +1 -1
  39. package/build/components/block-heading-level-dropdown/heading-level-icon.js +47 -0
  40. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  41. package/build/components/block-heading-level-dropdown/index.js +83 -0
  42. package/build/components/block-heading-level-dropdown/index.js.map +1 -0
  43. package/build/components/block-heading-level-dropdown/index.native.js +72 -0
  44. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -0
  45. package/build/components/block-icon/index.native.js +6 -7
  46. package/build/components/block-icon/index.native.js.map +1 -1
  47. package/build/components/block-info-slot-fill/index.js +4 -2
  48. package/build/components/block-info-slot-fill/index.js.map +1 -1
  49. package/build/components/block-inspector/index.js +20 -87
  50. package/build/components/block-inspector/index.js.map +1 -1
  51. package/build/components/block-list/block-list-item.native.js +4 -2
  52. package/build/components/block-list/block-list-item.native.js.map +1 -1
  53. package/build/components/block-list/block.js +6 -4
  54. package/build/components/block-list/block.js.map +1 -1
  55. package/build/components/block-list/block.native.js +1 -0
  56. package/build/components/block-list/block.native.js.map +1 -1
  57. package/build/components/block-list/index.js +7 -4
  58. package/build/components/block-list/index.js.map +1 -1
  59. package/build/components/block-list/index.native.js +8 -9
  60. package/build/components/block-list/index.native.js.map +1 -1
  61. package/build/components/block-list/subdirectory-icon.js +4 -7
  62. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  63. package/build/components/block-list/use-in-between-inserter.js +1 -3
  64. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  65. package/build/components/block-list-appender/index.js +21 -19
  66. package/build/components/block-list-appender/index.js.map +1 -1
  67. package/build/components/block-lock/toolbar.js +25 -6
  68. package/build/components/block-lock/toolbar.js.map +1 -1
  69. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  70. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  71. package/build/components/block-mover/button.js +12 -12
  72. package/build/components/block-mover/button.js.map +1 -1
  73. package/build/components/block-mover/index.js +11 -10
  74. package/build/components/block-mover/index.js.map +1 -1
  75. package/build/components/block-navigation/dropdown.js +4 -6
  76. package/build/components/block-navigation/dropdown.js.map +1 -1
  77. package/build/components/block-parent-selector/index.js +4 -5
  78. package/build/components/block-parent-selector/index.js.map +1 -1
  79. package/build/components/block-pattern-setup/index.js +6 -8
  80. package/build/components/block-pattern-setup/index.js.map +1 -1
  81. package/build/components/block-patterns-list/index.js +6 -8
  82. package/build/components/block-patterns-list/index.js.map +1 -1
  83. package/build/components/block-popover/inbetween.js +4 -6
  84. package/build/components/block-popover/inbetween.js.map +1 -1
  85. package/build/components/block-popover/index.js +4 -6
  86. package/build/components/block-popover/index.js.map +1 -1
  87. package/build/components/block-preview/auto.js +2 -4
  88. package/build/components/block-preview/auto.js.map +1 -1
  89. package/build/components/block-preview/index.js +7 -7
  90. package/build/components/block-preview/index.js.map +1 -1
  91. package/build/components/block-quick-navigation/index.js +83 -0
  92. package/build/components/block-quick-navigation/index.js.map +1 -0
  93. package/build/components/block-removal-warning-modal/index.js +90 -0
  94. package/build/components/block-removal-warning-modal/index.js.map +1 -0
  95. package/build/components/block-selection-clearer/index.js +4 -7
  96. package/build/components/block-selection-clearer/index.js.map +1 -1
  97. package/build/components/block-settings/button.native.js +2 -1
  98. package/build/components/block-settings/button.native.js.map +1 -1
  99. package/build/components/block-settings/container.native.js +6 -6
  100. package/build/components/block-settings/container.native.js.map +1 -1
  101. package/build/components/block-settings-menu/block-settings-dropdown.js +10 -11
  102. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  103. package/build/components/block-settings-menu/index.js +4 -5
  104. package/build/components/block-settings-menu/index.js.map +1 -1
  105. package/build/components/block-settings-menu-controls/index.js +4 -5
  106. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  107. package/build/components/block-switcher/index.js +1 -2
  108. package/build/components/block-switcher/index.js.map +1 -1
  109. package/build/components/block-switcher/pattern-transformations-menu.js +6 -8
  110. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  111. package/build/components/block-toolbar/index.js +10 -8
  112. package/build/components/block-toolbar/index.js.map +1 -1
  113. package/build/components/block-tools/block-contextual-toolbar.js +4 -5
  114. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  115. package/build/components/block-tools/block-selection-button.js +4 -5
  116. package/build/components/block-tools/block-selection-button.js.map +1 -1
  117. package/build/components/block-tools/index.js +13 -6
  118. package/build/components/block-tools/index.js.map +1 -1
  119. package/build/components/block-tools/insertion-point.js +5 -5
  120. package/build/components/block-tools/insertion-point.js.map +1 -1
  121. package/build/components/block-tools/selected-block-popover.js +8 -8
  122. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  123. package/build/components/block-types-list/index.native.js +4 -6
  124. package/build/components/block-types-list/index.native.js.map +1 -1
  125. package/build/components/block-vertical-alignment-control/index.js +4 -6
  126. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  127. package/build/components/block-vertical-alignment-control/ui.js +5 -12
  128. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  129. package/build/components/border-radius-control/all-input-control.js +2 -6
  130. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  131. package/build/components/border-radius-control/input-controls.js +2 -6
  132. package/build/components/border-radius-control/input-controls.js.map +1 -1
  133. package/build/components/border-radius-control/linked-button.js +2 -6
  134. package/build/components/border-radius-control/linked-button.js.map +1 -1
  135. package/build/components/color-palette/control.js +2 -4
  136. package/build/components/color-palette/control.js.map +1 -1
  137. package/build/components/color-palette/with-color-context.js +2 -4
  138. package/build/components/color-palette/with-color-context.js.map +1 -1
  139. package/build/components/colors/utils.js +7 -3
  140. package/build/components/colors/utils.js.map +1 -1
  141. package/build/components/colors/with-colors.js +11 -16
  142. package/build/components/colors/with-colors.js.map +1 -1
  143. package/build/components/colors-gradients/control.js +7 -5
  144. package/build/components/colors-gradients/control.js.map +1 -1
  145. package/build/components/colors-gradients/dropdown.js +12 -11
  146. package/build/components/colors-gradients/dropdown.js.map +1 -1
  147. package/build/components/colors-gradients/panel-color-gradient-settings.js +7 -5
  148. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  149. package/build/components/copy-handler/index.js +5 -6
  150. package/build/components/copy-handler/index.js.map +1 -1
  151. package/build/components/dimensions-tool/aspect-ratio-tool.js +99 -0
  152. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
  153. package/build/components/dimensions-tool/index.js +207 -0
  154. package/build/components/dimensions-tool/index.js.map +1 -0
  155. package/build/components/dimensions-tool/scale-tool.js +111 -0
  156. package/build/components/dimensions-tool/scale-tool.js.map +1 -0
  157. package/build/components/dimensions-tool/width-height-tool.js +125 -0
  158. package/build/components/dimensions-tool/width-height-tool.js.map +1 -0
  159. package/build/components/duotone-control/index.js +1 -2
  160. package/build/components/duotone-control/index.js.map +1 -1
  161. package/build/components/editable-text/index.js +6 -7
  162. package/build/components/editable-text/index.js.map +1 -1
  163. package/build/components/font-appearance-control/index.js +2 -6
  164. package/build/components/font-appearance-control/index.js.map +1 -1
  165. package/build/components/font-family/index.js +4 -5
  166. package/build/components/font-family/index.js.map +1 -1
  167. package/build/components/font-sizes/font-size-picker.js +2 -4
  168. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  169. package/build/components/font-sizes/utils.js +3 -3
  170. package/build/components/font-sizes/utils.js.map +1 -1
  171. package/build/components/font-sizes/with-font-sizes.js +7 -7
  172. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  173. package/build/components/global-styles/color-panel.js +15 -16
  174. package/build/components/global-styles/color-panel.js.map +1 -1
  175. package/build/components/global-styles/effects-panel.js +2 -1
  176. package/build/components/global-styles/effects-panel.js.map +1 -1
  177. package/build/components/global-styles/filters-panel.js +2 -1
  178. package/build/components/global-styles/filters-panel.js.map +1 -1
  179. package/build/components/global-styles/index.js +6 -0
  180. package/build/components/global-styles/index.js.map +1 -1
  181. package/build/components/global-styles/typography-panel.js +7 -7
  182. package/build/components/global-styles/typography-panel.js.map +1 -1
  183. package/build/components/global-styles/use-global-styles-output.js +19 -16
  184. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  185. package/build/components/gradients/with-gradient.js +2 -6
  186. package/build/components/gradients/with-gradient.js.map +1 -1
  187. package/build/components/iframe/index.js +5 -7
  188. package/build/components/iframe/index.js.map +1 -1
  189. package/build/components/image-editor/aspect-ratio-dropdown.js +1 -1
  190. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  191. package/build/components/image-editor/constants.js +1 -2
  192. package/build/components/image-editor/constants.js.map +1 -1
  193. package/build/components/image-editor/use-save-image.js +1 -2
  194. package/build/components/image-editor/use-save-image.js.map +1 -1
  195. package/build/components/image-size-control/index.js +6 -0
  196. package/build/components/image-size-control/index.js.map +1 -1
  197. package/build/components/index.js +9 -9
  198. package/build/components/index.js.map +1 -1
  199. package/build/components/index.native.js +9 -0
  200. package/build/components/index.native.js.map +1 -1
  201. package/build/components/inner-blocks/index.js +9 -8
  202. package/build/components/inner-blocks/index.js.map +1 -1
  203. package/build/components/inner-blocks/index.native.js +8 -7
  204. package/build/components/inner-blocks/index.native.js.map +1 -1
  205. package/build/components/inner-blocks/use-nested-settings-update.js +24 -30
  206. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  207. package/build/components/inner-blocks/with-client-id.js +2 -6
  208. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  209. package/build/components/inserter/block-patterns-explorer/explorer.js +2 -1
  210. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  211. package/build/components/inserter/block-patterns-tab.js +33 -5
  212. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  213. package/build/components/inserter/hooks/use-block-types-state.js +4 -3
  214. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  215. package/build/components/inserter/hooks/use-insertion-point.js +1 -1
  216. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  217. package/build/components/inserter/index.js +8 -8
  218. package/build/components/inserter/index.js.map +1 -1
  219. package/build/components/inserter/index.native.js +4 -5
  220. package/build/components/inserter/index.native.js.map +1 -1
  221. package/build/components/inserter/library.js +1 -1
  222. package/build/components/inserter/library.js.map +1 -1
  223. package/build/components/inserter/media-tab/media-list.js +2 -6
  224. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  225. package/build/components/inserter/media-tab/media-preview.js +4 -6
  226. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  227. package/build/components/inserter/media-tab/media-tab.js +1 -1
  228. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  229. package/build/components/inserter/reusable-blocks-tab.js +3 -3
  230. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  231. package/build/components/inserter/tabs.js +3 -3
  232. package/build/components/inserter/tabs.js.map +1 -1
  233. package/build/components/inserter-list-item/index.js +4 -5
  234. package/build/components/inserter-list-item/index.js.map +1 -1
  235. package/build/components/inserter-listbox/group.js +4 -7
  236. package/build/components/inserter-listbox/group.js.map +1 -1
  237. package/build/components/inserter-listbox/item.js +8 -7
  238. package/build/components/inserter-listbox/item.js.map +1 -1
  239. package/build/components/inserter-listbox/row.js +4 -5
  240. package/build/components/inserter-listbox/row.js.map +1 -1
  241. package/build/components/inspector-controls/block-support-slot-container.js +2 -6
  242. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  243. package/build/components/inspector-controls/fill.native.js +2 -1
  244. package/build/components/inspector-controls/fill.native.js.map +1 -1
  245. package/build/components/inspector-controls/index.js +4 -6
  246. package/build/components/inspector-controls/index.js.map +1 -1
  247. package/build/components/inspector-controls/slot.js +4 -6
  248. package/build/components/inspector-controls/slot.js.map +1 -1
  249. package/build/components/inspector-controls/slot.native.js +2 -1
  250. package/build/components/inspector-controls/slot.native.js.map +1 -1
  251. package/build/components/justify-content-control/index.js +4 -6
  252. package/build/components/justify-content-control/index.js.map +1 -1
  253. package/build/components/justify-content-control/ui.js +4 -7
  254. package/build/components/justify-content-control/ui.js.map +1 -1
  255. package/build/components/letter-spacing-control/index.js +2 -4
  256. package/build/components/letter-spacing-control/index.js.map +1 -1
  257. package/build/components/line-height-control/index.js +2 -4
  258. package/build/components/line-height-control/index.js.map +1 -1
  259. package/build/components/link-control/index.js +20 -24
  260. package/build/components/link-control/index.js.map +1 -1
  261. package/build/components/link-control/search-create-button.js +2 -4
  262. package/build/components/link-control/search-create-button.js.map +1 -1
  263. package/build/components/link-control/search-input.js +7 -5
  264. package/build/components/link-control/search-input.js.map +1 -1
  265. package/build/components/link-control/search-item.js +2 -4
  266. package/build/components/link-control/search-item.js.map +1 -1
  267. package/build/components/link-control/search-results.js +2 -4
  268. package/build/components/link-control/search-results.js.map +1 -1
  269. package/build/components/link-control/settings-drawer.js +2 -3
  270. package/build/components/link-control/settings-drawer.js.map +1 -1
  271. package/build/components/list-view/appender.js +4 -6
  272. package/build/components/list-view/appender.js.map +1 -1
  273. package/build/components/list-view/aria-referenced-text.js +4 -8
  274. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  275. package/build/components/list-view/block-contents.js +4 -5
  276. package/build/components/list-view/block-contents.js.map +1 -1
  277. package/build/components/list-view/block-select-button.js +13 -2
  278. package/build/components/list-view/block-select-button.js.map +1 -1
  279. package/build/components/list-view/branch.js +9 -8
  280. package/build/components/list-view/branch.js.map +1 -1
  281. package/build/components/list-view/drop-indicator.js +62 -11
  282. package/build/components/list-view/drop-indicator.js.map +1 -1
  283. package/build/components/list-view/index.js +4 -6
  284. package/build/components/list-view/index.js.map +1 -1
  285. package/build/components/list-view/leaf.js +4 -5
  286. package/build/components/list-view/leaf.js.map +1 -1
  287. package/build/components/list-view/use-list-view-client-ids.js +2 -22
  288. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  289. package/build/components/list-view/use-list-view-drop-zone.js +46 -34
  290. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  291. package/build/components/media-placeholder/index.js +38 -13
  292. package/build/components/media-placeholder/index.js.map +1 -1
  293. package/build/components/media-replace-flow/index.js +1 -3
  294. package/build/components/media-replace-flow/index.js.map +1 -1
  295. package/build/components/navigable-toolbar/index.js +8 -8
  296. package/build/components/navigable-toolbar/index.js.map +1 -1
  297. package/build/components/panel-color-settings/index.js +4 -5
  298. package/build/components/panel-color-settings/index.js.map +1 -1
  299. package/build/components/plain-text/index.js +8 -8
  300. package/build/components/plain-text/index.js.map +1 -1
  301. package/build/components/plain-text/index.native.js +7 -6
  302. package/build/components/plain-text/index.native.js.map +1 -1
  303. package/build/components/preview-options/index.js +5 -4
  304. package/build/components/preview-options/index.js.map +1 -1
  305. package/build/components/provider/index.js +2 -4
  306. package/build/components/provider/index.js.map +1 -1
  307. package/build/components/provider/use-block-sync.js +21 -0
  308. package/build/components/provider/use-block-sync.js.map +1 -1
  309. package/build/components/provider/with-registry-provider.js +8 -10
  310. package/build/components/provider/with-registry-provider.js.map +1 -1
  311. package/build/components/publish-date-time-picker/index.js +4 -5
  312. package/build/components/publish-date-time-picker/index.js.map +1 -1
  313. package/build/components/resizable-box-popover/index.js +5 -5
  314. package/build/components/resizable-box-popover/index.js.map +1 -1
  315. package/build/components/resolution-tool/index.js +55 -0
  316. package/build/components/resolution-tool/index.js.map +1 -0
  317. package/build/components/rich-text/content.js +99 -0
  318. package/build/components/rich-text/content.js.map +1 -0
  319. package/build/components/rich-text/format-toolbar/index.js +1 -2
  320. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  321. package/build/components/rich-text/index.js +8 -42
  322. package/build/components/rich-text/index.js.map +1 -1
  323. package/build/components/rich-text/index.native.js +6 -34
  324. package/build/components/rich-text/index.native.js.map +1 -1
  325. package/build/components/rich-text/toolbar-button.js +2 -6
  326. package/build/components/rich-text/toolbar-button.js.map +1 -1
  327. package/build/components/spacing-sizes-control/index.js +8 -8
  328. package/build/components/spacing-sizes-control/index.js.map +1 -1
  329. package/build/components/tool-selector/index.js +2 -6
  330. package/build/components/tool-selector/index.js.map +1 -1
  331. package/build/components/unit-control/index.js +4 -5
  332. package/build/components/unit-control/index.js.map +1 -1
  333. package/build/components/url-input/index.js +12 -10
  334. package/build/components/url-input/index.js.map +1 -1
  335. package/build/components/url-input/index.native.js +4 -7
  336. package/build/components/url-input/index.native.js.map +1 -1
  337. package/build/components/url-popover/image-url-input-ui.js +21 -14
  338. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  339. package/build/components/url-popover/index.js +4 -5
  340. package/build/components/url-popover/index.js.map +1 -1
  341. package/build/components/url-popover/link-editor.js +4 -5
  342. package/build/components/url-popover/link-editor.js.map +1 -1
  343. package/build/components/url-popover/link-viewer.js +4 -5
  344. package/build/components/url-popover/link-viewer.js.map +1 -1
  345. package/build/components/use-block-display-information/index.js +30 -2
  346. package/build/components/use-block-display-information/index.js.map +1 -1
  347. package/build/components/video-player/index.native.js +2 -4
  348. package/build/components/video-player/index.native.js.map +1 -1
  349. package/build/components/warning/index.native.js +4 -5
  350. package/build/components/warning/index.native.js.map +1 -1
  351. package/build/components/writing-flow/index.js +2 -4
  352. package/build/components/writing-flow/index.js.map +1 -1
  353. package/build/components/writing-flow/use-drag-selection.js +1 -1
  354. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  355. package/build/components/writing-flow/use-tab-nav.js +32 -4
  356. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  357. package/build/hooks/align.js +8 -8
  358. package/build/hooks/align.js.map +1 -1
  359. package/build/hooks/anchor.js +4 -2
  360. package/build/hooks/anchor.js.map +1 -1
  361. package/build/hooks/behaviors.js +75 -37
  362. package/build/hooks/behaviors.js.map +1 -1
  363. package/build/hooks/border.js +4 -5
  364. package/build/hooks/border.js.map +1 -1
  365. package/build/hooks/color.js +4 -5
  366. package/build/hooks/color.js.map +1 -1
  367. package/build/hooks/content-lock-ui.js +8 -10
  368. package/build/hooks/content-lock-ui.js.map +1 -1
  369. package/build/hooks/custom-class-name.js +4 -2
  370. package/build/hooks/custom-class-name.js.map +1 -1
  371. package/build/hooks/dimensions.js +7 -7
  372. package/build/hooks/dimensions.js.map +1 -1
  373. package/build/hooks/duotone.js +5 -5
  374. package/build/hooks/duotone.js.map +1 -1
  375. package/build/hooks/font-family.js +2 -6
  376. package/build/hooks/font-family.js.map +1 -1
  377. package/build/hooks/font-size.js +10 -8
  378. package/build/hooks/font-size.js.map +1 -1
  379. package/build/hooks/layout.js +30 -28
  380. package/build/hooks/layout.js.map +1 -1
  381. package/build/hooks/position.js +24 -16
  382. package/build/hooks/position.js.map +1 -1
  383. package/build/hooks/style.js +8 -5
  384. package/build/hooks/style.js.map +1 -1
  385. package/build/hooks/supports.js +1 -1
  386. package/build/hooks/supports.js.map +1 -1
  387. package/build/hooks/typography.native.js +3 -1
  388. package/build/hooks/typography.native.js.map +1 -1
  389. package/build/hooks/use-typography-props.js +10 -17
  390. package/build/hooks/use-typography-props.js.map +1 -1
  391. package/build/index.js +0 -14
  392. package/build/index.js.map +1 -1
  393. package/build/layouts/constrained.js +3 -1
  394. package/build/layouts/constrained.js.map +1 -1
  395. package/build/layouts/definitions.js +154 -0
  396. package/build/layouts/definitions.js.map +1 -0
  397. package/build/layouts/flex.js +8 -5
  398. package/build/layouts/flex.js.map +1 -1
  399. package/build/layouts/flow.js +3 -1
  400. package/build/layouts/flow.js.map +1 -1
  401. package/build/layouts/grid.js +3 -1
  402. package/build/layouts/grid.js.map +1 -1
  403. package/build/layouts/utils.js +8 -2
  404. package/build/layouts/utils.js.map +1 -1
  405. package/build/private-apis.js +23 -1
  406. package/build/private-apis.js.map +1 -1
  407. package/build/store/actions.js +2 -62
  408. package/build/store/actions.js.map +1 -1
  409. package/build/store/defaults.js +1 -0
  410. package/build/store/defaults.js.map +1 -1
  411. package/build/store/private-actions.js +200 -0
  412. package/build/store/private-actions.js.map +1 -1
  413. package/build/store/private-selectors.js +72 -4
  414. package/build/store/private-selectors.js.map +1 -1
  415. package/build/store/reducer.js +52 -1
  416. package/build/store/reducer.js.map +1 -1
  417. package/build/store/selectors.js +42 -42
  418. package/build/store/selectors.js.map +1 -1
  419. package/build/utils/object.js +39 -0
  420. package/build/utils/object.js.map +1 -1
  421. package/build-module/autocompleters/block.js +5 -3
  422. package/build-module/autocompleters/block.js.map +1 -1
  423. package/build-module/components/alignment-control/index.js +4 -5
  424. package/build-module/components/alignment-control/index.js.map +1 -1
  425. package/build-module/components/alignment-control/ui.js +5 -6
  426. package/build-module/components/alignment-control/ui.js.map +1 -1
  427. package/build-module/components/autocomplete/index.js +2 -3
  428. package/build-module/components/autocomplete/index.js.map +1 -1
  429. package/build-module/components/block-actions/index.js +4 -0
  430. package/build-module/components/block-actions/index.js.map +1 -1
  431. package/build-module/components/block-alignment-control/constants.js +0 -3
  432. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  433. package/build-module/components/block-alignment-control/index.js +4 -5
  434. package/build-module/components/block-alignment-control/index.js.map +1 -1
  435. package/build-module/components/block-alignment-control/ui.js +4 -4
  436. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  437. package/build-module/components/block-alignment-control/ui.native.js +3 -2
  438. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  439. package/build-module/components/block-alignment-matrix-control/index.js +0 -1
  440. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  441. package/build-module/components/block-breadcrumb/index.js +2 -3
  442. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  443. package/build-module/components/block-controls/fill.js +2 -1
  444. package/build-module/components/block-controls/fill.js.map +1 -1
  445. package/build-module/components/block-controls/index.js +8 -7
  446. package/build-module/components/block-controls/index.js.map +1 -1
  447. package/build-module/components/block-controls/slot.js +2 -3
  448. package/build-module/components/block-controls/slot.js.map +1 -1
  449. package/build-module/components/block-controls/slot.native.js +4 -2
  450. package/build-module/components/block-controls/slot.native.js.map +1 -1
  451. package/build-module/components/block-edit/edit.js +4 -5
  452. package/build-module/components/block-edit/edit.js.map +1 -1
  453. package/build-module/components/block-edit/edit.native.js +2 -3
  454. package/build-module/components/block-edit/edit.native.js.map +1 -1
  455. package/build-module/components/block-edit/index.js +3 -2
  456. package/build-module/components/block-edit/index.js.map +1 -1
  457. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +39 -0
  458. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  459. package/build-module/components/block-heading-level-dropdown/index.js +71 -0
  460. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -0
  461. package/build-module/components/block-heading-level-dropdown/index.native.js +60 -0
  462. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -0
  463. package/build-module/components/block-icon/index.native.js +6 -6
  464. package/build-module/components/block-icon/index.native.js.map +1 -1
  465. package/build-module/components/block-info-slot-fill/index.js +4 -2
  466. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  467. package/build-module/components/block-inspector/index.js +20 -88
  468. package/build-module/components/block-inspector/index.js.map +1 -1
  469. package/build-module/components/block-list/block-list-item.native.js +4 -2
  470. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  471. package/build-module/components/block-list/block.js +6 -4
  472. package/build-module/components/block-list/block.js.map +1 -1
  473. package/build-module/components/block-list/block.native.js +1 -0
  474. package/build-module/components/block-list/block.native.js.map +1 -1
  475. package/build-module/components/block-list/index.js +7 -4
  476. package/build-module/components/block-list/index.js.map +1 -1
  477. package/build-module/components/block-list/index.native.js +8 -8
  478. package/build-module/components/block-list/index.native.js.map +1 -1
  479. package/build-module/components/block-list/subdirectory-icon.js +4 -4
  480. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  481. package/build-module/components/block-list/use-in-between-inserter.js +1 -3
  482. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  483. package/build-module/components/block-list-appender/index.js +21 -19
  484. package/build-module/components/block-list-appender/index.js.map +1 -1
  485. package/build-module/components/block-lock/toolbar.js +25 -7
  486. package/build-module/components/block-lock/toolbar.js.map +1 -1
  487. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  488. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  489. package/build-module/components/block-mover/button.js +12 -11
  490. package/build-module/components/block-mover/button.js.map +1 -1
  491. package/build-module/components/block-mover/index.js +11 -9
  492. package/build-module/components/block-mover/index.js.map +1 -1
  493. package/build-module/components/block-navigation/dropdown.js +4 -5
  494. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  495. package/build-module/components/block-parent-selector/index.js +4 -4
  496. package/build-module/components/block-parent-selector/index.js.map +1 -1
  497. package/build-module/components/block-pattern-setup/index.js +6 -7
  498. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  499. package/build-module/components/block-patterns-list/index.js +6 -7
  500. package/build-module/components/block-patterns-list/index.js.map +1 -1
  501. package/build-module/components/block-popover/inbetween.js +4 -5
  502. package/build-module/components/block-popover/inbetween.js.map +1 -1
  503. package/build-module/components/block-popover/index.js +4 -5
  504. package/build-module/components/block-popover/index.js.map +1 -1
  505. package/build-module/components/block-preview/auto.js +2 -3
  506. package/build-module/components/block-preview/auto.js.map +1 -1
  507. package/build-module/components/block-preview/index.js +7 -7
  508. package/build-module/components/block-preview/index.js.map +1 -1
  509. package/build-module/components/block-quick-navigation/index.js +69 -0
  510. package/build-module/components/block-quick-navigation/index.js.map +1 -0
  511. package/build-module/components/block-removal-warning-modal/index.js +76 -0
  512. package/build-module/components/block-removal-warning-modal/index.js.map +1 -0
  513. package/build-module/components/block-selection-clearer/index.js +4 -4
  514. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  515. package/build-module/components/block-settings/button.native.js +2 -1
  516. package/build-module/components/block-settings/button.native.js.map +1 -1
  517. package/build-module/components/block-settings/container.native.js +6 -5
  518. package/build-module/components/block-settings/container.native.js.map +1 -1
  519. package/build-module/components/block-settings-menu/block-settings-dropdown.js +10 -10
  520. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  521. package/build-module/components/block-settings-menu/index.js +4 -4
  522. package/build-module/components/block-settings-menu/index.js.map +1 -1
  523. package/build-module/components/block-settings-menu-controls/index.js +4 -4
  524. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  525. package/build-module/components/block-switcher/index.js +1 -2
  526. package/build-module/components/block-switcher/index.js.map +1 -1
  527. package/build-module/components/block-switcher/pattern-transformations-menu.js +6 -7
  528. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  529. package/build-module/components/block-toolbar/index.js +10 -7
  530. package/build-module/components/block-toolbar/index.js.map +1 -1
  531. package/build-module/components/block-tools/block-contextual-toolbar.js +4 -4
  532. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  533. package/build-module/components/block-tools/block-selection-button.js +4 -4
  534. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  535. package/build-module/components/block-tools/index.js +13 -5
  536. package/build-module/components/block-tools/index.js.map +1 -1
  537. package/build-module/components/block-tools/insertion-point.js +5 -4
  538. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  539. package/build-module/components/block-tools/selected-block-popover.js +8 -7
  540. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  541. package/build-module/components/block-types-list/index.native.js +4 -5
  542. package/build-module/components/block-types-list/index.native.js.map +1 -1
  543. package/build-module/components/block-vertical-alignment-control/index.js +4 -5
  544. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  545. package/build-module/components/block-vertical-alignment-control/ui.js +5 -9
  546. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  547. package/build-module/components/border-radius-control/all-input-control.js +2 -3
  548. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  549. package/build-module/components/border-radius-control/input-controls.js +2 -3
  550. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  551. package/build-module/components/border-radius-control/linked-button.js +2 -3
  552. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  553. package/build-module/components/color-palette/control.js +2 -3
  554. package/build-module/components/color-palette/control.js.map +1 -1
  555. package/build-module/components/color-palette/with-color-context.js +2 -3
  556. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  557. package/build-module/components/colors/utils.js +5 -1
  558. package/build-module/components/colors/utils.js.map +1 -1
  559. package/build-module/components/colors/with-colors.js +10 -14
  560. package/build-module/components/colors/with-colors.js.map +1 -1
  561. package/build-module/components/colors-gradients/control.js +7 -4
  562. package/build-module/components/colors-gradients/control.js.map +1 -1
  563. package/build-module/components/colors-gradients/dropdown.js +12 -10
  564. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  565. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +7 -4
  566. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  567. package/build-module/components/copy-handler/index.js +5 -6
  568. package/build-module/components/copy-handler/index.js.map +1 -1
  569. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +87 -0
  570. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
  571. package/build-module/components/dimensions-tool/index.js +195 -0
  572. package/build-module/components/dimensions-tool/index.js.map +1 -0
  573. package/build-module/components/dimensions-tool/scale-tool.js +103 -0
  574. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -0
  575. package/build-module/components/dimensions-tool/width-height-tool.js +122 -0
  576. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -0
  577. package/build-module/components/duotone-control/index.js +1 -2
  578. package/build-module/components/duotone-control/index.js.map +1 -1
  579. package/build-module/components/editable-text/index.js +6 -6
  580. package/build-module/components/editable-text/index.js.map +1 -1
  581. package/build-module/components/font-appearance-control/index.js +2 -3
  582. package/build-module/components/font-appearance-control/index.js.map +1 -1
  583. package/build-module/components/font-family/index.js +4 -4
  584. package/build-module/components/font-family/index.js.map +1 -1
  585. package/build-module/components/font-sizes/font-size-picker.js +2 -3
  586. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  587. package/build-module/components/font-sizes/utils.js +2 -2
  588. package/build-module/components/font-sizes/utils.js.map +1 -1
  589. package/build-module/components/font-sizes/with-font-sizes.js +7 -6
  590. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  591. package/build-module/components/global-styles/color-panel.js +15 -15
  592. package/build-module/components/global-styles/color-panel.js.map +1 -1
  593. package/build-module/components/global-styles/effects-panel.js +2 -1
  594. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  595. package/build-module/components/global-styles/filters-panel.js +2 -1
  596. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  597. package/build-module/components/global-styles/index.js +1 -1
  598. package/build-module/components/global-styles/index.js.map +1 -1
  599. package/build-module/components/global-styles/typography-panel.js +7 -7
  600. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  601. package/build-module/components/global-styles/use-global-styles-output.js +11 -10
  602. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  603. package/build-module/components/gradients/with-gradient.js +2 -3
  604. package/build-module/components/gradients/with-gradient.js.map +1 -1
  605. package/build-module/components/iframe/index.js +5 -6
  606. package/build-module/components/iframe/index.js.map +1 -1
  607. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -1
  608. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  609. package/build-module/components/image-editor/constants.js +1 -2
  610. package/build-module/components/image-editor/constants.js.map +1 -1
  611. package/build-module/components/image-editor/use-save-image.js +1 -2
  612. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  613. package/build-module/components/image-size-control/index.js +5 -0
  614. package/build-module/components/image-size-control/index.js.map +1 -1
  615. package/build-module/components/index.js +1 -1
  616. package/build-module/components/index.js.map +1 -1
  617. package/build-module/components/index.native.js +1 -0
  618. package/build-module/components/index.native.js.map +1 -1
  619. package/build-module/components/inner-blocks/index.js +9 -7
  620. package/build-module/components/inner-blocks/index.js.map +1 -1
  621. package/build-module/components/inner-blocks/index.native.js +8 -6
  622. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  623. package/build-module/components/inner-blocks/use-nested-settings-update.js +24 -27
  624. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  625. package/build-module/components/inner-blocks/with-client-id.js +2 -3
  626. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  627. package/build-module/components/inserter/block-patterns-explorer/explorer.js +2 -1
  628. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  629. package/build-module/components/inserter/block-patterns-tab.js +33 -7
  630. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  631. package/build-module/components/inserter/hooks/use-block-types-state.js +4 -3
  632. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  633. package/build-module/components/inserter/hooks/use-insertion-point.js +1 -1
  634. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  635. package/build-module/components/inserter/index.js +8 -7
  636. package/build-module/components/inserter/index.js.map +1 -1
  637. package/build-module/components/inserter/index.native.js +4 -4
  638. package/build-module/components/inserter/index.native.js.map +1 -1
  639. package/build-module/components/inserter/library.js +1 -1
  640. package/build-module/components/inserter/library.js.map +1 -1
  641. package/build-module/components/inserter/media-tab/media-list.js +2 -3
  642. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  643. package/build-module/components/inserter/media-tab/media-preview.js +4 -5
  644. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  645. package/build-module/components/inserter/media-tab/media-tab.js +3 -3
  646. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  647. package/build-module/components/inserter/reusable-blocks-tab.js +3 -3
  648. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  649. package/build-module/components/inserter/tabs.js +3 -3
  650. package/build-module/components/inserter/tabs.js.map +1 -1
  651. package/build-module/components/inserter-list-item/index.js +4 -4
  652. package/build-module/components/inserter-list-item/index.js.map +1 -1
  653. package/build-module/components/inserter-listbox/group.js +4 -4
  654. package/build-module/components/inserter-listbox/group.js.map +1 -1
  655. package/build-module/components/inserter-listbox/item.js +8 -6
  656. package/build-module/components/inserter-listbox/item.js.map +1 -1
  657. package/build-module/components/inserter-listbox/row.js +4 -4
  658. package/build-module/components/inserter-listbox/row.js.map +1 -1
  659. package/build-module/components/inspector-controls/block-support-slot-container.js +2 -3
  660. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  661. package/build-module/components/inspector-controls/fill.native.js +2 -1
  662. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  663. package/build-module/components/inspector-controls/index.js +4 -5
  664. package/build-module/components/inspector-controls/index.js.map +1 -1
  665. package/build-module/components/inspector-controls/slot.js +4 -5
  666. package/build-module/components/inspector-controls/slot.js.map +1 -1
  667. package/build-module/components/inspector-controls/slot.native.js +2 -1
  668. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  669. package/build-module/components/justify-content-control/index.js +4 -5
  670. package/build-module/components/justify-content-control/index.js.map +1 -1
  671. package/build-module/components/justify-content-control/ui.js +4 -4
  672. package/build-module/components/justify-content-control/ui.js.map +1 -1
  673. package/build-module/components/letter-spacing-control/index.js +2 -3
  674. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  675. package/build-module/components/line-height-control/index.js +2 -3
  676. package/build-module/components/line-height-control/index.js.map +1 -1
  677. package/build-module/components/link-control/index.js +20 -24
  678. package/build-module/components/link-control/index.js.map +1 -1
  679. package/build-module/components/link-control/search-create-button.js +2 -3
  680. package/build-module/components/link-control/search-create-button.js.map +1 -1
  681. package/build-module/components/link-control/search-input.js +7 -5
  682. package/build-module/components/link-control/search-input.js.map +1 -1
  683. package/build-module/components/link-control/search-item.js +2 -3
  684. package/build-module/components/link-control/search-item.js.map +1 -1
  685. package/build-module/components/link-control/search-results.js +2 -3
  686. package/build-module/components/link-control/search-results.js.map +1 -1
  687. package/build-module/components/link-control/settings-drawer.js +4 -5
  688. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  689. package/build-module/components/list-view/appender.js +4 -5
  690. package/build-module/components/list-view/appender.js.map +1 -1
  691. package/build-module/components/list-view/aria-referenced-text.js +4 -5
  692. package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
  693. package/build-module/components/list-view/block-contents.js +4 -4
  694. package/build-module/components/list-view/block-contents.js.map +1 -1
  695. package/build-module/components/list-view/block-select-button.js +14 -4
  696. package/build-module/components/list-view/block-select-button.js.map +1 -1
  697. package/build-module/components/list-view/branch.js +9 -7
  698. package/build-module/components/list-view/branch.js.map +1 -1
  699. package/build-module/components/list-view/drop-indicator.js +61 -11
  700. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  701. package/build-module/components/list-view/index.js +4 -5
  702. package/build-module/components/list-view/index.js.map +1 -1
  703. package/build-module/components/list-view/leaf.js +4 -4
  704. package/build-module/components/list-view/leaf.js.map +1 -1
  705. package/build-module/components/list-view/use-list-view-client-ids.js +2 -22
  706. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  707. package/build-module/components/list-view/use-list-view-drop-zone.js +45 -34
  708. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  709. package/build-module/components/media-placeholder/index.js +38 -13
  710. package/build-module/components/media-placeholder/index.js.map +1 -1
  711. package/build-module/components/media-replace-flow/index.js +1 -3
  712. package/build-module/components/media-replace-flow/index.js.map +1 -1
  713. package/build-module/components/navigable-toolbar/index.js +8 -7
  714. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  715. package/build-module/components/panel-color-settings/index.js +4 -4
  716. package/build-module/components/panel-color-settings/index.js.map +1 -1
  717. package/build-module/components/plain-text/index.js +8 -7
  718. package/build-module/components/plain-text/index.js.map +1 -1
  719. package/build-module/components/plain-text/index.native.js +7 -5
  720. package/build-module/components/plain-text/index.native.js.map +1 -1
  721. package/build-module/components/preview-options/index.js +5 -4
  722. package/build-module/components/preview-options/index.js.map +1 -1
  723. package/build-module/components/provider/index.js +2 -3
  724. package/build-module/components/provider/index.js.map +1 -1
  725. package/build-module/components/provider/use-block-sync.js +21 -0
  726. package/build-module/components/provider/use-block-sync.js.map +1 -1
  727. package/build-module/components/provider/with-registry-provider.js +8 -7
  728. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  729. package/build-module/components/publish-date-time-picker/index.js +4 -4
  730. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  731. package/build-module/components/resizable-box-popover/index.js +5 -4
  732. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  733. package/build-module/components/resolution-tool/index.js +45 -0
  734. package/build-module/components/resolution-tool/index.js.map +1 -0
  735. package/build-module/components/rich-text/content.js +85 -0
  736. package/build-module/components/rich-text/content.js.map +1 -0
  737. package/build-module/components/rich-text/format-toolbar/index.js +1 -2
  738. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  739. package/build-module/components/rich-text/index.js +8 -42
  740. package/build-module/components/rich-text/index.js.map +1 -1
  741. package/build-module/components/rich-text/index.native.js +6 -34
  742. package/build-module/components/rich-text/index.native.js.map +1 -1
  743. package/build-module/components/rich-text/toolbar-button.js +2 -3
  744. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  745. package/build-module/components/spacing-sizes-control/index.js +8 -7
  746. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  747. package/build-module/components/tool-selector/index.js +2 -3
  748. package/build-module/components/tool-selector/index.js.map +1 -1
  749. package/build-module/components/unit-control/index.js +4 -4
  750. package/build-module/components/unit-control/index.js.map +1 -1
  751. package/build-module/components/url-input/index.js +12 -9
  752. package/build-module/components/url-input/index.js.map +1 -1
  753. package/build-module/components/url-input/index.native.js +4 -4
  754. package/build-module/components/url-input/index.native.js.map +1 -1
  755. package/build-module/components/url-popover/image-url-input-ui.js +22 -15
  756. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  757. package/build-module/components/url-popover/index.js +4 -4
  758. package/build-module/components/url-popover/index.js.map +1 -1
  759. package/build-module/components/url-popover/link-editor.js +4 -4
  760. package/build-module/components/url-popover/link-editor.js.map +1 -1
  761. package/build-module/components/url-popover/link-viewer.js +4 -4
  762. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  763. package/build-module/components/use-block-display-information/index.js +29 -2
  764. package/build-module/components/use-block-display-information/index.js.map +1 -1
  765. package/build-module/components/video-player/index.native.js +2 -3
  766. package/build-module/components/video-player/index.native.js.map +1 -1
  767. package/build-module/components/warning/index.native.js +4 -4
  768. package/build-module/components/warning/index.native.js.map +1 -1
  769. package/build-module/components/writing-flow/index.js +2 -3
  770. package/build-module/components/writing-flow/index.js.map +1 -1
  771. package/build-module/components/writing-flow/use-drag-selection.js +1 -1
  772. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  773. package/build-module/components/writing-flow/use-tab-nav.js +32 -5
  774. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  775. package/build-module/hooks/align.js +8 -7
  776. package/build-module/hooks/align.js.map +1 -1
  777. package/build-module/hooks/anchor.js +4 -2
  778. package/build-module/hooks/anchor.js.map +1 -1
  779. package/build-module/hooks/behaviors.js +76 -34
  780. package/build-module/hooks/behaviors.js.map +1 -1
  781. package/build-module/hooks/border.js +4 -4
  782. package/build-module/hooks/border.js.map +1 -1
  783. package/build-module/hooks/color.js +4 -4
  784. package/build-module/hooks/color.js.map +1 -1
  785. package/build-module/hooks/content-lock-ui.js +8 -7
  786. package/build-module/hooks/content-lock-ui.js.map +1 -1
  787. package/build-module/hooks/custom-class-name.js +4 -2
  788. package/build-module/hooks/custom-class-name.js.map +1 -1
  789. package/build-module/hooks/dimensions.js +7 -6
  790. package/build-module/hooks/dimensions.js.map +1 -1
  791. package/build-module/hooks/duotone.js +5 -4
  792. package/build-module/hooks/duotone.js.map +1 -1
  793. package/build-module/hooks/font-family.js +1 -5
  794. package/build-module/hooks/font-family.js.map +1 -1
  795. package/build-module/hooks/font-size.js +10 -9
  796. package/build-module/hooks/font-size.js.map +1 -1
  797. package/build-module/hooks/layout.js +26 -24
  798. package/build-module/hooks/layout.js.map +1 -1
  799. package/build-module/hooks/position.js +23 -15
  800. package/build-module/hooks/position.js.map +1 -1
  801. package/build-module/hooks/style.js +8 -4
  802. package/build-module/hooks/style.js.map +1 -1
  803. package/build-module/hooks/supports.js +1 -1
  804. package/build-module/hooks/supports.js.map +1 -1
  805. package/build-module/hooks/typography.native.js +3 -1
  806. package/build-module/hooks/typography.native.js.map +1 -1
  807. package/build-module/hooks/use-typography-props.js +8 -15
  808. package/build-module/hooks/use-typography-props.js.map +1 -1
  809. package/build-module/index.js +1 -1
  810. package/build-module/index.js.map +1 -1
  811. package/build-module/layouts/constrained.js +2 -1
  812. package/build-module/layouts/constrained.js.map +1 -1
  813. package/build-module/layouts/definitions.js +147 -0
  814. package/build-module/layouts/definitions.js.map +1 -0
  815. package/build-module/layouts/flex.js +8 -6
  816. package/build-module/layouts/flex.js.map +1 -1
  817. package/build-module/layouts/flow.js +2 -1
  818. package/build-module/layouts/flow.js.map +1 -1
  819. package/build-module/layouts/grid.js +2 -1
  820. package/build-module/layouts/grid.js.map +1 -1
  821. package/build-module/layouts/utils.js +7 -2
  822. package/build-module/layouts/utils.js.map +1 -1
  823. package/build-module/private-apis.js +16 -1
  824. package/build-module/private-apis.js.map +1 -1
  825. package/build-module/store/actions.js +2 -62
  826. package/build-module/store/actions.js.map +1 -1
  827. package/build-module/store/defaults.js +1 -0
  828. package/build-module/store/defaults.js.map +1 -1
  829. package/build-module/store/private-actions.js +186 -0
  830. package/build-module/store/private-actions.js.map +1 -1
  831. package/build-module/store/private-selectors.js +63 -3
  832. package/build-module/store/private-selectors.js.map +1 -1
  833. package/build-module/store/reducer.js +52 -1
  834. package/build-module/store/reducer.js.map +1 -1
  835. package/build-module/store/selectors.js +42 -42
  836. package/build-module/store/selectors.js.map +1 -1
  837. package/build-module/utils/object.js +37 -1
  838. package/build-module/utils/object.js.map +1 -1
  839. package/build-style/style-rtl.css +58 -67
  840. package/build-style/style.css +58 -67
  841. package/package.json +32 -31
  842. package/src/autocompleters/block.js +4 -2
  843. package/src/components/alignment-control/test/__snapshots__/index.js.snap +6 -6
  844. package/src/components/alignment-control/ui.js +1 -2
  845. package/src/components/block-actions/index.js +10 -0
  846. package/src/components/block-alignment-control/constants.js +0 -4
  847. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +5 -5
  848. package/src/components/block-alignment-control/ui.js +1 -6
  849. package/src/components/block-alignment-matrix-control/index.js +1 -1
  850. package/src/components/block-breadcrumb/index.js +2 -6
  851. package/src/components/block-edit/index.js +3 -5
  852. package/src/components/block-heading-level-dropdown/README.md +52 -0
  853. package/src/components/block-heading-level-dropdown/heading-level-icon.js +43 -0
  854. package/src/components/block-heading-level-dropdown/index.js +77 -0
  855. package/src/components/block-heading-level-dropdown/index.native.js +63 -0
  856. package/src/components/block-inspector/index.js +18 -92
  857. package/src/components/block-inspector/style.scss +0 -5
  858. package/src/components/block-list/block.native.js +1 -0
  859. package/src/components/block-list/index.js +1 -1
  860. package/src/components/block-list/use-in-between-inserter.js +0 -4
  861. package/src/components/block-list-appender/index.js +29 -22
  862. package/src/components/block-lock/style.scss +11 -4
  863. package/src/components/block-lock/toolbar.js +34 -6
  864. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  865. package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +2 -2
  866. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +3 -3
  867. package/src/components/block-mover/test/index.native.js +1 -20
  868. package/src/components/block-preview/index.js +7 -14
  869. package/src/components/block-quick-navigation/index.js +81 -0
  870. package/src/components/block-removal-warning-modal/index.js +94 -0
  871. package/src/components/block-settings-menu/block-settings-dropdown.js +15 -13
  872. package/src/components/block-switcher/index.js +1 -2
  873. package/src/components/block-toolbar/index.js +9 -6
  874. package/src/components/block-toolbar/style.scss +0 -4
  875. package/src/components/block-tools/index.js +10 -1
  876. package/src/components/block-tools/style.scss +4 -0
  877. package/src/components/block-vertical-alignment-control/ui.js +1 -3
  878. package/src/components/colors/utils.js +5 -1
  879. package/src/components/colors/with-colors.js +1 -5
  880. package/src/components/copy-handler/index.js +5 -5
  881. package/src/components/dimensions-tool/aspect-ratio-tool.js +124 -0
  882. package/src/components/dimensions-tool/index.js +212 -0
  883. package/src/components/dimensions-tool/scale-tool.js +124 -0
  884. package/src/components/dimensions-tool/stories/aspect-ratio-tool.js +52 -0
  885. package/src/components/dimensions-tool/stories/index.js +54 -0
  886. package/src/components/dimensions-tool/stories/scale-tool.js +48 -0
  887. package/src/components/dimensions-tool/stories/width-height-tool.js +54 -0
  888. package/src/components/dimensions-tool/test/index.js +641 -0
  889. package/src/components/dimensions-tool/width-height-tool.js +113 -0
  890. package/src/components/duotone-control/index.js +0 -1
  891. package/src/components/font-sizes/test/fluid-utils.js +97 -76
  892. package/src/components/font-sizes/utils.js +2 -2
  893. package/src/components/global-styles/color-panel.js +3 -3
  894. package/src/components/global-styles/index.js +1 -0
  895. package/src/components/global-styles/test/use-global-styles-output.js +14 -9
  896. package/src/components/global-styles/typography-panel.js +19 -16
  897. package/src/components/global-styles/use-global-styles-output.js +12 -12
  898. package/src/components/iframe/index.js +1 -1
  899. package/src/components/image-editor/aspect-ratio-dropdown.js +1 -1
  900. package/src/components/image-editor/constants.js +0 -1
  901. package/src/components/image-editor/use-save-image.js +0 -1
  902. package/src/components/image-size-control/index.js +6 -0
  903. package/src/components/index.js +1 -1
  904. package/src/components/index.native.js +1 -0
  905. package/src/components/inner-blocks/index.js +4 -2
  906. package/src/components/inner-blocks/index.native.js +1 -1
  907. package/src/components/inner-blocks/use-nested-settings-update.js +31 -36
  908. package/src/components/inserter/block-patterns-tab.js +63 -8
  909. package/src/components/inserter/hooks/use-block-types-state.js +4 -3
  910. package/src/components/inserter/hooks/use-insertion-point.js +1 -0
  911. package/src/components/inserter/library.js +2 -1
  912. package/src/components/inserter/media-tab/media-tab.js +9 -3
  913. package/src/components/inserter/reusable-blocks-tab.js +3 -3
  914. package/src/components/inserter/tabs.js +3 -3
  915. package/src/components/link-control/index.js +34 -37
  916. package/src/components/link-control/search-input.js +5 -3
  917. package/src/components/link-control/settings-drawer.js +6 -5
  918. package/src/components/link-control/style.scss +33 -55
  919. package/src/components/link-control/test/index.js +161 -159
  920. package/src/components/list-view/block-select-button.js +19 -1
  921. package/src/components/list-view/branch.js +6 -3
  922. package/src/components/list-view/drop-indicator.js +94 -9
  923. package/src/components/list-view/style.scss +13 -12
  924. package/src/components/list-view/test/use-list-view-drop-zone.js +188 -93
  925. package/src/components/list-view/use-list-view-client-ids.js +3 -20
  926. package/src/components/list-view/use-list-view-drop-zone.js +97 -54
  927. package/src/components/media-placeholder/index.js +54 -20
  928. package/src/components/media-replace-flow/index.js +1 -3
  929. package/src/components/media-replace-flow/test/index.js +1 -1
  930. package/src/components/preview-options/index.js +3 -2
  931. package/src/components/provider/test/experimental-provider.js +9 -6
  932. package/src/components/provider/test/use-block-sync.js +21 -6
  933. package/src/components/provider/use-block-sync.js +19 -0
  934. package/src/components/resolution-tool/index.js +56 -0
  935. package/src/components/resolution-tool/stories/index.js +48 -0
  936. package/src/components/rich-text/content.js +85 -0
  937. package/src/components/rich-text/format-toolbar/index.js +1 -2
  938. package/src/components/rich-text/index.js +2 -35
  939. package/src/components/rich-text/index.native.js +3 -33
  940. package/src/components/url-input/index.js +2 -0
  941. package/src/components/url-popover/image-url-input-ui.js +15 -15
  942. package/src/components/url-popover/test/__snapshots__/index.js.snap +3 -3
  943. package/src/components/use-block-display-information/index.js +26 -0
  944. package/src/components/writing-flow/use-drag-selection.js +1 -1
  945. package/src/components/writing-flow/use-tab-nav.js +42 -6
  946. package/src/hooks/behaviors.js +82 -39
  947. package/src/hooks/font-family.js +1 -5
  948. package/src/hooks/font-size.js +12 -17
  949. package/src/hooks/layout.js +17 -25
  950. package/src/hooks/position.js +24 -12
  951. package/src/hooks/supports.js +1 -1
  952. package/src/hooks/use-typography-props.js +14 -19
  953. package/src/index.js +0 -2
  954. package/src/layouts/constrained.js +2 -1
  955. package/src/layouts/definitions.js +174 -0
  956. package/src/layouts/flex.js +7 -5
  957. package/src/layouts/flow.js +2 -1
  958. package/src/layouts/grid.js +2 -1
  959. package/src/layouts/test/utils.js +2 -7
  960. package/src/layouts/utils.js +7 -2
  961. package/src/private-apis.js +15 -0
  962. package/src/store/actions.js +7 -56
  963. package/src/store/defaults.js +1 -0
  964. package/src/store/private-actions.js +193 -0
  965. package/src/store/private-selectors.js +108 -35
  966. package/src/store/reducer.js +44 -0
  967. package/src/store/selectors.js +61 -39
  968. package/src/store/test/private-selectors.js +269 -1
  969. package/src/store/test/selectors.js +18 -17
  970. package/src/utils/object.js +35 -0
  971. package/src/utils/test/object.js +96 -1
@@ -55,37 +55,39 @@ function DefaultAppender({
55
55
  }
56
56
 
57
57
  function useAppender(rootClientId, CustomAppender) {
58
- const {
59
- hideInserter,
60
- isParentSelected
61
- } = (0, _data.useSelect)(select => {
58
+ const isVisible = (0, _data.useSelect)(select => {
62
59
  const {
63
60
  getTemplateLock,
64
61
  getSelectedBlockClientId,
65
62
  __unstableGetEditorMode,
66
63
  getBlockEditingMode
67
64
  } = (0, _lockUnlock.unlock)(select(_store.store));
68
- const selectedBlockClientId = getSelectedBlockClientId();
69
- return {
70
- hideInserter: !!getTemplateLock(rootClientId) || getBlockEditingMode(rootClientId) === 'disabled' || __unstableGetEditorMode() === 'zoom-out',
71
- isParentSelected: rootClientId === selectedBlockClientId || !rootClientId && !selectedBlockClientId
72
- };
73
- }, [rootClientId]);
74
65
 
75
- if (hideInserter || CustomAppender === false) {
76
- return null;
77
- }
66
+ if (CustomAppender === false) {
67
+ return false;
68
+ }
78
69
 
79
- if (CustomAppender) {
80
- // Prefer custom render prop if provided.
81
- return (0, _element.createElement)(CustomAppender, null);
82
- }
70
+ if (!CustomAppender) {
71
+ const selectedBlockClientId = getSelectedBlockClientId();
72
+ const isParentSelected = rootClientId === selectedBlockClientId || !rootClientId && !selectedBlockClientId;
73
+
74
+ if (!isParentSelected) {
75
+ return false;
76
+ }
77
+ }
78
+
79
+ if (getTemplateLock(rootClientId) || getBlockEditingMode(rootClientId) === 'disabled' || __unstableGetEditorMode() === 'zoom-out') {
80
+ return false;
81
+ }
82
+
83
+ return true;
84
+ }, [rootClientId, CustomAppender]);
83
85
 
84
- if (!isParentSelected) {
86
+ if (!isVisible) {
85
87
  return null;
86
88
  }
87
89
 
88
- return (0, _element.createElement)(DefaultAppender, {
90
+ return CustomAppender ? (0, _element.createElement)(CustomAppender, null) : (0, _element.createElement)(DefaultAppender, {
89
91
  rootClientId: rootClientId
90
92
  });
91
93
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list-appender/index.js"],"names":["DefaultAppender","rootClientId","canInsertDefaultBlock","select","blockEditorStore","canInsertBlockType","useAppender","CustomAppender","hideInserter","isParentSelected","getTemplateLock","getSelectedBlockClientId","__unstableGetEditorMode","getBlockEditingMode","selectedBlockClientId","BlockListAppender","renderAppender","className","tagName","TagName","appender","isDragOver","getBlockInsertionPoint","isBlockInsertionPointVisible","getBlockCount","insertionPoint"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport DefaultBlockAppender from '../default-block-appender';\nimport ButtonBlockAppender from '../button-block-appender';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction DefaultAppender( { rootClientId } ) {\n\tconst canInsertDefaultBlock = useSelect( ( select ) =>\n\t\tselect( blockEditorStore ).canInsertBlockType(\n\t\t\tgetDefaultBlockName(),\n\t\t\trootClientId\n\t\t)\n\t);\n\n\tif ( canInsertDefaultBlock ) {\n\t\t// Render the default block appender if the context supports use\n\t\t// of the default appender.\n\t\treturn <DefaultBlockAppender rootClientId={ rootClientId } />;\n\t}\n\n\t// Fallback in case the default block can't be inserted.\n\treturn (\n\t\t<ButtonBlockAppender\n\t\t\trootClientId={ rootClientId }\n\t\t\tclassName=\"block-list-appender__toggle\"\n\t\t/>\n\t);\n}\n\nfunction useAppender( rootClientId, CustomAppender ) {\n\tconst { hideInserter, isParentSelected } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\thideInserter:\n\t\t\t\t\t!! getTemplateLock( rootClientId ) ||\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) === 'disabled' ||\n\t\t\t\t\t__unstableGetEditorMode() === 'zoom-out',\n\t\t\t\tisParentSelected:\n\t\t\t\t\trootClientId === selectedBlockClientId ||\n\t\t\t\t\t( ! rootClientId && ! selectedBlockClientId ),\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tif ( hideInserter || CustomAppender === false ) {\n\t\treturn null;\n\t}\n\n\tif ( CustomAppender ) {\n\t\t// Prefer custom render prop if provided.\n\t\treturn <CustomAppender />;\n\t}\n\n\tif ( ! isParentSelected ) {\n\t\treturn null;\n\t}\n\n\treturn <DefaultAppender rootClientId={ rootClientId } />;\n}\n\nfunction BlockListAppender( {\n\trootClientId,\n\trenderAppender,\n\tclassName,\n\ttagName: TagName = 'div',\n} ) {\n\tconst appender = useAppender( rootClientId, renderAppender );\n\tconst isDragOver = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetBlockCount,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\t\t// Ideally we should also check for `isDragging` but currently it\n\t\t\t// requires a lot more setup. We can revisit this once we refactor\n\t\t\t// the DnD utility hooks.\n\t\t\treturn (\n\t\t\t\tisBlockInsertionPointVisible() &&\n\t\t\t\trootClientId === insertionPoint?.rootClientId &&\n\t\t\t\tgetBlockCount( rootClientId ) === 0\n\t\t\t);\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tif ( ! appender ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<TagName\n\t\t\t// A `tabIndex` is used on the wrapping `div` element in order to\n\t\t\t// force a focus event to occur when an appender `button` element\n\t\t\t// is clicked. In some browsers (Firefox, Safari), button clicks do\n\t\t\t// not emit a focus event, which could cause this event to propagate\n\t\t\t// unexpectedly. The `tabIndex` ensures that the interaction is\n\t\t\t// captured as a focus, without also adding an extra tab stop.\n\t\t\t//\n\t\t\t// See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n\t\t\ttabIndex={ -1 }\n\t\t\tclassName={ classnames( 'block-list-appender wp-block', className, {\n\t\t\t\t'is-drag-over': isDragOver,\n\t\t\t} ) }\n\t\t\t// Needed in case the whole editor is content editable (for multi\n\t\t\t// selection). It fixes an edge case where ArrowDown and ArrowRight\n\t\t\t// should collapse the selection to the end of that selection and\n\t\t\t// not into the appender.\n\t\t\tcontentEditable={ false }\n\t\t\t// The appender exists to let you add the first Paragraph before\n\t\t\t// any is inserted. To that end, this appender should visually be\n\t\t\t// presented as a block. That means theme CSS should style it as if\n\t\t\t// it were an empty paragraph block. That means a `wp-block` class to\n\t\t\t// ensure the width is correct, and a [data-block] attribute to ensure\n\t\t\t// the correct margin is applied, especially for classic themes which\n\t\t\t// have commonly targeted that attribute for margins.\n\t\t\tdata-block\n\t\t>\n\t\t\t{ appender }\n\t\t</TagName>\n\t);\n}\n\nexport default BlockListAppender;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list-appender/index.js"],"names":["DefaultAppender","rootClientId","canInsertDefaultBlock","select","blockEditorStore","canInsertBlockType","useAppender","CustomAppender","isVisible","getTemplateLock","getSelectedBlockClientId","__unstableGetEditorMode","getBlockEditingMode","selectedBlockClientId","isParentSelected","BlockListAppender","renderAppender","className","tagName","TagName","appender","isDragOver","getBlockInsertionPoint","isBlockInsertionPointVisible","getBlockCount","insertionPoint"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport DefaultBlockAppender from '../default-block-appender';\nimport ButtonBlockAppender from '../button-block-appender';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction DefaultAppender( { rootClientId } ) {\n\tconst canInsertDefaultBlock = useSelect( ( select ) =>\n\t\tselect( blockEditorStore ).canInsertBlockType(\n\t\t\tgetDefaultBlockName(),\n\t\t\trootClientId\n\t\t)\n\t);\n\n\tif ( canInsertDefaultBlock ) {\n\t\t// Render the default block appender if the context supports use\n\t\t// of the default appender.\n\t\treturn <DefaultBlockAppender rootClientId={ rootClientId } />;\n\t}\n\n\t// Fallback in case the default block can't be inserted.\n\treturn (\n\t\t<ButtonBlockAppender\n\t\t\trootClientId={ rootClientId }\n\t\t\tclassName=\"block-list-appender__toggle\"\n\t\t/>\n\t);\n}\n\nfunction useAppender( rootClientId, CustomAppender ) {\n\tconst isVisible = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tif ( CustomAppender === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( ! CustomAppender ) {\n\t\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\t\tconst isParentSelected =\n\t\t\t\t\trootClientId === selectedBlockClientId ||\n\t\t\t\t\t( ! rootClientId && ! selectedBlockClientId );\n\t\t\t\tif ( ! isParentSelected ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tgetTemplateLock( rootClientId ) ||\n\t\t\t\tgetBlockEditingMode( rootClientId ) === 'disabled' ||\n\t\t\t\t__unstableGetEditorMode() === 'zoom-out'\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\t\t[ rootClientId, CustomAppender ]\n\t);\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn CustomAppender ? (\n\t\t<CustomAppender />\n\t) : (\n\t\t<DefaultAppender rootClientId={ rootClientId } />\n\t);\n}\n\nfunction BlockListAppender( {\n\trootClientId,\n\trenderAppender,\n\tclassName,\n\ttagName: TagName = 'div',\n} ) {\n\tconst appender = useAppender( rootClientId, renderAppender );\n\tconst isDragOver = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetBlockCount,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\t\t// Ideally we should also check for `isDragging` but currently it\n\t\t\t// requires a lot more setup. We can revisit this once we refactor\n\t\t\t// the DnD utility hooks.\n\t\t\treturn (\n\t\t\t\tisBlockInsertionPointVisible() &&\n\t\t\t\trootClientId === insertionPoint?.rootClientId &&\n\t\t\t\tgetBlockCount( rootClientId ) === 0\n\t\t\t);\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tif ( ! appender ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<TagName\n\t\t\t// A `tabIndex` is used on the wrapping `div` element in order to\n\t\t\t// force a focus event to occur when an appender `button` element\n\t\t\t// is clicked. In some browsers (Firefox, Safari), button clicks do\n\t\t\t// not emit a focus event, which could cause this event to propagate\n\t\t\t// unexpectedly. The `tabIndex` ensures that the interaction is\n\t\t\t// captured as a focus, without also adding an extra tab stop.\n\t\t\t//\n\t\t\t// See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n\t\t\ttabIndex={ -1 }\n\t\t\tclassName={ classnames( 'block-list-appender wp-block', className, {\n\t\t\t\t'is-drag-over': isDragOver,\n\t\t\t} ) }\n\t\t\t// Needed in case the whole editor is content editable (for multi\n\t\t\t// selection). It fixes an edge case where ArrowDown and ArrowRight\n\t\t\t// should collapse the selection to the end of that selection and\n\t\t\t// not into the appender.\n\t\t\tcontentEditable={ false }\n\t\t\t// The appender exists to let you add the first Paragraph before\n\t\t\t// any is inserted. To that end, this appender should visually be\n\t\t\t// presented as a block. That means theme CSS should style it as if\n\t\t\t// it were an empty paragraph block. That means a `wp-block` class to\n\t\t\t// ensure the width is correct, and a [data-block] attribute to ensure\n\t\t\t// the correct margin is applied, especially for classic themes which\n\t\t\t// have commonly targeted that attribute for margins.\n\t\t\tdata-block\n\t\t>\n\t\t\t{ appender }\n\t\t</TagName>\n\t);\n}\n\nexport default BlockListAppender;\n"]}
@@ -13,6 +13,8 @@ var _i18n = require("@wordpress/i18n");
13
13
 
14
14
  var _components = require("@wordpress/components");
15
15
 
16
+ var _dom = require("@wordpress/dom");
17
+
16
18
  var _icons = require("@wordpress/icons");
17
19
 
18
20
  var _modal = _interopRequireDefault(require("./modal"));
@@ -27,7 +29,8 @@ var _useBlockLock = _interopRequireDefault(require("./use-block-lock"));
27
29
  * Internal dependencies
28
30
  */
29
31
  function BlockLockToolbar({
30
- clientId
32
+ clientId,
33
+ wrapperRef
31
34
  }) {
32
35
  const {
33
36
  canEdit,
@@ -36,12 +39,27 @@ function BlockLockToolbar({
36
39
  canLock
37
40
  } = (0, _useBlockLock.default)(clientId);
38
41
  const [isModalOpen, toggleModal] = (0, _element.useReducer)(isActive => !isActive, false);
42
+ const lockButtonRef = (0, _element.useRef)(null);
43
+ const isFirstRender = (0, _element.useRef)(true);
44
+ const shouldHideBlockLockUI = !canLock || canEdit && canMove && canRemove; // Restore focus manually on the first focusable element in the toolbar
45
+ // when the block lock modal is closed and the block is not locked anymore.
46
+ // See https://github.com/WordPress/gutenberg/issues/51447
39
47
 
40
- if (!canLock) {
41
- return null;
42
- }
48
+ (0, _element.useEffect)(() => {
49
+ if (isFirstRender.current) {
50
+ isFirstRender.current = false;
51
+ return;
52
+ }
53
+
54
+ if (!isModalOpen && shouldHideBlockLockUI) {
55
+ _dom.focus.focusable.find(wrapperRef.current, {
56
+ sequential: false
57
+ }).find(element => element.tagName === 'BUTTON' && element !== lockButtonRef.current)?.focus();
58
+ } // wrapperRef is a reference object and should be stable
59
+
60
+ }, [isModalOpen, shouldHideBlockLockUI, wrapperRef]);
43
61
 
44
- if (canEdit && canMove && canRemove) {
62
+ if (shouldHideBlockLockUI) {
45
63
  return null;
46
64
  }
47
65
 
@@ -50,7 +68,8 @@ function BlockLockToolbar({
50
68
  }, (0, _element.createElement)(_components.ToolbarButton, {
51
69
  icon: _icons.lock,
52
70
  label: (0, _i18n.__)('Unlock'),
53
- onClick: toggleModal
71
+ onClick: toggleModal,
72
+ ref: lockButtonRef
54
73
  })), isModalOpen && (0, _element.createElement)(_modal.default, {
55
74
  clientId: clientId,
56
75
  onClose: toggleModal
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-lock/toolbar.js"],"names":["BlockLockToolbar","clientId","canEdit","canMove","canRemove","canLock","isModalOpen","toggleModal","isActive","lock"],"mappings":";;;;;;;;;AAKA;;AAFA;;AACA;;AAEA;;AAKA;;AACA;;AAZA;AACA;AACA;;AAMA;AACA;AACA;AAIe,SAASA,gBAAT,CAA2B;AAAEC,EAAAA;AAAF,CAA3B,EAA0C;AACxD,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,OAAX;AAAoBC,IAAAA,SAApB;AAA+BC,IAAAA;AAA/B,MAA2C,2BAAcJ,QAAd,CAAjD;AAEA,QAAM,CAAEK,WAAF,EAAeC,WAAf,IAA+B,yBAClCC,QAAF,IAAgB,CAAEA,QADkB,EAEpC,KAFoC,CAArC;;AAKA,MAAK,CAAEH,OAAP,EAAiB;AAChB,WAAO,IAAP;AACA;;AAED,MAAKH,OAAO,IAAIC,OAAX,IAAsBC,SAA3B,EAAuC;AACtC,WAAO,IAAP;AACA;;AAED,SACC,qDACC,4BAAC,wBAAD;AAAc,IAAA,SAAS,EAAC;AAAxB,KACC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAGK,WADR;AAEC,IAAA,KAAK,EAAG,cAAI,QAAJ,CAFT;AAGC,IAAA,OAAO,EAAGF;AAHX,IADD,CADD,EAQGD,WAAW,IACZ,4BAAC,cAAD;AAAgB,IAAA,QAAQ,EAAGL,QAA3B;AAAsC,IAAA,OAAO,EAAGM;AAAhD,IATF,CADD;AAcA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { useReducer } from '@wordpress/element';\nimport { lock } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockLockModal from './modal';\nimport useBlockLock from './use-block-lock';\n\nexport default function BlockLockToolbar( { clientId } ) {\n\tconst { canEdit, canMove, canRemove, canLock } = useBlockLock( clientId );\n\n\tconst [ isModalOpen, toggleModal ] = useReducer(\n\t\t( isActive ) => ! isActive,\n\t\tfalse\n\t);\n\n\tif ( ! canLock ) {\n\t\treturn null;\n\t}\n\n\tif ( canEdit && canMove && canRemove ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarGroup className=\"block-editor-block-lock-toolbar\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ lock }\n\t\t\t\t\tlabel={ __( 'Unlock' ) }\n\t\t\t\t\tonClick={ toggleModal }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<BlockLockModal clientId={ clientId } onClose={ toggleModal } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-lock/toolbar.js"],"names":["BlockLockToolbar","clientId","wrapperRef","canEdit","canMove","canRemove","canLock","isModalOpen","toggleModal","isActive","lockButtonRef","isFirstRender","shouldHideBlockLockUI","current","focus","focusable","find","sequential","element","tagName","lock"],"mappings":";;;;;;;;;AAMA;;AAHA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AAbA;AACA;AACA;;AAOA;AACA;AACA;AAIe,SAASA,gBAAT,CAA2B;AAAEC,EAAAA,QAAF;AAAYC,EAAAA;AAAZ,CAA3B,EAAsD;AACpE,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,OAAX;AAAoBC,IAAAA,SAApB;AAA+BC,IAAAA;AAA/B,MAA2C,2BAAcL,QAAd,CAAjD;AAEA,QAAM,CAAEM,WAAF,EAAeC,WAAf,IAA+B,yBAClCC,QAAF,IAAgB,CAAEA,QADkB,EAEpC,KAFoC,CAArC;AAKA,QAAMC,aAAa,GAAG,qBAAQ,IAAR,CAAtB;AACA,QAAMC,aAAa,GAAG,qBAAQ,IAAR,CAAtB;AAEA,QAAMC,qBAAqB,GAC1B,CAAEN,OAAF,IAAeH,OAAO,IAAIC,OAAX,IAAsBC,SADtC,CAXoE,CAcpE;AACA;AACA;;AACA,0BAAW,MAAM;AAChB,QAAKM,aAAa,CAACE,OAAnB,EAA6B;AAC5BF,MAAAA,aAAa,CAACE,OAAd,GAAwB,KAAxB;AACA;AACA;;AAED,QAAK,CAAEN,WAAF,IAAiBK,qBAAtB,EAA8C;AAC7CE,iBAAMC,SAAN,CACEC,IADF,CACQd,UAAU,CAACW,OADnB,EAC4B;AAC1BI,QAAAA,UAAU,EAAE;AADc,OAD5B,EAIED,IAJF,CAKIE,OAAF,IACCA,OAAO,CAACC,OAAR,KAAoB,QAApB,IACAD,OAAO,KAAKR,aAAa,CAACG,OAP7B,GASGC,KATH;AAUA,KAjBe,CAkBhB;;AACA,GAnBD,EAmBG,CAAEP,WAAF,EAAeK,qBAAf,EAAsCV,UAAtC,CAnBH;;AAqBA,MAAKU,qBAAL,EAA6B;AAC5B,WAAO,IAAP;AACA;;AAED,SACC,qDACC,4BAAC,wBAAD;AAAc,IAAA,SAAS,EAAC;AAAxB,KACC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAGQ,WADR;AAEC,IAAA,KAAK,EAAG,cAAI,QAAJ,CAFT;AAGC,IAAA,OAAO,EAAGZ,WAHX;AAIC,IAAA,GAAG,EAAGE;AAJP,IADD,CADD,EASGH,WAAW,IACZ,4BAAC,cAAD;AAAgB,IAAA,QAAQ,EAAGN,QAA3B;AAAsC,IAAA,OAAO,EAAGO;AAAhD,IAVF,CADD;AAeA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { focus } from '@wordpress/dom';\nimport { useReducer, useRef, useEffect } from '@wordpress/element';\nimport { lock } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockLockModal from './modal';\nimport useBlockLock from './use-block-lock';\n\nexport default function BlockLockToolbar( { clientId, wrapperRef } ) {\n\tconst { canEdit, canMove, canRemove, canLock } = useBlockLock( clientId );\n\n\tconst [ isModalOpen, toggleModal ] = useReducer(\n\t\t( isActive ) => ! isActive,\n\t\tfalse\n\t);\n\n\tconst lockButtonRef = useRef( null );\n\tconst isFirstRender = useRef( true );\n\n\tconst shouldHideBlockLockUI =\n\t\t! canLock || ( canEdit && canMove && canRemove );\n\n\t// Restore focus manually on the first focusable element in the toolbar\n\t// when the block lock modal is closed and the block is not locked anymore.\n\t// See https://github.com/WordPress/gutenberg/issues/51447\n\tuseEffect( () => {\n\t\tif ( isFirstRender.current ) {\n\t\t\tisFirstRender.current = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! isModalOpen && shouldHideBlockLockUI ) {\n\t\t\tfocus.focusable\n\t\t\t\t.find( wrapperRef.current, {\n\t\t\t\t\tsequential: false,\n\t\t\t\t} )\n\t\t\t\t.find(\n\t\t\t\t\t( element ) =>\n\t\t\t\t\t\telement.tagName === 'BUTTON' &&\n\t\t\t\t\t\telement !== lockButtonRef.current\n\t\t\t\t)\n\t\t\t\t?.focus();\n\t\t}\n\t\t// wrapperRef is a reference object and should be stable\n\t}, [ isModalOpen, shouldHideBlockLockUI, wrapperRef ] );\n\n\tif ( shouldHideBlockLockUI ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarGroup className=\"block-editor-block-lock-toolbar\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ lock }\n\t\t\t\t\tlabel={ __( 'Unlock' ) }\n\t\t\t\t\tonClick={ toggleModal }\n\t\t\t\t\tref={ lockButtonRef }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<BlockLockModal clientId={ clientId } onClose={ toggleModal } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -153,7 +153,7 @@ const BlockActionsMenu = ({
153
153
  },
154
154
  copyButton: {
155
155
  id: 'copyButtonOption',
156
- label: (0, _i18n.__)('Copy block'),
156
+ label: (0, _i18n.__)('Copy'),
157
157
  value: 'copyButtonOption',
158
158
  onSelect: () => {
159
159
  const serializedBlock = (0, _blocks.serialize)(getBlocksByClientId(selectedBlockClientId));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-mobile-toolbar/block-actions-menu.native.js"],"names":["BlockActionsMenu","blockTitle","canInsertBlockType","getBlocksByClientId","isEmptyDefaultBlock","isLocked","canDuplicate","isFirst","isLast","isReusableBlockType","reusableBlock","rootClientId","selectedBlockClientId","selectedBlockPossibleTransformations","canRemove","createSuccessNotice","convertToRegularBlocks","duplicateBlock","onMoveDown","onMoveUp","openGeneralSidebar","pasteBlock","removeBlocks","anchorNodeRef","isStackedHorizontally","onDelete","wrapBlockMover","wrapBlockSettings","clipboard","setCurrentClipboard","blockActionsMenuPickerRef","blockTransformationMenuPickerRef","moversOptions","keys","clipboardBlock","HTML","isPasteEnabled","name","innerBlockCount","select","blockEditorStore","getBlockCount","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","convertToGroupButtons","allOptions","settings","id","label","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","cutButton","pasteButton","onPasteBlock","duplicateButton","successNotice","title","raw","options","length","group","ungroup","filter","Boolean","moreHorizontalMobile","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","accessibilityHint","Platform","OS","getAnchor","undefined","hint","EMPTY_BLOCK_LIST","clientId","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","canRemoveBlock","block","blockName","blockType","blockOrder","currentBlockIndex","innerBlocks","every","innerBlock","isDefaultBlock","isEmptyContent","attributes","content","isExactlyOneBlock","selectedBlock","coreStore","getEntityRecord","ref","currentIndex","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlock","clearSelectedBlock","getBlockSelectionEnd","noticesStore","__experimentalConvertBlockToStatic","convertBlockToStatic","reusableBlocksStore","setImmediate","args","canReplaceBlock","insertedBlock","withInstanceId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, findNodeHandle } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetClipboard,\n\tsetClipboard,\n\tToolbarButton,\n\tPicker,\n} from '@wordpress/components';\nimport {\n\tgetBlockType,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tserialize,\n\trawHandler,\n\tcreateBlock,\n\tisUnmodifiedDefaultBlock,\n\tisReusableBlock,\n} from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect, useSelect } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { moreHorizontalMobile } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getMoversSetup } from '../block-mover/mover-description';\nimport { store as blockEditorStore } from '../../store';\nimport BlockTransformationsMenu from '../block-switcher/block-transformations-menu';\nimport {\n\tuseConvertToGroupButtons,\n\tuseConvertToGroupButtonProps,\n} from '../convert-to-group-buttons';\n\nconst BlockActionsMenu = ( {\n\t// Select.\n\tblockTitle,\n\tcanInsertBlockType,\n\tgetBlocksByClientId,\n\tisEmptyDefaultBlock,\n\tisLocked,\n\tcanDuplicate,\n\tisFirst,\n\tisLast,\n\tisReusableBlockType,\n\treusableBlock,\n\trootClientId,\n\tselectedBlockClientId,\n\tselectedBlockPossibleTransformations,\n\tcanRemove,\n\t// Dispatch.\n\tcreateSuccessNotice,\n\tconvertToRegularBlocks,\n\tduplicateBlock,\n\tonMoveDown,\n\tonMoveUp,\n\topenGeneralSidebar,\n\tpasteBlock,\n\tremoveBlocks,\n\t// Passed in.\n\tanchorNodeRef,\n\tisStackedHorizontally,\n\tonDelete,\n\twrapBlockMover,\n\twrapBlockSettings,\n} ) => {\n\tconst [ clipboard, setCurrentClipboard ] = useState( getClipboard() );\n\tconst blockActionsMenuPickerRef = useRef();\n\tconst blockTransformationMenuPickerRef = useRef();\n\tconst moversOptions = { keys: [ 'icon', 'actionTitle' ] };\n\tconst clipboardBlock = clipboard && rawHandler( { HTML: clipboard } )[ 0 ];\n\tconst isPasteEnabled =\n\t\tclipboardBlock &&\n\t\tcanInsertBlockType( clipboardBlock.name, rootClientId );\n\n\tconst innerBlockCount = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockCount( selectedBlockClientId ),\n\t\t[ selectedBlockClientId ]\n\t);\n\n\tconst {\n\t\tactionTitle: {\n\t\t\tbackward: backwardButtonTitle,\n\t\t\tforward: forwardButtonTitle,\n\t\t},\n\t} = getMoversSetup( isStackedHorizontally, moversOptions );\n\n\t// Check if selected block is Groupable and/or Ungroupable.\n\tconst convertToGroupButtonProps = useConvertToGroupButtonProps( [\n\t\tselectedBlockClientId,\n\t] );\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton =\n\t\t( isGroupable || isUngroupable ) && canRemove;\n\tconst convertToGroupButtons = useConvertToGroupButtons( {\n\t\t...convertToGroupButtonProps,\n\t} );\n\n\tconst allOptions = {\n\t\tsettings: {\n\t\t\tid: 'settingsOption',\n\t\t\tlabel: __( 'Block settings' ),\n\t\t\tvalue: 'settingsOption',\n\t\t\tonSelect: openGeneralSidebar,\n\t\t},\n\t\tbackwardButton: {\n\t\t\tid: 'backwardButtonOption',\n\t\t\tlabel: backwardButtonTitle,\n\t\t\tvalue: 'backwardButtonOption',\n\t\t\tdisabled: isFirst,\n\t\t\tonSelect: onMoveUp,\n\t\t},\n\t\tforwardButton: {\n\t\t\tid: 'forwardButtonOption',\n\t\t\tlabel: forwardButtonTitle,\n\t\t\tvalue: 'forwardButtonOption',\n\t\t\tdisabled: isLast,\n\t\t\tonSelect: onMoveDown,\n\t\t},\n\t\tdelete: {\n\t\t\tid: 'deleteOption',\n\t\t\tlabel: __( 'Remove block' ),\n\t\t\tvalue: 'deleteOption',\n\t\t\tseparated: true,\n\t\t\tdisabled: isEmptyDefaultBlock,\n\t\t\tonSelect: () => {\n\t\t\t\tonDelete();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is removed.\n\t\t\t\t\t__( 'Block removed' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\ttransformButton: {\n\t\t\tid: 'transformButtonOption',\n\t\t\tlabel: __( 'Transform block…' ),\n\t\t\tvalue: 'transformButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tif ( blockTransformationMenuPickerRef.current ) {\n\t\t\t\t\tblockTransformationMenuPickerRef.current.presentPicker();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcopyButton: {\n\t\t\tid: 'copyButtonOption',\n\t\t\tlabel: __( 'Copy block' ),\n\t\t\tvalue: 'copyButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst serializedBlock = serialize(\n\t\t\t\t\tgetBlocksByClientId( selectedBlockClientId )\n\t\t\t\t);\n\t\t\t\tsetCurrentClipboard( serializedBlock );\n\t\t\t\tsetClipboard( serializedBlock );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is copied.\n\t\t\t\t\t__( 'Block copied' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tcutButton: {\n\t\t\tid: 'cutButtonOption',\n\t\t\tlabel: __( 'Cut block' ),\n\t\t\tvalue: 'cutButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tsetClipboard(\n\t\t\t\t\tserialize( getBlocksByClientId( selectedBlockClientId ) )\n\t\t\t\t);\n\t\t\t\tremoveBlocks( selectedBlockClientId );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is cut.\n\t\t\t\t\t__( 'Block cut' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tpasteButton: {\n\t\t\tid: 'pasteButtonOption',\n\t\t\tlabel: __( 'Paste block after' ),\n\t\t\tvalue: 'pasteButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tonPasteBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is pasted.\n\t\t\t\t\t__( 'Block pasted' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tduplicateButton: {\n\t\t\tid: 'duplicateButtonOption',\n\t\t\tlabel: __( 'Duplicate block' ),\n\t\t\tvalue: 'duplicateButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tduplicateBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is duplicated.\n\t\t\t\t\t__( 'Block duplicated' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tconvertToRegularBlocks: {\n\t\t\tid: 'convertToRegularBlocksOption',\n\t\t\tlabel:\n\t\t\t\tinnerBlockCount > 1\n\t\t\t\t\t? __( 'Convert to regular blocks' )\n\t\t\t\t\t: __( 'Convert to regular block' ),\n\t\t\tvalue: 'convertToRegularBlocksOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst successNotice =\n\t\t\t\t\tinnerBlockCount > 1\n\t\t\t\t\t\t? /* translators: %s: name of the reusable block */\n\t\t\t\t\t\t __( '%s converted to regular blocks' )\n\t\t\t\t\t\t: /* translators: %s: name of the reusable block */\n\t\t\t\t\t\t __( '%s converted to regular block' );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\tsuccessNotice,\n\t\t\t\t\t\treusableBlock?.title?.raw || blockTitle\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconvertToRegularBlocks();\n\t\t\t},\n\t\t},\n\t};\n\n\tconst options = [\n\t\twrapBlockMover && allOptions.backwardButton,\n\t\twrapBlockMover && allOptions.forwardButton,\n\t\twrapBlockSettings && allOptions.settings,\n\t\t! isLocked &&\n\t\t\tselectedBlockPossibleTransformations.length &&\n\t\t\tallOptions.transformButton,\n\t\tcanDuplicate && allOptions.copyButton,\n\t\tcanDuplicate && allOptions.cutButton,\n\t\tcanDuplicate && isPasteEnabled && allOptions.pasteButton,\n\t\tcanDuplicate && allOptions.duplicateButton,\n\t\tshowConvertToGroupButton && isGroupable && convertToGroupButtons.group,\n\t\tshowConvertToGroupButton &&\n\t\t\tisUngroupable &&\n\t\t\tconvertToGroupButtons.ungroup,\n\t\tisReusableBlockType &&\n\t\t\tinnerBlockCount > 0 &&\n\t\t\tallOptions.convertToRegularBlocks,\n\t\t! isLocked && allOptions.delete,\n\t].filter( Boolean );\n\n\t// End early if there are no options to show.\n\tif ( ! options.length ) {\n\t\treturn (\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\tdisabled={ true }\n\t\t\t/>\n\t\t);\n\t}\n\n\tfunction onPasteBlock() {\n\t\tif ( ! clipboard ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpasteBlock( rawHandler( { HTML: clipboard } )[ 0 ] );\n\t}\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\tfunction onPickerPresent() {\n\t\tif ( blockActionsMenuPickerRef.current ) {\n\t\t\tblockActionsMenuPickerRef.current.presentPicker();\n\t\t}\n\t}\n\n\tconst disabledButtonIndices = options\n\t\t.map( ( option, index ) => option.disabled && index + 1 )\n\t\t.filter( Boolean );\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet with available options' )\n\t\t\t: __( 'Double tap to open Bottom Sheet with available options' );\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\tonClick={ onPickerPresent }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: accessibilityHint,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<Picker\n\t\t\t\ttestID=\"block-actions-menu\"\n\t\t\t\tref={ blockActionsMenuPickerRef }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\tdestructiveButtonIndex={ options.length }\n\t\t\t\tdisabledButtonIndices={ disabledButtonIndices }\n\t\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\t\tleftAlign={ true }\n\t\t\t\tgetAnchor={ getAnchor }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ sprintf( __( '%s block options' ), blockTitle ) }\n\t\t\t/>\n\t\t\t<BlockTransformationsMenu\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\tpickerRef={ blockTransformationMenuPickerRef }\n\t\t\t\tpossibleTransformations={ selectedBlockPossibleTransformations }\n\t\t\t\tselectedBlock={ getBlocksByClientId( selectedBlockClientId ) }\n\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nconst EMPTY_BLOCK_LIST = [];\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockName,\n\t\t\tgetBlockTransformItems,\n\t\t\tgetBlock,\n\t\t\tgetBlocksByClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tcanInsertBlockType,\n\t\t\tgetTemplateLock,\n\t\t\tcanRemoveBlock,\n\t\t} = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst blockName = getBlockName( clientId );\n\t\tconst blockType = getBlockType( blockName );\n\t\tconst blockTitle = blockType?.title;\n\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\tconst isFirst = currentBlockIndex === 0;\n\t\tconst isLast = currentBlockIndex === blockOrder.length - 1;\n\n\t\tconst innerBlocks = getBlocksByClientId( clientId );\n\n\t\tconst canDuplicate = innerBlocks.every( ( innerBlock ) => {\n\t\t\treturn (\n\t\t\t\t!! innerBlock &&\n\t\t\t\thasBlockSupport( innerBlock.name, 'multiple', true ) &&\n\t\t\t\tcanInsertBlockType( innerBlock.name, rootClientId )\n\t\t\t);\n\t\t} );\n\n\t\tconst isDefaultBlock = blockName === getDefaultBlockName();\n\t\tconst isEmptyContent = block?.attributes.content === '';\n\t\tconst isExactlyOneBlock = blockOrder.length === 1;\n\t\tconst isEmptyDefaultBlock =\n\t\t\tisExactlyOneBlock && isDefaultBlock && isEmptyContent;\n\t\tconst isLocked = !! getTemplateLock( rootClientId );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientIds()[ 0 ];\n\t\tconst selectedBlock = selectedBlockClientId\n\t\t\t? getBlocksByClientId( selectedBlockClientId )[ 0 ]\n\t\t\t: undefined;\n\t\tconst selectedBlockPossibleTransformations = selectedBlock\n\t\t\t? getBlockTransformItems( selectedBlock, rootClientId )\n\t\t\t: EMPTY_BLOCK_LIST;\n\t\tconst canRemove = canRemoveBlock( selectedBlockClientId );\n\n\t\tconst isReusableBlockType = block ? isReusableBlock( block ) : false;\n\t\tconst reusableBlock = isReusableBlockType\n\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblock?.attributes.ref\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tblockTitle,\n\t\t\tcanInsertBlockType,\n\t\t\tcurrentIndex: currentBlockIndex,\n\t\t\tgetBlocksByClientId,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tisReusableBlockType,\n\t\t\treusableBlock,\n\t\t\trootClientId,\n\t\t\tselectedBlockClientId,\n\t\t\tselectedBlockPossibleTransformations,\n\t\t\tcanRemove,\n\t\t};\n\t} ),\n\twithDispatch(\n\t\t(\n\t\t\tdispatch,\n\t\t\t{ clientId, rootClientId, currentIndex, selectedBlockClientId },\n\t\t\t{ select }\n\t\t) => {\n\t\t\tconst {\n\t\t\t\tmoveBlocksDown,\n\t\t\t\tmoveBlocksUp,\n\t\t\t\tduplicateBlocks,\n\t\t\t\tremoveBlocks,\n\t\t\t\tinsertBlock,\n\t\t\t\treplaceBlock,\n\t\t\t\tclearSelectedBlock,\n\t\t\t} = dispatch( blockEditorStore );\n\t\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\t\tconst { getBlockSelectionEnd, getBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\t\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\t\t\tdispatch( reusableBlocksStore );\n\n\t\t\treturn {\n\t\t\t\tcreateSuccessNotice,\n\t\t\t\tconvertToRegularBlocks() {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t\t\t\t// to prevent issues related to undo/redo actions.\n\t\t\t\t\tsetImmediate( () =>\n\t\t\t\t\t\tconvertBlockToStatic( selectedBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tduplicateBlock() {\n\t\t\t\t\treturn duplicateBlocks( [ clientId ] );\n\t\t\t\t},\n\t\t\t\tonMoveDown: ( ...args ) =>\n\t\t\t\t\tmoveBlocksDown( [ clientId ], rootClientId, ...args ),\n\t\t\t\tonMoveUp: ( ...args ) =>\n\t\t\t\t\tmoveBlocksUp( [ clientId ], rootClientId, ...args ),\n\t\t\t\topenGeneralSidebar: () =>\n\t\t\t\t\topenGeneralSidebar( 'edit-post/block' ),\n\t\t\t\tpasteBlock: ( clipboardBlock ) => {\n\t\t\t\t\tconst canReplaceBlock = isUnmodifiedDefaultBlock(\n\t\t\t\t\t\tgetBlock( getBlockSelectionEnd() )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! canReplaceBlock ) {\n\t\t\t\t\t\tconst insertedBlock = createBlock(\n\t\t\t\t\t\t\tclipboardBlock.name,\n\t\t\t\t\t\t\tclipboardBlock.attributes,\n\t\t\t\t\t\t\tclipboardBlock.innerBlocks\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\tinsertedBlock,\n\t\t\t\t\t\t\tcurrentIndex + 1,\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treplaceBlock( clientId, clipboardBlock );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tremoveBlocks,\n\t\t\t};\n\t\t}\n\t),\n\twithInstanceId\n)( BlockActionsMenu );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-mobile-toolbar/block-actions-menu.native.js"],"names":["BlockActionsMenu","blockTitle","canInsertBlockType","getBlocksByClientId","isEmptyDefaultBlock","isLocked","canDuplicate","isFirst","isLast","isReusableBlockType","reusableBlock","rootClientId","selectedBlockClientId","selectedBlockPossibleTransformations","canRemove","createSuccessNotice","convertToRegularBlocks","duplicateBlock","onMoveDown","onMoveUp","openGeneralSidebar","pasteBlock","removeBlocks","anchorNodeRef","isStackedHorizontally","onDelete","wrapBlockMover","wrapBlockSettings","clipboard","setCurrentClipboard","blockActionsMenuPickerRef","blockTransformationMenuPickerRef","moversOptions","keys","clipboardBlock","HTML","isPasteEnabled","name","innerBlockCount","select","blockEditorStore","getBlockCount","actionTitle","backward","backwardButtonTitle","forward","forwardButtonTitle","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","convertToGroupButtons","allOptions","settings","id","label","value","onSelect","backwardButton","disabled","forwardButton","delete","separated","transformButton","current","presentPicker","copyButton","serializedBlock","cutButton","pasteButton","onPasteBlock","duplicateButton","successNotice","title","raw","options","length","group","ungroup","filter","Boolean","moreHorizontalMobile","onPickerSelect","selectedItem","find","item","onPickerPresent","disabledButtonIndices","map","option","index","accessibilityHint","Platform","OS","getAnchor","undefined","hint","EMPTY_BLOCK_LIST","clientId","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlockName","getBlockTransformItems","getBlock","getSelectedBlockClientIds","getTemplateLock","canRemoveBlock","block","blockName","blockType","blockOrder","currentBlockIndex","innerBlocks","every","innerBlock","isDefaultBlock","isEmptyContent","attributes","content","isExactlyOneBlock","selectedBlock","coreStore","getEntityRecord","ref","currentIndex","dispatch","moveBlocksDown","moveBlocksUp","duplicateBlocks","insertBlock","replaceBlock","clearSelectedBlock","getBlockSelectionEnd","noticesStore","__experimentalConvertBlockToStatic","convertBlockToStatic","reusableBlocksStore","setImmediate","args","canReplaceBlock","insertedBlock","withInstanceId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform, findNodeHandle } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetClipboard,\n\tsetClipboard,\n\tToolbarButton,\n\tPicker,\n} from '@wordpress/components';\nimport {\n\tgetBlockType,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tserialize,\n\trawHandler,\n\tcreateBlock,\n\tisUnmodifiedDefaultBlock,\n\tisReusableBlock,\n} from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { withDispatch, withSelect, useSelect } from '@wordpress/data';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport { moreHorizontalMobile } from '@wordpress/icons';\nimport { useRef, useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getMoversSetup } from '../block-mover/mover-description';\nimport { store as blockEditorStore } from '../../store';\nimport BlockTransformationsMenu from '../block-switcher/block-transformations-menu';\nimport {\n\tuseConvertToGroupButtons,\n\tuseConvertToGroupButtonProps,\n} from '../convert-to-group-buttons';\n\nconst BlockActionsMenu = ( {\n\t// Select.\n\tblockTitle,\n\tcanInsertBlockType,\n\tgetBlocksByClientId,\n\tisEmptyDefaultBlock,\n\tisLocked,\n\tcanDuplicate,\n\tisFirst,\n\tisLast,\n\tisReusableBlockType,\n\treusableBlock,\n\trootClientId,\n\tselectedBlockClientId,\n\tselectedBlockPossibleTransformations,\n\tcanRemove,\n\t// Dispatch.\n\tcreateSuccessNotice,\n\tconvertToRegularBlocks,\n\tduplicateBlock,\n\tonMoveDown,\n\tonMoveUp,\n\topenGeneralSidebar,\n\tpasteBlock,\n\tremoveBlocks,\n\t// Passed in.\n\tanchorNodeRef,\n\tisStackedHorizontally,\n\tonDelete,\n\twrapBlockMover,\n\twrapBlockSettings,\n} ) => {\n\tconst [ clipboard, setCurrentClipboard ] = useState( getClipboard() );\n\tconst blockActionsMenuPickerRef = useRef();\n\tconst blockTransformationMenuPickerRef = useRef();\n\tconst moversOptions = { keys: [ 'icon', 'actionTitle' ] };\n\tconst clipboardBlock = clipboard && rawHandler( { HTML: clipboard } )[ 0 ];\n\tconst isPasteEnabled =\n\t\tclipboardBlock &&\n\t\tcanInsertBlockType( clipboardBlock.name, rootClientId );\n\n\tconst innerBlockCount = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockCount( selectedBlockClientId ),\n\t\t[ selectedBlockClientId ]\n\t);\n\n\tconst {\n\t\tactionTitle: {\n\t\t\tbackward: backwardButtonTitle,\n\t\t\tforward: forwardButtonTitle,\n\t\t},\n\t} = getMoversSetup( isStackedHorizontally, moversOptions );\n\n\t// Check if selected block is Groupable and/or Ungroupable.\n\tconst convertToGroupButtonProps = useConvertToGroupButtonProps( [\n\t\tselectedBlockClientId,\n\t] );\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton =\n\t\t( isGroupable || isUngroupable ) && canRemove;\n\tconst convertToGroupButtons = useConvertToGroupButtons( {\n\t\t...convertToGroupButtonProps,\n\t} );\n\n\tconst allOptions = {\n\t\tsettings: {\n\t\t\tid: 'settingsOption',\n\t\t\tlabel: __( 'Block settings' ),\n\t\t\tvalue: 'settingsOption',\n\t\t\tonSelect: openGeneralSidebar,\n\t\t},\n\t\tbackwardButton: {\n\t\t\tid: 'backwardButtonOption',\n\t\t\tlabel: backwardButtonTitle,\n\t\t\tvalue: 'backwardButtonOption',\n\t\t\tdisabled: isFirst,\n\t\t\tonSelect: onMoveUp,\n\t\t},\n\t\tforwardButton: {\n\t\t\tid: 'forwardButtonOption',\n\t\t\tlabel: forwardButtonTitle,\n\t\t\tvalue: 'forwardButtonOption',\n\t\t\tdisabled: isLast,\n\t\t\tonSelect: onMoveDown,\n\t\t},\n\t\tdelete: {\n\t\t\tid: 'deleteOption',\n\t\t\tlabel: __( 'Remove block' ),\n\t\t\tvalue: 'deleteOption',\n\t\t\tseparated: true,\n\t\t\tdisabled: isEmptyDefaultBlock,\n\t\t\tonSelect: () => {\n\t\t\t\tonDelete();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is removed.\n\t\t\t\t\t__( 'Block removed' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\ttransformButton: {\n\t\t\tid: 'transformButtonOption',\n\t\t\tlabel: __( 'Transform block…' ),\n\t\t\tvalue: 'transformButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tif ( blockTransformationMenuPickerRef.current ) {\n\t\t\t\t\tblockTransformationMenuPickerRef.current.presentPicker();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcopyButton: {\n\t\t\tid: 'copyButtonOption',\n\t\t\tlabel: __( 'Copy' ),\n\t\t\tvalue: 'copyButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst serializedBlock = serialize(\n\t\t\t\t\tgetBlocksByClientId( selectedBlockClientId )\n\t\t\t\t);\n\t\t\t\tsetCurrentClipboard( serializedBlock );\n\t\t\t\tsetClipboard( serializedBlock );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is copied.\n\t\t\t\t\t__( 'Block copied' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tcutButton: {\n\t\t\tid: 'cutButtonOption',\n\t\t\tlabel: __( 'Cut block' ),\n\t\t\tvalue: 'cutButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tsetClipboard(\n\t\t\t\t\tserialize( getBlocksByClientId( selectedBlockClientId ) )\n\t\t\t\t);\n\t\t\t\tremoveBlocks( selectedBlockClientId );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is cut.\n\t\t\t\t\t__( 'Block cut' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tpasteButton: {\n\t\t\tid: 'pasteButtonOption',\n\t\t\tlabel: __( 'Paste block after' ),\n\t\t\tvalue: 'pasteButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tonPasteBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is pasted.\n\t\t\t\t\t__( 'Block pasted' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tduplicateButton: {\n\t\t\tid: 'duplicateButtonOption',\n\t\t\tlabel: __( 'Duplicate block' ),\n\t\t\tvalue: 'duplicateButtonOption',\n\t\t\tonSelect: () => {\n\t\t\t\tduplicateBlock();\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t// translators: displayed right after the block is duplicated.\n\t\t\t\t\t__( 'Block duplicated' )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\tconvertToRegularBlocks: {\n\t\t\tid: 'convertToRegularBlocksOption',\n\t\t\tlabel:\n\t\t\t\tinnerBlockCount > 1\n\t\t\t\t\t? __( 'Convert to regular blocks' )\n\t\t\t\t\t: __( 'Convert to regular block' ),\n\t\t\tvalue: 'convertToRegularBlocksOption',\n\t\t\tonSelect: () => {\n\t\t\t\tconst successNotice =\n\t\t\t\t\tinnerBlockCount > 1\n\t\t\t\t\t\t? /* translators: %s: name of the reusable block */\n\t\t\t\t\t\t __( '%s converted to regular blocks' )\n\t\t\t\t\t\t: /* translators: %s: name of the reusable block */\n\t\t\t\t\t\t __( '%s converted to regular block' );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\tsuccessNotice,\n\t\t\t\t\t\treusableBlock?.title?.raw || blockTitle\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\tconvertToRegularBlocks();\n\t\t\t},\n\t\t},\n\t};\n\n\tconst options = [\n\t\twrapBlockMover && allOptions.backwardButton,\n\t\twrapBlockMover && allOptions.forwardButton,\n\t\twrapBlockSettings && allOptions.settings,\n\t\t! isLocked &&\n\t\t\tselectedBlockPossibleTransformations.length &&\n\t\t\tallOptions.transformButton,\n\t\tcanDuplicate && allOptions.copyButton,\n\t\tcanDuplicate && allOptions.cutButton,\n\t\tcanDuplicate && isPasteEnabled && allOptions.pasteButton,\n\t\tcanDuplicate && allOptions.duplicateButton,\n\t\tshowConvertToGroupButton && isGroupable && convertToGroupButtons.group,\n\t\tshowConvertToGroupButton &&\n\t\t\tisUngroupable &&\n\t\t\tconvertToGroupButtons.ungroup,\n\t\tisReusableBlockType &&\n\t\t\tinnerBlockCount > 0 &&\n\t\t\tallOptions.convertToRegularBlocks,\n\t\t! isLocked && allOptions.delete,\n\t].filter( Boolean );\n\n\t// End early if there are no options to show.\n\tif ( ! options.length ) {\n\t\treturn (\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\tdisabled={ true }\n\t\t\t/>\n\t\t);\n\t}\n\n\tfunction onPasteBlock() {\n\t\tif ( ! clipboard ) {\n\t\t\treturn;\n\t\t}\n\n\t\tpasteBlock( rawHandler( { HTML: clipboard } )[ 0 ] );\n\t}\n\n\tfunction onPickerSelect( value ) {\n\t\tconst selectedItem = options.find( ( item ) => item.value === value );\n\t\tselectedItem.onSelect();\n\t}\n\n\tfunction onPickerPresent() {\n\t\tif ( blockActionsMenuPickerRef.current ) {\n\t\t\tblockActionsMenuPickerRef.current.presentPicker();\n\t\t}\n\t}\n\n\tconst disabledButtonIndices = options\n\t\t.map( ( option, index ) => option.disabled && index + 1 )\n\t\t.filter( Boolean );\n\n\tconst accessibilityHint =\n\t\tPlatform.OS === 'ios'\n\t\t\t? __( 'Double tap to open Action Sheet with available options' )\n\t\t\t: __( 'Double tap to open Bottom Sheet with available options' );\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ttitle={ __( 'Open Block Actions Menu' ) }\n\t\t\t\tonClick={ onPickerPresent }\n\t\t\t\ticon={ moreHorizontalMobile }\n\t\t\t\textraProps={ {\n\t\t\t\t\thint: accessibilityHint,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<Picker\n\t\t\t\ttestID=\"block-actions-menu\"\n\t\t\t\tref={ blockActionsMenuPickerRef }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onPickerSelect }\n\t\t\t\tdestructiveButtonIndex={ options.length }\n\t\t\t\tdisabledButtonIndices={ disabledButtonIndices }\n\t\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\t\tleftAlign={ true }\n\t\t\t\tgetAnchor={ getAnchor }\n\t\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\t\ttitle={ sprintf( __( '%s block options' ), blockTitle ) }\n\t\t\t/>\n\t\t\t<BlockTransformationsMenu\n\t\t\t\tanchorNodeRef={ anchorNodeRef }\n\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\tpickerRef={ blockTransformationMenuPickerRef }\n\t\t\t\tpossibleTransformations={ selectedBlockPossibleTransformations }\n\t\t\t\tselectedBlock={ getBlocksByClientId( selectedBlockClientId ) }\n\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nconst EMPTY_BLOCK_LIST = [];\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockIndex,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockName,\n\t\t\tgetBlockTransformItems,\n\t\t\tgetBlock,\n\t\t\tgetBlocksByClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tcanInsertBlockType,\n\t\t\tgetTemplateLock,\n\t\t\tcanRemoveBlock,\n\t\t} = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst blockName = getBlockName( clientId );\n\t\tconst blockType = getBlockType( blockName );\n\t\tconst blockTitle = blockType?.title;\n\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\tconst isFirst = currentBlockIndex === 0;\n\t\tconst isLast = currentBlockIndex === blockOrder.length - 1;\n\n\t\tconst innerBlocks = getBlocksByClientId( clientId );\n\n\t\tconst canDuplicate = innerBlocks.every( ( innerBlock ) => {\n\t\t\treturn (\n\t\t\t\t!! innerBlock &&\n\t\t\t\thasBlockSupport( innerBlock.name, 'multiple', true ) &&\n\t\t\t\tcanInsertBlockType( innerBlock.name, rootClientId )\n\t\t\t);\n\t\t} );\n\n\t\tconst isDefaultBlock = blockName === getDefaultBlockName();\n\t\tconst isEmptyContent = block?.attributes.content === '';\n\t\tconst isExactlyOneBlock = blockOrder.length === 1;\n\t\tconst isEmptyDefaultBlock =\n\t\t\tisExactlyOneBlock && isDefaultBlock && isEmptyContent;\n\t\tconst isLocked = !! getTemplateLock( rootClientId );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientIds()[ 0 ];\n\t\tconst selectedBlock = selectedBlockClientId\n\t\t\t? getBlocksByClientId( selectedBlockClientId )[ 0 ]\n\t\t\t: undefined;\n\t\tconst selectedBlockPossibleTransformations = selectedBlock\n\t\t\t? getBlockTransformItems( selectedBlock, rootClientId )\n\t\t\t: EMPTY_BLOCK_LIST;\n\t\tconst canRemove = canRemoveBlock( selectedBlockClientId );\n\n\t\tconst isReusableBlockType = block ? isReusableBlock( block ) : false;\n\t\tconst reusableBlock = isReusableBlockType\n\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tblock?.attributes.ref\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tblockTitle,\n\t\t\tcanInsertBlockType,\n\t\t\tcurrentIndex: currentBlockIndex,\n\t\t\tgetBlocksByClientId,\n\t\t\tisEmptyDefaultBlock,\n\t\t\tisLocked,\n\t\t\tcanDuplicate,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tisReusableBlockType,\n\t\t\treusableBlock,\n\t\t\trootClientId,\n\t\t\tselectedBlockClientId,\n\t\t\tselectedBlockPossibleTransformations,\n\t\t\tcanRemove,\n\t\t};\n\t} ),\n\twithDispatch(\n\t\t(\n\t\t\tdispatch,\n\t\t\t{ clientId, rootClientId, currentIndex, selectedBlockClientId },\n\t\t\t{ select }\n\t\t) => {\n\t\t\tconst {\n\t\t\t\tmoveBlocksDown,\n\t\t\t\tmoveBlocksUp,\n\t\t\t\tduplicateBlocks,\n\t\t\t\tremoveBlocks,\n\t\t\t\tinsertBlock,\n\t\t\t\treplaceBlock,\n\t\t\t\tclearSelectedBlock,\n\t\t\t} = dispatch( blockEditorStore );\n\t\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\t\tconst { getBlockSelectionEnd, getBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { createSuccessNotice } = dispatch( noticesStore );\n\n\t\t\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\t\t\tdispatch( reusableBlocksStore );\n\n\t\t\treturn {\n\t\t\t\tcreateSuccessNotice,\n\t\t\t\tconvertToRegularBlocks() {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t\t\t\t// to prevent issues related to undo/redo actions.\n\t\t\t\t\tsetImmediate( () =>\n\t\t\t\t\t\tconvertBlockToStatic( selectedBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tduplicateBlock() {\n\t\t\t\t\treturn duplicateBlocks( [ clientId ] );\n\t\t\t\t},\n\t\t\t\tonMoveDown: ( ...args ) =>\n\t\t\t\t\tmoveBlocksDown( [ clientId ], rootClientId, ...args ),\n\t\t\t\tonMoveUp: ( ...args ) =>\n\t\t\t\t\tmoveBlocksUp( [ clientId ], rootClientId, ...args ),\n\t\t\t\topenGeneralSidebar: () =>\n\t\t\t\t\topenGeneralSidebar( 'edit-post/block' ),\n\t\t\t\tpasteBlock: ( clipboardBlock ) => {\n\t\t\t\t\tconst canReplaceBlock = isUnmodifiedDefaultBlock(\n\t\t\t\t\t\tgetBlock( getBlockSelectionEnd() )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! canReplaceBlock ) {\n\t\t\t\t\t\tconst insertedBlock = createBlock(\n\t\t\t\t\t\t\tclipboardBlock.name,\n\t\t\t\t\t\t\tclipboardBlock.attributes,\n\t\t\t\t\t\t\tclipboardBlock.innerBlocks\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\tinsertedBlock,\n\t\t\t\t\t\t\tcurrentIndex + 1,\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treplaceBlock( clientId, clipboardBlock );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tremoveBlocks,\n\t\t\t};\n\t\t}\n\t),\n\twithInstanceId\n)( BlockActionsMenu );\n"]}
@@ -9,8 +9,6 @@ exports.BlockMoverUpButton = exports.BlockMoverDownButton = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
12
  var _classnames = _interopRequireDefault(require("classnames"));
15
13
 
16
14
  var _blocks = require("@wordpress/blocks");
@@ -137,32 +135,34 @@ const BlockMoverButton = (0, _element.forwardRef)(({
137
135
  };
138
136
 
139
137
  const descriptionId = `block-editor-block-mover-button__description-${instanceId}`;
140
- return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.Button, (0, _extends2.default)({
138
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.Button, {
141
139
  ref: ref,
142
140
  className: (0, _classnames.default)('block-editor-block-mover-button', `is-${direction}-button`),
143
141
  icon: getArrowIcon(direction, orientation),
144
142
  label: getMovementDirectionLabel(direction, orientation),
145
- "aria-describedby": descriptionId
146
- }, props, {
143
+ "aria-describedby": descriptionId,
144
+ ...props,
147
145
  onClick: isDisabled ? null : onClick,
148
146
  disabled: isDisabled,
149
147
  __experimentalIsFocusable: true
150
- })), (0, _element.createElement)(_components.VisuallyHidden, {
148
+ }), (0, _element.createElement)(_components.VisuallyHidden, {
151
149
  id: descriptionId
152
150
  }, (0, _moverDescription.getBlockMoverDescription)(blocksCount, blockType && blockType.title, firstIndex, isFirst, isLast, direction === 'up' ? -1 : 1, orientation)));
153
151
  });
154
152
  const BlockMoverUpButton = (0, _element.forwardRef)((props, ref) => {
155
- return (0, _element.createElement)(BlockMoverButton, (0, _extends2.default)({
153
+ return (0, _element.createElement)(BlockMoverButton, {
156
154
  direction: "up",
157
- ref: ref
158
- }, props));
155
+ ref: ref,
156
+ ...props
157
+ });
159
158
  });
160
159
  exports.BlockMoverUpButton = BlockMoverUpButton;
161
160
  const BlockMoverDownButton = (0, _element.forwardRef)((props, ref) => {
162
- return (0, _element.createElement)(BlockMoverButton, (0, _extends2.default)({
161
+ return (0, _element.createElement)(BlockMoverButton, {
163
162
  direction: "down",
164
- ref: ref
165
- }, props));
163
+ ref: ref,
164
+ ...props
165
+ });
166
166
  });
167
167
  exports.BlockMoverDownButton = BlockMoverDownButton;
168
168
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/button.js"],"names":["getArrowIcon","direction","orientation","chevronRight","chevronLeft","chevronUp","chevronDown","getMovementDirectionLabel","moveDirection","BlockMoverButton","clientIds","moverOrientation","props","ref","instanceId","normalizedClientIds","Array","isArray","blocksCount","length","blockType","isDisabled","rootClientId","isFirst","isLast","firstIndex","select","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlock","getBlockListSettings","blockEditorStore","firstClientId","blockRootClientId","firstBlockIndex","lastBlockIndex","blockOrder","block","isFirstBlock","isLastBlock","blockListOrientation","name","moveBlocksDown","moveBlocksUp","moverFunction","onClick","event","descriptionId","title","BlockMoverUpButton","BlockMoverDownButton"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { Button, VisuallyHidden } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tchevronLeft,\n\tchevronRight,\n\tchevronUp,\n\tchevronDown,\n} from '@wordpress/icons';\nimport { getBlockMoverDescription } from './mover-description';\nimport { store as blockEditorStore } from '../../store';\n\nconst getArrowIcon = ( direction, orientation ) => {\n\tif ( direction === 'up' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? chevronRight : chevronLeft;\n\t\t}\n\t\treturn chevronUp;\n\t} else if ( direction === 'down' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? chevronLeft : chevronRight;\n\t\t}\n\t\treturn chevronDown;\n\t}\n\treturn null;\n};\n\nconst getMovementDirectionLabel = ( moveDirection, orientation ) => {\n\tif ( moveDirection === 'up' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? __( 'Move right' ) : __( 'Move left' );\n\t\t}\n\t\treturn __( 'Move up' );\n\t} else if ( moveDirection === 'down' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? __( 'Move left' ) : __( 'Move right' );\n\t\t}\n\t\treturn __( 'Move down' );\n\t}\n\treturn null;\n};\n\nconst BlockMoverButton = forwardRef(\n\t(\n\t\t{ clientIds, direction, orientation: moverOrientation, ...props },\n\t\tref\n\t) => {\n\t\tconst instanceId = useInstanceId( BlockMoverButton );\n\t\tconst normalizedClientIds = Array.isArray( clientIds )\n\t\t\t? clientIds\n\t\t\t: [ clientIds ];\n\t\tconst blocksCount = normalizedClientIds.length;\n\n\t\tconst {\n\t\t\tblockType,\n\t\t\tisDisabled,\n\t\t\trootClientId,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tfirstIndex,\n\t\t\torientation = 'vertical',\n\t\t} = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\tgetBlock,\n\t\t\t\t\tgetBlockListSettings,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst firstClientId = normalizedClientIds[ 0 ];\n\t\t\t\tconst blockRootClientId = getBlockRootClientId( firstClientId );\n\t\t\t\tconst firstBlockIndex = getBlockIndex( firstClientId );\n\t\t\t\tconst lastBlockIndex = getBlockIndex(\n\t\t\t\t\tnormalizedClientIds[ normalizedClientIds.length - 1 ]\n\t\t\t\t);\n\t\t\t\tconst blockOrder = getBlockOrder( blockRootClientId );\n\t\t\t\tconst block = getBlock( firstClientId );\n\t\t\t\tconst isFirstBlock = firstBlockIndex === 0;\n\t\t\t\tconst isLastBlock = lastBlockIndex === blockOrder.length - 1;\n\t\t\t\tconst { orientation: blockListOrientation } =\n\t\t\t\t\tgetBlockListSettings( blockRootClientId ) || {};\n\n\t\t\t\treturn {\n\t\t\t\t\tblockType: block ? getBlockType( block.name ) : null,\n\t\t\t\t\tisDisabled: direction === 'up' ? isFirstBlock : isLastBlock,\n\t\t\t\t\trootClientId: blockRootClientId,\n\t\t\t\t\tfirstIndex: firstBlockIndex,\n\t\t\t\t\tisFirst: isFirstBlock,\n\t\t\t\t\tisLast: isLastBlock,\n\t\t\t\t\torientation: moverOrientation || blockListOrientation,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientIds, direction ]\n\t\t);\n\n\t\tconst { moveBlocksDown, moveBlocksUp } =\n\t\t\tuseDispatch( blockEditorStore );\n\t\tconst moverFunction =\n\t\t\tdirection === 'up' ? moveBlocksUp : moveBlocksDown;\n\n\t\tconst onClick = ( event ) => {\n\t\t\tmoverFunction( clientIds, rootClientId );\n\t\t\tif ( props.onClick ) {\n\t\t\t\tprops.onClick( event );\n\t\t\t}\n\t\t};\n\n\t\tconst descriptionId = `block-editor-block-mover-button__description-${ instanceId }`;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'block-editor-block-mover-button',\n\t\t\t\t\t\t`is-${ direction }-button`\n\t\t\t\t\t) }\n\t\t\t\t\ticon={ getArrowIcon( direction, orientation ) }\n\t\t\t\t\tlabel={ getMovementDirectionLabel(\n\t\t\t\t\t\tdirection,\n\t\t\t\t\t\torientation\n\t\t\t\t\t) }\n\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tonClick={ isDisabled ? null : onClick }\n\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t/>\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ getBlockMoverDescription(\n\t\t\t\t\t\tblocksCount,\n\t\t\t\t\t\tblockType && blockType.title,\n\t\t\t\t\t\tfirstIndex,\n\t\t\t\t\t\tisFirst,\n\t\t\t\t\t\tisLast,\n\t\t\t\t\t\tdirection === 'up' ? -1 : 1,\n\t\t\t\t\t\torientation\n\t\t\t\t\t) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t</>\n\t\t);\n\t}\n);\n\nexport const BlockMoverUpButton = forwardRef( ( props, ref ) => {\n\treturn <BlockMoverButton direction=\"up\" ref={ ref } { ...props } />;\n} );\n\nexport const BlockMoverDownButton = forwardRef( ( props, ref ) => {\n\treturn <BlockMoverButton direction=\"down\" ref={ ref } { ...props } />;\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/button.js"],"names":["getArrowIcon","direction","orientation","chevronRight","chevronLeft","chevronUp","chevronDown","getMovementDirectionLabel","moveDirection","BlockMoverButton","clientIds","moverOrientation","props","ref","instanceId","normalizedClientIds","Array","isArray","blocksCount","length","blockType","isDisabled","rootClientId","isFirst","isLast","firstIndex","select","getBlockIndex","getBlockRootClientId","getBlockOrder","getBlock","getBlockListSettings","blockEditorStore","firstClientId","blockRootClientId","firstBlockIndex","lastBlockIndex","blockOrder","block","isFirstBlock","isLastBlock","blockListOrientation","name","moveBlocksDown","moveBlocksUp","moverFunction","onClick","event","descriptionId","title","BlockMoverUpButton","BlockMoverDownButton"],"mappings":";;;;;;;;;AAYA;;AATA;;AAKA;;AACA;;AACA;;AACA;;AAEA;;AAKA;;AAMA;;AACA;;AAzBA;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;AAUA,MAAMA,YAAY,GAAG,CAAEC,SAAF,EAAaC,WAAb,KAA8B;AAClD,MAAKD,SAAS,KAAK,IAAnB,EAA0B;AACzB,QAAKC,WAAW,KAAK,YAArB,EAAoC;AACnC,aAAO,qBAAUC,mBAAV,GAAyBC,kBAAhC;AACA;;AACD,WAAOC,gBAAP;AACA,GALD,MAKO,IAAKJ,SAAS,KAAK,MAAnB,EAA4B;AAClC,QAAKC,WAAW,KAAK,YAArB,EAAoC;AACnC,aAAO,qBAAUE,kBAAV,GAAwBD,mBAA/B;AACA;;AACD,WAAOG,kBAAP;AACA;;AACD,SAAO,IAAP;AACA,CAbD;;AAeA,MAAMC,yBAAyB,GAAG,CAAEC,aAAF,EAAiBN,WAAjB,KAAkC;AACnE,MAAKM,aAAa,KAAK,IAAvB,EAA8B;AAC7B,QAAKN,WAAW,KAAK,YAArB,EAAoC;AACnC,aAAO,qBAAU,cAAI,YAAJ,CAAV,GAA+B,cAAI,WAAJ,CAAtC;AACA;;AACD,WAAO,cAAI,SAAJ,CAAP;AACA,GALD,MAKO,IAAKM,aAAa,KAAK,MAAvB,EAAgC;AACtC,QAAKN,WAAW,KAAK,YAArB,EAAoC;AACnC,aAAO,qBAAU,cAAI,WAAJ,CAAV,GAA8B,cAAI,YAAJ,CAArC;AACA;;AACD,WAAO,cAAI,WAAJ,CAAP;AACA;;AACD,SAAO,IAAP;AACA,CAbD;;AAeA,MAAMO,gBAAgB,GAAG,yBACxB,CACC;AAAEC,EAAAA,SAAF;AAAaT,EAAAA,SAAb;AAAwBC,EAAAA,WAAW,EAAES,gBAArC;AAAuD,KAAGC;AAA1D,CADD,EAECC,GAFD,KAGK;AACJ,QAAMC,UAAU,GAAG,4BAAeL,gBAAf,CAAnB;AACA,QAAMM,mBAAmB,GAAGC,KAAK,CAACC,OAAN,CAAeP,SAAf,IACzBA,SADyB,GAEzB,CAAEA,SAAF,CAFH;AAGA,QAAMQ,WAAW,GAAGH,mBAAmB,CAACI,MAAxC;AAEA,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,UAFK;AAGLC,IAAAA,YAHK;AAILC,IAAAA,OAJK;AAKLC,IAAAA,MALK;AAMLC,IAAAA,UANK;AAOLvB,IAAAA,WAAW,GAAG;AAPT,MAQF,qBACDwB,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,aADK;AAELC,MAAAA,oBAFK;AAGLC,MAAAA,aAHK;AAILC,MAAAA,QAJK;AAKLC,MAAAA;AALK,QAMFL,MAAM,CAAEM,YAAF,CANV;AAOA,UAAMC,aAAa,GAAGlB,mBAAmB,CAAE,CAAF,CAAzC;AACA,UAAMmB,iBAAiB,GAAGN,oBAAoB,CAAEK,aAAF,CAA9C;AACA,UAAME,eAAe,GAAGR,aAAa,CAAEM,aAAF,CAArC;AACA,UAAMG,cAAc,GAAGT,aAAa,CACnCZ,mBAAmB,CAAEA,mBAAmB,CAACI,MAApB,GAA6B,CAA/B,CADgB,CAApC;AAGA,UAAMkB,UAAU,GAAGR,aAAa,CAAEK,iBAAF,CAAhC;AACA,UAAMI,KAAK,GAAGR,QAAQ,CAAEG,aAAF,CAAtB;AACA,UAAMM,YAAY,GAAGJ,eAAe,KAAK,CAAzC;AACA,UAAMK,WAAW,GAAGJ,cAAc,KAAKC,UAAU,CAAClB,MAAX,GAAoB,CAA3D;AACA,UAAM;AAAEjB,MAAAA,WAAW,EAAEuC;AAAf,QACLV,oBAAoB,CAAEG,iBAAF,CAApB,IAA6C,EAD9C;AAGA,WAAO;AACNd,MAAAA,SAAS,EAAEkB,KAAK,GAAG,0BAAcA,KAAK,CAACI,IAApB,CAAH,GAAgC,IAD1C;AAENrB,MAAAA,UAAU,EAAEpB,SAAS,KAAK,IAAd,GAAqBsC,YAArB,GAAoCC,WAF1C;AAGNlB,MAAAA,YAAY,EAAEY,iBAHR;AAINT,MAAAA,UAAU,EAAEU,eAJN;AAKNZ,MAAAA,OAAO,EAAEgB,YALH;AAMNf,MAAAA,MAAM,EAAEgB,WANF;AAONtC,MAAAA,WAAW,EAAES,gBAAgB,IAAI8B;AAP3B,KAAP;AASA,GA/BE,EAgCH,CAAE/B,SAAF,EAAaT,SAAb,CAhCG,CARJ;AA2CA,QAAM;AAAE0C,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MACL,uBAAaZ,YAAb,CADD;AAEA,QAAMa,aAAa,GAClB5C,SAAS,KAAK,IAAd,GAAqB2C,YAArB,GAAoCD,cADrC;;AAGA,QAAMG,OAAO,GAAKC,KAAF,IAAa;AAC5BF,IAAAA,aAAa,CAAEnC,SAAF,EAAaY,YAAb,CAAb;;AACA,QAAKV,KAAK,CAACkC,OAAX,EAAqB;AACpBlC,MAAAA,KAAK,CAACkC,OAAN,CAAeC,KAAf;AACA;AACD,GALD;;AAOA,QAAMC,aAAa,GAAI,gDAAgDlC,UAAY,EAAnF;AAEA,SACC,qDACC,4BAAC,kBAAD;AACC,IAAA,GAAG,EAAGD,GADP;AAEC,IAAA,SAAS,EAAG,yBACX,iCADW,EAEV,MAAMZ,SAAW,SAFP,CAFb;AAMC,IAAA,IAAI,EAAGD,YAAY,CAAEC,SAAF,EAAaC,WAAb,CANpB;AAOC,IAAA,KAAK,EAAGK,yBAAyB,CAChCN,SADgC,EAEhCC,WAFgC,CAPlC;AAWC,wBAAmB8C,aAXpB;AAAA,OAYMpC,KAZN;AAaC,IAAA,OAAO,EAAGS,UAAU,GAAG,IAAH,GAAUyB,OAb/B;AAcC,IAAA,QAAQ,EAAGzB,UAdZ;AAeC,IAAA,yBAAyB;AAf1B,IADD,EAkBC,4BAAC,0BAAD;AAAgB,IAAA,EAAE,EAAG2B;AAArB,KACG,gDACD9B,WADC,EAEDE,SAAS,IAAIA,SAAS,CAAC6B,KAFtB,EAGDxB,UAHC,EAIDF,OAJC,EAKDC,MALC,EAMDvB,SAAS,KAAK,IAAd,GAAqB,CAAC,CAAtB,GAA0B,CANzB,EAODC,WAPC,CADH,CAlBD,CADD;AAgCA,CApGuB,CAAzB;AAuGO,MAAMgD,kBAAkB,GAAG,yBAAY,CAAEtC,KAAF,EAASC,GAAT,KAAkB;AAC/D,SAAO,4BAAC,gBAAD;AAAkB,IAAA,SAAS,EAAC,IAA5B;AAAiC,IAAA,GAAG,EAAGA,GAAvC;AAAA,OAAkDD;AAAlD,IAAP;AACA,CAFiC,CAA3B;;AAIA,MAAMuC,oBAAoB,GAAG,yBAAY,CAAEvC,KAAF,EAASC,GAAT,KAAkB;AACjE,SAAO,4BAAC,gBAAD;AAAkB,IAAA,SAAS,EAAC,MAA5B;AAAmC,IAAA,GAAG,EAAGA,GAAzC;AAAA,OAAoDD;AAApD,IAAP;AACA,CAFmC,CAA7B","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { Button, VisuallyHidden } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tchevronLeft,\n\tchevronRight,\n\tchevronUp,\n\tchevronDown,\n} from '@wordpress/icons';\nimport { getBlockMoverDescription } from './mover-description';\nimport { store as blockEditorStore } from '../../store';\n\nconst getArrowIcon = ( direction, orientation ) => {\n\tif ( direction === 'up' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? chevronRight : chevronLeft;\n\t\t}\n\t\treturn chevronUp;\n\t} else if ( direction === 'down' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? chevronLeft : chevronRight;\n\t\t}\n\t\treturn chevronDown;\n\t}\n\treturn null;\n};\n\nconst getMovementDirectionLabel = ( moveDirection, orientation ) => {\n\tif ( moveDirection === 'up' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? __( 'Move right' ) : __( 'Move left' );\n\t\t}\n\t\treturn __( 'Move up' );\n\t} else if ( moveDirection === 'down' ) {\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\treturn isRTL() ? __( 'Move left' ) : __( 'Move right' );\n\t\t}\n\t\treturn __( 'Move down' );\n\t}\n\treturn null;\n};\n\nconst BlockMoverButton = forwardRef(\n\t(\n\t\t{ clientIds, direction, orientation: moverOrientation, ...props },\n\t\tref\n\t) => {\n\t\tconst instanceId = useInstanceId( BlockMoverButton );\n\t\tconst normalizedClientIds = Array.isArray( clientIds )\n\t\t\t? clientIds\n\t\t\t: [ clientIds ];\n\t\tconst blocksCount = normalizedClientIds.length;\n\n\t\tconst {\n\t\t\tblockType,\n\t\t\tisDisabled,\n\t\t\trootClientId,\n\t\t\tisFirst,\n\t\t\tisLast,\n\t\t\tfirstIndex,\n\t\t\torientation = 'vertical',\n\t\t} = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockIndex,\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetBlockOrder,\n\t\t\t\t\tgetBlock,\n\t\t\t\t\tgetBlockListSettings,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst firstClientId = normalizedClientIds[ 0 ];\n\t\t\t\tconst blockRootClientId = getBlockRootClientId( firstClientId );\n\t\t\t\tconst firstBlockIndex = getBlockIndex( firstClientId );\n\t\t\t\tconst lastBlockIndex = getBlockIndex(\n\t\t\t\t\tnormalizedClientIds[ normalizedClientIds.length - 1 ]\n\t\t\t\t);\n\t\t\t\tconst blockOrder = getBlockOrder( blockRootClientId );\n\t\t\t\tconst block = getBlock( firstClientId );\n\t\t\t\tconst isFirstBlock = firstBlockIndex === 0;\n\t\t\t\tconst isLastBlock = lastBlockIndex === blockOrder.length - 1;\n\t\t\t\tconst { orientation: blockListOrientation } =\n\t\t\t\t\tgetBlockListSettings( blockRootClientId ) || {};\n\n\t\t\t\treturn {\n\t\t\t\t\tblockType: block ? getBlockType( block.name ) : null,\n\t\t\t\t\tisDisabled: direction === 'up' ? isFirstBlock : isLastBlock,\n\t\t\t\t\trootClientId: blockRootClientId,\n\t\t\t\t\tfirstIndex: firstBlockIndex,\n\t\t\t\t\tisFirst: isFirstBlock,\n\t\t\t\t\tisLast: isLastBlock,\n\t\t\t\t\torientation: moverOrientation || blockListOrientation,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientIds, direction ]\n\t\t);\n\n\t\tconst { moveBlocksDown, moveBlocksUp } =\n\t\t\tuseDispatch( blockEditorStore );\n\t\tconst moverFunction =\n\t\t\tdirection === 'up' ? moveBlocksUp : moveBlocksDown;\n\n\t\tconst onClick = ( event ) => {\n\t\t\tmoverFunction( clientIds, rootClientId );\n\t\t\tif ( props.onClick ) {\n\t\t\t\tprops.onClick( event );\n\t\t\t}\n\t\t};\n\n\t\tconst descriptionId = `block-editor-block-mover-button__description-${ instanceId }`;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Button\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'block-editor-block-mover-button',\n\t\t\t\t\t\t`is-${ direction }-button`\n\t\t\t\t\t) }\n\t\t\t\t\ticon={ getArrowIcon( direction, orientation ) }\n\t\t\t\t\tlabel={ getMovementDirectionLabel(\n\t\t\t\t\t\tdirection,\n\t\t\t\t\t\torientation\n\t\t\t\t\t) }\n\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tonClick={ isDisabled ? null : onClick }\n\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t/>\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ getBlockMoverDescription(\n\t\t\t\t\t\tblocksCount,\n\t\t\t\t\t\tblockType && blockType.title,\n\t\t\t\t\t\tfirstIndex,\n\t\t\t\t\t\tisFirst,\n\t\t\t\t\t\tisLast,\n\t\t\t\t\t\tdirection === 'up' ? -1 : 1,\n\t\t\t\t\t\torientation\n\t\t\t\t\t) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t</>\n\t\t);\n\t}\n);\n\nexport const BlockMoverUpButton = forwardRef( ( props, ref ) => {\n\treturn <BlockMoverButton direction=\"up\" ref={ ref } { ...props } />;\n} );\n\nexport const BlockMoverDownButton = forwardRef( ( props, ref ) => {\n\treturn <BlockMoverButton direction=\"down\" ref={ ref } { ...props } />;\n} );\n"]}
@@ -9,8 +9,6 @@ exports.default = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
12
  var _classnames = _interopRequireDefault(require("classnames"));
15
13
 
16
14
  var _icons = require("@wordpress/icons");
@@ -84,21 +82,24 @@ function BlockMover({
84
82
  })
85
83
  }, !hideDragHandle && (0, _element.createElement)(_blockDraggable.default, {
86
84
  clientIds: clientIds
87
- }, draggableProps => (0, _element.createElement)(_components.Button, (0, _extends2.default)({
85
+ }, draggableProps => (0, _element.createElement)(_components.Button, {
88
86
  icon: _icons.dragHandle,
89
87
  className: "block-editor-block-mover__drag-handle",
90
88
  "aria-hidden": "true",
91
89
  label: dragHandleLabel // Should not be able to tab to drag handle as this
92
90
  // button can only be used with a pointer device.
93
91
  ,
94
- tabIndex: "-1"
95
- }, draggableProps))), (0, _element.createElement)("div", {
92
+ tabIndex: "-1",
93
+ ...draggableProps
94
+ })), (0, _element.createElement)("div", {
96
95
  className: "block-editor-block-mover__move-button-container"
97
- }, (0, _element.createElement)(_components.ToolbarItem, null, itemProps => (0, _element.createElement)(_button.BlockMoverUpButton, (0, _extends2.default)({
98
- clientIds: clientIds
99
- }, itemProps))), (0, _element.createElement)(_components.ToolbarItem, null, itemProps => (0, _element.createElement)(_button.BlockMoverDownButton, (0, _extends2.default)({
100
- clientIds: clientIds
101
- }, itemProps)))));
96
+ }, (0, _element.createElement)(_components.ToolbarItem, null, itemProps => (0, _element.createElement)(_button.BlockMoverUpButton, {
97
+ clientIds: clientIds,
98
+ ...itemProps
99
+ })), (0, _element.createElement)(_components.ToolbarItem, null, itemProps => (0, _element.createElement)(_button.BlockMoverDownButton, {
100
+ clientIds: clientIds,
101
+ ...itemProps
102
+ }))));
102
103
  }
103
104
  /**
104
105
  * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-mover/README.md
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/index.js"],"names":["BlockMover","clientIds","hideDragHandle","canMove","rootClientId","isFirst","isLast","orientation","select","getBlockIndex","getBlockListSettings","canMoveBlocks","getBlockOrder","getBlockRootClientId","blockEditorStore","normalizedClientIds","Array","isArray","firstClientId","_rootClientId","firstIndex","lastIndex","length","blockOrder","dragHandleLabel","draggableProps","dragHandle","itemProps"],"mappings":";;;;;;;;;;;;;AAGA;;AAMA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AAnBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AAKA,SAASA,UAAT,CAAqB;AAAEC,EAAAA,SAAF;AAAaC,EAAAA;AAAb,CAArB,EAAqD;AACpD,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,YAAX;AAAyBC,IAAAA,OAAzB;AAAkCC,IAAAA,MAAlC;AAA0CC,IAAAA;AAA1C,MAA0D,qBAC7DC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,aADK;AAELC,MAAAA,oBAFK;AAGLC,MAAAA,aAHK;AAILC,MAAAA,aAJK;AAKLC,MAAAA;AALK,QAMFL,MAAM,CAAEM,YAAF,CANV;AAOA,UAAMC,mBAAmB,GAAGC,KAAK,CAACC,OAAN,CAAehB,SAAf,IACzBA,SADyB,GAEzB,CAAEA,SAAF,CAFH;AAGA,UAAMiB,aAAa,GAAGH,mBAAmB,CAAE,CAAF,CAAzC;;AACA,UAAMI,aAAa,GAAGN,oBAAoB,CAAEK,aAAF,CAA1C;;AACA,UAAME,UAAU,GAAGX,aAAa,CAAES,aAAF,CAAhC;AACA,UAAMG,SAAS,GAAGZ,aAAa,CAC9BM,mBAAmB,CAAEA,mBAAmB,CAACO,MAApB,GAA6B,CAA/B,CADW,CAA/B;AAGA,UAAMC,UAAU,GAAGX,aAAa,CAAEO,aAAF,CAAhC;AAEA,WAAO;AACNhB,MAAAA,OAAO,EAAEQ,aAAa,CAAEV,SAAF,EAAakB,aAAb,CADhB;AAENf,MAAAA,YAAY,EAAEe,aAFR;AAGNd,MAAAA,OAAO,EAAEe,UAAU,KAAK,CAHlB;AAINd,MAAAA,MAAM,EAAEe,SAAS,KAAKE,UAAU,CAACD,MAAX,GAAoB,CAJpC;AAKNf,MAAAA,WAAW,EAAEG,oBAAoB,CAAES,aAAF,CAApB,EAAuCZ;AAL9C,KAAP;AAOA,GA3B8D,EA4B/D,CAAEN,SAAF,CA5B+D,CAAhE;;AA+BA,MAAK,CAAEE,OAAF,IAAeE,OAAO,IAAIC,MAAX,IAAqB,CAAEF,YAA3C,EAA4D;AAC3D,WAAO,IAAP;AACA;;AAED,QAAMoB,eAAe,GAAG,cAAI,MAAJ,CAAxB;AAEA,SACC,4BAAC,wBAAD;AACC,IAAA,SAAS,EAAG,yBAAY,0BAAZ,EAAwC;AACnD,uBAAiBjB,WAAW,KAAK;AADkB,KAAxC;AADb,KAKG,CAAEL,cAAF,IACD,4BAAC,uBAAD;AAAgB,IAAA,SAAS,EAAGD;AAA5B,KACKwB,cAAF,IACD,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGC,iBADR;AAEC,IAAA,SAAS,EAAC,uCAFX;AAGC,mBAAY,MAHb;AAIC,IAAA,KAAK,EAAGF,eAJT,CAKC;AACA;AAND;AAOC,IAAA,QAAQ,EAAC;AAPV,KAQMC,cARN,EAFF,CANF,EAqBC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,uBAAD,QACKE,SAAF,IACD,4BAAC,0BAAD;AACC,IAAA,SAAS,EAAG1B;AADb,KAEM0B,SAFN,EAFF,CADD,EASC,4BAAC,uBAAD,QACKA,SAAF,IACD,4BAAC,4BAAD;AACC,IAAA,SAAS,EAAG1B;AADb,KAEM0B,SAFN,EAFF,CATD,CArBD,CADD;AA0CA;AAED;AACA;AACA;;;eACe3B,U","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\n\nimport { dragHandle } from '@wordpress/icons';\nimport { ToolbarGroup, ToolbarItem, Button } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggable from '../block-draggable';\nimport { BlockMoverUpButton, BlockMoverDownButton } from './button';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockMover( { clientIds, hideDragHandle } ) {\n\tconst { canMove, rootClientId, isFirst, isLast, orientation } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockListSettings,\n\t\t\t\tcanMoveBlocks,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst normalizedClientIds = Array.isArray( clientIds )\n\t\t\t\t? clientIds\n\t\t\t\t: [ clientIds ];\n\t\t\tconst firstClientId = normalizedClientIds[ 0 ];\n\t\t\tconst _rootClientId = getBlockRootClientId( firstClientId );\n\t\t\tconst firstIndex = getBlockIndex( firstClientId );\n\t\t\tconst lastIndex = getBlockIndex(\n\t\t\t\tnormalizedClientIds[ normalizedClientIds.length - 1 ]\n\t\t\t);\n\t\t\tconst blockOrder = getBlockOrder( _rootClientId );\n\n\t\t\treturn {\n\t\t\t\tcanMove: canMoveBlocks( clientIds, _rootClientId ),\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tisFirst: firstIndex === 0,\n\t\t\t\tisLast: lastIndex === blockOrder.length - 1,\n\t\t\t\torientation: getBlockListSettings( _rootClientId )?.orientation,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tif ( ! canMove || ( isFirst && isLast && ! rootClientId ) ) {\n\t\treturn null;\n\t}\n\n\tconst dragHandleLabel = __( 'Drag' );\n\n\treturn (\n\t\t<ToolbarGroup\n\t\t\tclassName={ classnames( 'block-editor-block-mover', {\n\t\t\t\t'is-horizontal': orientation === 'horizontal',\n\t\t\t} ) }\n\t\t>\n\t\t\t{ ! hideDragHandle && (\n\t\t\t\t<BlockDraggable clientIds={ clientIds }>\n\t\t\t\t\t{ ( draggableProps ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ dragHandle }\n\t\t\t\t\t\t\tclassName=\"block-editor-block-mover__drag-handle\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tlabel={ dragHandleLabel }\n\t\t\t\t\t\t\t// Should not be able to tab to drag handle as this\n\t\t\t\t\t\t\t// button can only be used with a pointer device.\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t{ ...draggableProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockDraggable>\n\t\t\t) }\n\t\t\t<div className=\"block-editor-block-mover__move-button-container\">\n\t\t\t\t<ToolbarItem>\n\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarItem>\n\t\t\t\t<ToolbarItem>\n\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarItem>\n\t\t\t</div>\n\t\t</ToolbarGroup>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-mover/README.md\n */\nexport default BlockMover;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-mover/index.js"],"names":["BlockMover","clientIds","hideDragHandle","canMove","rootClientId","isFirst","isLast","orientation","select","getBlockIndex","getBlockListSettings","canMoveBlocks","getBlockOrder","getBlockRootClientId","blockEditorStore","normalizedClientIds","Array","isArray","firstClientId","_rootClientId","firstIndex","lastIndex","length","blockOrder","dragHandleLabel","draggableProps","dragHandle","itemProps"],"mappings":";;;;;;;;;;;AAGA;;AAMA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AAnBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AAKA,SAASA,UAAT,CAAqB;AAAEC,EAAAA,SAAF;AAAaC,EAAAA;AAAb,CAArB,EAAqD;AACpD,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,YAAX;AAAyBC,IAAAA,OAAzB;AAAkCC,IAAAA,MAAlC;AAA0CC,IAAAA;AAA1C,MAA0D,qBAC7DC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,aADK;AAELC,MAAAA,oBAFK;AAGLC,MAAAA,aAHK;AAILC,MAAAA,aAJK;AAKLC,MAAAA;AALK,QAMFL,MAAM,CAAEM,YAAF,CANV;AAOA,UAAMC,mBAAmB,GAAGC,KAAK,CAACC,OAAN,CAAehB,SAAf,IACzBA,SADyB,GAEzB,CAAEA,SAAF,CAFH;AAGA,UAAMiB,aAAa,GAAGH,mBAAmB,CAAE,CAAF,CAAzC;;AACA,UAAMI,aAAa,GAAGN,oBAAoB,CAAEK,aAAF,CAA1C;;AACA,UAAME,UAAU,GAAGX,aAAa,CAAES,aAAF,CAAhC;AACA,UAAMG,SAAS,GAAGZ,aAAa,CAC9BM,mBAAmB,CAAEA,mBAAmB,CAACO,MAApB,GAA6B,CAA/B,CADW,CAA/B;AAGA,UAAMC,UAAU,GAAGX,aAAa,CAAEO,aAAF,CAAhC;AAEA,WAAO;AACNhB,MAAAA,OAAO,EAAEQ,aAAa,CAAEV,SAAF,EAAakB,aAAb,CADhB;AAENf,MAAAA,YAAY,EAAEe,aAFR;AAGNd,MAAAA,OAAO,EAAEe,UAAU,KAAK,CAHlB;AAINd,MAAAA,MAAM,EAAEe,SAAS,KAAKE,UAAU,CAACD,MAAX,GAAoB,CAJpC;AAKNf,MAAAA,WAAW,EAAEG,oBAAoB,CAAES,aAAF,CAApB,EAAuCZ;AAL9C,KAAP;AAOA,GA3B8D,EA4B/D,CAAEN,SAAF,CA5B+D,CAAhE;;AA+BA,MAAK,CAAEE,OAAF,IAAeE,OAAO,IAAIC,MAAX,IAAqB,CAAEF,YAA3C,EAA4D;AAC3D,WAAO,IAAP;AACA;;AAED,QAAMoB,eAAe,GAAG,cAAI,MAAJ,CAAxB;AAEA,SACC,4BAAC,wBAAD;AACC,IAAA,SAAS,EAAG,yBAAY,0BAAZ,EAAwC;AACnD,uBAAiBjB,WAAW,KAAK;AADkB,KAAxC;AADb,KAKG,CAAEL,cAAF,IACD,4BAAC,uBAAD;AAAgB,IAAA,SAAS,EAAGD;AAA5B,KACKwB,cAAF,IACD,4BAAC,kBAAD;AACC,IAAA,IAAI,EAAGC,iBADR;AAEC,IAAA,SAAS,EAAC,uCAFX;AAGC,mBAAY,MAHb;AAIC,IAAA,KAAK,EAAGF,eAJT,CAKC;AACA;AAND;AAOC,IAAA,QAAQ,EAAC,IAPV;AAAA,OAQMC;AARN,IAFF,CANF,EAqBC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,uBAAD,QACKE,SAAF,IACD,4BAAC,0BAAD;AACC,IAAA,SAAS,EAAG1B,SADb;AAAA,OAEM0B;AAFN,IAFF,CADD,EASC,4BAAC,uBAAD,QACKA,SAAF,IACD,4BAAC,4BAAD;AACC,IAAA,SAAS,EAAG1B,SADb;AAAA,OAEM0B;AAFN,IAFF,CATD,CArBD,CADD;AA0CA;AAED;AACA;AACA;;;eACe3B,U","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\n\nimport { dragHandle } from '@wordpress/icons';\nimport { ToolbarGroup, ToolbarItem, Button } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockDraggable from '../block-draggable';\nimport { BlockMoverUpButton, BlockMoverDownButton } from './button';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockMover( { clientIds, hideDragHandle } ) {\n\tconst { canMove, rootClientId, isFirst, isLast, orientation } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockListSettings,\n\t\t\t\tcanMoveBlocks,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst normalizedClientIds = Array.isArray( clientIds )\n\t\t\t\t? clientIds\n\t\t\t\t: [ clientIds ];\n\t\t\tconst firstClientId = normalizedClientIds[ 0 ];\n\t\t\tconst _rootClientId = getBlockRootClientId( firstClientId );\n\t\t\tconst firstIndex = getBlockIndex( firstClientId );\n\t\t\tconst lastIndex = getBlockIndex(\n\t\t\t\tnormalizedClientIds[ normalizedClientIds.length - 1 ]\n\t\t\t);\n\t\t\tconst blockOrder = getBlockOrder( _rootClientId );\n\n\t\t\treturn {\n\t\t\t\tcanMove: canMoveBlocks( clientIds, _rootClientId ),\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tisFirst: firstIndex === 0,\n\t\t\t\tisLast: lastIndex === blockOrder.length - 1,\n\t\t\t\torientation: getBlockListSettings( _rootClientId )?.orientation,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tif ( ! canMove || ( isFirst && isLast && ! rootClientId ) ) {\n\t\treturn null;\n\t}\n\n\tconst dragHandleLabel = __( 'Drag' );\n\n\treturn (\n\t\t<ToolbarGroup\n\t\t\tclassName={ classnames( 'block-editor-block-mover', {\n\t\t\t\t'is-horizontal': orientation === 'horizontal',\n\t\t\t} ) }\n\t\t>\n\t\t\t{ ! hideDragHandle && (\n\t\t\t\t<BlockDraggable clientIds={ clientIds }>\n\t\t\t\t\t{ ( draggableProps ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ dragHandle }\n\t\t\t\t\t\t\tclassName=\"block-editor-block-mover__drag-handle\"\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tlabel={ dragHandleLabel }\n\t\t\t\t\t\t\t// Should not be able to tab to drag handle as this\n\t\t\t\t\t\t\t// button can only be used with a pointer device.\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t{ ...draggableProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</BlockDraggable>\n\t\t\t) }\n\t\t\t<div className=\"block-editor-block-mover__move-button-container\">\n\t\t\t\t<ToolbarItem>\n\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarItem>\n\t\t\t\t<ToolbarItem>\n\t\t\t\t\t{ ( itemProps ) => (\n\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t{ ...itemProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarItem>\n\t\t\t</div>\n\t\t</ToolbarGroup>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-mover/README.md\n */\nexport default BlockMover;\n"]}
@@ -9,8 +9,6 @@ exports.default = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
12
  var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
15
13
 
16
14
  var _components = require("@wordpress/components");
@@ -43,7 +41,7 @@ function BlockNavigationDropdownToggle({
43
41
  innerRef,
44
42
  ...props
45
43
  }) {
46
- return (0, _element.createElement)(_components.Button, (0, _extends2.default)({}, props, {
44
+ return (0, _element.createElement)(_components.Button, { ...props,
47
45
  ref: innerRef,
48
46
  icon: _icons.listView,
49
47
  "aria-expanded": isOpen,
@@ -54,7 +52,7 @@ function BlockNavigationDropdownToggle({
54
52
  label: (0, _i18n.__)('List view'),
55
53
  className: "block-editor-block-navigation",
56
54
  "aria-disabled": !isEnabled
57
- }));
55
+ });
58
56
  }
59
57
 
60
58
  function BlockNavigationDropdown({
@@ -75,12 +73,12 @@ function BlockNavigationDropdown({
75
73
  renderToggle: ({
76
74
  isOpen,
77
75
  onToggle
78
- }) => (0, _element.createElement)(BlockNavigationDropdownToggle, (0, _extends2.default)({}, props, {
76
+ }) => (0, _element.createElement)(BlockNavigationDropdownToggle, { ...props,
79
77
  innerRef: ref,
80
78
  isOpen: isOpen,
81
79
  onToggle: onToggle,
82
80
  isEnabled: isEnabled
83
- })),
81
+ }),
84
82
  renderContent: () => (0, _element.createElement)("div", {
85
83
  className: "block-editor-block-navigation__container"
86
84
  }, (0, _element.createElement)("p", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-navigation/dropdown.js"],"names":["BlockNavigationDropdownToggle","isEnabled","onToggle","isOpen","innerRef","props","listView","undefined","BlockNavigationDropdown","isDisabled","ref","since","alternative","hasBlocks","select","blockEditorStore","getBlockCount","placement"],"mappings":";;;;;;;;;AAWA;;;;AARA;;AAKA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AAIA,SAASA,6BAAT,CAAwC;AACvCC,EAAAA,SADuC;AAEvCC,EAAAA,QAFuC;AAGvCC,EAAAA,MAHuC;AAIvCC,EAAAA,QAJuC;AAKvC,KAAGC;AALoC,CAAxC,EAMI;AACH,SACC,4BAAC,kBAAD,6BACMA,KADN;AAEC,IAAA,GAAG,EAAGD,QAFP;AAGC,IAAA,IAAI,EAAGE,eAHR;AAIC,qBAAgBH,MAJjB;AAKC,qBAAc,MALf;AAMC,IAAA,OAAO,EAAGF,SAAS,GAAGC,QAAH,GAAcK;AACjC;AAPD;AAQC,IAAA,KAAK,EAAG,cAAI,WAAJ,CART;AASC,IAAA,SAAS,EAAC,+BATX;AAUC,qBAAgB,CAAEN;AAVnB,KADD;AAcA;;AAED,SAASO,uBAAT,CAAkC;AAAEC,EAAAA,UAAF;AAAc,KAAGJ;AAAjB,CAAlC,EAA4DK,GAA5D,EAAkE;AACjE,2BAAY,wCAAZ,EAAsD;AACrDC,IAAAA,KAAK,EAAE,KAD8C;AAErDC,IAAAA,WAAW,EAAE;AAFwC,GAAtD;AAKA,QAAMC,SAAS,GAAG,qBACfC,MAAF,IAAc,CAAC,CAAEA,MAAM,CAAEC,YAAF,CAAN,CAA2BC,aAA3B,EADA,EAEjB,EAFiB,CAAlB;AAIA,QAAMf,SAAS,GAAGY,SAAS,IAAI,CAAEJ,UAAjC;AAEA,SACC,4BAAC,oBAAD;AACC,IAAA,gBAAgB,EAAC,wCADlB;AAEC,IAAA,YAAY,EAAG;AAAEQ,MAAAA,SAAS,EAAE;AAAb,KAFhB;AAGC,IAAA,YAAY,EAAG,CAAE;AAAEd,MAAAA,MAAF;AAAUD,MAAAA;AAAV,KAAF,KACd,4BAAC,6BAAD,6BACMG,KADN;AAEC,MAAA,QAAQ,EAAGK,GAFZ;AAGC,MAAA,MAAM,EAAGP,MAHV;AAIC,MAAA,QAAQ,EAAGD,QAJZ;AAKC,MAAA,SAAS,EAAGD;AALb,OAJF;AAYC,IAAA,aAAa,EAAG,MACf;AAAK,MAAA,SAAS,EAAC;AAAf,OACC;AAAG,MAAA,SAAS,EAAC;AAAb,OACG,cAAI,WAAJ,CADH,CADD,EAKC,4BAAC,iBAAD,OALD;AAbF,IADD;AAwBA;;eAEc,yBAAYO,uBAAZ,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Dropdown } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { listView } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ListView from '../list-view';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockNavigationDropdownToggle( {\n\tisEnabled,\n\tonToggle,\n\tisOpen,\n\tinnerRef,\n\t...props\n} ) {\n\treturn (\n\t\t<Button\n\t\t\t{ ...props }\n\t\t\tref={ innerRef }\n\t\t\ticon={ listView }\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-haspopup=\"true\"\n\t\t\tonClick={ isEnabled ? onToggle : undefined }\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\tlabel={ __( 'List view' ) }\n\t\t\tclassName=\"block-editor-block-navigation\"\n\t\t\taria-disabled={ ! isEnabled }\n\t\t/>\n\t);\n}\n\nfunction BlockNavigationDropdown( { isDisabled, ...props }, ref ) {\n\tdeprecated( 'wp.blockEditor.BlockNavigationDropdown', {\n\t\tsince: '6.1',\n\t\talternative: 'wp.components.Dropdown and wp.blockEditor.ListView',\n\t} );\n\n\tconst hasBlocks = useSelect(\n\t\t( select ) => !! select( blockEditorStore ).getBlockCount(),\n\t\t[]\n\t);\n\tconst isEnabled = hasBlocks && ! isDisabled;\n\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-editor-block-navigation__popover\"\n\t\t\tpopoverProps={ { placement: 'bottom-start' } }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<BlockNavigationDropdownToggle\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tinnerRef={ ref }\n\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\tisEnabled={ isEnabled }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<div className=\"block-editor-block-navigation__container\">\n\t\t\t\t\t<p className=\"block-editor-block-navigation__label\">\n\t\t\t\t\t\t{ __( 'List view' ) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ListView />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( BlockNavigationDropdown );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-navigation/dropdown.js"],"names":["BlockNavigationDropdownToggle","isEnabled","onToggle","isOpen","innerRef","props","listView","undefined","BlockNavigationDropdown","isDisabled","ref","since","alternative","hasBlocks","select","blockEditorStore","getBlockCount","placement"],"mappings":";;;;;;;;;AAWA;;AARA;;AAKA;;AACA;;AACA;;AAEA;;AAKA;;AACA;;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AAIA,SAASA,6BAAT,CAAwC;AACvCC,EAAAA,SADuC;AAEvCC,EAAAA,QAFuC;AAGvCC,EAAAA,MAHuC;AAIvCC,EAAAA,QAJuC;AAKvC,KAAGC;AALoC,CAAxC,EAMI;AACH,SACC,4BAAC,kBAAD,OACMA,KADN;AAEC,IAAA,GAAG,EAAGD,QAFP;AAGC,IAAA,IAAI,EAAGE,eAHR;AAIC,qBAAgBH,MAJjB;AAKC,qBAAc,MALf;AAMC,IAAA,OAAO,EAAGF,SAAS,GAAGC,QAAH,GAAcK;AACjC;AAPD;AAQC,IAAA,KAAK,EAAG,cAAI,WAAJ,CART;AASC,IAAA,SAAS,EAAC,+BATX;AAUC,qBAAgB,CAAEN;AAVnB,IADD;AAcA;;AAED,SAASO,uBAAT,CAAkC;AAAEC,EAAAA,UAAF;AAAc,KAAGJ;AAAjB,CAAlC,EAA4DK,GAA5D,EAAkE;AACjE,2BAAY,wCAAZ,EAAsD;AACrDC,IAAAA,KAAK,EAAE,KAD8C;AAErDC,IAAAA,WAAW,EAAE;AAFwC,GAAtD;AAKA,QAAMC,SAAS,GAAG,qBACfC,MAAF,IAAc,CAAC,CAAEA,MAAM,CAAEC,YAAF,CAAN,CAA2BC,aAA3B,EADA,EAEjB,EAFiB,CAAlB;AAIA,QAAMf,SAAS,GAAGY,SAAS,IAAI,CAAEJ,UAAjC;AAEA,SACC,4BAAC,oBAAD;AACC,IAAA,gBAAgB,EAAC,wCADlB;AAEC,IAAA,YAAY,EAAG;AAAEQ,MAAAA,SAAS,EAAE;AAAb,KAFhB;AAGC,IAAA,YAAY,EAAG,CAAE;AAAEd,MAAAA,MAAF;AAAUD,MAAAA;AAAV,KAAF,KACd,4BAAC,6BAAD,OACMG,KADN;AAEC,MAAA,QAAQ,EAAGK,GAFZ;AAGC,MAAA,MAAM,EAAGP,MAHV;AAIC,MAAA,QAAQ,EAAGD,QAJZ;AAKC,MAAA,SAAS,EAAGD;AALb,MAJF;AAYC,IAAA,aAAa,EAAG,MACf;AAAK,MAAA,SAAS,EAAC;AAAf,OACC;AAAG,MAAA,SAAS,EAAC;AAAb,OACG,cAAI,WAAJ,CADH,CADD,EAKC,4BAAC,iBAAD,OALD;AAbF,IADD;AAwBA;;eAEc,yBAAYO,uBAAZ,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Dropdown } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { listView } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ListView from '../list-view';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockNavigationDropdownToggle( {\n\tisEnabled,\n\tonToggle,\n\tisOpen,\n\tinnerRef,\n\t...props\n} ) {\n\treturn (\n\t\t<Button\n\t\t\t{ ...props }\n\t\t\tref={ innerRef }\n\t\t\ticon={ listView }\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-haspopup=\"true\"\n\t\t\tonClick={ isEnabled ? onToggle : undefined }\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\tlabel={ __( 'List view' ) }\n\t\t\tclassName=\"block-editor-block-navigation\"\n\t\t\taria-disabled={ ! isEnabled }\n\t\t/>\n\t);\n}\n\nfunction BlockNavigationDropdown( { isDisabled, ...props }, ref ) {\n\tdeprecated( 'wp.blockEditor.BlockNavigationDropdown', {\n\t\tsince: '6.1',\n\t\talternative: 'wp.components.Dropdown and wp.blockEditor.ListView',\n\t} );\n\n\tconst hasBlocks = useSelect(\n\t\t( select ) => !! select( blockEditorStore ).getBlockCount(),\n\t\t[]\n\t);\n\tconst isEnabled = hasBlocks && ! isDisabled;\n\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-editor-block-navigation__popover\"\n\t\t\tpopoverProps={ { placement: 'bottom-start' } }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<BlockNavigationDropdownToggle\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tinnerRef={ ref }\n\t\t\t\t\tisOpen={ isOpen }\n\t\t\t\t\tonToggle={ onToggle }\n\t\t\t\t\tisEnabled={ isEnabled }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<div className=\"block-editor-block-navigation__container\">\n\t\t\t\t\t<p className=\"block-editor-block-navigation__label\">\n\t\t\t\t\t\t{ __( 'List view' ) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ListView />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( BlockNavigationDropdown );\n"]}
@@ -9,8 +9,6 @@ exports.default = BlockParentSelector;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
12
  var _blocks = require("@wordpress/blocks");
15
13
 
16
14
  var _components = require("@wordpress/components");
@@ -97,11 +95,12 @@ function BlockParentSelector() {
97
95
  return null;
98
96
  }
99
97
 
100
- return (0, _element.createElement)("div", (0, _extends2.default)({
98
+ return (0, _element.createElement)("div", {
101
99
  className: "block-editor-block-parent-selector",
102
100
  key: firstParentClientId,
103
- ref: nodeRef
104
- }, showMoversGestures), (0, _element.createElement)(_components.ToolbarButton, {
101
+ ref: nodeRef,
102
+ ...showMoversGestures
103
+ }, (0, _element.createElement)(_components.ToolbarButton, {
105
104
  className: "block-editor-block-parent-selector__button",
106
105
  onClick: () => selectBlock(firstParentClientId),
107
106
  label: (0, _i18n.sprintf)(