@wordpress/block-editor 14.3.4 → 14.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +4 -0
  3. package/build/autocompleters/link.js +2 -1
  4. package/build/autocompleters/link.js.map +1 -1
  5. package/build/components/block-actions/index.js +1 -13
  6. package/build/components/block-actions/index.js.map +1 -1
  7. package/build/components/block-inspector/index.js +56 -75
  8. package/build/components/block-inspector/index.js.map +1 -1
  9. package/build/components/block-list/block.js +5 -19
  10. package/build/components/block-list/block.js.map +1 -1
  11. package/build/components/block-list/index.js +5 -8
  12. package/build/components/block-list/index.js.map +1 -1
  13. package/build/components/block-list/use-block-props/index.js +3 -11
  14. package/build/components/block-list/use-block-props/index.js.map +1 -1
  15. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +9 -12
  16. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
  17. package/build/components/block-list/use-in-between-inserter.js +5 -3
  18. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  19. package/build/components/block-list/zoom-out-separator.js +14 -6
  20. package/build/components/block-list/zoom-out-separator.js.map +1 -1
  21. package/build/components/block-navigation/dropdown.js +2 -4
  22. package/build/components/block-navigation/dropdown.js.map +1 -1
  23. package/build/components/block-parent-selector/index.js +13 -10
  24. package/build/components/block-parent-selector/index.js.map +1 -1
  25. package/build/components/block-pattern-setup/setup-toolbar.js +10 -20
  26. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  27. package/build/components/block-patterns-paging/index.js +11 -13
  28. package/build/components/block-patterns-paging/index.js.map +1 -1
  29. package/build/components/block-quick-navigation/index.js +2 -4
  30. package/build/components/block-quick-navigation/index.js.map +1 -1
  31. package/build/components/block-settings-menu/block-settings-dropdown.js +79 -76
  32. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  33. package/build/components/block-settings-menu-controls/index.js +1 -6
  34. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  35. package/build/components/block-switcher/index.js +17 -14
  36. package/build/components/block-switcher/index.js.map +1 -1
  37. package/build/components/block-toolbar/index.js +16 -19
  38. package/build/components/block-toolbar/index.js.map +1 -1
  39. package/build/components/block-toolbar/use-has-block-toolbar.js +3 -5
  40. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  41. package/build/components/block-tools/index.js +8 -11
  42. package/build/components/block-tools/index.js.map +1 -1
  43. package/build/components/block-tools/insertion-point.js +1 -4
  44. package/build/components/block-tools/insertion-point.js.map +1 -1
  45. package/build/components/block-tools/use-show-block-tools.js +2 -5
  46. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  47. package/build/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
  48. package/build/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
  49. package/build/components/block-tools/zoom-out-mode-inserters.js +14 -17
  50. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  51. package/build/components/block-tools/zoom-out-toolbar.js +2 -12
  52. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  53. package/build/components/block-variation-picker/index.js +2 -4
  54. package/build/components/block-variation-picker/index.js.map +1 -1
  55. package/build/components/block-variation-transforms/index.js +3 -4
  56. package/build/components/block-variation-transforms/index.js.map +1 -1
  57. package/build/components/button-block-appender/index.js +2 -4
  58. package/build/components/button-block-appender/index.js.map +1 -1
  59. package/build/components/colors-gradients/dropdown.js +2 -4
  60. package/build/components/colors-gradients/dropdown.js.map +1 -1
  61. package/build/components/global-styles/border-panel.js +1 -1
  62. package/build/components/global-styles/border-panel.js.map +1 -1
  63. package/build/components/global-styles/color-panel.js +2 -4
  64. package/build/components/global-styles/color-panel.js.map +1 -1
  65. package/build/components/global-styles/dimensions-panel.js +3 -3
  66. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  67. package/build/components/global-styles/filters-panel.js +2 -4
  68. package/build/components/global-styles/filters-panel.js.map +1 -1
  69. package/build/components/global-styles/shadow-panel-components.js +24 -29
  70. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  71. package/build/components/inner-blocks/index.js +1 -9
  72. package/build/components/inner-blocks/index.js.map +1 -1
  73. package/build/components/inserter/block-types-tab.js +1 -1
  74. package/build/components/inserter/block-types-tab.js.map +1 -1
  75. package/build/components/inserter/hooks/use-block-types-state.js +24 -5
  76. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  77. package/build/components/inserter/hooks/use-insertion-point.js +22 -12
  78. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  79. package/build/components/inserter/hooks/use-patterns-state.js +23 -10
  80. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  81. package/build/components/inserter/media-tab/media-preview.js +35 -13
  82. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  83. package/build/components/inserter/menu.js +2 -2
  84. package/build/components/inserter/menu.js.map +1 -1
  85. package/build/components/inserter/mobile-tab-navigation.js +5 -5
  86. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  87. package/build/components/inserter/quick-inserter.js +4 -4
  88. package/build/components/inserter/quick-inserter.js.map +1 -1
  89. package/build/components/inspector-controls-tabs/index.js +11 -8
  90. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  91. package/build/components/inspector-popover-header/index.js +4 -8
  92. package/build/components/inspector-popover-header/index.js.map +1 -1
  93. package/build/components/link-control/index.js +5 -10
  94. package/build/components/link-control/index.js.map +1 -1
  95. package/build/components/link-control/settings-drawer.js +2 -4
  96. package/build/components/link-control/settings-drawer.js.map +1 -1
  97. package/build/components/list-view/block-contents.js +1 -25
  98. package/build/components/list-view/block-contents.js.map +1 -1
  99. package/build/components/list-view/block-select-button.js +1 -4
  100. package/build/components/list-view/block-select-button.js.map +1 -1
  101. package/build/components/media-placeholder/index.js +12 -24
  102. package/build/components/media-placeholder/index.js.map +1 -1
  103. package/build/components/skip-to-selected-block/index.js +2 -4
  104. package/build/components/skip-to-selected-block/index.js.map +1 -1
  105. package/build/components/tool-selector/index.js +13 -12
  106. package/build/components/tool-selector/index.js.map +1 -1
  107. package/build/components/url-input/button.js +14 -16
  108. package/build/components/url-input/button.js.map +1 -1
  109. package/build/components/url-input/index.js +2 -4
  110. package/build/components/url-input/index.js.map +1 -1
  111. package/build/components/use-block-commands/index.js +0 -61
  112. package/build/components/use-block-commands/index.js.map +1 -1
  113. package/build/components/writing-flow/use-tab-nav.js +2 -25
  114. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  115. package/build/hooks/duotone.js +4 -1
  116. package/build/hooks/duotone.js.map +1 -1
  117. package/build/hooks/layout-child.js +3 -1
  118. package/build/hooks/layout-child.js.map +1 -1
  119. package/build/hooks/position.js +3 -2
  120. package/build/hooks/position.js.map +1 -1
  121. package/build/layouts/flex.js +6 -38
  122. package/build/layouts/flex.js.map +1 -1
  123. package/build/store/actions.js +13 -14
  124. package/build/store/actions.js.map +1 -1
  125. package/build/store/private-actions.js +15 -0
  126. package/build/store/private-actions.js.map +1 -1
  127. package/build/store/private-selectors.js +104 -7
  128. package/build/store/private-selectors.js.map +1 -1
  129. package/build/store/reducer.js +22 -26
  130. package/build/store/reducer.js.map +1 -1
  131. package/build/store/selectors.js +127 -56
  132. package/build/store/selectors.js.map +1 -1
  133. package/build/store/utils.js +4 -3
  134. package/build/store/utils.js.map +1 -1
  135. package/build/utils/block-bindings.js +2 -0
  136. package/build/utils/block-bindings.js.map +1 -1
  137. package/build-module/autocompleters/link.js +2 -1
  138. package/build-module/autocompleters/link.js.map +1 -1
  139. package/build-module/components/block-actions/index.js +1 -13
  140. package/build-module/components/block-actions/index.js.map +1 -1
  141. package/build-module/components/block-inspector/index.js +57 -76
  142. package/build-module/components/block-inspector/index.js.map +1 -1
  143. package/build-module/components/block-list/block.js +5 -19
  144. package/build-module/components/block-list/block.js.map +1 -1
  145. package/build-module/components/block-list/index.js +5 -8
  146. package/build-module/components/block-list/index.js.map +1 -1
  147. package/build-module/components/block-list/use-block-props/index.js +3 -11
  148. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  149. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +9 -12
  150. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
  151. package/build-module/components/block-list/use-in-between-inserter.js +5 -3
  152. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  153. package/build-module/components/block-list/zoom-out-separator.js +14 -6
  154. package/build-module/components/block-list/zoom-out-separator.js.map +1 -1
  155. package/build-module/components/block-navigation/dropdown.js +2 -4
  156. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  157. package/build-module/components/block-parent-selector/index.js +13 -10
  158. package/build-module/components/block-parent-selector/index.js.map +1 -1
  159. package/build-module/components/block-pattern-setup/setup-toolbar.js +10 -20
  160. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  161. package/build-module/components/block-patterns-paging/index.js +11 -13
  162. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  163. package/build-module/components/block-quick-navigation/index.js +2 -4
  164. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  165. package/build-module/components/block-settings-menu/block-settings-dropdown.js +79 -76
  166. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  167. package/build-module/components/block-settings-menu-controls/index.js +2 -7
  168. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  169. package/build-module/components/block-switcher/index.js +17 -14
  170. package/build-module/components/block-switcher/index.js.map +1 -1
  171. package/build-module/components/block-toolbar/index.js +17 -20
  172. package/build-module/components/block-toolbar/index.js.map +1 -1
  173. package/build-module/components/block-toolbar/use-has-block-toolbar.js +3 -5
  174. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  175. package/build-module/components/block-tools/index.js +8 -11
  176. package/build-module/components/block-tools/index.js.map +1 -1
  177. package/build-module/components/block-tools/insertion-point.js +1 -4
  178. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  179. package/build-module/components/block-tools/use-show-block-tools.js +2 -5
  180. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  181. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
  182. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
  183. package/build-module/components/block-tools/zoom-out-mode-inserters.js +14 -17
  184. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  185. package/build-module/components/block-tools/zoom-out-toolbar.js +2 -12
  186. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  187. package/build-module/components/block-variation-picker/index.js +2 -4
  188. package/build-module/components/block-variation-picker/index.js.map +1 -1
  189. package/build-module/components/block-variation-transforms/index.js +3 -4
  190. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  191. package/build-module/components/button-block-appender/index.js +2 -4
  192. package/build-module/components/button-block-appender/index.js.map +1 -1
  193. package/build-module/components/colors-gradients/dropdown.js +2 -4
  194. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  195. package/build-module/components/global-styles/border-panel.js +1 -1
  196. package/build-module/components/global-styles/border-panel.js.map +1 -1
  197. package/build-module/components/global-styles/color-panel.js +2 -4
  198. package/build-module/components/global-styles/color-panel.js.map +1 -1
  199. package/build-module/components/global-styles/dimensions-panel.js +1 -1
  200. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  201. package/build-module/components/global-styles/filters-panel.js +2 -4
  202. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  203. package/build-module/components/global-styles/shadow-panel-components.js +25 -30
  204. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  205. package/build-module/components/inner-blocks/index.js +1 -9
  206. package/build-module/components/inner-blocks/index.js.map +1 -1
  207. package/build-module/components/inserter/block-types-tab.js +1 -1
  208. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  209. package/build-module/components/inserter/hooks/use-block-types-state.js +27 -8
  210. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  211. package/build-module/components/inserter/hooks/use-insertion-point.js +22 -12
  212. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  213. package/build-module/components/inserter/hooks/use-patterns-state.js +23 -10
  214. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  215. package/build-module/components/inserter/media-tab/media-preview.js +35 -13
  216. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  217. package/build-module/components/inserter/menu.js +2 -2
  218. package/build-module/components/inserter/menu.js.map +1 -1
  219. package/build-module/components/inserter/mobile-tab-navigation.js +6 -6
  220. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  221. package/build-module/components/inserter/quick-inserter.js +4 -4
  222. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  223. package/build-module/components/inspector-controls-tabs/index.js +12 -9
  224. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  225. package/build-module/components/inspector-popover-header/index.js +4 -8
  226. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  227. package/build-module/components/link-control/index.js +5 -10
  228. package/build-module/components/link-control/index.js.map +1 -1
  229. package/build-module/components/link-control/settings-drawer.js +2 -4
  230. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  231. package/build-module/components/list-view/block-contents.js +1 -25
  232. package/build-module/components/list-view/block-contents.js.map +1 -1
  233. package/build-module/components/list-view/block-select-button.js +2 -5
  234. package/build-module/components/list-view/block-select-button.js.map +1 -1
  235. package/build-module/components/media-placeholder/index.js +12 -24
  236. package/build-module/components/media-placeholder/index.js.map +1 -1
  237. package/build-module/components/skip-to-selected-block/index.js +2 -4
  238. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  239. package/build-module/components/tool-selector/index.js +13 -12
  240. package/build-module/components/tool-selector/index.js.map +1 -1
  241. package/build-module/components/url-input/button.js +15 -17
  242. package/build-module/components/url-input/button.js.map +1 -1
  243. package/build-module/components/url-input/index.js +2 -4
  244. package/build-module/components/url-input/index.js.map +1 -1
  245. package/build-module/components/use-block-commands/index.js +1 -62
  246. package/build-module/components/use-block-commands/index.js.map +1 -1
  247. package/build-module/components/writing-flow/use-tab-nav.js +3 -26
  248. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  249. package/build-module/hooks/duotone.js +4 -1
  250. package/build-module/hooks/duotone.js.map +1 -1
  251. package/build-module/hooks/layout-child.js +4 -1
  252. package/build-module/hooks/layout-child.js.map +1 -1
  253. package/build-module/hooks/position.js +4 -1
  254. package/build-module/hooks/position.js.map +1 -1
  255. package/build-module/layouts/flex.js +7 -39
  256. package/build-module/layouts/flex.js.map +1 -1
  257. package/build-module/store/actions.js +12 -12
  258. package/build-module/store/actions.js.map +1 -1
  259. package/build-module/store/private-actions.js +14 -0
  260. package/build-module/store/private-actions.js.map +1 -1
  261. package/build-module/store/private-selectors.js +98 -7
  262. package/build-module/store/private-selectors.js.map +1 -1
  263. package/build-module/store/reducer.js +21 -25
  264. package/build-module/store/reducer.js.map +1 -1
  265. package/build-module/store/selectors.js +129 -58
  266. package/build-module/store/selectors.js.map +1 -1
  267. package/build-module/store/utils.js +3 -2
  268. package/build-module/store/utils.js.map +1 -1
  269. package/build-module/utils/block-bindings.js +2 -0
  270. package/build-module/utils/block-bindings.js.map +1 -1
  271. package/build-style/content-rtl.css +14 -56
  272. package/build-style/content.css +14 -56
  273. package/build-style/default-editor-styles-rtl.css +10 -1
  274. package/build-style/default-editor-styles.css +10 -1
  275. package/build-style/style-rtl.css +51 -149
  276. package/build-style/style.css +51 -149
  277. package/package.json +32 -32
  278. package/src/autocompleters/link.js +2 -1
  279. package/src/components/block-actions/index.js +1 -13
  280. package/src/components/block-draggable/style.scss +2 -2
  281. package/src/components/block-inspector/index.js +79 -95
  282. package/src/components/block-inspector/style.scss +2 -0
  283. package/src/components/block-list/block.js +7 -28
  284. package/src/components/block-list/content.scss +1 -61
  285. package/src/components/block-list/index.js +21 -29
  286. package/src/components/block-list/use-block-props/index.js +3 -10
  287. package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +19 -11
  288. package/src/components/block-list/use-in-between-inserter.js +5 -2
  289. package/src/components/block-list/zoom-out-separator.js +24 -8
  290. package/src/components/block-navigation/dropdown.js +1 -2
  291. package/src/components/block-parent-selector/index.js +13 -10
  292. package/src/components/block-pattern-setup/setup-toolbar.js +5 -10
  293. package/src/components/block-patterns-paging/index.js +8 -7
  294. package/src/components/block-patterns-paging/style.scss +10 -27
  295. package/src/components/block-quick-navigation/index.js +1 -2
  296. package/src/components/block-settings-menu/block-settings-dropdown.js +120 -106
  297. package/src/components/block-settings-menu-controls/index.js +0 -15
  298. package/src/components/block-switcher/index.js +37 -30
  299. package/src/components/block-toolbar/index.js +22 -34
  300. package/src/components/block-toolbar/style.scss +10 -1
  301. package/src/components/block-toolbar/use-has-block-toolbar.js +19 -31
  302. package/src/components/block-tools/index.js +7 -16
  303. package/src/components/block-tools/insertion-point.js +1 -4
  304. package/src/components/block-tools/style.scss +3 -88
  305. package/src/components/block-tools/use-show-block-tools.js +2 -12
  306. package/src/components/block-tools/zoom-out-mode-inserter-button.js +2 -17
  307. package/src/components/block-tools/zoom-out-mode-inserters.js +11 -19
  308. package/src/components/block-tools/zoom-out-toolbar.js +2 -13
  309. package/src/components/block-variation-picker/index.js +1 -2
  310. package/src/components/block-variation-transforms/index.js +2 -2
  311. package/src/components/button-block-appender/content.scss +0 -5
  312. package/src/components/button-block-appender/index.js +1 -2
  313. package/src/components/colors-gradients/dropdown.js +1 -5
  314. package/src/components/font-family/README.md +5 -1
  315. package/src/components/global-styles/border-panel.js +1 -1
  316. package/src/components/global-styles/color-panel.js +1 -5
  317. package/src/components/global-styles/dimensions-panel.js +1 -1
  318. package/src/components/global-styles/filters-panel.js +1 -2
  319. package/src/components/global-styles/shadow-panel-components.js +28 -33
  320. package/src/components/global-styles/style.scss +5 -0
  321. package/src/components/inner-blocks/index.js +1 -16
  322. package/src/components/inserter/block-types-tab.js +1 -1
  323. package/src/components/inserter/hooks/use-block-types-state.js +34 -14
  324. package/src/components/inserter/hooks/use-insertion-point.js +35 -13
  325. package/src/components/inserter/hooks/use-patterns-state.js +46 -9
  326. package/src/components/inserter/media-tab/media-preview.js +38 -12
  327. package/src/components/inserter/menu.js +2 -2
  328. package/src/components/inserter/mobile-tab-navigation.js +10 -13
  329. package/src/components/inserter/quick-inserter.js +5 -4
  330. package/src/components/inserter/style.scss +0 -28
  331. package/src/components/inspector-controls-tabs/index.js +21 -20
  332. package/src/components/inspector-controls-tabs/style.scss +2 -6
  333. package/src/components/inspector-popover-header/index.js +2 -4
  334. package/src/components/inspector-popover-header/style.scss +0 -13
  335. package/src/components/link-control/index.js +2 -5
  336. package/src/components/link-control/settings-drawer.js +1 -2
  337. package/src/components/list-view/block-contents.js +1 -28
  338. package/src/components/list-view/block-select-button.js +2 -5
  339. package/src/components/list-view/style.scss +18 -14
  340. package/src/components/media-placeholder/index.js +6 -12
  341. package/src/components/skip-to-selected-block/index.js +1 -2
  342. package/src/components/skip-to-selected-block/style.scss +0 -9
  343. package/src/components/tool-selector/index.js +14 -9
  344. package/src/components/tool-selector/style.scss +5 -0
  345. package/src/components/url-input/button.js +16 -12
  346. package/src/components/url-input/index.js +1 -2
  347. package/src/components/url-input/style.scss +0 -6
  348. package/src/components/use-block-commands/index.js +0 -58
  349. package/src/components/writing-flow/use-tab-nav.js +4 -36
  350. package/src/content.scss +0 -1
  351. package/src/hooks/duotone.js +4 -1
  352. package/src/hooks/layout-child.js +4 -1
  353. package/src/hooks/position.js +4 -1
  354. package/src/layouts/flex.js +10 -53
  355. package/src/store/actions.js +14 -13
  356. package/src/store/private-actions.js +14 -0
  357. package/src/store/private-selectors.js +120 -16
  358. package/src/store/reducer.js +22 -28
  359. package/src/store/selectors.js +203 -114
  360. package/src/store/test/private-actions.js +15 -0
  361. package/src/store/test/private-selectors.js +34 -0
  362. package/src/store/test/reducer.js +40 -4
  363. package/src/store/test/selectors.js +183 -20
  364. package/src/store/utils.js +4 -2
  365. package/src/utils/block-bindings.js +2 -0
  366. package/build/components/block-controls/use-has-block-controls.js +0 -43
  367. package/build/components/block-controls/use-has-block-controls.js.map +0 -1
  368. package/build/components/block-list/use-block-props/use-nav-mode-exit.js +0 -54
  369. package/build/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
  370. package/build/components/block-tools/block-selection-button.js +0 -259
  371. package/build/components/block-tools/block-selection-button.js.map +0 -1
  372. package/build/components/block-tools/block-toolbar-breadcrumb.js +0 -57
  373. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
  374. package/build/components/inserter/tabs.js +0 -78
  375. package/build/components/inserter/tabs.js.map +0 -1
  376. package/build-module/components/block-controls/use-has-block-controls.js +0 -34
  377. package/build-module/components/block-controls/use-has-block-controls.js.map +0 -1
  378. package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js +0 -48
  379. package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
  380. package/build-module/components/block-tools/block-selection-button.js +0 -254
  381. package/build-module/components/block-tools/block-selection-button.js.map +0 -1
  382. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +0 -49
  383. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
  384. package/build-module/components/inserter/tabs.js +0 -72
  385. package/build-module/components/inserter/tabs.js.map +0 -1
  386. package/src/components/block-controls/use-has-block-controls.js +0 -35
  387. package/src/components/block-list/use-block-props/use-nav-mode-exit.js +0 -46
  388. package/src/components/block-tools/block-selection-button.js +0 -302
  389. package/src/components/block-tools/block-toolbar-breadcrumb.js +0 -51
  390. package/src/components/inner-blocks/content.scss +0 -13
  391. package/src/components/inserter/tabs.js +0 -78
  392. package/src/components/inserter/test/block-types-tab.native.js +0 -67
