@wordpress/block-editor 12.20.0 → 12.21.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 (471) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-actions/index.js +45 -32
  3. package/build/components/block-actions/index.js.map +1 -1
  4. package/build/components/block-bindings-toolbar-indicator/index.js +25 -0
  5. package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -0
  6. package/build/components/block-edit/context.js +2 -1
  7. package/build/components/block-edit/context.js.map +1 -1
  8. package/build/components/block-edit/index.js +8 -3
  9. package/build/components/block-edit/index.js.map +1 -1
  10. package/build/components/block-inspector/index.js +5 -4
  11. package/build/components/block-inspector/index.js.map +1 -1
  12. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  13. package/build/components/block-list/block-list-item.native.js +1 -1
  14. package/build/components/block-list/block-list-item.native.js.map +1 -1
  15. package/build/components/block-list/block-outline.native.js +23 -7
  16. package/build/components/block-list/block-outline.native.js.map +1 -1
  17. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  18. package/build/components/block-list/block.native.js +0 -3
  19. package/build/components/block-list/block.native.js.map +1 -1
  20. package/build/components/block-list/use-block-props/index.js +8 -1
  21. package/build/components/block-list/use-block-props/index.js.map +1 -1
  22. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -3
  23. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  24. package/build/components/block-mover/index.native.js.map +1 -1
  25. package/build/components/block-popover/cover.js +68 -0
  26. package/build/components/block-popover/cover.js.map +1 -0
  27. package/build/components/block-popover/drop-zone.js +2 -3
  28. package/build/components/block-popover/drop-zone.js.map +1 -1
  29. package/build/components/block-popover/index.js +1 -19
  30. package/build/components/block-popover/index.js.map +1 -1
  31. package/build/components/block-preview/index.js +2 -1
  32. package/build/components/block-preview/index.js.map +1 -1
  33. package/build/components/block-removal-warning-modal/index.js +2 -4
  34. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  35. package/build/components/block-rename/modal.js.map +1 -1
  36. package/build/components/block-settings-menu/block-settings-dropdown.js +12 -10
  37. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  38. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  39. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  40. package/build/components/block-toolbar/index.js +21 -10
  41. package/build/components/block-toolbar/index.js.map +1 -1
  42. package/build/components/block-toolbar/shuffle.js +89 -0
  43. package/build/components/block-toolbar/shuffle.js.map +1 -0
  44. package/build/components/block-toolbar/use-has-block-toolbar.js +43 -0
  45. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  46. package/build/components/block-tools/block-selection-button.js +5 -1
  47. package/build/components/block-tools/block-selection-button.js.map +1 -1
  48. package/build/components/block-tools/empty-block-inserter.js +2 -5
  49. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  50. package/build/components/block-tools/index.js +9 -26
  51. package/build/components/block-tools/index.js.map +1 -1
  52. package/build/components/block-tools/use-show-block-tools.js +60 -0
  53. package/build/components/block-tools/use-show-block-tools.js.map +1 -0
  54. package/build/components/caption/index.native.js.map +1 -1
  55. package/build/components/child-layout-control/index.js.map +1 -1
  56. package/build/components/color-palette/control.js.map +1 -1
  57. package/build/components/colors-gradients/control.js +1 -1
  58. package/build/components/colors-gradients/control.js.map +1 -1
  59. package/build/components/global-styles/border-panel.js +21 -8
  60. package/build/components/global-styles/border-panel.js.map +1 -1
  61. package/build/components/global-styles/color-panel.js +1 -1
  62. package/build/components/global-styles/color-panel.js.map +1 -1
  63. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  64. package/build/components/global-styles/index.js +6 -0
  65. package/build/components/global-styles/index.js.map +1 -1
  66. package/build/components/global-styles/shadow-panel-components.js +80 -23
  67. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  68. package/build/components/global-styles/typography-utils.js +7 -5
  69. package/build/components/global-styles/typography-utils.js.map +1 -1
  70. package/build/components/global-styles/use-global-styles-output.js +15 -15
  71. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  72. package/build/components/global-styles/utils.js +1 -1
  73. package/build/components/global-styles/utils.js.map +1 -1
  74. package/build/components/grid-visualizer/grid-item-resizer.js +77 -0
  75. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  76. package/build/components/grid-visualizer/grid-visualizer.js +81 -0
  77. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -0
  78. package/build/components/grid-visualizer/index.js +20 -0
  79. package/build/components/grid-visualizer/index.js.map +1 -0
  80. package/build/components/grid-visualizer/utils.js +10 -0
  81. package/build/components/grid-visualizer/utils.js.map +1 -0
  82. package/build/components/iframe/index.js +61 -16
  83. package/build/components/iframe/index.js.map +1 -1
  84. package/build/components/index.native.js +7 -0
  85. package/build/components/index.native.js.map +1 -1
  86. package/build/components/inner-blocks/use-nested-settings-update.js +8 -2
  87. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  88. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  89. package/build/components/inserter/menu.js +9 -3
  90. package/build/components/inserter/menu.js.map +1 -1
  91. package/build/components/inserter/menu.native.js.map +1 -1
  92. package/build/components/inserter/mobile-tab-navigation.js +1 -1
  93. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  94. package/build/components/inserter/search-results.js +3 -2
  95. package/build/components/inserter/search-results.js.map +1 -1
  96. package/build/components/inserter/tabs.js +2 -1
  97. package/build/components/inserter/tabs.js.map +1 -1
  98. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  99. package/build/components/inspector-controls-tabs/index.js +1 -1
  100. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  101. package/build/components/inspector-controls-tabs/styles-tab.js +1 -1
  102. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  103. package/build/components/link-control/link-preview.js +4 -1
  104. package/build/components/link-control/link-preview.js.map +1 -1
  105. package/build/components/link-control/search-input.js.map +1 -1
  106. package/build/components/list-view/block-select-button.js +10 -2
  107. package/build/components/list-view/block-select-button.js.map +1 -1
  108. package/build/components/list-view/branch.js.map +1 -1
  109. package/build/components/list-view/drop-indicator.js.map +1 -1
  110. package/build/components/list-view/index.js.map +1 -1
  111. package/build/components/list-view/use-clipboard-handler.js +2 -1
  112. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  113. package/build/components/panel-color-settings/index.js.map +1 -1
  114. package/build/components/provider/index.js.map +1 -1
  115. package/build/components/resizable-box-popover/index.js +3 -5
  116. package/build/components/resizable-box-popover/index.js.map +1 -1
  117. package/build/components/responsive-block-control/index.js +1 -1
  118. package/build/components/responsive-block-control/index.js.map +1 -1
  119. package/build/components/rich-text/index.js +46 -26
  120. package/build/components/rich-text/index.js.map +1 -1
  121. package/build/components/rich-text/use-enter.js +3 -0
  122. package/build/components/rich-text/use-enter.js.map +1 -1
  123. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  124. package/build/components/url-popover/index.js +3 -3
  125. package/build/components/url-popover/index.js.map +1 -1
  126. package/build/components/writing-flow/use-clipboard-handler.js +2 -1
  127. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  128. package/build/components/writing-flow/utils.js +23 -6
  129. package/build/components/writing-flow/utils.js.map +1 -1
  130. package/build/hooks/background.js.map +1 -1
  131. package/build/hooks/block-hooks.js +34 -8
  132. package/build/hooks/block-hooks.js.map +1 -1
  133. package/build/hooks/border.js +6 -4
  134. package/build/hooks/border.js.map +1 -1
  135. package/build/hooks/dimensions.js +3 -4
  136. package/build/hooks/dimensions.js.map +1 -1
  137. package/build/hooks/font-size.js +6 -7
  138. package/build/hooks/font-size.js.map +1 -1
  139. package/build/hooks/index.js +1 -1
  140. package/build/hooks/index.js.map +1 -1
  141. package/build/hooks/layout-child.js +39 -0
  142. package/build/hooks/layout-child.js.map +1 -1
  143. package/build/hooks/layout.js +11 -4
  144. package/build/hooks/layout.js.map +1 -1
  145. package/build/hooks/line-height.js.map +1 -1
  146. package/build/hooks/spacing-visualizer.js +115 -0
  147. package/build/hooks/spacing-visualizer.js.map +1 -0
  148. package/build/hooks/use-bindings-attributes.js +171 -48
  149. package/build/hooks/use-bindings-attributes.js.map +1 -1
  150. package/build/hooks/use-typography-props.js +1 -2
  151. package/build/hooks/use-typography-props.js.map +1 -1
  152. package/build/layouts/grid.js +6 -2
  153. package/build/layouts/grid.js.map +1 -1
  154. package/build/private-apis.js +7 -3
  155. package/build/private-apis.js.map +1 -1
  156. package/build/store/actions.js +42 -12
  157. package/build/store/actions.js.map +1 -1
  158. package/build/store/private-actions.js +29 -55
  159. package/build/store/private-actions.js.map +1 -1
  160. package/build/store/private-selectors.js +0 -8
  161. package/build/store/private-selectors.js.map +1 -1
  162. package/build/store/reducer.js +3 -20
  163. package/build/store/reducer.js.map +1 -1
  164. package/build/store/selectors.js +27 -15
  165. package/build/store/selectors.js.map +1 -1
  166. package/build/utils/calculate-scale.js +17 -0
  167. package/build/utils/calculate-scale.js.map +1 -0
  168. package/build-module/components/block-actions/index.js +45 -32
  169. package/build-module/components/block-actions/index.js.map +1 -1
  170. package/build-module/components/block-bindings-toolbar-indicator/index.js +18 -0
  171. package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -0
  172. package/build-module/components/block-edit/context.js +1 -0
  173. package/build-module/components/block-edit/context.js.map +1 -1
  174. package/build-module/components/block-edit/index.js +9 -4
  175. package/build-module/components/block-edit/index.js.map +1 -1
  176. package/build-module/components/block-inspector/index.js +6 -5
  177. package/build-module/components/block-inspector/index.js.map +1 -1
  178. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  179. package/build-module/components/block-list/block-list-item.native.js +1 -1
  180. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  181. package/build-module/components/block-list/block-outline.native.js +23 -7
  182. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  183. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  184. package/build-module/components/block-list/block.native.js +0 -3
  185. package/build-module/components/block-list/block.native.js.map +1 -1
  186. package/build-module/components/block-list/use-block-props/index.js +9 -2
  187. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  188. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -3
  189. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  190. package/build-module/components/block-mover/index.native.js.map +1 -1
  191. package/build-module/components/block-popover/cover.js +60 -0
  192. package/build-module/components/block-popover/cover.js.map +1 -0
  193. package/build-module/components/block-popover/drop-zone.js +2 -3
  194. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  195. package/build-module/components/block-popover/index.js +1 -19
  196. package/build-module/components/block-popover/index.js.map +1 -1
  197. package/build-module/components/block-preview/index.js +2 -1
  198. package/build-module/components/block-preview/index.js.map +1 -1
  199. package/build-module/components/block-removal-warning-modal/index.js +3 -5
  200. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  201. package/build-module/components/block-rename/modal.js.map +1 -1
  202. package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -10
  203. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  204. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  205. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  206. package/build-module/components/block-toolbar/index.js +21 -11
  207. package/build-module/components/block-toolbar/index.js.map +1 -1
  208. package/build-module/components/block-toolbar/shuffle.js +82 -0
  209. package/build-module/components/block-toolbar/shuffle.js.map +1 -0
  210. package/build-module/components/block-toolbar/use-has-block-toolbar.js +36 -0
  211. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  212. package/build-module/components/block-tools/block-selection-button.js +5 -1
  213. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  214. package/build-module/components/block-tools/empty-block-inserter.js +2 -5
  215. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  216. package/build-module/components/block-tools/index.js +9 -26
  217. package/build-module/components/block-tools/index.js.map +1 -1
  218. package/build-module/components/block-tools/use-show-block-tools.js +54 -0
  219. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -0
  220. package/build-module/components/caption/index.native.js.map +1 -1
  221. package/build-module/components/child-layout-control/index.js.map +1 -1
  222. package/build-module/components/color-palette/control.js.map +1 -1
  223. package/build-module/components/colors-gradients/control.js +1 -1
  224. package/build-module/components/colors-gradients/control.js.map +1 -1
  225. package/build-module/components/global-styles/border-panel.js +22 -10
  226. package/build-module/components/global-styles/border-panel.js.map +1 -1
  227. package/build-module/components/global-styles/color-panel.js +1 -1
  228. package/build-module/components/global-styles/color-panel.js.map +1 -1
  229. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  230. package/build-module/components/global-styles/index.js +1 -1
  231. package/build-module/components/global-styles/index.js.map +1 -1
  232. package/build-module/components/global-styles/shadow-panel-components.js +82 -24
  233. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  234. package/build-module/components/global-styles/typography-utils.js +7 -5
  235. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  236. package/build-module/components/global-styles/use-global-styles-output.js +16 -16
  237. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  238. package/build-module/components/global-styles/utils.js +2 -2
  239. package/build-module/components/global-styles/utils.js.map +1 -1
  240. package/build-module/components/grid-visualizer/grid-item-resizer.js +69 -0
  241. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  242. package/build-module/components/grid-visualizer/grid-visualizer.js +73 -0
  243. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -0
  244. package/build-module/components/grid-visualizer/index.js +3 -0
  245. package/build-module/components/grid-visualizer/index.js.map +1 -0
  246. package/build-module/components/grid-visualizer/utils.js +4 -0
  247. package/build-module/components/grid-visualizer/utils.js.map +1 -0
  248. package/build-module/components/iframe/index.js +61 -16
  249. package/build-module/components/iframe/index.js.map +1 -1
  250. package/build-module/components/index.native.js +1 -1
  251. package/build-module/components/index.native.js.map +1 -1
  252. package/build-module/components/inner-blocks/use-nested-settings-update.js +8 -2
  253. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  254. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  255. package/build-module/components/inserter/menu.js +9 -3
  256. package/build-module/components/inserter/menu.js.map +1 -1
  257. package/build-module/components/inserter/menu.native.js.map +1 -1
  258. package/build-module/components/inserter/mobile-tab-navigation.js +1 -1
  259. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  260. package/build-module/components/inserter/search-results.js +3 -2
  261. package/build-module/components/inserter/search-results.js.map +1 -1
  262. package/build-module/components/inserter/tabs.js +2 -1
  263. package/build-module/components/inserter/tabs.js.map +1 -1
  264. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  265. package/build-module/components/inspector-controls-tabs/index.js +1 -1
  266. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  267. package/build-module/components/inspector-controls-tabs/styles-tab.js +2 -2
  268. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  269. package/build-module/components/link-control/link-preview.js +5 -2
  270. package/build-module/components/link-control/link-preview.js.map +1 -1
  271. package/build-module/components/link-control/search-input.js.map +1 -1
  272. package/build-module/components/list-view/block-select-button.js +11 -3
  273. package/build-module/components/list-view/block-select-button.js.map +1 -1
  274. package/build-module/components/list-view/branch.js.map +1 -1
  275. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  276. package/build-module/components/list-view/index.js.map +1 -1
  277. package/build-module/components/list-view/use-clipboard-handler.js +3 -2
  278. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  279. package/build-module/components/panel-color-settings/index.js.map +1 -1
  280. package/build-module/components/provider/index.js.map +1 -1
  281. package/build-module/components/resizable-box-popover/index.js +3 -5
  282. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  283. package/build-module/components/responsive-block-control/index.js +1 -1
  284. package/build-module/components/responsive-block-control/index.js.map +1 -1
  285. package/build-module/components/rich-text/index.js +47 -28
  286. package/build-module/components/rich-text/index.js.map +1 -1
  287. package/build-module/components/rich-text/use-enter.js +3 -0
  288. package/build-module/components/rich-text/use-enter.js.map +1 -1
  289. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  290. package/build-module/components/url-popover/index.js +3 -3
  291. package/build-module/components/url-popover/index.js.map +1 -1
  292. package/build-module/components/writing-flow/use-clipboard-handler.js +3 -2
  293. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  294. package/build-module/components/writing-flow/utils.js +22 -7
  295. package/build-module/components/writing-flow/utils.js.map +1 -1
  296. package/build-module/hooks/background.js.map +1 -1
  297. package/build-module/hooks/block-hooks.js +34 -8
  298. package/build-module/hooks/block-hooks.js.map +1 -1
  299. package/build-module/hooks/border.js +7 -5
  300. package/build-module/hooks/border.js.map +1 -1
  301. package/build-module/hooks/dimensions.js +1 -2
  302. package/build-module/hooks/dimensions.js.map +1 -1
  303. package/build-module/hooks/font-size.js +7 -8
  304. package/build-module/hooks/font-size.js.map +1 -1
  305. package/build-module/hooks/index.js +1 -1
  306. package/build-module/hooks/index.js.map +1 -1
  307. package/build-module/hooks/layout-child.js +39 -0
  308. package/build-module/hooks/layout-child.js.map +1 -1
  309. package/build-module/hooks/layout.js +11 -4
  310. package/build-module/hooks/layout.js.map +1 -1
  311. package/build-module/hooks/line-height.js.map +1 -1
  312. package/build-module/hooks/spacing-visualizer.js +106 -0
  313. package/build-module/hooks/spacing-visualizer.js.map +1 -0
  314. package/build-module/hooks/use-bindings-attributes.js +172 -49
  315. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  316. package/build-module/hooks/use-typography-props.js +2 -3
  317. package/build-module/hooks/use-typography-props.js.map +1 -1
  318. package/build-module/layouts/grid.js +6 -2
  319. package/build-module/layouts/grid.js.map +1 -1
  320. package/build-module/private-apis.js +7 -3
  321. package/build-module/private-apis.js.map +1 -1
  322. package/build-module/store/actions.js +42 -12
  323. package/build-module/store/actions.js.map +1 -1
  324. package/build-module/store/private-actions.js +29 -54
  325. package/build-module/store/private-actions.js.map +1 -1
  326. package/build-module/store/private-selectors.js +0 -6
  327. package/build-module/store/private-selectors.js.map +1 -1
  328. package/build-module/store/reducer.js +3 -20
  329. package/build-module/store/reducer.js.map +1 -1
  330. package/build-module/store/selectors.js +23 -13
  331. package/build-module/store/selectors.js.map +1 -1
  332. package/build-module/utils/calculate-scale.js +11 -0
  333. package/build-module/utils/calculate-scale.js.map +1 -0
  334. package/build-style/content-rtl.css +8 -2
  335. package/build-style/content.css +8 -2
  336. package/build-style/default-editor-styles-rtl.css +1 -0
  337. package/build-style/default-editor-styles.css +1 -0
  338. package/build-style/style-rtl.css +113 -22
  339. package/build-style/style.css +113 -22
  340. package/package.json +31 -31
  341. package/src/components/block-actions/index.js +57 -47
  342. package/src/components/block-bindings-toolbar-indicator/index.js +20 -0
  343. package/src/components/block-bindings-toolbar-indicator/style.scss +14 -0
  344. package/src/components/block-draggable/test/index.native.js +2 -2
  345. package/src/components/block-edit/context.js +1 -0
  346. package/src/components/block-edit/index.js +5 -1
  347. package/src/components/block-inspector/index.js +7 -5
  348. package/src/components/block-list/block-invalid-warning.native.js +1 -1
  349. package/src/components/block-list/block-list-item.native.js +1 -1
  350. package/src/components/block-list/block-outline.native.js +36 -21
  351. package/src/components/block-list/block-selection-button.native.js +1 -3
  352. package/src/components/block-list/block.native.js +0 -3
  353. package/src/components/block-list/content.scss +5 -1
  354. package/src/components/block-list/test/block-outline.native.js +255 -0
  355. package/src/components/block-list/use-block-props/index.js +12 -2
  356. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -7
  357. package/src/components/block-mover/index.native.js +1 -1
  358. package/src/components/block-popover/cover.js +63 -0
  359. package/src/components/block-popover/drop-zone.js +3 -4
  360. package/src/components/block-popover/index.js +1 -28
  361. package/src/components/block-preview/index.js +3 -1
  362. package/src/components/block-removal-warning-modal/index.js +5 -19
  363. package/src/components/block-rename/modal.js +1 -1
  364. package/src/components/block-settings-menu/block-settings-dropdown.js +12 -9
  365. package/src/components/block-switcher/block-transformations-menu.native.js +1 -1
  366. package/src/components/block-toolbar/block-toolbar-menu.native.js +2 -2
  367. package/src/components/block-toolbar/index.js +19 -15
  368. package/src/components/block-toolbar/shuffle.js +93 -0
  369. package/src/components/block-toolbar/use-has-block-toolbar.js +49 -0
  370. package/src/components/block-tools/block-selection-button.js +4 -0
  371. package/src/components/block-tools/empty-block-inserter.js +3 -6
  372. package/src/components/block-tools/index.js +13 -36
  373. package/src/components/block-tools/use-show-block-tools.js +73 -0
  374. package/src/components/caption/index.native.js +1 -1
  375. package/src/components/child-layout-control/index.js +1 -1
  376. package/src/components/color-palette/control.js +1 -1
  377. package/src/components/colors-gradients/control.js +1 -1
  378. package/src/components/colors-gradients/test/control.js +2 -2
  379. package/src/components/contrast-checker/test/index.js +10 -10
  380. package/src/components/default-block-appender/content.scss +5 -2
  381. package/src/components/global-styles/border-panel.js +35 -24
  382. package/src/components/global-styles/color-panel.js +1 -1
  383. package/src/components/global-styles/image-settings-panel.js +1 -1
  384. package/src/components/global-styles/index.js +5 -1
  385. package/src/components/global-styles/shadow-panel-components.js +92 -23
  386. package/src/components/global-styles/style.scss +33 -10
  387. package/src/components/global-styles/test/typography-utils.js +231 -81
  388. package/src/components/global-styles/typography-utils.js +10 -7
  389. package/src/components/global-styles/use-global-styles-output.js +14 -16
  390. package/src/components/global-styles/utils.js +2 -8
  391. package/src/components/grid-visualizer/grid-item-resizer.js +100 -0
  392. package/src/components/grid-visualizer/grid-visualizer.js +81 -0
  393. package/src/components/grid-visualizer/index.js +2 -0
  394. package/src/components/grid-visualizer/style.scss +33 -0
  395. package/src/components/grid-visualizer/utils.js +5 -0
  396. package/src/components/iframe/index.js +78 -31
  397. package/src/components/index.native.js +1 -0
  398. package/src/components/inner-blocks/use-nested-settings-update.js +12 -2
  399. package/src/components/inserter/media-tab/media-preview.js +1 -1
  400. package/src/components/inserter/menu.js +10 -4
  401. package/src/components/inserter/menu.native.js +3 -3
  402. package/src/components/inserter/mobile-tab-navigation.js +1 -1
  403. package/src/components/inserter/search-results.js +2 -1
  404. package/src/components/inserter/style.scss +10 -0
  405. package/src/components/inserter/tabs.js +2 -1
  406. package/src/components/inspector-controls/block-support-tools-panel.js +2 -2
  407. package/src/components/inspector-controls-tabs/index.js +1 -1
  408. package/src/components/inspector-controls-tabs/styles-tab.js +2 -2
  409. package/src/components/line-height-control/test/index.js +1 -1
  410. package/src/components/link-control/link-preview.js +9 -2
  411. package/src/components/link-control/search-input.js +1 -1
  412. package/src/components/link-control/style.scss +9 -0
  413. package/src/components/list-view/block-select-button.js +16 -2
  414. package/src/components/list-view/branch.js +1 -1
  415. package/src/components/list-view/drop-indicator.js +1 -1
  416. package/src/components/list-view/index.js +1 -1
  417. package/src/components/list-view/style.scss +8 -0
  418. package/src/components/list-view/use-clipboard-handler.js +3 -2
  419. package/src/components/panel-color-settings/index.js +1 -1
  420. package/src/components/panel-color-settings/test/index.js +3 -3
  421. package/src/components/provider/index.js +1 -4
  422. package/src/components/resizable-box-popover/index.js +4 -6
  423. package/src/components/responsive-block-control/README.md +4 -4
  424. package/src/components/responsive-block-control/index.js +1 -1
  425. package/src/components/responsive-block-control/test/index.js +5 -5
  426. package/src/components/rich-text/index.js +76 -53
  427. package/src/components/rich-text/use-enter.js +4 -0
  428. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
  429. package/src/components/url-popover/index.js +5 -5
  430. package/src/components/url-popover/style.scss +1 -0
  431. package/src/components/writing-flow/use-clipboard-handler.js +3 -2
  432. package/src/components/writing-flow/utils.js +31 -16
  433. package/src/hooks/background.js +1 -1
  434. package/src/hooks/block-hooks.js +47 -9
  435. package/src/hooks/block-hooks.scss +6 -0
  436. package/src/hooks/border.js +16 -4
  437. package/src/hooks/dimensions.js +1 -2
  438. package/src/hooks/font-size.js +7 -12
  439. package/src/hooks/index.js +1 -0
  440. package/src/hooks/layout-child.js +38 -0
  441. package/src/hooks/layout.js +12 -1
  442. package/src/hooks/line-height.js +1 -1
  443. package/src/hooks/spacing-visualizer.js +126 -0
  444. package/src/hooks/{padding.scss → spacing.scss} +1 -1
  445. package/src/hooks/use-bindings-attributes.js +215 -65
  446. package/src/hooks/use-typography-props.js +2 -8
  447. package/src/layouts/grid.js +8 -3
  448. package/src/private-apis.js +6 -2
  449. package/src/store/actions.js +56 -18
  450. package/src/store/private-actions.js +34 -79
  451. package/src/store/private-selectors.js +0 -8
  452. package/src/store/reducer.js +2 -23
  453. package/src/store/selectors.js +41 -46
  454. package/src/store/test/actions.js +0 -4
  455. package/src/style.scss +3 -1
  456. package/src/utils/calculate-scale.js +20 -0
  457. package/build/hooks/margin.js +0 -86
  458. package/build/hooks/margin.js.map +0 -1
  459. package/build/hooks/padding.js +0 -78
  460. package/build/hooks/padding.js.map +0 -1
  461. package/build/utils/use-can-block-toolbar-be-focused.js +0 -46
  462. package/build/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  463. package/build-module/hooks/margin.js +0 -78
  464. package/build-module/hooks/margin.js.map +0 -1
  465. package/build-module/hooks/padding.js +0 -70
  466. package/build-module/hooks/padding.js.map +0 -1
  467. package/build-module/utils/use-can-block-toolbar-be-focused.js +0 -40
  468. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  469. package/src/hooks/margin.js +0 -91
  470. package/src/hooks/padding.js +0 -82
  471. package/src/utils/use-can-block-toolbar-be-focused.js +0 -48
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 12.21.0 (2024-03-06)
6
+
5
7
  ## 12.20.0 (2024-02-21)
