@wordpress/block-editor 10.2.0 → 10.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +41 -0
  3. package/build/components/alignment-control/ui.js +1 -1
  4. package/build/components/alignment-control/ui.js.map +1 -1
  5. package/build/components/block-alignment-control/constants.js +1 -1
  6. package/build/components/block-alignment-control/constants.js.map +1 -1
  7. package/build/components/block-alignment-matrix-control/index.js +1 -1
  8. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  9. package/build/components/block-compare/index.js +1 -3
  10. package/build/components/block-compare/index.js.map +1 -1
  11. package/build/components/block-draggable/draggable-chip.js +4 -2
  12. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  13. package/build/components/block-edit/index.js +4 -2
  14. package/build/components/block-edit/index.js.map +1 -1
  15. package/build/components/block-inspector/index.js +4 -4
  16. package/build/components/block-inspector/index.js.map +1 -1
  17. package/build/components/block-list/block-list-compact.native.js +1 -0
  18. package/build/components/block-list/block-list-compact.native.js.map +1 -1
  19. package/build/components/block-list/block.js +75 -15
  20. package/build/components/block-list/block.js.map +1 -1
  21. package/build/components/block-list/block.native.js +79 -12
  22. package/build/components/block-list/block.native.js.map +1 -1
  23. package/build/components/block-list/use-in-between-inserter.js +7 -23
  24. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  25. package/build/components/block-lock/modal.js +9 -6
  26. package/build/components/block-lock/modal.js.map +1 -1
  27. package/build/components/block-parent-selector/index.js +3 -3
  28. package/build/components/block-parent-selector/index.js.map +1 -1
  29. package/build/components/block-patterns-list/index.js +5 -4
  30. package/build/components/block-patterns-list/index.js.map +1 -1
  31. package/build/components/block-popover/drop-zone.js +85 -0
  32. package/build/components/block-popover/drop-zone.js.map +1 -0
  33. package/build/components/block-popover/inbetween.js +2 -1
  34. package/build/components/block-popover/inbetween.js.map +1 -1
  35. package/build/components/block-popover/index.js +4 -2
  36. package/build/components/block-popover/index.js.map +1 -1
  37. package/build/components/block-preview/auto.js +2 -2
  38. package/build/components/block-preview/auto.js.map +1 -1
  39. package/build/components/block-preview/index.js +8 -13
  40. package/build/components/block-preview/index.js.map +1 -1
  41. package/build/components/block-preview/live.js +3 -7
  42. package/build/components/block-preview/live.js.map +1 -1
  43. package/build/components/block-selection-clearer/index.js +9 -1
  44. package/build/components/block-selection-clearer/index.js.map +1 -1
  45. package/build/components/block-settings-menu/block-settings-dropdown.js +19 -19
  46. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  47. package/build/components/block-styles/index.js +18 -42
  48. package/build/components/block-styles/index.js.map +1 -1
  49. package/build/components/block-switcher/index.js +2 -8
  50. package/build/components/block-switcher/index.js.map +1 -1
  51. package/build/components/block-switcher/preview-block-popover.js +1 -1
  52. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  53. package/build/components/block-toolbar/index.js +4 -4
  54. package/build/components/block-toolbar/index.js.map +1 -1
  55. package/build/components/block-tools/back-compat.js +2 -1
  56. package/build/components/block-tools/back-compat.js.map +1 -1
  57. package/build/components/block-tools/insertion-point.js +56 -16
  58. package/build/components/block-tools/insertion-point.js.map +1 -1
  59. package/build/components/block-tools/selected-block-popover.js +15 -3
  60. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  61. package/build/components/block-vertical-alignment-control/ui.js +1 -1
  62. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  63. package/build/components/border-radius-control/all-input-control.js +2 -1
  64. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  65. package/build/components/border-radius-control/index.js +2 -1
  66. package/build/components/border-radius-control/index.js.map +1 -1
  67. package/build/components/border-radius-control/input-controls.js +2 -1
  68. package/build/components/border-radius-control/input-controls.js.map +1 -1
  69. package/build/components/colors-gradients/control.js +1 -1
  70. package/build/components/colors-gradients/control.js.map +1 -1
  71. package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -2
  72. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  73. package/build/components/duotone-control/index.js +1 -1
  74. package/build/components/duotone-control/index.js.map +1 -1
  75. package/build/components/font-sizes/fluid-utils.js +256 -0
  76. package/build/components/font-sizes/fluid-utils.js.map +1 -0
  77. package/build/components/font-sizes/index.js +8 -0
  78. package/build/components/font-sizes/index.js.map +1 -1
  79. package/build/components/font-sizes/with-font-sizes.js +1 -1
  80. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  81. package/build/components/iframe/index.js +1 -1
  82. package/build/components/iframe/index.js.map +1 -1
  83. package/build/components/image-editor/constants.js +1 -1
  84. package/build/components/image-editor/constants.js.map +1 -1
  85. package/build/components/index.js +0 -9
  86. package/build/components/index.js.map +1 -1
  87. package/build/components/inner-blocks/index.js +6 -2
  88. package/build/components/inner-blocks/index.js.map +1 -1
  89. package/build/components/inner-blocks/use-inner-block-template-sync.js +3 -2
  90. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  91. package/build/components/inserter/block-patterns-tab.js +151 -78
  92. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  93. package/build/components/inserter/hooks/use-insertion-point.js +2 -7
  94. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  95. package/build/components/inserter/menu.js +14 -3
  96. package/build/components/inserter/menu.js.map +1 -1
  97. package/build/components/inserter/search-items.js +23 -2
  98. package/build/components/inserter/search-items.js.map +1 -1
  99. package/build/components/inserter-draggable-blocks/index.js +4 -2
  100. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  101. package/build/components/line-height-control/index.js +2 -1
  102. package/build/components/line-height-control/index.js.map +1 -1
  103. package/build/components/list-view/drop-indicator.js +2 -1
  104. package/build/components/list-view/drop-indicator.js.map +1 -1
  105. package/build/components/list-view/use-list-view-drop-zone.js +1 -14
  106. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  107. package/build/components/media-replace-flow/index.js +1 -1
  108. package/build/components/media-replace-flow/index.js.map +1 -1
  109. package/build/components/preview-options/index.js +2 -3
  110. package/build/components/preview-options/index.js.map +1 -1
  111. package/build/components/rich-text/format-toolbar/index.js +1 -1
  112. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  113. package/build/components/rich-text/format-toolbar-container.js +1 -1
  114. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  115. package/build/components/rich-text/use-paste-handler.js +1 -1
  116. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  117. package/build/components/spacing-sizes-control/all-input-control.js +6 -2
  118. package/build/components/spacing-sizes-control/all-input-control.js.map +1 -1
  119. package/build/components/spacing-sizes-control/axial-input-controls.js +6 -2
  120. package/build/components/spacing-sizes-control/axial-input-controls.js.map +1 -1
  121. package/build/components/spacing-sizes-control/index.js +6 -2
  122. package/build/components/spacing-sizes-control/index.js.map +1 -1
  123. package/build/components/spacing-sizes-control/input-controls.js +6 -2
  124. package/build/components/spacing-sizes-control/input-controls.js.map +1 -1
  125. package/build/components/spacing-sizes-control/spacing-input-control.js +45 -8
  126. package/build/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
  127. package/build/components/url-input/index.js +1 -1
  128. package/build/components/url-input/index.js.map +1 -1
  129. package/build/components/use-block-drop-zone/index.js +98 -57
  130. package/build/components/use-block-drop-zone/index.js.map +1 -1
  131. package/build/components/use-on-block-drop/index.js +12 -12
  132. package/build/components/use-on-block-drop/index.js.map +1 -1
  133. package/build/components/use-on-block-drop/types.js +6 -0
  134. package/build/components/use-on-block-drop/types.js.map +1 -0
  135. package/build/hooks/align.js +1 -3
  136. package/build/hooks/align.js.map +1 -1
  137. package/build/hooks/align.native.js +1 -7
  138. package/build/hooks/align.native.js.map +1 -1
  139. package/build/hooks/border.js +1 -0
  140. package/build/hooks/border.js.map +1 -1
  141. package/build/hooks/dimensions.js +32 -4
  142. package/build/hooks/dimensions.js.map +1 -1
  143. package/build/hooks/font-size.js +61 -0
  144. package/build/hooks/font-size.js.map +1 -1
  145. package/build/hooks/layout.js +4 -3
  146. package/build/hooks/layout.js.map +1 -1
  147. package/build/hooks/margin.js +24 -17
  148. package/build/hooks/margin.js.map +1 -1
  149. package/build/hooks/padding.js +20 -12
  150. package/build/hooks/padding.js.map +1 -1
  151. package/build/hooks/style.js +126 -4
  152. package/build/hooks/style.js.map +1 -1
  153. package/build/hooks/use-typography-props.js +17 -3
  154. package/build/hooks/use-typography-props.js.map +1 -1
  155. package/build/hooks/utils.js +8 -7
  156. package/build/hooks/utils.js.map +1 -1
  157. package/build/layouts/constrained.js +0 -1
  158. package/build/layouts/constrained.js.map +1 -1
  159. package/build/layouts/flex.js +1 -1
  160. package/build/layouts/flex.js.map +1 -1
  161. package/build/store/actions.js +63 -45
  162. package/build/store/actions.js.map +1 -1
  163. package/build/store/array.js +1 -7
  164. package/build/store/array.js.map +1 -1
  165. package/build/store/defaults.js +3 -0
  166. package/build/store/defaults.js.map +1 -1
  167. package/build/store/reducer.js +31 -15
  168. package/build/store/reducer.js.map +1 -1
  169. package/build/store/selectors.js +46 -29
  170. package/build/store/selectors.js.map +1 -1
  171. package/build/utils/math.js +14 -0
  172. package/build/utils/math.js.map +1 -1
  173. package/build/utils/pre-parse-patterns.js +19 -2
  174. package/build/utils/pre-parse-patterns.js.map +1 -1
  175. package/build-module/components/alignment-control/ui.js +1 -1
  176. package/build-module/components/alignment-control/ui.js.map +1 -1
  177. package/build-module/components/block-alignment-control/constants.js +1 -1
  178. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  179. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  180. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  181. package/build-module/components/block-compare/index.js +2 -3
  182. package/build-module/components/block-compare/index.js.map +1 -1
  183. package/build-module/components/block-draggable/draggable-chip.js +7 -3
  184. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  185. package/build-module/components/block-edit/index.js +4 -2
  186. package/build-module/components/block-edit/index.js.map +1 -1
  187. package/build-module/components/block-inspector/index.js +4 -4
  188. package/build-module/components/block-inspector/index.js.map +1 -1
  189. package/build-module/components/block-list/block-list-compact.native.js +1 -0
  190. package/build-module/components/block-list/block-list-compact.native.js.map +1 -1
  191. package/build-module/components/block-list/block.js +75 -15
  192. package/build-module/components/block-list/block.js.map +1 -1
  193. package/build-module/components/block-list/block.native.js +80 -13
  194. package/build-module/components/block-list/block.native.js.map +1 -1
  195. package/build-module/components/block-list/use-in-between-inserter.js +8 -24
  196. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  197. package/build-module/components/block-lock/modal.js +10 -8
  198. package/build-module/components/block-lock/modal.js.map +1 -1
  199. package/build-module/components/block-parent-selector/index.js +3 -3
  200. package/build-module/components/block-parent-selector/index.js.map +1 -1
  201. package/build-module/components/block-patterns-list/index.js +5 -4
  202. package/build-module/components/block-patterns-list/index.js.map +1 -1
  203. package/build-module/components/block-popover/drop-zone.js +70 -0
  204. package/build-module/components/block-popover/drop-zone.js.map +1 -0
  205. package/build-module/components/block-popover/inbetween.js +2 -1
  206. package/build-module/components/block-popover/inbetween.js.map +1 -1
  207. package/build-module/components/block-popover/index.js +4 -2
  208. package/build-module/components/block-popover/index.js.map +1 -1
  209. package/build-module/components/block-preview/auto.js +1 -1
  210. package/build-module/components/block-preview/auto.js.map +1 -1
  211. package/build-module/components/block-preview/index.js +8 -12
  212. package/build-module/components/block-preview/index.js.map +1 -1
  213. package/build-module/components/block-preview/live.js +3 -6
  214. package/build-module/components/block-preview/live.js.map +1 -1
  215. package/build-module/components/block-selection-clearer/index.js +9 -1
  216. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  217. package/build-module/components/block-settings-menu/block-settings-dropdown.js +20 -19
  218. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  219. package/build-module/components/block-styles/index.js +19 -44
  220. package/build-module/components/block-styles/index.js.map +1 -1
  221. package/build-module/components/block-switcher/index.js +2 -7
  222. package/build-module/components/block-switcher/index.js.map +1 -1
  223. package/build-module/components/block-switcher/preview-block-popover.js +1 -1
  224. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  225. package/build-module/components/block-toolbar/index.js +4 -4
  226. package/build-module/components/block-toolbar/index.js.map +1 -1
  227. package/build-module/components/block-tools/back-compat.js +2 -1
  228. package/build-module/components/block-tools/back-compat.js.map +1 -1
  229. package/build-module/components/block-tools/insertion-point.js +54 -16
  230. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  231. package/build-module/components/block-tools/selected-block-popover.js +15 -3
  232. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  233. package/build-module/components/block-vertical-alignment-control/ui.js +1 -1
  234. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  235. package/build-module/components/border-radius-control/all-input-control.js +2 -1
  236. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  237. package/build-module/components/border-radius-control/index.js +2 -1
  238. package/build-module/components/border-radius-control/index.js.map +1 -1
  239. package/build-module/components/border-radius-control/input-controls.js +2 -1
  240. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  241. package/build-module/components/colors-gradients/control.js +2 -2
  242. package/build-module/components/colors-gradients/control.js.map +1 -1
  243. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +3 -3
  244. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  245. package/build-module/components/duotone-control/index.js +1 -1
  246. package/build-module/components/duotone-control/index.js.map +1 -1
  247. package/build-module/components/font-sizes/fluid-utils.js +245 -0
  248. package/build-module/components/font-sizes/fluid-utils.js.map +1 -0
  249. package/build-module/components/font-sizes/index.js +1 -0
  250. package/build-module/components/font-sizes/index.js.map +1 -1
  251. package/build-module/components/font-sizes/with-font-sizes.js +2 -2
  252. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  253. package/build-module/components/iframe/index.js +1 -1
  254. package/build-module/components/iframe/index.js.map +1 -1
  255. package/build-module/components/image-editor/constants.js +1 -1
  256. package/build-module/components/image-editor/constants.js.map +1 -1
  257. package/build-module/components/index.js +0 -1
  258. package/build-module/components/index.js.map +1 -1
  259. package/build-module/components/inner-blocks/index.js +6 -2
  260. package/build-module/components/inner-blocks/index.js.map +1 -1
  261. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +3 -2
  262. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  263. package/build-module/components/inserter/block-patterns-tab.js +148 -81
  264. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  265. package/build-module/components/inserter/hooks/use-insertion-point.js +2 -6
  266. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  267. package/build-module/components/inserter/menu.js +10 -3
  268. package/build-module/components/inserter/menu.js.map +1 -1
  269. package/build-module/components/inserter/search-items.js +23 -3
  270. package/build-module/components/inserter/search-items.js.map +1 -1
  271. package/build-module/components/inserter-draggable-blocks/index.js +4 -2
  272. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  273. package/build-module/components/line-height-control/index.js +2 -1
  274. package/build-module/components/line-height-control/index.js.map +1 -1
  275. package/build-module/components/list-view/drop-indicator.js +2 -1
  276. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  277. package/build-module/components/list-view/use-list-view-drop-zone.js +1 -14
  278. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  279. package/build-module/components/media-replace-flow/index.js +1 -1
  280. package/build-module/components/media-replace-flow/index.js.map +1 -1
  281. package/build-module/components/preview-options/index.js +2 -3
  282. package/build-module/components/preview-options/index.js.map +1 -1
  283. package/build-module/components/rich-text/format-toolbar/index.js +1 -1
  284. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  285. package/build-module/components/rich-text/format-toolbar-container.js +1 -1
  286. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  287. package/build-module/components/rich-text/use-paste-handler.js +1 -1
  288. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  289. package/build-module/components/spacing-sizes-control/all-input-control.js +6 -2
  290. package/build-module/components/spacing-sizes-control/all-input-control.js.map +1 -1
  291. package/build-module/components/spacing-sizes-control/axial-input-controls.js +6 -2
  292. package/build-module/components/spacing-sizes-control/axial-input-controls.js.map +1 -1
  293. package/build-module/components/spacing-sizes-control/index.js +6 -2
  294. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  295. package/build-module/components/spacing-sizes-control/input-controls.js +6 -2
  296. package/build-module/components/spacing-sizes-control/input-controls.js.map +1 -1
  297. package/build-module/components/spacing-sizes-control/spacing-input-control.js +44 -8
  298. package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
  299. package/build-module/components/url-input/index.js +1 -1
  300. package/build-module/components/url-input/index.js.map +1 -1
  301. package/build-module/components/use-block-drop-zone/index.js +98 -58
  302. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  303. package/build-module/components/use-on-block-drop/index.js +12 -12
  304. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  305. package/build-module/components/use-on-block-drop/types.js +2 -0
  306. package/build-module/components/use-on-block-drop/types.js.map +1 -0
  307. package/build-module/hooks/align.js +1 -2
  308. package/build-module/hooks/align.js.map +1 -1
  309. package/build-module/hooks/align.native.js +1 -6
  310. package/build-module/hooks/align.native.js.map +1 -1
  311. package/build-module/hooks/border.js +1 -0
  312. package/build-module/hooks/border.js.map +1 -1
  313. package/build-module/hooks/dimensions.js +32 -4
  314. package/build-module/hooks/dimensions.js.map +1 -1
  315. package/build-module/hooks/font-size.js +60 -1
  316. package/build-module/hooks/font-size.js.map +1 -1
  317. package/build-module/hooks/layout.js +5 -4
  318. package/build-module/hooks/layout.js.map +1 -1
  319. package/build-module/hooks/margin.js +25 -18
  320. package/build-module/hooks/margin.js.map +1 -1
  321. package/build-module/hooks/padding.js +21 -13
  322. package/build-module/hooks/padding.js.map +1 -1
  323. package/build-module/hooks/style.js +124 -3
  324. package/build-module/hooks/style.js.map +1 -1
  325. package/build-module/hooks/use-typography-props.js +17 -4
  326. package/build-module/hooks/use-typography-props.js.map +1 -1
  327. package/build-module/hooks/utils.js +8 -8
  328. package/build-module/hooks/utils.js.map +1 -1
  329. package/build-module/layouts/constrained.js +0 -1
  330. package/build-module/layouts/constrained.js.map +1 -1
  331. package/build-module/layouts/flex.js +1 -1
  332. package/build-module/layouts/flex.js.map +1 -1
  333. package/build-module/store/actions.js +59 -42
  334. package/build-module/store/actions.js.map +1 -1
  335. package/build-module/store/array.js +1 -6
  336. package/build-module/store/array.js.map +1 -1
  337. package/build-module/store/defaults.js +3 -0
  338. package/build-module/store/defaults.js.map +1 -1
  339. package/build-module/store/reducer.js +32 -16
  340. package/build-module/store/reducer.js.map +1 -1
  341. package/build-module/store/selectors.js +47 -30
  342. package/build-module/store/selectors.js.map +1 -1
  343. package/build-module/utils/math.js +12 -0
  344. package/build-module/utils/math.js.map +1 -1
  345. package/build-module/utils/pre-parse-patterns.js +19 -2
  346. package/build-module/utils/pre-parse-patterns.js.map +1 -1
  347. package/build-style/style-rtl.css +292 -206
  348. package/build-style/style.css +288 -202
  349. package/package.json +29 -28
  350. package/src/components/alignment-control/ui.js +1 -1
  351. package/src/components/block-alignment-control/constants.js +1 -1
  352. package/src/components/block-alignment-matrix-control/index.js +1 -1
  353. package/src/components/block-breadcrumb/test/__snapshots__/index.js.snap +13 -11
  354. package/src/components/block-breadcrumb/test/index.js +2 -2
  355. package/src/components/block-compare/index.js +3 -2
  356. package/src/components/block-draggable/draggable-chip.js +4 -2
  357. package/src/components/block-edit/index.js +2 -1
  358. package/src/components/block-inspector/index.js +8 -7
  359. package/src/components/block-list/block-list-compact.native.js +1 -0
  360. package/src/components/block-list/block.js +113 -7
  361. package/src/components/block-list/block.native.js +123 -9
  362. package/src/components/block-list/style.scss +93 -126
  363. package/src/components/block-list/use-in-between-inserter.js +8 -19
  364. package/src/components/block-lock/modal.js +12 -7
  365. package/src/components/block-mover/stories/index.js +1 -1
  366. package/src/components/block-mover/style.scss +35 -1
  367. package/src/components/block-parent-selector/index.js +3 -3
  368. package/src/components/block-patterns-list/index.js +9 -5
  369. package/src/components/block-patterns-list/style.scss +7 -3
  370. package/src/components/block-popover/README.md +8 -0
  371. package/src/components/block-popover/drop-zone.js +63 -0
  372. package/src/components/block-popover/inbetween.js +1 -0
  373. package/src/components/block-popover/index.js +3 -1
  374. package/src/components/block-popover/style.scss +17 -5
  375. package/src/components/block-preview/auto.js +1 -1
  376. package/src/components/block-preview/index.js +15 -11
  377. package/src/components/block-preview/live.js +2 -7
  378. package/src/components/block-preview/test/index.js +1 -7
  379. package/src/components/block-selection-clearer/index.js +7 -2
  380. package/src/components/block-selection-clearer/test/index.js +118 -0
  381. package/src/components/block-settings-menu/block-settings-dropdown.js +29 -18
  382. package/src/components/block-settings-menu/test/block-mode-toggle.js +17 -17
  383. package/src/components/block-styles/index.js +26 -49
  384. package/src/components/block-switcher/index.js +2 -7
  385. package/src/components/block-switcher/preview-block-popover.js +1 -1
  386. package/src/components/block-switcher/test/index.js +2 -2
  387. package/src/components/block-toolbar/index.js +4 -6
  388. package/src/components/block-toolbar/style.scss +38 -14
  389. package/src/components/block-tools/back-compat.js +1 -0
  390. package/src/components/block-tools/insertion-point.js +49 -15
  391. package/src/components/block-tools/selected-block-popover.js +14 -1
  392. package/src/components/block-variation-picker/README.md +1 -1
  393. package/src/components/block-vertical-alignment-control/ui.js +1 -1
  394. package/src/components/border-radius-control/all-input-control.js +1 -0
  395. package/src/components/border-radius-control/index.js +1 -0
  396. package/src/components/border-radius-control/input-controls.js +1 -0
  397. package/src/components/border-radius-control/style.scss +15 -24
  398. package/src/components/button-block-appender/style.scss +4 -2
  399. package/src/components/color-palette/test/__snapshots__/control.js.snap +86 -104
  400. package/src/components/color-palette/test/control.js +11 -15
  401. package/src/components/colors-gradients/control.js +2 -2
  402. package/src/components/colors-gradients/panel-color-gradient-settings.js +3 -4
  403. package/src/components/colors-gradients/test/control.js +49 -77
  404. package/src/components/duotone-control/index.js +1 -1
  405. package/src/components/font-sizes/fluid-utils.js +296 -0
  406. package/src/components/font-sizes/index.js +1 -0
  407. package/src/components/font-sizes/test/fluid-utils.js +168 -0
  408. package/src/components/font-sizes/with-font-sizes.js +2 -3
  409. package/src/components/iframe/index.js +1 -1
  410. package/src/components/image-editor/constants.js +1 -1
  411. package/src/components/image-size-control/test/index.js +47 -60
  412. package/src/components/index.js +0 -1
  413. package/src/components/inner-blocks/index.js +5 -1
  414. package/src/components/inner-blocks/test/index.js +4 -0
  415. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -2
  416. package/src/components/inserter/block-patterns-tab.js +232 -98
  417. package/src/components/inserter/hooks/use-insertion-point.js +3 -11
  418. package/src/components/inserter/menu.js +15 -2
  419. package/src/components/inserter/search-items.js +23 -3
  420. package/src/components/inserter/style.scss +94 -9
  421. package/src/components/inserter/test/reusable-blocks-tab.js +6 -6
  422. package/src/components/inserter/test/search-items.js +6 -0
  423. package/src/components/inserter-draggable-blocks/index.js +12 -2
  424. package/src/components/inserter-list-item/style.scss +22 -1
  425. package/src/components/letter-spacing-control/README.md +55 -0
  426. package/src/components/line-height-control/index.js +1 -0
  427. package/src/components/link-control/README.md +3 -3
  428. package/src/components/link-control/test/index.js +1 -1
  429. package/src/components/list-view/drop-indicator.js +1 -0
  430. package/src/components/list-view/style.scss +1 -36
  431. package/src/components/list-view/use-list-view-drop-zone.js +4 -18
  432. package/src/components/media-replace-flow/index.js +1 -1
  433. package/src/components/media-replace-flow/test/index.js +69 -51
  434. package/src/components/panel-color-settings/test/index.js +4 -4
  435. package/src/components/preview-options/index.js +2 -2
  436. package/src/components/preview-options/style.scss +1 -1
  437. package/src/components/provider/test/use-block-sync.js +131 -165
  438. package/src/components/responsive-block-control/test/index.js +4 -4
  439. package/src/components/rich-text/format-toolbar/index.js +1 -1
  440. package/src/components/rich-text/format-toolbar-container.js +1 -1
  441. package/src/components/rich-text/use-paste-handler.js +1 -1
  442. package/src/components/spacing-sizes-control/all-input-control.js +4 -0
  443. package/src/components/spacing-sizes-control/axial-input-controls.js +4 -0
  444. package/src/components/spacing-sizes-control/index.js +4 -0
  445. package/src/components/spacing-sizes-control/input-controls.js +4 -0
  446. package/src/components/spacing-sizes-control/spacing-input-control.js +26 -3
  447. package/src/components/spacing-sizes-control/style.scss +27 -19
  448. package/src/components/url-input/index.js +1 -1
  449. package/src/components/use-block-drop-zone/index.js +136 -79
  450. package/src/components/use-block-drop-zone/test/index.js +333 -81
  451. package/src/components/use-on-block-drop/index.js +11 -12
  452. package/src/components/use-on-block-drop/types.ts +1 -0
  453. package/src/hooks/align.js +3 -2
  454. package/src/hooks/align.native.js +5 -8
  455. package/src/hooks/border.js +1 -0
  456. package/src/hooks/dimensions.js +32 -5
  457. package/src/hooks/font-size.js +76 -0
  458. package/src/hooks/layout.js +7 -9
  459. package/src/hooks/margin.js +20 -14
  460. package/src/hooks/padding.js +20 -16
  461. package/src/hooks/style.js +122 -3
  462. package/src/hooks/test/align.js +96 -72
  463. package/src/hooks/test/style.js +206 -1
  464. package/src/hooks/test/use-typography-props.js +22 -0
  465. package/src/hooks/use-typography-props.js +18 -3
  466. package/src/hooks/utils.js +10 -7
  467. package/src/layouts/constrained.js +0 -1
  468. package/src/layouts/flex.js +1 -1
  469. package/src/store/actions.js +24 -12
  470. package/src/store/array.js +1 -6
  471. package/src/store/defaults.js +3 -0
  472. package/src/store/reducer.js +31 -24
  473. package/src/store/selectors.js +28 -21
  474. package/src/store/test/actions.js +0 -9
  475. package/src/store/test/selectors.js +1 -1
  476. package/src/utils/math.js +17 -0
  477. package/src/utils/pre-parse-patterns.js +12 -7
  478. package/build/components/inserter/pattern-panel.js +0 -87
  479. package/build/components/inserter/pattern-panel.js.map +0 -1
  480. package/build-module/components/inserter/pattern-panel.js +0 -74
  481. package/build-module/components/inserter/pattern-panel.js.map +0 -1
  482. package/src/components/inserter/pattern-panel.js +0 -93