@@ -7,12 +7,13 @@ exports.getAllPatternsDependants = exports.checkAllowListRecursive = exports.che
7
7
  exports.getGrammar = getGrammar;
8
8
  exports.getInsertBlockTypeDependants = getInsertBlockTypeDependants;
9
9
  exports.getParsedPattern = getParsedPattern;
10
- exports.withRootClientIdOptionKey = void 0;
10
+ exports.isFiltered = void 0;
11
11
  var _blocks = require("@wordpress/blocks");
12
12
  var _blockSerializationDefaultParser = require("@wordpress/block-serialization-default-parser");
13
13
  var _privateKeys = require("./private-keys");
14
14
  var _lockUnlock = require("../lock-unlock");
15
15
  var _constants = require("./constants");
16
+ var _privateSelectors = require("./private-selectors");
16
17
  /**
17
18
  * WordPress dependencies
18
19
  */
@@ -21,7 +22,7 @@ var _constants = require("./constants");
21
22
  * Internal dependencies
22
23
  */
23
24
 
24
- const withRootClientIdOptionKey = exports.withRootClientIdOptionKey = Symbol('withRootClientId');
25
+ const isFiltered = exports.isFiltered = Symbol('isFiltered');
25
26
  const parsedPatternCache = new WeakMap();
26
27
  const grammarMapCache = new WeakMap();