6
8
 
7
9
  ## 12.19.0 (2024-02-09)
@@ -23,28 +23,46 @@ function BlockActions({
23
23
  children,
24
24
  __experimentalUpdateSelection: updateSelection
25
25
  }) {
26
- const {
27
- canInsertBlockType,
28
- getBlockRootClientId,
29
- getBlocksByClientId,
30
- canMoveBlocks,
31
- canRemoveBlocks
32
- } = (0, _data.useSelect)(_store.store);
33
26
  const {
34
27
  getDefaultBlockName,
35
28
  getGroupingBlockName
36
29
  } = (0, _data.useSelect)(_blocks.store);
37
- const blocks = getBlocksByClientId(clientIds);
38
- const rootClientId = getBlockRootClientId(clientIds[0]);
39
- const canCopyStyles = blocks.every(block => {
40
- return !!block && ((0, _blocks.hasBlockSupport)(block.name, 'color') || (0, _blocks.hasBlockSupport)(block.name, 'typography'));
41
- });
42
- const canDuplicate = blocks.every(block => {
43
- return !!block && (0, _blocks.hasBlockSupport)(block.name, 'multiple', true) && canInsertBlockType(block.name, rootClientId);
44
- });
45
- const canInsertDefaultBlock = canInsertBlockType(getDefaultBlockName(), rootClientId);
46
- const canMove = canMoveBlocks(clientIds, rootClientId);
47
- const canRemove = canRemoveBlocks(clientIds, rootClientId);
30
+ const selected = (0, _data.useSelect)(select => {
31
+ const {
32
+ canInsertBlockType,
33
+ getBlockRootClientId,
34
+ getBlocksByClientId,
35
+ getDirectInsertBlock,
36
+ canMoveBlocks,
37
+ canRemoveBlocks
38
+ } = select(_store.store);
39
+ const blocks = getBlocksByClientId(clientIds);
40
+ const rootClientId = getBlockRootClientId(clientIds[0]);
41
+ const canInsertDefaultBlock = canInsertBlockType(getDefaultBlockName(), rootClientId);
42
+ const directInsertBlock = rootClientId ? getDirectInsertBlock(rootClientId) : null;
43
+ return {
44
+ canMove: canMoveBlocks(clientIds, rootClientId),
45
+ canRemove: canRemoveBlocks(clientIds, rootClientId),
46
+ canInsertBlock: canInsertDefaultBlock || !!directInsertBlock,
47
+ canCopyStyles: blocks.every(block => {
48
+ return !!block && ((0, _blocks.hasBlockSupport)(block.name, 'color') || (0, _blocks.hasBlockSupport)(block.name, 'typography'));
49
+ }),
50
+ canDuplicate: blocks.every(block => {
51
+ return !!block && (0, _blocks.hasBlockSupport)(block.name, 'multiple', true) && canInsertBlockType(block.name, rootClientId);
52
+ })
53
+ };
54
+ }, [clientIds, getDefaultBlockName]);
55
+ const {
56
+ getBlocksByClientId,
57
+ getBlocks
58
+ } = (0, _data.useSelect)(_store.store);
59
+ const {
60
+ canMove,
61
+ canRemove,
62
+ canInsertBlock,
63
+ canCopyStyles,
64
+ canDuplicate
65
+ } = selected;
48
66
  const {
49
67
  removeBlocks,
50
68
  replaceBlocks,
@@ -61,11 +79,9 @@ function BlockActions({
61
79
  return children({
62
80
  canCopyStyles,
63
81
  canDuplicate,
64
- canInsertDefaultBlock,
82
+ canInsertBlock,
65
83
  canMove,
66
84
  canRemove,
67
- rootClientId,
68
- blocks,
69
85
  onDuplicate() {
70
86
  return duplicateBlocks(clientIds, updateSelection);
71
87
  },
@@ -86,39 +102,36 @@ function BlockActions({
86
102
  setBlockMovingClientId(clientIds[0]);
87
103
  },
88
104
  onGroup() {
89
- if (!blocks.length) {
105
+ if (!clientIds.length) {
90
106
  return;
91
107
  }
92
108
  const groupingBlockName = getGroupingBlockName();
93
109
 
94
110
  // Activate the `transform` on `core/group` which does the conversion.
95
- const newBlocks = (0, _blocks.switchToBlockType)(blocks, groupingBlockName);
111
+ const newBlocks = (0, _blocks.switchToBlockType)(getBlocksByClientId(clientIds), groupingBlockName);
96
112
  if (!newBlocks) {
97
113
  return;
98
114
  }
99
115
  replaceBlocks(clientIds, newBlocks);
100
116
  },
101
117
  onUngroup() {
102
- if (!blocks.length) {
118
+ if (!clientIds.length) {
103
119
  return;
104
120
  }
105
- const innerBlocks = blocks[0].innerBlocks;
121
+ const innerBlocks = getBlocks(clientIds[0]);
106
122
  if (!innerBlocks.length) {
107
123
  return;
108
124
  }
109
125
  replaceBlocks(clientIds, innerBlocks);
110
126
  },
111
127
  onCopy() {
112
- const selectedBlockClientIds = blocks.map(({
113
- clientId
114
- }) => clientId);
115
- if (blocks.length === 1) {
116
- flashBlock(selectedBlockClientIds[0]);
128
+ if (clientIds.length === 1) {
129
+ flashBlock(clientIds[0]);
117
130
  }
118
- notifyCopy('copy', selectedBlockClientIds);
131
+ notifyCopy('copy', clientIds);
119
132
  },
120
133
  async onPasteStyles() {
121
- await pasteStyles(blocks);
134
+ await pasteStyles(getBlocksByClientId(clientIds));
122
135
  }
123
136
  });
124
137
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_blocks","_useNotifyCopy","_usePasteStyles","_interopRequireDefault","_store","BlockActions","clientIds","children","__experimentalUpdateSelection","updateSelection","canInsertBlockType","getBlockRootClientId","getBlocksByClientId","canMoveBlocks","canRemoveBlocks","useSelect","blockEditorStore","getDefaultBlockName","getGroupingBlockName","blocksStore","blocks","rootClientId","canCopyStyles","every","block","hasBlockSupport","name","canDuplicate","canInsertDefaultBlock","canMove","canRemove","removeBlocks","replaceBlocks","duplicateBlocks","insertAfterBlock","insertBeforeBlock","flashBlock","setBlockMovingClientId","setNavigationMode","selectBlock","useDispatch","notifyCopy","useNotifyCopy","pasteStyles","usePasteStyles","onDuplicate","onRemove","onInsertBefore","clientId","Array","isArray","onInsertAfter","length","onMoveTo","onGroup","groupingBlockName","newBlocks","switchToBlockType","onUngroup","innerBlocks","onCopy","selectedBlockClientIds","map","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 {\n\t\tcanInsertBlockType,\n\t\tgetBlockRootClientId,\n\t\tgetBlocksByClientId,\n\t\tcanMoveBlocks,\n\t\tcanRemoveBlocks,\n\t} = useSelect( blockEditorStore );\n\tconst { getDefaultBlockName, getGroupingBlockName } =\n\t\tuseSelect( blocksStore );\n\n\tconst blocks = getBlocksByClientId( clientIds );\n\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\n\tconst canCopyStyles = blocks.every( ( block ) => {\n\t\treturn (\n\t\t\t!! block &&\n\t\t\t( hasBlockSupport( block.name, 'color' ) ||\n\t\t\t\thasBlockSupport( block.name, 'typography' ) )\n\t\t);\n\t} );\n\n\tconst canDuplicate = blocks.every( ( block ) => {\n\t\treturn (\n\t\t\t!! block &&\n\t\t\thasBlockSupport( block.name, 'multiple', true ) &&\n\t\t\tcanInsertBlockType( block.name, rootClientId )\n\t\t);\n\t} );\n\n\tconst canInsertDefaultBlock = canInsertBlockType(\n\t\tgetDefaultBlockName(),\n\t\trootClientId\n\t);\n\n\tconst canMove = canMoveBlocks( clientIds, rootClientId );\n\tconst canRemove = canRemoveBlocks( clientIds, rootClientId );\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\tcanInsertDefaultBlock,\n\t\tcanMove,\n\t\tcanRemove,\n\t\trootClientId,\n\t\tblocks,\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\tconst clientId = Array.isArray( clientIds )\n\t\t\t\t? clientIds[ 0 ]\n\t\t\t\t: clientId;\n\t\t\tinsertBeforeBlock( clientId );\n\t\t},\n\t\tonInsertAfter() {\n\t\t\tconst clientId = Array.isArray( clientIds )\n\t\t\t\t? clientIds[ clientIds.length - 1 ]\n\t\t\t\t: clientId;\n\t\t\tinsertAfterBlock( clientId );\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 ( ! blocks.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( blocks, groupingBlockName );\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 ( ! blocks.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst innerBlocks = blocks[ 0 ].innerBlocks;\n\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\tconst selectedBlockClientIds = blocks.map(\n\t\t\t\t( { clientId } ) => clientId\n\t\t\t);\n\t\t\tif ( blocks.length === 1 ) {\n\t\t\t\tflashBlock( selectedBlockClientIds[ 0 ] );\n\t\t\t}\n\t\t\tnotifyCopy( 'copy', selectedBlockClientIds );\n\t\t},\n\t\tasync onPasteStyles() {\n\t\t\tawait pasteStyles( blocks );\n\t\t},\n\t} );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_data","require","_blocks","_useNotifyCopy","_usePasteStyles","_interopRequireDefault","_store","BlockActions","clientIds","children","__experimentalUpdateSelection","updateSelection","getDefaultBlockName","getGroupingBlockName","useSelect","blocksStore","selected","select","canInsertBlockType","getBlockRootClientId","getBlocksByClientId","getDirectInsertBlock","canMoveBlocks","canRemoveBlocks","blockEditorStore","blocks","rootClientId","canInsertDefaultBlock","directInsertBlock","canMove","canRemove","canInsertBlock","canCopyStyles","every","block","hasBlockSupport","name","canDuplicate","getBlocks","removeBlocks","replaceBlocks","duplicateBlocks","insertAfterBlock","insertBeforeBlock","flashBlock","setBlockMovingClientId","setNavigationMode","selectBlock","useDispatch","notifyCopy","useNotifyCopy","pasteStyles","usePasteStyles","onDuplicate","onRemove","onInsertBefore","clientId","Array","isArray","onInsertAfter","length","onMoveTo","onGroup","groupingBlockName","newBlocks","switchToBlockType","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, rootClientId ),\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds, rootClientId ),\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\tconst clientId = Array.isArray( clientIds )\n\t\t\t\t? clientIds[ 0 ]\n\t\t\t\t: clientId;\n\t\t\tinsertBeforeBlock( clientId );\n\t\t},\n\t\tonInsertAfter() {\n\t\t\tconst clientId = Array.isArray( clientIds )\n\t\t\t\t? clientIds[ clientIds.length - 1 ]\n\t\t\t\t: clientId;\n\t\t\tinsertAfterBlock( clientId );\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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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = BlockBindingsToolbarIndicator;
7
+ var _react = require("react");
8
+ var _components = require("@wordpress/components");
9
+ var _icons = require("@wordpress/icons");
10
+ var _i18n = require("@wordpress/i18n");
11
+ /**
12
+ * WordPress dependencies
13
+ */
14
+
15
+ function BlockBindingsToolbarIndicator() {
16
+ return (0, _react.createElement)(_components.ToolbarGroup, null, (0, _react.createElement)(_components.ToolbarItem, {
17
+ as: 'div',
18
+ "aria-label": (0, _i18n._x)('Connected', 'block toolbar button label'),
19
+ className: "block-editor-block-bindings-toolbar-indicator"
20
+ }, (0, _react.createElement)(_components.Icon, {
21
+ icon: _icons.connection,
22
+ size: 24
23
+ })));
24
+ }
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_icons","_i18n","BlockBindingsToolbarIndicator","_react","createElement","ToolbarGroup","ToolbarItem","as","_x","className","Icon","icon","connection","size"],"sources":["@wordpress/block-editor/src/components/block-bindings-toolbar-indicator/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarItem, ToolbarGroup, Icon } from '@wordpress/components';\nimport { connection } from '@wordpress/icons';\nimport { _x } from '@wordpress/i18n';\n\nexport default function BlockBindingsToolbarIndicator() {\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem\n\t\t\t\tas={ 'div' }\n\t\t\t\taria-label={ _x( 'Connected', 'block toolbar button label' ) }\n\t\t\t\tclassName=\"block-editor-block-bindings-toolbar-indicator\"\n\t\t\t>\n\t\t\t\t<Icon icon={ connection } size={ 24 } />\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAKe,SAASG,6BAA6BA,CAAA,EAAG;EACvD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACN,WAAA,CAAAO,YAAY,QACZ,IAAAF,MAAA,CAAAC,aAAA,EAACN,WAAA,CAAAQ,WAAW;IACXC,EAAE,EAAG,KAAO;IACZ,cAAa,IAAAC,QAAE,EAAE,WAAW,EAAE,4BAA6B,CAAG;IAC9DC,SAAS,EAAC;EAA+C,GAEzD,IAAAN,MAAA,CAAAC,aAAA,EAACN,WAAA,CAAAY,IAAI;IAACC,IAAI,EAAGC,iBAAY;IAACC,IAAI,EAAG;EAAI,CAAE,CAC3B,CACA,CAAC;AAEjB"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.mayDisplayParentControlsKey = exports.mayDisplayControlsKey = exports.blockEditingModeKey = exports.DEFAULT_BLOCK_EDIT_CONTEXT = exports.BlockEditContextProvider = void 0;
6
+ exports.mayDisplayParentControlsKey = exports.mayDisplayControlsKey = exports.blockEditingModeKey = exports.blockBindingsKey = exports.DEFAULT_BLOCK_EDIT_CONTEXT = exports.BlockEditContextProvider = void 0;
7
7
  exports.useBlockEditContext = useBlockEditContext;
8
8
  var _element = require("@wordpress/element");
9
9
  /**
@@ -13,6 +13,7 @@ var _element = require("@wordpress/element");
13
13
  const mayDisplayControlsKey = exports.mayDisplayControlsKey = Symbol('mayDisplayControls');
14
14
  const mayDisplayParentControlsKey = exports.mayDisplayParentControlsKey = Symbol('mayDisplayParentControls');
15
15
  const blockEditingModeKey = exports.blockEditingModeKey = Symbol('blockEditingMode');
16
+ const blockBindingsKey = exports.blockBindingsKey = Symbol('blockBindings');
16
17
  const DEFAULT_BLOCK_EDIT_CONTEXT = exports.DEFAULT_BLOCK_EDIT_CONTEXT = {
17
18
  name: '',
18
19
  isSelected: false
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","mayDisplayControlsKey","exports","Symbol","mayDisplayParentControlsKey","blockEditingModeKey","DEFAULT_BLOCK_EDIT_CONTEXT","name","isSelected","Context","createContext","Provider","BlockEditContextProvider","useBlockEditContext","useContext"],"sources":["@wordpress/block-editor/src/components/block-edit/context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n\nexport const mayDisplayControlsKey = Symbol( 'mayDisplayControls' );\nexport const mayDisplayParentControlsKey = Symbol( 'mayDisplayParentControls' );\nexport const blockEditingModeKey = Symbol( 'blockEditingMode' );\n\nexport const DEFAULT_BLOCK_EDIT_CONTEXT = {\n\tname: '',\n\tisSelected: false,\n};\n\nconst Context = createContext( DEFAULT_BLOCK_EDIT_CONTEXT );\nconst { Provider } = Context;\n\nexport { Provider as BlockEditContextProvider };\n\n/**\n * A hook that returns the block edit context.\n *\n * @return {Object} Block edit context\n */\nexport function useBlockEditContext() {\n\treturn useContext( Context );\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAGE,MAAM,CAAE,oBAAqB,CAAC;AAC5D,MAAMC,2BAA2B,GAAAF,OAAA,CAAAE,2BAAA,GAAGD,MAAM,CAAE,0BAA2B,CAAC;AACxE,MAAME,mBAAmB,GAAAH,OAAA,CAAAG,mBAAA,GAAGF,MAAM,CAAE,kBAAmB,CAAC;AAExD,MAAMG,0BAA0B,GAAAJ,OAAA,CAAAI,0BAAA,GAAG;EACzCC,IAAI,EAAE,EAAE;EACRC,UAAU,EAAE;AACb,CAAC;AAED,MAAMC,OAAO,GAAG,IAAAC,sBAAa,EAAEJ,0BAA2B,CAAC;AAC3D,MAAM;EAAEK;AAAS,CAAC,GAAGF,OAAO;AAACP,OAAA,CAAAU,wBAAA,GAAAD,QAAA;AAI7B;AACA;AACA;AACA;AACA;AACO,SAASE,mBAAmBA,CAAA,EAAG;EACrC,OAAO,IAAAC,mBAAU,EAAEL,OAAQ,CAAC;AAC7B"}
1
+ {"version":3,"names":["_element","require","mayDisplayControlsKey","exports","Symbol","mayDisplayParentControlsKey","blockEditingModeKey","blockBindingsKey","DEFAULT_BLOCK_EDIT_CONTEXT","name","isSelected","Context","createContext","Provider","BlockEditContextProvider","useBlockEditContext","useContext"],"sources":["@wordpress/block-editor/src/components/block-edit/context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\n\nexport const mayDisplayControlsKey = Symbol( 'mayDisplayControls' );\nexport const mayDisplayParentControlsKey = Symbol( 'mayDisplayParentControls' );\nexport const blockEditingModeKey = Symbol( 'blockEditingMode' );\nexport const blockBindingsKey = Symbol( 'blockBindings' );\n\nexport const DEFAULT_BLOCK_EDIT_CONTEXT = {\n\tname: '',\n\tisSelected: false,\n};\n\nconst Context = createContext( DEFAULT_BLOCK_EDIT_CONTEXT );\nconst { Provider } = Context;\n\nexport { Provider as BlockEditContextProvider };\n\n/**\n * A hook that returns the block edit context.\n *\n * @return {Object} Block edit context\n */\nexport function useBlockEditContext() {\n\treturn useContext( Context );\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGO,MAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAGE,MAAM,CAAE,oBAAqB,CAAC;AAC5D,MAAMC,2BAA2B,GAAAF,OAAA,CAAAE,2BAAA,GAAGD,MAAM,CAAE,0BAA2B,CAAC;AACxE,MAAME,mBAAmB,GAAAH,OAAA,CAAAG,mBAAA,GAAGF,MAAM,CAAE,kBAAmB,CAAC;AACxD,MAAMG,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,GAAGH,MAAM,CAAE,eAAgB,CAAC;AAElD,MAAMI,0BAA0B,GAAAL,OAAA,CAAAK,0BAAA,GAAG;EACzCC,IAAI,EAAE,EAAE;EACRC,UAAU,EAAE;AACb,CAAC;AAED,MAAMC,OAAO,GAAG,IAAAC,sBAAa,EAAEJ,0BAA2B,CAAC;AAC3D,MAAM;EAAEK;AAAS,CAAC,GAAGF,OAAO;AAACR,OAAA,CAAAW,wBAAA,GAAAD,QAAA;AAI7B;AACA;AACA;AACA;AACA;AACO,SAASE,mBAAmBA,CAAA,EAAG;EACrC,OAAO,IAAAC,mBAAU,EAAEL,OAAQ,CAAC;AAC7B"}
@@ -49,8 +49,12 @@ function BlockEdit({
49
49
  __unstableLayoutClassNames
50
50
  } = props;
51
51
  const {
52
- layout = null
52
+ layout = null,
53
+ metadata = {}
53
54
  } = attributes;
55
+ const {
56
+ bindings
57
+ } = metadata;
54
58
  const layoutSupport = (0, _blocks.hasBlockSupport)(name, 'layout', false) || (0, _blocks.hasBlockSupport)(name, '__experimentalLayout', false);
55
59
  return (0, _react.createElement)(_context.BlockEditContextProvider
56
60
  // It is important to return the same object if props haven't
@@ -67,8 +71,9 @@ function BlockEdit({
67
71
  // usage outside of the package (this context is exposed).
68
72
  [_context.mayDisplayControlsKey]: mayDisplayControls,
69
73
  [_context.mayDisplayParentControlsKey]: mayDisplayParentControls,
70
- [_context.blockEditingModeKey]: blockEditingMode
71
- }), [name, isSelected, clientId, layoutSupport, layout, __unstableLayoutClassNames, mayDisplayControls, mayDisplayParentControls, blockEditingMode])
74
+ [_context.blockEditingModeKey]: blockEditingMode,
75
+ [_context.blockBindingsKey]: bindings
76
+ }), [name, isSelected, clientId, layoutSupport, layout, __unstableLayoutClassNames, mayDisplayControls, mayDisplayParentControls, blockEditingMode, bindings])
72
77
  }, (0, _react.createElement)(_edit.default, {
73
78
  ...props
74
79
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_blocks","_edit","_interopRequireDefault","_context","BlockEdit","mayDisplayControls","mayDisplayParentControls","blockEditingMode","props","name","isSelected","clientId","attributes","__unstableLayoutClassNames","layout","layoutSupport","hasBlockSupport","_react","createElement","BlockEditContextProvider","value","useMemo","mayDisplayControlsKey","mayDisplayParentControlsKey","blockEditingModeKey","default"],"sources":["@wordpress/block-editor/src/components/block-edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\nimport { hasBlockSupport } from '@wordpress/blocks';\n/**\n * Internal dependencies\n */\nimport Edit from './edit';\nimport {\n\tBlockEditContextProvider,\n\tuseBlockEditContext,\n\tmayDisplayControlsKey,\n\tmayDisplayParentControlsKey,\n\tblockEditingModeKey,\n} from './context';\n\n/**\n * The `useBlockEditContext` hook provides information about the block this hook is being used in.\n * It returns an object with the `name`, `isSelected` state, and the `clientId` of the block.\n * It is useful if you want to create custom hooks that need access to the current blocks clientId\n * but don't want to rely on the data getting passed in as a parameter.\n *\n * @return {Object} Block edit context\n */\nexport { useBlockEditContext };\n\nexport default function BlockEdit( {\n\tmayDisplayControls,\n\tmayDisplayParentControls,\n\tblockEditingMode,\n\t// The remaining props are passed through the BlockEdit filters and are thus\n\t// public API!\n\t...props\n} ) {\n\tconst {\n\t\tname,\n\t\tisSelected,\n\t\tclientId,\n\t\tattributes = {},\n\t\t__unstableLayoutClassNames,\n\t} = props;\n\tconst { layout = null } = attributes;\n\tconst layoutSupport =\n\t\thasBlockSupport( name, 'layout', false ) ||\n\t\thasBlockSupport( name, '__experimentalLayout', false );\n\treturn (\n\t\t<BlockEditContextProvider\n\t\t\t// It is important to return the same object if props haven't\n\t\t\t// changed to avoid unnecessary rerenders.\n\t\t\t// See https://reactjs.org/docs/context.html#caveats.\n\t\t\tvalue={ useMemo(\n\t\t\t\t() => ( {\n\t\t\t\t\tname,\n\t\t\t\t\tisSelected,\n\t\t\t\t\tclientId,\n\t\t\t\t\tlayout: layoutSupport ? layout : null,\n\t\t\t\t\t__unstableLayoutClassNames,\n\t\t\t\t\t// We use symbols in favour of an __unstable prefix to avoid\n\t\t\t\t\t// usage outside of the package (this context is exposed).\n\t\t\t\t\t[ mayDisplayControlsKey ]: mayDisplayControls,\n\t\t\t\t\t[ mayDisplayParentControlsKey ]: mayDisplayParentControls,\n\t\t\t\t\t[ blockEditingModeKey ]: blockEditingMode,\n\t\t\t\t} ),\n\t\t\t\t[\n\t\t\t\t\tname,\n\t\t\t\t\tisSelected,\n\t\t\t\t\tclientId,\n\t\t\t\t\tlayoutSupport,\n\t\t\t\t\tlayout,\n\t\t\t\t\t__unstableLayoutClassNames,\n\t\t\t\t\tmayDisplayControls,\n\t\t\t\t\tmayDisplayParentControls,\n\t\t\t\t\tblockEditingMode,\n\t\t\t\t]\n\t\t\t) }\n\t\t>\n\t\t\t<Edit { ...props } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n"],"mappings":";;;;;;;;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAIA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGe,SAASK,SAASA,CAAE;EAClCC,kBAAkB;EAClBC,wBAAwB;EACxBC,gBAAgB;EAChB;EACA;EACA,GAAGC;AACJ,CAAC,EAAG;EACH,MAAM;IACLC,IAAI;IACJC,UAAU;IACVC,QAAQ;IACRC,UAAU,GAAG,CAAC,CAAC;IACfC;EACD,CAAC,GAAGL,KAAK;EACT,MAAM;IAAEM,MAAM,GAAG;EAAK,CAAC,GAAGF,UAAU;EACpC,MAAMG,aAAa,GAClB,IAAAC,uBAAe,EAAEP,IAAI,EAAE,QAAQ,EAAE,KAAM,CAAC,IACxC,IAAAO,uBAAe,EAAEP,IAAI,EAAE,sBAAsB,EAAE,KAAM,CAAC;EACvD,OACC,IAAAQ,MAAA,CAAAC,aAAA,EAACf,QAAA,CAAAgB;EACA;EACA;EACA;EAAA;IACAC,KAAK,EAAG,IAAAC,gBAAO,EACd,OAAQ;MACPZ,IAAI;MACJC,UAAU;MACVC,QAAQ;MACRG,MAAM,EAAEC,aAAa,GAAGD,MAAM,GAAG,IAAI;MACrCD,0BAA0B;MAC1B;MACA;MACA,CAAES,8BAAqB,GAAIjB,kBAAkB;MAC7C,CAAEkB,oCAA2B,GAAIjB,wBAAwB;MACzD,CAAEkB,4BAAmB,GAAIjB;IAC1B,CAAC,CAAE,EACH,CACCE,IAAI,EACJC,UAAU,EACVC,QAAQ,EACRI,aAAa,EACbD,MAAM,EACND,0BAA0B,EAC1BR,kBAAkB,EAClBC,wBAAwB,EACxBC,gBAAgB,CAElB;EAAG,GAEH,IAAAU,MAAA,CAAAC,aAAA,EAACjB,KAAA,CAAAwB,OAAI;IAAA,GAAMjB;EAAK,CAAI,CACK,CAAC;AAE7B"}
1
+ {"version":3,"names":["_element","require","_blocks","_edit","_interopRequireDefault","_context","BlockEdit","mayDisplayControls","mayDisplayParentControls","blockEditingMode","props","name","isSelected","clientId","attributes","__unstableLayoutClassNames","layout","metadata","bindings","layoutSupport","hasBlockSupport","_react","createElement","BlockEditContextProvider","value","useMemo","mayDisplayControlsKey","mayDisplayParentControlsKey","blockEditingModeKey","blockBindingsKey","default"],"sources":["@wordpress/block-editor/src/components/block-edit/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\nimport { hasBlockSupport } from '@wordpress/blocks';\n/**\n * Internal dependencies\n */\nimport Edit from './edit';\nimport {\n\tBlockEditContextProvider,\n\tuseBlockEditContext,\n\tmayDisplayControlsKey,\n\tmayDisplayParentControlsKey,\n\tblockEditingModeKey,\n\tblockBindingsKey,\n} from './context';\n\n/**\n * The `useBlockEditContext` hook provides information about the block this hook is being used in.\n * It returns an object with the `name`, `isSelected` state, and the `clientId` of the block.\n * It is useful if you want to create custom hooks that need access to the current blocks clientId\n * but don't want to rely on the data getting passed in as a parameter.\n *\n * @return {Object} Block edit context\n */\nexport { useBlockEditContext };\n\nexport default function BlockEdit( {\n\tmayDisplayControls,\n\tmayDisplayParentControls,\n\tblockEditingMode,\n\t// The remaining props are passed through the BlockEdit filters and are thus\n\t// public API!\n\t...props\n} ) {\n\tconst {\n\t\tname,\n\t\tisSelected,\n\t\tclientId,\n\t\tattributes = {},\n\t\t__unstableLayoutClassNames,\n\t} = props;\n\tconst { layout = null, metadata = {} } = attributes;\n\tconst { bindings } = metadata;\n\tconst layoutSupport =\n\t\thasBlockSupport( name, 'layout', false ) ||\n\t\thasBlockSupport( name, '__experimentalLayout', false );\n\treturn (\n\t\t<BlockEditContextProvider\n\t\t\t// It is important to return the same object if props haven't\n\t\t\t// changed to avoid unnecessary rerenders.\n\t\t\t// See https://reactjs.org/docs/context.html#caveats.\n\t\t\tvalue={ useMemo(\n\t\t\t\t() => ( {\n\t\t\t\t\tname,\n\t\t\t\t\tisSelected,\n\t\t\t\t\tclientId,\n\t\t\t\t\tlayout: layoutSupport ? layout : null,\n\t\t\t\t\t__unstableLayoutClassNames,\n\t\t\t\t\t// We use symbols in favour of an __unstable prefix to avoid\n\t\t\t\t\t// usage outside of the package (this context is exposed).\n\t\t\t\t\t[ mayDisplayControlsKey ]: mayDisplayControls,\n\t\t\t\t\t[ mayDisplayParentControlsKey ]: mayDisplayParentControls,\n\t\t\t\t\t[ blockEditingModeKey ]: blockEditingMode,\n\t\t\t\t\t[ blockBindingsKey ]: bindings,\n\t\t\t\t} ),\n\t\t\t\t[\n\t\t\t\t\tname,\n\t\t\t\t\tisSelected,\n\t\t\t\t\tclientId,\n\t\t\t\t\tlayoutSupport,\n\t\t\t\t\tlayout,\n\t\t\t\t\t__unstableLayoutClassNames,\n\t\t\t\t\tmayDisplayControls,\n\t\t\t\t\tmayDisplayParentControls,\n\t\t\t\t\tblockEditingMode,\n\t\t\t\t\tbindings,\n\t\t\t\t]\n\t\t\t) }\n\t\t>\n\t\t\t<Edit { ...props } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n"],"mappings":";;;;;;;;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAIA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGe,SAASK,SAASA,CAAE;EAClCC,kBAAkB;EAClBC,wBAAwB;EACxBC,gBAAgB;EAChB;EACA;EACA,GAAGC;AACJ,CAAC,EAAG;EACH,MAAM;IACLC,IAAI;IACJC,UAAU;IACVC,QAAQ;IACRC,UAAU,GAAG,CAAC,CAAC;IACfC;EACD,CAAC,GAAGL,KAAK;EACT,MAAM;IAAEM,MAAM,GAAG,IAAI;IAAEC,QAAQ,GAAG,CAAC;EAAE,CAAC,GAAGH,UAAU;EACnD,MAAM;IAAEI;EAAS,CAAC,GAAGD,QAAQ;EAC7B,MAAME,aAAa,GAClB,IAAAC,uBAAe,EAAET,IAAI,EAAE,QAAQ,EAAE,KAAM,CAAC,IACxC,IAAAS,uBAAe,EAAET,IAAI,EAAE,sBAAsB,EAAE,KAAM,CAAC;EACvD,OACC,IAAAU,MAAA,CAAAC,aAAA,EAACjB,QAAA,CAAAkB;EACA;EACA;EACA;EAAA;IACAC,KAAK,EAAG,IAAAC,gBAAO,EACd,OAAQ;MACPd,IAAI;MACJC,UAAU;MACVC,QAAQ;MACRG,MAAM,EAAEG,aAAa,GAAGH,MAAM,GAAG,IAAI;MACrCD,0BAA0B;MAC1B;MACA;MACA,CAAEW,8BAAqB,GAAInB,kBAAkB;MAC7C,CAAEoB,oCAA2B,GAAInB,wBAAwB;MACzD,CAAEoB,4BAAmB,GAAInB,gBAAgB;MACzC,CAAEoB,yBAAgB,GAAIX;IACvB,CAAC,CAAE,EACH,CACCP,IAAI,EACJC,UAAU,EACVC,QAAQ,EACRM,aAAa,EACbH,MAAM,EACND,0BAA0B,EAC1BR,kBAAkB,EAClBC,wBAAwB,EACxBC,gBAAgB,EAChBS,QAAQ,CAEV;EAAG,GAEH,IAAAG,MAAA,CAAAC,aAAA,EAACnB,KAAA,CAAA2B,OAAI;IAAA,GAAMpB;EAAK,CAAI,CACK,CAAC;AAE7B"}
@@ -97,6 +97,9 @@ const BlockInspector = ({
97
97
  // and its parent, and only enable it if the parent is controlling
98
98
  // its children blocks.
99
99
  const blockInspectorAnimationSettings = (0, _useBlockInspectorAnimationSettings.default)(blockType, selectedBlockClientId);
100
+ const borderPanelLabel = (0, _border.useBorderPanelLabel)({
101
+ blockName: selectedBlockName
102
+ });
100
103
  if (count > 1) {
101
104
  return (0, _react.createElement)("div", {
102
105
  className: "block-editor-block-inspector"
@@ -114,9 +117,7 @@ const BlockInspector = ({
114
117
  label: (0, _i18n.__)('Dimensions')
115
118
  }), (0, _react.createElement)(_inspectorControls.default.Slot, {
116
119
  group: "border",
117
- label: (0, _border.getBorderPanelLabel)({
118
- blockName: selectedBlockName
119
- })
120
+ label: borderPanelLabel
120
121
  }), (0, _react.createElement)(_inspectorControls.default.Slot, {
121
122
  group: "styles"
122
123
  })));
@@ -194,7 +195,7 @@ const BlockInspectorSingleBlock = ({
194
195
  return blockStyles && blockStyles.length > 0;
195
196
  }, [blockName]);
196
197
  const blockInformation = (0, _useBlockDisplayInformation.default)(clientId);
197
- const borderPanelLabel = (0, _border.getBorderPanelLabel)({
198
+ const borderPanelLabel = (0, _border.useBorderPanelLabel)({
198
199
  blockName
199
200
  });
200
201
  return (0, _react.createElement)("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_blocks","_components","_data","_skipToSelectedBlock","_interopRequireDefault","_blockCard","_multiSelectionInspector","_blockVariationTransforms","_useBlockDisplayInformation","_store","_blockStyles","_inspectorControls","_inspectorControlsTabs","_useInspectorControlsTabs","_advancedControlsPanel","_positionControlsPanel","_useBlockInspectorAnimationSettings","_blockInfoSlotFill","_blockQuickNavigation","_border","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","useSelect","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","blockEditorStore","filter","clientId","blockInformation","useBlockDisplayInformation","_react","createElement","className","default","isSynced","blockClientId","Slot","length","PanelBody","title","__","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","getBlockType","undefined","availableTabs","useInspectorControlsTabs","name","showTabs","blockInspectorAnimationSettings","useBlockInspectorAnimationSettings","tabs","Fragment","group","label","getBorderPanelLabel","blockName","isSelectedBlockUnregistered","getUnregisteredTypeHandlerName","BlockInspectorSingleBlockWrapper","animate","wrapper","children","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","__unstableMotion","div","x","opacity","transition","ease","duration","initial","key","hasBlockStyles","getBlockStyles","blocksStore","blockStyles","borderPanelLabel","_default","exports"],"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 { getBorderPanelLabel } from '../../hooks/border';\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 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<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<BlockInfo.Slot />\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\t__unstableGetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\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\t__unstableGetContentLockingParent( _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 = useBlockInspectorAnimationSettings(\n\t\tblockType,\n\t\tselectedBlockClientId\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=\"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={ getBorderPanelLabel( {\n\t\t\t\t\t\t\t\tblockName: selectedBlockName,\n\t\t\t\t\t\t\t} ) }\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 = getBorderPanelLabel( { 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<div>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</div>\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=\"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<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<PositionControls />\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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"}
1
+ {"version":3,"names":["_i18n","require","_blocks","_components","_data","_skipToSelectedBlock","_interopRequireDefault","_blockCard","_multiSelectionInspector","_blockVariationTransforms","_useBlockDisplayInformation","_store","_blockStyles","_inspectorControls","_inspectorControlsTabs","_useInspectorControlsTabs","_advancedControlsPanel","_positionControlsPanel","_useBlockInspectorAnimationSettings","_blockInfoSlotFill","_blockQuickNavigation","_border","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","useSelect","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","blockEditorStore","filter","clientId","blockInformation","useBlockDisplayInformation","_react","createElement","className","default","isSynced","blockClientId","Slot","length","PanelBody","title","__","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","getBlockType","undefined","availableTabs","useInspectorControlsTabs","name","showTabs","blockInspectorAnimationSettings","useBlockInspectorAnimationSettings","borderPanelLabel","useBorderPanelLabel","blockName","tabs","Fragment","group","label","isSelectedBlockUnregistered","getUnregisteredTypeHandlerName","BlockInspectorSingleBlockWrapper","animate","wrapper","children","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","__unstableMotion","div","x","opacity","transition","ease","duration","initial","key","hasBlockStyles","getBlockStyles","blocksStore","blockStyles","_default","exports"],"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\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 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<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<BlockInfo.Slot />\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\t__unstableGetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\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\t__unstableGetContentLockingParent( _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 = useBlockInspectorAnimationSettings(\n\t\tblockType,\n\t\tselectedBlockClientId\n\t);\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=\"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<div>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</div>\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=\"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<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<PositionControls />\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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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_i18n","_data","_blocks","_warning","_interopRequireDefault","_store","BlockInvalidWarning","clientId","selector","select","getBlock","blockEditorStore","block","name","blockType","getBlockType","title","blockIcon","icon","blockTitle","useSelect","accessibilityLabel","sprintf","__","replaceBlock","useDispatch","recoverBlock","attributes","innerBlocks","createBlock","attemptBlockRecovery","_react","createElement","TouchableWithoutFeedback","onPress","accessible","accessibilityRole","default","message"],"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock, getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function BlockInvalidWarning( { clientId } ) {\n\tconst selector = ( select ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst { name } = block || {};\n\n\t\tconst blockType = getBlockType( name || 'core/missing' );\n\t\tconst title = blockType?.title;\n\t\tconst blockIcon = blockType?.icon;\n\n\t\treturn {\n\t\t\tblock,\n\t\t\tblockTitle: title,\n\t\t\ticon: blockIcon,\n\t\t};\n\t};\n\n\tconst { block, blockTitle, icon } = useSelect( selector, [ clientId ] );\n\n\tconst accessibilityLabel = sprintf(\n\t\t/* translators: accessibility text for blocks with invalid content. %d: localized block title */\n\t\t__( '%s block. This block has invalid content' ),\n\t\tblockTitle\n\t);\n\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst recoverBlock = ( { name, attributes, innerBlocks } ) =>\n\t\tcreateBlock( name, attributes, innerBlocks );\n\n\tconst attemptBlockRecovery = () => {\n\t\treplaceBlock( block.clientId, recoverBlock( block ) );\n\t};\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\tonPress={ attemptBlockRecovery }\n\t\t\taccessible={ true }\n\t\t\taccessibilityRole={ 'button' }\n\t\t>\n\t\t\t<Warning\n\t\t\t\ttitle={ blockTitle }\n\t\t\t\t// eslint-disable-next-line @wordpress/i18n-no-collapsible-whitespace\n\t\t\t\tmessage={ __(\n\t\t\t\t\t'Problem displaying block. \\nTap to attempt block recovery.'\n\t\t\t\t) }\n\t\t\t\ticon={ icon }\n\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t/>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,QAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAIe,SAASO,mBAAmBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC3D,MAAMC,QAAQ,GAAKC,MAAM,IAAM;IAC9B,MAAM;MAAEC;IAAS,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;IAC/C,MAAMC,KAAK,GAAGF,QAAQ,CAAEH,QAAS,CAAC;IAClC,MAAM;MAAEM;IAAK,CAAC,GAAGD,KAAK,IAAI,CAAC,CAAC;IAE5B,MAAME,SAAS,GAAG,IAAAC,oBAAY,EAAEF,IAAI,IAAI,cAAe,CAAC;IACxD,MAAMG,KAAK,GAAGF,SAAS,EAAEE,KAAK;IAC9B,MAAMC,SAAS,GAAGH,SAAS,EAAEI,IAAI;IAEjC,OAAO;MACNN,KAAK;MACLO,UAAU,EAAEH,KAAK;MACjBE,IAAI,EAAED;IACP,CAAC;EACF,CAAC;EAED,MAAM;IAAEL,KAAK;IAAEO,UAAU;IAAED;EAAK,CAAC,GAAG,IAAAE,eAAS,EAAEZ,QAAQ,EAAE,CAAED,QAAQ,CAAG,CAAC;EAEvE,MAAMc,kBAAkB,GAAG,IAAAC,aAAO,GACjC;EACA,IAAAC,QAAE,EAAE,0CAA2C,CAAC,EAChDJ,UACD,CAAC;EAED,MAAM;IAAEK;EAAa,CAAC,GAAG,IAAAC,iBAAW,EAAEd,YAAiB,CAAC;EAExD,MAAMe,YAAY,GAAGA,CAAE;IAAEb,IAAI;IAAEc,UAAU;IAAEC;EAAY,CAAC,KACvD,IAAAC,mBAAW,EAAEhB,IAAI,EAAEc,UAAU,EAAEC,WAAY,CAAC;EAE7C,MAAME,oBAAoB,GAAGA,CAAA,KAAM;IAClCN,YAAY,CAAEZ,KAAK,CAACL,QAAQ,EAAEmB,YAAY,CAAEd,KAAM,CAAE,CAAC;EACtD,CAAC;EAED,OACC,IAAAmB,MAAA,CAAAC,aAAA,EAAClC,YAAA,CAAAmC,wBAAwB;IACxBC,OAAO,EAAGJ,oBAAsB;IAChCK,UAAU,EAAG,IAAM;IACnBC,iBAAiB,EAAG;EAAU,GAE9B,IAAAL,MAAA,CAAAC,aAAA,EAAC7B,QAAA,CAAAkC,OAAO;IACPrB,KAAK,EAAGG;IACR;IAAA;IACAmB,OAAO,EAAG,IAAAf,QAAE,EACX,4DACD,CAAG;IACHL,IAAI,EAAGA,IAAM;IACbG,kBAAkB,EAAGA;EAAoB,CACzC,CACwB,CAAC;AAE7B"}
1
+ {"version":3,"names":["_reactNative","require","_i18n","_data","_blocks","_warning","_interopRequireDefault","_store","BlockInvalidWarning","clientId","selector","select","getBlock","blockEditorStore","block","name","blockType","getBlockType","title","blockIcon","icon","blockTitle","useSelect","accessibilityLabel","sprintf","__","replaceBlock","useDispatch","recoverBlock","attributes","innerBlocks","createBlock","attemptBlockRecovery","_react","createElement","TouchableWithoutFeedback","onPress","accessible","accessibilityRole","default","message"],"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { createBlock, getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function BlockInvalidWarning( { clientId } ) {\n\tconst selector = ( select ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\t\tconst block = getBlock( clientId );\n\t\tconst { name } = block || {};\n\n\t\tconst blockType = getBlockType( name || 'core/missing' );\n\t\tconst title = blockType?.title;\n\t\tconst blockIcon = blockType?.icon;\n\n\t\treturn {\n\t\t\tblock,\n\t\t\tblockTitle: title,\n\t\t\ticon: blockIcon,\n\t\t};\n\t};\n\n\tconst { block, blockTitle, icon } = useSelect( selector, [ clientId ] );\n\n\tconst accessibilityLabel = sprintf(\n\t\t/* translators: accessibility text for blocks with invalid content. %d: localized block title */\n\t\t__( '%s block. This block has invalid content' ),\n\t\tblockTitle\n\t);\n\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst recoverBlock = ( { name, attributes, innerBlocks } ) =>\n\t\tcreateBlock( name, attributes, innerBlocks );\n\n\tconst attemptBlockRecovery = () => {\n\t\treplaceBlock( block.clientId, recoverBlock( block ) );\n\t};\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\tonPress={ attemptBlockRecovery }\n\t\t\taccessible\n\t\t\taccessibilityRole={ 'button' }\n\t\t>\n\t\t\t<Warning\n\t\t\t\ttitle={ blockTitle }\n\t\t\t\t// eslint-disable-next-line @wordpress/i18n-no-collapsible-whitespace\n\t\t\t\tmessage={ __(\n\t\t\t\t\t'Problem displaying block. \\nTap to attempt block recovery.'\n\t\t\t\t) }\n\t\t\t\ticon={ icon }\n\t\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\t/>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,QAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAIe,SAASO,mBAAmBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC3D,MAAMC,QAAQ,GAAKC,MAAM,IAAM;IAC9B,MAAM;MAAEC;IAAS,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;IAC/C,MAAMC,KAAK,GAAGF,QAAQ,CAAEH,QAAS,CAAC;IAClC,MAAM;MAAEM;IAAK,CAAC,GAAGD,KAAK,IAAI,CAAC,CAAC;IAE5B,MAAME,SAAS,GAAG,IAAAC,oBAAY,EAAEF,IAAI,IAAI,cAAe,CAAC;IACxD,MAAMG,KAAK,GAAGF,SAAS,EAAEE,KAAK;IAC9B,MAAMC,SAAS,GAAGH,SAAS,EAAEI,IAAI;IAEjC,OAAO;MACNN,KAAK;MACLO,UAAU,EAAEH,KAAK;MACjBE,IAAI,EAAED;IACP,CAAC;EACF,CAAC;EAED,MAAM;IAAEL,KAAK;IAAEO,UAAU;IAAED;EAAK,CAAC,GAAG,IAAAE,eAAS,EAAEZ,QAAQ,EAAE,CAAED,QAAQ,CAAG,CAAC;EAEvE,MAAMc,kBAAkB,GAAG,IAAAC,aAAO,GACjC;EACA,IAAAC,QAAE,EAAE,0CAA2C,CAAC,EAChDJ,UACD,CAAC;EAED,MAAM;IAAEK;EAAa,CAAC,GAAG,IAAAC,iBAAW,EAAEd,YAAiB,CAAC;EAExD,MAAMe,YAAY,GAAGA,CAAE;IAAEb,IAAI;IAAEc,UAAU;IAAEC;EAAY,CAAC,KACvD,IAAAC,mBAAW,EAAEhB,IAAI,EAAEc,UAAU,EAAEC,WAAY,CAAC;EAE7C,MAAME,oBAAoB,GAAGA,CAAA,KAAM;IAClCN,YAAY,CAAEZ,KAAK,CAACL,QAAQ,EAAEmB,YAAY,CAAEd,KAAM,CAAE,CAAC;EACtD,CAAC;EAED,OACC,IAAAmB,MAAA,CAAAC,aAAA,EAAClC,YAAA,CAAAmC,wBAAwB;IACxBC,OAAO,EAAGJ,oBAAsB;IAChCK,UAAU;IACVC,iBAAiB,EAAG;EAAU,GAE9B,IAAAL,MAAA,CAAAC,aAAA,EAAC7B,QAAA,CAAAkC,OAAO;IACPrB,KAAK,EAAGG;IACR;IAAA;IACAmB,OAAO,EAAG,IAAAf,QAAE,EACX,4DACD,CAAG;IACHL,IAAI,EAAGA,IAAM;IACbG,kBAAkB,EAAGA;EAAoB,CACzC,CACwB,CAAC;AAE7B"}
@@ -92,7 +92,7 @@ function BlockListItemContent({
92
92
  align
93
93
  } = getBlockAttributes(clientId) || {};
94
94
  const {
95
- align: parentBlockAlign
95
+ textAlign: parentBlockAlign
96
96
  } = getBlockAttributes(rootClientId) || {};
97
97
  return {
98
98
  blockAlignment: align,
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_data","_block","_interopRequireDefault","_gridItem","_insertionPoint","_store","_useEditorWrapperStyles","BlockListItemContent","blockWidth","clientId","contentResizeMode","contentStyle","index","isStackedHorizontally","marginHorizontal","marginVertical","onAddBlock","onDeleteBlock","parentWidth","rootClientId","shouldShowInnerBlockAppender","blockAlignment","blockName","hasParents","parentBlockAlignment","parentBlockName","shouldShowInsertionPointAfter","shouldShowInsertionPointBefore","useSelect","select","getBlockAttributes","getBlockInsertionPoint","getBlockName","getBlockOrder","isBlockInsertionPointVisible","blockEditorStore","blockClientIds","insertionPoint","insertionPointVisibleInCurrentRoot","isListEmpty","length","isInsertionPointBeforeBlock","isInsertionPointAtEnd","isBlockLastInList","showInsertionPointBefore","showInsertionPointAfter","blockHasParents","name","parentName","align","parentBlockAlign","wrapperStyles","margin","useEditorWrapperStyles","shouldShowBlockInsertionPointAfter","_react","createElement","View","style","default","testID","BlockListItem","props","isGridItem","numOfColumns","tileCount","tileIndex","restProps","maxWidth","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-list/block-list-item.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Block from './block';\nimport Grid from './grid-item';\nimport BlockInsertionPoint from './insertion-point';\nimport { store as blockEditorStore } from '../../store';\nimport { useEditorWrapperStyles } from '../../hooks/use-editor-wrapper-styles';\n\n/**\n * BlockListItemContent component. Renders a block with an optional insertion point.\n *\n * @param {Object} props Component properties.\n * @param {number} props.blockWidth The width of the block.\n * @param {string} props.clientId The block client ID.\n * @param {string} props.contentResizeMode The content resize mode, e.g \"stretch\".\n * @param {Object} props.contentStyle Styles for the block content\n * @param {Object} props.index Block item index\n * @param {boolean} props.isStackedHorizontally Whether the block is stacked horizontally.\n * @param {number} props.marginHorizontal The horizontal margin.\n * @param {number} props.marginVertical The vertical margin.\n * @param {Function} props.onAddBlock On add block callback.\n * @param {Function} props.onDeleteBlock On delete block callback.\n * @param {number} props.parentWidth The width of the parent block.\n * @param {string} props.rootClientId The root client ID.\n * @param {Function} props.shouldShowInnerBlockAppender Whether to show the inner block appender.\n *\n * @return {Component} The rendered block list item content.\n */\nfunction BlockListItemContent( {\n\tblockWidth,\n\tclientId,\n\tcontentResizeMode,\n\tcontentStyle,\n\tindex,\n\tisStackedHorizontally,\n\tmarginHorizontal,\n\tmarginVertical,\n\tonAddBlock,\n\tonDeleteBlock,\n\tparentWidth,\n\trootClientId,\n\tshouldShowInnerBlockAppender,\n} ) {\n\tconst {\n\t\tblockAlignment,\n\t\tblockName,\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\tparentBlockName,\n\t\tshouldShowInsertionPointAfter,\n\t\tshouldShowInsertionPointBefore,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\n\t\t\tconst insertionPointVisibleInCurrentRoot =\n\t\t\t\t! isStackedHorizontally &&\n\t\t\t\tisBlockInsertionPointVisible() &&\n\t\t\t\tinsertionPoint.rootClientId === rootClientId;\n\n\t\t\tconst isListEmpty = blockClientIds.length === 0;\n\t\t\tconst isInsertionPointBeforeBlock =\n\t\t\t\tblockClientIds[ insertionPoint.index ] === clientId;\n\t\t\tconst isInsertionPointAtEnd =\n\t\t\t\tblockClientIds.length === insertionPoint.index;\n\t\t\tconst isBlockLastInList =\n\t\t\t\tblockClientIds[ insertionPoint.index - 1 ] === clientId;\n\n\t\t\tconst showInsertionPointBefore =\n\t\t\t\tinsertionPointVisibleInCurrentRoot &&\n\t\t\t\t( isListEmpty || isInsertionPointBeforeBlock );\n\n\t\t\tconst showInsertionPointAfter =\n\t\t\t\tinsertionPointVisibleInCurrentRoot &&\n\t\t\t\tisInsertionPointAtEnd &&\n\t\t\t\tisBlockLastInList;\n\n\t\t\tconst blockHasParents = !! rootClientId;\n\t\t\tconst name = getBlockName( clientId );\n\t\t\tconst parentName = getBlockName( rootClientId );\n\t\t\tconst { align } = getBlockAttributes( clientId ) || {};\n\t\t\tconst { align: parentBlockAlign } =\n\t\t\t\tgetBlockAttributes( rootClientId ) || {};\n\n\t\t\treturn {\n\t\t\t\tblockAlignment: align,\n\t\t\t\tblockName: name,\n\t\t\t\thasParents: blockHasParents,\n\t\t\t\tparentBlockAlignment: parentBlockAlign,\n\t\t\t\tparentBlockName: parentName,\n\t\t\t\tshouldShowInsertionPointAfter: showInsertionPointAfter,\n\t\t\t\tshouldShowInsertionPointBefore: showInsertionPointBefore,\n\t\t\t};\n\t\t},\n\t\t[ isStackedHorizontally, rootClientId, clientId ]\n\t);\n\n\tconst [ wrapperStyles, margin ] = useEditorWrapperStyles( {\n\t\talign: blockAlignment,\n\t\tblockName,\n\t\tblockWidth,\n\t\tcontentResizeMode,\n\t\thasParents,\n\t\tmarginHorizontal,\n\t\tparentBlockAlignment,\n\t\tparentBlockName,\n\t\tparentWidth,\n\t} );\n\n\tconst shouldShowBlockInsertionPointAfter =\n\t\t! shouldShowInnerBlockAppender() && shouldShowInsertionPointAfter;\n\n\treturn (\n\t\t<View style={ wrapperStyles }>\n\t\t\t{ shouldShowInsertionPointBefore && (\n\t\t\t\t<BlockInsertionPoint\n\t\t\t\t\ttestID={ `block-insertion-point-before-row-${ index + 1 }` }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Block\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\tmarginHorizontal={ margin }\n\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t/>\n\t\t\t{ shouldShowBlockInsertionPointAfter && (\n\t\t\t\t<BlockInsertionPoint\n\t\t\t\t\ttestID={ `block-insertion-point-after-row-${ index + 1 }` }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\n/**\n * BlockListItem component. Renders a block list item either as a grid item or as a standalone item.\n *\n * @param {Object} props Component properties.\n * @param {boolean} props.isGridItem Whether the block is a grid item.\n * @param {number} props.numOfColumns The number of columns for grid layout.\n * @param {number} props.parentWidth The width of the parent block.\n * @param {number} props.tileCount The total number of tiles in the grid.\n * @param {number} props.tileIndex The index of the current tile in the grid.\n * @param {number} props.blockWidth The width of the block.\n * @param {string} props.clientId The block client ID.\n * @param {string} props.contentResizeMode The content resize mode, e.g \"stretch\".\n * @param {Object} props.contentStyle Styles for the block content\n * @param {Object} props.index Block item index\n * @param {boolean} props.isStackedHorizontally Whether the block is stacked horizontally.\n * @param {number} props.marginHorizontal The horizontal margin.\n * @param {number} props.marginVertical The vertical margin.\n * @param {Function} props.onAddBlock On add block callback.\n * @param {Function} props.onDeleteBlock On delete block callback.\n * @param {string} props.rootClientId The root client ID.\n * @param {Function} props.shouldShowInnerBlockAppender Whether to show the inner block appender.\n *\n * @return {Component|null} The rendered block list item or null if the block width is not provided.\n */\nfunction BlockListItem( props ) {\n\tconst { isGridItem, numOfColumns, tileCount, tileIndex, ...restProps } =\n\t\tprops;\n\n\tif ( ! props?.blockWidth ) {\n\t\treturn null;\n\t}\n\n\tif ( isGridItem ) {\n\t\treturn (\n\t\t\t<Grid\n\t\t\t\tmaxWidth={ props?.parentWidth }\n\t\t\t\tnumOfColumns={ numOfColumns }\n\t\t\t\ttileCount={ tileCount }\n\t\t\t\tindex={ tileIndex }\n\t\t\t>\n\t\t\t\t<BlockListItemContent { ...restProps } />\n\t\t\t</Grid>\n\t\t);\n\t}\n\n\treturn <BlockListItemContent { ...restProps } />;\n}\n\nexport default BlockListItem;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_data","_block","_interopRequireDefault","_gridItem","_insertionPoint","_store","_useEditorWrapperStyles","BlockListItemContent","blockWidth","clientId","contentResizeMode","contentStyle","index","isStackedHorizontally","marginHorizontal","marginVertical","onAddBlock","onDeleteBlock","parentWidth","rootClientId","shouldShowInnerBlockAppender","blockAlignment","blockName","hasParents","parentBlockAlignment","parentBlockName","shouldShowInsertionPointAfter","shouldShowInsertionPointBefore","useSelect","select","getBlockAttributes","getBlockInsertionPoint","getBlockName","getBlockOrder","isBlockInsertionPointVisible","blockEditorStore","blockClientIds","insertionPoint","insertionPointVisibleInCurrentRoot","isListEmpty","length","isInsertionPointBeforeBlock","isInsertionPointAtEnd","isBlockLastInList","showInsertionPointBefore","showInsertionPointAfter","blockHasParents","name","parentName","align","textAlign","parentBlockAlign","wrapperStyles","margin","useEditorWrapperStyles","shouldShowBlockInsertionPointAfter","_react","createElement","View","style","default","testID","BlockListItem","props","isGridItem","numOfColumns","tileCount","tileIndex","restProps","maxWidth","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-list/block-list-item.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Block from './block';\nimport Grid from './grid-item';\nimport BlockInsertionPoint from './insertion-point';\nimport { store as blockEditorStore } from '../../store';\nimport { useEditorWrapperStyles } from '../../hooks/use-editor-wrapper-styles';\n\n/**\n * BlockListItemContent component. Renders a block with an optional insertion point.\n *\n * @param {Object} props Component properties.\n * @param {number} props.blockWidth The width of the block.\n * @param {string} props.clientId The block client ID.\n * @param {string} props.contentResizeMode The content resize mode, e.g \"stretch\".\n * @param {Object} props.contentStyle Styles for the block content\n * @param {Object} props.index Block item index\n * @param {boolean} props.isStackedHorizontally Whether the block is stacked horizontally.\n * @param {number} props.marginHorizontal The horizontal margin.\n * @param {number} props.marginVertical The vertical margin.\n * @param {Function} props.onAddBlock On add block callback.\n * @param {Function} props.onDeleteBlock On delete block callback.\n * @param {number} props.parentWidth The width of the parent block.\n * @param {string} props.rootClientId The root client ID.\n * @param {Function} props.shouldShowInnerBlockAppender Whether to show the inner block appender.\n *\n * @return {Component} The rendered block list item content.\n */\nfunction BlockListItemContent( {\n\tblockWidth,\n\tclientId,\n\tcontentResizeMode,\n\tcontentStyle,\n\tindex,\n\tisStackedHorizontally,\n\tmarginHorizontal,\n\tmarginVertical,\n\tonAddBlock,\n\tonDeleteBlock,\n\tparentWidth,\n\trootClientId,\n\tshouldShowInnerBlockAppender,\n} ) {\n\tconst {\n\t\tblockAlignment,\n\t\tblockName,\n\t\thasParents,\n\t\tparentBlockAlignment,\n\t\tparentBlockName,\n\t\tshouldShowInsertionPointAfter,\n\t\tshouldShowInsertionPointBefore,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\t\t\tconst insertionPoint = getBlockInsertionPoint();\n\n\t\t\tconst insertionPointVisibleInCurrentRoot =\n\t\t\t\t! isStackedHorizontally &&\n\t\t\t\tisBlockInsertionPointVisible() &&\n\t\t\t\tinsertionPoint.rootClientId === rootClientId;\n\n\t\t\tconst isListEmpty = blockClientIds.length === 0;\n\t\t\tconst isInsertionPointBeforeBlock =\n\t\t\t\tblockClientIds[ insertionPoint.index ] === clientId;\n\t\t\tconst isInsertionPointAtEnd =\n\t\t\t\tblockClientIds.length === insertionPoint.index;\n\t\t\tconst isBlockLastInList =\n\t\t\t\tblockClientIds[ insertionPoint.index - 1 ] === clientId;\n\n\t\t\tconst showInsertionPointBefore =\n\t\t\t\tinsertionPointVisibleInCurrentRoot &&\n\t\t\t\t( isListEmpty || isInsertionPointBeforeBlock );\n\n\t\t\tconst showInsertionPointAfter =\n\t\t\t\tinsertionPointVisibleInCurrentRoot &&\n\t\t\t\tisInsertionPointAtEnd &&\n\t\t\t\tisBlockLastInList;\n\n\t\t\tconst blockHasParents = !! rootClientId;\n\t\t\tconst name = getBlockName( clientId );\n\t\t\tconst parentName = getBlockName( rootClientId );\n\t\t\tconst { align } = getBlockAttributes( clientId ) || {};\n\t\t\tconst { textAlign: parentBlockAlign } =\n\t\t\t\tgetBlockAttributes( rootClientId ) || {};\n\n\t\t\treturn {\n\t\t\t\tblockAlignment: align,\n\t\t\t\tblockName: name,\n\t\t\t\thasParents: blockHasParents,\n\t\t\t\tparentBlockAlignment: parentBlockAlign,\n\t\t\t\tparentBlockName: parentName,\n\t\t\t\tshouldShowInsertionPointAfter: showInsertionPointAfter,\n\t\t\t\tshouldShowInsertionPointBefore: showInsertionPointBefore,\n\t\t\t};\n\t\t},\n\t\t[ isStackedHorizontally, rootClientId, clientId ]\n\t);\n\n\tconst [ wrapperStyles, margin ] = useEditorWrapperStyles( {\n\t\talign: blockAlignment,\n\t\tblockName,\n\t\tblockWidth,\n\t\tcontentResizeMode,\n\t\thasParents,\n\t\tmarginHorizontal,\n\t\tparentBlockAlignment,\n\t\tparentBlockName,\n\t\tparentWidth,\n\t} );\n\n\tconst shouldShowBlockInsertionPointAfter =\n\t\t! shouldShowInnerBlockAppender() && shouldShowInsertionPointAfter;\n\n\treturn (\n\t\t<View style={ wrapperStyles }>\n\t\t\t{ shouldShowInsertionPointBefore && (\n\t\t\t\t<BlockInsertionPoint\n\t\t\t\t\ttestID={ `block-insertion-point-before-row-${ index + 1 }` }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Block\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tcontentStyle={ contentStyle }\n\t\t\t\tisStackedHorizontally={ isStackedHorizontally }\n\t\t\t\tmarginHorizontal={ margin }\n\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\tonAddBlock={ onAddBlock }\n\t\t\t\tparentBlockAlignment={ parentBlockAlignment }\n\t\t\t\tonDeleteBlock={ onDeleteBlock }\n\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t/>\n\t\t\t{ shouldShowBlockInsertionPointAfter && (\n\t\t\t\t<BlockInsertionPoint\n\t\t\t\t\ttestID={ `block-insertion-point-after-row-${ index + 1 }` }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\n/**\n * BlockListItem component. Renders a block list item either as a grid item or as a standalone item.\n *\n * @param {Object} props Component properties.\n * @param {boolean} props.isGridItem Whether the block is a grid item.\n * @param {number} props.numOfColumns The number of columns for grid layout.\n * @param {number} props.parentWidth The width of the parent block.\n * @param {number} props.tileCount The total number of tiles in the grid.\n * @param {number} props.tileIndex The index of the current tile in the grid.\n * @param {number} props.blockWidth The width of the block.\n * @param {string} props.clientId The block client ID.\n * @param {string} props.contentResizeMode The content resize mode, e.g \"stretch\".\n * @param {Object} props.contentStyle Styles for the block content\n * @param {Object} props.index Block item index\n * @param {boolean} props.isStackedHorizontally Whether the block is stacked horizontally.\n * @param {number} props.marginHorizontal The horizontal margin.\n * @param {number} props.marginVertical The vertical margin.\n * @param {Function} props.onAddBlock On add block callback.\n * @param {Function} props.onDeleteBlock On delete block callback.\n * @param {string} props.rootClientId The root client ID.\n * @param {Function} props.shouldShowInnerBlockAppender Whether to show the inner block appender.\n *\n * @return {Component|null} The rendered block list item or null if the block width is not provided.\n */\nfunction BlockListItem( props ) {\n\tconst { isGridItem, numOfColumns, tileCount, tileIndex, ...restProps } =\n\t\tprops;\n\n\tif ( ! props?.blockWidth ) {\n\t\treturn null;\n\t}\n\n\tif ( isGridItem ) {\n\t\treturn (\n\t\t\t<Grid\n\t\t\t\tmaxWidth={ props?.parentWidth }\n\t\t\t\tnumOfColumns={ numOfColumns }\n\t\t\t\ttileCount={ tileCount }\n\t\t\t\tindex={ tileIndex }\n\t\t\t>\n\t\t\t\t<BlockListItemContent { ...restProps } />\n\t\t\t</Grid>\n\t\t);\n\t}\n\n\treturn <BlockListItemContent { ...restProps } />;\n}\n\nexport default BlockListItem;\n"],"mappings":"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"}
@@ -22,24 +22,40 @@ var _block = _interopRequireDefault(require("./block.scss"));
22
22
  */
23
23
 
24
24
  const TEXT_BLOCKS_WITH_OUTLINE = ['core/missing', 'core/freeform'];
25
+ const DESIGN_BLOCKS_WITHOUT_OUTLINE = ['core/button', 'core/spacer'];
26
+ const MEDIA_BLOCKS_WITH_OUTLINE = ['core/audio', 'core/file'];
25
27
  function BlockOutline({
26
28
  blockCategory,
27
29
  hasInnerBlocks,
28
- isRootList,
29
30
  isSelected,
30
31
  name
31
32
  }) {
32
33
  const textBlockWithOutline = TEXT_BLOCKS_WITH_OUTLINE.includes(name);
33
- const socialBlockWithOutline = name.includes('core/social-link');
34
34
  const hasBlockTextCategory = blockCategory === 'text' && !textBlockWithOutline;
35
35
  const hasBlockMediaCategory = blockCategory === 'media' || blockCategory === 'embed' || !blockCategory;
36
36
  const shouldShowCompactOutline = hasBlockMediaCategory && !hasInnerBlocks || textBlockWithOutline;
37
37
  const styleSolidBorder = [_block.default.solidBorder, (0, _compose.usePreferredColorSchemeStyle)(_block.default.solidBorderColor, _block.default.solidBorderColorDark), shouldShowCompactOutline && _block.default.solidBorderCompact, hasBlockTextCategory && _block.default.solidBorderTextContent];
38
- const shoudlShowOutline = isSelected && (hasBlockTextCategory && hasInnerBlocks || !hasBlockTextCategory && hasInnerBlocks || !hasBlockTextCategory && isRootList || socialBlockWithOutline || textBlockWithOutline);
39
- return shoudlShowOutline && (0, _react.createElement)(_reactNative.View, {
40
- pointerEvents: "box-none",
41
- style: styleSolidBorder
42
- });
38
+ if (!isSelected) {
39
+ return null;
40
+ }
41
+ let shouldShowOutline = true;
42
+ if (hasBlockTextCategory && !hasInnerBlocks) {
43
+ shouldShowOutline = false;
44
+ } else if (blockCategory === 'media' && !hasInnerBlocks && !MEDIA_BLOCKS_WITH_OUTLINE.includes(name)) {
45
+ shouldShowOutline = false;
46
+ } else if (blockCategory === 'media' && name === 'core/cover') {
47
+ shouldShowOutline = false;
48
+ } else if (blockCategory === 'design' && DESIGN_BLOCKS_WITHOUT_OUTLINE.includes(name)) {
49
+ shouldShowOutline = false;
50
+ }
51
+ if (shouldShowOutline) {
52
+ return (0, _react.createElement)(_reactNative.View, {
53
+ pointerEvents: "box-none",
54
+ style: styleSolidBorder,
55
+ testID: "block-outline"
56
+ });
57
+ }
58
+ return null;
43
59
  }
44
60
  var _default = exports.default = BlockOutline;
45
61
  //# sourceMappingURL=block-outline.native.js.map