@wordpress/block-editor 11.5.0 → 11.7.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 (345) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +4 -0
  3. package/build/components/block-list/block-html.js +1 -3
  4. package/build/components/block-list/block-html.js.map +1 -1
  5. package/build/components/block-list/block-invalid-warning.js +63 -80
  6. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  7. package/build/components/block-preview/auto.js +6 -23
  8. package/build/components/block-preview/auto.js.map +1 -1
  9. package/build/components/block-settings-menu-controls/index.js +1 -1
  10. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  11. package/build/components/block-switcher/block-transformations-menu.native.js +1 -0
  12. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  13. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
  14. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  15. package/build/components/editor-styles/index.js +20 -2
  16. package/build/components/editor-styles/index.js.map +1 -1
  17. package/build/components/global-styles/border-panel.js +306 -0
  18. package/build/components/global-styles/border-panel.js.map +1 -0
  19. package/build/components/global-styles/color-panel.js +583 -0
  20. package/build/components/global-styles/color-panel.js.map +1 -0
  21. package/build/components/global-styles/dimensions-panel.js +8 -30
  22. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  23. package/build/components/global-styles/get-block-css-selector.js +129 -0
  24. package/build/components/global-styles/get-block-css-selector.js.map +1 -0
  25. package/build/components/global-styles/hooks.js +109 -3
  26. package/build/components/global-styles/hooks.js.map +1 -1
  27. package/build/components/global-styles/index.js +36 -0
  28. package/build/components/global-styles/index.js.map +1 -1
  29. package/build/components/global-styles/typography-panel.js +66 -45
  30. package/build/components/global-styles/typography-panel.js.map +1 -1
  31. package/build/components/global-styles/use-global-styles-output.js +180 -99
  32. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  33. package/build/components/global-styles/utils.js +2 -1
  34. package/build/components/global-styles/utils.js.map +1 -1
  35. package/build/components/image-size-control/index.js +8 -5
  36. package/build/components/image-size-control/index.js.map +1 -1
  37. package/build/components/inserter/index.js +29 -17
  38. package/build/components/inserter/index.js.map +1 -1
  39. package/build/components/inserter/menu.js +1 -1
  40. package/build/components/inserter/menu.js.map +1 -1
  41. package/build/components/inserter/quick-inserter.js +4 -2
  42. package/build/components/inserter/quick-inserter.js.map +1 -1
  43. package/build/components/inserter/search-results.js +10 -3
  44. package/build/components/inserter/search-results.js.map +1 -1
  45. package/build/components/inserter/tabs.js +1 -1
  46. package/build/components/inserter/tabs.js.map +1 -1
  47. package/build/components/inspector-controls-tabs/position-controls-panel.js +43 -7
  48. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  49. package/build/components/line-height-control/index.js +15 -1
  50. package/build/components/line-height-control/index.js.map +1 -1
  51. package/build/components/link-control/index.js +1 -1
  52. package/build/components/link-control/index.js.map +1 -1
  53. package/build/components/link-control/search-item.js +5 -2
  54. package/build/components/link-control/search-item.js.map +1 -1
  55. package/build/components/list-view/appender.js +105 -0
  56. package/build/components/list-view/appender.js.map +1 -0
  57. package/build/components/list-view/block.js +5 -5
  58. package/build/components/list-view/block.js.map +1 -1
  59. package/build/components/list-view/branch.js +25 -5
  60. package/build/components/list-view/branch.js.map +1 -1
  61. package/build/components/list-view/index.js +37 -13
  62. package/build/components/list-view/index.js.map +1 -1
  63. package/build/components/list-view/use-block-selection.js +1 -2
  64. package/build/components/list-view/use-block-selection.js.map +1 -1
  65. package/build/components/media-replace-flow/index.js +13 -4
  66. package/build/components/media-replace-flow/index.js.map +1 -1
  67. package/build/components/off-canvas-editor/appender.js +28 -3
  68. package/build/components/off-canvas-editor/appender.js.map +1 -1
  69. package/build/components/off-canvas-editor/branch.js +5 -3
  70. package/build/components/off-canvas-editor/branch.js.map +1 -1
  71. package/build/components/off-canvas-editor/index.js +9 -7
  72. package/build/components/off-canvas-editor/index.js.map +1 -1
  73. package/build/components/off-canvas-editor/link-ui.js +0 -1
  74. package/build/components/off-canvas-editor/link-ui.js.map +1 -1
  75. package/build/components/provider/use-block-sync.js +17 -3
  76. package/build/components/provider/use-block-sync.js.map +1 -1
  77. package/build/components/rich-text/format-edit.js +2 -30
  78. package/build/components/rich-text/format-edit.js.map +1 -1
  79. package/build/components/rich-text/format-toolbar-container.js +0 -3
  80. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  81. package/build/components/writing-flow/use-input.js +4 -8
  82. package/build/components/writing-flow/use-input.js.map +1 -1
  83. package/build/hooks/border.js +90 -240
  84. package/build/hooks/border.js.map +1 -1
  85. package/build/hooks/color.js +92 -229
  86. package/build/hooks/color.js.map +1 -1
  87. package/build/hooks/content-lock-ui.js +4 -2
  88. package/build/hooks/content-lock-ui.js.map +1 -1
  89. package/build/hooks/{color-panel.js → contrast-checker.js} +11 -49
  90. package/build/hooks/contrast-checker.js.map +1 -0
  91. package/build/hooks/custom-class-name.js +4 -4
  92. package/build/hooks/custom-class-name.js.map +1 -1
  93. package/build/hooks/custom-class-name.native.js +3 -4
  94. package/build/hooks/custom-class-name.native.js.map +1 -1
  95. package/build/hooks/dimensions.js +0 -1
  96. package/build/hooks/dimensions.js.map +1 -1
  97. package/build/hooks/duotone.js +3 -1
  98. package/build/hooks/duotone.js.map +1 -1
  99. package/build/hooks/layout.js +19 -22
  100. package/build/hooks/layout.js.map +1 -1
  101. package/build/hooks/position.js +2 -2
  102. package/build/hooks/position.js.map +1 -1
  103. package/build/hooks/style.js +23 -26
  104. package/build/hooks/style.js.map +1 -1
  105. package/build/hooks/supports.js +7 -1
  106. package/build/hooks/supports.js.map +1 -1
  107. package/build/hooks/typography.js +2 -2
  108. package/build/hooks/typography.js.map +1 -1
  109. package/build/hooks/utils.js +50 -75
  110. package/build/hooks/utils.js.map +1 -1
  111. package/build/layouts/constrained.js +6 -2
  112. package/build/layouts/constrained.js.map +1 -1
  113. package/build/layouts/grid.js +165 -0
  114. package/build/layouts/grid.js.map +1 -0
  115. package/build/layouts/index.js +3 -1
  116. package/build/layouts/index.js.map +1 -1
  117. package/build/private-apis.js +7 -1
  118. package/build/private-apis.js.map +1 -1
  119. package/build/store/actions.js +10 -8
  120. package/build/store/actions.js.map +1 -1
  121. package/build/store/selectors.js +19 -3
  122. package/build/store/selectors.js.map +1 -1
  123. package/build/utils/object.js +76 -0
  124. package/build/utils/object.js.map +1 -0
  125. package/build/utils/parse-css-unit-to-px.js +15 -9
  126. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  127. package/build-module/components/block-list/block-html.js +1 -3
  128. package/build-module/components/block-list/block-html.js.map +1 -1
  129. package/build-module/components/block-list/block-invalid-warning.js +66 -78
  130. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  131. package/build-module/components/block-preview/auto.js +6 -22
  132. package/build-module/components/block-preview/auto.js.map +1 -1
  133. package/build-module/components/block-settings-menu-controls/index.js +1 -1
  134. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  135. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -0
  136. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  137. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
  138. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  139. package/build-module/components/editor-styles/index.js +19 -2
  140. package/build-module/components/editor-styles/index.js.map +1 -1
  141. package/build-module/components/global-styles/border-panel.js +291 -0
  142. package/build-module/components/global-styles/border-panel.js.map +1 -0
  143. package/build-module/components/global-styles/color-panel.js +554 -0
  144. package/build-module/components/global-styles/color-panel.js.map +1 -0
  145. package/build-module/components/global-styles/dimensions-panel.js +7 -30
  146. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  147. package/build-module/components/global-styles/get-block-css-selector.js +120 -0
  148. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -0
  149. package/build-module/components/global-styles/hooks.js +104 -3
  150. package/build-module/components/global-styles/hooks.js.map +1 -1
  151. package/build-module/components/global-styles/index.js +3 -0
  152. package/build-module/components/global-styles/index.js.map +1 -1
  153. package/build-module/components/global-styles/typography-panel.js +65 -46
  154. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  155. package/build-module/components/global-styles/use-global-styles-output.js +181 -100
  156. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  157. package/build-module/components/global-styles/utils.js +2 -1
  158. package/build-module/components/global-styles/utils.js.map +1 -1
  159. package/build-module/components/image-size-control/index.js +8 -5
  160. package/build-module/components/image-size-control/index.js.map +1 -1
  161. package/build-module/components/inserter/index.js +28 -16
  162. package/build-module/components/inserter/index.js.map +1 -1
  163. package/build-module/components/inserter/menu.js +1 -1
  164. package/build-module/components/inserter/menu.js.map +1 -1
  165. package/build-module/components/inserter/quick-inserter.js +4 -2
  166. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  167. package/build-module/components/inserter/search-results.js +10 -3
  168. package/build-module/components/inserter/search-results.js.map +1 -1
  169. package/build-module/components/inserter/tabs.js +1 -1
  170. package/build-module/components/inserter/tabs.js.map +1 -1
  171. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +42 -7
  172. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  173. package/build-module/components/line-height-control/index.js +15 -1
  174. package/build-module/components/line-height-control/index.js.map +1 -1
  175. package/build-module/components/link-control/index.js +1 -1
  176. package/build-module/components/link-control/index.js.map +1 -1
  177. package/build-module/components/link-control/search-item.js +4 -2
  178. package/build-module/components/link-control/search-item.js.map +1 -1
  179. package/build-module/components/list-view/appender.js +88 -0
  180. package/build-module/components/list-view/appender.js.map +1 -0
  181. package/build-module/components/list-view/block.js +5 -4
  182. package/build-module/components/list-view/block.js.map +1 -1
  183. package/build-module/components/list-view/branch.js +22 -5
  184. package/build-module/components/list-view/branch.js.map +1 -1
  185. package/build-module/components/list-view/index.js +32 -12
  186. package/build-module/components/list-view/index.js.map +1 -1
  187. package/build-module/components/list-view/use-block-selection.js +1 -2
  188. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  189. package/build-module/components/media-replace-flow/index.js +12 -4
  190. package/build-module/components/media-replace-flow/index.js.map +1 -1
  191. package/build-module/components/off-canvas-editor/appender.js +28 -4
  192. package/build-module/components/off-canvas-editor/appender.js.map +1 -1
  193. package/build-module/components/off-canvas-editor/branch.js +5 -3
  194. package/build-module/components/off-canvas-editor/branch.js.map +1 -1
  195. package/build-module/components/off-canvas-editor/index.js +9 -7
  196. package/build-module/components/off-canvas-editor/index.js.map +1 -1
  197. package/build-module/components/off-canvas-editor/link-ui.js +0 -1
  198. package/build-module/components/off-canvas-editor/link-ui.js.map +1 -1
  199. package/build-module/components/provider/use-block-sync.js +17 -3
  200. package/build-module/components/provider/use-block-sync.js.map +1 -1
  201. package/build-module/components/rich-text/format-edit.js +3 -31
  202. package/build-module/components/rich-text/format-edit.js.map +1 -1
  203. package/build-module/components/rich-text/format-toolbar-container.js +0 -3
  204. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  205. package/build-module/components/writing-flow/use-input.js +4 -8
  206. package/build-module/components/writing-flow/use-input.js.map +1 -1
  207. package/build-module/hooks/border.js +92 -240
  208. package/build-module/hooks/border.js.map +1 -1
  209. package/build-module/hooks/color.js +90 -232
  210. package/build-module/hooks/color.js.map +1 -1
  211. package/build-module/hooks/content-lock-ui.js +4 -2
  212. package/build-module/hooks/content-lock-ui.js.map +1 -1
  213. package/build-module/hooks/{color-panel.js → contrast-checker.js} +10 -44
  214. package/build-module/hooks/contrast-checker.js.map +1 -0
  215. package/build-module/hooks/custom-class-name.js +4 -4
  216. package/build-module/hooks/custom-class-name.js.map +1 -1
  217. package/build-module/hooks/custom-class-name.native.js +3 -4
  218. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  219. package/build-module/hooks/dimensions.js +0 -1
  220. package/build-module/hooks/dimensions.js.map +1 -1
  221. package/build-module/hooks/duotone.js +4 -2
  222. package/build-module/hooks/duotone.js.map +1 -1
  223. package/build-module/hooks/layout.js +19 -22
  224. package/build-module/hooks/layout.js.map +1 -1
  225. package/build-module/hooks/position.js +3 -3
  226. package/build-module/hooks/position.js.map +1 -1
  227. package/build-module/hooks/style.js +23 -26
  228. package/build-module/hooks/style.js.map +1 -1
  229. package/build-module/hooks/supports.js +7 -1
  230. package/build-module/hooks/supports.js.map +1 -1
  231. package/build-module/hooks/typography.js +2 -2
  232. package/build-module/hooks/typography.js.map +1 -1
  233. package/build-module/hooks/utils.js +48 -72
  234. package/build-module/hooks/utils.js.map +1 -1
  235. package/build-module/layouts/constrained.js +6 -2
  236. package/build-module/layouts/constrained.js.map +1 -1
  237. package/build-module/layouts/grid.js +151 -0
  238. package/build-module/layouts/grid.js.map +1 -0
  239. package/build-module/layouts/index.js +2 -1
  240. package/build-module/layouts/index.js.map +1 -1
  241. package/build-module/private-apis.js +5 -1
  242. package/build-module/private-apis.js.map +1 -1
  243. package/build-module/store/actions.js +10 -8
  244. package/build-module/store/actions.js.map +1 -1
  245. package/build-module/store/selectors.js +17 -3
  246. package/build-module/store/selectors.js.map +1 -1
  247. package/build-module/utils/object.js +69 -0
  248. package/build-module/utils/object.js.map +1 -0
  249. package/build-module/utils/parse-css-unit-to-px.js +15 -9
  250. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  251. package/build-style/style-rtl.css +32 -12
  252. package/build-style/style.css +32 -12
  253. package/package.json +31 -31
  254. package/src/components/block-draggable/content.scss +1 -1
  255. package/src/components/block-inspector/style.scss +3 -0
  256. package/src/components/block-list/block-html.js +1 -1
  257. package/src/components/block-list/block-invalid-warning.js +72 -64
  258. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +20 -2
  259. package/src/components/block-preview/auto.js +2 -17
  260. package/src/components/block-preview/test/index.js +0 -2
  261. package/src/components/block-settings-menu-controls/index.js +2 -1
  262. package/src/components/block-styles/style.scss +2 -2
  263. package/src/components/block-switcher/block-transformations-menu.native.js +1 -0
  264. package/src/components/color-palette/test/__snapshots__/control.js.snap +16 -14
  265. package/src/components/colors-gradients/style.scss +8 -8
  266. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +48 -38
  267. package/src/components/editor-styles/index.js +29 -1
  268. package/src/components/global-styles/border-panel.js +285 -0
  269. package/src/components/global-styles/color-panel.js +706 -0
  270. package/src/components/global-styles/dimensions-panel.js +13 -42
  271. package/src/components/global-styles/get-block-css-selector.js +129 -0
  272. package/src/components/global-styles/hooks.js +154 -1
  273. package/src/components/global-styles/index.js +3 -0
  274. package/src/components/global-styles/test/use-global-styles-output.js +31 -2
  275. package/src/components/global-styles/typography-panel.js +67 -45
  276. package/src/components/global-styles/use-global-styles-output.js +176 -93
  277. package/src/components/global-styles/utils.js +3 -0
  278. package/src/components/image-size-control/index.js +4 -3
  279. package/src/components/image-size-control/test/index.js +2 -2
  280. package/src/components/inner-blocks/README.md +1 -1
  281. package/src/components/inserter/index.js +30 -11
  282. package/src/components/inserter/menu.js +0 -1
  283. package/src/components/inserter/quick-inserter.js +2 -0
  284. package/src/components/inserter/search-results.js +7 -1
  285. package/src/components/inserter/style.scss +3 -0
  286. package/src/components/inserter/tabs.js +1 -9
  287. package/src/components/inspector-controls-tabs/position-controls-panel.js +40 -9
  288. package/src/components/line-height-control/index.js +10 -1
  289. package/src/components/link-control/index.js +1 -1
  290. package/src/components/link-control/search-item.js +3 -1
  291. package/src/components/link-control/style.scss +0 -4
  292. package/src/components/link-control/test/index.js +0 -2
  293. package/src/components/list-view/appender.js +101 -0
  294. package/src/components/list-view/block.js +5 -4
  295. package/src/components/list-view/branch.js +30 -1
  296. package/src/components/list-view/index.js +43 -10
  297. package/src/components/list-view/style.scss +19 -0
  298. package/src/components/list-view/use-block-selection.js +0 -2
  299. package/src/components/media-replace-flow/index.js +36 -24
  300. package/src/components/media-replace-flow/style.scss +5 -2
  301. package/src/components/off-canvas-editor/appender.js +31 -5
  302. package/src/components/off-canvas-editor/branch.js +3 -1
  303. package/src/components/off-canvas-editor/index.js +7 -7
  304. package/src/components/off-canvas-editor/link-ui.js +0 -1
  305. package/src/components/provider/use-block-sync.js +21 -4
  306. package/src/components/rich-text/format-edit.js +2 -32
  307. package/src/components/rich-text/format-toolbar-container.js +1 -7
  308. package/src/components/url-popover/test/index.js +0 -2
  309. package/src/components/writing-flow/use-input.js +4 -5
  310. package/src/hooks/border.js +93 -225
  311. package/src/hooks/color.js +120 -296
  312. package/src/hooks/content-lock-ui.js +6 -2
  313. package/src/hooks/{color-panel.js → contrast-checker.js} +10 -46
  314. package/src/hooks/custom-class-name.js +4 -4
  315. package/src/hooks/custom-class-name.native.js +3 -4
  316. package/src/hooks/dimensions.js +0 -1
  317. package/src/hooks/duotone.js +8 -5
  318. package/src/hooks/layout.js +19 -16
  319. package/src/hooks/position.js +3 -3
  320. package/src/hooks/style.js +29 -28
  321. package/src/hooks/supports.js +6 -0
  322. package/src/hooks/test/style.js +2 -1
  323. package/src/hooks/test/use-typography-props.js +2 -0
  324. package/src/hooks/test/utils.js +0 -104
  325. package/src/hooks/typography.js +2 -1
  326. package/src/hooks/utils.js +63 -70
  327. package/src/layouts/constrained.js +23 -17
  328. package/src/layouts/grid.js +172 -0
  329. package/src/layouts/index.js +2 -1
  330. package/src/layouts/test/grid.js +21 -0
  331. package/src/private-apis.js +4 -0
  332. package/src/store/actions.js +10 -8
  333. package/src/store/selectors.js +20 -3
  334. package/src/utils/object.js +69 -0
  335. package/src/utils/parse-css-unit-to-px.js +14 -9
  336. package/src/utils/test/object.js +107 -0
  337. package/src/utils/test/parse-css-unit-to-px.js +1 -2
  338. package/tsconfig.tsbuildinfo +1 -1
  339. package/build/hooks/border-radius.js +0 -100
  340. package/build/hooks/border-radius.js.map +0 -1
  341. package/build/hooks/color-panel.js.map +0 -1
  342. package/build-module/hooks/border-radius.js +0 -84
  343. package/build-module/hooks/border-radius.js.map +0 -1
  344. package/build-module/hooks/color-panel.js.map +0 -1
  345. package/src/hooks/border-radius.js +0 -70
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 11.7.0 (2023-03-29)
6
+
7
+ - `ImageSizeControl`: Update image size label ([#49112](https://github.com/WordPress/gutenberg/pull/49112)).
8
+
9
+ ## 11.6.0 (2023-03-15)
10
+
5
11
  ## 11.5.0 (2023-03-01)
6
12
 
7
13
  ### Bug Fix
package/README.md CHANGED
@@ -76,6 +76,10 @@ registerCoreBlocks();
76
76
 
77
77
  ## API
78
78
 
79
+ Any components in this package that have a counterpart in [@wordpress/components](/packages/components/README.md) are an extension of those components.
80
+
81
+ Unless you're [creating an editor](docs/how-to-guides/platform/custom-block-editor/README.md), it is recommended that the components in @wordpress/components should be used rather than the ones in this package as these components have been customized for use in an editor and may result in unexpected behaviour if used outside of this context.
82
+
79
83
  <!-- START TOKEN(Autogenerated API docs) -->
80
84
 
81
85
  ### AlignmentControl
@@ -59,9 +59,7 @@ function BlockHTML(_ref) {
59
59
  }); // Ensure the state is updated if we reset so it displays the default content.
60
60
 
61
61
  if (!html) {
62
- setHtml({
63
- content
64
- });
62
+ setHtml(content);
65
63
  }
66
64
  };
