@wordpress/block-editor 12.20.0 → 12.22.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 (558) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/block-actions/index.js +47 -36
  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-heading-level-dropdown/index.js +5 -5
  11. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  12. package/build/components/block-heading-level-dropdown/index.native.js +5 -4
  13. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  14. package/build/components/block-inspector/index.js +5 -4
  15. package/build/components/block-inspector/index.js.map +1 -1
  16. package/build/components/block-list/block-crash-boundary.native.js +49 -0
  17. package/build/components/block-list/block-crash-boundary.native.js.map +1 -0
  18. package/build/components/block-list/block-crash-warning.native.js +24 -0
  19. package/build/components/block-list/block-crash-warning.native.js.map +1 -0
  20. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  21. package/build/components/block-list/block-list-item.native.js +1 -1
  22. package/build/components/block-list/block-list-item.native.js.map +1 -1
  23. package/build/components/block-list/block-outline.native.js +23 -7
  24. package/build/components/block-list/block-outline.native.js.map +1 -1
  25. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  26. package/build/components/block-list/block.native.js +7 -5
  27. package/build/components/block-list/block.native.js.map +1 -1
  28. package/build/components/block-list/use-block-props/index.js +8 -1
  29. package/build/components/block-list/use-block-props/index.js.map +1 -1
  30. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -3
  31. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  32. package/build/components/block-mover/index.native.js.map +1 -1
  33. package/build/components/block-popover/cover.js +68 -0
  34. package/build/components/block-popover/cover.js.map +1 -0
  35. package/build/components/block-popover/drop-zone.js +2 -3
  36. package/build/components/block-popover/drop-zone.js.map +1 -1
  37. package/build/components/block-popover/index.js +1 -19
  38. package/build/components/block-popover/index.js.map +1 -1
  39. package/build/components/block-preview/index.js +2 -1
  40. package/build/components/block-preview/index.js.map +1 -1
  41. package/build/components/block-removal-warning-modal/index.js +2 -4
  42. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  43. package/build/components/block-rename/modal.js.map +1 -1
  44. package/build/components/block-settings/container.native.js +2 -1
  45. package/build/components/block-settings/container.native.js.map +1 -1
  46. package/build/components/block-settings-menu/block-settings-dropdown.js +41 -39
  47. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  48. package/build/components/block-settings-menu-controls/index.js +1 -3
  49. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  50. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  51. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  52. package/build/components/block-toolbar/index.js +24 -11
  53. package/build/components/block-toolbar/index.js.map +1 -1
  54. package/build/components/block-toolbar/shuffle.js +89 -0
  55. package/build/components/block-toolbar/shuffle.js.map +1 -0
  56. package/build/components/block-toolbar/use-has-block-toolbar.js +43 -0
  57. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  58. package/build/components/block-tools/block-selection-button.js +5 -1
  59. package/build/components/block-tools/block-selection-button.js.map +1 -1
  60. package/build/components/block-tools/empty-block-inserter.js +2 -5
  61. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  62. package/build/components/block-tools/index.js +9 -26
  63. package/build/components/block-tools/index.js.map +1 -1
  64. package/build/components/block-tools/use-show-block-tools.js +60 -0
  65. package/build/components/block-tools/use-show-block-tools.js.map +1 -0
  66. package/build/components/caption/index.native.js.map +1 -1
  67. package/build/components/child-layout-control/index.js +108 -11
  68. package/build/components/child-layout-control/index.js.map +1 -1
  69. package/build/components/color-palette/control.js.map +1 -1
  70. package/build/components/colors-gradients/control.js +1 -1
  71. package/build/components/colors-gradients/control.js.map +1 -1
  72. package/build/components/convert-to-group-buttons/toolbar.js +11 -0
  73. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  74. package/build/components/global-styles/border-panel.js +21 -8
  75. package/build/components/global-styles/border-panel.js.map +1 -1
  76. package/build/components/global-styles/color-panel.js +1 -1
  77. package/build/components/global-styles/color-panel.js.map +1 -1
  78. package/build/components/global-styles/dimensions-panel.js +8 -33
  79. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  80. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  81. package/build/components/global-styles/index.js +6 -0
  82. package/build/components/global-styles/index.js.map +1 -1
  83. package/build/components/global-styles/shadow-panel-components.js +80 -23
  84. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  85. package/build/components/global-styles/typography-utils.js +7 -5
  86. package/build/components/global-styles/typography-utils.js.map +1 -1
  87. package/build/components/global-styles/use-global-styles-output.js +16 -16
  88. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  89. package/build/components/global-styles/utils.js +2 -4
  90. package/build/components/global-styles/utils.js.map +1 -1
  91. package/build/components/grid-visualizer/grid-item-resizer.js +77 -0
  92. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  93. package/build/components/grid-visualizer/grid-visualizer.js +81 -0
  94. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -0
  95. package/build/components/grid-visualizer/index.js +20 -0
  96. package/build/components/grid-visualizer/index.js.map +1 -0
  97. package/build/components/grid-visualizer/utils.js +10 -0
  98. package/build/components/grid-visualizer/utils.js.map +1 -0
  99. package/build/components/iframe/index.js +66 -17
  100. package/build/components/iframe/index.js.map +1 -1
  101. package/build/components/index.native.js +7 -0
  102. package/build/components/index.native.js.map +1 -1
  103. package/build/components/inner-blocks/use-nested-settings-update.js +8 -2
  104. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  105. package/build/components/inserter/block-patterns-explorer/index.js +3 -6
  106. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  107. package/build/components/inserter/block-patterns-explorer/pattern-list.js +3 -1
  108. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  109. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  110. package/build/components/inserter/menu.native.js.map +1 -1
  111. package/build/components/inserter/mobile-tab-navigation.js +2 -2
  112. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  113. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  114. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js +36 -0
  115. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -0
  116. package/build/components/inspector-controls-tabs/index.js +1 -1
  117. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  118. package/build/components/inspector-controls-tabs/styles-tab.js +1 -1
  119. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  120. package/build/components/link-control/link-preview.js +4 -1
  121. package/build/components/link-control/link-preview.js.map +1 -1
  122. package/build/components/link-control/search-input.js.map +1 -1
  123. package/build/components/list-view/block-select-button.js +0 -2
  124. package/build/components/list-view/block-select-button.js.map +1 -1
  125. package/build/components/list-view/block.js +4 -11
  126. package/build/components/list-view/block.js.map +1 -1
  127. package/build/components/list-view/branch.js.map +1 -1
  128. package/build/components/list-view/drop-indicator.js.map +1 -1
  129. package/build/components/list-view/index.js.map +1 -1
  130. package/build/components/list-view/use-clipboard-handler.js +2 -1
  131. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  132. package/build/components/list-view/utils.js +5 -3
  133. package/build/components/list-view/utils.js.map +1 -1
  134. package/build/components/panel-color-settings/index.js.map +1 -1
  135. package/build/components/provider/index.js.map +1 -1
  136. package/build/components/resizable-box-popover/index.js +3 -5
  137. package/build/components/resizable-box-popover/index.js.map +1 -1
  138. package/build/components/responsive-block-control/index.js +1 -1
  139. package/build/components/responsive-block-control/index.js.map +1 -1
  140. package/build/components/rich-text/index.js +46 -26
  141. package/build/components/rich-text/index.js.map +1 -1
  142. package/build/components/rich-text/use-enter.js +3 -0
  143. package/build/components/rich-text/use-enter.js.map +1 -1
  144. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  145. package/build/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  146. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  147. package/build/components/url-popover/index.js +3 -3
  148. package/build/components/url-popover/index.js.map +1 -1
  149. package/build/components/use-moving-animation/index.js +4 -0
  150. package/build/components/use-moving-animation/index.js.map +1 -1
  151. package/build/components/warning/index.native.js +9 -4
  152. package/build/components/warning/index.native.js.map +1 -1
  153. package/build/components/writing-flow/use-clipboard-handler.js +2 -1
  154. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  155. package/build/components/writing-flow/utils.js +23 -6
  156. package/build/components/writing-flow/utils.js.map +1 -1
  157. package/build/hooks/anchor.js +7 -8
  158. package/build/hooks/anchor.js.map +1 -1
  159. package/build/hooks/background.js +39 -2
  160. package/build/hooks/background.js.map +1 -1
  161. package/build/hooks/block-hooks.js +34 -8
  162. package/build/hooks/block-hooks.js.map +1 -1
  163. package/build/hooks/border.js +6 -4
  164. package/build/hooks/border.js.map +1 -1
  165. package/build/hooks/dimensions.js +3 -4
  166. package/build/hooks/dimensions.js.map +1 -1
  167. package/build/hooks/font-size.js +6 -7
  168. package/build/hooks/font-size.js.map +1 -1
  169. package/build/hooks/index.js +3 -2
  170. package/build/hooks/index.js.map +1 -1
  171. package/build/hooks/layout-child.js +67 -6
  172. package/build/hooks/layout-child.js.map +1 -1
  173. package/build/hooks/layout.js +32 -14
  174. package/build/hooks/layout.js.map +1 -1
  175. package/build/hooks/line-height.js.map +1 -1
  176. package/build/hooks/position.js +1 -1
  177. package/build/hooks/position.js.map +1 -1
  178. package/build/hooks/spacing-visualizer.js +115 -0
  179. package/build/hooks/spacing-visualizer.js.map +1 -0
  180. package/build/hooks/use-bindings-attributes.js +171 -48
  181. package/build/hooks/use-bindings-attributes.js.map +1 -1
  182. package/build/hooks/use-typography-props.js +1 -2
  183. package/build/hooks/use-typography-props.js.map +1 -1
  184. package/build/layouts/grid.js +6 -2
  185. package/build/layouts/grid.js.map +1 -1
  186. package/build/private-apis.js +7 -3
  187. package/build/private-apis.js.map +1 -1
  188. package/build/private-apis.native.js +3 -1
  189. package/build/private-apis.native.js.map +1 -1
  190. package/build/store/actions.js +42 -12
  191. package/build/store/actions.js.map +1 -1
  192. package/build/store/private-actions.js +29 -55
  193. package/build/store/private-actions.js.map +1 -1
  194. package/build/store/private-selectors.js +0 -8
  195. package/build/store/private-selectors.js.map +1 -1
  196. package/build/store/reducer.js +34 -46
  197. package/build/store/reducer.js.map +1 -1
  198. package/build/store/selectors.js +27 -15
  199. package/build/store/selectors.js.map +1 -1
  200. package/build-module/components/block-actions/index.js +47 -36
  201. package/build-module/components/block-actions/index.js.map +1 -1
  202. package/build-module/components/block-bindings-toolbar-indicator/index.js +18 -0
  203. package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -0
  204. package/build-module/components/block-edit/context.js +1 -0
  205. package/build-module/components/block-edit/context.js.map +1 -1
  206. package/build-module/components/block-edit/index.js +9 -4
  207. package/build-module/components/block-edit/index.js.map +1 -1
  208. package/build-module/components/block-heading-level-dropdown/index.js +5 -5
  209. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  210. package/build-module/components/block-heading-level-dropdown/index.native.js +5 -4
  211. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  212. package/build-module/components/block-inspector/index.js +6 -5
  213. package/build-module/components/block-inspector/index.js.map +1 -1
  214. package/build-module/components/block-list/block-crash-boundary.native.js +42 -0
  215. package/build-module/components/block-list/block-crash-boundary.native.js.map +1 -0
  216. package/build-module/components/block-list/block-crash-warning.native.js +15 -0
  217. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -0
  218. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  219. package/build-module/components/block-list/block-list-item.native.js +1 -1
  220. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  221. package/build-module/components/block-list/block-outline.native.js +23 -7
  222. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  223. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  224. package/build-module/components/block-list/block.native.js +7 -5
  225. package/build-module/components/block-list/block.native.js.map +1 -1
  226. package/build-module/components/block-list/use-block-props/index.js +9 -2
  227. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  228. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -3
  229. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  230. package/build-module/components/block-mover/index.native.js.map +1 -1
  231. package/build-module/components/block-popover/cover.js +60 -0
  232. package/build-module/components/block-popover/cover.js.map +1 -0
  233. package/build-module/components/block-popover/drop-zone.js +2 -3
  234. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  235. package/build-module/components/block-popover/index.js +1 -19
  236. package/build-module/components/block-popover/index.js.map +1 -1
  237. package/build-module/components/block-preview/index.js +2 -1
  238. package/build-module/components/block-preview/index.js.map +1 -1
  239. package/build-module/components/block-removal-warning-modal/index.js +3 -5
  240. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  241. package/build-module/components/block-rename/modal.js.map +1 -1
  242. package/build-module/components/block-settings/container.native.js +3 -2
  243. package/build-module/components/block-settings/container.native.js.map +1 -1
  244. package/build-module/components/block-settings-menu/block-settings-dropdown.js +42 -40
  245. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  246. package/build-module/components/block-settings-menu-controls/index.js +1 -3
  247. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  248. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  249. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  250. package/build-module/components/block-toolbar/index.js +24 -12
  251. package/build-module/components/block-toolbar/index.js.map +1 -1
  252. package/build-module/components/block-toolbar/shuffle.js +82 -0
  253. package/build-module/components/block-toolbar/shuffle.js.map +1 -0
  254. package/build-module/components/block-toolbar/use-has-block-toolbar.js +36 -0
  255. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  256. package/build-module/components/block-tools/block-selection-button.js +5 -1
  257. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  258. package/build-module/components/block-tools/empty-block-inserter.js +2 -5
  259. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  260. package/build-module/components/block-tools/index.js +9 -26
  261. package/build-module/components/block-tools/index.js.map +1 -1
  262. package/build-module/components/block-tools/use-show-block-tools.js +54 -0
  263. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -0
  264. package/build-module/components/caption/index.native.js.map +1 -1
  265. package/build-module/components/child-layout-control/index.js +109 -12
  266. package/build-module/components/child-layout-control/index.js.map +1 -1
  267. package/build-module/components/color-palette/control.js.map +1 -1
  268. package/build-module/components/colors-gradients/control.js +1 -1
  269. package/build-module/components/colors-gradients/control.js.map +1 -1
  270. package/build-module/components/convert-to-group-buttons/toolbar.js +12 -1
  271. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  272. package/build-module/components/global-styles/border-panel.js +22 -10
  273. package/build-module/components/global-styles/border-panel.js.map +1 -1
  274. package/build-module/components/global-styles/color-panel.js +1 -1
  275. package/build-module/components/global-styles/color-panel.js.map +1 -1
  276. package/build-module/components/global-styles/dimensions-panel.js +9 -34
  277. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  278. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  279. package/build-module/components/global-styles/index.js +1 -1
  280. package/build-module/components/global-styles/index.js.map +1 -1
  281. package/build-module/components/global-styles/shadow-panel-components.js +82 -24
  282. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  283. package/build-module/components/global-styles/typography-utils.js +7 -5
  284. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  285. package/build-module/components/global-styles/use-global-styles-output.js +17 -17
  286. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  287. package/build-module/components/global-styles/utils.js +2 -4
  288. package/build-module/components/global-styles/utils.js.map +1 -1
  289. package/build-module/components/grid-visualizer/grid-item-resizer.js +69 -0
  290. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  291. package/build-module/components/grid-visualizer/grid-visualizer.js +73 -0
  292. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -0
  293. package/build-module/components/grid-visualizer/index.js +3 -0
  294. package/build-module/components/grid-visualizer/index.js.map +1 -0
  295. package/build-module/components/grid-visualizer/utils.js +4 -0
  296. package/build-module/components/grid-visualizer/utils.js.map +1 -0
  297. package/build-module/components/iframe/index.js +66 -17
  298. package/build-module/components/iframe/index.js.map +1 -1
  299. package/build-module/components/index.native.js +1 -1
  300. package/build-module/components/index.native.js.map +1 -1
  301. package/build-module/components/inner-blocks/use-nested-settings-update.js +8 -2
  302. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  303. package/build-module/components/inserter/block-patterns-explorer/index.js +3 -6
  304. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  305. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +3 -1
  306. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  307. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  308. package/build-module/components/inserter/menu.native.js.map +1 -1
  309. package/build-module/components/inserter/mobile-tab-navigation.js +2 -2
  310. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  311. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  312. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js +28 -0
  313. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -0
  314. package/build-module/components/inspector-controls-tabs/index.js +1 -1
  315. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  316. package/build-module/components/inspector-controls-tabs/styles-tab.js +2 -2
  317. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  318. package/build-module/components/link-control/link-preview.js +5 -2
  319. package/build-module/components/link-control/link-preview.js.map +1 -1
  320. package/build-module/components/link-control/search-input.js.map +1 -1
  321. package/build-module/components/list-view/block-select-button.js +0 -2
  322. package/build-module/components/list-view/block-select-button.js.map +1 -1
  323. package/build-module/components/list-view/block.js +6 -13
  324. package/build-module/components/list-view/block.js.map +1 -1
  325. package/build-module/components/list-view/branch.js.map +1 -1
  326. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  327. package/build-module/components/list-view/index.js.map +1 -1
  328. package/build-module/components/list-view/use-clipboard-handler.js +3 -2
  329. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  330. package/build-module/components/list-view/utils.js +2 -1
  331. package/build-module/components/list-view/utils.js.map +1 -1
  332. package/build-module/components/panel-color-settings/index.js.map +1 -1
  333. package/build-module/components/provider/index.js.map +1 -1
  334. package/build-module/components/resizable-box-popover/index.js +3 -5
  335. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  336. package/build-module/components/responsive-block-control/index.js +1 -1
  337. package/build-module/components/responsive-block-control/index.js.map +1 -1
  338. package/build-module/components/rich-text/index.js +47 -28
  339. package/build-module/components/rich-text/index.js.map +1 -1
  340. package/build-module/components/rich-text/use-enter.js +3 -0
  341. package/build-module/components/rich-text/use-enter.js.map +1 -1
  342. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  343. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  344. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  345. package/build-module/components/url-popover/index.js +3 -3
  346. package/build-module/components/url-popover/index.js.map +1 -1
  347. package/build-module/components/use-moving-animation/index.js +4 -0
  348. package/build-module/components/use-moving-animation/index.js.map +1 -1
  349. package/build-module/components/warning/index.native.js +9 -4
  350. package/build-module/components/warning/index.native.js.map +1 -1
  351. package/build-module/components/writing-flow/use-clipboard-handler.js +3 -2
  352. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  353. package/build-module/components/writing-flow/utils.js +22 -7
  354. package/build-module/components/writing-flow/utils.js.map +1 -1
  355. package/build-module/hooks/anchor.js +8 -9
  356. package/build-module/hooks/anchor.js.map +1 -1
  357. package/build-module/hooks/background.js +38 -1
  358. package/build-module/hooks/background.js.map +1 -1
  359. package/build-module/hooks/block-hooks.js +34 -8
  360. package/build-module/hooks/block-hooks.js.map +1 -1
  361. package/build-module/hooks/border.js +7 -5
  362. package/build-module/hooks/border.js.map +1 -1
  363. package/build-module/hooks/dimensions.js +1 -2
  364. package/build-module/hooks/dimensions.js.map +1 -1
  365. package/build-module/hooks/font-size.js +7 -8
  366. package/build-module/hooks/font-size.js.map +1 -1
  367. package/build-module/hooks/index.js +3 -2
  368. package/build-module/hooks/index.js.map +1 -1
  369. package/build-module/hooks/layout-child.js +67 -6
  370. package/build-module/hooks/layout-child.js.map +1 -1
  371. package/build-module/hooks/layout.js +32 -14
  372. package/build-module/hooks/layout.js.map +1 -1
  373. package/build-module/hooks/line-height.js.map +1 -1
  374. package/build-module/hooks/position.js +1 -1
  375. package/build-module/hooks/position.js.map +1 -1
  376. package/build-module/hooks/spacing-visualizer.js +106 -0
  377. package/build-module/hooks/spacing-visualizer.js.map +1 -0
  378. package/build-module/hooks/use-bindings-attributes.js +172 -49
  379. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  380. package/build-module/hooks/use-typography-props.js +2 -3
  381. package/build-module/hooks/use-typography-props.js.map +1 -1
  382. package/build-module/layouts/grid.js +6 -2
  383. package/build-module/layouts/grid.js.map +1 -1
  384. package/build-module/private-apis.js +7 -3
  385. package/build-module/private-apis.js.map +1 -1
  386. package/build-module/private-apis.native.js +3 -1
  387. package/build-module/private-apis.native.js.map +1 -1
  388. package/build-module/store/actions.js +42 -12
  389. package/build-module/store/actions.js.map +1 -1
  390. package/build-module/store/private-actions.js +29 -54
  391. package/build-module/store/private-actions.js.map +1 -1
  392. package/build-module/store/private-selectors.js +0 -6
  393. package/build-module/store/private-selectors.js.map +1 -1
  394. package/build-module/store/reducer.js +34 -46
  395. package/build-module/store/reducer.js.map +1 -1
  396. package/build-module/store/selectors.js +23 -13
  397. package/build-module/store/selectors.js.map +1 -1
  398. package/build-style/content-rtl.css +22 -2
  399. package/build-style/content.css +22 -2
  400. package/build-style/default-editor-styles-rtl.css +1 -0
  401. package/build-style/default-editor-styles.css +1 -0
  402. package/build-style/style-rtl.css +106 -27
  403. package/build-style/style.css +106 -27
  404. package/package.json +31 -31
  405. package/src/components/block-actions/index.js +59 -55
  406. package/src/components/block-bindings-toolbar-indicator/index.js +20 -0
  407. package/src/components/block-bindings-toolbar-indicator/style.scss +16 -0
  408. package/src/components/block-draggable/test/index.native.js +2 -2
  409. package/src/components/block-edit/context.js +1 -0
  410. package/src/components/block-edit/index.js +5 -1
  411. package/src/components/block-heading-level-dropdown/README.md +5 -5
  412. package/src/components/block-heading-level-dropdown/index.js +5 -5
  413. package/src/components/block-heading-level-dropdown/index.native.js +5 -4
  414. package/src/components/block-inspector/index.js +7 -5
  415. package/src/components/block-list/block-crash-boundary.native.js +43 -0
  416. package/src/components/block-list/block-crash-warning.native.js +19 -0
  417. package/src/components/block-list/block-invalid-warning.native.js +1 -1
  418. package/src/components/block-list/block-list-item.native.js +1 -1
  419. package/src/components/block-list/block-outline.native.js +36 -21
  420. package/src/components/block-list/block-selection-button.native.js +1 -3
  421. package/src/components/block-list/block.native.js +14 -10
  422. package/src/components/block-list/content.scss +21 -1
  423. package/src/components/block-list/test/block-outline.native.js +255 -0
  424. package/src/components/block-list/use-block-props/index.js +12 -2
  425. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -7
  426. package/src/components/block-mover/index.native.js +1 -1
  427. package/src/components/block-popover/cover.js +63 -0
  428. package/src/components/block-popover/drop-zone.js +3 -4
  429. package/src/components/block-popover/index.js +1 -28
  430. package/src/components/block-preview/index.js +3 -1
  431. package/src/components/block-removal-warning-modal/index.js +5 -19
  432. package/src/components/block-rename/modal.js +1 -1
  433. package/src/components/block-settings/container.native.js +5 -1
  434. package/src/components/block-settings-menu/block-settings-dropdown.js +53 -65
  435. package/src/components/block-settings-menu-controls/README.md +0 -9
  436. package/src/components/block-settings-menu-controls/index.js +1 -6
  437. package/src/components/block-switcher/block-transformations-menu.native.js +1 -1
  438. package/src/components/block-toolbar/block-toolbar-menu.native.js +2 -2
  439. package/src/components/block-toolbar/index.js +22 -16
  440. package/src/components/block-toolbar/shuffle.js +93 -0
  441. package/src/components/block-toolbar/test/index.native.js +1 -7
  442. package/src/components/block-toolbar/use-has-block-toolbar.js +49 -0
  443. package/src/components/block-tools/block-selection-button.js +4 -0
  444. package/src/components/block-tools/empty-block-inserter.js +3 -6
  445. package/src/components/block-tools/index.js +13 -36
  446. package/src/components/block-tools/use-show-block-tools.js +73 -0
  447. package/src/components/caption/index.native.js +1 -1
  448. package/src/components/child-layout-control/index.js +148 -36
  449. package/src/components/color-palette/control.js +1 -1
  450. package/src/components/colors-gradients/control.js +1 -1
  451. package/src/components/colors-gradients/test/control.js +2 -2
  452. package/src/components/contrast-checker/test/index.js +10 -10
  453. package/src/components/convert-to-group-buttons/toolbar.js +13 -1
  454. package/src/components/default-block-appender/content.scss +5 -2
  455. package/src/components/global-styles/border-panel.js +35 -24
  456. package/src/components/global-styles/color-panel.js +1 -1
  457. package/src/components/global-styles/dimensions-panel.js +9 -34
  458. package/src/components/global-styles/image-settings-panel.js +1 -1
  459. package/src/components/global-styles/index.js +5 -1
  460. package/src/components/global-styles/shadow-panel-components.js +92 -23
  461. package/src/components/global-styles/style.scss +33 -10
  462. package/src/components/global-styles/test/typography-utils.js +231 -81
  463. package/src/components/global-styles/test/use-global-styles-output.js +31 -0
  464. package/src/components/global-styles/typography-utils.js +10 -7
  465. package/src/components/global-styles/use-global-styles-output.js +17 -17
  466. package/src/components/global-styles/utils.js +2 -26
  467. package/src/components/grid-visualizer/grid-item-resizer.js +100 -0
  468. package/src/components/grid-visualizer/grid-visualizer.js +81 -0
  469. package/src/components/grid-visualizer/index.js +2 -0
  470. package/src/components/grid-visualizer/style.scss +33 -0
  471. package/src/components/grid-visualizer/utils.js +5 -0
  472. package/src/components/iframe/index.js +89 -26
  473. package/src/components/index.native.js +1 -0
  474. package/src/components/inner-blocks/use-nested-settings-update.js +12 -2
  475. package/src/components/inserter/block-patterns-explorer/index.js +2 -9
  476. package/src/components/inserter/block-patterns-explorer/pattern-list.js +7 -1
  477. package/src/components/inserter/media-tab/media-preview.js +1 -1
  478. package/src/components/inserter/menu.native.js +3 -3
  479. package/src/components/inserter/mobile-tab-navigation.js +2 -2
  480. package/src/components/inserter/style.scss +10 -0
  481. package/src/components/inspector-controls/block-support-tools-panel.js +2 -2
  482. package/src/components/inspector-controls-tabs/advanced-controls-panel.native.js +31 -0
  483. package/src/components/inspector-controls-tabs/index.js +1 -1
  484. package/src/components/inspector-controls-tabs/styles-tab.js +2 -2
  485. package/src/components/line-height-control/test/index.js +1 -1
  486. package/src/components/link-control/link-preview.js +9 -2
  487. package/src/components/link-control/search-input.js +1 -1
  488. package/src/components/link-control/style.scss +9 -5
  489. package/src/components/list-view/block-select-button.js +0 -2
  490. package/src/components/list-view/block.js +12 -21
  491. package/src/components/list-view/branch.js +1 -1
  492. package/src/components/list-view/drop-indicator.js +1 -1
  493. package/src/components/list-view/index.js +1 -1
  494. package/src/components/list-view/style.scss +34 -16
  495. package/src/components/list-view/use-clipboard-handler.js +3 -2
  496. package/src/components/list-view/utils.js +4 -1
  497. package/src/components/panel-color-settings/index.js +1 -1
  498. package/src/components/panel-color-settings/test/index.js +3 -3
  499. package/src/components/provider/index.js +1 -4
  500. package/src/components/resizable-box-popover/index.js +4 -6
  501. package/src/components/responsive-block-control/README.md +4 -4
  502. package/src/components/responsive-block-control/index.js +1 -1
  503. package/src/components/responsive-block-control/test/index.js +5 -5
  504. package/src/components/rich-text/README.md +6 -0
  505. package/src/components/rich-text/index.js +76 -53
  506. package/src/components/rich-text/use-enter.js +4 -0
  507. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
  508. package/src/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  509. package/src/components/url-popover/index.js +5 -5
  510. package/src/components/url-popover/style.scss +1 -0
  511. package/src/components/use-moving-animation/index.js +1 -0
  512. package/src/components/warning/index.native.js +19 -15
  513. package/src/components/writing-flow/use-clipboard-handler.js +3 -2
  514. package/src/components/writing-flow/utils.js +31 -16
  515. package/src/hooks/anchor.js +41 -61
  516. package/src/hooks/background.js +49 -4
  517. package/src/hooks/block-hooks.js +47 -9
  518. package/src/hooks/block-hooks.scss +6 -0
  519. package/src/hooks/border.js +16 -4
  520. package/src/hooks/dimensions.js +1 -2
  521. package/src/hooks/font-size.js +7 -12
  522. package/src/hooks/index.js +3 -0
  523. package/src/hooks/layout-child.js +82 -8
  524. package/src/hooks/layout.js +34 -19
  525. package/src/hooks/line-height.js +1 -1
  526. package/src/hooks/position.js +1 -1
  527. package/src/hooks/spacing-visualizer.js +126 -0
  528. package/src/hooks/{padding.scss → spacing.scss} +1 -1
  529. package/src/hooks/test/__snapshots__/anchor.native.js.snap +7 -0
  530. package/src/hooks/test/anchor.native.js +32 -0
  531. package/src/hooks/use-bindings-attributes.js +215 -65
  532. package/src/hooks/use-typography-props.js +2 -8
  533. package/src/layouts/grid.js +8 -3
  534. package/src/private-apis.js +6 -2
  535. package/src/private-apis.native.js +2 -0
  536. package/src/store/actions.js +56 -18
  537. package/src/store/private-actions.js +34 -79
  538. package/src/store/private-selectors.js +0 -8
  539. package/src/store/reducer.js +43 -64
  540. package/src/store/selectors.js +41 -46
  541. package/src/store/test/actions.js +0 -4
  542. package/src/style.scss +3 -1
  543. package/tsconfig.json +1 -0
  544. package/build/hooks/margin.js +0 -86
  545. package/build/hooks/margin.js.map +0 -1
  546. package/build/hooks/padding.js +0 -78
  547. package/build/hooks/padding.js.map +0 -1
  548. package/build/utils/use-can-block-toolbar-be-focused.js +0 -46
  549. package/build/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  550. package/build-module/hooks/margin.js +0 -78
  551. package/build-module/hooks/margin.js.map +0 -1
  552. package/build-module/hooks/padding.js +0 -70
  553. package/build-module/hooks/padding.js.map +0 -1
  554. package/build-module/utils/use-can-block-toolbar-be-focused.js +0 -40
  555. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  556. package/src/hooks/margin.js +0 -91
  557. package/src/hooks/padding.js +0 -82
  558. package/src/utils/use-can-block-toolbar-be-focused.js +0 -48