package/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 10.4.0 (2022-11-02)
6
+
7
+ ### Bug Fix
8
+
9
+ - `InserterListItem`: Fix dragging and dropping in Firefox. ([#44631](https://github.com/WordPress/gutenberg/pull/44631))
10
+
11
+ ## 10.3.0 (2022-10-19)
12
+
13
+ ### Bug Fix
14
+
15
+ - `FontSizePicker`: Update fluid utils so that only string, floats and integers are treated as valid font sizes for the purposes of fluid typography ([#44847](https://github.com/WordPress/gutenberg/pull/44847))
16
+ - `getTypographyClassesAndStyles()`: Ensure that font sizes are transformed into fluid values if fluid typography is activated ([#44852](https://github.com/WordPress/gutenberg/pull/44852))
17
+ - `BlockPopover`: Ensure that padding and margin visualizers display in correct position even when scrolling past block. ([#44998](https://github.com/WordPress/gutenberg/pull/44998))
18
+
19
+ ### New features
20
+
21
+ - You can now drop files/blocks/HTML on unmodified default blocks to transform them into corresponding blocks ([#44647](https://github.com/WordPress/gutenberg/pull/44647)).
22
+
5
23
  ## 10.2.0 (2022-10-05)
6
24
 
7
25
  ## 10.1.0 (2022-09-21)
package/README.md CHANGED
@@ -395,6 +395,45 @@ _Returns_
395
395
 
396
396
  - `?Object`: Color object included in the colors array whose color property equals colorValue. Returns undefined if no color object matches this requirement.
397
397
 
398
+ ### getComputedFluidTypographyValue
399
+
400
+ Computes a fluid font-size value that uses clamp(). A minimum and maxinmum
401
+ font size OR a single font size can be specified.
402
+
403
+ If a single font size is specified, it is scaled up and down by
404
+ minimumFontSizeFactor and maximumFontSizeFactor to arrive at the minimum and
405
+ maximum sizes.
406
+
407
+ _Usage_
408
+
409
+ ```js
410
+ // Calculate fluid font-size value from a minimum and maximum value.
411
+ const fontSize = getComputedFluidTypographyValue( {
412
+ minimumFontSize: '20px',
413
+ maximumFontSize: '45px',
414
+ } );
415
+ // Calculate fluid font-size value from a single font size.
416
+ const fontSize = getComputedFluidTypographyValue( {
417
+ fontSize: '30px',
418
+ } );
419
+ ```
420
+
421
+ _Parameters_
422
+
423
+ - _args_ `Object`:
424
+ - _args.minimumViewPortWidth_ `?string`: Minimum viewport size from which type will have fluidity. Optional if fontSize is specified.
425
+ - _args.maximumViewPortWidth_ `?string`: Maximum size up to which type will have fluidity. Optional if fontSize is specified.
426
+ - _args.fontSize_ `[string|number]`: Size to derive maximumFontSize and minimumFontSize from, if necessary. Optional if minimumFontSize and maximumFontSize are specified.
427
+ - _args.maximumFontSize_ `?string`: Maximum font size for any clamp() calculation. Optional.
428
+ - _args.minimumFontSize_ `?string`: Minimum font size for any clamp() calculation. Optional.
429
+ - _args.scaleFactor_ `?number`: A scale factor to determine how fast a font scales within boundaries. Optional.
430
+ - _args.minimumFontSizeFactor_ `?number`: How much to scale defaultFontSize by to derive minimumFontSize. Optional.
431
+ - _args.maximumFontSizeFactor_ `?number`: How much to scale defaultFontSize by to derive maximumFontSize. Optional.
432
+
433
+ _Returns_
434
+
435
+ - `string|null`: A font-size value using clamp().
436
+
398
437
  ### getFontSize
399
438
 
400
439
  Returns the font size object based on an array of named font sizes and the namedFontSize and customFontSize values.
@@ -482,6 +521,7 @@ attributes.
482
521
  _Parameters_
483
522
 
484
523
  - _attributes_ `Object`: Block attributes.
524
+ - _isFluidFontSizeActive_ `boolean`: Whether the function should try to convert font sizes to fluid values.
485
525
 
486
526
  _Returns_
487
527
 
@@ -616,6 +656,7 @@ _Properties_
616
656
  - _codeEditingEnabled_ `boolean`: Whether or not the user can switch to the code editor
617
657
  - _generateAnchors_ `boolean`: Enable/Disable auto anchor generation for Heading blocks
618
658
  - _\_\_experimentalCanUserUseUnfilteredHTML_ `boolean`: Whether the user should be able to use unfiltered HTML or the HTML should be filtered e.g., to remove elements considered insecure like iframes.
659
+ - _\_\_experimentalClearBlockSelection_ `boolean`: Whether the block editor should clear selection on mousedown when a block is not clicked.
619
660
  - _\_\_experimentalBlockDirectory_ `boolean`: Whether the user has enabled the Block Directory
620
661
  - _\_\_experimentalBlockPatterns_ `Array`: Array of objects representing the block patterns
621
662
  - _\_\_experimentalBlockPatternCategories_ `Array`: Array of objects representing the block pattern categories
@@ -41,7 +41,7 @@ const DEFAULT_ALIGNMENT_CONTROLS = [{
41
41
  }];
42
42
  const POPOVER_PROPS = {
43
43
  position: 'bottom right',
44
- isAlternate: true
44
+ variant: 'toolbar'
45
45
  };
46
46
 
47
47
  function AlignmentUI(_ref) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/alignment-control/ui.js"],"names":["DEFAULT_ALIGNMENT_CONTROLS","icon","alignLeft","title","align","alignCenter","alignRight","POPOVER_PROPS","position","isAlternate","AlignmentUI","value","onChange","alignmentControls","label","describedBy","isCollapsed","isToolbar","applyOrUnset","undefined","activeAlignment","control","setIcon","UIComponent","ToolbarGroup","ToolbarDropdownMenu","extraProps","toggleProps","popoverProps","map","isActive","role","onClick"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;AAKA,MAAMA,0BAA0B,GAAG,CAClC;AACCC,EAAAA,IAAI,EAAEC,gBADP;AAECC,EAAAA,KAAK,EAAE,cAAI,iBAAJ,CAFR;AAGCC,EAAAA,KAAK,EAAE;AAHR,CADkC,EAMlC;AACCH,EAAAA,IAAI,EAAEI,kBADP;AAECF,EAAAA,KAAK,EAAE,cAAI,mBAAJ,CAFR;AAGCC,EAAAA,KAAK,EAAE;AAHR,CANkC,EAWlC;AACCH,EAAAA,IAAI,EAAEK,iBADP;AAECH,EAAAA,KAAK,EAAE,cAAI,kBAAJ,CAFR;AAGCC,EAAAA,KAAK,EAAE;AAHR,CAXkC,CAAnC;AAkBA,MAAMG,aAAa,GAAG;AACrBC,EAAAA,QAAQ,EAAE,cADW;AAErBC,EAAAA,WAAW,EAAE;AAFQ,CAAtB;;AAKA,SAASC,WAAT,OAQI;AAAA,MARkB;AACrBC,IAAAA,KADqB;AAErBC,IAAAA,QAFqB;AAGrBC,IAAAA,iBAAiB,GAAGb,0BAHC;AAIrBc,IAAAA,KAAK,GAAG,cAAI,OAAJ,CAJa;AAKrBC,IAAAA,WAAW,GAAG,cAAI,uBAAJ,CALO;AAMrBC,IAAAA,WAAW,GAAG,IANO;AAOrBC,IAAAA;AAPqB,GAQlB;;AACH,WAASC,YAAT,CAAuBd,KAAvB,EAA+B;AAC9B,WAAO,MAAMQ,QAAQ,CAAED,KAAK,KAAKP,KAAV,GAAkBe,SAAlB,GAA8Bf,KAAhC,CAArB;AACA;;AAED,QAAMgB,eAAe,GAAG,kBACvBP,iBADuB,EAErBQ,OAAF,IAAeA,OAAO,CAACjB,KAAR,KAAkBO,KAFV,CAAxB;;AAKA,WAASW,OAAT,GAAmB;AAClB,QAAKF,eAAL,EAAuB,OAAOA,eAAe,CAACnB,IAAvB;AACvB,WAAO,qBAAUK,iBAAV,GAAuBJ,gBAA9B;AACA;;AAED,QAAMqB,WAAW,GAAGN,SAAS,GAAGO,wBAAH,GAAkBC,+BAA/C;AACA,QAAMC,UAAU,GAAGT,SAAS,GACzB;AAAED,IAAAA;AAAF,GADyB,GAEzB;AACAW,IAAAA,WAAW,EAAE;AACZZ,MAAAA;AADY,KADb;AAIAa,IAAAA,YAAY,EAAErB;AAJd,GAFH;AASA,SACC,4BAAC,WAAD;AACC,IAAA,IAAI,EAAGe,OAAO,EADf;AAEC,IAAA,KAAK,EAAGR,KAFT;AAGC,IAAA,QAAQ,EAAGD,iBAAiB,CAACgB,GAAlB,CAAyBR,OAAF,IAAe;AAChD,YAAM;AAAEjB,QAAAA;AAAF,UAAYiB,OAAlB;AACA,YAAMS,QAAQ,GAAGnB,KAAK,KAAKP,KAA3B;AAEA,aAAO,EACN,GAAGiB,OADG;AAENS,QAAAA,QAFM;AAGNC,QAAAA,IAAI,EAAEf,WAAW,GAAG,eAAH,GAAqBG,SAHhC;AAINa,QAAAA,OAAO,EAAEd,YAAY,CAAEd,KAAF;AAJf,OAAP;AAMA,KAVU;AAHZ,KAcMsB,UAdN,EADD;AAkBA;;eAEchB,W","sourcesContent":["/**\n * External dependencies\n */\nimport { find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { ToolbarDropdownMenu, ToolbarGroup } from '@wordpress/components';\nimport { alignLeft, alignRight, alignCenter } from '@wordpress/icons';\n\nconst DEFAULT_ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align text left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align text center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align text right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst POPOVER_PROPS = {\n\tposition: 'bottom right',\n\tisAlternate: true,\n};\n\nfunction AlignmentUI( {\n\tvalue,\n\tonChange,\n\talignmentControls = DEFAULT_ALIGNMENT_CONTROLS,\n\tlabel = __( 'Align' ),\n\tdescribedBy = __( 'Change text alignment' ),\n\tisCollapsed = true,\n\tisToolbar,\n} ) {\n\tfunction applyOrUnset( align ) {\n\t\treturn () => onChange( value === align ? undefined : align );\n\t}\n\n\tconst activeAlignment = find(\n\t\talignmentControls,\n\t\t( control ) => control.align === value\n\t);\n\n\tfunction setIcon() {\n\t\tif ( activeAlignment ) return activeAlignment.icon;\n\t\treturn isRTL() ? alignRight : alignLeft;\n\t}\n\n\tconst UIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu;\n\tconst extraProps = isToolbar\n\t\t? { isCollapsed }\n\t\t: {\n\t\t\t\ttoggleProps: {\n\t\t\t\t\tdescribedBy,\n\t\t\t\t},\n\t\t\t\tpopoverProps: POPOVER_PROPS,\n\t\t };\n\n\treturn (\n\t\t<UIComponent\n\t\t\ticon={ setIcon() }\n\t\t\tlabel={ label }\n\t\t\tcontrols={ alignmentControls.map( ( control ) => {\n\t\t\t\tconst { align } = control;\n\t\t\t\tconst isActive = value === align;\n\n\t\t\t\treturn {\n\t\t\t\t\t...control,\n\t\t\t\t\tisActive,\n\t\t\t\t\trole: isCollapsed ? 'menuitemradio' : undefined,\n\t\t\t\t\tonClick: applyOrUnset( align ),\n\t\t\t\t};\n\t\t\t} ) }\n\t\t\t{ ...extraProps }\n\t\t/>\n\t);\n}\n\nexport default AlignmentUI;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/alignment-control/ui.js"],"names":["DEFAULT_ALIGNMENT_CONTROLS","icon","alignLeft","title","align","alignCenter","alignRight","POPOVER_PROPS","position","variant","AlignmentUI","value","onChange","alignmentControls","label","describedBy","isCollapsed","isToolbar","applyOrUnset","undefined","activeAlignment","control","setIcon","UIComponent","ToolbarGroup","ToolbarDropdownMenu","extraProps","toggleProps","popoverProps","map","isActive","role","onClick"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;AAKA,MAAMA,0BAA0B,GAAG,CAClC;AACCC,EAAAA,IAAI,EAAEC,gBADP;AAECC,EAAAA,KAAK,EAAE,cAAI,iBAAJ,CAFR;AAGCC,EAAAA,KAAK,EAAE;AAHR,CADkC,EAMlC;AACCH,EAAAA,IAAI,EAAEI,kBADP;AAECF,EAAAA,KAAK,EAAE,cAAI,mBAAJ,CAFR;AAGCC,EAAAA,KAAK,EAAE;AAHR,CANkC,EAWlC;AACCH,EAAAA,IAAI,EAAEK,iBADP;AAECH,EAAAA,KAAK,EAAE,cAAI,kBAAJ,CAFR;AAGCC,EAAAA,KAAK,EAAE;AAHR,CAXkC,CAAnC;AAkBA,MAAMG,aAAa,GAAG;AACrBC,EAAAA,QAAQ,EAAE,cADW;AAErBC,EAAAA,OAAO,EAAE;AAFY,CAAtB;;AAKA,SAASC,WAAT,OAQI;AAAA,MARkB;AACrBC,IAAAA,KADqB;AAErBC,IAAAA,QAFqB;AAGrBC,IAAAA,iBAAiB,GAAGb,0BAHC;AAIrBc,IAAAA,KAAK,GAAG,cAAI,OAAJ,CAJa;AAKrBC,IAAAA,WAAW,GAAG,cAAI,uBAAJ,CALO;AAMrBC,IAAAA,WAAW,GAAG,IANO;AAOrBC,IAAAA;AAPqB,GAQlB;;AACH,WAASC,YAAT,CAAuBd,KAAvB,EAA+B;AAC9B,WAAO,MAAMQ,QAAQ,CAAED,KAAK,KAAKP,KAAV,GAAkBe,SAAlB,GAA8Bf,KAAhC,CAArB;AACA;;AAED,QAAMgB,eAAe,GAAG,kBACvBP,iBADuB,EAErBQ,OAAF,IAAeA,OAAO,CAACjB,KAAR,KAAkBO,KAFV,CAAxB;;AAKA,WAASW,OAAT,GAAmB;AAClB,QAAKF,eAAL,EAAuB,OAAOA,eAAe,CAACnB,IAAvB;AACvB,WAAO,qBAAUK,iBAAV,GAAuBJ,gBAA9B;AACA;;AAED,QAAMqB,WAAW,GAAGN,SAAS,GAAGO,wBAAH,GAAkBC,+BAA/C;AACA,QAAMC,UAAU,GAAGT,SAAS,GACzB;AAAED,IAAAA;AAAF,GADyB,GAEzB;AACAW,IAAAA,WAAW,EAAE;AACZZ,MAAAA;AADY,KADb;AAIAa,IAAAA,YAAY,EAAErB;AAJd,GAFH;AASA,SACC,4BAAC,WAAD;AACC,IAAA,IAAI,EAAGe,OAAO,EADf;AAEC,IAAA,KAAK,EAAGR,KAFT;AAGC,IAAA,QAAQ,EAAGD,iBAAiB,CAACgB,GAAlB,CAAyBR,OAAF,IAAe;AAChD,YAAM;AAAEjB,QAAAA;AAAF,UAAYiB,OAAlB;AACA,YAAMS,QAAQ,GAAGnB,KAAK,KAAKP,KAA3B;AAEA,aAAO,EACN,GAAGiB,OADG;AAENS,QAAAA,QAFM;AAGNC,QAAAA,IAAI,EAAEf,WAAW,GAAG,eAAH,GAAqBG,SAHhC;AAINa,QAAAA,OAAO,EAAEd,YAAY,CAAEd,KAAF;AAJf,OAAP;AAMA,KAVU;AAHZ,KAcMsB,UAdN,EADD;AAkBA;;eAEchB,W","sourcesContent":["/**\n * External dependencies\n */\nimport { find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { ToolbarDropdownMenu, ToolbarGroup } from '@wordpress/components';\nimport { alignLeft, alignRight, alignCenter } from '@wordpress/icons';\n\nconst DEFAULT_ALIGNMENT_CONTROLS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align text left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align text center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align text right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst POPOVER_PROPS = {\n\tposition: 'bottom right',\n\tvariant: 'toolbar',\n};\n\nfunction AlignmentUI( {\n\tvalue,\n\tonChange,\n\talignmentControls = DEFAULT_ALIGNMENT_CONTROLS,\n\tlabel = __( 'Align' ),\n\tdescribedBy = __( 'Change text alignment' ),\n\tisCollapsed = true,\n\tisToolbar,\n} ) {\n\tfunction applyOrUnset( align ) {\n\t\treturn () => onChange( value === align ? undefined : align );\n\t}\n\n\tconst activeAlignment = find(\n\t\talignmentControls,\n\t\t( control ) => control.align === value\n\t);\n\n\tfunction setIcon() {\n\t\tif ( activeAlignment ) return activeAlignment.icon;\n\t\treturn isRTL() ? alignRight : alignLeft;\n\t}\n\n\tconst UIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu;\n\tconst extraProps = isToolbar\n\t\t? { isCollapsed }\n\t\t: {\n\t\t\t\ttoggleProps: {\n\t\t\t\t\tdescribedBy,\n\t\t\t\t},\n\t\t\t\tpopoverProps: POPOVER_PROPS,\n\t\t };\n\n\treturn (\n\t\t<UIComponent\n\t\t\ticon={ setIcon() }\n\t\t\tlabel={ label }\n\t\t\tcontrols={ alignmentControls.map( ( control ) => {\n\t\t\t\tconst { align } = control;\n\t\t\t\tconst isActive = value === align;\n\n\t\t\t\treturn {\n\t\t\t\t\t...control,\n\t\t\t\t\tisActive,\n\t\t\t\t\trole: isCollapsed ? 'menuitemradio' : undefined,\n\t\t\t\t\tonClick: applyOrUnset( align ),\n\t\t\t\t};\n\t\t\t} ) }\n\t\t\t{ ...extraProps }\n\t\t/>\n\t);\n}\n\nexport default AlignmentUI;\n"]}
@@ -42,7 +42,7 @@ exports.BLOCK_ALIGNMENTS_CONTROLS = BLOCK_ALIGNMENTS_CONTROLS;
42
42
  const DEFAULT_CONTROL = 'none';
43
43
  exports.DEFAULT_CONTROL = DEFAULT_CONTROL;
44
44
  const POPOVER_PROPS = {
45
- isAlternate: true
45
+ variant: 'toolbar'
46
46
  };
47
47
  exports.POPOVER_PROPS = POPOVER_PROPS;
48
48
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-alignment-control/constants.js"],"names":["BLOCK_ALIGNMENTS_CONTROLS","none","icon","alignNone","title","left","positionLeft","center","positionCenter","right","positionRight","wide","stretchWide","full","stretchFullWidth","DEFAULT_CONTROL","POPOVER_PROPS","isAlternate"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAWO,MAAMA,yBAAyB,GAAG;AACxCC,EAAAA,IAAI,EAAE;AACLC,IAAAA,IAAI,EAAEC,gBADD;AAELC,IAAAA,KAAK,EAAE,cAAI,MAAJ,EAAY,kBAAZ;AAFF,GADkC;AAKxCC,EAAAA,IAAI,EAAE;AACLH,IAAAA,IAAI,EAAEI,mBADD;AAELF,IAAAA,KAAK,EAAE,cAAI,YAAJ;AAFF,GALkC;AASxCG,EAAAA,MAAM,EAAE;AACPL,IAAAA,IAAI,EAAEM,qBADC;AAEPJ,IAAAA,KAAK,EAAE,cAAI,cAAJ;AAFA,GATgC;AAaxCK,EAAAA,KAAK,EAAE;AACNP,IAAAA,IAAI,EAAEQ,oBADA;AAENN,IAAAA,KAAK,EAAE,cAAI,aAAJ;AAFD,GAbiC;AAiBxCO,EAAAA,IAAI,EAAE;AACLT,IAAAA,IAAI,EAAEU,kBADD;AAELR,IAAAA,KAAK,EAAE,cAAI,YAAJ;AAFF,GAjBkC;AAqBxCS,EAAAA,IAAI,EAAE;AACLX,IAAAA,IAAI,EAAEY,uBADD;AAELV,IAAAA,KAAK,EAAE,cAAI,YAAJ;AAFF;AArBkC,CAAlC;;AA2BA,MAAMW,eAAe,GAAG,MAAxB;;AAEA,MAAMC,aAAa,GAAG;AAC5BC,EAAAA,WAAW,EAAE;AADe,CAAtB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\talignNone,\n\tpositionCenter,\n\tpositionLeft,\n\tpositionRight,\n\tstretchFullWidth,\n\tstretchWide,\n} from '@wordpress/icons';\n\nexport const BLOCK_ALIGNMENTS_CONTROLS = {\n\tnone: {\n\t\ticon: alignNone,\n\t\ttitle: _x( 'None', 'Alignment option' ),\n\t},\n\tleft: {\n\t\ticon: positionLeft,\n\t\ttitle: __( 'Align left' ),\n\t},\n\tcenter: {\n\t\ticon: positionCenter,\n\t\ttitle: __( 'Align center' ),\n\t},\n\tright: {\n\t\ticon: positionRight,\n\t\ttitle: __( 'Align right' ),\n\t},\n\twide: {\n\t\ticon: stretchWide,\n\t\ttitle: __( 'Wide width' ),\n\t},\n\tfull: {\n\t\ticon: stretchFullWidth,\n\t\ttitle: __( 'Full width' ),\n\t},\n};\n\nexport const DEFAULT_CONTROL = 'none';\n\nexport const POPOVER_PROPS = {\n\tisAlternate: true,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-alignment-control/constants.js"],"names":["BLOCK_ALIGNMENTS_CONTROLS","none","icon","alignNone","title","left","positionLeft","center","positionCenter","right","positionRight","wide","stretchWide","full","stretchFullWidth","DEFAULT_CONTROL","POPOVER_PROPS","variant"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAWO,MAAMA,yBAAyB,GAAG;AACxCC,EAAAA,IAAI,EAAE;AACLC,IAAAA,IAAI,EAAEC,gBADD;AAELC,IAAAA,KAAK,EAAE,cAAI,MAAJ,EAAY,kBAAZ;AAFF,GADkC;AAKxCC,EAAAA,IAAI,EAAE;AACLH,IAAAA,IAAI,EAAEI,mBADD;AAELF,IAAAA,KAAK,EAAE,cAAI,YAAJ;AAFF,GALkC;AASxCG,EAAAA,MAAM,EAAE;AACPL,IAAAA,IAAI,EAAEM,qBADC;AAEPJ,IAAAA,KAAK,EAAE,cAAI,cAAJ;AAFA,GATgC;AAaxCK,EAAAA,KAAK,EAAE;AACNP,IAAAA,IAAI,EAAEQ,oBADA;AAENN,IAAAA,KAAK,EAAE,cAAI,aAAJ;AAFD,GAbiC;AAiBxCO,EAAAA,IAAI,EAAE;AACLT,IAAAA,IAAI,EAAEU,kBADD;AAELR,IAAAA,KAAK,EAAE,cAAI,YAAJ;AAFF,GAjBkC;AAqBxCS,EAAAA,IAAI,EAAE;AACLX,IAAAA,IAAI,EAAEY,uBADD;AAELV,IAAAA,KAAK,EAAE,cAAI,YAAJ;AAFF;AArBkC,CAAlC;;AA2BA,MAAMW,eAAe,GAAG,MAAxB;;AAEA,MAAMC,aAAa,GAAG;AAC5BC,EAAAA,OAAO,EAAE;AADmB,CAAtB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\talignNone,\n\tpositionCenter,\n\tpositionLeft,\n\tpositionRight,\n\tstretchFullWidth,\n\tstretchWide,\n} from '@wordpress/icons';\n\nexport const BLOCK_ALIGNMENTS_CONTROLS = {\n\tnone: {\n\t\ticon: alignNone,\n\t\ttitle: _x( 'None', 'Alignment option' ),\n\t},\n\tleft: {\n\t\ticon: positionLeft,\n\t\ttitle: __( 'Align left' ),\n\t},\n\tcenter: {\n\t\ticon: positionCenter,\n\t\ttitle: __( 'Align center' ),\n\t},\n\tright: {\n\t\ticon: positionRight,\n\t\ttitle: __( 'Align right' ),\n\t},\n\twide: {\n\t\ticon: stretchWide,\n\t\ttitle: __( 'Wide width' ),\n\t},\n\tfull: {\n\t\ticon: stretchFullWidth,\n\t\ttitle: __( 'Full width' ),\n\t},\n};\n\nexport const DEFAULT_CONTROL = 'none';\n\nexport const POPOVER_PROPS = {\n\tvariant: 'toolbar',\n};\n"]}
@@ -31,7 +31,7 @@ function BlockAlignmentMatrixControl(props) {
31
31
  return (0, _element.createElement)(_components.Dropdown, {
32
32
  position: "bottom right",
33
33
  popoverProps: {
34
- isAlternate: true
34
+ variant: 'toolbar'
35
35
  },
36
36
  renderToggle: _ref => {
37
37
  let {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-alignment-matrix-control/index.js"],"names":["noop","BlockAlignmentMatrixControl","props","label","onChange","value","isDisabled","icon","isAlternate","onToggle","isOpen","openOnArrowDown","event","keyCode","DOWN","preventDefault"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;AASA,MAAMA,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEA,SAASC,2BAAT,CAAsCC,KAAtC,EAA8C;AAC7C,QAAM;AACLC,IAAAA,KAAK,GAAG,cAAI,yBAAJ,CADH;AAELC,IAAAA,QAAQ,GAAGJ,IAFN;AAGLK,IAAAA,KAAK,GAAG,QAHH;AAILC,IAAAA;AAJK,MAKFJ,KALJ;AAOA,QAAMK,IAAI,GAAG,4BAAC,gDAAD,CAAwB,IAAxB;AAA6B,IAAA,KAAK,EAAGF;AAArC,IAAb;AAEA,SACC,4BAAC,oBAAD;AACC,IAAA,QAAQ,EAAC,cADV;AAEC,IAAA,YAAY,EAAG;AAAEG,MAAAA,WAAW,EAAE;AAAf,KAFhB;AAGC,IAAA,YAAY,EAAG,QAA4B;AAAA,UAA1B;AAAEC,QAAAA,QAAF;AAAYC,QAAAA;AAAZ,OAA0B;;AAC1C,YAAMC,eAAe,GAAKC,KAAF,IAAa;AACpC,YAAK,CAAEF,MAAF,IAAYE,KAAK,CAACC,OAAN,KAAkBC,cAAnC,EAA0C;AACzCF,UAAAA,KAAK,CAACG,cAAN;AACAN,UAAAA,QAAQ;AACR;AACD,OALD;;AAOA,aACC,4BAAC,yBAAD;AACC,QAAA,OAAO,EAAGA,QADX;AAEC,yBAAc,MAFf;AAGC,yBAAgBC,MAHjB;AAIC,QAAA,SAAS,EAAGC,eAJb;AAKC,QAAA,KAAK,EAAGR,KALT;AAMC,QAAA,IAAI,EAAGI,IANR;AAOC,QAAA,WAAW,MAPZ;AAQC,QAAA,QAAQ,EAAGD;AARZ,QADD;AAYA,KAvBF;AAwBC,IAAA,aAAa,EAAG,MACf,4BAAC,gDAAD;AACC,MAAA,cAAc,EAAG,KADlB;AAEC,MAAA,QAAQ,EAAGF,QAFZ;AAGC,MAAA,KAAK,EAAGC;AAHT;AAzBF,IADD;AAkCA;;eAEcJ,2B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tToolbarButton,\n\tDropdown,\n\t__experimentalAlignmentMatrixControl as AlignmentMatrixControl,\n} from '@wordpress/components';\n\nconst noop = () => {};\n\nfunction BlockAlignmentMatrixControl( props ) {\n\tconst {\n\t\tlabel = __( 'Change matrix alignment' ),\n\t\tonChange = noop,\n\t\tvalue = 'center',\n\t\tisDisabled,\n\t} = props;\n\n\tconst icon = <AlignmentMatrixControl.Icon value={ value } />;\n\n\treturn (\n\t\t<Dropdown\n\t\t\tposition=\"bottom right\"\n\t\t\tpopoverProps={ { isAlternate: true } }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<AlignmentMatrixControl\n\t\t\t\t\thasFocusBorder={ false }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default BlockAlignmentMatrixControl;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-alignment-matrix-control/index.js"],"names":["noop","BlockAlignmentMatrixControl","props","label","onChange","value","isDisabled","icon","variant","onToggle","isOpen","openOnArrowDown","event","keyCode","DOWN","preventDefault"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;AASA,MAAMA,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEA,SAASC,2BAAT,CAAsCC,KAAtC,EAA8C;AAC7C,QAAM;AACLC,IAAAA,KAAK,GAAG,cAAI,yBAAJ,CADH;AAELC,IAAAA,QAAQ,GAAGJ,IAFN;AAGLK,IAAAA,KAAK,GAAG,QAHH;AAILC,IAAAA;AAJK,MAKFJ,KALJ;AAOA,QAAMK,IAAI,GAAG,4BAAC,gDAAD,CAAwB,IAAxB;AAA6B,IAAA,KAAK,EAAGF;AAArC,IAAb;AAEA,SACC,4BAAC,oBAAD;AACC,IAAA,QAAQ,EAAC,cADV;AAEC,IAAA,YAAY,EAAG;AAAEG,MAAAA,OAAO,EAAE;AAAX,KAFhB;AAGC,IAAA,YAAY,EAAG,QAA4B;AAAA,UAA1B;AAAEC,QAAAA,QAAF;AAAYC,QAAAA;AAAZ,OAA0B;;AAC1C,YAAMC,eAAe,GAAKC,KAAF,IAAa;AACpC,YAAK,CAAEF,MAAF,IAAYE,KAAK,CAACC,OAAN,KAAkBC,cAAnC,EAA0C;AACzCF,UAAAA,KAAK,CAACG,cAAN;AACAN,UAAAA,QAAQ;AACR;AACD,OALD;;AAOA,aACC,4BAAC,yBAAD;AACC,QAAA,OAAO,EAAGA,QADX;AAEC,yBAAc,MAFf;AAGC,yBAAgBC,MAHjB;AAIC,QAAA,SAAS,EAAGC,eAJb;AAKC,QAAA,KAAK,EAAGR,KALT;AAMC,QAAA,IAAI,EAAGI,IANR;AAOC,QAAA,WAAW,MAPZ;AAQC,QAAA,QAAQ,EAAGD;AARZ,QADD;AAYA,KAvBF;AAwBC,IAAA,aAAa,EAAG,MACf,4BAAC,gDAAD;AACC,MAAA,cAAc,EAAG,KADlB;AAEC,MAAA,QAAQ,EAAGF,QAFZ;AAGC,MAAA,KAAK,EAAGC;AAHT;AAzBF,IADD;AAkCA;;eAEcJ,2B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tToolbarButton,\n\tDropdown,\n\t__experimentalAlignmentMatrixControl as AlignmentMatrixControl,\n} from '@wordpress/components';\n\nconst noop = () => {};\n\nfunction BlockAlignmentMatrixControl( props ) {\n\tconst {\n\t\tlabel = __( 'Change matrix alignment' ),\n\t\tonChange = noop,\n\t\tvalue = 'center',\n\t\tisDisabled,\n\t} = props;\n\n\tconst icon = <AlignmentMatrixControl.Icon value={ value } />;\n\n\treturn (\n\t\t<Dropdown\n\t\t\tposition=\"bottom right\"\n\t\t\tpopoverProps={ { variant: 'toolbar' } }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<AlignmentMatrixControl\n\t\t\t\t\thasFocusBorder={ false }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default BlockAlignmentMatrixControl;\n"]}
@@ -11,8 +11,6 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
- var _lodash = require("lodash");
15
-
16
14
  var _character = require("diff/lib/diff/character");
17
15
 
18
16
  var _i18n = require("@wordpress/i18n");
@@ -59,7 +57,7 @@ function BlockCompare(_ref) {
59
57
 
60
58
  function getConvertedContent(convertedBlock) {
61
59
  // The convertor may return an array of items or a single item.
62
- const newBlocks = (0, _lodash.castArray)(convertedBlock); // Get converted block details.
60
+ const newBlocks = Array.isArray(convertedBlock) ? convertedBlock : [convertedBlock]; // Get converted block details.
63
61
 
64
62
  const newContent = newBlocks.map(item => (0, _blocks.getSaveContent)(item.name, item.attributes, item.innerBlocks));
65
63
  return newContent.join('');
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-compare/index.js"],"names":["BlockCompare","block","onKeep","onConvert","convertor","convertButtonText","getDifference","originalContent","newContent","difference","map","item","pos","classes","added","removed","value","getConvertedContent","convertedBlock","newBlocks","name","attributes","innerBlocks","join","converted"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAGA;;AAKA;;AACA;;AAKA;;AAlBA;AACA;AACA;AAGA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AAGA,SAASA,YAAT,OAMI;AAAA,MANmB;AACtBC,IAAAA,KADsB;AAEtBC,IAAAA,MAFsB;AAGtBC,IAAAA,SAHsB;AAItBC,IAAAA,SAJsB;AAKtBC,IAAAA;AALsB,GAMnB;;AACH,WAASC,aAAT,CAAwBC,eAAxB,EAAyCC,UAAzC,EAAsD;AACrD,UAAMC,UAAU,GAAG,0BAAWF,eAAX,EAA4BC,UAA5B,CAAnB;AAEA,WAAOC,UAAU,CAACC,GAAX,CAAgB,CAAEC,IAAF,EAAQC,GAAR,KAAiB;AACvC,YAAMC,OAAO,GAAG,yBAAY;AAC3B,6CAAqCF,IAAI,CAACG,KADf;AAE3B,+CAAuCH,IAAI,CAACI;AAFjB,OAAZ,CAAhB;AAKA,aACC;AAAM,QAAA,GAAG,EAAGH,GAAZ;AAAkB,QAAA,SAAS,EAAGC;AAA9B,SACGF,IAAI,CAACK,KADR,CADD;AAKA,KAXM,CAAP;AAYA;;AAED,WAASC,mBAAT,CAA8BC,cAA9B,EAA+C;AAC9C;AACA,UAAMC,SAAS,GAAG,uBAAWD,cAAX,CAAlB,CAF8C,CAI9C;;AACA,UAAMV,UAAU,GAAGW,SAAS,CAACT,GAAV,CAAiBC,IAAF,IACjC,4BAAgBA,IAAI,CAACS,IAArB,EAA2BT,IAAI,CAACU,UAAhC,EAA4CV,IAAI,CAACW,WAAjD,CADkB,CAAnB;AAIA,WAAOd,UAAU,CAACe,IAAX,CAAiB,EAAjB,CAAP;AACA;;AAED,QAAMC,SAAS,GAAGP,mBAAmB,CAAEb,SAAS,CAAEH,KAAF,CAAX,CAArC;AACA,QAAMQ,UAAU,GAAGH,aAAa,CAAEL,KAAK,CAACM,eAAR,EAAyBiB,SAAzB,CAAhC;AAEA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AACC,IAAA,KAAK,EAAG,cAAI,SAAJ,CADT;AAEC,IAAA,SAAS,EAAC,qCAFX;AAGC,IAAA,MAAM,EAAGtB,MAHV;AAIC,IAAA,UAAU,EAAG,cAAI,iBAAJ,CAJd;AAKC,IAAA,UAAU,EAAGD,KAAK,CAACM,eALpB;AAMC,IAAA,eAAe,EAAGN,KAAK,CAACM;AANzB,IADD,EAUC,4BAAC,kBAAD;AACC,IAAA,KAAK,EAAG,cAAI,kBAAJ,CADT;AAEC,IAAA,SAAS,EAAC,uCAFX;AAGC,IAAA,MAAM,EAAGJ,SAHV;AAIC,IAAA,UAAU,EAAGE,iBAJd;AAKC,IAAA,UAAU,EAAGI,UALd;AAMC,IAAA,eAAe,EAAGe;AANnB,IAVD,CADD;AAqBA;;eAEcxB,Y","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { castArray } from 'lodash';\n// diff doesn't tree-shake correctly, so we import from the individual\n// module here, to avoid including too much of the library\nimport { diffChars } from 'diff/lib/diff/character';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { getSaveContent } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport BlockView from './block-view';\n\nfunction BlockCompare( {\n\tblock,\n\tonKeep,\n\tonConvert,\n\tconvertor,\n\tconvertButtonText,\n} ) {\n\tfunction getDifference( originalContent, newContent ) {\n\t\tconst difference = diffChars( originalContent, newContent );\n\n\t\treturn difference.map( ( item, pos ) => {\n\t\t\tconst classes = classnames( {\n\t\t\t\t'block-editor-block-compare__added': item.added,\n\t\t\t\t'block-editor-block-compare__removed': item.removed,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<span key={ pos } className={ classes }>\n\t\t\t\t\t{ item.value }\n\t\t\t\t</span>\n\t\t\t);\n\t\t} );\n\t}\n\n\tfunction getConvertedContent( convertedBlock ) {\n\t\t// The convertor may return an array of items or a single item.\n\t\tconst newBlocks = castArray( convertedBlock );\n\n\t\t// Get converted block details.\n\t\tconst newContent = newBlocks.map( ( item ) =>\n\t\t\tgetSaveContent( item.name, item.attributes, item.innerBlocks )\n\t\t);\n\n\t\treturn newContent.join( '' );\n\t}\n\n\tconst converted = getConvertedContent( convertor( block ) );\n\tconst difference = getDifference( block.originalContent, converted );\n\n\treturn (\n\t\t<div className=\"block-editor-block-compare__wrapper\">\n\t\t\t<BlockView\n\t\t\t\ttitle={ __( 'Current' ) }\n\t\t\t\tclassName=\"block-editor-block-compare__current\"\n\t\t\t\taction={ onKeep }\n\t\t\t\tactionText={ __( 'Convert to HTML' ) }\n\t\t\t\trawContent={ block.originalContent }\n\t\t\t\trenderedContent={ block.originalContent }\n\t\t\t/>\n\n\t\t\t<BlockView\n\t\t\t\ttitle={ __( 'After Conversion' ) }\n\t\t\t\tclassName=\"block-editor-block-compare__converted\"\n\t\t\t\taction={ onConvert }\n\t\t\t\tactionText={ convertButtonText }\n\t\t\t\trawContent={ difference }\n\t\t\t\trenderedContent={ converted }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport default BlockCompare;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-compare/index.js"],"names":["BlockCompare","block","onKeep","onConvert","convertor","convertButtonText","getDifference","originalContent","newContent","difference","map","item","pos","classes","added","removed","value","getConvertedContent","convertedBlock","newBlocks","Array","isArray","name","attributes","innerBlocks","join","converted"],"mappings":";;;;;;;;;;;AAGA;;AAGA;;AAKA;;AACA;;AAKA;;AAjBA;AACA;AACA;AAEA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AAGA,SAASA,YAAT,OAMI;AAAA,MANmB;AACtBC,IAAAA,KADsB;AAEtBC,IAAAA,MAFsB;AAGtBC,IAAAA,SAHsB;AAItBC,IAAAA,SAJsB;AAKtBC,IAAAA;AALsB,GAMnB;;AACH,WAASC,aAAT,CAAwBC,eAAxB,EAAyCC,UAAzC,EAAsD;AACrD,UAAMC,UAAU,GAAG,0BAAWF,eAAX,EAA4BC,UAA5B,CAAnB;AAEA,WAAOC,UAAU,CAACC,GAAX,CAAgB,CAAEC,IAAF,EAAQC,GAAR,KAAiB;AACvC,YAAMC,OAAO,GAAG,yBAAY;AAC3B,6CAAqCF,IAAI,CAACG,KADf;AAE3B,+CAAuCH,IAAI,CAACI;AAFjB,OAAZ,CAAhB;AAKA,aACC;AAAM,QAAA,GAAG,EAAGH,GAAZ;AAAkB,QAAA,SAAS,EAAGC;AAA9B,SACGF,IAAI,CAACK,KADR,CADD;AAKA,KAXM,CAAP;AAYA;;AAED,WAASC,mBAAT,CAA8BC,cAA9B,EAA+C;AAC9C;AACA,UAAMC,SAAS,GAAGC,KAAK,CAACC,OAAN,CAAeH,cAAf,IACfA,cADe,GAEf,CAAEA,cAAF,CAFH,CAF8C,CAM9C;;AACA,UAAMV,UAAU,GAAGW,SAAS,CAACT,GAAV,CAAiBC,IAAF,IACjC,4BAAgBA,IAAI,CAACW,IAArB,EAA2BX,IAAI,CAACY,UAAhC,EAA4CZ,IAAI,CAACa,WAAjD,CADkB,CAAnB;AAIA,WAAOhB,UAAU,CAACiB,IAAX,CAAiB,EAAjB,CAAP;AACA;;AAED,QAAMC,SAAS,GAAGT,mBAAmB,CAAEb,SAAS,CAAEH,KAAF,CAAX,CAArC;AACA,QAAMQ,UAAU,GAAGH,aAAa,CAAEL,KAAK,CAACM,eAAR,EAAyBmB,SAAzB,CAAhC;AAEA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AACC,IAAA,KAAK,EAAG,cAAI,SAAJ,CADT;AAEC,IAAA,SAAS,EAAC,qCAFX;AAGC,IAAA,MAAM,EAAGxB,MAHV;AAIC,IAAA,UAAU,EAAG,cAAI,iBAAJ,CAJd;AAKC,IAAA,UAAU,EAAGD,KAAK,CAACM,eALpB;AAMC,IAAA,eAAe,EAAGN,KAAK,CAACM;AANzB,IADD,EAUC,4BAAC,kBAAD;AACC,IAAA,KAAK,EAAG,cAAI,kBAAJ,CADT;AAEC,IAAA,SAAS,EAAC,uCAFX;AAGC,IAAA,MAAM,EAAGJ,SAHV;AAIC,IAAA,UAAU,EAAGE,iBAJd;AAKC,IAAA,UAAU,EAAGI,UALd;AAMC,IAAA,eAAe,EAAGiB;AANnB,IAVD,CADD;AAqBA;;eAEc1B,Y","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n// diff doesn't tree-shake correctly, so we import from the individual\n// module here, to avoid including too much of the library\nimport { diffChars } from 'diff/lib/diff/character';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { getSaveContent } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport BlockView from './block-view';\n\nfunction BlockCompare( {\n\tblock,\n\tonKeep,\n\tonConvert,\n\tconvertor,\n\tconvertButtonText,\n} ) {\n\tfunction getDifference( originalContent, newContent ) {\n\t\tconst difference = diffChars( originalContent, newContent );\n\n\t\treturn difference.map( ( item, pos ) => {\n\t\t\tconst classes = classnames( {\n\t\t\t\t'block-editor-block-compare__added': item.added,\n\t\t\t\t'block-editor-block-compare__removed': item.removed,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<span key={ pos } className={ classes }>\n\t\t\t\t\t{ item.value }\n\t\t\t\t</span>\n\t\t\t);\n\t\t} );\n\t}\n\n\tfunction getConvertedContent( convertedBlock ) {\n\t\t// The convertor may return an array of items or a single item.\n\t\tconst newBlocks = Array.isArray( convertedBlock )\n\t\t\t? convertedBlock\n\t\t\t: [ convertedBlock ];\n\n\t\t// Get converted block details.\n\t\tconst newContent = newBlocks.map( ( item ) =>\n\t\t\tgetSaveContent( item.name, item.attributes, item.innerBlocks )\n\t\t);\n\n\t\treturn newContent.join( '' );\n\t}\n\n\tconst converted = getConvertedContent( convertor( block ) );\n\tconst difference = getDifference( block.originalContent, converted );\n\n\treturn (\n\t\t<div className=\"block-editor-block-compare__wrapper\">\n\t\t\t<BlockView\n\t\t\t\ttitle={ __( 'Current' ) }\n\t\t\t\tclassName=\"block-editor-block-compare__current\"\n\t\t\t\taction={ onKeep }\n\t\t\t\tactionText={ __( 'Convert to HTML' ) }\n\t\t\t\trawContent={ block.originalContent }\n\t\t\t\trenderedContent={ block.originalContent }\n\t\t\t/>\n\n\t\t\t<BlockView\n\t\t\t\ttitle={ __( 'After Conversion' ) }\n\t\t\t\tclassName=\"block-editor-block-compare__converted\"\n\t\t\t\taction={ onConvert }\n\t\t\t\tactionText={ convertButtonText }\n\t\t\t\trawContent={ difference }\n\t\t\t\trenderedContent={ converted }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport default BlockCompare;\n"]}
@@ -27,8 +27,10 @@ var _blockIcon = _interopRequireDefault(require("../block-icon"));
27
27
  function BlockDraggableChip(_ref) {
28
28
  let {
29
29
  count,
30
- icon
30
+ icon,
31
+ isPattern
31
32
  } = _ref;
33
+ const patternLabel = isPattern && (0, _i18n.__)('Pattern');
32
34
  return (0, _element.createElement)("div", {
33
35
  className: "block-editor-block-draggable-chip-wrapper"
34
36
  }, (0, _element.createElement)("div", {
@@ -39,7 +41,7 @@ function BlockDraggableChip(_ref) {
39
41
  className: "block-editor-block-draggable-chip__content"
40
42
  }, (0, _element.createElement)(_components.FlexItem, null, icon ? (0, _element.createElement)(_blockIcon.default, {
41
43
  icon: icon
42
- }) : (0, _i18n.sprintf)(
44
+ }) : patternLabel || (0, _i18n.sprintf)(
43
45
  /* translators: %d: Number of blocks. */
44
46
  (0, _i18n._n)('%d block', '%d blocks', count), count)), (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_blockIcon.default, {
45
47
  icon: _icons.dragHandle
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-draggable/draggable-chip.js"],"names":["BlockDraggableChip","count","icon","dragHandle"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,kBAAT,OAA+C;AAAA,MAAlB;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAkB;AAC7D,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AACC,IAAA,SAAS,EAAC,mCADX;AAEC,mBAAY;AAFb,KAIC,4BAAC,gBAAD;AACC,IAAA,OAAO,EAAC,QADT;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC,4BAAC,oBAAD,QACGA,IAAI,GACL,4BAAC,kBAAD;AAAW,IAAA,IAAI,EAAGA;AAAlB,IADK,GAGL;AACC;AACA,gBAAI,UAAJ,EAAgB,WAAhB,EAA6BD,KAA7B,CAFD,EAGCA,KAHD,CAJF,CAJD,EAeC,4BAAC,oBAAD,QACC,4BAAC,kBAAD;AAAW,IAAA,IAAI,EAAGE;AAAlB,IADD,CAfD,CAJD,CADD,CADD;AA4BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _n, sprintf } from '@wordpress/i18n';\nimport { Flex, FlexItem } from '@wordpress/components';\nimport { dragHandle } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\n\nexport default function BlockDraggableChip( { count, icon } ) {\n\treturn (\n\t\t<div className=\"block-editor-block-draggable-chip-wrapper\">\n\t\t\t<div\n\t\t\t\tclassName=\"block-editor-block-draggable-chip\"\n\t\t\t\tdata-testid=\"block-draggable-chip\"\n\t\t\t>\n\t\t\t\t<Flex\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"block-editor-block-draggable-chip__content\"\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t{ icon ? (\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: %d: Number of blocks. */\n\t\t\t\t\t\t\t\t_n( '%d block', '%d blocks', count ),\n\t\t\t\t\t\t\t\tcount\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<BlockIcon icon={ dragHandle } />\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-draggable/draggable-chip.js"],"names":["BlockDraggableChip","count","icon","isPattern","patternLabel","dragHandle"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,kBAAT,OAA0D;AAAA,MAA7B;AAAEC,IAAAA,KAAF;AAASC,IAAAA,IAAT;AAAeC,IAAAA;AAAf,GAA6B;AACxE,QAAMC,YAAY,GAAGD,SAAS,IAAI,cAAI,SAAJ,CAAlC;AACA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AACC,IAAA,SAAS,EAAC,mCADX;AAEC,mBAAY;AAFb,KAIC,4BAAC,gBAAD;AACC,IAAA,OAAO,EAAC,QADT;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC,4BAAC,oBAAD,QACGD,IAAI,GACL,4BAAC,kBAAD;AAAW,IAAA,IAAI,EAAGA;AAAlB,IADK,GAGLE,YAAY,IACZ;AACC;AACA,gBAAI,UAAJ,EAAgB,WAAhB,EAA6BH,KAA7B,CAFD,EAGCA,KAHD,CALF,CAJD,EAgBC,4BAAC,oBAAD,QACC,4BAAC,kBAAD;AAAW,IAAA,IAAI,EAAGI;AAAlB,IADD,CAhBD,CAJD,CADD,CADD;AA6BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Flex, FlexItem } from '@wordpress/components';\nimport { dragHandle } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\n\nexport default function BlockDraggableChip( { count, icon, isPattern } ) {\n\tconst patternLabel = isPattern && __( 'Pattern' );\n\treturn (\n\t\t<div className=\"block-editor-block-draggable-chip-wrapper\">\n\t\t\t<div\n\t\t\t\tclassName=\"block-editor-block-draggable-chip\"\n\t\t\t\tdata-testid=\"block-draggable-chip\"\n\t\t\t>\n\t\t\t\t<Flex\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"block-editor-block-draggable-chip__content\"\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t{ icon ? (\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tpatternLabel ||\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t/* translators: %d: Number of blocks. */\n\t\t\t\t\t\t\t\t_n( '%d block', '%d blocks', count ),\n\t\t\t\t\t\t\t\tcount\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<BlockIcon icon={ dragHandle } />\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -39,12 +39,14 @@ function BlockEdit(props) {
39
39
  const {
40
40
  name,
41
41
  isSelected,
42
- clientId
42
+ clientId,
43
+ __unstableLayoutClassNames
43
44
  } = props;
44
45
  const context = {
45
46
  name,
46
47
  isSelected,
47
- clientId
48
+ clientId,
49
+ __unstableLayoutClassNames
48
50
  };
49
51
  return (0, _element.createElement)(_context.BlockEditContextProvider // It is important to return the same object if props haven't
50
52
  // changed to avoid unnecessary rerenders.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-edit/index.js"],"names":["BlockEdit","props","name","isSelected","clientId","context","Object","values"],"mappings":";;;;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGe,SAASA,SAAT,CAAoBC,KAApB,EAA4B;AAC1C,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,UAAR;AAAoBC,IAAAA;AAApB,MAAiCH,KAAvC;AACA,QAAMI,OAAO,GAAG;AACfH,IAAAA,IADe;AAEfC,IAAAA,UAFe;AAGfC,IAAAA;AAHe,GAAhB;AAKA,SACC,4BAAC,iCAAD,CACC;AACA;AACA;AAHD;AAIC,IAAA,KAAK,EAAG,sBAAS,MAAMC,OAAf,EAAwBC,MAAM,CAACC,MAAP,CAAeF,OAAf,CAAxB;AAJT,KAMC,4BAAC,aAAD,EAAWJ,KAAX,CAND,CADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Edit from './edit';\nimport { BlockEditContextProvider, useBlockEditContext } 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( props ) {\n\tconst { name, isSelected, clientId } = props;\n\tconst context = {\n\t\tname,\n\t\tisSelected,\n\t\tclientId,\n\t};\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( () => context, Object.values( context ) ) }\n\t\t>\n\t\t\t<Edit { ...props } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-edit/index.js"],"names":["BlockEdit","props","name","isSelected","clientId","__unstableLayoutClassNames","context","Object","values"],"mappings":";;;;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGe,SAASA,SAAT,CAAoBC,KAApB,EAA4B;AAC1C,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,UAAR;AAAoBC,IAAAA,QAApB;AAA8BC,IAAAA;AAA9B,MAA6DJ,KAAnE;AACA,QAAMK,OAAO,GAAG;AACfJ,IAAAA,IADe;AAEfC,IAAAA,UAFe;AAGfC,IAAAA,QAHe;AAIfC,IAAAA;AAJe,GAAhB;AAMA,SACC,4BAAC,iCAAD,CACC;AACA;AACA;AAHD;AAIC,IAAA,KAAK,EAAG,sBAAS,MAAMC,OAAf,EAAwBC,MAAM,CAACC,MAAP,CAAeF,OAAf,CAAxB;AAJT,KAMC,4BAAC,aAAD,EAAWL,KAAX,CAND,CADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Edit from './edit';\nimport { BlockEditContextProvider, useBlockEditContext } 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( props ) {\n\tconst { name, isSelected, clientId, __unstableLayoutClassNames } = props;\n\tconst context = {\n\t\tname,\n\t\tisSelected,\n\t\tclientId,\n\t\t__unstableLayoutClassNames,\n\t};\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( () => context, Object.values( context ) ) }\n\t\t>\n\t\t\t<Edit { ...props } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n"]}
@@ -51,7 +51,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
51
51
  function useContentBlocks(blockTypes, block) {
52
52
  const contenBlocksObjectAux = (0, _element.useMemo)(() => {
53
53
  return blockTypes.reduce((result, blockType) => {
54
- if (Object.entries(blockType.attributes).some(_ref => {
54
+ if (blockType.name !== 'core/list-item' && Object.entries(blockType.attributes).some(_ref => {
55
55
  let [, {
56
56
  __experimentalRole
57
57
  }] = _ref;
@@ -161,7 +161,8 @@ const BlockInspector = _ref5 => {
161
161
  getSelectedBlockClientId,
162
162
  getSelectedBlockCount,
163
163
  getBlockName,
164
- __unstableGetContentLockingParent
164
+ __unstableGetContentLockingParent,
165
+ getTemplateLock
165
166
  } = select(_store.store);
166
167
 
167
168
  const _selectedBlockClientId = getSelectedBlockClientId();
@@ -175,7 +176,7 @@ const BlockInspector = _ref5 => {
175
176
  selectedBlockClientId: _selectedBlockClientId,
176
177
  selectedBlockName: _selectedBlockName,
177
178
  blockType: _blockType,
178
- topLevelLockedBlock: __unstableGetContentLockingParent(_selectedBlockClientId)
179
+ topLevelLockedBlock: __unstableGetContentLockingParent(_selectedBlockClientId) || (getTemplateLock(_selectedBlockClientId) === 'contentOnly' ? _selectedBlockClientId : undefined)
179
180
  };
180
181
  }, []);
181
182
 
@@ -246,7 +247,6 @@ const BlockInspectorSingleBlock = _ref6 => {
246
247
  }), hasBlockStyles && (0, _element.createElement)("div", null, (0, _element.createElement)(_components.PanelBody, {
247
248
  title: (0, _i18n.__)('Styles')
248
249
  }, (0, _element.createElement)(_blockStyles.default, {
249
- scope: "core/block-inspector",
250
250
  clientId: clientId
251
251
  }), (0, _blocks.hasBlockSupport)(blockName, 'defaultStylePicker', true) && (0, _element.createElement)(_defaultStylePicker.default, {
252
252
  blockName: blockName
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"names":["useContentBlocks","blockTypes","block","contenBlocksObjectAux","reduce","result","blockType","Object","entries","attributes","some","__experimentalRole","name","isContentBlock","blockName","getContentBlocks","blocks","push","innerBlocks","BlockNavigationButton","selectedBlock","selectBlock","blockEditorStore","find","isSelected","clientId","icon","title","BlockInspectorLockedBlocks","topLevelLockedBlock","select","blocksStore","getBlockTypes","getBlock","getSelectedBlock","blockInformation","contentBlocks","map","contentBlock","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","getSelectedBlockClientId","getSelectedBlockCount","getBlockName","__unstableGetContentLockingParent","_selectedBlockClientId","_selectedBlockName","_blockType","isSelectedBlockUnregistered","BlockInspectorSingleBlock","hasBlockStyles","getBlockStyles","blockStyles","length","AdvancedControls","fills","InspectorAdvancedControls","slotName","hasFills","Boolean"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\t__experimentalUseSlotFills as useSlotFills,\n\tFlexItem,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from '../inspector-controls';\nimport BlockStyles from '../block-styles';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport DefaultStylePicker from '../default-style-picker';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\n\nfunction useContentBlocks( blockTypes, block ) {\n\tconst contenBlocksObjectAux = useMemo( () => {\n\t\treturn blockTypes.reduce( ( result, blockType ) => {\n\t\t\tif (\n\t\t\t\tObject.entries( blockType.attributes ).some(\n\t\t\t\t\t( [ , { __experimentalRole } ] ) =>\n\t\t\t\t\t\t__experimentalRole === 'content'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tresult[ blockType.name ] = true;\n\t\t\t}\n\t\t\treturn result;\n\t\t}, {} );\n\t}, [ blockTypes ] );\n\tconst isContentBlock = useCallback(\n\t\t( blockName ) => {\n\t\t\treturn !! contenBlocksObjectAux[ blockName ];\n\t\t},\n\t\t[ blockTypes ]\n\t);\n\treturn useMemo( () => {\n\t\treturn getContentBlocks( [ block ], isContentBlock );\n\t}, [ block, isContentBlock ] );\n}\n\nfunction getContentBlocks( blocks, isContentBlock ) {\n\tconst result = [];\n\tfor ( const block of blocks ) {\n\t\tif ( isContentBlock( block.name ) ) {\n\t\t\tresult.push( block );\n\t\t}\n\t\tresult.push( ...getContentBlocks( block.innerBlocks, isContentBlock ) );\n\t}\n\treturn result;\n}\n\nfunction BlockNavigationButton( { blockTypes, block, selectedBlock } ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst blockType = blockTypes.find( ( { name } ) => name === block.name );\n\tconst isSelected =\n\t\tselectedBlock && selectedBlock.clientId === block.clientId;\n\treturn (\n\t\t<Button\n\t\t\tisPressed={ isSelected }\n\t\t\tonClick={ () => selectBlock( block.clientId ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<BlockIcon icon={ blockType.icon } />\n\t\t\t\t<FlexItem>{ blockType.title }</FlexItem>\n\t\t\t</HStack>\n\t\t</Button>\n\t);\n}\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst { blockTypes, block, selectedBlock } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tblockTypes: select( blocksStore ).getBlockTypes(),\n\t\t\t\tblock: select( blockEditorStore ).getBlock(\n\t\t\t\t\ttopLevelLockedBlock\n\t\t\t\t),\n\t\t\t\tselectedBlock: select( blockEditorStore ).getSelectedBlock(),\n\t\t\t};\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\tconst contentBlocks = useContentBlocks( blockTypes, block );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard { ...blockInformation } />\n\t\t\t<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<VStack\n\t\t\t\tspacing={ 1 }\n\t\t\t\tpadding={ 4 }\n\t\t\t\tclassName=\"block-editor-block-inspector__block-buttons-container\"\n\t\t\t>\n\t\t\t\t<h2 className=\"block-editor-block-card__title\">\n\t\t\t\t\t{ __( 'Content' ) }\n\t\t\t\t</h2>\n\t\t\t\t{ contentBlocks.map( ( contentBlock ) => (\n\t\t\t\t\t<BlockNavigationButton\n\t\t\t\t\t\tselectedBlock={ selectedBlock }\n\t\t\t\t\t\tkey={ contentBlock.clientId }\n\t\t\t\t\t\tblock={ contentBlock }\n\t\t\t\t\t\tblockTypes={ blockTypes }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\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} = 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: __unstableGetContentLockingParent(\n\t\t\t\t_selectedBlockClientId\n\t\t\t),\n\t\t};\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<InspectorControls.Slot />\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"color\"\n\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"border\"\n\t\t\t\t\tlabel={ __( 'Border' ) }\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\treturn (\n\t\t<BlockInspectorSingleBlock\n\t\t\tclientId={ selectedBlockClientId }\n\t\t\tblockName={ blockType.name }\n\t\t/>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\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\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard { ...blockInformation } />\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles\n\t\t\t\t\t\t\tscope=\"core/block-inspector\"\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) && <DefaultStylePicker blockName={ blockName } /> }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot />\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"color\"\n\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"border\"\n\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<AdvancedControls />\n\t\t\t</div>\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\nconst AdvancedControls = () => {\n\tconst fills = useSlotFills( InspectorAdvancedControls.slotName );\n\tconst hasFills = Boolean( fills && fills.length );\n\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\tclassName=\"block-editor-block-inspector__advanced\"\n\t\t\ttitle={ __( 'Advanced' ) }\n\t\t\tinitialOpen={ false }\n\t\t>\n\t\t\t<InspectorControls.Slot __experimentalGroup=\"advanced\" />\n\t\t</PanelBody>\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"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"names":["useContentBlocks","blockTypes","block","contenBlocksObjectAux","reduce","result","blockType","name","Object","entries","attributes","some","__experimentalRole","isContentBlock","blockName","getContentBlocks","blocks","push","innerBlocks","BlockNavigationButton","selectedBlock","selectBlock","blockEditorStore","find","isSelected","clientId","icon","title","BlockInspectorLockedBlocks","topLevelLockedBlock","select","blocksStore","getBlockTypes","getBlock","getSelectedBlock","blockInformation","contentBlocks","map","contentBlock","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","getSelectedBlockClientId","getSelectedBlockCount","getBlockName","__unstableGetContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","isSelectedBlockUnregistered","BlockInspectorSingleBlock","hasBlockStyles","getBlockStyles","blockStyles","length","AdvancedControls","fills","InspectorAdvancedControls","slotName","hasFills","Boolean"],"mappings":";;;;;;;;;AAmBA;;AAhBA;;AACA;;AAMA;;AAQA;;AAMA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AApCA;AACA;AACA;;AAmBA;AACA;AACA;AAeA,SAASA,gBAAT,CAA2BC,UAA3B,EAAuCC,KAAvC,EAA+C;AAC9C,QAAMC,qBAAqB,GAAG,sBAAS,MAAM;AAC5C,WAAOF,UAAU,CAACG,MAAX,CAAmB,CAAEC,MAAF,EAAUC,SAAV,KAAyB;AAClD,UACCA,SAAS,CAACC,IAAV,KAAmB,gBAAnB,IACAC,MAAM,CAACC,OAAP,CAAgBH,SAAS,CAACI,UAA1B,EAAuCC,IAAvC,CACC;AAAA,YAAE,GAAI;AAAEC,UAAAA;AAAF,SAAJ,CAAF;AAAA,eACCA,kBAAkB,KAAK,SADxB;AAAA,OADD,CAFD,EAME;AACDP,QAAAA,MAAM,CAAEC,SAAS,CAACC,IAAZ,CAAN,GAA2B,IAA3B;AACA;;AACD,aAAOF,MAAP;AACA,KAXM,EAWJ,EAXI,CAAP;AAYA,GAb6B,EAa3B,CAAEJ,UAAF,CAb2B,CAA9B;AAcA,QAAMY,cAAc,GAAG,0BACpBC,SAAF,IAAiB;AAChB,WAAO,CAAC,CAAEX,qBAAqB,CAAEW,SAAF,CAA/B;AACA,GAHqB,EAItB,CAAEb,UAAF,CAJsB,CAAvB;AAMA,SAAO,sBAAS,MAAM;AACrB,WAAOc,gBAAgB,CAAE,CAAEb,KAAF,CAAF,EAAaW,cAAb,CAAvB;AACA,GAFM,EAEJ,CAAEX,KAAF,EAASW,cAAT,CAFI,CAAP;AAGA;;AAED,SAASE,gBAAT,CAA2BC,MAA3B,EAAmCH,cAAnC,EAAoD;AACnD,QAAMR,MAAM,GAAG,EAAf;;AACA,OAAM,MAAMH,KAAZ,IAAqBc,MAArB,EAA8B;AAC7B,QAAKH,cAAc,CAAEX,KAAK,CAACK,IAAR,CAAnB,EAAoC;AACnCF,MAAAA,MAAM,CAACY,IAAP,CAAaf,KAAb;AACA;;AACDG,IAAAA,MAAM,CAACY,IAAP,CAAa,GAAGF,gBAAgB,CAAEb,KAAK,CAACgB,WAAR,EAAqBL,cAArB,CAAhC;AACA;;AACD,SAAOR,MAAP;AACA;;AAED,SAASc,qBAAT,QAAuE;AAAA,MAAvC;AAAElB,IAAAA,UAAF;AAAcC,IAAAA,KAAd;AAAqBkB,IAAAA;AAArB,GAAuC;AACtE,QAAM;AAAEC,IAAAA;AAAF,MAAkB,uBAAaC,YAAb,CAAxB;AACA,QAAMhB,SAAS,GAAGL,UAAU,CAACsB,IAAX,CAAiB;AAAA,QAAE;AAAEhB,MAAAA;AAAF,KAAF;AAAA,WAAgBA,IAAI,KAAKL,KAAK,CAACK,IAA/B;AAAA,GAAjB,CAAlB;AACA,QAAMiB,UAAU,GACfJ,aAAa,IAAIA,aAAa,CAACK,QAAd,KAA2BvB,KAAK,CAACuB,QADnD;AAEA,SACC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAGD,UADb;AAEC,IAAA,OAAO,EAAG,MAAMH,WAAW,CAAEnB,KAAK,CAACuB,QAAR;AAF5B,KAIC,4BAAC,gCAAD;AAAQ,IAAA,OAAO,EAAC;AAAhB,KACC,4BAAC,kBAAD;AAAW,IAAA,IAAI,EAAGnB,SAAS,CAACoB;AAA5B,IADD,EAEC,4BAAC,oBAAD,QAAYpB,SAAS,CAACqB,KAAtB,CAFD,CAJD,CADD;AAWA;;AAED,SAASC,0BAAT,QAA+D;AAAA,MAA1B;AAAEC,IAAAA;AAAF,GAA0B;AAC9D,QAAM;AAAE5B,IAAAA,UAAF;AAAcC,IAAAA,KAAd;AAAqBkB,IAAAA;AAArB,MAAuC,qBAC1CU,MAAF,IAAc;AACb,WAAO;AACN7B,MAAAA,UAAU,EAAE6B,MAAM,CAAEC,aAAF,CAAN,CAAsBC,aAAtB,EADN;AAEN9B,MAAAA,KAAK,EAAE4B,MAAM,CAAER,YAAF,CAAN,CAA2BW,QAA3B,CACNJ,mBADM,CAFD;AAKNT,MAAAA,aAAa,EAAEU,MAAM,CAAER,YAAF,CAAN,CAA2BY,gBAA3B;AALT,KAAP;AAOA,GAT2C,EAU5C,CAAEL,mBAAF,CAV4C,CAA7C;AAYA,QAAMM,gBAAgB,GAAG,yCAA4BN,mBAA5B,CAAzB;AACA,QAAMO,aAAa,GAAGpC,gBAAgB,CAAEC,UAAF,EAAcC,KAAd,CAAtC;AACA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD,EAAgBiC,gBAAhB,CADD,EAEC,4BAAC,iCAAD;AAA0B,IAAA,aAAa,EAAGN;AAA1C,IAFD,EAGC,4BAAC,gCAAD;AACC,IAAA,OAAO,EAAG,CADX;AAEC,IAAA,OAAO,EAAG,CAFX;AAGC,IAAA,SAAS,EAAC;AAHX,KAKC;AAAI,IAAA,SAAS,EAAC;AAAd,KACG,cAAI,SAAJ,CADH,CALD,EAQGO,aAAa,CAACC,GAAd,CAAqBC,YAAF,IACpB,4BAAC,qBAAD;AACC,IAAA,aAAa,EAAGlB,aADjB;AAEC,IAAA,GAAG,EAAGkB,YAAY,CAACb,QAFpB;AAGC,IAAA,KAAK,EAAGa,YAHT;AAIC,IAAA,UAAU,EAAGrC;AAJd,IADC,CARH,CAHD,CADD;AAuBA;;AAED,MAAMsC,cAAc,GAAG,SAA6C;AAAA,MAA3C;AAAEC,IAAAA,0BAA0B,GAAG;AAA/B,GAA2C;AACnE,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,iBAFK;AAGLC,IAAAA,qBAHK;AAILrC,IAAAA,SAJK;AAKLuB,IAAAA;AALK,MAMF,qBAAaC,MAAF,IAAc;AAC5B,UAAM;AACLc,MAAAA,wBADK;AAELC,MAAAA,qBAFK;AAGLC,MAAAA,YAHK;AAILC,MAAAA,iCAJK;AAKLC,MAAAA;AALK,QAMFlB,MAAM,CAAER,YAAF,CANV;;AAQA,UAAM2B,sBAAsB,GAAGL,wBAAwB,EAAvD;;AACA,UAAMM,kBAAkB,GACvBD,sBAAsB,IAAIH,YAAY,CAAEG,sBAAF,CADvC;;AAEA,UAAME,UAAU,GACfD,kBAAkB,IAAI,0BAAcA,kBAAd,CADvB;;AAGA,WAAO;AACNT,MAAAA,KAAK,EAAEI,qBAAqB,EADtB;AAENF,MAAAA,qBAAqB,EAAEM,sBAFjB;AAGNP,MAAAA,iBAAiB,EAAEQ,kBAHb;AAIN5C,MAAAA,SAAS,EAAE6C,UAJL;AAKNtB,MAAAA,mBAAmB,EAClBkB,iCAAiC,CAAEE,sBAAF,CAAjC,KACED,eAAe,CAAEC,sBAAF,CAAf,KAA8C,aAA9C,GACCA,sBADD,GAECG,SAHH;AANK,KAAP;AAWA,GA1BG,EA0BD,EA1BC,CANJ;;AAkCA,MAAKX,KAAK,GAAG,CAAb,EAAiB;AAChB,WACC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,4BAAC,gCAAD,OADD,EAEC,4BAAC,0BAAD,CAAmB,IAAnB,OAFD,EAGC,4BAAC,0BAAD,CAAmB,IAAnB;AACC,MAAA,mBAAmB,EAAC,OADrB;AAEC,MAAA,KAAK,EAAG,cAAI,OAAJ,CAFT;AAGC,MAAA,SAAS,EAAC;AAHX,MAHD,EAQC,4BAAC,0BAAD,CAAmB,IAAnB;AACC,MAAA,mBAAmB,EAAC,YADrB;AAEC,MAAA,KAAK,EAAG,cAAI,YAAJ;AAFT,MARD,EAYC,4BAAC,0BAAD,CAAmB,IAAnB;AACC,MAAA,mBAAmB,EAAC,YADrB;AAEC,MAAA,KAAK,EAAG,cAAI,YAAJ;AAFT,MAZD,EAgBC,4BAAC,0BAAD,CAAmB,IAAnB;AACC,MAAA,mBAAmB,EAAC,QADrB;AAEC,MAAA,KAAK,EAAG,cAAI,QAAJ;AAFT,MAhBD,CADD;AAuBA;;AAED,QAAMY,2BAA2B,GAChCX,iBAAiB,KAAK,6CADvB;AAGA;AACD;AACA;AACA;;AACC,MACC,CAAEpC,SAAF,IACA,CAAEqC,qBADF,IAEAU,2BAHD,EAIE;AACD,QAAKb,0BAAL,EAAkC;AACjC,aACC;AAAM,QAAA,SAAS,EAAC;AAAhB,SACG,cAAI,oBAAJ,CADH,CADD;AAKA;;AACD,WAAO,IAAP;AACA;;AACD,MAAKX,mBAAL,EAA2B;AAC1B,WACC,4BAAC,0BAAD;AACC,MAAA,mBAAmB,EAAGA;AADvB,MADD;AAKA;;AACD,SACC,4BAAC,yBAAD;AACC,IAAA,QAAQ,EAAGc,qBADZ;AAEC,IAAA,SAAS,EAAGrC,SAAS,CAACC;AAFvB,IADD;AAMA,CA/FD;;AAiGA,MAAM+C,yBAAyB,GAAG,SAA+B;AAAA,MAA7B;AAAE7B,IAAAA,QAAF;AAAYX,IAAAA;AAAZ,GAA6B;AAChE,QAAMyC,cAAc,GAAG,qBACpBzB,MAAF,IAAc;AACb,UAAM;AAAE0B,MAAAA;AAAF,QAAqB1B,MAAM,CAAEC,aAAF,CAAjC;AACA,UAAM0B,WAAW,GAAGD,cAAc,CAAE1C,SAAF,CAAlC;AACA,WAAO2C,WAAW,IAAIA,WAAW,CAACC,MAAZ,GAAqB,CAA3C;AACA,GALqB,EAMtB,CAAE5C,SAAF,CANsB,CAAvB;AAQA,QAAMqB,gBAAgB,GAAG,yCAA4BV,QAA5B,CAAzB;AACA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD,EAAgBU,gBAAhB,CADD,EAEC,4BAAC,iCAAD;AAA0B,IAAA,aAAa,EAAGV;AAA1C,IAFD,EAGG8B,cAAc,IACf,yCACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,QAAJ;AAAnB,KACC,4BAAC,oBAAD;AAAa,IAAA,QAAQ,EAAG9B;AAAxB,IADD,EAEG,6BACDX,SADC,EAED,oBAFC,EAGD,IAHC,KAIG,4BAAC,2BAAD;AAAoB,IAAA,SAAS,EAAGA;AAAhC,IANN,CADD,CAJF,EAeC,4BAAC,0BAAD,CAAmB,IAAnB,OAfD,EAgBC,4BAAC,0BAAD,CAAmB,IAAnB;AACC,IAAA,mBAAmB,EAAC,OADrB;AAEC,IAAA,KAAK,EAAG,cAAI,OAAJ,CAFT;AAGC,IAAA,SAAS,EAAC;AAHX,IAhBD,EAqBC,4BAAC,0BAAD,CAAmB,IAAnB;AACC,IAAA,mBAAmB,EAAC,YADrB;AAEC,IAAA,KAAK,EAAG,cAAI,YAAJ;AAFT,IArBD,EAyBC,4BAAC,0BAAD,CAAmB,IAAnB;AACC,IAAA,mBAAmB,EAAC,YADrB;AAEC,IAAA,KAAK,EAAG,cAAI,YAAJ;AAFT,IAzBD,EA6BC,4BAAC,0BAAD,CAAmB,IAAnB;AACC,IAAA,mBAAmB,EAAC,QADrB;AAEC,IAAA,KAAK,EAAG,cAAI,QAAJ;AAFT,IA7BD,EAiCC,yCACC,4BAAC,gBAAD,OADD,CAjCD,EAoCC,4BAAC,4BAAD;AAAqB,IAAA,GAAG,EAAC;AAAzB,IApCD,CADD;AAwCA,CAlDD;;AAoDA,MAAM6C,gBAAgB,GAAG,MAAM;AAC9B,QAAMC,KAAK,GAAG,4CAAcC,6CAA0BC,QAAxC,CAAd;AACA,QAAMC,QAAQ,GAAGC,OAAO,CAAEJ,KAAK,IAAIA,KAAK,CAACF,MAAjB,CAAxB;;AAEA,MAAK,CAAEK,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,qBAAD;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,KAAK,EAAG,cAAI,UAAJ,CAFT;AAGC,IAAA,WAAW,EAAG;AAHf,KAKC,4BAAC,0BAAD,CAAmB,IAAnB;AAAwB,IAAA,mBAAmB,EAAC;AAA5C,IALD,CADD;AASA,CAjBD;AAmBA;AACA;AACA;;;eACexB,c","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\t__experimentalUseSlotFills as useSlotFills,\n\tFlexItem,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from '../inspector-controls';\nimport BlockStyles from '../block-styles';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport DefaultStylePicker from '../default-style-picker';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\n\nfunction useContentBlocks( blockTypes, block ) {\n\tconst contenBlocksObjectAux = useMemo( () => {\n\t\treturn blockTypes.reduce( ( result, blockType ) => {\n\t\t\tif (\n\t\t\t\tblockType.name !== 'core/list-item' &&\n\t\t\t\tObject.entries( blockType.attributes ).some(\n\t\t\t\t\t( [ , { __experimentalRole } ] ) =>\n\t\t\t\t\t\t__experimentalRole === 'content'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tresult[ blockType.name ] = true;\n\t\t\t}\n\t\t\treturn result;\n\t\t}, {} );\n\t}, [ blockTypes ] );\n\tconst isContentBlock = useCallback(\n\t\t( blockName ) => {\n\t\t\treturn !! contenBlocksObjectAux[ blockName ];\n\t\t},\n\t\t[ blockTypes ]\n\t);\n\treturn useMemo( () => {\n\t\treturn getContentBlocks( [ block ], isContentBlock );\n\t}, [ block, isContentBlock ] );\n}\n\nfunction getContentBlocks( blocks, isContentBlock ) {\n\tconst result = [];\n\tfor ( const block of blocks ) {\n\t\tif ( isContentBlock( block.name ) ) {\n\t\t\tresult.push( block );\n\t\t}\n\t\tresult.push( ...getContentBlocks( block.innerBlocks, isContentBlock ) );\n\t}\n\treturn result;\n}\n\nfunction BlockNavigationButton( { blockTypes, block, selectedBlock } ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst blockType = blockTypes.find( ( { name } ) => name === block.name );\n\tconst isSelected =\n\t\tselectedBlock && selectedBlock.clientId === block.clientId;\n\treturn (\n\t\t<Button\n\t\t\tisPressed={ isSelected }\n\t\t\tonClick={ () => selectBlock( block.clientId ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<BlockIcon icon={ blockType.icon } />\n\t\t\t\t<FlexItem>{ blockType.title }</FlexItem>\n\t\t\t</HStack>\n\t\t</Button>\n\t);\n}\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst { blockTypes, block, selectedBlock } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tblockTypes: select( blocksStore ).getBlockTypes(),\n\t\t\t\tblock: select( blockEditorStore ).getBlock(\n\t\t\t\t\ttopLevelLockedBlock\n\t\t\t\t),\n\t\t\t\tselectedBlock: select( blockEditorStore ).getSelectedBlock(),\n\t\t\t};\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\tconst contentBlocks = useContentBlocks( blockTypes, block );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard { ...blockInformation } />\n\t\t\t<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<VStack\n\t\t\t\tspacing={ 1 }\n\t\t\t\tpadding={ 4 }\n\t\t\t\tclassName=\"block-editor-block-inspector__block-buttons-container\"\n\t\t\t>\n\t\t\t\t<h2 className=\"block-editor-block-card__title\">\n\t\t\t\t\t{ __( 'Content' ) }\n\t\t\t\t</h2>\n\t\t\t\t{ contentBlocks.map( ( contentBlock ) => (\n\t\t\t\t\t<BlockNavigationButton\n\t\t\t\t\t\tselectedBlock={ selectedBlock }\n\t\t\t\t\t\tkey={ contentBlock.clientId }\n\t\t\t\t\t\tblock={ contentBlock }\n\t\t\t\t\t\tblockTypes={ blockTypes }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\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\t? _selectedBlockClientId\n\t\t\t\t\t: undefined ),\n\t\t};\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<InspectorControls.Slot />\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"color\"\n\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"border\"\n\t\t\t\t\tlabel={ __( 'Border' ) }\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\treturn (\n\t\t<BlockInspectorSingleBlock\n\t\t\tclientId={ selectedBlockClientId }\n\t\t\tblockName={ blockType.name }\n\t\t/>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\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\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard { ...blockInformation } />\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) && <DefaultStylePicker blockName={ blockName } /> }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot />\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"color\"\n\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"border\"\n\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<AdvancedControls />\n\t\t\t</div>\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\nconst AdvancedControls = () => {\n\tconst fills = useSlotFills( InspectorAdvancedControls.slotName );\n\tconst hasFills = Boolean( fills && fills.length );\n\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\tclassName=\"block-editor-block-inspector__advanced\"\n\t\t\ttitle={ __( 'Advanced' ) }\n\t\t\tinitialOpen={ false }\n\t\t>\n\t\t\t<InspectorControls.Slot __experimentalGroup=\"advanced\" />\n\t\t</PanelBody>\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"]}
@@ -63,6 +63,7 @@ function BlockListCompact(props) {
63
63
  testID: "block-list-wrapper"
64
64
  }, blockClientIds.map(currentClientId => (0, _element.createElement)(_block.default, {
65
65
  clientId: currentClientId,
66
+ rootClientId: rootClientId,
66
67
  key: currentClientId,
67
68
  marginHorizontal: marginHorizontal,
68
69
  marginVertical: marginVertical
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-list-compact.native.js"],"names":["BlockListCompact","props","marginHorizontal","styles","defaultBlock","marginLeft","marginVertical","marginTop","rootClientId","blockClientIds","select","getBlockOrder","blockEditorStore","blockOrder","containerStyle","map","currentClientId"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AAKA;;AACA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASA,gBAAT,CAA2BC,KAA3B,EAAmC;AAClC,QAAM;AACLC,IAAAA,gBAAgB,GAAGC,eAAOC,YAAP,CAAoBC,UADlC;AAELC,IAAAA,cAAc,GAAGH,eAAOC,YAAP,CAAoBG,SAFhC;AAGLC,IAAAA;AAHK,MAIFP,KAJJ;AAKA,QAAM;AAAEQ,IAAAA;AAAF,MAAqB,qBACxBC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAoBD,MAAM,CAAEE,kBAAF,CAAhC;AACA,UAAMC,UAAU,GAAGF,aAAa,CAAEH,YAAF,CAAhC;AAEA,WAAO;AACNC,MAAAA,cAAc,EAAEI;AADV,KAAP;AAGA,GARyB,EAS1B,CAAEL,YAAF,CAT0B,CAA3B;AAYA,QAAMM,cAAc,GAAG;AACtBR,IAAAA,cAAc,EAAE,CAACA,cADK;AAEtBJ,IAAAA,gBAAgB,EAAE,CAACA;AAFG,GAAvB;AAKA,SACC,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGY,cAAd;AAA+B,IAAA,MAAM,EAAC;AAAtC,KACGL,cAAc,CAACM,GAAf,CAAsBC,eAAF,IACrB,4BAAC,cAAD;AACC,IAAA,QAAQ,EAAGA,eADZ;AAEC,IAAA,GAAG,EAAGA,eAFP;AAGC,IAAA,gBAAgB,EAAGd,gBAHpB;AAIC,IAAA,cAAc,EAAGI;AAJlB,IADC,CADH,CADD;AAYA;;eAEcN,gB","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockListBlock from './block';\n\n/**\n * NOTE: This is a component currently used by the List block (V2)\n * It only passes the needed props for this block, if other blocks will use it\n * make sure you pass other props that might be required coming from:\n * components/inner-blocks/index.native.js\n */\n\nfunction BlockListCompact( props ) {\n\tconst {\n\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\trootClientId,\n\t} = props;\n\tconst { blockClientIds } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockOrder } = select( blockEditorStore );\n\t\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\t\treturn {\n\t\t\t\tblockClientIds: blockOrder,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tconst containerStyle = {\n\t\tmarginVertical: -marginVertical,\n\t\tmarginHorizontal: -marginHorizontal,\n\t};\n\n\treturn (\n\t\t<View style={ containerStyle } testID=\"block-list-wrapper\">\n\t\t\t{ blockClientIds.map( ( currentClientId ) => (\n\t\t\t\t<BlockListBlock\n\t\t\t\t\tclientId={ currentClientId }\n\t\t\t\t\tkey={ currentClientId }\n\t\t\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</View>\n\t);\n}\n\nexport default BlockListCompact;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-list-compact.native.js"],"names":["BlockListCompact","props","marginHorizontal","styles","defaultBlock","marginLeft","marginVertical","marginTop","rootClientId","blockClientIds","select","getBlockOrder","blockEditorStore","blockOrder","containerStyle","map","currentClientId"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AAKA;;AACA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASA,gBAAT,CAA2BC,KAA3B,EAAmC;AAClC,QAAM;AACLC,IAAAA,gBAAgB,GAAGC,eAAOC,YAAP,CAAoBC,UADlC;AAELC,IAAAA,cAAc,GAAGH,eAAOC,YAAP,CAAoBG,SAFhC;AAGLC,IAAAA;AAHK,MAIFP,KAJJ;AAKA,QAAM;AAAEQ,IAAAA;AAAF,MAAqB,qBACxBC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAoBD,MAAM,CAAEE,kBAAF,CAAhC;AACA,UAAMC,UAAU,GAAGF,aAAa,CAAEH,YAAF,CAAhC;AAEA,WAAO;AACNC,MAAAA,cAAc,EAAEI;AADV,KAAP;AAGA,GARyB,EAS1B,CAAEL,YAAF,CAT0B,CAA3B;AAYA,QAAMM,cAAc,GAAG;AACtBR,IAAAA,cAAc,EAAE,CAACA,cADK;AAEtBJ,IAAAA,gBAAgB,EAAE,CAACA;AAFG,GAAvB;AAKA,SACC,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGY,cAAd;AAA+B,IAAA,MAAM,EAAC;AAAtC,KACGL,cAAc,CAACM,GAAf,CAAsBC,eAAF,IACrB,4BAAC,cAAD;AACC,IAAA,QAAQ,EAAGA,eADZ;AAEC,IAAA,YAAY,EAAGR,YAFhB;AAGC,IAAA,GAAG,EAAGQ,eAHP;AAIC,IAAA,gBAAgB,EAAGd,gBAJpB;AAKC,IAAA,cAAc,EAAGI;AALlB,IADC,CADH,CADD;AAaA;;eAEcN,gB","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport BlockListBlock from './block';\n\n/**\n * NOTE: This is a component currently used by the List block (V2)\n * It only passes the needed props for this block, if other blocks will use it\n * make sure you pass other props that might be required coming from:\n * components/inner-blocks/index.native.js\n */\n\nfunction BlockListCompact( props ) {\n\tconst {\n\t\tmarginHorizontal = styles.defaultBlock.marginLeft,\n\t\tmarginVertical = styles.defaultBlock.marginTop,\n\t\trootClientId,\n\t} = props;\n\tconst { blockClientIds } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockOrder } = select( blockEditorStore );\n\t\t\tconst blockOrder = getBlockOrder( rootClientId );\n\n\t\t\treturn {\n\t\t\t\tblockClientIds: blockOrder,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tconst containerStyle = {\n\t\tmarginVertical: -marginVertical,\n\t\tmarginHorizontal: -marginHorizontal,\n\t};\n\n\treturn (\n\t\t<View style={ containerStyle } testID=\"block-list-wrapper\">\n\t\t\t{ blockClientIds.map( ( currentClientId ) => (\n\t\t\t\t<BlockListBlock\n\t\t\t\t\tclientId={ currentClientId }\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tkey={ currentClientId }\n\t\t\t\t\tmarginHorizontal={ marginHorizontal }\n\t\t\t\t\tmarginVertical={ marginVertical }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</View>\n\t);\n}\n\nexport default BlockListCompact;\n"]}
@@ -101,6 +101,7 @@ function BlockListBlock(_ref2) {
101
101
  isSelected,
102
102
  isSelectionEnabled,
103
103
  className,
104
+ __unstableLayoutClassNames: layoutClassNames,
104
105
  name,
105
106
  isValid,
106
107
  attributes,
@@ -154,7 +155,8 @@ function BlockListBlock(_ref2) {
154
155
  mergeBlocks: canRemove ? onMerge : undefined,
155
156
  clientId: clientId,
156
157
  isSelectionEnabled: isSelectionEnabled,
157
- toggleSelection: toggleSelection
158
+ toggleSelection: toggleSelection,
159
+ __unstableLayoutClassNames: layoutClassNames
158
160
  });
159
161
  const blockType = (0, _blocks.getBlockType)(name);
160
162
 
@@ -285,17 +287,17 @@ const applyWithSelect = (0, _data.withSelect)((select, _ref3) => {
285
287
  isSelected
286
288
  };
287
289
  });
288
- const applyWithDispatch = (0, _data.withDispatch)((dispatch, ownProps, _ref4) => {
289
- let {
290
- select
291
- } = _ref4;
290
+ const applyWithDispatch = (0, _data.withDispatch)((dispatch, ownProps, registry) => {
292
291
  const {
293
292
  updateBlockAttributes,
294
293
  insertBlocks,
295
294
  mergeBlocks,
296
295
  replaceBlocks,
297
296
  toggleSelection,
298
- __unstableMarkLastChangeAsPersistent
297
+ __unstableMarkLastChangeAsPersistent,
298
+ moveBlocksToPosition,
299
+ removeBlock,
300
+ selectBlock
299
301
  } = dispatch(_store.store); // Do not add new properties here, use `useDispatch` instead to avoid
300
302
  // leaking new props to the public API (editor.BlockListBlock filter).
301
303
 
@@ -303,7 +305,7 @@ const applyWithDispatch = (0, _data.withDispatch)((dispatch, ownProps, _ref4) =>
303
305
  setAttributes(newAttributes) {
304
306
  const {
305
307
  getMultiSelectedBlockClientIds
306
- } = select(_store.store);
308
+ } = registry.select(_store.store);
307
309
  const multiSelectedBlockClientIds = getMultiSelectedBlockClientIds();
308
310
  const {
309
311
  clientId
@@ -326,7 +328,7 @@ const applyWithDispatch = (0, _data.withDispatch)((dispatch, ownProps, _ref4) =>
326
328
  } = ownProps;
327
329
  const {
328
330
  getBlockIndex
329
- } = select(_store.store);
331
+ } = registry.select(_store.store);
330
332
  const index = getBlockIndex(clientId);
331
333
  insertBlocks(blocks, index + 1, rootClientId);
332
334
  },
@@ -339,13 +341,52 @@ const applyWithDispatch = (0, _data.withDispatch)((dispatch, ownProps, _ref4) =>
339
341
  const {
340
342
  getPreviousBlockClientId,
341
343
  getNextBlockClientId,
342
- getBlock
343
- } = select(_store.store);
344
+ getBlock,
345
+ getBlockAttributes,
346
+ getBlockName,
347
+ getBlockOrder
348
+ } = registry.select(_store.store); // For `Delete` or forward merge, we should do the exact same thing
349
+ // as `Backspace`, but from the other block.
344
350
 
345
351
  if (forward) {
352
+ if (rootClientId) {
353
+ const nextRootClientId = getNextBlockClientId(rootClientId);
354
+
355
+ if (nextRootClientId) {
356
+ // If there is a block that follows with the same parent
357
+ // block name and the same attributes, merge the inner
358
+ // blocks.
359
+ if (getBlockName(rootClientId) === getBlockName(nextRootClientId)) {
360
+ const rootAttributes = getBlockAttributes(rootClientId);
361
+ const previousRootAttributes = getBlockAttributes(nextRootClientId);
362
+
363
+ if (Object.keys(rootAttributes).every(key => rootAttributes[key] === previousRootAttributes[key])) {
364
+ registry.batch(() => {
365
+ moveBlocksToPosition(getBlockOrder(nextRootClientId), nextRootClientId, rootClientId);
366
+ removeBlock(nextRootClientId, false);
367
+ });
368
+ return;
369
+ }
370
+ } else {
371
+ mergeBlocks(rootClientId, nextRootClientId);
372
+ return;
373
+ }
374
+ }
375
+ }
376
+
346
377
  const nextBlockClientId = getNextBlockClientId(clientId);
347
378
 
348
- if (nextBlockClientId) {
379
+ if (!nextBlockClientId) {
380
+ return;
381
+ } // Check if it's possibile to "unwrap" the following block
382
+ // before trying to merge.
383
+
384
+
385
+ const replacement = (0, _blocks.switchToBlockType)(getBlock(nextBlockClientId), '*');
386
+
387
+ if (replacement && replacement.length) {
388
+ replaceBlocks(nextBlockClientId, replacement);
389
+ } else {
349
390
  mergeBlocks(clientId, nextBlockClientId);
350
391
  }
351
392
  } else {
@@ -354,12 +395,31 @@ const applyWithDispatch = (0, _data.withDispatch)((dispatch, ownProps, _ref4) =>
354
395
  if (previousBlockClientId) {
355
396
  mergeBlocks(previousBlockClientId, clientId);
356
397
  } else if (rootClientId) {
357
- // Attempt to "unwrap" the block contents when there's no
398
+ const previousRootClientId = getPreviousBlockClientId(rootClientId); // If there is a preceding block with the same parent block
399
+ // name and the same attributes, merge the inner blocks.
400
+
401
+ if (previousRootClientId && getBlockName(rootClientId) === getBlockName(previousRootClientId)) {
402
+ const rootAttributes = getBlockAttributes(rootClientId);
403
+ const previousRootAttributes = getBlockAttributes(previousRootClientId);
404
+
405
+ if (Object.keys(rootAttributes).every(key => rootAttributes[key] === previousRootAttributes[key])) {
406
+ registry.batch(() => {
407
+ moveBlocksToPosition(getBlockOrder(rootClientId), rootClientId, previousRootClientId);
408
+ removeBlock(rootClientId, false);
409
+ });
410
+ return;
411
+ }
412
+ } // Attempt to "unwrap" the block contents when there's no
358
413
  // preceding block to merge with.
414
+
415
+
359
416
  const replacement = (0, _blocks.switchToBlockType)(getBlock(rootClientId), '*');
360
417
 
361
418
  if (replacement && replacement.length) {
362
- replaceBlocks(rootClientId, replacement, 0);
419
+ registry.batch(() => {
420
+ replaceBlocks(rootClientId, replacement);
421
+ selectBlock(replacement[0].clientId, 0);
422
+ });
363
423
  }
364
424
  }
365
425
  }
@@ -383,10 +443,10 @@ const applyWithDispatch = (0, _data.withDispatch)((dispatch, ownProps, _ref4) =>
383
443
  var _default = (0, _compose.compose)(_compose.pure, applyWithSelect, applyWithDispatch, // Block is sometimes not mounted at the right time, causing it be undefined
384
444
  // see issue for more info
385
445
  // https://github.com/WordPress/gutenberg/issues/17013
386
- (0, _compose.ifCondition)(_ref5 => {
446
+ (0, _compose.ifCondition)(_ref4 => {
387
447
  let {
388
448
  block
389
- } = _ref5;
449
+ } = _ref4;
390
450
  return !!block;
391
451
  }), (0, _components.withFilters)('editor.BlockListBlock'))(BlockListBlock);
392
452