67
65
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-html.js"],"names":["BlockHTML","clientId","html","setHtml","block","select","blockEditorStore","getBlock","updateBlock","onChange","blockType","name","attributes","content","isValid","originalContent","event","target","value"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AACA;;AAWA;;AArBA;AACA;AACA;;AAGA;AACA;AACA;;AAWA;AACA;AACA;AAGA,SAASA,SAAT,OAAmC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AAClC,QAAM,CAAEC,IAAF,EAAQC,OAAR,IAAoB,uBAAU,EAAV,CAA1B;AACA,QAAMC,KAAK,GAAG,qBACXC,MAAF,IAAcA,MAAM,CAAEC,YAAF,CAAN,CAA2BC,QAA3B,CAAqCN,QAArC,CADD,EAEb,CAAEA,QAAF,CAFa,CAAd;AAIA,QAAM;AAAEO,IAAAA;AAAF,MAAkB,uBAAaF,YAAb,CAAxB;;AACA,QAAMG,QAAQ,GAAG,MAAM;AACtB,UAAMC,SAAS,GAAG,0BAAcN,KAAK,CAACO,IAApB,CAAlB;;AAEA,QAAK,CAAED,SAAP,EAAmB;AAClB;AACA;;AAED,UAAME,UAAU,GAAG,gCAClBF,SADkB,EAElBR,IAFkB,EAGlBE,KAAK,CAACQ,UAHY,CAAnB,CAPsB,CAatB;;AACA,UAAMC,OAAO,GAAGX,IAAI,GAAGA,IAAH,GAAU,4BAAgBQ,SAAhB,EAA2BE,UAA3B,CAA9B;AACA,UAAM,CAAEE,OAAF,IAAcZ,IAAI,GACrB,2BAAe,EACf,GAAGE,KADY;AAEfQ,MAAAA,UAFe;AAGfG,MAAAA,eAAe,EAAEF;AAHF,KAAf,CADqB,GAMrB,CAAE,IAAF,CANH;AAQAL,IAAAA,WAAW,CAAEP,QAAF,EAAY;AACtBW,MAAAA,UADsB;AAEtBG,MAAAA,eAAe,EAAEF,OAFK;AAGtBC,MAAAA;AAHsB,KAAZ,CAAX,CAvBsB,CA6BtB;;AACA,QAAK,CAAEZ,IAAP,EAAc;AACbC,MAAAA,OAAO,CAAE;AAAEU,QAAAA;AAAF,OAAF,CAAP;AACA;AACD,GAjCD;;AAmCA,0BAAW,MAAM;AAChBV,IAAAA,OAAO,CAAE,6BAAiBC,KAAjB,CAAF,CAAP;AACA,GAFD,EAEG,CAAEA,KAAF,CAFH;AAIA,SACC,4BAAC,8BAAD;AACC,IAAA,SAAS,EAAC,8CADX;AAEC,IAAA,KAAK,EAAGF,IAFT;AAGC,IAAA,MAAM,EAAGO,QAHV;AAIC,IAAA,QAAQ,EAAKO,KAAF,IAAab,OAAO,CAAEa,KAAK,CAACC,MAAN,CAAaC,KAAf;AAJhC,IADD;AAQA;;eAEclB,S","sourcesContent":["/**\n * External dependencies\n */\nimport TextareaAutosize from 'react-autosize-textarea';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tgetBlockAttributes,\n\tgetBlockContent,\n\tgetBlockType,\n\tgetSaveContent,\n\tvalidateBlock,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockHTML( { clientId } ) {\n\tconst [ html, setHtml ] = useState( '' );\n\tconst block = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst { updateBlock } = useDispatch( blockEditorStore );\n\tconst onChange = () => {\n\t\tconst blockType = getBlockType( block.name );\n\n\t\tif ( ! blockType ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst attributes = getBlockAttributes(\n\t\t\tblockType,\n\t\t\thtml,\n\t\t\tblock.attributes\n\t\t);\n\n\t\t// If html is empty we reset the block to the default HTML and mark it as valid to avoid triggering an error\n\t\tconst content = html ? html : getSaveContent( blockType, attributes );\n\t\tconst [ isValid ] = html\n\t\t\t? validateBlock( {\n\t\t\t\t\t...block,\n\t\t\t\t\tattributes,\n\t\t\t\t\toriginalContent: content,\n\t\t\t } )\n\t\t\t: [ true ];\n\n\t\tupdateBlock( clientId, {\n\t\t\tattributes,\n\t\t\toriginalContent: content,\n\t\t\tisValid,\n\t\t} );\n\n\t\t// Ensure the state is updated if we reset so it displays the default content.\n\t\tif ( ! html ) {\n\t\t\tsetHtml( { content } );\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tsetHtml( getBlockContent( block ) );\n\t}, [ block ] );\n\n\treturn (\n\t\t<TextareaAutosize\n\t\t\tclassName=\"block-editor-block-list__block-html-textarea\"\n\t\t\tvalue={ html }\n\t\t\tonBlur={ onChange }\n\t\t\tonChange={ ( event ) => setHtml( event.target.value ) }\n\t\t/>\n\t);\n}\n\nexport default BlockHTML;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-html.js"],"names":["BlockHTML","clientId","html","setHtml","block","select","blockEditorStore","getBlock","updateBlock","onChange","blockType","name","attributes","content","isValid","originalContent","event","target","value"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AACA;;AAWA;;AArBA;AACA;AACA;;AAGA;AACA;AACA;;AAWA;AACA;AACA;AAGA,SAASA,SAAT,OAAmC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AAClC,QAAM,CAAEC,IAAF,EAAQC,OAAR,IAAoB,uBAAU,EAAV,CAA1B;AACA,QAAMC,KAAK,GAAG,qBACXC,MAAF,IAAcA,MAAM,CAAEC,YAAF,CAAN,CAA2BC,QAA3B,CAAqCN,QAArC,CADD,EAEb,CAAEA,QAAF,CAFa,CAAd;AAIA,QAAM;AAAEO,IAAAA;AAAF,MAAkB,uBAAaF,YAAb,CAAxB;;AACA,QAAMG,QAAQ,GAAG,MAAM;AACtB,UAAMC,SAAS,GAAG,0BAAcN,KAAK,CAACO,IAApB,CAAlB;;AAEA,QAAK,CAAED,SAAP,EAAmB;AAClB;AACA;;AAED,UAAME,UAAU,GAAG,gCAClBF,SADkB,EAElBR,IAFkB,EAGlBE,KAAK,CAACQ,UAHY,CAAnB,CAPsB,CAatB;;AACA,UAAMC,OAAO,GAAGX,IAAI,GAAGA,IAAH,GAAU,4BAAgBQ,SAAhB,EAA2BE,UAA3B,CAA9B;AACA,UAAM,CAAEE,OAAF,IAAcZ,IAAI,GACrB,2BAAe,EACf,GAAGE,KADY;AAEfQ,MAAAA,UAFe;AAGfG,MAAAA,eAAe,EAAEF;AAHF,KAAf,CADqB,GAMrB,CAAE,IAAF,CANH;AAQAL,IAAAA,WAAW,CAAEP,QAAF,EAAY;AACtBW,MAAAA,UADsB;AAEtBG,MAAAA,eAAe,EAAEF,OAFK;AAGtBC,MAAAA;AAHsB,KAAZ,CAAX,CAvBsB,CA6BtB;;AACA,QAAK,CAAEZ,IAAP,EAAc;AACbC,MAAAA,OAAO,CAAEU,OAAF,CAAP;AACA;AACD,GAjCD;;AAmCA,0BAAW,MAAM;AAChBV,IAAAA,OAAO,CAAE,6BAAiBC,KAAjB,CAAF,CAAP;AACA,GAFD,EAEG,CAAEA,KAAF,CAFH;AAIA,SACC,4BAAC,8BAAD;AACC,IAAA,SAAS,EAAC,8CADX;AAEC,IAAA,KAAK,EAAGF,IAFT;AAGC,IAAA,MAAM,EAAGO,QAHV;AAIC,IAAA,QAAQ,EAAKO,KAAF,IAAab,OAAO,CAAEa,KAAK,CAACC,MAAN,CAAaC,KAAf;AAJhC,IADD;AAQA;;eAEclB,S","sourcesContent":["/**\n * External dependencies\n */\nimport TextareaAutosize from 'react-autosize-textarea';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tgetBlockAttributes,\n\tgetBlockContent,\n\tgetBlockType,\n\tgetSaveContent,\n\tvalidateBlock,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockHTML( { clientId } ) {\n\tconst [ html, setHtml ] = useState( '' );\n\tconst block = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst { updateBlock } = useDispatch( blockEditorStore );\n\tconst onChange = () => {\n\t\tconst blockType = getBlockType( block.name );\n\n\t\tif ( ! blockType ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst attributes = getBlockAttributes(\n\t\t\tblockType,\n\t\t\thtml,\n\t\t\tblock.attributes\n\t\t);\n\n\t\t// If html is empty we reset the block to the default HTML and mark it as valid to avoid triggering an error\n\t\tconst content = html ? html : getSaveContent( blockType, attributes );\n\t\tconst [ isValid ] = html\n\t\t\t? validateBlock( {\n\t\t\t\t\t...block,\n\t\t\t\t\tattributes,\n\t\t\t\t\toriginalContent: content,\n\t\t\t } )\n\t\t\t: [ true ];\n\n\t\tupdateBlock( clientId, {\n\t\t\tattributes,\n\t\t\toriginalContent: content,\n\t\t\tisValid,\n\t\t} );\n\n\t\t// Ensure the state is updated if we reset so it displays the default content.\n\t\tif ( ! html ) {\n\t\t\tsetHtml( content );\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tsetHtml( getBlockContent( block ) );\n\t}, [ block ] );\n\n\treturn (\n\t\t<TextareaAutosize\n\t\t\tclassName=\"block-editor-block-list__block-html-textarea\"\n\t\t\tvalue={ html }\n\t\t\tonBlur={ onChange }\n\t\t\tonChange={ ( event ) => setHtml( event.target.value ) }\n\t\t/>\n\t);\n}\n\nexport default BlockHTML;\n"]}
@@ -5,8 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.BlockInvalidWarning = BlockInvalidWarning;
9
- exports.default = void 0;
8
+ exports.default = BlockInvalidWarning;
10
9
 
11
10
  var _element = require("@wordpress/element");
12
11
 
@@ -16,8 +15,6 @@ var _components = require("@wordpress/components");
16
15
 
17
16
  var _blocks = require("@wordpress/blocks");
18
17
 
19
- var _compose = require("@wordpress/compose");
20
-
21
18
  var _data = require("@wordpress/data");
22
19
 
23
20
  var _warning = _interopRequireDefault(require("../warning"));
@@ -33,37 +30,80 @@ var _store = require("../../store");
33
30
  /**
34
31
  * Internal dependencies
35
32
  */
33
+ const blockToBlocks = block => (0, _blocks.rawHandler)({
34
+ HTML: block.originalContent
35
+ });
36
+
36
37
  function BlockInvalidWarning(_ref) {
37
38
  let {
38
- convertToHTML,
39
- convertToBlocks,
40
- convertToClassic,
41
- attemptBlockRecovery,
42
- block
39
+ clientId
43
40
  } = _ref;
44
- const hasHTMLBlock = !!(0, _blocks.getBlockType)('core/html');
41
+ const {
42
+ block,
43
+ canInsertHTMLBlock,
44
+ canInsertClassicBlock
45
+ } = (0, _data.useSelect)(select => {
46
+ const {
47
+ canInsertBlockType,
48
+ getBlock,
49
+ getBlockRootClientId
50
+ } = select(_store.store);
51
+ const rootClientId = getBlockRootClientId(clientId);
52
+ return {
53
+ block: getBlock(clientId),
54
+ canInsertHTMLBlock: canInsertBlockType('core/html', rootClientId),
55
+ canInsertClassicBlock: canInsertBlockType('core/freeform', rootClientId)
56
+ };
57
+ }, [clientId]);
58
+ const {
59
+ replaceBlock
60
+ } = (0, _data.useDispatch)(_store.store);
45
61
  const [compare, setCompare] = (0, _element.useState)(false);
46
- const onCompare = (0, _element.useCallback)(() => setCompare(true), []);
47
- const onCompareClose = (0, _element.useCallback)(() => setCompare(false), []); // We memo the array here to prevent the children components from being updated unexpectedly.
62
+ const onCompareClose = (0, _element.useCallback)(() => setCompare(false), []);
63
+ const convert = (0, _element.useMemo)(() => ({
64
+ toClassic() {
65
+ const classicBlock = (0, _blocks.createBlock)('core/freeform', {
66
+ content: block.originalContent
67
+ });
68
+ return replaceBlock(block.clientId, classicBlock);
69
+ },
48
70
 
49
- const hiddenActions = (0, _element.useMemo)(() => [{
71
+ toHTML() {
72
+ const htmlBlock = (0, _blocks.createBlock)('core/html', {
73
+ content: block.originalContent
74
+ });
75
+ return replaceBlock(block.clientId, htmlBlock);
76
+ },
77
+
78
+ toBlocks() {
79
+ const newBlocks = blockToBlocks(block);
80
+ return replaceBlock(block.clientId, newBlocks);
81
+ },
82
+
83
+ toRecoveredBlock() {
84
+ const recoveredBlock = (0, _blocks.createBlock)(block.name, block.attributes, block.innerBlocks);
85
+ return replaceBlock(block.clientId, recoveredBlock);
86
+ }
87
+
88
+ }), [block, replaceBlock]);
89
+ const secondaryActions = (0, _element.useMemo)(() => [{
50
90
  // translators: Button to fix block content
51
91
  title: (0, _i18n._x)('Resolve', 'imperative verb'),
52
- onClick: onCompare
53
- }, hasHTMLBlock && {
92
+ onClick: () => setCompare(true)
93
+ }, canInsertHTMLBlock && {
54
94
  title: (0, _i18n.__)('Convert to HTML'),
55
- onClick: convertToHTML
56
- }, {
95
+ onClick: convert.toHTML
96
+ }, canInsertClassicBlock && {
57
97
  title: (0, _i18n.__)('Convert to Classic Block'),
58
- onClick: convertToClassic
59
- }].filter(Boolean), [onCompare, convertToHTML, convertToClassic]);
98
+ onClick: convert.toClassic
99
+ }].filter(Boolean), [canInsertHTMLBlock, canInsertClassicBlock, convert]);
60
100
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_warning.default, {
61
101
  actions: [(0, _element.createElement)(_components.Button, {
62
102
  key: "recover",
63
- onClick: attemptBlockRecovery,
103
+ onClick: convert.toRecoveredBlock,
64
104
  variant: "primary"
65
105
  }, (0, _i18n.__)('Attempt Block Recovery'))],
66
- secondaryActions: hiddenActions
106
+ secondaryActions: secondaryActions
67
107
  }, (0, _i18n.__)('This block contains unexpected or invalid content.')), compare && (0, _element.createElement)(_components.Modal, {
68
108
  title: // translators: Dialog title to fix block content
69
109
  (0, _i18n.__)('Resolve Block'),
@@ -71,67 +111,10 @@ function BlockInvalidWarning(_ref) {
71
111
  className: "block-editor-block-compare"
72
112
  }, (0, _element.createElement)(_blockCompare.default, {
73
113
  block: block,
74
- onKeep: convertToHTML,
75
- onConvert: convertToBlocks,
114
+ onKeep: convert.toHTML,
115
+ onConvert: convert.toBlocks,
76
116
  convertor: blockToBlocks,
77
117
  convertButtonText: (0, _i18n.__)('Convert to Blocks')
78
118
  })));
79
119
  }
80
-
81
- const blockToClassic = block => (0, _blocks.createBlock)('core/freeform', {
82
- content: block.originalContent
83
- });
84
-
85
- const blockToHTML = block => (0, _blocks.createBlock)('core/html', {
86
- content: block.originalContent
87
- });
88
-
89
- const blockToBlocks = block => (0, _blocks.rawHandler)({
90
- HTML: block.originalContent
91
- });
92
-
93
- const recoverBlock = _ref2 => {
94
- let {
95
- name,
96
- attributes,
97
- innerBlocks
98
- } = _ref2;
99
- return (0, _blocks.createBlock)(name, attributes, innerBlocks);
100
- };
101
-
102
- var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref3) => {
103
- let {
104
- clientId
105
- } = _ref3;
106
- return {
107
- block: select(_store.store).getBlock(clientId)
108
- };
109
- }), (0, _data.withDispatch)((dispatch, _ref4) => {
110
- let {
111
- block
112
- } = _ref4;
113
- const {
114
- replaceBlock
115
- } = dispatch(_store.store);
116
- return {
117
- convertToClassic() {
118
- replaceBlock(block.clientId, blockToClassic(block));
119
- },
120
-
121
- convertToHTML() {
122
- replaceBlock(block.clientId, blockToHTML(block));
123
- },
124
-
125
- convertToBlocks() {
126
- replaceBlock(block.clientId, blockToBlocks(block));
127
- },
128
-
129
- attemptBlockRecovery() {
130
- replaceBlock(block.clientId, recoverBlock(block));
131
- }
132
-
133
- };
134
- })])(BlockInvalidWarning);
135
-
136
- exports.default = _default;
137
120
  //# sourceMappingURL=block-invalid-warning.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.js"],"names":["BlockInvalidWarning","convertToHTML","convertToBlocks","convertToClassic","attemptBlockRecovery","block","hasHTMLBlock","compare","setCompare","onCompare","onCompareClose","hiddenActions","title","onClick","filter","Boolean","blockToBlocks","blockToClassic","content","originalContent","blockToHTML","HTML","recoverBlock","name","attributes","innerBlocks","select","clientId","blockEditorStore","getBlock","dispatch","replaceBlock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, Modal } from '@wordpress/components';\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { getBlockType, createBlock, rawHandler } from '@wordpress/blocks';\nimport { compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport BlockCompare from '../block-compare';\nimport { store as blockEditorStore } from '../../store';\n\nexport function BlockInvalidWarning( {\n\tconvertToHTML,\n\tconvertToBlocks,\n\tconvertToClassic,\n\tattemptBlockRecovery,\n\tblock,\n} ) {\n\tconst hasHTMLBlock = !! getBlockType( 'core/html' );\n\tconst [ compare, setCompare ] = useState( false );\n\n\tconst onCompare = useCallback( () => setCompare( true ), [] );\n\tconst onCompareClose = useCallback( () => setCompare( false ), [] );\n\n\t// We memo the array here to prevent the children components from being updated unexpectedly.\n\tconst hiddenActions = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t// translators: Button to fix block content\n\t\t\t\t\ttitle: _x( 'Resolve', 'imperative verb' ),\n\t\t\t\t\tonClick: onCompare,\n\t\t\t\t},\n\t\t\t\thasHTMLBlock && {\n\t\t\t\t\ttitle: __( 'Convert to HTML' ),\n\t\t\t\t\tonClick: convertToHTML,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: __( 'Convert to Classic Block' ),\n\t\t\t\t\tonClick: convertToClassic,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[ onCompare, convertToHTML, convertToClassic ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Warning\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey=\"recover\"\n\t\t\t\t\t\tonClick={ attemptBlockRecovery }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt Block Recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t] }\n\t\t\t\tsecondaryActions={ hiddenActions }\n\t\t\t>\n\t\t\t\t{ __( 'This block contains unexpected or invalid content.' ) }\n\t\t\t</Warning>\n\t\t\t{ compare && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t// translators: Dialog title to fix block content\n\t\t\t\t\t\t__( 'Resolve Block' )\n\t\t\t\t\t}\n\t\t\t\t\tonRequestClose={ onCompareClose }\n\t\t\t\t\tclassName=\"block-editor-block-compare\"\n\t\t\t\t>\n\t\t\t\t\t<BlockCompare\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tonKeep={ convertToHTML }\n\t\t\t\t\t\tonConvert={ convertToBlocks }\n\t\t\t\t\t\tconvertor={ blockToBlocks }\n\t\t\t\t\t\tconvertButtonText={ __( 'Convert to Blocks' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nconst blockToClassic = ( block ) =>\n\tcreateBlock( 'core/freeform', {\n\t\tcontent: block.originalContent,\n\t} );\nconst blockToHTML = ( block ) =>\n\tcreateBlock( 'core/html', {\n\t\tcontent: block.originalContent,\n\t} );\nconst blockToBlocks = ( block ) =>\n\trawHandler( {\n\t\tHTML: block.originalContent,\n\t} );\nconst recoverBlock = ( { name, attributes, innerBlocks } ) =>\n\tcreateBlock( name, attributes, innerBlocks );\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => ( {\n\t\tblock: select( blockEditorStore ).getBlock( clientId ),\n\t} ) ),\n\twithDispatch( ( dispatch, { block } ) => {\n\t\tconst { replaceBlock } = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tconvertToClassic() {\n\t\t\t\treplaceBlock( block.clientId, blockToClassic( block ) );\n\t\t\t},\n\t\t\tconvertToHTML() {\n\t\t\t\treplaceBlock( block.clientId, blockToHTML( block ) );\n\t\t\t},\n\t\t\tconvertToBlocks() {\n\t\t\t\treplaceBlock( block.clientId, blockToBlocks( block ) );\n\t\t\t},\n\t\t\tattemptBlockRecovery() {\n\t\t\t\treplaceBlock( block.clientId, recoverBlock( block ) );\n\t\t\t},\n\t\t};\n\t} ),\n] )( BlockInvalidWarning );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.js"],"names":["blockToBlocks","block","HTML","originalContent","BlockInvalidWarning","clientId","canInsertHTMLBlock","canInsertClassicBlock","select","canInsertBlockType","getBlock","getBlockRootClientId","blockEditorStore","rootClientId","replaceBlock","compare","setCompare","onCompareClose","convert","toClassic","classicBlock","content","toHTML","htmlBlock","toBlocks","newBlocks","toRecoveredBlock","recoveredBlock","name","attributes","innerBlocks","secondaryActions","title","onClick","filter","Boolean"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, Modal } from '@wordpress/components';\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { createBlock, rawHandler } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport BlockCompare from '../block-compare';\nimport { store as blockEditorStore } from '../../store';\n\nconst blockToBlocks = ( block ) =>\n\trawHandler( {\n\t\tHTML: block.originalContent,\n\t} );\n\nexport default function BlockInvalidWarning( { clientId } ) {\n\tconst { block, canInsertHTMLBlock, canInsertClassicBlock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, getBlock, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\tcanInsertHTMLBlock: canInsertBlockType(\n\t\t\t\t\t'core/html',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertClassicBlock: canInsertBlockType(\n\t\t\t\t\t'core/freeform',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst [ compare, setCompare ] = useState( false );\n\tconst onCompareClose = useCallback( () => setCompare( false ), [] );\n\n\tconst convert = useMemo(\n\t\t() => ( {\n\t\t\ttoClassic() {\n\t\t\t\tconst classicBlock = createBlock( 'core/freeform', {\n\t\t\t\t\tcontent: block.originalContent,\n\t\t\t\t} );\n\t\t\t\treturn replaceBlock( block.clientId, classicBlock );\n\t\t\t},\n\t\t\ttoHTML() {\n\t\t\t\tconst htmlBlock = createBlock( 'core/html', {\n\t\t\t\t\tcontent: block.originalContent,\n\t\t\t\t} );\n\t\t\t\treturn replaceBlock( block.clientId, htmlBlock );\n\t\t\t},\n\t\t\ttoBlocks() {\n\t\t\t\tconst newBlocks = blockToBlocks( block );\n\t\t\t\treturn replaceBlock( block.clientId, newBlocks );\n\t\t\t},\n\t\t\ttoRecoveredBlock() {\n\t\t\t\tconst recoveredBlock = createBlock(\n\t\t\t\t\tblock.name,\n\t\t\t\t\tblock.attributes,\n\t\t\t\t\tblock.innerBlocks\n\t\t\t\t);\n\t\t\t\treturn replaceBlock( block.clientId, recoveredBlock );\n\t\t\t},\n\t\t} ),\n\t\t[ block, replaceBlock ]\n\t);\n\n\tconst secondaryActions = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t// translators: Button to fix block content\n\t\t\t\t\ttitle: _x( 'Resolve', 'imperative verb' ),\n\t\t\t\t\tonClick: () => setCompare( true ),\n\t\t\t\t},\n\t\t\t\tcanInsertHTMLBlock && {\n\t\t\t\t\ttitle: __( 'Convert to HTML' ),\n\t\t\t\t\tonClick: convert.toHTML,\n\t\t\t\t},\n\t\t\t\tcanInsertClassicBlock && {\n\t\t\t\t\ttitle: __( 'Convert to Classic Block' ),\n\t\t\t\t\tonClick: convert.toClassic,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[ canInsertHTMLBlock, canInsertClassicBlock, convert ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Warning\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey=\"recover\"\n\t\t\t\t\t\tonClick={ convert.toRecoveredBlock }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt Block Recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t] }\n\t\t\t\tsecondaryActions={ secondaryActions }\n\t\t\t>\n\t\t\t\t{ __( 'This block contains unexpected or invalid content.' ) }\n\t\t\t</Warning>\n\t\t\t{ compare && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t// translators: Dialog title to fix block content\n\t\t\t\t\t\t__( 'Resolve Block' )\n\t\t\t\t\t}\n\t\t\t\t\tonRequestClose={ onCompareClose }\n\t\t\t\t\tclassName=\"block-editor-block-compare\"\n\t\t\t\t>\n\t\t\t\t\t<BlockCompare\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tonKeep={ convert.toHTML }\n\t\t\t\t\t\tonConvert={ convert.toBlocks }\n\t\t\t\t\t\tconvertor={ blockToBlocks }\n\t\t\t\t\t\tconvertButtonText={ __( 'Convert to Blocks' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -23,8 +23,6 @@ var _iframe = _interopRequireDefault(require("../iframe"));