27
28
  function parsePattern(pattern) {
@@ -101,6 +102,6 @@ const getAllPatternsDependants = select => state => {
101
102
  };
102
103
  exports.getAllPatternsDependants = getAllPatternsDependants;
103
104
  function getInsertBlockTypeDependants(state, rootClientId) {
104
- return [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.settings.allowedBlockTypes, state.settings.templateLock, state.blockEditingModes];
105
+ return [state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId), state.settings.allowedBlockTypes, state.settings.templateLock, state.blockEditingModes, state.editorMode, (0, _privateSelectors.getSectionRootClientId)(state)];
105
106
  }
106
107
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_blockSerializationDefaultParser","_privateKeys","_lockUnlock","_constants","withRootClientIdOptionKey","exports","Symbol","parsedPatternCache","WeakMap","grammarMapCache","parsePattern","pattern","blocks","parse","content","__unstableSkipMigrationLogs","length","attributes","metadata","categories","patternName","name","title","getParsedPattern","parsedPattern","get","set","getGrammar","grammarMap","grammarParse","filter","block","blockName","checkAllowList","list","item","defaultResult","Array","isArray","includes","checkAllowListRecursive","allowedBlockTypes","blocksQueue","shift","isAllowed","innerBlocks","forEach","innerBlock","push","getAllPatternsDependants","select","state","settings","__experimentalBlockPatterns","__experimentalUserPatternCategories","__experimentalReusableBlocks","selectBlockPatternsKey","blockPatterns","unlock","STORE_NAME","getReusableBlocks","getInsertBlockTypeDependants","rootClientId","blockListSettings","byClientId","templateLock","blockEditingModes"],"sources":["@wordpress/block-editor/src/store/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { parse as grammarParse } from '@wordpress/block-serialization-default-parser';\n\n/**\n * Internal dependencies\n */\nimport { selectBlockPatternsKey } from './private-keys';\nimport { unlock } from '../lock-unlock';\nimport { STORE_NAME } from './constants';\n\nexport const withRootClientIdOptionKey = Symbol( 'withRootClientId' );\n\nconst parsedPatternCache = new WeakMap();\nconst grammarMapCache = new WeakMap();\n\nfunction parsePattern( pattern ) {\n\tconst blocks = parse( pattern.content, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} );\n\tif ( blocks.length === 1 ) {\n\t\tblocks[ 0 ].attributes = {\n\t\t\t...blocks[ 0 ].attributes,\n\t\t\tmetadata: {\n\t\t\t\t...( blocks[ 0 ].attributes.metadata || {} ),\n\t\t\t\tcategories: pattern.categories,\n\t\t\t\tpatternName: pattern.name,\n\t\t\t\tname: blocks[ 0 ].attributes.metadata?.name || pattern.title,\n\t\t\t},\n\t\t};\n\t}\n\treturn {\n\t\t...pattern,\n\t\tblocks,\n\t};\n}\n\nexport function getParsedPattern( pattern ) {\n\tlet parsedPattern = parsedPatternCache.get( pattern );\n\tif ( ! parsedPattern ) {\n\t\tparsedPattern = parsePattern( pattern );\n\t\tparsedPatternCache.set( pattern, parsedPattern );\n\t}\n\treturn parsedPattern;\n}\n\nexport function getGrammar( pattern ) {\n\tlet grammarMap = grammarMapCache.get( pattern );\n\tif ( ! grammarMap ) {\n\t\tgrammarMap = grammarParse( pattern.content );\n\t\t// Block names are null only at the top level for whitespace.\n\t\tgrammarMap = grammarMap.filter( ( block ) => block.blockName !== null );\n\t\tgrammarMapCache.set( pattern, grammarMap );\n\t}\n\treturn grammarMap;\n}\n\nexport const checkAllowList = ( list, item, defaultResult = null ) => {\n\tif ( typeof list === 'boolean' ) {\n\t\treturn list;\n\t}\n\tif ( Array.isArray( list ) ) {\n\t\t// TODO: when there is a canonical way to detect that we are editing a post\n\t\t// the following check should be changed to something like:\n\t\t// if ( list.includes( 'core/post-content' ) && getEditorMode() === 'post-content' && item === null )\n\t\tif ( list.includes( 'core/post-content' ) && item === null ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn list.includes( item );\n\t}\n\treturn defaultResult;\n};\n\nexport const checkAllowListRecursive = ( blocks, allowedBlockTypes ) => {\n\tif ( typeof allowedBlockTypes === 'boolean' ) {\n\t\treturn allowedBlockTypes;\n\t}\n\n\tconst blocksQueue = [ ...blocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\n\t\tconst isAllowed = checkAllowList(\n\t\t\tallowedBlockTypes,\n\t\t\tblock.name || block.blockName,\n\t\t\ttrue\n\t\t);\n\t\tif ( ! isAllowed ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n\n\treturn true;\n};\n\nexport const getAllPatternsDependants = ( select ) => ( state ) => {\n\treturn [\n\t\tstate.settings.__experimentalBlockPatterns,\n\t\tstate.settings.__experimentalUserPatternCategories,\n\t\tstate.settings.__experimentalReusableBlocks,\n\t\tstate.settings[ selectBlockPatternsKey ]?.( select ),\n\t\tstate.blockPatterns,\n\t\tunlock( select( STORE_NAME ) ).getReusableBlocks(),\n\t];\n};\n\nexport function getInsertBlockTypeDependants( state, rootClientId ) {\n\treturn [\n\t\tstate.blockListSettings[ rootClientId ],\n\t\tstate.blocks.byClientId.get( rootClientId ),\n\t\tstate.settings.allowedBlockTypes,\n\t\tstate.settings.templateLock,\n\t\tstate.blockEditingModes,\n\t];\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blocks","require","_blockSerializationDefaultParser","_privateKeys","_lockUnlock","_constants","_privateSelectors","isFiltered","exports","Symbol","parsedPatternCache","WeakMap","grammarMapCache","parsePattern","pattern","blocks","parse","content","__unstableSkipMigrationLogs","length","attributes","metadata","categories","patternName","name","title","getParsedPattern","parsedPattern","get","set","getGrammar","grammarMap","grammarParse","filter","block","blockName","checkAllowList","list","item","defaultResult","Array","isArray","includes","checkAllowListRecursive","allowedBlockTypes","blocksQueue","shift","isAllowed","innerBlocks","forEach","innerBlock","push","getAllPatternsDependants","select","state","settings","__experimentalBlockPatterns","__experimentalUserPatternCategories","__experimentalReusableBlocks","selectBlockPatternsKey","blockPatterns","unlock","STORE_NAME","getReusableBlocks","getInsertBlockTypeDependants","rootClientId","blockListSettings","byClientId","templateLock","blockEditingModes","editorMode","getSectionRootClientId"],"sources":["@wordpress/block-editor/src/store/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { parse as grammarParse } from '@wordpress/block-serialization-default-parser';\n\n/**\n * Internal dependencies\n */\nimport { selectBlockPatternsKey } from './private-keys';\nimport { unlock } from '../lock-unlock';\nimport { STORE_NAME } from './constants';\nimport { getSectionRootClientId } from './private-selectors';\n\nexport const isFiltered = Symbol( 'isFiltered' );\nconst parsedPatternCache = new WeakMap();\nconst grammarMapCache = new WeakMap();\n\nfunction parsePattern( pattern ) {\n\tconst blocks = parse( pattern.content, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} );\n\tif ( blocks.length === 1 ) {\n\t\tblocks[ 0 ].attributes = {\n\t\t\t...blocks[ 0 ].attributes,\n\t\t\tmetadata: {\n\t\t\t\t...( blocks[ 0 ].attributes.metadata || {} ),\n\t\t\t\tcategories: pattern.categories,\n\t\t\t\tpatternName: pattern.name,\n\t\t\t\tname: blocks[ 0 ].attributes.metadata?.name || pattern.title,\n\t\t\t},\n\t\t};\n\t}\n\treturn {\n\t\t...pattern,\n\t\tblocks,\n\t};\n}\n\nexport function getParsedPattern( pattern ) {\n\tlet parsedPattern = parsedPatternCache.get( pattern );\n\tif ( ! parsedPattern ) {\n\t\tparsedPattern = parsePattern( pattern );\n\t\tparsedPatternCache.set( pattern, parsedPattern );\n\t}\n\treturn parsedPattern;\n}\n\nexport function getGrammar( pattern ) {\n\tlet grammarMap = grammarMapCache.get( pattern );\n\tif ( ! grammarMap ) {\n\t\tgrammarMap = grammarParse( pattern.content );\n\t\t// Block names are null only at the top level for whitespace.\n\t\tgrammarMap = grammarMap.filter( ( block ) => block.blockName !== null );\n\t\tgrammarMapCache.set( pattern, grammarMap );\n\t}\n\treturn grammarMap;\n}\n\nexport const checkAllowList = ( list, item, defaultResult = null ) => {\n\tif ( typeof list === 'boolean' ) {\n\t\treturn list;\n\t}\n\tif ( Array.isArray( list ) ) {\n\t\t// TODO: when there is a canonical way to detect that we are editing a post\n\t\t// the following check should be changed to something like:\n\t\t// if ( list.includes( 'core/post-content' ) && getEditorMode() === 'post-content' && item === null )\n\t\tif ( list.includes( 'core/post-content' ) && item === null ) {\n\t\t\treturn true;\n\t\t}\n\t\treturn list.includes( item );\n\t}\n\treturn defaultResult;\n};\n\nexport const checkAllowListRecursive = ( blocks, allowedBlockTypes ) => {\n\tif ( typeof allowedBlockTypes === 'boolean' ) {\n\t\treturn allowedBlockTypes;\n\t}\n\n\tconst blocksQueue = [ ...blocks ];\n\twhile ( blocksQueue.length > 0 ) {\n\t\tconst block = blocksQueue.shift();\n\n\t\tconst isAllowed = checkAllowList(\n\t\t\tallowedBlockTypes,\n\t\t\tblock.name || block.blockName,\n\t\t\ttrue\n\t\t);\n\t\tif ( ! isAllowed ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tblock.innerBlocks?.forEach( ( innerBlock ) => {\n\t\t\tblocksQueue.push( innerBlock );\n\t\t} );\n\t}\n\n\treturn true;\n};\n\nexport const getAllPatternsDependants = ( select ) => ( state ) => {\n\treturn [\n\t\tstate.settings.__experimentalBlockPatterns,\n\t\tstate.settings.__experimentalUserPatternCategories,\n\t\tstate.settings.__experimentalReusableBlocks,\n\t\tstate.settings[ selectBlockPatternsKey ]?.( select ),\n\t\tstate.blockPatterns,\n\t\tunlock( select( STORE_NAME ) ).getReusableBlocks(),\n\t];\n};\n\nexport function getInsertBlockTypeDependants( state, rootClientId ) {\n\treturn [\n\t\tstate.blockListSettings[ rootClientId ],\n\t\tstate.blocks.byClientId.get( rootClientId ),\n\t\tstate.settings.allowedBlockTypes,\n\t\tstate.settings.templateLock,\n\t\tstate.blockEditingModes,\n\t\tstate.editorMode,\n\t\tgetSectionRootClientId( state ),\n\t];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -36,6 +36,8 @@ function isObjectEmpty(object) {
36
36
  * - `updateBlockBindings`: Updates the value of the bindings connected to block attributes. It can be used to remove a specific binding by setting the value to `undefined`.
37
37
  * - `removeAllBlockBindings`: Removes the bindings property of the `metadata` attribute.
38
38
  *
39
+ * @since 6.7.0 Introduced in WordPress core.
40
+ *
39
41
  * @return {?WPBlockBindingsUtils} Object containing the block bindings utils.
40
42
  *
41
43
  * @example
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_store","_blockEdit","isObjectEmpty","object","Object","keys","length","useBlockBindingsUtils","clientId","useBlockEditContext","updateBlockAttributes","useDispatch","blockEditorStore","getBlockAttributes","useRegistry","select","updateBlockBindings","bindings","metadata","currentBindings","newBindings","entries","forEach","attribute","binding","newMetadata","undefined","removeAllBlockBindings"],"sources":["@wordpress/block-editor/src/utils/block-bindings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { useBlockEditContext } from '../components/block-edit';\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\n/**\n * Contains utils to update the block `bindings` metadata.\n *\n * @typedef {Object} WPBlockBindingsUtils\n *\n * @property {Function} updateBlockBindings Updates the value of the bindings connected to block attributes.\n * @property {Function} removeAllBlockBindings Removes the bindings property of the `metadata` attribute.\n */\n\n/**\n * Retrieves the existing utils needed to update the block `bindings` metadata.\n * They can be used to create, modify, or remove connections from the existing block attributes.\n *\n * It contains the following utils:\n * - `updateBlockBindings`: Updates the value of the bindings connected to block attributes. It can be used to remove a specific binding by setting the value to `undefined`.\n * - `removeAllBlockBindings`: Removes the bindings property of the `metadata` attribute.\n *\n * @return {?WPBlockBindingsUtils} Object containing the block bindings utils.\n *\n * @example\n * ```js\n * import { useBlockBindingsUtils } from '@wordpress/block-editor'\n * const { updateBlockBindings, removeAllBlockBindings } = useBlockBindingsUtils();\n *\n * // Update url and alt attributes.\n * updateBlockBindings( {\n * url: {\n * source: 'core/post-meta',\n * args: {\n * key: 'url_custom_field',\n * },\n * },\n * alt: {\n * source: 'core/post-meta',\n * args: {\n * key: 'text_custom_field',\n * },\n * },\n * } );\n *\n * // Remove binding from url attribute.\n * updateBlockBindings( { url: undefined } );\n *\n * // Remove bindings from all attributes.\n * removeAllBlockBindings();\n * ```\n */\nexport function useBlockBindingsUtils() {\n\tconst { clientId } = useBlockEditContext();\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { getBlockAttributes } = useRegistry().select( blockEditorStore );\n\n\t/**\n\t * Updates the value of the bindings connected to block attributes.\n\t * It removes the binding when the new value is `undefined`.\n\t *\n\t * @param {Object} bindings Bindings including the attributes to update and the new object.\n\t * @param {string} bindings.source The source name to connect to.\n\t * @param {Object} [bindings.args] Object containing the arguments needed by the source.\n\t *\n\t * @example\n\t * ```js\n\t * import { useBlockBindingsUtils } from '@wordpress/block-editor'\n\t *\n\t * const { updateBlockBindings } = useBlockBindingsUtils();\n\t * updateBlockBindings( {\n\t * url: {\n\t * source: 'core/post-meta',\n\t * args: {\n\t * key: 'url_custom_field',\n\t * },\n\t * \t },\n\t * alt: {\n\t * source: 'core/post-meta',\n\t * args: {\n\t * key: 'text_custom_field',\n\t * },\n\t * \t }\n\t * } );\n\t * ```\n\t */\n\tconst updateBlockBindings = ( bindings ) => {\n\t\tconst { metadata: { bindings: currentBindings, ...metadata } = {} } =\n\t\t\tgetBlockAttributes( clientId );\n\t\tconst newBindings = { ...currentBindings };\n\n\t\tObject.entries( bindings ).forEach( ( [ attribute, binding ] ) => {\n\t\t\tif ( ! binding && newBindings[ attribute ] ) {\n\t\t\t\tdelete newBindings[ attribute ];\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tnewBindings[ attribute ] = binding;\n\t\t} );\n\n\t\tconst newMetadata = {\n\t\t\t...metadata,\n\t\t\tbindings: newBindings,\n\t\t};\n\n\t\tif ( isObjectEmpty( newMetadata.bindings ) ) {\n\t\t\tdelete newMetadata.bindings;\n\t\t}\n\n\t\tupdateBlockAttributes( clientId, {\n\t\t\tmetadata: isObjectEmpty( newMetadata ) ? undefined : newMetadata,\n\t\t} );\n\t};\n\n\t/**\n\t * Removes the bindings property of the `metadata` attribute.\n\t *\n\t * @example\n\t * ```js\n\t * import { useBlockBindingsUtils } from '@wordpress/block-editor'\n\t *\n\t * const { removeAllBlockBindings } = useBlockBindingsUtils();\n\t * removeAllBlockBindings();\n\t * ```\n\t */\n\tconst removeAllBlockBindings = () => {\n\t\tconst { metadata: { bindings, ...metadata } = {} } =\n\t\t\tgetBlockAttributes( clientId );\n\t\tupdateBlockAttributes( clientId, {\n\t\t\tmetadata: isObjectEmpty( metadata ) ? undefined : metadata,\n\t\t} );\n\t};\n\n\treturn { updateBlockBindings, removeAllBlockBindings };\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAGA;AACA;AACA;;AAIA,SAASG,aAAaA,CAAEC,MAAM,EAAG;EAChC,OAAO,CAAEA,MAAM,IAAIC,MAAM,CAACC,IAAI,CAAEF,MAAO,CAAC,CAACG,MAAM,KAAK,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAAA,EAAG;EACvC,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,8BAAmB,EAAC,CAAC;EAC1C,MAAM;IAAEC;EAAsB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAiB,CAAC;EACjE,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAC,iBAAW,EAAC,CAAC,CAACC,MAAM,CAAEH,YAAiB,CAAC;;EAEvE;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,MAAMI,mBAAmB,GAAKC,QAAQ,IAAM;IAC3C,MAAM;MAAEC,QAAQ,EAAE;QAAED,QAAQ,EAAEE,eAAe;QAAE,GAAGD;MAAS,CAAC,GAAG,CAAC;IAAE,CAAC,GAClEL,kBAAkB,CAAEL,QAAS,CAAC;IAC/B,MAAMY,WAAW,GAAG;MAAE,GAAGD;IAAgB,CAAC;IAE1Cf,MAAM,CAACiB,OAAO,CAAEJ,QAAS,CAAC,CAACK,OAAO,CAAE,CAAE,CAAEC,SAAS,EAAEC,OAAO,CAAE,KAAM;MACjE,IAAK,CAAEA,OAAO,IAAIJ,WAAW,CAAEG,SAAS,CAAE,EAAG;QAC5C,OAAOH,WAAW,CAAEG,SAAS,CAAE;QAC/B;MACD;MACAH,WAAW,CAAEG,SAAS,CAAE,GAAGC,OAAO;IACnC,CAAE,CAAC;IAEH,MAAMC,WAAW,GAAG;MACnB,GAAGP,QAAQ;MACXD,QAAQ,EAAEG;IACX,CAAC;IAED,IAAKlB,aAAa,CAAEuB,WAAW,CAACR,QAAS,CAAC,EAAG;MAC5C,OAAOQ,WAAW,CAACR,QAAQ;IAC5B;IAEAP,qBAAqB,CAAEF,QAAQ,EAAE;MAChCU,QAAQ,EAAEhB,aAAa,CAAEuB,WAAY,CAAC,GAAGC,SAAS,GAAGD;IACtD,CAAE,CAAC;EACJ,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,MAAME,sBAAsB,GAAGA,CAAA,KAAM;IACpC,MAAM;MAAET,QAAQ,EAAE;QAAED,QAAQ;QAAE,GAAGC;MAAS,CAAC,GAAG,CAAC;IAAE,CAAC,GACjDL,kBAAkB,CAAEL,QAAS,CAAC;IAC/BE,qBAAqB,CAAEF,QAAQ,EAAE;MAChCU,QAAQ,EAAEhB,aAAa,CAAEgB,QAAS,CAAC,GAAGQ,SAAS,GAAGR;IACnD,CAAE,CAAC;EACJ,CAAC;EAED,OAAO;IAAEF,mBAAmB;IAAEW;EAAuB,CAAC;AACvD","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_store","_blockEdit","isObjectEmpty","object","Object","keys","length","useBlockBindingsUtils","clientId","useBlockEditContext","updateBlockAttributes","useDispatch","blockEditorStore","getBlockAttributes","useRegistry","select","updateBlockBindings","bindings","metadata","currentBindings","newBindings","entries","forEach","attribute","binding","newMetadata","undefined","removeAllBlockBindings"],"sources":["@wordpress/block-editor/src/utils/block-bindings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useRegistry } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { useBlockEditContext } from '../components/block-edit';\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\n/**\n * Contains utils to update the block `bindings` metadata.\n *\n * @typedef {Object} WPBlockBindingsUtils\n *\n * @property {Function} updateBlockBindings Updates the value of the bindings connected to block attributes.\n * @property {Function} removeAllBlockBindings Removes the bindings property of the `metadata` attribute.\n */\n\n/**\n * Retrieves the existing utils needed to update the block `bindings` metadata.\n * They can be used to create, modify, or remove connections from the existing block attributes.\n *\n * It contains the following utils:\n * - `updateBlockBindings`: Updates the value of the bindings connected to block attributes. It can be used to remove a specific binding by setting the value to `undefined`.\n * - `removeAllBlockBindings`: Removes the bindings property of the `metadata` attribute.\n *\n * @since 6.7.0 Introduced in WordPress core.\n *\n * @return {?WPBlockBindingsUtils} Object containing the block bindings utils.\n *\n * @example\n * ```js\n * import { useBlockBindingsUtils } from '@wordpress/block-editor'\n * const { updateBlockBindings, removeAllBlockBindings } = useBlockBindingsUtils();\n *\n * // Update url and alt attributes.\n * updateBlockBindings( {\n * url: {\n * source: 'core/post-meta',\n * args: {\n * key: 'url_custom_field',\n * },\n * },\n * alt: {\n * source: 'core/post-meta',\n * args: {\n * key: 'text_custom_field',\n * },\n * },\n * } );\n *\n * // Remove binding from url attribute.\n * updateBlockBindings( { url: undefined } );\n *\n * // Remove bindings from all attributes.\n * removeAllBlockBindings();\n * ```\n */\nexport function useBlockBindingsUtils() {\n\tconst { clientId } = useBlockEditContext();\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { getBlockAttributes } = useRegistry().select( blockEditorStore );\n\n\t/**\n\t * Updates the value of the bindings connected to block attributes.\n\t * It removes the binding when the new value is `undefined`.\n\t *\n\t * @param {Object} bindings Bindings including the attributes to update and the new object.\n\t * @param {string} bindings.source The source name to connect to.\n\t * @param {Object} [bindings.args] Object containing the arguments needed by the source.\n\t *\n\t * @example\n\t * ```js\n\t * import { useBlockBindingsUtils } from '@wordpress/block-editor'\n\t *\n\t * const { updateBlockBindings } = useBlockBindingsUtils();\n\t * updateBlockBindings( {\n\t * url: {\n\t * source: 'core/post-meta',\n\t * args: {\n\t * key: 'url_custom_field',\n\t * },\n\t * \t },\n\t * alt: {\n\t * source: 'core/post-meta',\n\t * args: {\n\t * key: 'text_custom_field',\n\t * },\n\t * \t }\n\t * } );\n\t * ```\n\t */\n\tconst updateBlockBindings = ( bindings ) => {\n\t\tconst { metadata: { bindings: currentBindings, ...metadata } = {} } =\n\t\t\tgetBlockAttributes( clientId );\n\t\tconst newBindings = { ...currentBindings };\n\n\t\tObject.entries( bindings ).forEach( ( [ attribute, binding ] ) => {\n\t\t\tif ( ! binding && newBindings[ attribute ] ) {\n\t\t\t\tdelete newBindings[ attribute ];\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tnewBindings[ attribute ] = binding;\n\t\t} );\n\n\t\tconst newMetadata = {\n\t\t\t...metadata,\n\t\t\tbindings: newBindings,\n\t\t};\n\n\t\tif ( isObjectEmpty( newMetadata.bindings ) ) {\n\t\t\tdelete newMetadata.bindings;\n\t\t}\n\n\t\tupdateBlockAttributes( clientId, {\n\t\t\tmetadata: isObjectEmpty( newMetadata ) ? undefined : newMetadata,\n\t\t} );\n\t};\n\n\t/**\n\t * Removes the bindings property of the `metadata` attribute.\n\t *\n\t * @example\n\t * ```js\n\t * import { useBlockBindingsUtils } from '@wordpress/block-editor'\n\t *\n\t * const { removeAllBlockBindings } = useBlockBindingsUtils();\n\t * removeAllBlockBindings();\n\t * ```\n\t */\n\tconst removeAllBlockBindings = () => {\n\t\tconst { metadata: { bindings, ...metadata } = {} } =\n\t\t\tgetBlockAttributes( clientId );\n\t\tupdateBlockAttributes( clientId, {\n\t\t\tmetadata: isObjectEmpty( metadata ) ? undefined : metadata,\n\t\t} );\n\t};\n\n\treturn { updateBlockBindings, removeAllBlockBindings };\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAGA;AACA;AACA;;AAIA,SAASG,aAAaA,CAAEC,MAAM,EAAG;EAChC,OAAO,CAAEA,MAAM,IAAIC,MAAM,CAACC,IAAI,CAAEF,MAAO,CAAC,CAACG,MAAM,KAAK,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAAA,EAAG;EACvC,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,8BAAmB,EAAC,CAAC;EAC1C,MAAM;IAAEC;EAAsB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAiB,CAAC;EACjE,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAC,iBAAW,EAAC,CAAC,CAACC,MAAM,CAAEH,YAAiB,CAAC;;EAEvE;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,MAAMI,mBAAmB,GAAKC,QAAQ,IAAM;IAC3C,MAAM;MAAEC,QAAQ,EAAE;QAAED,QAAQ,EAAEE,eAAe;QAAE,GAAGD;MAAS,CAAC,GAAG,CAAC;IAAE,CAAC,GAClEL,kBAAkB,CAAEL,QAAS,CAAC;IAC/B,MAAMY,WAAW,GAAG;MAAE,GAAGD;IAAgB,CAAC;IAE1Cf,MAAM,CAACiB,OAAO,CAAEJ,QAAS,CAAC,CAACK,OAAO,CAAE,CAAE,CAAEC,SAAS,EAAEC,OAAO,CAAE,KAAM;MACjE,IAAK,CAAEA,OAAO,IAAIJ,WAAW,CAAEG,SAAS,CAAE,EAAG;QAC5C,OAAOH,WAAW,CAAEG,SAAS,CAAE;QAC/B;MACD;MACAH,WAAW,CAAEG,SAAS,CAAE,GAAGC,OAAO;IACnC,CAAE,CAAC;IAEH,MAAMC,WAAW,GAAG;MACnB,GAAGP,QAAQ;MACXD,QAAQ,EAAEG;IACX,CAAC;IAED,IAAKlB,aAAa,CAAEuB,WAAW,CAACR,QAAS,CAAC,EAAG;MAC5C,OAAOQ,WAAW,CAACR,QAAQ;IAC5B;IAEAP,qBAAqB,CAAEF,QAAQ,EAAE;MAChCU,QAAQ,EAAEhB,aAAa,CAAEuB,WAAY,CAAC,GAAGC,SAAS,GAAGD;IACtD,CAAE,CAAC;EACJ,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,MAAME,sBAAsB,GAAGA,CAAA,KAAM;IACpC,MAAM;MAAET,QAAQ,EAAE;QAAED,QAAQ;QAAE,GAAGC;MAAS,CAAC,GAAG,CAAC;IAAE,CAAC,GACjDL,kBAAkB,CAAEL,QAAS,CAAC;IAC/BE,qBAAqB,CAAEF,QAAQ,EAAE;MAChCU,QAAQ,EAAEhB,aAAa,CAAEgB,QAAS,CAAC,GAAGQ,SAAS,GAAGR;IACnD,CAAE,CAAC;EACJ,CAAC;EAED,OAAO;IAAEF,mBAAmB;IAAEW;EAAuB,CAAC;AACvD","ignoreList":[]}
@@ -6,6 +6,7 @@
6
6
  import apiFetch from '@wordpress/api-fetch';
7
7
  import { addQueryArgs } from '@wordpress/url';
8
8
  import { Icon, page, post } from '@wordpress/icons';
9
+ import { decodeEntities } from '@wordpress/html-entities';
9
10
  import { jsx as _jsx } from "react/jsx-runtime";
10
11
  import { Fragment as _Fragment } from "react/jsx-runtime";
11
12
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -43,7 +44,7 @@ function createLinkCompleter() {
43
44
  return /*#__PURE__*/_jsxs(_Fragment, {
44
45
  children: [/*#__PURE__*/_jsx(Icon, {
45
46
  icon: item.subtype === 'page' ? page : post
46
- }, "icon"), item.title]
47
+ }, "icon"), decodeEntities(item.title)]
47
48
  });
48
49
  },
49
50
  getOptionCompletion(item) {
@@ -1 +1 @@
1
- {"version":3,"names":["apiFetch","addQueryArgs","Icon","page","post","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SHOWN_SUGGESTIONS","createLinkCompleter","name","className","triggerPrefix","options","letters","path","per_page","search","type","order_by","filter","option","title","getOptionKeywords","item","expansionWords","split","getOptionLabel","children","icon","subtype","getOptionCompletion","href","url"],"sources":["@wordpress/block-editor/src/autocompleters/link.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\nimport { Icon, page, post } from '@wordpress/icons';\n\nconst SHOWN_SUGGESTIONS = 10;\n\n/** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */\n\n/**\n * Creates a suggestion list for links to posts or pages.\n *\n * @return {WPCompleter} A links completer.\n */\nfunction createLinkCompleter() {\n\treturn {\n\t\tname: 'links',\n\t\tclassName: 'block-editor-autocompleters__link',\n\t\ttriggerPrefix: '[[',\n\t\toptions: async ( letters ) => {\n\t\t\tlet options = await apiFetch( {\n\t\t\t\tpath: addQueryArgs( '/wp/v2/search', {\n\t\t\t\t\tper_page: SHOWN_SUGGESTIONS,\n\t\t\t\t\tsearch: letters,\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\torder_by: 'menu_order',\n\t\t\t\t} ),\n\t\t\t} );\n\n\t\t\toptions = options.filter( ( option ) => option.title !== '' );\n\n\t\t\treturn options;\n\t\t},\n\t\tgetOptionKeywords( item ) {\n\t\t\tconst expansionWords = item.title.split( /\\s+/ );\n\t\t\treturn [ ...expansionWords ];\n\t\t},\n\t\tgetOptionLabel( item ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tkey=\"icon\"\n\t\t\t\t\t\ticon={ item.subtype === 'page' ? page : post }\n\t\t\t\t\t/>\n\t\t\t\t\t{ item.title }\n\t\t\t\t</>\n\t\t\t);\n\t\t},\n\t\tgetOptionCompletion( item ) {\n\t\t\treturn <a href={ item.url }>{ item.title }</a>;\n\t\t},\n\t};\n}\n\n/**\n * Creates a suggestion list for links to posts or pages..\n *\n * @return {WPCompleter} A link completer.\n */\nexport default createLinkCompleter();\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,sBAAsB;AAC3C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,IAAI,EAAEC,IAAI,EAAEC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEpD,MAAMC,iBAAiB,GAAG,EAAE;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASC,mBAAmBA,CAAA,EAAG;EAC9B,OAAO;IACNC,IAAI,EAAE,OAAO;IACbC,SAAS,EAAE,mCAAmC;IAC9CC,aAAa,EAAE,IAAI;IACnBC,OAAO,EAAE,MAAQC,OAAO,IAAM;MAC7B,IAAID,OAAO,GAAG,MAAMhB,QAAQ,CAAE;QAC7BkB,IAAI,EAAEjB,YAAY,CAAE,eAAe,EAAE;UACpCkB,QAAQ,EAAER,iBAAiB;UAC3BS,MAAM,EAAEH,OAAO;UACfI,IAAI,EAAE,MAAM;UACZC,QAAQ,EAAE;QACX,CAAE;MACH,CAAE,CAAC;MAEHN,OAAO,GAAGA,OAAO,CAACO,MAAM,CAAIC,MAAM,IAAMA,MAAM,CAACC,KAAK,KAAK,EAAG,CAAC;MAE7D,OAAOT,OAAO;IACf,CAAC;IACDU,iBAAiBA,CAAEC,IAAI,EAAG;MACzB,MAAMC,cAAc,GAAGD,IAAI,CAACF,KAAK,CAACI,KAAK,CAAE,KAAM,CAAC;MAChD,OAAO,CAAE,GAAGD,cAAc,CAAE;IAC7B,CAAC;IACDE,cAAcA,CAAEH,IAAI,EAAG;MACtB,oBACCjB,KAAA,CAAAF,SAAA;QAAAuB,QAAA,gBACCzB,IAAA,CAACJ,IAAI;UAEJ8B,IAAI,EAAGL,IAAI,CAACM,OAAO,KAAK,MAAM,GAAG9B,IAAI,GAAGC;QAAM,GAD1C,MAEJ,CAAC,EACAuB,IAAI,CAACF,KAAK;MAAA,CACX,CAAC;IAEL,CAAC;IACDS,mBAAmBA,CAAEP,IAAI,EAAG;MAC3B,oBAAOrB,IAAA;QAAG6B,IAAI,EAAGR,IAAI,CAACS,GAAK;QAAAL,QAAA,EAAGJ,IAAI,CAACF;MAAK,CAAK,CAAC;IAC/C;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAeb,mBAAmB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["apiFetch","addQueryArgs","Icon","page","post","decodeEntities","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SHOWN_SUGGESTIONS","createLinkCompleter","name","className","triggerPrefix","options","letters","path","per_page","search","type","order_by","filter","option","title","getOptionKeywords","item","expansionWords","split","getOptionLabel","children","icon","subtype","getOptionCompletion","href","url"],"sources":["@wordpress/block-editor/src/autocompleters/link.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\nimport { Icon, page, post } from '@wordpress/icons';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nconst SHOWN_SUGGESTIONS = 10;\n\n/** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */\n\n/**\n * Creates a suggestion list for links to posts or pages.\n *\n * @return {WPCompleter} A links completer.\n */\nfunction createLinkCompleter() {\n\treturn {\n\t\tname: 'links',\n\t\tclassName: 'block-editor-autocompleters__link',\n\t\ttriggerPrefix: '[[',\n\t\toptions: async ( letters ) => {\n\t\t\tlet options = await apiFetch( {\n\t\t\t\tpath: addQueryArgs( '/wp/v2/search', {\n\t\t\t\t\tper_page: SHOWN_SUGGESTIONS,\n\t\t\t\t\tsearch: letters,\n\t\t\t\t\ttype: 'post',\n\t\t\t\t\torder_by: 'menu_order',\n\t\t\t\t} ),\n\t\t\t} );\n\n\t\t\toptions = options.filter( ( option ) => option.title !== '' );\n\n\t\t\treturn options;\n\t\t},\n\t\tgetOptionKeywords( item ) {\n\t\t\tconst expansionWords = item.title.split( /\\s+/ );\n\t\t\treturn [ ...expansionWords ];\n\t\t},\n\t\tgetOptionLabel( item ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tkey=\"icon\"\n\t\t\t\t\t\ticon={ item.subtype === 'page' ? page : post }\n\t\t\t\t\t/>\n\t\t\t\t\t{ decodeEntities( item.title ) }\n\t\t\t\t</>\n\t\t\t);\n\t\t},\n\t\tgetOptionCompletion( item ) {\n\t\t\treturn <a href={ item.url }>{ item.title }</a>;\n\t\t},\n\t};\n}\n\n/**\n * Creates a suggestion list for links to posts or pages..\n *\n * @return {WPCompleter} A link completer.\n */\nexport default createLinkCompleter();\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,sBAAsB;AAC3C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,IAAI,EAAEC,IAAI,EAAEC,IAAI,QAAQ,kBAAkB;AACnD,SAASC,cAAc,QAAQ,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE1D,MAAMC,iBAAiB,GAAG,EAAE;;AAE5B;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASC,mBAAmBA,CAAA,EAAG;EAC9B,OAAO;IACNC,IAAI,EAAE,OAAO;IACbC,SAAS,EAAE,mCAAmC;IAC9CC,aAAa,EAAE,IAAI;IACnBC,OAAO,EAAE,MAAQC,OAAO,IAAM;MAC7B,IAAID,OAAO,GAAG,MAAMjB,QAAQ,CAAE;QAC7BmB,IAAI,EAAElB,YAAY,CAAE,eAAe,EAAE;UACpCmB,QAAQ,EAAER,iBAAiB;UAC3BS,MAAM,EAAEH,OAAO;UACfI,IAAI,EAAE,MAAM;UACZC,QAAQ,EAAE;QACX,CAAE;MACH,CAAE,CAAC;MAEHN,OAAO,GAAGA,OAAO,CAACO,MAAM,CAAIC,MAAM,IAAMA,MAAM,CAACC,KAAK,KAAK,EAAG,CAAC;MAE7D,OAAOT,OAAO;IACf,CAAC;IACDU,iBAAiBA,CAAEC,IAAI,EAAG;MACzB,MAAMC,cAAc,GAAGD,IAAI,CAACF,KAAK,CAACI,KAAK,CAAE,KAAM,CAAC;MAChD,OAAO,CAAE,GAAGD,cAAc,CAAE;IAC7B,CAAC;IACDE,cAAcA,CAAEH,IAAI,EAAG;MACtB,oBACCjB,KAAA,CAAAF,SAAA;QAAAuB,QAAA,gBACCzB,IAAA,CAACL,IAAI;UAEJ+B,IAAI,EAAGL,IAAI,CAACM,OAAO,KAAK,MAAM,GAAG/B,IAAI,GAAGC;QAAM,GAD1C,MAEJ,CAAC,EACAC,cAAc,CAAEuB,IAAI,CAACF,KAAM,CAAC;MAAA,CAC7B,CAAC;IAEL,CAAC;IACDS,mBAAmBA,CAAEP,IAAI,EAAG;MAC3B,oBAAOrB,IAAA;QAAG6B,IAAI,EAAGR,IAAI,CAACS,GAAK;QAAAL,QAAA,EAAGJ,IAAI,CAACF;MAAK,CAAK,CAAC;IAC/C;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAeb,mBAAmB,CAAC,CAAC","ignoreList":[]}
@@ -25,7 +25,6 @@ export default function BlockActions({
25
25
  getBlockRootClientId,
26
26
  getBlocksByClientId,
27
27
  getDirectInsertBlock,
28
- canMoveBlocks,
29
28
  canRemoveBlocks
30
29
  } = select(blockEditorStore);
31
30
  const blocks = getBlocksByClientId(clientIds);
@@ -33,7 +32,6 @@ export default function BlockActions({
33
32
  const canInsertDefaultBlock = canInsertBlockType(getDefaultBlockName(), rootClientId);
34
33
  const directInsertBlock = rootClientId ? getDirectInsertBlock(rootClientId) : null;
35
34
  return {
36
- canMove: canMoveBlocks(clientIds),
37
35
  canRemove: canRemoveBlocks(clientIds),
38
36
  canInsertBlock: canInsertDefaultBlock || !!directInsertBlock,
39
37
  canCopyStyles: blocks.every(block => {
@@ -49,7 +47,6 @@ export default function BlockActions({
49
47
  getBlocks
50
48
  } = useSelect(blockEditorStore);
51
49
  const {
52
- canMove,
53
50
  canRemove,
54
51
  canInsertBlock,
55
52
  canCopyStyles,
@@ -61,10 +58,7 @@ export default function BlockActions({
61
58
  duplicateBlocks,
62
59
  insertAfterBlock,
63
60
  insertBeforeBlock,
64
- flashBlock,
65
- setBlockMovingClientId,
66
- setNavigationMode,
67
- selectBlock
61
+ flashBlock
68
62
  } = useDispatch(blockEditorStore);
69
63
  const notifyCopy = useNotifyCopy();
70
64
  const pasteStyles = usePasteStyles();
@@ -72,7 +66,6 @@ export default function BlockActions({
72
66
  canCopyStyles,
73
67
  canDuplicate,
74
68
  canInsertBlock,
75
- canMove,
76
69
  canRemove,
77
70
  onDuplicate() {
78
71
  return duplicateBlocks(clientIds, updateSelection);
@@ -86,11 +79,6 @@ export default function BlockActions({
86
79
  onInsertAfter() {
87
80
  insertAfterBlock(clientIds[clientIds.length - 1]);
88
81
  },
89
- onMoveTo() {
90
- setNavigationMode(true);
91
- selectBlock(clientIds[0]);
92
- setBlockMovingClientId(clientIds[0]);
93
- },
94
82
  onGroup() {
95
83
  if (!clientIds.length) {
96
84
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["useDispatch","useSelect","hasBlockSupport","switchToBlockType","store","blocksStore","useNotifyCopy","usePasteStyles","blockEditorStore","BlockActions","clientIds","children","__experimentalUpdateSelection","updateSelection","getDefaultBlockName","getGroupingBlockName","selected","select","canInsertBlockType","getBlockRootClientId","getBlocksByClientId","getDirectInsertBlock","canMoveBlocks","canRemoveBlocks","blocks","rootClientId","canInsertDefaultBlock","directInsertBlock","canMove","canRemove","canInsertBlock","canCopyStyles","every","block","name","canDuplicate","getBlocks","removeBlocks","replaceBlocks","duplicateBlocks","insertAfterBlock","insertBeforeBlock","flashBlock","setBlockMovingClientId","setNavigationMode","selectBlock","notifyCopy","pasteStyles","onDuplicate","onRemove","onInsertBefore","onInsertAfter","length","onMoveTo","onGroup","groupingBlockName","newBlocks","onUngroup","innerBlocks","onCopy","onPasteStyles"],"sources":["@wordpress/block-editor/src/components/block-actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\thasBlockSupport,\n\tswitchToBlockType,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useNotifyCopy } from '../../utils/use-notify-copy';\nimport usePasteStyles from '../use-paste-styles';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function BlockActions( {\n\tclientIds,\n\tchildren,\n\t__experimentalUpdateSelection: updateSelection,\n} ) {\n\tconst { getDefaultBlockName, getGroupingBlockName } =\n\t\tuseSelect( blocksStore );\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetDirectInsertBlock,\n\t\t\t\tcanMoveBlocks,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst blocks = getBlocksByClientId( clientIds );\n\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\tconst canInsertDefaultBlock = canInsertBlockType(\n\t\t\t\tgetDefaultBlockName(),\n\t\t\t\trootClientId\n\t\t\t);\n\t\t\tconst directInsertBlock = rootClientId\n\t\t\t\t? getDirectInsertBlock( rootClientId )\n\t\t\t\t: null;\n\n\t\t\treturn {\n\t\t\t\tcanMove: canMoveBlocks( clientIds ),\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\tcanInsertBlock: canInsertDefaultBlock || !! directInsertBlock,\n\t\t\t\tcanCopyStyles: blocks.every( ( block ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t!! block &&\n\t\t\t\t\t\t( hasBlockSupport( block.name, 'color' ) ||\n\t\t\t\t\t\t\thasBlockSupport( block.name, 'typography' ) )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t\t\tcanDuplicate: blocks.every( ( block ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t!! block &&\n\t\t\t\t\t\thasBlockSupport( block.name, 'multiple', true ) &&\n\t\t\t\t\t\tcanInsertBlockType( block.name, rootClientId )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, getDefaultBlockName ]\n\t);\n\tconst { getBlocksByClientId, getBlocks } = useSelect( blockEditorStore );\n\n\tconst { canMove, canRemove, canInsertBlock, canCopyStyles, canDuplicate } =\n\t\tselected;\n\n\tconst {\n\t\tremoveBlocks,\n\t\treplaceBlocks,\n\t\tduplicateBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tflashBlock,\n\t\tsetBlockMovingClientId,\n\t\tsetNavigationMode,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\n\tconst notifyCopy = useNotifyCopy();\n\tconst pasteStyles = usePasteStyles();\n\n\treturn children( {\n\t\tcanCopyStyles,\n\t\tcanDuplicate,\n\t\tcanInsertBlock,\n\t\tcanMove,\n\t\tcanRemove,\n\t\tonDuplicate() {\n\t\t\treturn duplicateBlocks( clientIds, updateSelection );\n\t\t},\n\t\tonRemove() {\n\t\t\treturn removeBlocks( clientIds, updateSelection );\n\t\t},\n\t\tonInsertBefore() {\n\t\t\tinsertBeforeBlock( clientIds[ 0 ] );\n\t\t},\n\t\tonInsertAfter() {\n\t\t\tinsertAfterBlock( clientIds[ clientIds.length - 1 ] );\n\t\t},\n\t\tonMoveTo() {\n\t\t\tsetNavigationMode( true );\n\t\t\tselectBlock( clientIds[ 0 ] );\n\t\t\tsetBlockMovingClientId( clientIds[ 0 ] );\n\t\t},\n\t\tonGroup() {\n\t\t\tif ( ! clientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst groupingBlockName = getGroupingBlockName();\n\n\t\t\t// Activate the `transform` on `core/group` which does the conversion.\n\t\t\tconst newBlocks = switchToBlockType(\n\t\t\t\tgetBlocksByClientId( clientIds ),\n\t\t\t\tgroupingBlockName\n\t\t\t);\n\n\t\t\tif ( ! newBlocks ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treplaceBlocks( clientIds, newBlocks );\n\t\t},\n\t\tonUngroup() {\n\t\t\tif ( ! clientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst innerBlocks = getBlocks( clientIds[ 0 ] );\n\t\t\tif ( ! innerBlocks.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treplaceBlocks( clientIds, innerBlocks );\n\t\t},\n\t\tonCopy() {\n\t\t\tif ( clientIds.length === 1 ) {\n\t\t\t\tflashBlock( clientIds[ 0 ] );\n\t\t\t}\n\t\t\tnotifyCopy( 'copy', clientIds );\n\t\t},\n\t\tasync onPasteStyles() {\n\t\t\tawait pasteStyles( getBlocksByClientId( clientIds ) );\n\t\t},\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useDispatch","useSelect","hasBlockSupport","switchToBlockType","store","blocksStore","useNotifyCopy","usePasteStyles","blockEditorStore","BlockActions","clientIds","children","__experimentalUpdateSelection","updateSelection","getDefaultBlockName","getGroupingBlockName","selected","select","canInsertBlockType","getBlockRootClientId","getBlocksByClientId","getDirectInsertBlock","canRemoveBlocks","blocks","rootClientId","canInsertDefaultBlock","directInsertBlock","canRemove","canInsertBlock","canCopyStyles","every","block","name","canDuplicate","getBlocks","removeBlocks","replaceBlocks","duplicateBlocks","insertAfterBlock","insertBeforeBlock","flashBlock","notifyCopy","pasteStyles","onDuplicate","onRemove","onInsertBefore","onInsertAfter","length","onGroup","groupingBlockName","newBlocks","onUngroup","innerBlocks","onCopy","onPasteStyles"],"sources":["@wordpress/block-editor/src/components/block-actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\thasBlockSupport,\n\tswitchToBlockType,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useNotifyCopy } from '../../utils/use-notify-copy';\nimport usePasteStyles from '../use-paste-styles';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function BlockActions( {\n\tclientIds,\n\tchildren,\n\t__experimentalUpdateSelection: updateSelection,\n} ) {\n\tconst { getDefaultBlockName, getGroupingBlockName } =\n\t\tuseSelect( blocksStore );\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetDirectInsertBlock,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst blocks = getBlocksByClientId( clientIds );\n\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\tconst canInsertDefaultBlock = canInsertBlockType(\n\t\t\t\tgetDefaultBlockName(),\n\t\t\t\trootClientId\n\t\t\t);\n\t\t\tconst directInsertBlock = rootClientId\n\t\t\t\t? getDirectInsertBlock( rootClientId )\n\t\t\t\t: null;\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\tcanInsertBlock: canInsertDefaultBlock || !! directInsertBlock,\n\t\t\t\tcanCopyStyles: blocks.every( ( block ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t!! block &&\n\t\t\t\t\t\t( hasBlockSupport( block.name, 'color' ) ||\n\t\t\t\t\t\t\thasBlockSupport( block.name, 'typography' ) )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t\t\tcanDuplicate: blocks.every( ( block ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t!! block &&\n\t\t\t\t\t\thasBlockSupport( block.name, 'multiple', true ) &&\n\t\t\t\t\t\tcanInsertBlockType( block.name, rootClientId )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, getDefaultBlockName ]\n\t);\n\tconst { getBlocksByClientId, getBlocks } = useSelect( blockEditorStore );\n\n\tconst { canRemove, canInsertBlock, canCopyStyles, canDuplicate } = selected;\n\n\tconst {\n\t\tremoveBlocks,\n\t\treplaceBlocks,\n\t\tduplicateBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tflashBlock,\n\t} = useDispatch( blockEditorStore );\n\n\tconst notifyCopy = useNotifyCopy();\n\tconst pasteStyles = usePasteStyles();\n\n\treturn children( {\n\t\tcanCopyStyles,\n\t\tcanDuplicate,\n\t\tcanInsertBlock,\n\t\tcanRemove,\n\t\tonDuplicate() {\n\t\t\treturn duplicateBlocks( clientIds, updateSelection );\n\t\t},\n\t\tonRemove() {\n\t\t\treturn removeBlocks( clientIds, updateSelection );\n\t\t},\n\t\tonInsertBefore() {\n\t\t\tinsertBeforeBlock( clientIds[ 0 ] );\n\t\t},\n\t\tonInsertAfter() {\n\t\t\tinsertAfterBlock( clientIds[ clientIds.length - 1 ] );\n\t\t},\n\t\tonGroup() {\n\t\t\tif ( ! clientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst groupingBlockName = getGroupingBlockName();\n\n\t\t\t// Activate the `transform` on `core/group` which does the conversion.\n\t\t\tconst newBlocks = switchToBlockType(\n\t\t\t\tgetBlocksByClientId( clientIds ),\n\t\t\t\tgroupingBlockName\n\t\t\t);\n\n\t\t\tif ( ! newBlocks ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treplaceBlocks( clientIds, newBlocks );\n\t\t},\n\t\tonUngroup() {\n\t\t\tif ( ! clientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst innerBlocks = getBlocks( clientIds[ 0 ] );\n\t\t\tif ( ! innerBlocks.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treplaceBlocks( clientIds, innerBlocks );\n\t\t},\n\t\tonCopy() {\n\t\t\tif ( clientIds.length === 1 ) {\n\t\t\t\tflashBlock( clientIds[ 0 ] );\n\t\t\t}\n\t\t\tnotifyCopy( 'copy', clientIds );\n\t\t},\n\t\tasync onPasteStyles() {\n\t\t\tawait pasteStyles( getBlocksByClientId( clientIds ) );\n\t\t},\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -27,8 +27,8 @@ import BlockQuickNavigation from '../block-quick-navigation';
27
27
  import { useBorderPanelLabel } from '../../hooks/border';
28
28
  import { unlock } from '../../lock-unlock';
29
29
  import { jsx as _jsx } from "react/jsx-runtime";
30
- import { jsxs as _jsxs } from "react/jsx-runtime";
31
30
  import { Fragment as _Fragment } from "react/jsx-runtime";
31
+ import { jsxs as _jsxs } from "react/jsx-runtime";
32
32
  function BlockStylesPanel({
33
33
  clientId
34
34
  }) {
@@ -39,42 +39,6 @@ function BlockStylesPanel({
39
39
  })
40
40
  });
41
41
  }
42
- function BlockInspectorLockedBlocks({
43
- topLevelLockedBlock
44
- }) {
45
- const contentClientIds = useSelect(select => {
46
- const {
47
- getClientIdsOfDescendants,
48
- getBlockName,
49
- getBlockEditingMode
50
- } = select(blockEditorStore);
51
- return getClientIdsOfDescendants(topLevelLockedBlock).filter(clientId => getBlockName(clientId) !== 'core/list-item' && getBlockEditingMode(clientId) === 'contentOnly');
52
- }, [topLevelLockedBlock]);
53
- const hasBlockStyles = useSelect(select => {
54
- const {
55
- getBlockName
56
- } = select(blockEditorStore);
57
- const {
58
- getBlockStyles
59
- } = select(blocksStore);
60
- return !!getBlockStyles(getBlockName(topLevelLockedBlock))?.length;
61
- }, [topLevelLockedBlock]);
62
- const blockInformation = useBlockDisplayInformation(topLevelLockedBlock);
63
- return /*#__PURE__*/_jsxs("div", {
64
- className: "block-editor-block-inspector",
65
- children: [/*#__PURE__*/_jsx(BlockCard, {
66
- ...blockInformation,
67
- className: blockInformation.isSynced && 'is-synced'
68
- }), /*#__PURE__*/_jsx(BlockInfo.Slot, {}), hasBlockStyles && /*#__PURE__*/_jsx(BlockStylesPanel, {
69
- clientId: topLevelLockedBlock
70
- }), contentClientIds.length > 0 && /*#__PURE__*/_jsx(PanelBody, {
71
- title: __('Content'),
72
- children: /*#__PURE__*/_jsx(BlockQuickNavigation, {
73
- clientIds: contentClientIds
74
- })
75
- })]
76
- });
77
- }
78
42
  const BlockInspector = ({
79
43
  showNoBlockSelectedMessage = true
80
44
  }) => {
@@ -83,24 +47,25 @@ const BlockInspector = ({
83
47
  selectedBlockName,
84
48
  selectedBlockClientId,
85
49
  blockType,
86
- topLevelLockedBlock
50
+ isSectionBlock
87
51
  } = useSelect(select => {
88
52
  const {
89
53
  getSelectedBlockClientId,
90
54
  getSelectedBlockCount,
91
55
  getBlockName,
92
- getContentLockingParent,
93
- getTemplateLock
56
+ getParentSectionBlock,
57
+ isSectionBlock: _isSectionBlock
94
58
  } = unlock(select(blockEditorStore));
95
59
  const _selectedBlockClientId = getSelectedBlockClientId();
96
- const _selectedBlockName = _selectedBlockClientId && getBlockName(_selectedBlockClientId);
60
+ const renderedBlockClientId = getParentSectionBlock(_selectedBlockClientId) || getSelectedBlockClientId();
61
+ const _selectedBlockName = renderedBlockClientId && getBlockName(renderedBlockClientId);
97
62
  const _blockType = _selectedBlockName && getBlockType(_selectedBlockName);
98
63
  return {
99
64
  count: getSelectedBlockCount(),
100
- selectedBlockClientId: _selectedBlockClientId,
65
+ selectedBlockClientId: renderedBlockClientId,
101
66
  selectedBlockName: _selectedBlockName,
102
67
  blockType: _blockType,
103
- topLevelLockedBlock: getContentLockingParent(_selectedBlockClientId) || (getTemplateLock(_selectedBlockClientId) === 'contentOnly' || _selectedBlockName === 'core/block' ? _selectedBlockClientId : undefined)
68
+ isSectionBlock: _isSectionBlock(renderedBlockClientId)
104
69
  };
105
70
  }, []);
106
71
  const availableTabs = useInspectorControlsTabs(blockType?.name);
@@ -116,7 +81,7 @@ const BlockInspector = ({
116
81
  const borderPanelLabel = useBorderPanelLabel({
117
82
  blockName: selectedBlockName
118
83
  });
119
- if (count > 1) {
84
+ if (count > 1 && !isSectionBlock) {
120
85
  return /*#__PURE__*/_jsxs("div", {
121
86
  className: "block-editor-block-inspector",
122
87
  children: [/*#__PURE__*/_jsx(MultiSelectionInspector, {}), showTabs ? /*#__PURE__*/_jsx(InspectorControlsTabs, {
@@ -159,11 +124,6 @@ const BlockInspector = ({
159
124
  }
160
125
  return null;
161
126
  }
162
- if (topLevelLockedBlock) {
163
- return /*#__PURE__*/_jsx(BlockInspectorLockedBlocks, {
164
- topLevelLockedBlock: topLevelLockedBlock
165
- });
166
- }
167
127
  return /*#__PURE__*/_jsx(BlockInspectorSingleBlockWrapper, {
168
128
  animate: blockInspectorAnimationSettings,
169
129
  wrapper: children => /*#__PURE__*/_jsx(AnimatedContainer, {
@@ -173,7 +133,8 @@ const BlockInspector = ({
173
133
  }),
174
134
  children: /*#__PURE__*/_jsx(BlockInspectorSingleBlock, {
175
135
  clientId: selectedBlockClientId,
176
- blockName: blockType.name
136
+ blockName: blockType.name,
137
+ isSectionBlock: isSectionBlock
177
138
  })
178
139
  });
179
140
  };
@@ -208,10 +169,11 @@ const AnimatedContainer = ({
208
169
  };
209
170
  const BlockInspectorSingleBlock = ({
210
171
  clientId,
211
- blockName
172
+ blockName,
173
+ isSectionBlock
212
174
  }) => {
213
175
  const availableTabs = useInspectorControlsTabs(blockName);
214
- const showTabs = availableTabs?.length > 1;
176
+ const showTabs = !isSectionBlock && availableTabs?.length > 1;
215
177
  const hasBlockStyles = useSelect(select => {
216
178
  const {
217
179
  getBlockStyles
@@ -223,6 +185,18 @@ const BlockInspectorSingleBlock = ({
223
185
  const borderPanelLabel = useBorderPanelLabel({
224
186
  blockName
225
187
  });
188
+ const contentClientIds = useSelect(select => {
189
+ // Avoid unnecessary subscription.
190
+ if (!isSectionBlock) {
191
+ return;
192
+ }
193
+ const {
194
+ getClientIdsOfDescendants,
195
+ getBlockName,
196
+ getBlockEditingMode
197
+ } = select(blockEditorStore);
198
+ return getClientIdsOfDescendants(clientId).filter(current => getBlockName(current) !== 'core/list-item' && getBlockEditingMode(current) === 'contentOnly');
199
+ }, [isSectionBlock, clientId]);
226
200
  return /*#__PURE__*/_jsxs("div", {
227
201
  className: "block-editor-block-inspector",
228
202
  children: [/*#__PURE__*/_jsx(BlockCard, {
@@ -238,30 +212,37 @@ const BlockInspectorSingleBlock = ({
238
212
  }), !showTabs && /*#__PURE__*/_jsxs(_Fragment, {
239
213
  children: [hasBlockStyles && /*#__PURE__*/_jsx(BlockStylesPanel, {
240
214
  clientId: clientId
241
- }), /*#__PURE__*/_jsx(InspectorControls.Slot, {}), /*#__PURE__*/_jsx(InspectorControls.Slot, {
242
- group: "list"
243
- }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
244
- group: "color",
245
- label: __('Color'),
246
- className: "color-block-support-panel__inner-wrapper"
247
- }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
248
- group: "background",
249
- label: __('Background image')
250
- }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
251
- group: "typography",
252
- label: __('Typography')
253
- }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
254
- group: "dimensions",
255
- label: __('Dimensions')
256
- }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
257
- group: "border",
258
- label: borderPanelLabel
259
- }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
260
- group: "styles"
261
- }), /*#__PURE__*/_jsx(PositionControls, {}), /*#__PURE__*/_jsx(InspectorControls.Slot, {
262
- group: "bindings"
263
- }), /*#__PURE__*/_jsx("div", {
264
- children: /*#__PURE__*/_jsx(AdvancedControls, {})
215
+ }), contentClientIds && contentClientIds?.length > 0 && /*#__PURE__*/_jsx(PanelBody, {
216
+ title: __('Content'),
217
+ children: /*#__PURE__*/_jsx(BlockQuickNavigation, {
218
+ clientIds: contentClientIds
219
+ })
220
+ }), !isSectionBlock && /*#__PURE__*/_jsxs(_Fragment, {
221
+ children: [/*#__PURE__*/_jsx(InspectorControls.Slot, {}), /*#__PURE__*/_jsx(InspectorControls.Slot, {
222
+ group: "list"
223
+ }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
224
+ group: "color",
225
+ label: __('Color'),
226
+ className: "color-block-support-panel__inner-wrapper"
227
+ }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
228
+ group: "background",
229
+ label: __('Background image')
230
+ }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
231
+ group: "typography",
232
+ label: __('Typography')
233
+ }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
234
+ group: "dimensions",
235
+ label: __('Dimensions')
236
+ }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
237
+ group: "border",
238
+ label: borderPanelLabel
239
+ }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
240
+ group: "styles"
241
+ }), /*#__PURE__*/_jsx(PositionControls, {}), /*#__PURE__*/_jsx(InspectorControls.Slot, {
242
+ group: "bindings"
243
+ }), /*#__PURE__*/_jsx("div", {
244
+ children: /*#__PURE__*/_jsx(AdvancedControls, {})
245
+ })]
265
246
  })]
266
247
  }), /*#__PURE__*/_jsx(SkipToSelectedBlock, {}, "back")]
267
248
  });
@@ -1 +1 @@
1
- {"version":3,"names":["__","getBlockType","getUnregisteredTypeHandlerName","store","blocksStore","PanelBody","__unstableMotion","motion","useSelect","SkipToSelectedBlock","BlockCard","MultiSelectionInspector","BlockVariationTransforms","useBlockDisplayInformation","blockEditorStore","BlockStyles","default","InspectorControls","InspectorControlsTabs","useInspectorControlsTabs","AdvancedControls","PositionControls","useBlockInspectorAnimationSettings","BlockInfo","BlockQuickNavigation","useBorderPanelLabel","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BlockStylesPanel","clientId","title","children","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","filter","hasBlockStyles","getBlockStyles","length","blockInformation","className","isSynced","Slot","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","getContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","availableTabs","name","showTabs","blockInspectorAnimationSettings","borderPanelLabel","blockName","tabs","group","label","isSelectedBlockUnregistered","BlockInspectorSingleBlockWrapper","animate","wrapper","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","div","x","opacity","transition","ease","duration","initial","blockStyles","blockClientId"],"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { PanelBody, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockStyles from '../block-styles';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport BlockInfo from '../block-info-slot-fill';\nimport BlockQuickNavigation from '../block-quick-navigation';\nimport { useBorderPanelLabel } from '../../hooks/border';\n\nimport { unlock } from '../../lock-unlock';\n\nfunction BlockStylesPanel( { clientId } ) {\n\treturn (\n\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t<BlockStyles clientId={ clientId } />\n\t\t</PanelBody>\n\t);\n}\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst contentClientIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn getClientIdsOfDescendants( topLevelLockedBlock ).filter(\n\t\t\t\t( clientId ) =>\n\t\t\t\t\tgetBlockName( clientId ) !== 'core/list-item' &&\n\t\t\t\t\tgetBlockEditingMode( clientId ) === 'contentOnly'\n\t\t\t);\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockName } = select( blockEditorStore );\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\treturn !! getBlockStyles( getBlockName( topLevelLockedBlock ) )\n\t\t\t\t?.length;\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<BlockStylesPanel clientId={ topLevelLockedBlock } />\n\t\t\t) }\n\t\t\t{ contentClientIds.length > 0 && (\n\t\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t\t<BlockQuickNavigation clientIds={ contentClientIds } />\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\ttopLevelLockedBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\tgetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\ttopLevelLockedBlock:\n\t\t\t\tgetContentLockingParent( _selectedBlockClientId ) ||\n\t\t\t\t( getTemplateLock( _selectedBlockClientId ) === 'contentOnly' ||\n\t\t\t\t_selectedBlockName === 'core/block'\n\t\t\t\t\t? _selectedBlockClientId\n\t\t\t\t\t: undefined ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings =\n\t\tuseBlockInspectorAnimationSettings( blockType );\n\n\tconst borderPanelLabel = useBorderPanelLabel( {\n\t\tblockName: selectedBlockName,\n\t} );\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\tif ( topLevelLockedBlock ) {\n\t\treturn (\n\t\t\t<BlockInspectorLockedBlocks\n\t\t\t\ttopLevelLockedBlock={ topLevelLockedBlock }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n};\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst borderPanelLabel = useBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<BlockStylesPanel clientId={ clientId } />\n\t\t\t\t\t) }\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t<InspectorControls.Slot group=\"list\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t<PositionControls />\n\t\t\t\t\t<InspectorControls.Slot group=\"bindings\" />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","getBlockType","getUnregisteredTypeHandlerName","store","blocksStore","PanelBody","__unstableMotion","motion","useSelect","SkipToSelectedBlock","BlockCard","MultiSelectionInspector","BlockVariationTransforms","useBlockDisplayInformation","blockEditorStore","BlockStyles","default","InspectorControls","InspectorControlsTabs","useInspectorControlsTabs","AdvancedControls","PositionControls","useBlockInspectorAnimationSettings","BlockInfo","BlockQuickNavigation","useBorderPanelLabel","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","BlockStylesPanel","clientId","title","children","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","isSectionBlock","select","getSelectedBlockClientId","getSelectedBlockCount","getBlockName","getParentSectionBlock","_isSectionBlock","_selectedBlockClientId","renderedBlockClientId","_selectedBlockName","_blockType","availableTabs","name","showTabs","length","blockInspectorAnimationSettings","borderPanelLabel","blockName","className","tabs","Slot","group","label","isSelectedBlockUnregistered","BlockInspectorSingleBlockWrapper","animate","wrapper","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","div","x","opacity","transition","ease","duration","initial","hasBlockStyles","getBlockStyles","blockStyles","blockInformation","contentClientIds","getClientIdsOfDescendants","getBlockEditingMode","filter","current","isSynced","blockClientId","clientIds"],"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { PanelBody, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockStyles from '../block-styles';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport BlockInfo from '../block-info-slot-fill';\nimport BlockQuickNavigation from '../block-quick-navigation';\nimport { useBorderPanelLabel } from '../../hooks/border';\n\nimport { unlock } from '../../lock-unlock';\n\nfunction BlockStylesPanel( { clientId } ) {\n\treturn (\n\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t<BlockStyles clientId={ clientId } />\n\t\t</PanelBody>\n\t);\n}\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\tisSectionBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\tgetParentSectionBlock,\n\t\t\tisSectionBlock: _isSectionBlock,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst renderedBlockClientId =\n\t\t\tgetParentSectionBlock( _selectedBlockClientId ) ||\n\t\t\tgetSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\trenderedBlockClientId && getBlockName( renderedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: renderedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\tisSectionBlock: _isSectionBlock( renderedBlockClientId ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings =\n\t\tuseBlockInspectorAnimationSettings( blockType );\n\n\tconst borderPanelLabel = useBorderPanelLabel( {\n\t\tblockName: selectedBlockName,\n\t} );\n\n\tif ( count > 1 && ! isSectionBlock ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t\tisSectionBlock={ isSectionBlock }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n};\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( {\n\tclientId,\n\tblockName,\n\tisSectionBlock,\n} ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = ! isSectionBlock && availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst borderPanelLabel = useBorderPanelLabel( { blockName } );\n\tconst contentClientIds = useSelect(\n\t\t( select ) => {\n\t\t\t// Avoid unnecessary subscription.\n\t\t\tif ( ! isSectionBlock ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn getClientIdsOfDescendants( clientId ).filter(\n\t\t\t\t( current ) =>\n\t\t\t\t\tgetBlockName( current ) !== 'core/list-item' &&\n\t\t\t\t\tgetBlockEditingMode( current ) === 'contentOnly'\n\t\t\t);\n\t\t},\n\t\t[ isSectionBlock, clientId ]\n\t);\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<BlockStylesPanel clientId={ clientId } />\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ contentClientIds && contentClientIds?.length > 0 && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t\t\t\t<BlockQuickNavigation\n\t\t\t\t\t\t\t\tclientIds={ contentClientIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isSectionBlock && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t\t<InspectorControls.Slot group=\"list\" />\n\t\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t\t\t<PositionControls />\n\t\t\t\t\t\t\t<InspectorControls.Slot group=\"bindings\" />\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"],"mappings":"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","ignoreList":[]}