@@ -15,28 +15,46 @@ export default function BlockActions({
15
15
  children,
16
16
  __experimentalUpdateSelection: updateSelection
17
17
  }) {
18
- const {
19
- canInsertBlockType,
20
- getBlockRootClientId,
21
- getBlocksByClientId,
22
- canMoveBlocks,
23
- canRemoveBlocks
24
- } = useSelect(blockEditorStore);
25
18
  const {
26
19
  getDefaultBlockName,
27
20
  getGroupingBlockName
28
21
  } = useSelect(blocksStore);
29
- const blocks = getBlocksByClientId(clientIds);
30
- const rootClientId = getBlockRootClientId(clientIds[0]);
31
- const canCopyStyles = blocks.every(block => {
32
- return !!block && (hasBlockSupport(block.name, 'color') || hasBlockSupport(block.name, 'typography'));
33
- });
34
- const canDuplicate = blocks.every(block => {
35
- return !!block && hasBlockSupport(block.name, 'multiple', true) && canInsertBlockType(block.name, rootClientId);
36
- });
37
- const canInsertDefaultBlock = canInsertBlockType(getDefaultBlockName(), rootClientId);
38
- const canMove = canMoveBlocks(clientIds, rootClientId);
39
- const canRemove = canRemoveBlocks(clientIds, rootClientId);
22
+ const selected = useSelect(select => {
23
+ const {
24
+ canInsertBlockType,
25
+ getBlockRootClientId,
26
+ getBlocksByClientId,
27
+ getDirectInsertBlock,
28
+ canMoveBlocks,
29
+ canRemoveBlocks
30
+ } = select(blockEditorStore);
31
+ const blocks = getBlocksByClientId(clientIds);
32
+ const rootClientId = getBlockRootClientId(clientIds[0]);
33
+ const canInsertDefaultBlock = canInsertBlockType(getDefaultBlockName(), rootClientId);
34
+ const directInsertBlock = rootClientId ? getDirectInsertBlock(rootClientId) : null;
35
+ return {
36
+ canMove: canMoveBlocks(clientIds, rootClientId),
37
+ canRemove: canRemoveBlocks(clientIds, rootClientId),
38
+ canInsertBlock: canInsertDefaultBlock || !!directInsertBlock,
39
+ canCopyStyles: blocks.every(block => {
40
+ return !!block && (hasBlockSupport(block.name, 'color') || hasBlockSupport(block.name, 'typography'));
41
+ }),
42
+ canDuplicate: blocks.every(block => {
43
+ return !!block && hasBlockSupport(block.name, 'multiple', true) && canInsertBlockType(block.name, rootClientId);
44
+ })
45
+ };
46
+ }, [clientIds, getDefaultBlockName]);
47
+ const {
48
+ getBlocksByClientId,
49
+ getBlocks
50
+ } = useSelect(blockEditorStore);
51
+ const {
52
+ canMove,
53
+ canRemove,
54
+ canInsertBlock,
55
+ canCopyStyles,
56
+ canDuplicate
57
+ } = selected;
40
58
  const {
41
59
  removeBlocks,
42
60
  replaceBlocks,
@@ -53,11 +71,9 @@ export default function BlockActions({
53
71
  return children({
54
72
  canCopyStyles,
55
73
  canDuplicate,
56
- canInsertDefaultBlock,
74
+ canInsertBlock,
57
75
  canMove,
58
76
  canRemove,
59
- rootClientId,
60
- blocks,
61
77
  onDuplicate() {
62
78
  return duplicateBlocks(clientIds, updateSelection);
63
79
  },
@@ -65,12 +81,10 @@ export default function BlockActions({
65
81
  return removeBlocks(clientIds, updateSelection);
66
82
  },
67
83
  onInsertBefore() {
68
- const clientId = Array.isArray(clientIds) ? clientIds[0] : clientId;
69
- insertBeforeBlock(clientId);
84
+ insertBeforeBlock(clientIds[0]);
70
85
  },
71
86
  onInsertAfter() {
72
- const clientId = Array.isArray(clientIds) ? clientIds[clientIds.length - 1] : clientId;
73
- insertAfterBlock(clientId);
87
+ insertAfterBlock(clientIds[clientIds.length - 1]);
74
88
  },
75
89
  onMoveTo() {
76
90
  setNavigationMode(true);
@@ -78,39 +92,36 @@ export default function BlockActions({
78
92
  setBlockMovingClientId(clientIds[0]);
79
93
  },
80
94
  onGroup() {
81
- if (!blocks.length) {
95
+ if (!clientIds.length) {
82
96
  return;
83
97
  }
84
98
  const groupingBlockName = getGroupingBlockName();
85
99
 
86
100
  // Activate the `transform` on `core/group` which does the conversion.
87
- const newBlocks = switchToBlockType(blocks, groupingBlockName);
101
+ const newBlocks = switchToBlockType(getBlocksByClientId(clientIds), groupingBlockName);
88
102
  if (!newBlocks) {
89
103
  return;
90
104
  }
91
105
  replaceBlocks(clientIds, newBlocks);
92
106
  },
93
107
  onUngroup() {
94
- if (!blocks.length) {
108
+ if (!clientIds.length) {
95
109
  return;
96
110
  }
97
- const innerBlocks = blocks[0].innerBlocks;
111
+ const innerBlocks = getBlocks(clientIds[0]);
98
112
  if (!innerBlocks.length) {
99
113
  return;
100
114
  }
101
115
  replaceBlocks(clientIds, innerBlocks);
102
116
  },
103
117
  onCopy() {
104
- const selectedBlockClientIds = blocks.map(({
105
- clientId
106
- }) => clientId);
107
- if (blocks.length === 1) {
108
- flashBlock(selectedBlockClientIds[0]);
118
+ if (clientIds.length === 1) {
119
+ flashBlock(clientIds[0]);
109
120
  }
110
- notifyCopy('copy', selectedBlockClientIds);
121
+ notifyCopy('copy', clientIds);
111
122
  },
112
123
  async onPasteStyles() {
113
- await pasteStyles(blocks);
124
+ await pasteStyles(getBlocksByClientId(clientIds));
114
125
  }
115
126
  });
116
127
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useDispatch","useSelect","hasBlockSupport","switchToBlockType","store","blocksStore","useNotifyCopy","usePasteStyles","blockEditorStore","BlockActions","clientIds","children","__experimentalUpdateSelection","updateSelection","canInsertBlockType","getBlockRootClientId","getBlocksByClientId","canMoveBlocks","canRemoveBlocks","getDefaultBlockName","getGroupingBlockName","blocks","rootClientId","canCopyStyles","every","block","name","canDuplicate","canInsertDefaultBlock","canMove","canRemove","removeBlocks","replaceBlocks","duplicateBlocks","insertAfterBlock","insertBeforeBlock","flashBlock","setBlockMovingClientId","setNavigationMode","selectBlock","notifyCopy","pasteStyles","onDuplicate","onRemove","onInsertBefore","clientId","Array","isArray","onInsertAfter","length","onMoveTo","onGroup","groupingBlockName","newBlocks","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":["useDispatch","useSelect","hasBlockSupport","switchToBlockType","store","blocksStore","useNotifyCopy","usePasteStyles","blockEditorStore","BlockActions","clientIds","children","__experimentalUpdateSelection","updateSelection","getDefaultBlockName","getGroupingBlockName","selected","select","canInsertBlockType","getBlockRootClientId","getBlocksByClientId","getDirectInsertBlock","canMoveBlocks","canRemoveBlocks","blocks","rootClientId","canInsertDefaultBlock","directInsertBlock","canMove","canRemove","canInsertBlock","canCopyStyles","every","block","name","canDuplicate","getBlocks","removeBlocks","replaceBlocks","duplicateBlocks","insertAfterBlock","insertBeforeBlock","flashBlock","setBlockMovingClientId","setNavigationMode","selectBlock","notifyCopy","pasteStyles","onDuplicate","onRemove","onInsertBefore","onInsertAfter","length","onMoveTo","onGroup","groupingBlockName","newBlocks","onUngroup","innerBlocks","onCopy","onPasteStyles"],"sources":["@wordpress/block-editor/src/components/block-actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\thasBlockSupport,\n\tswitchToBlockType,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useNotifyCopy } from '../../utils/use-notify-copy';\nimport usePasteStyles from '../use-paste-styles';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function BlockActions( {\n\tclientIds,\n\tchildren,\n\t__experimentalUpdateSelection: updateSelection,\n} ) {\n\tconst { getDefaultBlockName, getGroupingBlockName } =\n\t\tuseSelect( blocksStore );\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetDirectInsertBlock,\n\t\t\t\tcanMoveBlocks,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst blocks = getBlocksByClientId( clientIds );\n\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\tconst canInsertDefaultBlock = canInsertBlockType(\n\t\t\t\tgetDefaultBlockName(),\n\t\t\t\trootClientId\n\t\t\t);\n\t\t\tconst directInsertBlock = rootClientId\n\t\t\t\t? getDirectInsertBlock( rootClientId )\n\t\t\t\t: null;\n\n\t\t\treturn {\n\t\t\t\tcanMove: canMoveBlocks( clientIds, 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\tinsertBeforeBlock( clientIds[ 0 ] );\n\t\t},\n\t\tonInsertAfter() {\n\t\t\tinsertAfterBlock( clientIds[ clientIds.length - 1 ] );\n\t\t},\n\t\tonMoveTo() {\n\t\t\tsetNavigationMode( true );\n\t\t\tselectBlock( clientIds[ 0 ] );\n\t\t\tsetBlockMovingClientId( clientIds[ 0 ] );\n\t\t},\n\t\tonGroup() {\n\t\t\tif ( ! clientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst groupingBlockName = getGroupingBlockName();\n\n\t\t\t// Activate the `transform` on `core/group` which does the conversion.\n\t\t\tconst newBlocks = switchToBlockType(\n\t\t\t\tgetBlocksByClientId( clientIds ),\n\t\t\t\tgroupingBlockName\n\t\t\t);\n\n\t\t\tif ( ! newBlocks ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treplaceBlocks( clientIds, newBlocks );\n\t\t},\n\t\tonUngroup() {\n\t\t\tif ( ! clientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst innerBlocks = getBlocks( clientIds[ 0 ] );\n\t\t\tif ( ! innerBlocks.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treplaceBlocks( clientIds, innerBlocks );\n\t\t},\n\t\tonCopy() {\n\t\t\tif ( clientIds.length === 1 ) {\n\t\t\t\tflashBlock( clientIds[ 0 ] );\n\t\t\t}\n\t\t\tnotifyCopy( 'copy', clientIds );\n\t\t},\n\t\tasync onPasteStyles() {\n\t\t\tawait pasteStyles( getBlocksByClientId( clientIds ) );\n\t\t},\n\t} );\n}\n"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { ToolbarItem, ToolbarGroup, Icon } from '@wordpress/components';
6
+ import { connection } from '@wordpress/icons';
7
+ import { _x } from '@wordpress/i18n';
8
+ export default function BlockBindingsToolbarIndicator() {
9
+ return createElement(ToolbarGroup, null, createElement(ToolbarItem, {
10
+ as: 'div',
11
+ "aria-label": _x('Connected', 'block toolbar button label'),
12
+ className: "block-editor-block-bindings-toolbar-indicator"
13
+ }, createElement(Icon, {
14
+ icon: connection,
15
+ size: 24
16
+ })));
17
+ }
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ToolbarItem","ToolbarGroup","Icon","connection","_x","BlockBindingsToolbarIndicator","createElement","as","className","icon","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":";AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,YAAY,EAAEC,IAAI,QAAQ,uBAAuB;AACvE,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AAEpC,eAAe,SAASC,6BAA6BA,CAAA,EAAG;EACvD,OACCC,aAAA,CAACL,YAAY,QACZK,aAAA,CAACN,WAAW;IACXO,EAAE,EAAG,KAAO;IACZ,cAAaH,EAAE,CAAE,WAAW,EAAE,4BAA6B,CAAG;IAC9DI,SAAS,EAAC;EAA+C,GAEzDF,aAAA,CAACJ,IAAI;IAACO,IAAI,EAAGN,UAAY;IAACO,IAAI,EAAG;EAAI,CAAE,CAC3B,CACA,CAAC;AAEjB"}
@@ -5,6 +5,7 @@ import { createContext, useContext } from '@wordpress/element';
5
5
  export const mayDisplayControlsKey = Symbol('mayDisplayControls');
6
6
  export const mayDisplayParentControlsKey = Symbol('mayDisplayParentControls');
7
7
  export const blockEditingModeKey = Symbol('blockEditingMode');
8
+ export const blockBindingsKey = Symbol('blockBindings');
8
9
  export const DEFAULT_BLOCK_EDIT_CONTEXT = {
9
10
  name: '',
10
11
  isSelected: false
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useContext","mayDisplayControlsKey","Symbol","mayDisplayParentControlsKey","blockEditingModeKey","DEFAULT_BLOCK_EDIT_CONTEXT","name","isSelected","Context","Provider","BlockEditContextProvider","useBlockEditContext"],"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":"AAAA;AACA;AACA;AACA,SAASA,aAAa,EAAEC,UAAU,QAAQ,oBAAoB;AAE9D,OAAO,MAAMC,qBAAqB,GAAGC,MAAM,CAAE,oBAAqB,CAAC;AACnE,OAAO,MAAMC,2BAA2B,GAAGD,MAAM,CAAE,0BAA2B,CAAC;AAC/E,OAAO,MAAME,mBAAmB,GAAGF,MAAM,CAAE,kBAAmB,CAAC;AAE/D,OAAO,MAAMG,0BAA0B,GAAG;EACzCC,IAAI,EAAE,EAAE;EACRC,UAAU,EAAE;AACb,CAAC;AAED,MAAMC,OAAO,GAAGT,aAAa,CAAEM,0BAA2B,CAAC;AAC3D,MAAM;EAAEI;AAAS,CAAC,GAAGD,OAAO;AAE5B,SAASC,QAAQ,IAAIC,wBAAwB;;AAE7C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAA,EAAG;EACrC,OAAOX,UAAU,CAAEQ,OAAQ,CAAC;AAC7B"}
1
+ {"version":3,"names":["createContext","useContext","mayDisplayControlsKey","Symbol","mayDisplayParentControlsKey","blockEditingModeKey","blockBindingsKey","DEFAULT_BLOCK_EDIT_CONTEXT","name","isSelected","Context","Provider","BlockEditContextProvider","useBlockEditContext"],"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":"AAAA;AACA;AACA;AACA,SAASA,aAAa,EAAEC,UAAU,QAAQ,oBAAoB;AAE9D,OAAO,MAAMC,qBAAqB,GAAGC,MAAM,CAAE,oBAAqB,CAAC;AACnE,OAAO,MAAMC,2BAA2B,GAAGD,MAAM,CAAE,0BAA2B,CAAC;AAC/E,OAAO,MAAME,mBAAmB,GAAGF,MAAM,CAAE,kBAAmB,CAAC;AAC/D,OAAO,MAAMG,gBAAgB,GAAGH,MAAM,CAAE,eAAgB,CAAC;AAEzD,OAAO,MAAMI,0BAA0B,GAAG;EACzCC,IAAI,EAAE,EAAE;EACRC,UAAU,EAAE;AACb,CAAC;AAED,MAAMC,OAAO,GAAGV,aAAa,CAAEO,0BAA2B,CAAC;AAC3D,MAAM;EAAEI;AAAS,CAAC,GAAGD,OAAO;AAE5B,SAASC,QAAQ,IAAIC,wBAAwB;;AAE7C;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAA,EAAG;EACrC,OAAOZ,UAAU,CAAES,OAAQ,CAAC;AAC7B"}
@@ -8,7 +8,7 @@ import { hasBlockSupport } from '@wordpress/blocks';
8
8
  * Internal dependencies
9
9
  */
10
10
  import Edit from './edit';
11
- import { BlockEditContextProvider, useBlockEditContext, mayDisplayControlsKey, mayDisplayParentControlsKey, blockEditingModeKey } from './context';
11
+ import { BlockEditContextProvider, useBlockEditContext, mayDisplayControlsKey, mayDisplayParentControlsKey, blockEditingModeKey, blockBindingsKey } from './context';
12
12
 
13
13
  /**
14
14
  * The `useBlockEditContext` hook provides information about the block this hook is being used in.
@@ -35,8 +35,12 @@ export default function BlockEdit({
35
35
  __unstableLayoutClassNames
36
36
  } = props;
37
37
  const {
38
- layout = null
38
+ layout = null,
39
+ metadata = {}
39
40
  } = attributes;
41
+ const {
42
+ bindings
43
+ } = metadata;
40
44
  const layoutSupport = hasBlockSupport(name, 'layout', false) || hasBlockSupport(name, '__experimentalLayout', false);
41
45
  return createElement(BlockEditContextProvider
42
46
  // It is important to return the same object if props haven't
@@ -53,8 +57,9 @@ export default function BlockEdit({
53
57
  // usage outside of the package (this context is exposed).
54
58
  [mayDisplayControlsKey]: mayDisplayControls,
55
59
  [mayDisplayParentControlsKey]: mayDisplayParentControls,
56
- [blockEditingModeKey]: blockEditingMode
57
- }), [name, isSelected, clientId, layoutSupport, layout, __unstableLayoutClassNames, mayDisplayControls, mayDisplayParentControls, blockEditingMode])
60
+ [blockEditingModeKey]: blockEditingMode,
61
+ [blockBindingsKey]: bindings
62
+ }), [name, isSelected, clientId, layoutSupport, layout, __unstableLayoutClassNames, mayDisplayControls, mayDisplayParentControls, blockEditingMode, bindings])
58
63
  }, createElement(Edit, {
59
64
  ...props
60
65
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","hasBlockSupport","Edit","BlockEditContextProvider","useBlockEditContext","mayDisplayControlsKey","mayDisplayParentControlsKey","blockEditingModeKey","BlockEdit","mayDisplayControls","mayDisplayParentControls","blockEditingMode","props","name","isSelected","clientId","attributes","__unstableLayoutClassNames","layout","layoutSupport","createElement","value"],"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":";AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;AAE5C,SAASC,eAAe,QAAQ,mBAAmB;AACnD;AACA;AACA;AACA,OAAOC,IAAI,MAAM,QAAQ;AACzB,SACCC,wBAAwB,EACxBC,mBAAmB,EACnBC,qBAAqB,EACrBC,2BAA2B,EAC3BC,mBAAmB,QACb,WAAW;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASH,mBAAmB;AAE5B,eAAe,SAASI,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,GAClBlB,eAAe,CAAEY,IAAI,EAAE,QAAQ,EAAE,KAAM,CAAC,IACxCZ,eAAe,CAAEY,IAAI,EAAE,sBAAsB,EAAE,KAAM,CAAC;EACvD,OACCO,aAAA,CAACjB;EACA;EACA;EACA;EAAA;IACAkB,KAAK,EAAGrB,OAAO,CACd,OAAQ;MACPa,IAAI;MACJC,UAAU;MACVC,QAAQ;MACRG,MAAM,EAAEC,aAAa,GAAGD,MAAM,GAAG,IAAI;MACrCD,0BAA0B;MAC1B;MACA;MACA,CAAEZ,qBAAqB,GAAII,kBAAkB;MAC7C,CAAEH,2BAA2B,GAAII,wBAAwB;MACzD,CAAEH,mBAAmB,GAAII;IAC1B,CAAC,CAAE,EACH,CACCE,IAAI,EACJC,UAAU,EACVC,QAAQ,EACRI,aAAa,EACbD,MAAM,EACND,0BAA0B,EAC1BR,kBAAkB,EAClBC,wBAAwB,EACxBC,gBAAgB,CAElB;EAAG,GAEHS,aAAA,CAAClB,IAAI;IAAA,GAAMU;EAAK,CAAI,CACK,CAAC;AAE7B"}
1
+ {"version":3,"names":["useMemo","hasBlockSupport","Edit","BlockEditContextProvider","useBlockEditContext","mayDisplayControlsKey","mayDisplayParentControlsKey","blockEditingModeKey","blockBindingsKey","BlockEdit","mayDisplayControls","mayDisplayParentControls","blockEditingMode","props","name","isSelected","clientId","attributes","__unstableLayoutClassNames","layout","metadata","bindings","layoutSupport","createElement","value"],"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":";AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;AAE5C,SAASC,eAAe,QAAQ,mBAAmB;AACnD;AACA;AACA;AACA,OAAOC,IAAI,MAAM,QAAQ;AACzB,SACCC,wBAAwB,EACxBC,mBAAmB,EACnBC,qBAAqB,EACrBC,2BAA2B,EAC3BC,mBAAmB,EACnBC,gBAAgB,QACV,WAAW;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASJ,mBAAmB;AAE5B,eAAe,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,GAClBrB,eAAe,CAAEa,IAAI,EAAE,QAAQ,EAAE,KAAM,CAAC,IACxCb,eAAe,CAAEa,IAAI,EAAE,sBAAsB,EAAE,KAAM,CAAC;EACvD,OACCS,aAAA,CAACpB;EACA;EACA;EACA;EAAA;IACAqB,KAAK,EAAGxB,OAAO,CACd,OAAQ;MACPc,IAAI;MACJC,UAAU;MACVC,QAAQ;MACRG,MAAM,EAAEG,aAAa,GAAGH,MAAM,GAAG,IAAI;MACrCD,0BAA0B;MAC1B;MACA;MACA,CAAEb,qBAAqB,GAAIK,kBAAkB;MAC7C,CAAEJ,2BAA2B,GAAIK,wBAAwB;MACzD,CAAEJ,mBAAmB,GAAIK,gBAAgB;MACzC,CAAEJ,gBAAgB,GAAIa;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,GAEHE,aAAA,CAACrB,IAAI;IAAA,GAAMW;EAAK,CAAI,CACK,CAAC;AAE7B"}
@@ -21,10 +21,10 @@ const POPOVER_PROPS = {
21
21
  *
22
22
  * @typedef WPHeadingLevelDropdownProps
23
23
  *
24
- * @property {number} value The chosen heading level.
25
- * @property {number[]} options An array of supported heading levels.
26
- * @property {(newValue:number)=>any} onChange Callback to run when
27
- * toolbar value is changed.
24
+ * @property {number} value The chosen heading level.
25
+ * @property {number[]} options An array of supported heading levels.
26
+ * @property {()=>number} onChange Function called with
27
+ * the selected value changes.
28
28
  */
29
29
 
30
30
  /**
@@ -52,7 +52,7 @@ export default function HeadingLevelDropdown({
52
52
  level: targetLevel
53
53
  }),
54
54
  title: targetLevel === 0 ? __('Paragraph') : sprintf(
55
- // translators: %s: heading level e.g: "1", "2", "3"
55
+ // translators: %d: heading level e.g: "1", "2", "3"
56
56
  __('Heading %d'), targetLevel),
57
57
  isActive,
58
58
  onClick() {
@@ -1 +1 @@
1
- {"version":3,"names":["ToolbarDropdownMenu","__","sprintf","HeadingLevelIcon","HEADING_LEVELS","POPOVER_PROPS","className","HeadingLevelDropdown","options","value","onChange","createElement","popoverProps","icon","level","label","controls","map","targetLevel","isActive","title","onClick","role"],"sources":["@wordpress/block-editor/src/components/block-heading-level-dropdown/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarDropdownMenu } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelIcon from './heading-level-icon';\n\nconst HEADING_LEVELS = [ 1, 2, 3, 4, 5, 6 ];\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-library-heading-level-dropdown',\n};\n\n/** @typedef {import('react').ComponentType} ComponentType */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} value The chosen heading level.\n * @property {number[]} options An array of supported heading levels.\n * @property {(newValue:number)=>any} onChange Callback to run when\n * toolbar value is changed.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6) or paragraph (0).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {ComponentType} The toolbar.\n */\nexport default function HeadingLevelDropdown( {\n\toptions = HEADING_LEVELS,\n\tvalue,\n\tonChange,\n} ) {\n\treturn (\n\t\t<ToolbarDropdownMenu\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ticon={ <HeadingLevelIcon level={ value } /> }\n\t\t\tlabel={ __( 'Change level' ) }\n\t\t\tcontrols={ options.map( ( targetLevel ) => {\n\t\t\t\tconst isActive = targetLevel === value;\n\t\t\t\treturn {\n\t\t\t\t\ticon: <HeadingLevelIcon level={ targetLevel } />,\n\t\t\t\t\ttitle:\n\t\t\t\t\t\ttargetLevel === 0\n\t\t\t\t\t\t\t? __( 'Paragraph' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\t\t\t\t\t\t\t__( 'Heading %d' ),\n\t\t\t\t\t\t\t\t\ttargetLevel\n\t\t\t\t\t\t\t ),\n\t\t\t\t\tisActive,\n\t\t\t\t\tonClick() {\n\t\t\t\t\t\tonChange( targetLevel );\n\t\t\t\t\t},\n\t\t\t\t\trole: 'menuitemradio',\n\t\t\t\t};\n\t\t\t} ) }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAE7C;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,sBAAsB;AAEnD,MAAMC,cAAc,GAAG,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;AAE3C,MAAMC,aAAa,GAAG;EACrBC,SAAS,EAAE;AACZ,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,oBAAoBA,CAAE;EAC7CC,OAAO,GAAGJ,cAAc;EACxBK,KAAK;EACLC;AACD,CAAC,EAAG;EACH,OACCC,aAAA,CAACX,mBAAmB;IACnBY,YAAY,EAAGP,aAAe;IAC9BQ,IAAI,EAAGF,aAAA,CAACR,gBAAgB;MAACW,KAAK,EAAGL;IAAO,CAAE,CAAG;IAC7CM,KAAK,EAAGd,EAAE,CAAE,cAAe,CAAG;IAC9Be,QAAQ,EAAGR,OAAO,CAACS,GAAG,CAAIC,WAAW,IAAM;MAC1C,MAAMC,QAAQ,GAAGD,WAAW,KAAKT,KAAK;MACtC,OAAO;QACNI,IAAI,EAAEF,aAAA,CAACR,gBAAgB;UAACW,KAAK,EAAGI;QAAa,CAAE,CAAC;QAChDE,KAAK,EACJF,WAAW,KAAK,CAAC,GACdjB,EAAE,CAAE,WAAY,CAAC,GACjBC,OAAO;QACP;QACAD,EAAE,CAAE,YAAa,CAAC,EAClBiB,WACA,CAAC;QACLC,QAAQ;QACRE,OAAOA,CAAA,EAAG;UACTX,QAAQ,CAAEQ,WAAY,CAAC;QACxB,CAAC;QACDI,IAAI,EAAE;MACP,CAAC;IACF,CAAE;EAAG,CACL,CAAC;AAEJ"}
1
+ {"version":3,"names":["ToolbarDropdownMenu","__","sprintf","HeadingLevelIcon","HEADING_LEVELS","POPOVER_PROPS","className","HeadingLevelDropdown","options","value","onChange","createElement","popoverProps","icon","level","label","controls","map","targetLevel","isActive","title","onClick","role"],"sources":["@wordpress/block-editor/src/components/block-heading-level-dropdown/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarDropdownMenu } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelIcon from './heading-level-icon';\n\nconst HEADING_LEVELS = [ 1, 2, 3, 4, 5, 6 ];\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-library-heading-level-dropdown',\n};\n\n/** @typedef {import('react').ComponentType} ComponentType */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} value The chosen heading level.\n * @property {number[]} options An array of supported heading levels.\n * @property {()=>number} onChange Function called with\n * the selected value changes.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6) or paragraph (0).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {ComponentType} The toolbar.\n */\nexport default function HeadingLevelDropdown( {\n\toptions = HEADING_LEVELS,\n\tvalue,\n\tonChange,\n} ) {\n\treturn (\n\t\t<ToolbarDropdownMenu\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ticon={ <HeadingLevelIcon level={ value } /> }\n\t\t\tlabel={ __( 'Change level' ) }\n\t\t\tcontrols={ options.map( ( targetLevel ) => {\n\t\t\t\tconst isActive = targetLevel === value;\n\t\t\t\treturn {\n\t\t\t\t\ticon: <HeadingLevelIcon level={ targetLevel } />,\n\t\t\t\t\ttitle:\n\t\t\t\t\t\ttargetLevel === 0\n\t\t\t\t\t\t\t? __( 'Paragraph' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %d: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\t\t\t\t\t\t\t__( 'Heading %d' ),\n\t\t\t\t\t\t\t\t\ttargetLevel\n\t\t\t\t\t\t\t ),\n\t\t\t\t\tisActive,\n\t\t\t\t\tonClick() {\n\t\t\t\t\t\tonChange( targetLevel );\n\t\t\t\t\t},\n\t\t\t\t\trole: 'menuitemradio',\n\t\t\t\t};\n\t\t\t} ) }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,mBAAmB,QAAQ,uBAAuB;AAC3D,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAE7C;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,sBAAsB;AAEnD,MAAMC,cAAc,GAAG,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;AAE3C,MAAMC,aAAa,GAAG;EACrBC,SAAS,EAAE;AACZ,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,oBAAoBA,CAAE;EAC7CC,OAAO,GAAGJ,cAAc;EACxBK,KAAK;EACLC;AACD,CAAC,EAAG;EACH,OACCC,aAAA,CAACX,mBAAmB;IACnBY,YAAY,EAAGP,aAAe;IAC9BQ,IAAI,EAAGF,aAAA,CAACR,gBAAgB;MAACW,KAAK,EAAGL;IAAO,CAAE,CAAG;IAC7CM,KAAK,EAAGd,EAAE,CAAE,cAAe,CAAG;IAC9Be,QAAQ,EAAGR,OAAO,CAACS,GAAG,CAAIC,WAAW,IAAM;MAC1C,MAAMC,QAAQ,GAAGD,WAAW,KAAKT,KAAK;MACtC,OAAO;QACNI,IAAI,EAAEF,aAAA,CAACR,gBAAgB;UAACW,KAAK,EAAGI;QAAa,CAAE,CAAC;QAChDE,KAAK,EACJF,WAAW,KAAK,CAAC,GACdjB,EAAE,CAAE,WAAY,CAAC,GACjBC,OAAO;QACP;QACAD,EAAE,CAAE,YAAa,CAAC,EAClBiB,WACA,CAAC;QACLC,QAAQ;QACRE,OAAOA,CAAA,EAAG;UACTX,QAAQ,CAAEQ,WAAY,CAAC;QACxB,CAAC;QACDI,IAAI,EAAE;MACP,CAAC;IACF,CAAE;EAAG,CACL,CAAC;AAEJ"}
@@ -18,9 +18,10 @@ const HEADING_LEVELS = [1, 2, 3, 4, 5, 6];
18
18
  *
19
19
  * @typedef WPHeadingLevelDropdownProps
20
20
  *
21
- * @property {number} selectedLevel The chosen heading level.
22
- * @property {(newValue:number)=>any} onChange Callback to run when
23
- * toolbar value is changed.
21
+ * @property {number} value The chosen heading level.
22
+ * @property {number[]} options An array of supported heading levels.
23
+ * @property {()=>number} onChange Function called with
24
+ * the selected value changes.
24
25
  */
25
26
 
26
27
  /**
@@ -42,7 +43,7 @@ export default function HeadingLevelDropdown({
42
43
  level: targetLevel,
43
44
  isPressed: isActive
44
45
  }),
45
- // translators: %s: heading level e.g: "1", "2", "3"
46
+ // translators: %d: heading level e.g: "1", "2", "3"
46
47
  title: sprintf(__('Heading %d'), targetLevel),
47
48
  isActive,
48
49
  onClick: () => onChangeCallback(targetLevel)
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","DropdownMenu","HeadingLevelIcon","HEADING_LEVELS","HeadingLevelDropdown","options","value","onChange","createLevelControl","targetLevel","currentLevel","onChangeCallback","isActive","icon","createElement","level","isPressed","title","onClick","controls","map","index","label"],"sources":["@wordpress/block-editor/src/components/block-heading-level-dropdown/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { DropdownMenu } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelIcon from './heading-level-icon';\n\nconst HEADING_LEVELS = [ 1, 2, 3, 4, 5, 6 ];\n\n/** @typedef {import('react').ComponentType} ComponentType */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} selectedLevel The chosen heading level.\n * @property {(newValue:number)=>any} onChange Callback to run when\n * toolbar value is changed.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {ComponentType} The toolbar.\n */\nexport default function HeadingLevelDropdown( {\n\toptions = HEADING_LEVELS,\n\tvalue,\n\tonChange,\n} ) {\n\tconst createLevelControl = (\n\t\ttargetLevel,\n\t\tcurrentLevel,\n\t\tonChangeCallback\n\t) => {\n\t\tconst isActive = targetLevel === currentLevel;\n\t\treturn {\n\t\t\ticon: (\n\t\t\t\t<HeadingLevelIcon\n\t\t\t\t\tlevel={ targetLevel }\n\t\t\t\t\tisPressed={ isActive }\n\t\t\t\t/>\n\t\t\t),\n\t\t\t// translators: %s: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\ttitle: sprintf( __( 'Heading %d' ), targetLevel ),\n\t\t\tisActive,\n\t\t\tonClick: () => onChangeCallback( targetLevel ),\n\t\t};\n\t};\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ <HeadingLevelIcon level={ value } /> }\n\t\t\tcontrols={ options.map( ( index ) =>\n\t\t\t\tcreateLevelControl( index, value, onChange )\n\t\t\t) }\n\t\t\tlabel={ __( 'Change level' ) }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,YAAY,QAAQ,uBAAuB;;AAEpD;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,sBAAsB;AAEnD,MAAMC,cAAc,GAAG,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;;AAE3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,oBAAoBA,CAAE;EAC7CC,OAAO,GAAGF,cAAc;EACxBG,KAAK;EACLC;AACD,CAAC,EAAG;EACH,MAAMC,kBAAkB,GAAGA,CAC1BC,WAAW,EACXC,YAAY,EACZC,gBAAgB,KACZ;IACJ,MAAMC,QAAQ,GAAGH,WAAW,KAAKC,YAAY;IAC7C,OAAO;MACNG,IAAI,EACHC,aAAA,CAACZ,gBAAgB;QAChBa,KAAK,EAAGN,WAAa;QACrBO,SAAS,EAAGJ;MAAU,CACtB,CACD;MACD;MACAK,KAAK,EAAEjB,OAAO,CAAED,EAAE,CAAE,YAAa,CAAC,EAAEU,WAAY,CAAC;MACjDG,QAAQ;MACRM,OAAO,EAAEA,CAAA,KAAMP,gBAAgB,CAAEF,WAAY;IAC9C,CAAC;EACF,CAAC;EAED,OACCK,aAAA,CAACb,YAAY;IACZY,IAAI,EAAGC,aAAA,CAACZ,gBAAgB;MAACa,KAAK,EAAGT;IAAO,CAAE,CAAG;IAC7Ca,QAAQ,EAAGd,OAAO,CAACe,GAAG,CAAIC,KAAK,IAC9Bb,kBAAkB,CAAEa,KAAK,EAAEf,KAAK,EAAEC,QAAS,CAC5C,CAAG;IACHe,KAAK,EAAGvB,EAAE,CAAE,cAAe;EAAG,CAC9B,CAAC;AAEJ"}
1
+ {"version":3,"names":["__","sprintf","DropdownMenu","HeadingLevelIcon","HEADING_LEVELS","HeadingLevelDropdown","options","value","onChange","createLevelControl","targetLevel","currentLevel","onChangeCallback","isActive","icon","createElement","level","isPressed","title","onClick","controls","map","index","label"],"sources":["@wordpress/block-editor/src/components/block-heading-level-dropdown/index.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { DropdownMenu } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelIcon from './heading-level-icon';\n\nconst HEADING_LEVELS = [ 1, 2, 3, 4, 5, 6 ];\n\n/** @typedef {import('react').ComponentType} ComponentType */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} value The chosen heading level.\n * @property {number[]} options An array of supported heading levels.\n * @property {()=>number} onChange Function called with\n * the selected value changes.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {ComponentType} The toolbar.\n */\nexport default function HeadingLevelDropdown( {\n\toptions = HEADING_LEVELS,\n\tvalue,\n\tonChange,\n} ) {\n\tconst createLevelControl = (\n\t\ttargetLevel,\n\t\tcurrentLevel,\n\t\tonChangeCallback\n\t) => {\n\t\tconst isActive = targetLevel === currentLevel;\n\t\treturn {\n\t\t\ticon: (\n\t\t\t\t<HeadingLevelIcon\n\t\t\t\t\tlevel={ targetLevel }\n\t\t\t\t\tisPressed={ isActive }\n\t\t\t\t/>\n\t\t\t),\n\t\t\t// translators: %d: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\ttitle: sprintf( __( 'Heading %d' ), targetLevel ),\n\t\t\tisActive,\n\t\t\tonClick: () => onChangeCallback( targetLevel ),\n\t\t};\n\t};\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ <HeadingLevelIcon level={ value } /> }\n\t\t\tcontrols={ options.map( ( index ) =>\n\t\t\t\tcreateLevelControl( index, value, onChange )\n\t\t\t) }\n\t\t\tlabel={ __( 'Change level' ) }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,YAAY,QAAQ,uBAAuB;;AAEpD;AACA;AACA;AACA,OAAOC,gBAAgB,MAAM,sBAAsB;AAEnD,MAAMC,cAAc,GAAG,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE;;AAE3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,oBAAoBA,CAAE;EAC7CC,OAAO,GAAGF,cAAc;EACxBG,KAAK;EACLC;AACD,CAAC,EAAG;EACH,MAAMC,kBAAkB,GAAGA,CAC1BC,WAAW,EACXC,YAAY,EACZC,gBAAgB,KACZ;IACJ,MAAMC,QAAQ,GAAGH,WAAW,KAAKC,YAAY;IAC7C,OAAO;MACNG,IAAI,EACHC,aAAA,CAACZ,gBAAgB;QAChBa,KAAK,EAAGN,WAAa;QACrBO,SAAS,EAAGJ;MAAU,CACtB,CACD;MACD;MACAK,KAAK,EAAEjB,OAAO,CAAED,EAAE,CAAE,YAAa,CAAC,EAAEU,WAAY,CAAC;MACjDG,QAAQ;MACRM,OAAO,EAAEA,CAAA,KAAMP,gBAAgB,CAAEF,WAAY;IAC9C,CAAC;EACF,CAAC;EAED,OACCK,aAAA,CAACb,YAAY;IACZY,IAAI,EAAGC,aAAA,CAACZ,gBAAgB;MAACa,KAAK,EAAGT;IAAO,CAAE,CAAG;IAC7Ca,QAAQ,EAAGd,OAAO,CAACe,GAAG,CAAIC,KAAK,IAC9Bb,kBAAkB,CAAEa,KAAK,EAAEf,KAAK,EAAEC,QAAS,CAC5C,CAAG;IACHe,KAAK,EAAGvB,EAAE,CAAE,cAAe;EAAG,CAC9B,CAAC;AAEJ"}
@@ -25,7 +25,7 @@ import PositionControls from '../inspector-controls-tabs/position-controls-panel
25
25
  import useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';
26
26
  import BlockInfo from '../block-info-slot-fill';
27
27
  import BlockQuickNavigation from '../block-quick-navigation';
28
- import { getBorderPanelLabel } from '../../hooks/border';
28
+ import { useBorderPanelLabel } from '../../hooks/border';
29
29
  function BlockInspectorLockedBlocks({
30
30
  topLevelLockedBlock
31
31
  }) {
@@ -89,6 +89,9 @@ const BlockInspector = ({
89
89
  // and its parent, and only enable it if the parent is controlling
90
90
  // its children blocks.
91
91
  const blockInspectorAnimationSettings = useBlockInspectorAnimationSettings(blockType, selectedBlockClientId);
92
+ const borderPanelLabel = useBorderPanelLabel({
93
+ blockName: selectedBlockName
94
+ });
92
95
  if (count > 1) {
93
96
  return createElement("div", {
94
97
  className: "block-editor-block-inspector"
@@ -106,9 +109,7 @@ const BlockInspector = ({
106
109
  label: __('Dimensions')
107
110
  }), createElement(InspectorControls.Slot, {
108
111
  group: "border",
109
- label: getBorderPanelLabel({
110
- blockName: selectedBlockName
111
- })
112
+ label: borderPanelLabel
112
113
  }), createElement(InspectorControls.Slot, {
113
114
  group: "styles"
114
115
  })));
@@ -186,7 +187,7 @@ const BlockInspectorSingleBlock = ({
186
187
  return blockStyles && blockStyles.length > 0;
187
188
  }, [blockName]);
188
189
  const blockInformation = useBlockDisplayInformation(clientId);
189
- const borderPanelLabel = getBorderPanelLabel({
190
+ const borderPanelLabel = useBorderPanelLabel({
190
191
  blockName
191
192
  });
192
193
  return createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["__","getBlockType","getUnregisteredTypeHandlerName","store","blocksStore","PanelBody","__unstableMotion","motion","useSelect","SkipToSelectedBlock","BlockCard","MultiSelectionInspector","BlockVariationTransforms","useBlockDisplayInformation","blockEditorStore","BlockStyles","default","InspectorControls","InspectorControlsTabs","useInspectorControlsTabs","AdvancedControls","PositionControls","useBlockInspectorAnimationSettings","BlockInfo","BlockQuickNavigation","getBorderPanelLabel","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","filter","clientId","blockInformation","createElement","className","isSynced","blockClientId","Slot","length","title","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","availableTabs","name","showTabs","blockInspectorAnimationSettings","tabs","Fragment","group","label","blockName","isSelectedBlockUnregistered","BlockInspectorSingleBlockWrapper","animate","wrapper","children","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","div","x","opacity","transition","ease","duration","initial","key","hasBlockStyles","getBlockStyles","blockStyles","borderPanelLabel"],"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":["__","getBlockType","getUnregisteredTypeHandlerName","store","blocksStore","PanelBody","__unstableMotion","motion","useSelect","SkipToSelectedBlock","BlockCard","MultiSelectionInspector","BlockVariationTransforms","useBlockDisplayInformation","blockEditorStore","BlockStyles","default","InspectorControls","InspectorControlsTabs","useInspectorControlsTabs","AdvancedControls","PositionControls","useBlockInspectorAnimationSettings","BlockInfo","BlockQuickNavigation","useBorderPanelLabel","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","filter","clientId","blockInformation","createElement","className","isSynced","blockClientId","Slot","length","title","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","availableTabs","name","showTabs","blockInspectorAnimationSettings","borderPanelLabel","blockName","tabs","Fragment","group","label","isSelectedBlockUnregistered","BlockInspectorSingleBlockWrapper","animate","wrapper","children","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","div","x","opacity","transition","ease","duration","initial","key","hasBlockStyles","getBlockStyles","blockStyles"],"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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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Component } from '@wordpress/element';
5
+ import { logException } from '@wordpress/react-native-bridge';
6
+ class BlockCrashBoundary extends Component {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.state = {
10
+ error: null
11
+ };
12
+ }
13
+ static getDerivedStateFromError(error) {
14
+ return {
15
+ error
16
+ };
17
+ }
18
+ componentDidCatch(error) {
19
+ const {
20
+ blockName
21
+ } = this.props;
22
+ logException(error, {
23
+ context: {
24
+ component_stack: error.componentStack,
25
+ block_name: blockName
26
+ },
27
+ isHandled: true,
28
+ handledBy: 'Block-level Error Boundary'
29
+ });
30
+ }
31
+ render() {
32
+ const {
33
+ error
34
+ } = this.state;
35
+ if (!error) {
36
+ return this.props.children;
37
+ }
38
+ return this.props.fallback;
39
+ }
40
+ }
41
+ export default BlockCrashBoundary;
42
+ //# sourceMappingURL=block-crash-boundary.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Component","logException","BlockCrashBoundary","constructor","arguments","state","error","getDerivedStateFromError","componentDidCatch","blockName","props","context","component_stack","componentStack","block_name","isHandled","handledBy","render","children","fallback"],"sources":["@wordpress/block-editor/src/components/block-list/block-crash-boundary.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { logException } from '@wordpress/react-native-bridge';\n\nclass BlockCrashBoundary extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\terror: null,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromError( error ) {\n\t\treturn { error };\n\t}\n\n\tcomponentDidCatch( error ) {\n\t\tconst { blockName } = this.props;\n\n\t\tlogException( error, {\n\t\t\tcontext: {\n\t\t\t\tcomponent_stack: error.componentStack,\n\t\t\t\tblock_name: blockName,\n\t\t\t},\n\t\t\tisHandled: true,\n\t\t\thandledBy: 'Block-level Error Boundary',\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tif ( ! error ) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\treturn this.props.fallback;\n\t}\n}\n\nexport default BlockCrashBoundary;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,YAAY,QAAQ,gCAAgC;AAE7D,MAAMC,kBAAkB,SAASF,SAAS,CAAC;EAC1CG,WAAWA,CAAA,EAAG;IACb,KAAK,CAAE,GAAGC,SAAU,CAAC;IAErB,IAAI,CAACC,KAAK,GAAG;MACZC,KAAK,EAAE;IACR,CAAC;EACF;EAEA,OAAOC,wBAAwBA,CAAED,KAAK,EAAG;IACxC,OAAO;MAAEA;IAAM,CAAC;EACjB;EAEAE,iBAAiBA,CAAEF,KAAK,EAAG;IAC1B,MAAM;MAAEG;IAAU,CAAC,GAAG,IAAI,CAACC,KAAK;IAEhCT,YAAY,CAAEK,KAAK,EAAE;MACpBK,OAAO,EAAE;QACRC,eAAe,EAAEN,KAAK,CAACO,cAAc;QACrCC,UAAU,EAAEL;MACb,CAAC;MACDM,SAAS,EAAE,IAAI;MACfC,SAAS,EAAE;IACZ,CAAE,CAAC;EACJ;EAEAC,MAAMA,CAAA,EAAG;IACR,MAAM;MAAEX;IAAM,CAAC,GAAG,IAAI,CAACD,KAAK;IAC5B,IAAK,CAAEC,KAAK,EAAG;MACd,OAAO,IAAI,CAACI,KAAK,CAACQ,QAAQ;IAC3B;IAEA,OAAO,IAAI,CAACR,KAAK,CAACS,QAAQ;EAC3B;AACD;AAEA,eAAejB,kBAAkB"}
@@ -0,0 +1,15 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { __ } from '@wordpress/i18n';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import Warning from '../warning';
11
+ const warning = createElement(Warning, {
12
+ message: __('This block has encountered an error and cannot be previewed.')
13
+ });
14
+ export default (() => warning);
15
+ //# sourceMappingURL=block-crash-warning.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","Warning","warning","createElement","message"],"sources":["@wordpress/block-editor/src/components/block-list/block-crash-warning.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\n\nconst warning = (\n\t<Warning\n\t\tmessage={ __(\n\t\t\t'This block has encountered an error and cannot be previewed.'\n\t\t) }\n\t/>\n);\n\nexport default () => warning;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,OAAO,MAAM,YAAY;AAEhC,MAAMC,OAAO,GACZC,aAAA,CAACF,OAAO;EACPG,OAAO,EAAGJ,EAAE,CACX,8DACD;AAAG,CACH,CACD;AAED,gBAAe,MAAME,OAAO"}