23
23
 
24
24
  var _editorStyles = _interopRequireDefault(require("../editor-styles"));
25
25
 
26
- var _duotone = require("../../components/duotone");
27
-
28
26
  var _store = require("../../store");
29
27
 
30
28
  /**
@@ -54,15 +52,11 @@ function ScaledBlockPreview(_ref) {
54
52
  height: contentHeight
55
53
  }] = (0, _compose.useResizeObserver)();
56
54
  const {
57
- styles,
58
- duotone
55
+ styles
59
56
  } = (0, _data.useSelect)(select => {
60
- var _settings$__experimen, _settings$__experimen2;
61
-
62
57
  const settings = select(_store.store).getSettings();
63
58
  return {
64
- styles: settings.styles,
65
- duotone: (_settings$__experimen = settings.__experimentalFeatures) === null || _settings$__experimen === void 0 ? void 0 : (_settings$__experimen2 = _settings$__experimen.color) === null || _settings$__experimen2 === void 0 ? void 0 : _settings$__experimen2.duotone
59
+ styles: settings.styles
66
60
  };
67
61
  }, []); // Avoid scrollbars for pattern previews.
68
62
 
@@ -75,12 +69,7 @@ function ScaledBlockPreview(_ref) {
75
69
  }
76
70
 
77
71
  return styles;
78
- }, [styles, additionalStyles]);
79
- const svgFilters = (0, _element.useMemo)(() => {
80
- var _duotone$default, _duotone$theme;
81
-
82
- return [...((_duotone$default = duotone === null || duotone === void 0 ? void 0 : duotone.default) !== null && _duotone$default !== void 0 ? _duotone$default : []), ...((_duotone$theme = duotone === null || duotone === void 0 ? void 0 : duotone.theme) !== null && _duotone$theme !== void 0 ? _duotone$theme : [])];
83
- }, [duotone]); // Initialize on render instead of module top level, to avoid circular dependency issues.
72
+ }, [styles, additionalStyles]); // Initialize on render instead of module top level, to avoid circular dependency issues.
84
73
 
85
74
  MemoizedBlockList = MemoizedBlockList || (0, _compose.pure)(_blockList.default);
86
75
  const scale = containerWidth / viewportWidth;
@@ -93,9 +82,6 @@ function ScaledBlockPreview(_ref) {
93
82
  minHeight
94
83
  }
95
84
  }, (0, _element.createElement)(_iframe.default, {
96
- head: (0, _element.createElement)(_editorStyles.default, {
97
- styles: editorStyles
98
- }),
99
85
  contentRef: (0, _compose.useRefEffect)(bodyElement => {
100
86
  const {
101
87
  ownerDocument: {
@@ -122,12 +108,9 @@ function ScaledBlockPreview(_ref) {
122
108
  maxHeight: MAX_HEIGHT,
123
109
  minHeight: scale !== 0 && scale < 1 && minHeight ? minHeight / scale : minHeight
124
110
  }
125
- }, contentResizeListener,
126
- /* Filters need to be rendered before children to avoid Safari rendering issues. */
127
- svgFilters.map(preset => (0, _element.createElement)(_duotone.__unstablePresetDuotoneFilter, {
128
- preset: preset,
129
- key: preset.slug
130
- })), (0, _element.createElement)(MemoizedBlockList, {
111
+ }, (0, _element.createElement)(_editorStyles.default, {
112
+ styles: editorStyles
113
+ }), contentResizeListener, (0, _element.createElement)(MemoizedBlockList, {
131
114
  renderAppender: false
132
115
  })));
133
116
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-preview/auto.js"],"names":["MemoizedBlockList","MAX_HEIGHT","ScaledBlockPreview","viewportWidth","containerWidth","minHeight","additionalStyles","contentResizeListener","height","contentHeight","styles","duotone","select","settings","store","getSettings","__experimentalFeatures","color","editorStyles","css","__unstableType","svgFilters","default","theme","BlockList","scale","transform","maxHeight","undefined","bodyElement","ownerDocument","documentElement","classList","add","style","position","width","boxSizing","pointerEvents","map","preset","slug","AutoBlockPreview","props","containerResizeListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useResizeObserver, pure, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { Disabled } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport Iframe from '../iframe';\nimport EditorStyles from '../editor-styles';\nimport { __unstablePresetDuotoneFilter as PresetDuotoneFilter } from '../../components/duotone';\nimport { store } from '../../store';\n\n// This is used to avoid rendering the block list if the sizes change.\nlet MemoizedBlockList;\n\nconst MAX_HEIGHT = 2000;\n\nfunction ScaledBlockPreview( {\n\tviewportWidth,\n\tcontainerWidth,\n\tminHeight,\n\tadditionalStyles = [],\n} ) {\n\tif ( ! viewportWidth ) {\n\t\tviewportWidth = containerWidth;\n\t}\n\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst { styles, duotone } = useSelect( ( select ) => {\n\t\tconst settings = select( store ).getSettings();\n\t\treturn {\n\t\t\tstyles: settings.styles,\n\t\t\tduotone: settings.__experimentalFeatures?.color?.duotone,\n\t\t};\n\t}, [] );\n\n\t// Avoid scrollbars for pattern previews.\n\tconst editorStyles = useMemo( () => {\n\t\tif ( styles ) {\n\t\t\treturn [\n\t\t\t\t...styles,\n\t\t\t\t{\n\t\t\t\t\tcss: 'body{height:auto;overflow:hidden;border:none;padding:0;}',\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t\t},\n\t\t\t\t...additionalStyles,\n\t\t\t];\n\t\t}\n\n\t\treturn styles;\n\t}, [ styles, additionalStyles ] );\n\n\tconst svgFilters = useMemo( () => {\n\t\treturn [ ...( duotone?.default ?? [] ), ...( duotone?.theme ?? [] ) ];\n\t}, [ duotone ] );\n\n\t// Initialize on render instead of module top level, to avoid circular dependency issues.\n\tMemoizedBlockList = MemoizedBlockList || pure( BlockList );\n\n\tconst scale = containerWidth / viewportWidth;\n\treturn (\n\t\t<Disabled\n\t\t\tclassName=\"block-editor-block-preview__content\"\n\t\t\tstyle={ {\n\t\t\t\ttransform: `scale(${ scale })`,\n\t\t\t\theight: contentHeight * scale,\n\t\t\t\tmaxHeight:\n\t\t\t\t\tcontentHeight > MAX_HEIGHT ? MAX_HEIGHT * scale : undefined,\n\t\t\t\tminHeight,\n\t\t\t} }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\thead={ <EditorStyles styles={ editorStyles } /> }\n\t\t\t\tcontentRef={ useRefEffect( ( bodyElement ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\townerDocument: { documentElement },\n\t\t\t\t\t} = bodyElement;\n\t\t\t\t\tdocumentElement.classList.add(\n\t\t\t\t\t\t'block-editor-block-preview__content-iframe'\n\t\t\t\t\t);\n\t\t\t\t\tdocumentElement.style.position = 'absolute';\n\t\t\t\t\tdocumentElement.style.width = '100%';\n\n\t\t\t\t\t// Necessary for contentResizeListener to work.\n\t\t\t\t\tbodyElement.style.boxSizing = 'border-box';\n\t\t\t\t\tbodyElement.style.position = 'absolute';\n\t\t\t\t\tbodyElement.style.width = '100%';\n\t\t\t\t}, [] ) }\n\t\t\t\taria-hidden\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tstyle={ {\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\twidth: viewportWidth,\n\t\t\t\t\theight: contentHeight,\n\t\t\t\t\tpointerEvents: 'none',\n\t\t\t\t\t// This is a catch-all max-height for patterns.\n\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/38175.\n\t\t\t\t\tmaxHeight: MAX_HEIGHT,\n\t\t\t\t\tminHeight:\n\t\t\t\t\t\tscale !== 0 && scale < 1 && minHeight\n\t\t\t\t\t\t\t? minHeight / scale\n\t\t\t\t\t\t\t: minHeight,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ contentResizeListener }\n\t\t\t\t{\n\t\t\t\t\t/* Filters need to be rendered before children to avoid Safari rendering issues. */\n\t\t\t\t\tsvgFilters.map( ( preset ) => (\n\t\t\t\t\t\t<PresetDuotoneFilter\n\t\t\t\t\t\t\tpreset={ preset }\n\t\t\t\t\t\t\tkey={ preset.slug }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) )\n\t\t\t\t}\n\t\t\t\t<MemoizedBlockList renderAppender={ false } />\n\t\t\t</Iframe>\n\t\t</Disabled>\n\t);\n}\n\nexport default function AutoBlockPreview( props ) {\n\tconst [ containerResizeListener, { width: containerWidth } ] =\n\t\tuseResizeObserver();\n\n\treturn (\n\t\t<>\n\t\t\t<div style={ { position: 'relative', width: '100%', height: 0 } }>\n\t\t\t\t{ containerResizeListener }\n\t\t\t</div>\n\t\t\t<div className=\"block-editor-block-preview__container\">\n\t\t\t\t{ !! containerWidth && (\n\t\t\t\t\t<ScaledBlockPreview\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\tcontainerWidth={ containerWidth }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-preview/auto.js"],"names":["MemoizedBlockList","MAX_HEIGHT","ScaledBlockPreview","viewportWidth","containerWidth","minHeight","additionalStyles","contentResizeListener","height","contentHeight","styles","select","settings","store","getSettings","editorStyles","css","__unstableType","BlockList","scale","transform","maxHeight","undefined","bodyElement","ownerDocument","documentElement","classList","add","style","position","width","boxSizing","pointerEvents","AutoBlockPreview","props","containerResizeListener"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useResizeObserver, pure, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { Disabled } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport Iframe from '../iframe';\nimport EditorStyles from '../editor-styles';\nimport { store } from '../../store';\n\n// This is used to avoid rendering the block list if the sizes change.\nlet MemoizedBlockList;\n\nconst MAX_HEIGHT = 2000;\n\nfunction ScaledBlockPreview( {\n\tviewportWidth,\n\tcontainerWidth,\n\tminHeight,\n\tadditionalStyles = [],\n} ) {\n\tif ( ! viewportWidth ) {\n\t\tviewportWidth = containerWidth;\n\t}\n\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst { styles } = useSelect( ( select ) => {\n\t\tconst settings = select( store ).getSettings();\n\t\treturn {\n\t\t\tstyles: settings.styles,\n\t\t};\n\t}, [] );\n\n\t// Avoid scrollbars for pattern previews.\n\tconst editorStyles = useMemo( () => {\n\t\tif ( styles ) {\n\t\t\treturn [\n\t\t\t\t...styles,\n\t\t\t\t{\n\t\t\t\t\tcss: 'body{height:auto;overflow:hidden;border:none;padding:0;}',\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t\t},\n\t\t\t\t...additionalStyles,\n\t\t\t];\n\t\t}\n\n\t\treturn styles;\n\t}, [ styles, additionalStyles ] );\n\n\t// Initialize on render instead of module top level, to avoid circular dependency issues.\n\tMemoizedBlockList = MemoizedBlockList || pure( BlockList );\n\n\tconst scale = containerWidth / viewportWidth;\n\treturn (\n\t\t<Disabled\n\t\t\tclassName=\"block-editor-block-preview__content\"\n\t\t\tstyle={ {\n\t\t\t\ttransform: `scale(${ scale })`,\n\t\t\t\theight: contentHeight * scale,\n\t\t\t\tmaxHeight:\n\t\t\t\t\tcontentHeight > MAX_HEIGHT ? MAX_HEIGHT * scale : undefined,\n\t\t\t\tminHeight,\n\t\t\t} }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\tcontentRef={ useRefEffect( ( bodyElement ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\townerDocument: { documentElement },\n\t\t\t\t\t} = bodyElement;\n\t\t\t\t\tdocumentElement.classList.add(\n\t\t\t\t\t\t'block-editor-block-preview__content-iframe'\n\t\t\t\t\t);\n\t\t\t\t\tdocumentElement.style.position = 'absolute';\n\t\t\t\t\tdocumentElement.style.width = '100%';\n\n\t\t\t\t\t// Necessary for contentResizeListener to work.\n\t\t\t\t\tbodyElement.style.boxSizing = 'border-box';\n\t\t\t\t\tbodyElement.style.position = 'absolute';\n\t\t\t\t\tbodyElement.style.width = '100%';\n\t\t\t\t}, [] ) }\n\t\t\t\taria-hidden\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tstyle={ {\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\twidth: viewportWidth,\n\t\t\t\t\theight: contentHeight,\n\t\t\t\t\tpointerEvents: 'none',\n\t\t\t\t\t// This is a catch-all max-height for patterns.\n\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/38175.\n\t\t\t\t\tmaxHeight: MAX_HEIGHT,\n\t\t\t\t\tminHeight:\n\t\t\t\t\t\tscale !== 0 && scale < 1 && minHeight\n\t\t\t\t\t\t\t? minHeight / scale\n\t\t\t\t\t\t\t: minHeight,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ editorStyles } />\n\t\t\t\t{ contentResizeListener }\n\t\t\t\t<MemoizedBlockList renderAppender={ false } />\n\t\t\t</Iframe>\n\t\t</Disabled>\n\t);\n}\n\nexport default function AutoBlockPreview( props ) {\n\tconst [ containerResizeListener, { width: containerWidth } ] =\n\t\tuseResizeObserver();\n\n\treturn (\n\t\t<>\n\t\t\t<div style={ { position: 'relative', width: '100%', height: 0 } }>\n\t\t\t\t{ containerResizeListener }\n\t\t\t</div>\n\t\t\t<div className=\"block-editor-block-preview__container\">\n\t\t\t\t{ !! containerWidth && (\n\t\t\t\t\t<ScaledBlockPreview\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\tcontainerWidth={ containerWidth }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -62,7 +62,7 @@ const BlockSettingsMenuControlsSlot = _ref => {
62
62
  const showLockButton = selectedClientIds.length === 1 && canLock; // Check if current selection of blocks is Groupable or Ungroupable
63
63
  // and pass this props down to ConvertToGroupButton.
64
64
 
65
- const convertToGroupButtonProps = (0, _convertToGroupButtons.useConvertToGroupButtonProps)();
65
+ const convertToGroupButtonProps = (0, _convertToGroupButtons.useConvertToGroupButtonProps)(selectedClientIds);
66
66
  const {
67
67
  isGroupable,
68
68
  isUngroupable
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"names":["Fill","Slot","BlockSettingsMenuControlsSlot","fillProps","clientIds","__unstableDisplayLocation","selectedBlocks","selectedClientIds","canRemove","select","getBlockNamesByClientId","getSelectedBlockClientIds","canRemoveBlocks","blockEditorStore","ids","canLock","showLockButton","length","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","fills","onClose","BlockSettingsMenuControls","props","document"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AAKA;;AAIA;;AACA;;AAlBA;AACA;AACA;;AAQA;AACA;AACA;AAQA,MAAM;AAAEA,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IAAiB,gCAAgB,2BAAhB,CAAvB;;AAEA,MAAMC,6BAA6B,GAAG,QAI/B;AAAA,MAJiC;AACvCC,IAAAA,SADuC;AAEvCC,IAAAA,SAAS,GAAG,IAF2B;AAGvCC,IAAAA;AAHuC,GAIjC;AACN,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,iBAAlB;AAAqCC,IAAAA;AAArC,MAAmD,qBACtDC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,uBADK;AAELC,MAAAA,yBAFK;AAGLC,MAAAA;AAHK,QAIFH,MAAM,CAAEI,YAAF,CAJV;AAKA,UAAMC,GAAG,GACRV,SAAS,KAAK,IAAd,GAAqBA,SAArB,GAAiCO,yBAAyB,EAD3D;AAEA,WAAO;AACNL,MAAAA,cAAc,EAAEI,uBAAuB,CAAEI,GAAF,CADjC;AAENP,MAAAA,iBAAiB,EAAEO,GAFb;AAGNN,MAAAA,SAAS,EAAEI,eAAe,CAAEE,GAAF;AAHpB,KAAP;AAKA,GAduD,EAexD,CAAEV,SAAF,CAfwD,CAAzD;AAkBA,QAAM;AAAEW,IAAAA;AAAF,MAAc,6BAAcR,iBAAiB,CAAE,CAAF,CAA/B,CAApB;AACA,QAAMS,cAAc,GAAGT,iBAAiB,CAACU,MAAlB,KAA6B,CAA7B,IAAkCF,OAAzD,CApBM,CAsBN;AACA;;AACA,QAAMG,yBAAyB,GAAG,0DAAlC;AACA,QAAM;AAAEC,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MAAiCF,yBAAvC;AACA,QAAMG,wBAAwB,GAC7B,CAAEF,WAAW,IAAIC,aAAjB,KAAoCZ,SADrC;AAGA,SACC,4BAAC,IAAD;AACC,IAAA,SAAS,EAAG,EACX,GAAGL,SADQ;AAEXE,MAAAA,yBAFW;AAGXC,MAAAA,cAHW;AAIXC,MAAAA;AAJW;AADb,KAQKe,KAAF,IAAa;AACd,QACC,EAAEA,KAAF,aAAEA,KAAF,eAAEA,KAAK,CAAEL,MAAT,IAAkB,CAAlB,IACA,CAAEI,wBADF,IAEA,CAAEL,cAHH,EAIE;AACD,aAAO,IAAP;AACA;;AAED,WACC,4BAAC,qBAAD,QACGA,cAAc,IACf,4BAAC,4BAAD;AACC,MAAA,QAAQ,EAAGT,iBAAiB,CAAE,CAAF;AAD7B,MAFF,EAMGe,KANH,EAOGD,wBAAwB,IACzB,4BAAC,2CAAD,6BACMH,yBADN;AAEC,MAAA,OAAO,EAAGf,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEoB;AAFtB,OARF,CADD;AAgBA,GAjCF,CADD;AAqCA,CAtED;AAwEA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,yBAAT,QAAmD;AAAA,MAAf,EAAE,GAAGC;AAAL,GAAe;AAClD,SACC,4BAAC,uCAAD;AAAe,IAAA,QAAQ,EAAGC;AAA1B,KACC,4BAAC,IAAD,EAAWD,KAAX,CADD,CADD;AAKA;;AAEDD,yBAAyB,CAACvB,IAA1B,GAAiCC,6BAAjC;eAEesB,yB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tMenuGroup,\n\t__experimentalStyleProvider as StyleProvider,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseConvertToGroupButtonProps,\n\tConvertToGroupButton,\n} from '../convert-to-group-buttons';\nimport { BlockLockMenuItem, useBlockLock } from '../block-lock';\nimport { store as blockEditorStore } from '../../store';\n\nconst { Fill, Slot } = createSlotFill( 'BlockSettingsMenuControls' );\n\nconst BlockSettingsMenuControlsSlot = ( {\n\tfillProps,\n\tclientIds = null,\n\t__unstableDisplayLocation,\n} ) => {\n\tconst { selectedBlocks, selectedClientIds, canRemove } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockNamesByClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst ids =\n\t\t\t\tclientIds !== null ? clientIds : getSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\tselectedBlocks: getBlockNamesByClientId( ids ),\n\t\t\t\tselectedClientIds: ids,\n\t\t\t\tcanRemove: canRemoveBlocks( ids ),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tconst { canLock } = useBlockLock( selectedClientIds[ 0 ] );\n\tconst showLockButton = selectedClientIds.length === 1 && canLock;\n\n\t// Check if current selection of blocks is Groupable or Ungroupable\n\t// and pass this props down to ConvertToGroupButton.\n\tconst convertToGroupButtonProps = useConvertToGroupButtonProps();\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton =\n\t\t( isGroupable || isUngroupable ) && canRemove;\n\n\treturn (\n\t\t<Slot\n\t\t\tfillProps={ {\n\t\t\t\t...fillProps,\n\t\t\t\t__unstableDisplayLocation,\n\t\t\t\tselectedBlocks,\n\t\t\t\tselectedClientIds,\n\t\t\t} }\n\t\t>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif (\n\t\t\t\t\t! fills?.length > 0 &&\n\t\t\t\t\t! showConvertToGroupButton &&\n\t\t\t\t\t! showLockButton\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ showLockButton && (\n\t\t\t\t\t\t\t<BlockLockMenuItem\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t{ showConvertToGroupButton && (\n\t\t\t\t\t\t\t<ConvertToGroupButton\n\t\t\t\t\t\t\t\t{ ...convertToGroupButtonProps }\n\t\t\t\t\t\t\t\tonClose={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t</Slot>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-settings-menu-controls/README.md\n *\n * @param {Object} props Fill props.\n * @return {WPElement} Element.\n */\nfunction BlockSettingsMenuControls( { ...props } ) {\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill { ...props } />\n\t\t</StyleProvider>\n\t);\n}\n\nBlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot;\n\nexport default BlockSettingsMenuControls;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"names":["Fill","Slot","BlockSettingsMenuControlsSlot","fillProps","clientIds","__unstableDisplayLocation","selectedBlocks","selectedClientIds","canRemove","select","getBlockNamesByClientId","getSelectedBlockClientIds","canRemoveBlocks","blockEditorStore","ids","canLock","showLockButton","length","convertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","fills","onClose","BlockSettingsMenuControls","props","document"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AAKA;;AAIA;;AACA;;AAlBA;AACA;AACA;;AAQA;AACA;AACA;AAQA,MAAM;AAAEA,EAAAA,IAAF;AAAQC,EAAAA;AAAR,IAAiB,gCAAgB,2BAAhB,CAAvB;;AAEA,MAAMC,6BAA6B,GAAG,QAI/B;AAAA,MAJiC;AACvCC,IAAAA,SADuC;AAEvCC,IAAAA,SAAS,GAAG,IAF2B;AAGvCC,IAAAA;AAHuC,GAIjC;AACN,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,iBAAlB;AAAqCC,IAAAA;AAArC,MAAmD,qBACtDC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,uBADK;AAELC,MAAAA,yBAFK;AAGLC,MAAAA;AAHK,QAIFH,MAAM,CAAEI,YAAF,CAJV;AAKA,UAAMC,GAAG,GACRV,SAAS,KAAK,IAAd,GAAqBA,SAArB,GAAiCO,yBAAyB,EAD3D;AAEA,WAAO;AACNL,MAAAA,cAAc,EAAEI,uBAAuB,CAAEI,GAAF,CADjC;AAENP,MAAAA,iBAAiB,EAAEO,GAFb;AAGNN,MAAAA,SAAS,EAAEI,eAAe,CAAEE,GAAF;AAHpB,KAAP;AAKA,GAduD,EAexD,CAAEV,SAAF,CAfwD,CAAzD;AAkBA,QAAM;AAAEW,IAAAA;AAAF,MAAc,6BAAcR,iBAAiB,CAAE,CAAF,CAA/B,CAApB;AACA,QAAMS,cAAc,GAAGT,iBAAiB,CAACU,MAAlB,KAA6B,CAA7B,IAAkCF,OAAzD,CApBM,CAsBN;AACA;;AACA,QAAMG,yBAAyB,GAC9B,yDAA8BX,iBAA9B,CADD;AAEA,QAAM;AAAEY,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MAAiCF,yBAAvC;AACA,QAAMG,wBAAwB,GAC7B,CAAEF,WAAW,IAAIC,aAAjB,KAAoCZ,SADrC;AAGA,SACC,4BAAC,IAAD;AACC,IAAA,SAAS,EAAG,EACX,GAAGL,SADQ;AAEXE,MAAAA,yBAFW;AAGXC,MAAAA,cAHW;AAIXC,MAAAA;AAJW;AADb,KAQKe,KAAF,IAAa;AACd,QACC,EAAEA,KAAF,aAAEA,KAAF,eAAEA,KAAK,CAAEL,MAAT,IAAkB,CAAlB,IACA,CAAEI,wBADF,IAEA,CAAEL,cAHH,EAIE;AACD,aAAO,IAAP;AACA;;AAED,WACC,4BAAC,qBAAD,QACGA,cAAc,IACf,4BAAC,4BAAD;AACC,MAAA,QAAQ,EAAGT,iBAAiB,CAAE,CAAF;AAD7B,MAFF,EAMGe,KANH,EAOGD,wBAAwB,IACzB,4BAAC,2CAAD,6BACMH,yBADN;AAEC,MAAA,OAAO,EAAGf,SAAH,aAAGA,SAAH,uBAAGA,SAAS,CAAEoB;AAFtB,OARF,CADD;AAgBA,GAjCF,CADD;AAqCA,CAvED;AAyEA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,yBAAT,QAAmD;AAAA,MAAf,EAAE,GAAGC;AAAL,GAAe;AAClD,SACC,4BAAC,uCAAD;AAAe,IAAA,QAAQ,EAAGC;AAA1B,KACC,4BAAC,IAAD,EAAWD,KAAX,CADD,CADD;AAKA;;AAEDD,yBAAyB,CAACvB,IAA1B,GAAiCC,6BAAjC;eAEesB,yB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tMenuGroup,\n\t__experimentalStyleProvider as StyleProvider,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseConvertToGroupButtonProps,\n\tConvertToGroupButton,\n} from '../convert-to-group-buttons';\nimport { BlockLockMenuItem, useBlockLock } from '../block-lock';\nimport { store as blockEditorStore } from '../../store';\n\nconst { Fill, Slot } = createSlotFill( 'BlockSettingsMenuControls' );\n\nconst BlockSettingsMenuControlsSlot = ( {\n\tfillProps,\n\tclientIds = null,\n\t__unstableDisplayLocation,\n} ) => {\n\tconst { selectedBlocks, selectedClientIds, canRemove } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockNamesByClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst ids =\n\t\t\t\tclientIds !== null ? clientIds : getSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\tselectedBlocks: getBlockNamesByClientId( ids ),\n\t\t\t\tselectedClientIds: ids,\n\t\t\t\tcanRemove: canRemoveBlocks( ids ),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tconst { canLock } = useBlockLock( selectedClientIds[ 0 ] );\n\tconst showLockButton = selectedClientIds.length === 1 && canLock;\n\n\t// Check if current selection of blocks is Groupable or Ungroupable\n\t// and pass this props down to ConvertToGroupButton.\n\tconst convertToGroupButtonProps =\n\t\tuseConvertToGroupButtonProps( selectedClientIds );\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton =\n\t\t( isGroupable || isUngroupable ) && canRemove;\n\n\treturn (\n\t\t<Slot\n\t\t\tfillProps={ {\n\t\t\t\t...fillProps,\n\t\t\t\t__unstableDisplayLocation,\n\t\t\t\tselectedBlocks,\n\t\t\t\tselectedClientIds,\n\t\t\t} }\n\t\t>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif (\n\t\t\t\t\t! fills?.length > 0 &&\n\t\t\t\t\t! showConvertToGroupButton &&\n\t\t\t\t\t! showLockButton\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ showLockButton && (\n\t\t\t\t\t\t\t<BlockLockMenuItem\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t{ showConvertToGroupButton && (\n\t\t\t\t\t\t\t<ConvertToGroupButton\n\t\t\t\t\t\t\t\t{ ...convertToGroupButtonProps }\n\t\t\t\t\t\t\t\tonClose={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t</Slot>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-settings-menu-controls/README.md\n *\n * @param {Object} props Fill props.\n * @return {WPElement} Element.\n */\nfunction BlockSettingsMenuControls( { ...props } ) {\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill { ...props } />\n\t\t</StyleProvider>\n\t);\n}\n\nBlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot;\n\nexport default BlockSettingsMenuControls;\n"]}
@@ -78,6 +78,7 @@ const BlockTransformationsMenu = _ref => {
78
78
  }
79
79
 
80
80
  return (0, _element.createElement)(_components.Picker, {
81
+ testID: "block-transformations-menu",
81
82
  ref: pickerRef,
82
83
  options: pickerOptions(),
83
84
  onChange: onPickerSelect,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-switcher/block-transformations-menu.native.js"],"names":["BlockTransformationsMenu","anchorNodeRef","blockTitle","pickerRef","possibleTransformations","selectedBlock","selectedBlockClientId","replaceBlocks","blockEditorStore","createSuccessNotice","noticesStore","pickerOptions","selectedBlockName","name","blocksThatSplitWhenTransformed","map","item","label","length","includes","id","title","value","getAnchor","undefined","onPickerSelect","selectedItem","find","successNotice","Platform","OS"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AAGA,MAAMA,wBAAwB,GAAG,QAO1B;AAAA,MAP4B;AAClCC,IAAAA,aADkC;AAElCC,IAAAA,UAFkC;AAGlCC,IAAAA,SAHkC;AAIlCC,IAAAA,uBAJkC;AAKlCC,IAAAA,aALkC;AAMlCC,IAAAA;AANkC,GAO5B;AACN,QAAM;AAAEC,IAAAA;AAAF,MAAoB,uBAAaC,YAAb,CAA1B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAaC,cAAb,CAAhC;;AAEA,QAAMC,aAAa,GAAG,MAAM;AAAA;;AAC3B,UAAMC,iBAAiB,0BAAGP,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEQ,IAAlB,qEAA0B,EAAjD;AACA,UAAMC,8BAA8B,GAAG;AACtC,mBAAa,CAAE,gBAAF,EAAoB,cAApB,CADyB;AAEtC,oBAAc,CAAE,gBAAF,CAFwB;AAGtC,wBAAkB,CAAE,gBAAF;AAHoB,KAAvC;AAMA,WAAOV,uBAAuB,CAACW,GAAxB,CAA+BC,IAAF,IAAY;AAC/C,YAAMC,KAAK,GACVL,iBAAiB,CAACM,MAAlB,IACAJ,8BAA8B,CAAEF,iBAAF,CAD9B,IAEAE,8BAA8B,CAAEF,iBAAF,CAA9B,CAAoDO,QAApD,CACCH,IAAI,CAACI,EADN,CAFA,GAKI,GAAGJ,IAAI,CAACK,KAAO,SALnB,GAMGL,IAAI,CAACK,KAPT;AAQA,aAAO;AACNJ,QAAAA,KADM;AAENK,QAAAA,KAAK,EAAEN,IAAI,CAACI;AAFN,OAAP;AAIA,KAbM,CAAP;AAcA,GAtBD;;AAwBA,QAAMG,SAAS,GAAG,MACjBtB,aAAa,GAAG,iCAAgBA,aAAhB,CAAH,GAAqCuB,SADnD;;AAGA,WAASC,cAAT,CAAyBH,KAAzB,EAAiC;AAChCf,IAAAA,aAAa,CACZD,qBADY,EAEZ,+BAAmBD,aAAnB,EAAkCiB,KAAlC,CAFY,CAAb;AAKA,UAAMI,YAAY,GAAGf,aAAa,GAAGgB,IAAhB,CAClBX,IAAF,IAAYA,IAAI,CAACM,KAAL,KAAeA,KADP,CAArB;AAGA,UAAMM,aAAa,GAAG;AACrB;AACA,kBAAI,0BAAJ,CAFqB,EAGrB1B,UAHqB,EAIrBwB,YAAY,CAACT,KAJQ,CAAtB;AAMAR,IAAAA,mBAAmB,CAAEmB,aAAF,CAAnB;AACA;;AAED,SACC,4BAAC,kBAAD;AACC,IAAA,GAAG,EAAGzB,SADP;AAEC,IAAA,OAAO,EAAGQ,aAAa,EAFxB;AAGC,IAAA,QAAQ,EAAGc,cAHZ;AAIC,IAAA,gBAAgB,EAAGI,sBAASC,EAAT,KAAgB,KAJpC;AAKC,IAAA,SAAS,EAAG,IALb;AAMC,IAAA,SAAS,EAAGP,SANb,CAOC;AAPD;AAQC,IAAA,KAAK,EAAG,mBAAS,cAAI,iBAAJ,CAAT,EAAkCrB,UAAlC;AART,IADD;AAYA,CApED;;eAsEeF,wB","sourcesContent":["/**\n * External dependencies\n */\nimport { findNodeHandle, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { switchToBlockType } from '@wordpress/blocks';\nimport { Picker } from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockTransformationsMenu = ( {\n\tanchorNodeRef,\n\tblockTitle,\n\tpickerRef,\n\tpossibleTransformations,\n\tselectedBlock,\n\tselectedBlockClientId,\n} ) => {\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst pickerOptions = () => {\n\t\tconst selectedBlockName = selectedBlock?.name ?? '';\n\t\tconst blocksThatSplitWhenTransformed = {\n\t\t\t'core/list': [ 'core/paragraph', 'core/heading' ],\n\t\t\t'core/quote': [ 'core/paragraph' ],\n\t\t\t'core/pullquote': [ 'core/paragraph' ],\n\t\t};\n\n\t\treturn possibleTransformations.map( ( item ) => {\n\t\t\tconst label =\n\t\t\t\tselectedBlockName.length &&\n\t\t\t\tblocksThatSplitWhenTransformed[ selectedBlockName ] &&\n\t\t\t\tblocksThatSplitWhenTransformed[ selectedBlockName ].includes(\n\t\t\t\t\titem.id\n\t\t\t\t)\n\t\t\t\t\t? `${ item.title } blocks`\n\t\t\t\t\t: item.title;\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tvalue: item.id,\n\t\t\t};\n\t\t} );\n\t};\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\tfunction onPickerSelect( value ) {\n\t\treplaceBlocks(\n\t\t\tselectedBlockClientId,\n\t\t\tswitchToBlockType( selectedBlock, value )\n\t\t);\n\n\t\tconst selectedItem = pickerOptions().find(\n\t\t\t( item ) => item.value === value\n\t\t);\n\t\tconst successNotice = sprintf(\n\t\t\t/* translators: 1: From block title, e.g. Paragraph. 2: To block title, e.g. Header. */\n\t\t\t__( '%1$s transformed to %2$s' ),\n\t\t\tblockTitle,\n\t\t\tselectedItem.label\n\t\t);\n\t\tcreateSuccessNotice( successNotice );\n\t}\n\n\treturn (\n\t\t<Picker\n\t\t\tref={ pickerRef }\n\t\t\toptions={ pickerOptions() }\n\t\t\tonChange={ onPickerSelect }\n\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\tleftAlign={ true }\n\t\t\tgetAnchor={ getAnchor }\n\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\ttitle={ sprintf( __( 'Transform %s to' ), blockTitle ) }\n\t\t/>\n\t);\n};\n\nexport default BlockTransformationsMenu;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-switcher/block-transformations-menu.native.js"],"names":["BlockTransformationsMenu","anchorNodeRef","blockTitle","pickerRef","possibleTransformations","selectedBlock","selectedBlockClientId","replaceBlocks","blockEditorStore","createSuccessNotice","noticesStore","pickerOptions","selectedBlockName","name","blocksThatSplitWhenTransformed","map","item","label","length","includes","id","title","value","getAnchor","undefined","onPickerSelect","selectedItem","find","successNotice","Platform","OS"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AAGA,MAAMA,wBAAwB,GAAG,QAO1B;AAAA,MAP4B;AAClCC,IAAAA,aADkC;AAElCC,IAAAA,UAFkC;AAGlCC,IAAAA,SAHkC;AAIlCC,IAAAA,uBAJkC;AAKlCC,IAAAA,aALkC;AAMlCC,IAAAA;AANkC,GAO5B;AACN,QAAM;AAAEC,IAAAA;AAAF,MAAoB,uBAAaC,YAAb,CAA1B;AACA,QAAM;AAAEC,IAAAA;AAAF,MAA0B,uBAAaC,cAAb,CAAhC;;AAEA,QAAMC,aAAa,GAAG,MAAM;AAAA;;AAC3B,UAAMC,iBAAiB,0BAAGP,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEQ,IAAlB,qEAA0B,EAAjD;AACA,UAAMC,8BAA8B,GAAG;AACtC,mBAAa,CAAE,gBAAF,EAAoB,cAApB,CADyB;AAEtC,oBAAc,CAAE,gBAAF,CAFwB;AAGtC,wBAAkB,CAAE,gBAAF;AAHoB,KAAvC;AAMA,WAAOV,uBAAuB,CAACW,GAAxB,CAA+BC,IAAF,IAAY;AAC/C,YAAMC,KAAK,GACVL,iBAAiB,CAACM,MAAlB,IACAJ,8BAA8B,CAAEF,iBAAF,CAD9B,IAEAE,8BAA8B,CAAEF,iBAAF,CAA9B,CAAoDO,QAApD,CACCH,IAAI,CAACI,EADN,CAFA,GAKI,GAAGJ,IAAI,CAACK,KAAO,SALnB,GAMGL,IAAI,CAACK,KAPT;AAQA,aAAO;AACNJ,QAAAA,KADM;AAENK,QAAAA,KAAK,EAAEN,IAAI,CAACI;AAFN,OAAP;AAIA,KAbM,CAAP;AAcA,GAtBD;;AAwBA,QAAMG,SAAS,GAAG,MACjBtB,aAAa,GAAG,iCAAgBA,aAAhB,CAAH,GAAqCuB,SADnD;;AAGA,WAASC,cAAT,CAAyBH,KAAzB,EAAiC;AAChCf,IAAAA,aAAa,CACZD,qBADY,EAEZ,+BAAmBD,aAAnB,EAAkCiB,KAAlC,CAFY,CAAb;AAKA,UAAMI,YAAY,GAAGf,aAAa,GAAGgB,IAAhB,CAClBX,IAAF,IAAYA,IAAI,CAACM,KAAL,KAAeA,KADP,CAArB;AAGA,UAAMM,aAAa,GAAG;AACrB;AACA,kBAAI,0BAAJ,CAFqB,EAGrB1B,UAHqB,EAIrBwB,YAAY,CAACT,KAJQ,CAAtB;AAMAR,IAAAA,mBAAmB,CAAEmB,aAAF,CAAnB;AACA;;AAED,SACC,4BAAC,kBAAD;AACC,IAAA,MAAM,EAAC,4BADR;AAEC,IAAA,GAAG,EAAGzB,SAFP;AAGC,IAAA,OAAO,EAAGQ,aAAa,EAHxB;AAIC,IAAA,QAAQ,EAAGc,cAJZ;AAKC,IAAA,gBAAgB,EAAGI,sBAASC,EAAT,KAAgB,KALpC;AAMC,IAAA,SAAS,EAAG,IANb;AAOC,IAAA,SAAS,EAAGP,SAPb,CAQC;AARD;AASC,IAAA,KAAK,EAAG,mBAAS,cAAI,iBAAJ,CAAT,EAAkCrB,UAAlC;AATT,IADD;AAaA,CArED;;eAuEeF,wB","sourcesContent":["/**\n * External dependencies\n */\nimport { findNodeHandle, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { switchToBlockType } from '@wordpress/blocks';\nimport { Picker } from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockTransformationsMenu = ( {\n\tanchorNodeRef,\n\tblockTitle,\n\tpickerRef,\n\tpossibleTransformations,\n\tselectedBlock,\n\tselectedBlockClientId,\n} ) => {\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst pickerOptions = () => {\n\t\tconst selectedBlockName = selectedBlock?.name ?? '';\n\t\tconst blocksThatSplitWhenTransformed = {\n\t\t\t'core/list': [ 'core/paragraph', 'core/heading' ],\n\t\t\t'core/quote': [ 'core/paragraph' ],\n\t\t\t'core/pullquote': [ 'core/paragraph' ],\n\t\t};\n\n\t\treturn possibleTransformations.map( ( item ) => {\n\t\t\tconst label =\n\t\t\t\tselectedBlockName.length &&\n\t\t\t\tblocksThatSplitWhenTransformed[ selectedBlockName ] &&\n\t\t\t\tblocksThatSplitWhenTransformed[ selectedBlockName ].includes(\n\t\t\t\t\titem.id\n\t\t\t\t)\n\t\t\t\t\t? `${ item.title } blocks`\n\t\t\t\t\t: item.title;\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tvalue: item.id,\n\t\t\t};\n\t\t} );\n\t};\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\tfunction onPickerSelect( value ) {\n\t\treplaceBlocks(\n\t\t\tselectedBlockClientId,\n\t\t\tswitchToBlockType( selectedBlock, value )\n\t\t);\n\n\t\tconst selectedItem = pickerOptions().find(\n\t\t\t( item ) => item.value === value\n\t\t);\n\t\tconst successNotice = sprintf(\n\t\t\t/* translators: 1: From block title, e.g. Paragraph. 2: To block title, e.g. Header. */\n\t\t\t__( '%1$s transformed to %2$s' ),\n\t\t\tblockTitle,\n\t\t\tselectedItem.label\n\t\t);\n\t\tcreateSuccessNotice( successNotice );\n\t}\n\n\treturn (\n\t\t<Picker\n\t\t\ttestID=\"block-transformations-menu\"\n\t\t\tref={ pickerRef }\n\t\t\toptions={ pickerOptions() }\n\t\t\tonChange={ onPickerSelect }\n\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\tleftAlign={ true }\n\t\t\tgetAnchor={ getAnchor }\n\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\ttitle={ sprintf( __( 'Transform %s to' ), blockTitle ) }\n\t\t/>\n\t);\n};\n\nexport default BlockTransformationsMenu;\n"]}
@@ -35,9 +35,12 @@ var _store = require("../../store");
35
35
  * It is used in `BlockSettingsMenuControls` to know if `ConvertToGroupButton`
36
36
  * should be rendered, to avoid ending up with an empty MenuGroup.
37
37
  *
38
+ * @param {?string[]} selectedClientIds An optional array of clientIds to group. The selected blocks
39
+ * from the block editor store are used if this is not provided.
40
+ *
38
41
  * @return {ConvertToGroupButtonProps} Returns the properties needed by `ConvertToGroupButton`.
39
42
  */
40
- function useConvertToGroupButtonProps() {
43
+ function useConvertToGroupButtonProps(selectedClientIds) {
41
44
  const {
42
45
  clientIds,
43
46
  isGroupable,
@@ -57,7 +60,7 @@ function useConvertToGroupButtonProps() {
57
60
  getGroupingBlockName
58
61
  } = select(_blocks.store);
59
62
 
60
- const _clientIds = getSelectedBlockClientIds();
63
+ const _clientIds = selectedClientIds !== null && selectedClientIds !== void 0 && selectedClientIds.length ? selectedClientIds : getSelectedBlockClientIds();
61
64
 
62
65
  const _groupingBlockName = getGroupingBlockName();
63
66
 
@@ -82,7 +85,7 @@ function useConvertToGroupButtonProps() {
82
85
  blocksSelection: _blocksSelection,
83
86
  groupingBlockName: _groupingBlockName
84
87
  };
85
- }, []);
88
+ }, [selectedClientIds]);
86
89
  return {
87
90
  clientIds,
88
91
  isGroupable,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js"],"names":["useConvertToGroupButtonProps","clientIds","isGroupable","isUngroupable","blocksSelection","groupingBlockName","select","getBlockRootClientId","getBlocksByClientId","canInsertBlockType","getSelectedBlockClientIds","blockEditorStore","getGroupingBlockName","blocksStore","_clientIds","_groupingBlockName","rootClientId","length","undefined","groupingBlockAvailable","_blocksSelection","isSingleGroupingBlock","name","_isGroupable","_isUngroupable","innerBlocks"],"mappings":";;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,4BAAT,GAAwC;AACtD,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,WAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,eAJK;AAKLC,IAAAA;AALK,MAMF,qBAAaC,MAAF,IAAc;AAAA;;AAC5B,UAAM;AACLC,MAAAA,oBADK;AAELC,MAAAA,mBAFK;AAGLC,MAAAA,kBAHK;AAILC,MAAAA;AAJK,QAKFJ,MAAM,CAAEK,YAAF,CALV;AAMA,UAAM;AAAEC,MAAAA;AAAF,QAA2BN,MAAM,CAAEO,aAAF,CAAvC;;AAEA,UAAMC,UAAU,GAAGJ,yBAAyB,EAA5C;;AACA,UAAMK,kBAAkB,GAAGH,oBAAoB,EAA/C;;AAEA,UAAMI,YAAY,GAAG,CAAC,EAAEF,UAAF,aAAEA,UAAF,eAAEA,UAAU,CAAEG,MAAd,CAAD,GAClBV,oBAAoB,CAAEO,UAAU,CAAE,CAAF,CAAZ,CADF,GAElBI,SAFH;AAIA,UAAMC,sBAAsB,GAAGV,kBAAkB,CAChDM,kBADgD,EAEhDC,YAFgD,CAAjD;;AAKA,UAAMI,gBAAgB,GAAGZ,mBAAmB,CAAEM,UAAF,CAA5C;;AAEA,UAAMO,qBAAqB,GAC1BD,gBAAgB,CAACH,MAAjB,KAA4B,CAA5B,IACA,sBAAAG,gBAAgB,CAAE,CAAF,CAAhB,wEAAuBE,IAAvB,MAAgCP,kBAFjC,CAvB4B,CA2B5B;AACA;AACA;;AACA,UAAMQ,YAAY,GAAGJ,sBAAsB,IAAIC,gBAAgB,CAACH,MAAhE,CA9B4B,CAgC5B;;;AACA,UAAMO,cAAc,GACnBH,qBAAqB,IACrB,CAAC,CAAED,gBAAgB,CAAE,CAAF,CAAhB,CAAsBK,WAAtB,CAAkCR,MAFtC;;AAGA,WAAO;AACNhB,MAAAA,SAAS,EAAEa,UADL;AAENZ,MAAAA,WAAW,EAAEqB,YAFP;AAGNpB,MAAAA,aAAa,EAAEqB,cAHT;AAINpB,MAAAA,eAAe,EAAEgB,gBAJX;AAKNf,MAAAA,iBAAiB,EAAEU;AALb,KAAP;AAOA,GA3CG,EA2CD,EA3CC,CANJ;AAkDA,SAAO;AACNd,IAAAA,SADM;AAENC,IAAAA,WAFM;AAGNC,IAAAA,aAHM;AAINC,IAAAA,eAJM;AAKNC,IAAAA;AALM,GAAP;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Contains the properties `ConvertToGroupButton` component needs.\n *\n * @typedef {Object} ConvertToGroupButtonProps\n * @property {string[]} clientIds An array of the selected client ids.\n * @property {boolean} isGroupable Indicates if the selected blocks can be grouped.\n * @property {boolean} isUngroupable Indicates if the selected blocks can be ungrouped.\n * @property {WPBlock[]} blocksSelection An array of the selected blocks.\n * @property {string} groupingBlockName The name of block used for handling grouping interactions.\n */\n\n/**\n * Returns the properties `ConvertToGroupButton` component needs to work properly.\n * It is used in `BlockSettingsMenuControls` to know if `ConvertToGroupButton`\n * should be rendered, to avoid ending up with an empty MenuGroup.\n *\n * @return {ConvertToGroupButtonProps} Returns the properties needed by `ConvertToGroupButton`.\n */\nexport default function useConvertToGroupButtonProps() {\n\tconst {\n\t\tclientIds,\n\t\tisGroupable,\n\t\tisUngroupable,\n\t\tblocksSelection,\n\t\tgroupingBlockName,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockRootClientId,\n\t\t\tgetBlocksByClientId,\n\t\t\tcanInsertBlockType,\n\t\t\tgetSelectedBlockClientIds,\n\t\t} = select( blockEditorStore );\n\t\tconst { getGroupingBlockName } = select( blocksStore );\n\n\t\tconst _clientIds = getSelectedBlockClientIds();\n\t\tconst _groupingBlockName = getGroupingBlockName();\n\n\t\tconst rootClientId = !! _clientIds?.length\n\t\t\t? getBlockRootClientId( _clientIds[ 0 ] )\n\t\t\t: undefined;\n\n\t\tconst groupingBlockAvailable = canInsertBlockType(\n\t\t\t_groupingBlockName,\n\t\t\trootClientId\n\t\t);\n\n\t\tconst _blocksSelection = getBlocksByClientId( _clientIds );\n\n\t\tconst isSingleGroupingBlock =\n\t\t\t_blocksSelection.length === 1 &&\n\t\t\t_blocksSelection[ 0 ]?.name === _groupingBlockName;\n\n\t\t// Do we have\n\t\t// 1. Grouping block available to be inserted?\n\t\t// 2. One or more blocks selected\n\t\tconst _isGroupable = groupingBlockAvailable && _blocksSelection.length;\n\n\t\t// Do we have a single Group Block selected and does that group have inner blocks?\n\t\tconst _isUngroupable =\n\t\t\tisSingleGroupingBlock &&\n\t\t\t!! _blocksSelection[ 0 ].innerBlocks.length;\n\t\treturn {\n\t\t\tclientIds: _clientIds,\n\t\t\tisGroupable: _isGroupable,\n\t\t\tisUngroupable: _isUngroupable,\n\t\t\tblocksSelection: _blocksSelection,\n\t\t\tgroupingBlockName: _groupingBlockName,\n\t\t};\n\t}, [] );\n\treturn {\n\t\tclientIds,\n\t\tisGroupable,\n\t\tisUngroupable,\n\t\tblocksSelection,\n\t\tgroupingBlockName,\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js"],"names":["useConvertToGroupButtonProps","selectedClientIds","clientIds","isGroupable","isUngroupable","blocksSelection","groupingBlockName","select","getBlockRootClientId","getBlocksByClientId","canInsertBlockType","getSelectedBlockClientIds","blockEditorStore","getGroupingBlockName","blocksStore","_clientIds","length","_groupingBlockName","rootClientId","undefined","groupingBlockAvailable","_blocksSelection","isSingleGroupingBlock","name","_isGroupable","_isUngroupable","innerBlocks"],"mappings":";;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,4BAAT,CAAuCC,iBAAvC,EAA2D;AACzE,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,WAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,eAJK;AAKLC,IAAAA;AALK,MAMF,qBACDC,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,oBADK;AAELC,MAAAA,mBAFK;AAGLC,MAAAA,kBAHK;AAILC,MAAAA;AAJK,QAKFJ,MAAM,CAAEK,YAAF,CALV;AAMA,UAAM;AAAEC,MAAAA;AAAF,QAA2BN,MAAM,CAAEO,aAAF,CAAvC;;AAEA,UAAMC,UAAU,GAAGd,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,IAAAA,iBAAiB,CAAEe,MAAnB,GAChBf,iBADgB,GAEhBU,yBAAyB,EAF5B;;AAGA,UAAMM,kBAAkB,GAAGJ,oBAAoB,EAA/C;;AAEA,UAAMK,YAAY,GAAG,CAAC,EAAEH,UAAF,aAAEA,UAAF,eAAEA,UAAU,CAAEC,MAAd,CAAD,GAClBR,oBAAoB,CAAEO,UAAU,CAAE,CAAF,CAAZ,CADF,GAElBI,SAFH;AAIA,UAAMC,sBAAsB,GAAGV,kBAAkB,CAChDO,kBADgD,EAEhDC,YAFgD,CAAjD;;AAKA,UAAMG,gBAAgB,GAAGZ,mBAAmB,CAAEM,UAAF,CAA5C;;AAEA,UAAMO,qBAAqB,GAC1BD,gBAAgB,CAACL,MAAjB,KAA4B,CAA5B,IACA,sBAAAK,gBAAgB,CAAE,CAAF,CAAhB,wEAAuBE,IAAvB,MAAgCN,kBAFjC,CAzBa,CA6Bb;AACA;AACA;;AACA,UAAMO,YAAY,GACjBJ,sBAAsB,IAAIC,gBAAgB,CAACL,MAD5C,CAhCa,CAmCb;;;AACA,UAAMS,cAAc,GACnBH,qBAAqB,IACrB,CAAC,CAAED,gBAAgB,CAAE,CAAF,CAAhB,CAAsBK,WAAtB,CAAkCV,MAFtC;;AAGA,WAAO;AACNd,MAAAA,SAAS,EAAEa,UADL;AAENZ,MAAAA,WAAW,EAAEqB,YAFP;AAGNpB,MAAAA,aAAa,EAAEqB,cAHT;AAINpB,MAAAA,eAAe,EAAEgB,gBAJX;AAKNf,MAAAA,iBAAiB,EAAEW;AALb,KAAP;AAOA,GA/CE,EAgDH,CAAEhB,iBAAF,CAhDG,CANJ;AAyDA,SAAO;AACNC,IAAAA,SADM;AAENC,IAAAA,WAFM;AAGNC,IAAAA,aAHM;AAINC,IAAAA,eAJM;AAKNC,IAAAA;AALM,GAAP;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Contains the properties `ConvertToGroupButton` component needs.\n *\n * @typedef {Object} ConvertToGroupButtonProps\n * @property {string[]} clientIds An array of the selected client ids.\n * @property {boolean} isGroupable Indicates if the selected blocks can be grouped.\n * @property {boolean} isUngroupable Indicates if the selected blocks can be ungrouped.\n * @property {WPBlock[]} blocksSelection An array of the selected blocks.\n * @property {string} groupingBlockName The name of block used for handling grouping interactions.\n */\n\n/**\n * Returns the properties `ConvertToGroupButton` component needs to work properly.\n * It is used in `BlockSettingsMenuControls` to know if `ConvertToGroupButton`\n * should be rendered, to avoid ending up with an empty MenuGroup.\n *\n * @param {?string[]} selectedClientIds An optional array of clientIds to group. The selected blocks\n * from the block editor store are used if this is not provided.\n *\n * @return {ConvertToGroupButtonProps} Returns the properties needed by `ConvertToGroupButton`.\n */\nexport default function useConvertToGroupButtonProps( selectedClientIds ) {\n\tconst {\n\t\tclientIds,\n\t\tisGroupable,\n\t\tisUngroupable,\n\t\tblocksSelection,\n\t\tgroupingBlockName,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getGroupingBlockName } = select( blocksStore );\n\n\t\t\tconst _clientIds = selectedClientIds?.length\n\t\t\t\t? selectedClientIds\n\t\t\t\t: getSelectedBlockClientIds();\n\t\t\tconst _groupingBlockName = getGroupingBlockName();\n\n\t\t\tconst rootClientId = !! _clientIds?.length\n\t\t\t\t? getBlockRootClientId( _clientIds[ 0 ] )\n\t\t\t\t: undefined;\n\n\t\t\tconst groupingBlockAvailable = canInsertBlockType(\n\t\t\t\t_groupingBlockName,\n\t\t\t\trootClientId\n\t\t\t);\n\n\t\t\tconst _blocksSelection = getBlocksByClientId( _clientIds );\n\n\t\t\tconst isSingleGroupingBlock =\n\t\t\t\t_blocksSelection.length === 1 &&\n\t\t\t\t_blocksSelection[ 0 ]?.name === _groupingBlockName;\n\n\t\t\t// Do we have\n\t\t\t// 1. Grouping block available to be inserted?\n\t\t\t// 2. One or more blocks selected\n\t\t\tconst _isGroupable =\n\t\t\t\tgroupingBlockAvailable && _blocksSelection.length;\n\n\t\t\t// Do we have a single Group Block selected and does that group have inner blocks?\n\t\t\tconst _isUngroupable =\n\t\t\t\tisSingleGroupingBlock &&\n\t\t\t\t!! _blocksSelection[ 0 ].innerBlocks.length;\n\t\t\treturn {\n\t\t\t\tclientIds: _clientIds,\n\t\t\t\tisGroupable: _isGroupable,\n\t\t\t\tisUngroupable: _isUngroupable,\n\t\t\t\tblocksSelection: _blocksSelection,\n\t\t\t\tgroupingBlockName: _groupingBlockName,\n\t\t\t};\n\t\t},\n\t\t[ selectedClientIds ]\n\t);\n\n\treturn {\n\t\tclientIds,\n\t\tisGroupable,\n\t\tisUngroupable,\n\t\tblocksSelection,\n\t\tgroupingBlockName,\n\t};\n}\n"]}
@@ -15,6 +15,8 @@ var _names = _interopRequireDefault(require("colord/plugins/names"));
15
15
 
16
16
  var _a11y = _interopRequireDefault(require("colord/plugins/a11y"));
17
17
 
18
+ var _components = require("@wordpress/components");
19
+
18
20
  var _transformStyles = _interopRequireDefault(require("../../utils/transform-styles"));
19
21
 
20
22
  /**
@@ -74,11 +76,27 @@ function EditorStyles(_ref) {
74
76
  let {
75
77
  styles
76
78
  } = _ref;
77
- const transformedStyles = (0, _element.useMemo)(() => (0, _transformStyles.default)(styles, EDITOR_STYLES_SELECTOR), [styles]);
79
+ const transformedStyles = (0, _element.useMemo)(() => (0, _transformStyles.default)(styles.filter(style => style === null || style === void 0 ? void 0 : style.css), EDITOR_STYLES_SELECTOR), [styles]);
80
+ const transformedSvgs = (0, _element.useMemo)(() => styles.filter(style => style.__unstableType === 'svgs').map(style => style.assets).join(''), [styles]);
78
81
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("style", {
79
82
  ref: useDarkThemeBodyClassName(styles)
80
83
  }), transformedStyles.map((css, index) => (0, _element.createElement)("style", {
81
84
  key: index
82
- }, css)));
85
+ }, css)), (0, _element.createElement)(_components.SVG, {
86
+ xmlns: "http://www.w3.org/2000/svg",
87
+ viewBox: "0 0 0 0",
88
+ width: "0",
89
+ height: "0",
90
+ role: "none",
91
+ style: {
92
+ visibility: 'hidden',
93
+ position: 'absolute',
94
+ left: '-9999px',
95
+ overflow: 'hidden'
96
+ },
97
+ dangerouslySetInnerHTML: {
98
+ __html: transformedSvgs
99
+ }
100
+ }));
83
101
  }
84
102
  //# sourceMappingURL=index.js.map