@wordpress/block-editor 12.9.0 → 12.10.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 (463) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +33 -3
  3. package/build/components/block-canvas/index.js +107 -0
  4. package/build/components/block-canvas/index.js.map +1 -0
  5. package/build/components/block-inspector/index.js +4 -1
  6. package/build/components/block-inspector/index.js.map +1 -1
  7. package/build/components/block-patterns-list/index.js +19 -4
  8. package/build/components/block-patterns-list/index.js.map +1 -1
  9. package/build/components/block-patterns-paging/index.js +66 -0
  10. package/build/components/block-patterns-paging/index.js.map +1 -0
  11. package/build/components/block-settings-menu/block-settings-dropdown.js +28 -0
  12. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  13. package/build/components/block-settings-menu-controls/index.js +4 -7
  14. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  15. package/build/components/block-styles/index.js +1 -0
  16. package/build/components/block-styles/index.js.map +1 -1
  17. package/build/components/block-toolbar/block-toolbar-menu.native.js +3 -7
  18. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  19. package/build/components/block-tools/block-contextual-toolbar.js +18 -7
  20. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  21. package/build/components/block-tools/block-selection-button.js +5 -1
  22. package/build/components/block-tools/block-selection-button.js.map +1 -1
  23. package/build/components/border-radius-control/input-controls.js +1 -1
  24. package/build/components/border-radius-control/input-controls.js.map +1 -1
  25. package/build/components/border-radius-control/linked-button.js +2 -4
  26. package/build/components/border-radius-control/linked-button.js.map +1 -1
  27. package/build/components/colors/with-colors.js.map +1 -1
  28. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
  29. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  30. package/build/components/default-block-appender/index.native.js +20 -1
  31. package/build/components/default-block-appender/index.native.js.map +1 -1
  32. package/build/components/duotone/utils.js +68 -0
  33. package/build/components/duotone/utils.js.map +1 -1
  34. package/build/components/editor-styles/index.js +28 -9
  35. package/build/components/editor-styles/index.js.map +1 -1
  36. package/build/components/global-styles/hooks.js +2 -101
  37. package/build/components/global-styles/hooks.js.map +1 -1
  38. package/build/components/global-styles/image-settings-panel.js +61 -0
  39. package/build/components/global-styles/image-settings-panel.js.map +1 -0
  40. package/build/components/global-styles/index.js +11 -17
  41. package/build/components/global-styles/index.js.map +1 -1
  42. package/build/components/global-styles/use-global-styles-output.js +19 -15
  43. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  44. package/build/components/global-styles/utils.js +1 -1
  45. package/build/components/global-styles/utils.js.map +1 -1
  46. package/build/components/iframe/index.js +67 -33
  47. package/build/components/iframe/index.js.map +1 -1
  48. package/build/components/image-editor/use-save-image.js +2 -5
  49. package/build/components/image-editor/use-save-image.js.map +1 -1
  50. package/build/components/image-editor/use-transform-image.js +9 -9
  51. package/build/components/image-editor/use-transform-image.js.map +1 -1
  52. package/build/components/index.js +8 -12
  53. package/build/components/index.js.map +1 -1
  54. package/build/components/index.native.js +6 -5
  55. package/build/components/index.native.js.map +1 -1
  56. package/build/components/inner-blocks/use-nested-settings-update.js +13 -7
  57. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  58. package/build/components/inserter/block-patterns-explorer/explorer.js +12 -6
  59. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  60. package/build/components/inserter/block-patterns-explorer/patterns-list.js +57 -23
  61. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  62. package/build/components/inserter/block-patterns-explorer/sidebar.js +24 -9
  63. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  64. package/build/components/inserter/block-patterns-source-filter.js +54 -0
  65. package/build/components/inserter/block-patterns-source-filter.js.map +1 -0
  66. package/build/components/inserter/block-patterns-sync-filter.js +46 -0
  67. package/build/components/inserter/block-patterns-sync-filter.js.map +1 -0
  68. package/build/components/inserter/block-patterns-tab.js +91 -45
  69. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  70. package/build/components/inserter/hooks/use-patterns-paging.js +57 -0
  71. package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -0
  72. package/build/components/inserter/hooks/use-patterns-state.js +21 -10
  73. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  74. package/build/components/inserter/menu.js +13 -11
  75. package/build/components/inserter/menu.js.map +1 -1
  76. package/build/components/inserter/search-results.js +4 -3
  77. package/build/components/inserter/search-results.js.map +1 -1
  78. package/build/components/inserter/tabs.js +1 -12
  79. package/build/components/inserter/tabs.js.map +1 -1
  80. package/build/components/inspector-controls/block-support-slot-container.js +12 -1
  81. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  82. package/build/components/inspector-controls/fill.js +24 -13
  83. package/build/components/inspector-controls/fill.js.map +1 -1
  84. package/build/components/inspector-controls/groups.js +5 -3
  85. package/build/components/inspector-controls/groups.js.map +1 -1
  86. package/build/components/inspector-controls/slot.js +13 -0
  87. package/build/components/inspector-controls/slot.js.map +1 -1
  88. package/build/components/inspector-controls-tabs/styles-tab.js +3 -0
  89. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  90. package/build/components/link-control/index.js +13 -2
  91. package/build/components/link-control/index.js.map +1 -1
  92. package/build/components/link-control/settings.js +2 -1
  93. package/build/components/link-control/settings.js.map +1 -1
  94. package/build/components/list-view/block-select-button.js +1 -3
  95. package/build/components/list-view/block-select-button.js.map +1 -1
  96. package/build/components/list-view/block.js +13 -1
  97. package/build/components/list-view/block.js.map +1 -1
  98. package/build/components/list-view/use-block-selection.js +29 -24
  99. package/build/components/list-view/use-block-selection.js.map +1 -1
  100. package/build/components/media-placeholder/index.js +2 -2
  101. package/build/components/media-placeholder/index.js.map +1 -1
  102. package/build/components/media-placeholder/index.native.js +11 -11
  103. package/build/components/media-placeholder/index.native.js.map +1 -1
  104. package/build/components/media-replace-flow/index.js +2 -3
  105. package/build/components/media-replace-flow/index.js.map +1 -1
  106. package/build/components/media-upload/constants.js +30 -0
  107. package/build/components/media-upload/constants.js.map +1 -0
  108. package/build/components/media-upload/index.native.js +63 -53
  109. package/build/components/media-upload/index.native.js.map +1 -1
  110. package/build/components/preview-options/index.js +1 -1
  111. package/build/components/preview-options/index.js.map +1 -1
  112. package/build/components/rich-text/index.js +34 -35
  113. package/build/components/rich-text/index.js.map +1 -1
  114. package/build/components/rich-text/index.native.js +14 -32
  115. package/build/components/rich-text/index.native.js.map +1 -1
  116. package/build/components/rich-text/multiline.js +95 -0
  117. package/build/components/rich-text/multiline.js.map +1 -0
  118. package/build/components/rich-text/split-value.js +10 -16
  119. package/build/components/rich-text/split-value.js.map +1 -1
  120. package/build/components/rich-text/use-enter.js +31 -40
  121. package/build/components/rich-text/use-enter.js.map +1 -1
  122. package/build/components/rich-text/use-paste-handler.js +18 -33
  123. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  124. package/build/components/spacing-sizes-control/utils.js +1 -1
  125. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  126. package/build/components/use-block-commands/index.js +30 -18
  127. package/build/components/use-block-commands/index.js.map +1 -1
  128. package/build/components/use-block-display-information/index.js +5 -2
  129. package/build/components/use-block-display-information/index.js.map +1 -1
  130. package/build/hooks/background.js +258 -0
  131. package/build/hooks/background.js.map +1 -0
  132. package/build/hooks/block-hooks.js +188 -0
  133. package/build/hooks/block-hooks.js.map +1 -0
  134. package/build/hooks/block-rename-ui.js +160 -0
  135. package/build/hooks/block-rename-ui.js.map +1 -0
  136. package/build/hooks/duotone.js +29 -42
  137. package/build/hooks/duotone.js.map +1 -1
  138. package/build/hooks/index.js +2 -2
  139. package/build/hooks/index.js.map +1 -1
  140. package/build/hooks/layout.js +31 -14
  141. package/build/hooks/layout.js.map +1 -1
  142. package/build/hooks/position.js +4 -2
  143. package/build/hooks/position.js.map +1 -1
  144. package/build/hooks/style.js +74 -25
  145. package/build/hooks/style.js.map +1 -1
  146. package/build/hooks/utils.js +4 -0
  147. package/build/hooks/utils.js.map +1 -1
  148. package/build/private-apis.js +2 -0
  149. package/build/private-apis.js.map +1 -1
  150. package/build/store/actions.js +33 -10
  151. package/build/store/actions.js.map +1 -1
  152. package/build/store/private-actions.js +42 -8
  153. package/build/store/private-actions.js.map +1 -1
  154. package/build/store/private-selectors.js +23 -0
  155. package/build/store/private-selectors.js.map +1 -1
  156. package/build/store/reducer.js +43 -1
  157. package/build/store/reducer.js.map +1 -1
  158. package/build/store/selectors.js +84 -23
  159. package/build/store/selectors.js.map +1 -1
  160. package/build/store/utils.js +0 -4
  161. package/build/store/utils.js.map +1 -1
  162. package/build-module/components/block-canvas/index.js +97 -0
  163. package/build-module/components/block-canvas/index.js.map +1 -0
  164. package/build-module/components/block-inspector/index.js +4 -1
  165. package/build-module/components/block-inspector/index.js.map +1 -1
  166. package/build-module/components/block-patterns-list/index.js +20 -5
  167. package/build-module/components/block-patterns-list/index.js.map +1 -1
  168. package/build-module/components/block-patterns-paging/index.js +59 -0
  169. package/build-module/components/block-patterns-paging/index.js.map +1 -0
  170. package/build-module/components/block-settings-menu/block-settings-dropdown.js +28 -0
  171. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  172. package/build-module/components/block-settings-menu-controls/index.js +4 -7
  173. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  174. package/build-module/components/block-styles/index.js +1 -0
  175. package/build-module/components/block-styles/index.js.map +1 -1
  176. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +3 -7
  177. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  178. package/build-module/components/block-tools/block-contextual-toolbar.js +18 -7
  179. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  180. package/build-module/components/block-tools/block-selection-button.js +5 -1
  181. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  182. package/build-module/components/border-radius-control/input-controls.js +1 -1
  183. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  184. package/build-module/components/border-radius-control/linked-button.js +2 -4
  185. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  186. package/build-module/components/colors/with-colors.js.map +1 -1
  187. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
  188. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  189. package/build-module/components/default-block-appender/index.native.js +20 -1
  190. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  191. package/build-module/components/duotone/utils.js +65 -0
  192. package/build-module/components/duotone/utils.js.map +1 -1
  193. package/build-module/components/editor-styles/index.js +28 -9
  194. package/build-module/components/editor-styles/index.js.map +1 -1
  195. package/build-module/components/global-styles/hooks.js +3 -100
  196. package/build-module/components/global-styles/hooks.js.map +1 -1
  197. package/build-module/components/global-styles/image-settings-panel.js +53 -0
  198. package/build-module/components/global-styles/image-settings-panel.js.map +1 -0
  199. package/build-module/components/global-styles/index.js +2 -2
  200. package/build-module/components/global-styles/index.js.map +1 -1
  201. package/build-module/components/global-styles/use-global-styles-output.js +18 -16
  202. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  203. package/build-module/components/global-styles/utils.js +1 -1
  204. package/build-module/components/global-styles/utils.js.map +1 -1
  205. package/build-module/components/iframe/index.js +66 -33
  206. package/build-module/components/iframe/index.js.map +1 -1
  207. package/build-module/components/image-editor/use-save-image.js +2 -5
  208. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  209. package/build-module/components/image-editor/use-transform-image.js +9 -9
  210. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  211. package/build-module/components/index.js +1 -1
  212. package/build-module/components/index.js.map +1 -1
  213. package/build-module/components/index.native.js +2 -1
  214. package/build-module/components/index.native.js.map +1 -1
  215. package/build-module/components/inner-blocks/use-nested-settings-update.js +14 -8
  216. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  217. package/build-module/components/inserter/block-patterns-explorer/explorer.js +12 -6
  218. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  219. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +59 -25
  220. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  221. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +23 -9
  222. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  223. package/build-module/components/inserter/block-patterns-source-filter.js +44 -0
  224. package/build-module/components/inserter/block-patterns-source-filter.js.map +1 -0
  225. package/build-module/components/inserter/block-patterns-sync-filter.js +38 -0
  226. package/build-module/components/inserter/block-patterns-sync-filter.js.map +1 -0
  227. package/build-module/components/inserter/block-patterns-tab.js +87 -46
  228. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  229. package/build-module/components/inserter/hooks/use-patterns-paging.js +50 -0
  230. package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -0
  231. package/build-module/components/inserter/hooks/use-patterns-state.js +22 -10
  232. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  233. package/build-module/components/inserter/menu.js +13 -11
  234. package/build-module/components/inserter/menu.js.map +1 -1
  235. package/build-module/components/inserter/search-results.js +4 -3
  236. package/build-module/components/inserter/search-results.js.map +1 -1
  237. package/build-module/components/inserter/tabs.js +1 -12
  238. package/build-module/components/inserter/tabs.js.map +1 -1
  239. package/build-module/components/inspector-controls/block-support-slot-container.js +13 -2
  240. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  241. package/build-module/components/inspector-controls/fill.js +25 -14
  242. package/build-module/components/inspector-controls/fill.js.map +1 -1
  243. package/build-module/components/inspector-controls/groups.js +5 -3
  244. package/build-module/components/inspector-controls/groups.js.map +1 -1
  245. package/build-module/components/inspector-controls/slot.js +15 -1
  246. package/build-module/components/inspector-controls/slot.js.map +1 -1
  247. package/build-module/components/inspector-controls-tabs/styles-tab.js +3 -0
  248. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  249. package/build-module/components/link-control/index.js +13 -2
  250. package/build-module/components/link-control/index.js.map +1 -1
  251. package/build-module/components/link-control/settings.js +2 -1
  252. package/build-module/components/link-control/settings.js.map +1 -1
  253. package/build-module/components/list-view/block-select-button.js +1 -3
  254. package/build-module/components/list-view/block-select-button.js.map +1 -1
  255. package/build-module/components/list-view/block.js +13 -1
  256. package/build-module/components/list-view/block.js.map +1 -1
  257. package/build-module/components/list-view/use-block-selection.js +30 -25
  258. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  259. package/build-module/components/media-placeholder/index.js +2 -2
  260. package/build-module/components/media-placeholder/index.js.map +1 -1
  261. package/build-module/components/media-placeholder/index.native.js +7 -7
  262. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  263. package/build-module/components/media-replace-flow/index.js +2 -3
  264. package/build-module/components/media-replace-flow/index.js.map +1 -1
  265. package/build-module/components/media-upload/constants.js +14 -0
  266. package/build-module/components/media-upload/constants.js.map +1 -0
  267. package/build-module/components/media-upload/index.native.js +53 -34
  268. package/build-module/components/media-upload/index.native.js.map +1 -1
  269. package/build-module/components/preview-options/index.js +1 -1
  270. package/build-module/components/preview-options/index.js.map +1 -1
  271. package/build-module/components/rich-text/index.js +35 -37
  272. package/build-module/components/rich-text/index.js.map +1 -1
  273. package/build-module/components/rich-text/index.native.js +15 -33
  274. package/build-module/components/rich-text/index.native.js.map +1 -1
  275. package/build-module/components/rich-text/multiline.js +87 -0
  276. package/build-module/components/rich-text/multiline.js.map +1 -0
  277. package/build-module/components/rich-text/split-value.js +10 -16
  278. package/build-module/components/rich-text/split-value.js.map +1 -1
  279. package/build-module/components/rich-text/use-enter.js +33 -42
  280. package/build-module/components/rich-text/use-enter.js.map +1 -1
  281. package/build-module/components/rich-text/use-paste-handler.js +19 -34
  282. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  283. package/build-module/components/spacing-sizes-control/utils.js +2 -2
  284. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  285. package/build-module/components/use-block-commands/index.js +28 -16
  286. package/build-module/components/use-block-commands/index.js.map +1 -1
  287. package/build-module/components/use-block-display-information/index.js +5 -2
  288. package/build-module/components/use-block-display-information/index.js.map +1 -1
  289. package/build-module/hooks/background.js +244 -0
  290. package/build-module/hooks/background.js.map +1 -0
  291. package/build-module/hooks/block-hooks.js +181 -0
  292. package/build-module/hooks/block-hooks.js.map +1 -0
  293. package/build-module/hooks/block-rename-ui.js +153 -0
  294. package/build-module/hooks/block-rename-ui.js.map +1 -0
  295. package/build-module/hooks/duotone.js +26 -39
  296. package/build-module/hooks/duotone.js.map +1 -1
  297. package/build-module/hooks/index.js +2 -2
  298. package/build-module/hooks/index.js.map +1 -1
  299. package/build-module/hooks/layout.js +33 -16
  300. package/build-module/hooks/layout.js.map +1 -1
  301. package/build-module/hooks/position.js +4 -2
  302. package/build-module/hooks/position.js.map +1 -1
  303. package/build-module/hooks/style.js +73 -24
  304. package/build-module/hooks/style.js.map +1 -1
  305. package/build-module/hooks/utils.js +4 -0
  306. package/build-module/hooks/utils.js.map +1 -1
  307. package/build-module/private-apis.js +2 -0
  308. package/build-module/private-apis.js.map +1 -1
  309. package/build-module/store/actions.js +33 -10
  310. package/build-module/store/actions.js.map +1 -1
  311. package/build-module/store/private-actions.js +39 -8
  312. package/build-module/store/private-actions.js.map +1 -1
  313. package/build-module/store/private-selectors.js +21 -0
  314. package/build-module/store/private-selectors.js.map +1 -1
  315. package/build-module/store/reducer.js +41 -1
  316. package/build-module/store/reducer.js.map +1 -1
  317. package/build-module/store/selectors.js +78 -22
  318. package/build-module/store/selectors.js.map +1 -1
  319. package/build-module/store/utils.js +0 -4
  320. package/build-module/store/utils.js.map +1 -1
  321. package/build-style/content-rtl.css +0 -1
  322. package/build-style/content.css +0 -1
  323. package/build-style/style-rtl.css +174 -131
  324. package/build-style/style.css +174 -131
  325. package/package.json +32 -32
  326. package/src/components/block-canvas/index.js +108 -0
  327. package/src/components/block-inspector/index.js +5 -1
  328. package/src/components/block-list/content.scss +0 -1
  329. package/src/components/block-patterns-list/index.js +32 -7
  330. package/src/components/block-patterns-list/style.scss +26 -9
  331. package/src/components/block-patterns-paging/index.js +92 -0
  332. package/src/components/block-patterns-paging/style.scss +42 -0
  333. package/src/components/block-settings-menu/block-settings-dropdown.js +44 -0
  334. package/src/components/block-settings-menu-controls/index.js +4 -9
  335. package/src/components/block-styles/index.js +1 -0
  336. package/src/components/block-styles/style.scss +3 -3
  337. package/src/components/block-toolbar/block-toolbar-menu.native.js +1 -6
  338. package/src/components/block-tools/block-contextual-toolbar.js +16 -5
  339. package/src/components/block-tools/block-selection-button.js +9 -1
  340. package/src/components/block-tools/style.scss +0 -98
  341. package/src/components/border-radius-control/input-controls.js +1 -1
  342. package/src/components/border-radius-control/linked-button.js +8 -11
  343. package/src/components/color-palette/test/__snapshots__/control.js.snap +34 -21
  344. package/src/components/colors/with-colors.js +3 -2
  345. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -35
  346. package/src/components/default-block-appender/index.native.js +26 -3
  347. package/src/components/duotone/utils.js +65 -0
  348. package/src/components/editor-styles/index.js +32 -23
  349. package/src/components/global-styles/hooks.js +4 -112
  350. package/src/components/global-styles/image-settings-panel.js +71 -0
  351. package/src/components/global-styles/index.js +4 -3
  352. package/src/components/global-styles/use-global-styles-output.js +25 -16
  353. package/src/components/global-styles/utils.js +1 -2
  354. package/src/components/iframe/index.js +72 -33
  355. package/src/components/image-editor/use-save-image.js +2 -9
  356. package/src/components/image-editor/use-transform-image.js +9 -9
  357. package/src/components/index.js +1 -1
  358. package/src/components/index.native.js +2 -2
  359. package/src/components/inner-blocks/use-nested-settings-update.js +15 -10
  360. package/src/components/inserter/block-patterns-explorer/explorer.js +17 -5
  361. package/src/components/inserter/block-patterns-explorer/patterns-list.js +109 -40
  362. package/src/components/inserter/block-patterns-explorer/sidebar.js +23 -8
  363. package/src/components/inserter/block-patterns-source-filter.js +40 -0
  364. package/src/components/inserter/block-patterns-sync-filter.js +35 -0
  365. package/src/components/inserter/block-patterns-tab.js +168 -57
  366. package/src/components/inserter/hooks/use-patterns-paging.js +65 -0
  367. package/src/components/inserter/hooks/use-patterns-state.js +27 -16
  368. package/src/components/inserter/menu.js +15 -17
  369. package/src/components/inserter/search-results.js +6 -4
  370. package/src/components/inserter/style.scss +23 -2
  371. package/src/components/inserter/tabs.js +2 -12
  372. package/src/components/inserter/test/index.native.js +8 -12
  373. package/src/components/inspector-controls/block-support-slot-container.js +19 -3
  374. package/src/components/inspector-controls/fill.js +28 -14
  375. package/src/components/inspector-controls/groups.js +6 -2
  376. package/src/components/inspector-controls/slot.js +28 -3
  377. package/src/components/inspector-controls-tabs/styles-tab.js +4 -0
  378. package/src/components/link-control/index.js +14 -0
  379. package/src/components/link-control/settings.js +1 -0
  380. package/src/components/link-control/style.scss +28 -7
  381. package/src/components/link-control/test/index.js +88 -6
  382. package/src/components/list-view/block-select-button.js +1 -3
  383. package/src/components/list-view/block.js +19 -1
  384. package/src/components/list-view/style.scss +1 -2
  385. package/src/components/list-view/use-block-selection.js +38 -32
  386. package/src/components/media-placeholder/README.md +2 -2
  387. package/src/components/media-placeholder/index.js +2 -2
  388. package/src/components/media-placeholder/index.native.js +11 -12
  389. package/src/components/media-replace-flow/index.js +2 -2
  390. package/src/components/media-replace-flow/test/index.js +5 -23
  391. package/src/components/media-upload/README.md +3 -2
  392. package/src/components/media-upload/constants.js +15 -0
  393. package/src/components/media-upload/index.native.js +66 -40
  394. package/src/components/media-upload/style.native.scss +4 -0
  395. package/src/components/media-upload/test/index.native.js +2 -2
  396. package/src/components/preview-options/README.md +7 -0
  397. package/src/components/preview-options/index.js +1 -1
  398. package/src/components/rich-text/index.js +48 -44
  399. package/src/components/rich-text/index.native.js +14 -42
  400. package/src/components/rich-text/multiline.js +121 -0
  401. package/src/components/rich-text/split-value.js +10 -35
  402. package/src/components/rich-text/use-enter.js +32 -42
  403. package/src/components/rich-text/use-paste-handler.js +16 -40
  404. package/src/components/spacing-sizes-control/style.scss +5 -7
  405. package/src/components/spacing-sizes-control/utils.js +1 -2
  406. package/src/components/use-block-commands/index.js +28 -20
  407. package/src/components/use-block-display-information/index.js +3 -0
  408. package/src/hooks/background.js +288 -0
  409. package/src/hooks/background.scss +57 -0
  410. package/src/hooks/block-hooks.js +257 -0
  411. package/src/hooks/block-hooks.scss +16 -0
  412. package/src/hooks/block-rename-ui.js +230 -0
  413. package/src/hooks/block-rename-ui.scss +3 -0
  414. package/src/hooks/duotone.js +42 -43
  415. package/src/hooks/index.js +2 -2
  416. package/src/hooks/layout.js +31 -33
  417. package/src/hooks/position.js +4 -3
  418. package/src/hooks/style.js +96 -37
  419. package/src/hooks/test/align.native.js +4 -3
  420. package/src/hooks/utils.js +4 -0
  421. package/src/private-apis.js +2 -0
  422. package/src/store/actions.js +52 -10
  423. package/src/store/private-actions.js +37 -6
  424. package/src/store/private-selectors.js +21 -0
  425. package/src/store/reducer.js +38 -0
  426. package/src/store/selectors.js +107 -26
  427. package/src/store/test/actions.js +19 -8
  428. package/src/store/test/private-actions.js +17 -0
  429. package/src/store/test/reducer.js +25 -0
  430. package/src/store/test/selectors.js +130 -123
  431. package/src/store/utils.js +3 -10
  432. package/src/style.scss +4 -0
  433. package/build/components/duotone/components.js +0 -135
  434. package/build/components/duotone/components.js.map +0 -1
  435. package/build/components/duotone/index.js +0 -38
  436. package/build/components/duotone/index.js.map +0 -1
  437. package/build/components/global-styles/behaviors-panel.js +0 -64
  438. package/build/components/global-styles/behaviors-panel.js.map +0 -1
  439. package/build/components/inserter/reusable-blocks-tab.js +0 -85
  440. package/build/components/inserter/reusable-blocks-tab.js.map +0 -1
  441. package/build/hooks/auto-inserting-blocks.js +0 -174
  442. package/build/hooks/auto-inserting-blocks.js.map +0 -1
  443. package/build/hooks/behaviors.js +0 -173
  444. package/build/hooks/behaviors.js.map +0 -1
  445. package/build-module/components/duotone/components.js +0 -126
  446. package/build-module/components/duotone/components.js.map +0 -1
  447. package/build-module/components/duotone/index.js +0 -3
  448. package/build-module/components/duotone/index.js.map +0 -1
  449. package/build-module/components/global-styles/behaviors-panel.js +0 -57
  450. package/build-module/components/global-styles/behaviors-panel.js.map +0 -1
  451. package/build-module/components/inserter/reusable-blocks-tab.js +0 -76
  452. package/build-module/components/inserter/reusable-blocks-tab.js.map +0 -1
  453. package/build-module/hooks/auto-inserting-blocks.js +0 -167
  454. package/build-module/hooks/auto-inserting-blocks.js.map +0 -1
  455. package/build-module/hooks/behaviors.js +0 -166
  456. package/build-module/hooks/behaviors.js.map +0 -1
  457. package/src/components/duotone/components.js +0 -133
  458. package/src/components/duotone/index.js +0 -7
  459. package/src/components/global-styles/behaviors-panel.js +0 -71
  460. package/src/components/inserter/reusable-blocks-tab.js +0 -84
  461. package/src/components/inserter/test/reusable-blocks-tab.js +0 -73
  462. package/src/hooks/auto-inserting-blocks.js +0 -232
  463. package/src/hooks/behaviors.js +0 -206
@@ -20,6 +20,25 @@ import { useBlockSelectionClearer } from '../block-selection-clearer';
20
20
  import { useWritingFlow } from '../writing-flow';
21
21
  import { useCompatibilityStyles } from './use-compatibility-styles';
22
22
  import { store as blockEditorStore } from '../../store';
23
+ function bubbleEvent(event, Constructor, frame) {
24
+ const init = {};
25
+ for (const key in event) {
26
+ init[key] = event[key];
27
+ }
28
+ if (event instanceof frame.ownerDocument.defaultView.MouseEvent) {
29
+ const rect = frame.getBoundingClientRect();
30
+ init.clientX += rect.left;
31
+ init.clientY += rect.top;
32
+ }
33
+ const newEvent = new Constructor(event.type, init);
34
+ if (init.defaultPrevented) {
35
+ newEvent.preventDefault();
36
+ }
37
+ const cancelled = !frame.dispatchEvent(newEvent);
38
+ if (cancelled) {
39
+ event.preventDefault();
40
+ }
41
+ }
23
42
 
24
43
  /**
25
44
  * Bubbles some event types (keydown, keypress, and dragover) to parent document
@@ -29,38 +48,36 @@ import { store as blockEditorStore } from '../../store';
29
48
  * should be context dependent, e.g. actions on blocks like Cmd+A should not
30
49
  * work globally outside the block editor.
31
50
  *
32
- * @param {Document} doc Document to attach listeners to.
51
+ * @param {Document} iframeDocument Document to attach listeners to.
33
52
  */
34
- function bubbleEvents(doc) {
35
- const {
36
- defaultView
37
- } = doc;
38
- const {
39
- frameElement
40
- } = defaultView;
41
- function bubbleEvent(event) {
42
- const prototype = Object.getPrototypeOf(event);
43
- const constructorName = prototype.constructor.name;
44
- const Constructor = window[constructorName];
45
- const init = {};
46
- for (const key in event) {
47
- init[key] = event[key];
53
+ function useBubbleEvents(iframeDocument) {
54
+ return useRefEffect(body => {
55
+ const {
56
+ defaultView
57
+ } = iframeDocument;
58
+ if (!defaultView) {
59
+ return;
48
60
  }
49
- if (event instanceof defaultView.MouseEvent) {
50
- const rect = frameElement.getBoundingClientRect();
51
- init.clientX += rect.left;
52
- init.clientY += rect.top;
53
- }
54
- const newEvent = new Constructor(event.type, init);
55
- const cancelled = !frameElement.dispatchEvent(newEvent);
56
- if (cancelled) {
57
- event.preventDefault();
61
+ const {
62
+ frameElement
63
+ } = defaultView;
64
+ const eventTypes = ['dragover', 'mousemove'];
65
+ const handlers = {};
66
+ for (const name of eventTypes) {
67
+ handlers[name] = event => {
68
+ const prototype = Object.getPrototypeOf(event);
69
+ const constructorName = prototype.constructor.name;
70
+ const Constructor = window[constructorName];
71
+ bubbleEvent(event, Constructor, frameElement);
72
+ };
73
+ body.addEventListener(name, handlers[name]);
58
74
  }
59
- }
60
- const eventTypes = ['dragover', 'mousemove'];
61
- for (const name of eventTypes) {
62
- doc.addEventListener(name, bubbleEvent);
63
- }
75
+ return () => {
76
+ for (const name of eventTypes) {
77
+ body.removeEventListener(name, handlers[name]);
78
+ }
79
+ };
80
+ });
64
81
  }
65
82
  function Iframe({
66
83
  contentRef,
@@ -113,7 +130,6 @@ function Iframe({
113
130
  documentElement
114
131
  } = contentDocument;
115
132
  iFrameDocument = contentDocument;
116
- bubbleEvents(contentDocument);
117
133
  clearerRef(documentElement);
118
134
 
119
135
  // Ideally ALL classes that are added through get_body_class should
@@ -145,7 +161,7 @@ function Iframe({
145
161
  const disabledRef = useDisabled({
146
162
  isDisabled: !readonly
147
163
  });
148
- const bodyRef = useMergeRefs([contentRef, clearerRef, writingFlowRef, disabledRef]);
164
+ const bodyRef = useMergeRefs([useBubbleEvents(iframeDocument), contentRef, clearerRef, writingFlowRef, disabledRef]);
149
165
 
150
166
  // Correct doctype is required to enable rendering in standards
151
167
  // mode. Also preload the styles to avoid a flash of unstyled
@@ -178,6 +194,7 @@ function Iframe({
178
194
  return createElement(Fragment, null, tabIndex >= 0 && before, createElement("iframe", {
179
195
  ...props,
180
196
  style: {
197
+ border: 0,
181
198
  ...props.style,
182
199
  height: expand ? contentHeight : props.style?.height,
183
200
  marginTop: scale !== 1 ? -marginFromScaling + frameSize : props.style?.marginTop,
@@ -192,8 +209,24 @@ function Iframe({
192
209
  // content.
193
210
  ,
194
211
  src: src,
195
- title: __('Editor canvas')
196
- }, iframeDocument && createPortal(createElement("body", {
212
+ title: __('Editor canvas'),
213
+ onKeyDown: event => {
214
+ // If the event originates from inside the iframe, it means
215
+ // it bubbled through the portal, but only with React
216
+ // events. We need to to bubble native events as well,
217
+ // though by doing so we also trigger another React event,
218
+ // so we need to stop the propagation of this event to avoid
219
+ // duplication.
220
+ if (event.currentTarget.ownerDocument !== event.target.ownerDocument) {
221
+ event.stopPropagation();
222
+ bubbleEvent(event, window.KeyboardEvent, event.currentTarget);
223
+ }
224
+ }
225
+ }, iframeDocument && createPortal(
226
+ // We want to prevent React events from bubbling throught the iframe
227
+ // we bubble these manually.
228
+ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */
229
+ createElement("body", {
197
230
  ref: bodyRef,
198
231
  className: classnames('block-editor-iframe__body', 'editor-styles-wrapper', ...bodyClasses)
199
232
  }, contentResizeListener, createElement(StyleProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useState","createPortal","forwardRef","useMemo","useEffect","__","useResizeObserver","useMergeRefs","useRefEffect","useDisabled","__experimentalStyleProvider","StyleProvider","useSelect","useBlockSelectionClearer","useWritingFlow","useCompatibilityStyles","store","blockEditorStore","bubbleEvents","doc","defaultView","frameElement","bubbleEvent","event","prototype","Object","getPrototypeOf","constructorName","constructor","name","Constructor","window","init","key","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","cancelled","dispatchEvent","preventDefault","eventTypes","addEventListener","Iframe","contentRef","children","tabIndex","scale","frameSize","expand","readonly","forwardedRef","ref","props","resolvedAssets","isPreviewMode","select","settings","getSettings","__unstableResolvedAssets","__unstableIsPreviewMode","styles","scripts","iframeDocument","setIframeDocument","bodyClasses","setBodyClasses","compatStyles","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","setRef","node","_load","contentDocument","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","documentElement","Array","from","body","classList","filter","startsWith","dir","compatStyle","getElementById","id","head","appendChild","cloneNode","console","warn","removeEventListener","disabledRef","isDisabled","bodyRef","html","src","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","marginFromScaling","createElement","Fragment","style","marginTop","marginBottom","transform","transition","title","className","document","IframeIfReady","isInitialised","__internalIsInitialized"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { useCompatibilityStyles } from './use-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} doc Document to attach listeners to.\n */\nfunction bubbleEvents( doc ) {\n\tconst { defaultView } = doc;\n\tconst { frameElement } = defaultView;\n\n\tfunction bubbleEvent( event ) {\n\t\tconst prototype = Object.getPrototypeOf( event );\n\t\tconst constructorName = prototype.constructor.name;\n\t\tconst Constructor = window[ constructorName ];\n\n\t\tconst init = {};\n\n\t\tfor ( const key in event ) {\n\t\t\tinit[ key ] = event[ key ];\n\t\t}\n\n\t\tif ( event instanceof defaultView.MouseEvent ) {\n\t\t\tconst rect = frameElement.getBoundingClientRect();\n\t\t\tinit.clientX += rect.left;\n\t\t\tinit.clientY += rect.top;\n\t\t}\n\n\t\tconst newEvent = new Constructor( event.type, init );\n\t\tconst cancelled = ! frameElement.dispatchEvent( newEvent );\n\n\t\tif ( cancelled ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\n\tfor ( const name of eventTypes ) {\n\t\tdoc.addEventListener( name, bubbleEvent );\n\t}\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tscale = 1,\n\tframeSize = 0,\n\texpand = false,\n\treadonly,\n\tforwardedRef: ref,\n\t...props\n} ) {\n\tconst { resolvedAssets, isPreviewMode } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tresolvedAssets: settings.__unstableResolvedAssets,\n\t\t\tisPreviewMode: settings.__unstableIsPreviewMode,\n\t\t};\n\t}, [] );\n\tconst { styles = '', scripts = '' } = resolvedAssets;\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst compatStyles = useCompatibilityStyles();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tnode._load = () => {\n\t\t\tsetIframeDocument( node.contentDocument );\n\t\t};\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction onLoad() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tbubbleEvents( contentDocument );\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\n\t\t\tfor ( const compatStyle of compatStyles ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\tif ( ! isPreviewMode ) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\t\tcompatStyle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tdelete node._load;\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html = `<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<script>window.frameElement._load()</script>\n\t\t<style>html{height:auto!important;min-height:100%;}body{margin:0}</style>\n\t\t${ styles }\n\t\t${ scripts }\n\t</head>\n\t<body>\n\t\t<script>document.currentScript.parentElement.remove()</script>\n\t</body>\n</html>`;\n\n\tconst [ src, cleanup ] = useMemo( () => {\n\t\tconst _src = URL.createObjectURL(\n\t\t\tnew window.Blob( [ html ], { type: 'text/html' } )\n\t\t);\n\t\treturn [ _src, () => URL.revokeObjectURL( _src ) ];\n\t}, [ html ] );\n\n\tuseEffect( () => cleanup, [ cleanup ] );\n\n\t// We need to counter the margin created by scaling the iframe. If the scale\n\t// is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the\n\t// top or bottom margin is 0.55 / 2 ((1 - scale) / 2).\n\tconst marginFromScaling = ( contentHeight * ( 1 - scale ) ) / 2;\n\n\treturn (\n\t\t<>\n\t\t\t{ tabIndex >= 0 && before }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: expand ? contentHeight : props.style?.height,\n\t\t\t\t\tmarginTop:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginTop,\n\t\t\t\t\tmarginBottom:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginBottom,\n\t\t\t\t\ttransform:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? `scale( ${ scale } )`\n\t\t\t\t\t\t\t: props.style?.transform,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ __( 'Editor canvas' ) }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t</body>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ tabIndex >= 0 && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","useState","createPortal","forwardRef","useMemo","useEffect","__","useResizeObserver","useMergeRefs","useRefEffect","useDisabled","__experimentalStyleProvider","StyleProvider","useSelect","useBlockSelectionClearer","useWritingFlow","useCompatibilityStyles","store","blockEditorStore","bubbleEvent","event","Constructor","frame","init","key","ownerDocument","defaultView","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","defaultPrevented","preventDefault","cancelled","dispatchEvent","useBubbleEvents","iframeDocument","body","frameElement","eventTypes","handlers","name","prototype","Object","getPrototypeOf","constructorName","constructor","window","addEventListener","removeEventListener","Iframe","contentRef","children","tabIndex","scale","frameSize","expand","readonly","forwardedRef","ref","props","resolvedAssets","isPreviewMode","select","settings","getSettings","__unstableResolvedAssets","__unstableIsPreviewMode","styles","scripts","setIframeDocument","bodyClasses","setBodyClasses","compatStyles","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","setRef","node","_load","contentDocument","iFrameDocument","preventFileDropDefault","onLoad","documentElement","Array","from","classList","filter","startsWith","dir","compatStyle","getElementById","id","head","appendChild","cloneNode","console","warn","disabledRef","isDisabled","bodyRef","html","src","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","marginFromScaling","createElement","Fragment","style","border","marginTop","marginBottom","transform","transition","title","onKeyDown","currentTarget","target","stopPropagation","KeyboardEvent","className","document","IframeIfReady","isInitialised","__internalIsInitialized"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { useCompatibilityStyles } from './use-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\n\nfunction bubbleEvent( event, Constructor, frame ) {\n\tconst init = {};\n\n\tfor ( const key in event ) {\n\t\tinit[ key ] = event[ key ];\n\t}\n\n\tif ( event instanceof frame.ownerDocument.defaultView.MouseEvent ) {\n\t\tconst rect = frame.getBoundingClientRect();\n\t\tinit.clientX += rect.left;\n\t\tinit.clientY += rect.top;\n\t}\n\n\tconst newEvent = new Constructor( event.type, init );\n\tif ( init.defaultPrevented ) {\n\t\tnewEvent.preventDefault();\n\t}\n\tconst cancelled = ! frame.dispatchEvent( newEvent );\n\n\tif ( cancelled ) {\n\t\tevent.preventDefault();\n\t}\n}\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} iframeDocument Document to attach listeners to.\n */\nfunction useBubbleEvents( iframeDocument ) {\n\treturn useRefEffect( ( body ) => {\n\t\tconst { defaultView } = iframeDocument;\n\t\tif ( ! defaultView ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { frameElement } = defaultView;\n\t\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\t\tconst handlers = {};\n\t\tfor ( const name of eventTypes ) {\n\t\t\thandlers[ name ] = ( event ) => {\n\t\t\t\tconst prototype = Object.getPrototypeOf( event );\n\t\t\t\tconst constructorName = prototype.constructor.name;\n\t\t\t\tconst Constructor = window[ constructorName ];\n\t\t\t\tbubbleEvent( event, Constructor, frameElement );\n\t\t\t};\n\t\t\tbody.addEventListener( name, handlers[ name ] );\n\t\t}\n\n\t\treturn () => {\n\t\t\tfor ( const name of eventTypes ) {\n\t\t\t\tbody.removeEventListener( name, handlers[ name ] );\n\t\t\t}\n\t\t};\n\t} );\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tscale = 1,\n\tframeSize = 0,\n\texpand = false,\n\treadonly,\n\tforwardedRef: ref,\n\t...props\n} ) {\n\tconst { resolvedAssets, isPreviewMode } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tresolvedAssets: settings.__unstableResolvedAssets,\n\t\t\tisPreviewMode: settings.__unstableIsPreviewMode,\n\t\t};\n\t}, [] );\n\tconst { styles = '', scripts = '' } = resolvedAssets;\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst compatStyles = useCompatibilityStyles();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tnode._load = () => {\n\t\t\tsetIframeDocument( node.contentDocument );\n\t\t};\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction onLoad() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\n\t\t\tfor ( const compatStyle of compatStyles ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\tif ( ! isPreviewMode ) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\t\tcompatStyle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tdelete node._load;\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tuseBubbleEvents( iframeDocument ),\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html = `<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<script>window.frameElement._load()</script>\n\t\t<style>html{height:auto!important;min-height:100%;}body{margin:0}</style>\n\t\t${ styles }\n\t\t${ scripts }\n\t</head>\n\t<body>\n\t\t<script>document.currentScript.parentElement.remove()</script>\n\t</body>\n</html>`;\n\n\tconst [ src, cleanup ] = useMemo( () => {\n\t\tconst _src = URL.createObjectURL(\n\t\t\tnew window.Blob( [ html ], { type: 'text/html' } )\n\t\t);\n\t\treturn [ _src, () => URL.revokeObjectURL( _src ) ];\n\t}, [ html ] );\n\n\tuseEffect( () => cleanup, [ cleanup ] );\n\n\t// We need to counter the margin created by scaling the iframe. If the scale\n\t// is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the\n\t// top or bottom margin is 0.55 / 2 ((1 - scale) / 2).\n\tconst marginFromScaling = ( contentHeight * ( 1 - scale ) ) / 2;\n\n\treturn (\n\t\t<>\n\t\t\t{ tabIndex >= 0 && before }\n\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\tborder: 0,\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: expand ? contentHeight : props.style?.height,\n\t\t\t\t\tmarginTop:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginTop,\n\t\t\t\t\tmarginBottom:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginBottom,\n\t\t\t\t\ttransform:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? `scale( ${ scale } )`\n\t\t\t\t\t\t\t: props.style?.transform,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ __( 'Editor canvas' ) }\n\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t// If the event originates from inside the iframe, it means\n\t\t\t\t\t// it bubbled through the portal, but only with React\n\t\t\t\t\t// events. We need to to bubble native events as well,\n\t\t\t\t\t// though by doing so we also trigger another React event,\n\t\t\t\t\t// so we need to stop the propagation of this event to avoid\n\t\t\t\t\t// duplication.\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.currentTarget.ownerDocument !==\n\t\t\t\t\t\tevent.target.ownerDocument\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tbubbleEvent(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\twindow.KeyboardEvent,\n\t\t\t\t\t\t\tevent.currentTarget\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t// We want to prevent React events from bubbling throught the iframe\n\t\t\t\t\t\t// we bubble these manually.\n\t\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t</body>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ tabIndex >= 0 && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"],"mappings":"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"}
@@ -12,9 +12,6 @@ import { __unstableStripHTML as stripHTML } from '@wordpress/dom';
12
12
  export default function useSaveImage({
13
13
  crop,
14
14
  rotation,
15
- height,
16
- width,
17
- aspect,
18
15
  url,
19
16
  id,
20
17
  onSaveImage,
@@ -27,7 +24,7 @@ export default function useSaveImage({
27
24
  const cancel = useCallback(() => {
28
25
  setIsInProgress(false);
29
26
  onFinishEditing();
30
- }, [setIsInProgress, onFinishEditing]);
27
+ }, [onFinishEditing]);
31
28
  const apply = useCallback(() => {
32
29
  setIsInProgress(true);
33
30
  const modifiers = [];
@@ -75,7 +72,7 @@ export default function useSaveImage({
75
72
  setIsInProgress(false);
76
73
  onFinishEditing();
77
74
  });
78
- }, [setIsInProgress, crop, rotation, height, width, aspect, url, onSaveImage, createErrorNotice, setIsInProgress, onFinishEditing]);
75
+ }, [crop, rotation, id, url, onSaveImage, createErrorNotice, onFinishEditing]);
79
76
  return useMemo(() => ({
80
77
  isInProgress,
81
78
  apply,
@@ -1 +1 @@
1
- {"version":3,"names":["apiFetch","useDispatch","useCallback","useMemo","useState","__","sprintf","store","noticesStore","__unstableStripHTML","stripHTML","useSaveImage","crop","rotation","height","width","aspect","url","id","onSaveImage","onFinishEditing","createErrorNotice","isInProgress","setIsInProgress","cancel","apply","modifiers","push","type","args","angle","left","x","top","y","path","method","data","src","then","response","source_url","catch","error","message","finally"],"sources":["@wordpress/block-editor/src/components/image-editor/use-save-image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport apiFetch from '@wordpress/api-fetch';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\nexport default function useSaveImage( {\n\tcrop,\n\trotation,\n\theight,\n\twidth,\n\taspect,\n\turl,\n\tid,\n\tonSaveImage,\n\tonFinishEditing,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst [ isInProgress, setIsInProgress ] = useState( false );\n\n\tconst cancel = useCallback( () => {\n\t\tsetIsInProgress( false );\n\t\tonFinishEditing();\n\t}, [ setIsInProgress, onFinishEditing ] );\n\n\tconst apply = useCallback( () => {\n\t\tsetIsInProgress( true );\n\n\t\tconst modifiers = [];\n\n\t\tif ( rotation > 0 ) {\n\t\t\tmodifiers.push( {\n\t\t\t\ttype: 'rotate',\n\t\t\t\targs: {\n\t\t\t\t\tangle: rotation,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\t// The crop script may return some very small, sub-pixel values when the image was not cropped.\n\t\t// Crop only when the new size has changed by more than 0.1%.\n\t\tif ( crop.width < 99.9 || crop.height < 99.9 ) {\n\t\t\tmodifiers.push( {\n\t\t\t\ttype: 'crop',\n\t\t\t\targs: {\n\t\t\t\t\tleft: crop.x,\n\t\t\t\t\ttop: crop.y,\n\t\t\t\t\twidth: crop.width,\n\t\t\t\t\theight: crop.height,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tapiFetch( {\n\t\t\tpath: `/wp/v2/media/${ id }/edit`,\n\t\t\tmethod: 'POST',\n\t\t\tdata: { src: url, modifiers },\n\t\t} )\n\t\t\t.then( ( response ) => {\n\t\t\t\tonSaveImage( {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\turl: response.source_url,\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: 1. Error message */\n\t\t\t\t\t\t__( 'Could not edit image. %s' ),\n\t\t\t\t\t\tstripHTML( error.message )\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'image-editing-error',\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.finally( () => {\n\t\t\t\tsetIsInProgress( false );\n\t\t\t\tonFinishEditing();\n\t\t\t} );\n\t}, [\n\t\tsetIsInProgress,\n\t\tcrop,\n\t\trotation,\n\t\theight,\n\t\twidth,\n\t\taspect,\n\t\turl,\n\t\tonSaveImage,\n\t\tcreateErrorNotice,\n\t\tsetIsInProgress,\n\t\tonFinishEditing,\n\t] );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tisInProgress,\n\t\t\tapply,\n\t\t\tcancel,\n\t\t} ),\n\t\t[ isInProgress, apply, cancel ]\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["apiFetch","useDispatch","useCallback","useMemo","useState","__","sprintf","store","noticesStore","__unstableStripHTML","stripHTML","useSaveImage","crop","rotation","url","id","onSaveImage","onFinishEditing","createErrorNotice","isInProgress","setIsInProgress","cancel","apply","modifiers","push","type","args","angle","width","height","left","x","top","y","path","method","data","src","then","response","source_url","catch","error","message","finally"],"sources":["@wordpress/block-editor/src/components/image-editor/use-save-image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport apiFetch from '@wordpress/api-fetch';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\nexport default function useSaveImage( {\n\tcrop,\n\trotation,\n\turl,\n\tid,\n\tonSaveImage,\n\tonFinishEditing,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst [ isInProgress, setIsInProgress ] = useState( false );\n\n\tconst cancel = useCallback( () => {\n\t\tsetIsInProgress( false );\n\t\tonFinishEditing();\n\t}, [ onFinishEditing ] );\n\n\tconst apply = useCallback( () => {\n\t\tsetIsInProgress( true );\n\n\t\tconst modifiers = [];\n\n\t\tif ( rotation > 0 ) {\n\t\t\tmodifiers.push( {\n\t\t\t\ttype: 'rotate',\n\t\t\t\targs: {\n\t\t\t\t\tangle: rotation,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\t// The crop script may return some very small, sub-pixel values when the image was not cropped.\n\t\t// Crop only when the new size has changed by more than 0.1%.\n\t\tif ( crop.width < 99.9 || crop.height < 99.9 ) {\n\t\t\tmodifiers.push( {\n\t\t\t\ttype: 'crop',\n\t\t\t\targs: {\n\t\t\t\t\tleft: crop.x,\n\t\t\t\t\ttop: crop.y,\n\t\t\t\t\twidth: crop.width,\n\t\t\t\t\theight: crop.height,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tapiFetch( {\n\t\t\tpath: `/wp/v2/media/${ id }/edit`,\n\t\t\tmethod: 'POST',\n\t\t\tdata: { src: url, modifiers },\n\t\t} )\n\t\t\t.then( ( response ) => {\n\t\t\t\tonSaveImage( {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\turl: response.source_url,\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: 1. Error message */\n\t\t\t\t\t\t__( 'Could not edit image. %s' ),\n\t\t\t\t\t\tstripHTML( error.message )\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'image-editing-error',\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.finally( () => {\n\t\t\t\tsetIsInProgress( false );\n\t\t\t\tonFinishEditing();\n\t\t\t} );\n\t}, [\n\t\tcrop,\n\t\trotation,\n\t\tid,\n\t\turl,\n\t\tonSaveImage,\n\t\tcreateErrorNotice,\n\t\tonFinishEditing,\n\t] );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tisInProgress,\n\t\t\tapply,\n\t\t\tcancel,\n\t\t} ),\n\t\t[ isInProgress, apply, cancel ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,sBAAsB;AAC3C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;AACnE,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,mBAAmB,IAAIC,SAAS,QAAQ,gBAAgB;AAEjE,eAAe,SAASC,YAAYA,CAAE;EACrCC,IAAI;EACJC,QAAQ;EACRC,GAAG;EACHC,EAAE;EACFC,WAAW;EACXC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC;EAAkB,CAAC,GAAGjB,WAAW,CAAEO,YAAa,CAAC;EACzD,MAAM,CAAEW,YAAY,EAAEC,eAAe,CAAE,GAAGhB,QAAQ,CAAE,KAAM,CAAC;EAE3D,MAAMiB,MAAM,GAAGnB,WAAW,CAAE,MAAM;IACjCkB,eAAe,CAAE,KAAM,CAAC;IACxBH,eAAe,CAAC,CAAC;EAClB,CAAC,EAAE,CAAEA,eAAe,CAAG,CAAC;EAExB,MAAMK,KAAK,GAAGpB,WAAW,CAAE,MAAM;IAChCkB,eAAe,CAAE,IAAK,CAAC;IAEvB,MAAMG,SAAS,GAAG,EAAE;IAEpB,IAAKV,QAAQ,GAAG,CAAC,EAAG;MACnBU,SAAS,CAACC,IAAI,CAAE;QACfC,IAAI,EAAE,QAAQ;QACdC,IAAI,EAAE;UACLC,KAAK,EAAEd;QACR;MACD,CAAE,CAAC;IACJ;;IAEA;IACA;IACA,IAAKD,IAAI,CAACgB,KAAK,GAAG,IAAI,IAAIhB,IAAI,CAACiB,MAAM,GAAG,IAAI,EAAG;MAC9CN,SAAS,CAACC,IAAI,CAAE;QACfC,IAAI,EAAE,MAAM;QACZC,IAAI,EAAE;UACLI,IAAI,EAAElB,IAAI,CAACmB,CAAC;UACZC,GAAG,EAAEpB,IAAI,CAACqB,CAAC;UACXL,KAAK,EAAEhB,IAAI,CAACgB,KAAK;UACjBC,MAAM,EAAEjB,IAAI,CAACiB;QACd;MACD,CAAE,CAAC;IACJ;IAEA7B,QAAQ,CAAE;MACTkC,IAAI,EAAG,gBAAgBnB,EAAI,OAAM;MACjCoB,MAAM,EAAE,MAAM;MACdC,IAAI,EAAE;QAAEC,GAAG,EAAEvB,GAAG;QAAES;MAAU;IAC7B,CAAE,CAAC,CACDe,IAAI,CAAIC,QAAQ,IAAM;MACtBvB,WAAW,CAAE;QACZD,EAAE,EAAEwB,QAAQ,CAACxB,EAAE;QACfD,GAAG,EAAEyB,QAAQ,CAACC;MACf,CAAE,CAAC;IACJ,CAAE,CAAC,CACFC,KAAK,CAAIC,KAAK,IAAM;MACpBxB,iBAAiB,CAChBZ,OAAO,EACN;MACAD,EAAE,CAAE,0BAA2B,CAAC,EAChCK,SAAS,CAAEgC,KAAK,CAACC,OAAQ,CAC1B,CAAC,EACD;QACC5B,EAAE,EAAE,qBAAqB;QACzBU,IAAI,EAAE;MACP,CACD,CAAC;IACF,CAAE,CAAC,CACFmB,OAAO,CAAE,MAAM;MACfxB,eAAe,CAAE,KAAM,CAAC;MACxBH,eAAe,CAAC,CAAC;IAClB,CAAE,CAAC;EACL,CAAC,EAAE,CACFL,IAAI,EACJC,QAAQ,EACRE,EAAE,EACFD,GAAG,EACHE,WAAW,EACXE,iBAAiB,EACjBD,eAAe,CACd,CAAC;EAEH,OAAOd,OAAO,CACb,OAAQ;IACPgB,YAAY;IACZG,KAAK;IACLD;EACD,CAAC,CAAE,EACH,CAAEF,YAAY,EAAEG,KAAK,EAAED,MAAM,CAC9B,CAAC;AACF"}
@@ -28,10 +28,10 @@ export default function useTransformImage({
28
28
  setEditedUrl();
29
29
  setRotation(angle);
30
30
  setAspect(defaultAspect);
31
- setPosition({
32
- x: -(position.y * naturalAspectRatio),
33
- y: position.x * naturalAspectRatio
34
- });
31
+ setPosition(prevPosition => ({
32
+ x: -(prevPosition.y * naturalAspectRatio),
33
+ y: prevPosition.x * naturalAspectRatio
34
+ }));
35
35
  return;
36
36
  }
37
37
  function editImage(event) {
@@ -59,10 +59,10 @@ export default function useTransformImage({
59
59
  setEditedUrl(URL.createObjectURL(blob));
60
60
  setRotation(angle);
61
61
  setAspect(canvas.width / canvas.height);
62
- setPosition({
63
- x: -(position.y * naturalAspectRatio),
64
- y: position.x * naturalAspectRatio
65
- });
62
+ setPosition(prevPosition => ({
63
+ x: -(prevPosition.y * naturalAspectRatio),
64
+ y: prevPosition.x * naturalAspectRatio
65
+ }));
66
66
  });
67
67
  }
68
68
  const el = new window.Image();
@@ -72,7 +72,7 @@ export default function useTransformImage({
72
72
  if (typeof imgCrossOrigin === 'string') {
73
73
  el.crossOrigin = imgCrossOrigin;
74
74
  }
75
- }, [rotation, defaultAspect]);
75
+ }, [rotation, defaultAspect, url]);
76
76
  return useMemo(() => ({
77
77
  editedUrl,
78
78
  setEditedUrl,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useMemo","useState","applyFilters","useTransformImage","url","naturalWidth","naturalHeight","editedUrl","setEditedUrl","crop","setCrop","position","setPosition","x","y","zoom","setZoom","rotation","setRotation","defaultAspect","aspect","setAspect","rotateClockwise","angle","naturalAspectRatio","editImage","event","canvas","document","createElement","translateX","translateY","width","target","height","context","getContext","translate","rotate","Math","PI","drawImage","toBlob","blob","URL","createObjectURL","el","window","Image","src","onload","imgCrossOrigin","undefined","crossOrigin"],"sources":["@wordpress/block-editor/src/components/image-editor/use-transform-image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, useState } from '@wordpress/element';\nimport { applyFilters } from '@wordpress/hooks';\n\nexport default function useTransformImage( {\n\turl,\n\tnaturalWidth,\n\tnaturalHeight,\n} ) {\n\tconst [ editedUrl, setEditedUrl ] = useState();\n\tconst [ crop, setCrop ] = useState();\n\tconst [ position, setPosition ] = useState( { x: 0, y: 0 } );\n\tconst [ zoom, setZoom ] = useState( 100 );\n\tconst [ rotation, setRotation ] = useState( 0 );\n\tconst defaultAspect = naturalWidth / naturalHeight;\n\tconst [ aspect, setAspect ] = useState( defaultAspect );\n\n\tconst rotateClockwise = useCallback( () => {\n\t\tconst angle = ( rotation + 90 ) % 360;\n\n\t\tlet naturalAspectRatio = defaultAspect;\n\n\t\tif ( rotation % 180 === 90 ) {\n\t\t\tnaturalAspectRatio = 1 / defaultAspect;\n\t\t}\n\n\t\tif ( angle === 0 ) {\n\t\t\tsetEditedUrl();\n\t\t\tsetRotation( angle );\n\t\t\tsetAspect( defaultAspect );\n\t\t\tsetPosition( {\n\t\t\t\tx: -( position.y * naturalAspectRatio ),\n\t\t\t\ty: position.x * naturalAspectRatio,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tfunction editImage( event ) {\n\t\t\tconst canvas = document.createElement( 'canvas' );\n\n\t\t\tlet translateX = 0;\n\t\t\tlet translateY = 0;\n\n\t\t\tif ( angle % 180 ) {\n\t\t\t\tcanvas.width = event.target.height;\n\t\t\t\tcanvas.height = event.target.width;\n\t\t\t} else {\n\t\t\t\tcanvas.width = event.target.width;\n\t\t\t\tcanvas.height = event.target.height;\n\t\t\t}\n\n\t\t\tif ( angle === 90 || angle === 180 ) {\n\t\t\t\ttranslateX = canvas.width;\n\t\t\t}\n\n\t\t\tif ( angle === 270 || angle === 180 ) {\n\t\t\t\ttranslateY = canvas.height;\n\t\t\t}\n\n\t\t\tconst context = canvas.getContext( '2d' );\n\n\t\t\tcontext.translate( translateX, translateY );\n\t\t\tcontext.rotate( ( angle * Math.PI ) / 180 );\n\t\t\tcontext.drawImage( event.target, 0, 0 );\n\n\t\t\tcanvas.toBlob( ( blob ) => {\n\t\t\t\tsetEditedUrl( URL.createObjectURL( blob ) );\n\t\t\t\tsetRotation( angle );\n\t\t\t\tsetAspect( canvas.width / canvas.height );\n\t\t\t\tsetPosition( {\n\t\t\t\t\tx: -( position.y * naturalAspectRatio ),\n\t\t\t\t\ty: position.x * naturalAspectRatio,\n\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\n\t\tconst el = new window.Image();\n\t\tel.src = url;\n\t\tel.onload = editImage;\n\n\t\tconst imgCrossOrigin = applyFilters(\n\t\t\t'media.crossOrigin',\n\t\t\tundefined,\n\t\t\turl\n\t\t);\n\t\tif ( typeof imgCrossOrigin === 'string' ) {\n\t\t\tel.crossOrigin = imgCrossOrigin;\n\t\t}\n\t}, [ rotation, defaultAspect ] );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\teditedUrl,\n\t\t\tsetEditedUrl,\n\t\t\tcrop,\n\t\t\tsetCrop,\n\t\t\tposition,\n\t\t\tsetPosition,\n\t\t\tzoom,\n\t\t\tsetZoom,\n\t\t\trotation,\n\t\t\tsetRotation,\n\t\t\trotateClockwise,\n\t\t\taspect,\n\t\t\tsetAspect,\n\t\t\tdefaultAspect,\n\t\t} ),\n\t\t[\n\t\t\teditedUrl,\n\t\t\tcrop,\n\t\t\tposition,\n\t\t\tzoom,\n\t\t\trotation,\n\t\t\trotateClockwise,\n\t\t\taspect,\n\t\t\tdefaultAspect,\n\t\t]\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useCallback","useMemo","useState","applyFilters","useTransformImage","url","naturalWidth","naturalHeight","editedUrl","setEditedUrl","crop","setCrop","position","setPosition","x","y","zoom","setZoom","rotation","setRotation","defaultAspect","aspect","setAspect","rotateClockwise","angle","naturalAspectRatio","prevPosition","editImage","event","canvas","document","createElement","translateX","translateY","width","target","height","context","getContext","translate","rotate","Math","PI","drawImage","toBlob","blob","URL","createObjectURL","el","window","Image","src","onload","imgCrossOrigin","undefined","crossOrigin"],"sources":["@wordpress/block-editor/src/components/image-editor/use-transform-image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, useState } from '@wordpress/element';\nimport { applyFilters } from '@wordpress/hooks';\n\nexport default function useTransformImage( {\n\turl,\n\tnaturalWidth,\n\tnaturalHeight,\n} ) {\n\tconst [ editedUrl, setEditedUrl ] = useState();\n\tconst [ crop, setCrop ] = useState();\n\tconst [ position, setPosition ] = useState( { x: 0, y: 0 } );\n\tconst [ zoom, setZoom ] = useState( 100 );\n\tconst [ rotation, setRotation ] = useState( 0 );\n\tconst defaultAspect = naturalWidth / naturalHeight;\n\tconst [ aspect, setAspect ] = useState( defaultAspect );\n\n\tconst rotateClockwise = useCallback( () => {\n\t\tconst angle = ( rotation + 90 ) % 360;\n\n\t\tlet naturalAspectRatio = defaultAspect;\n\n\t\tif ( rotation % 180 === 90 ) {\n\t\t\tnaturalAspectRatio = 1 / defaultAspect;\n\t\t}\n\n\t\tif ( angle === 0 ) {\n\t\t\tsetEditedUrl();\n\t\t\tsetRotation( angle );\n\t\t\tsetAspect( defaultAspect );\n\t\t\tsetPosition( ( prevPosition ) => ( {\n\t\t\t\tx: -( prevPosition.y * naturalAspectRatio ),\n\t\t\t\ty: prevPosition.x * naturalAspectRatio,\n\t\t\t} ) );\n\t\t\treturn;\n\t\t}\n\n\t\tfunction editImage( event ) {\n\t\t\tconst canvas = document.createElement( 'canvas' );\n\n\t\t\tlet translateX = 0;\n\t\t\tlet translateY = 0;\n\n\t\t\tif ( angle % 180 ) {\n\t\t\t\tcanvas.width = event.target.height;\n\t\t\t\tcanvas.height = event.target.width;\n\t\t\t} else {\n\t\t\t\tcanvas.width = event.target.width;\n\t\t\t\tcanvas.height = event.target.height;\n\t\t\t}\n\n\t\t\tif ( angle === 90 || angle === 180 ) {\n\t\t\t\ttranslateX = canvas.width;\n\t\t\t}\n\n\t\t\tif ( angle === 270 || angle === 180 ) {\n\t\t\t\ttranslateY = canvas.height;\n\t\t\t}\n\n\t\t\tconst context = canvas.getContext( '2d' );\n\n\t\t\tcontext.translate( translateX, translateY );\n\t\t\tcontext.rotate( ( angle * Math.PI ) / 180 );\n\t\t\tcontext.drawImage( event.target, 0, 0 );\n\n\t\t\tcanvas.toBlob( ( blob ) => {\n\t\t\t\tsetEditedUrl( URL.createObjectURL( blob ) );\n\t\t\t\tsetRotation( angle );\n\t\t\t\tsetAspect( canvas.width / canvas.height );\n\t\t\t\tsetPosition( ( prevPosition ) => ( {\n\t\t\t\t\tx: -( prevPosition.y * naturalAspectRatio ),\n\t\t\t\t\ty: prevPosition.x * naturalAspectRatio,\n\t\t\t\t} ) );\n\t\t\t} );\n\t\t}\n\n\t\tconst el = new window.Image();\n\t\tel.src = url;\n\t\tel.onload = editImage;\n\n\t\tconst imgCrossOrigin = applyFilters(\n\t\t\t'media.crossOrigin',\n\t\t\tundefined,\n\t\t\turl\n\t\t);\n\t\tif ( typeof imgCrossOrigin === 'string' ) {\n\t\t\tel.crossOrigin = imgCrossOrigin;\n\t\t}\n\t}, [ rotation, defaultAspect, url ] );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\teditedUrl,\n\t\t\tsetEditedUrl,\n\t\t\tcrop,\n\t\t\tsetCrop,\n\t\t\tposition,\n\t\t\tsetPosition,\n\t\t\tzoom,\n\t\t\tsetZoom,\n\t\t\trotation,\n\t\t\tsetRotation,\n\t\t\trotateClockwise,\n\t\t\taspect,\n\t\t\tsetAspect,\n\t\t\tdefaultAspect,\n\t\t} ),\n\t\t[\n\t\t\teditedUrl,\n\t\t\tcrop,\n\t\t\tposition,\n\t\t\tzoom,\n\t\t\trotation,\n\t\t\trotateClockwise,\n\t\t\taspect,\n\t\t\tdefaultAspect,\n\t\t]\n\t);\n}\n"],"mappings":"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"}
@@ -5,7 +5,6 @@
5
5
  export * from './colors';
6
6
  export * from './gradients';
7
7
  export * from './font-sizes';
8
- export * from './duotone';
9
8
  export { AlignmentControl, AlignmentToolbar } from './alignment-control';
10
9
  export { default as Autocomplete } from './autocomplete';
11
10
  export { BlockAlignmentControl, BlockAlignmentToolbar } from './block-alignment-control';
@@ -14,6 +13,7 @@ export { default as __experimentalBlockAlignmentMatrixControl } from './block-al
14
13
  export { default as BlockBreadcrumb } from './block-breadcrumb';
15
14
  export { default as __experimentalUseBlockOverlayActive } from './block-content-overlay';
16
15
  export { BlockContextProvider } from './block-context';
16
+ export { default as BlockCanvas } from './block-canvas';
17
17
  export { default as BlockControls, BlockFormatControls } from './block-controls';
18
18
  export { default as BlockColorsStyleSelector } from './color-style-selector';
19
19
  export { default as BlockEdit, useBlockEditContext } from './block-edit';
@@ -1 +1 @@
1
- {"version":3,"names":["AlignmentControl","AlignmentToolbar","default","Autocomplete","BlockAlignmentControl","BlockAlignmentToolbar","__experimentalBlockFullHeightAligmentControl","__experimentalBlockAlignmentMatrixControl","BlockBreadcrumb","__experimentalUseBlockOverlayActive","BlockContextProvider","BlockControls","BlockFormatControls","BlockColorsStyleSelector","BlockEdit","useBlockEditContext","BlockIcon","BlockNavigationDropdown","BlockStyles","HeadingLevelDropdown","__experimentalBlockVariationPicker","__experimentalBlockPatternSetup","__experimentalBlockVariationTransforms","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","__experimentalBorderRadiusControl","ButtonBlockerAppender","ButtonBlockAppender","ColorPalette","ColorPaletteControl","ContrastChecker","__experimentalDateFormatPicker","__experimentalDuotoneControl","__experimentalFontAppearanceControl","__experimentalFontFamilyControl","__experimentalLetterSpacingControl","__experimentalTextDecorationControl","__experimentalTextTransformControl","__experimentalWritingModeControl","__experimentalColorGradientControl","__experimentalColorGradientSettingsDropdown","__experimentalPanelColorGradientSettings","__experimentalUseMultipleOriginColorsAndGradients","HeightControl","__experimentalImageEditor","__experimentalImageSizeControl","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","__experimentalLinkControl","__experimentalLinkControlSearchInput","__experimentalLinkControlSearchResults","__experimentalLinkControlSearchItem","LineHeightControl","__experimentalListView","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MediaUploadCheck","PanelColorSettings","PlainText","__experimentalResponsiveBlockControl","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","ToolSelector","__experimentalUnitControl","URLInput","URLInputButton","URLPopover","__experimentalImageURLInputUI","withColorContext","__experimentalSpacingSizesControl","getSpacingPresetCssVar","isValueSpacingPreset","getCustomValueFromPreset","__unstableBlockSettingsMenuFirstItem","__unstableBlockToolbarLastItem","__unstableBlockNameContext","__unstableInserterMenuExtension","__experimentalPreviewOptions","__experimentalUseResizeCanvas","BlockInspector","BlockList","useBlockProps","BlockMover","BlockPreview","useBlockPreview","__experimentalUseBlockPreview","BlockSelectionClearer","useBlockSelectionClearer","__unstableUseBlockSelectionClearer","BlockSettingsMenu","BlockSettingsMenuControls","BlockTitle","BlockToolbar","BlockTools","CopyHandler","useClipboardHandler","__unstableUseClipboardHandler","DefaultBlockAppender","__unstableEditorStyles","Inserter","__experimentalLibrary","BlockEditorKeyboardShortcuts","MultiSelectScrollIntoView","NavigableToolbar","ObserveTyping","useTypingObserver","__unstableUseTypingObserver","useMouseMoveTypingReset","__unstableUseMouseMoveTypingReset","SkipToSelectedBlock","Typewriter","useTypewriter","__unstableUseTypewriter","Warning","WritingFlow","useBlockDisplayInformation","__unstableIframe","RecursionProvider","__experimentalRecursionProvider","useHasRecursion","__experimentalUseHasRecursion","__experimentalBlockPatternsList","__experimentalPublishDateTimePicker","__experimentalInspectorPopoverHeader","useBlockEditingMode","BlockEditorProvider","useSetting","useBlockCommands","ReusableBlocksRenameHint"],"sources":["@wordpress/block-editor/src/components/index.js"],"sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport * from './duotone';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalUseBlockOverlayActive } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as BlockStyles } from './block-styles';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDateFormatPicker } from './date-format-picker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalWritingModeControl } from './writing-mode-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalUseMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as HeightControl } from './height-control';\nexport { default as __experimentalImageEditor } from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as ToolSelector } from './tool-selector';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\nexport { default as __experimentalSpacingSizesControl } from './spacing-sizes-control';\nexport {\n\tgetSpacingPresetCssVar,\n\tisValueSpacingPreset,\n\tgetCustomValueFromPreset,\n} from './spacing-sizes-control/utils';\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableBlockToolbarLastItem } from './block-toolbar/block-toolbar-last-item';\nexport { default as __unstableBlockNameContext } from './block-toolbar/block-name-context';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as BlockMover } from './block-mover';\nexport {\n\tdefault as BlockPreview,\n\tuseBlockPreview as __experimentalUseBlockPreview,\n} from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\tuseClipboardHandler as __unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport {\n\tRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\nexport { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';\nexport { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';\nexport { useBlockEditingMode } from './block-editing-mode';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\nexport { useBlockCommands } from './use-block-commands';\n\n/*\n * The following rename hint component can be removed in 6.4.\n */\nexport { default as ReusableBlocksRenameHint } from './inserter/reusable-block-rename-hint';\n"],"mappings":"AAAA;AACA;AACA;;AAEA,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,cAAc;AAC5B,cAAc,WAAW;AACzB,SAASA,gBAAgB,EAAEC,gBAAgB,QAAQ,qBAAqB;AACxE,SAASC,OAAO,IAAIC,YAAY,QAAQ,gBAAgB;AACxD,SACCC,qBAAqB,EACrBC,qBAAqB,QACf,2BAA2B;AAClC,SAASH,OAAO,IAAII,4CAA4C,QAAQ,uCAAuC;AAC/G,SAASJ,OAAO,IAAIK,yCAAyC,QAAQ,kCAAkC;AACvG,SAASL,OAAO,IAAIM,eAAe,QAAQ,oBAAoB;AAC/D,SAASN,OAAO,IAAIO,mCAAmC,QAAQ,yBAAyB;AACxF,SAASC,oBAAoB,QAAQ,iBAAiB;AACtD,SACCR,OAAO,IAAIS,aAAa,EACxBC,mBAAmB,QACb,kBAAkB;AACzB,SAASV,OAAO,IAAIW,wBAAwB,QAAQ,wBAAwB;AAC5E,SAASX,OAAO,IAAIY,SAAS,EAAEC,mBAAmB,QAAQ,cAAc;AACxE,SAASb,OAAO,IAAIc,SAAS,QAAQ,cAAc;AACnD,SAASd,OAAO,IAAIe,uBAAuB,QAAQ,6BAA6B;AAChF,SAASf,OAAO,IAAIgB,WAAW,QAAQ,gBAAgB;AACvD,SAAShB,OAAO,IAAIiB,oBAAoB,QAAQ,gCAAgC;AAChF,SAASjB,OAAO,IAAIkB,kCAAkC,QAAQ,0BAA0B;AACxF,SAASlB,OAAO,IAAImB,+BAA+B,QAAQ,uBAAuB;AAClF,SAASnB,OAAO,IAAIoB,sCAAsC,QAAQ,8BAA8B;AAChG,SACCC,6BAA6B,EAC7BC,6BAA6B,QACvB,oCAAoC;AAC3C,SAAStB,OAAO,IAAIuB,iCAAiC,QAAQ,yBAAyB;AACtF;AACC;AACAC,qBAAqB,EACrBxB,OAAO,IAAIyB,mBAAmB,QACxB,yBAAyB;AAChC,SAASzB,OAAO,IAAI0B,YAAY,QAAQ,iBAAiB;AACzD,SAAS1B,OAAO,IAAI2B,mBAAmB,QAAQ,yBAAyB;AACxE,SAAS3B,OAAO,IAAI4B,eAAe,QAAQ,oBAAoB;AAC/D,SAAS5B,OAAO,IAAI6B,8BAA8B,QAAQ,sBAAsB;AAChF,SAAS7B,OAAO,IAAI8B,4BAA4B,QAAQ,mBAAmB;AAC3E,SAAS9B,OAAO,IAAI+B,mCAAmC,QAAQ,2BAA2B;AAC1F,SAAS/B,OAAO,IAAIgC,+BAA+B,QAAQ,eAAe;AAC1E,SAAShC,OAAO,IAAIiC,kCAAkC,QAAQ,0BAA0B;AACxF,SAASjC,OAAO,IAAIkC,mCAAmC,QAAQ,2BAA2B;AAC1F,SAASlC,OAAO,IAAImC,kCAAkC,QAAQ,0BAA0B;AACxF,SAASnC,OAAO,IAAIoC,gCAAgC,QAAQ,wBAAwB;AACpF,SAASpC,OAAO,IAAIqC,kCAAkC,QAAQ,4BAA4B;AAC1F,SAASrC,OAAO,IAAIsC,2CAA2C,QAAQ,6BAA6B;AACpG,SAAStC,OAAO,IAAIuC,wCAAwC,QAAQ,kDAAkD;AACtH,SAASvC,OAAO,IAAIwC,iDAAiD,QAAQ,6DAA6D;AAC1I,SAASxC,OAAO,IAAIyC,aAAa,QAAQ,kBAAkB;AAC3D,SAASzC,OAAO,IAAI0C,yBAAyB,QAAQ,gBAAgB;AACrE,SAAS1C,OAAO,IAAI2C,8BAA8B,QAAQ,sBAAsB;AAChF,SAAS3C,OAAO,IAAI4C,WAAW,EAAEC,mBAAmB,QAAQ,gBAAgB;AAC5E,SACC7C,OAAO,IAAI8C,iBAAiB,EAC5BC,yBAAyB,QACnB,sBAAsB;AAC7B,SACCC,cAAc,EACdC,qBAAqB,QACf,2BAA2B;AAClC,SAASjD,OAAO,IAAIkD,yBAAyB,QAAQ,gBAAgB;AACrE,SAASlD,OAAO,IAAImD,oCAAoC,QAAQ,6BAA6B;AAC7F,SAASnD,OAAO,IAAIoD,sCAAsC,QAAQ,+BAA+B;AACjG,SAASpD,OAAO,IAAIqD,mCAAmC,QAAQ,4BAA4B;AAC3F,SAASrD,OAAO,IAAIsD,iBAAiB,QAAQ,uBAAuB;AACpE,SAAStD,OAAO,IAAIuD,sBAAsB,QAAQ,aAAa;AAC/D,SAASvD,OAAO,IAAIwD,gBAAgB,QAAQ,sBAAsB;AAClE,SAASxD,OAAO,IAAIyD,gBAAgB,QAAQ,qBAAqB;AACjE,SAASzD,OAAO,IAAI0D,WAAW,QAAQ,gBAAgB;AACvD,SAAS1D,OAAO,IAAI2D,gBAAgB,QAAQ,sBAAsB;AAClE,SAAS3D,OAAO,IAAI4D,kBAAkB,QAAQ,wBAAwB;AACtE,SAAS5D,OAAO,IAAI6D,SAAS,QAAQ,cAAc;AACnD,SAAS7D,OAAO,IAAI8D,oCAAoC,QAAQ,4BAA4B;AAC5F,SACC9D,OAAO,IAAI+D,QAAQ,EACnBC,gBAAgB,EAChBC,qBAAqB,EACrBC,4BAA4B,QACtB,aAAa;AACpB,SAASlE,OAAO,IAAImE,YAAY,QAAQ,iBAAiB;AACzD,SAASnE,OAAO,IAAIoE,yBAAyB,QAAQ,gBAAgB;AACrE,SAASpE,OAAO,IAAIqE,QAAQ,QAAQ,aAAa;AACjD,SAASrE,OAAO,IAAIsE,cAAc,QAAQ,oBAAoB;AAC9D,SAAStE,OAAO,IAAIuE,UAAU,QAAQ,eAAe;AACrD,SAASC,6BAA6B,QAAQ,kCAAkC;AAChF,SAASxE,OAAO,IAAIyE,gBAAgB,QAAQ,oCAAoC;AAChF,SAASzE,OAAO,IAAI0E,iCAAiC,QAAQ,yBAAyB;AACtF,SACCC,sBAAsB,EACtBC,oBAAoB,EACpBC,wBAAwB,QAClB,+BAA+B;AACtC;AACA;AACA;;AAEA,SAAS7E,OAAO,IAAI8E,oCAAoC,QAAQ,sDAAsD;AACtH,SAAS9E,OAAO,IAAI+E,8BAA8B,QAAQ,yCAAyC;AACnG,SAAS/E,OAAO,IAAIgF,0BAA0B,QAAQ,oCAAoC;AAC1F,SAAShF,OAAO,IAAIiF,+BAA+B,QAAQ,2BAA2B;AACtF,SAASjF,OAAO,IAAIkF,4BAA4B,QAAQ,mBAAmB;AAC3E,SAASlF,OAAO,IAAImF,6BAA6B,QAAQ,qBAAqB;AAC9E,SAASnF,OAAO,IAAIoF,cAAc,QAAQ,mBAAmB;AAC7D,SAASpF,OAAO,IAAIqF,SAAS,QAAQ,cAAc;AACnD,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAAStF,OAAO,IAAIuF,UAAU,QAAQ,eAAe;AACrD,SACCvF,OAAO,IAAIwF,YAAY,EACvBC,eAAe,IAAIC,6BAA6B,QAC1C,iBAAiB;AACxB,SACC1F,OAAO,IAAI2F,qBAAqB,EAChCC,wBAAwB,IAAIC,kCAAkC,QACxD,2BAA2B;AAClC,SAAS7F,OAAO,IAAI8F,iBAAiB,QAAQ,uBAAuB;AACpE,SAAS9F,OAAO,IAAI+F,yBAAyB,QAAQ,gCAAgC;AACrF,SAAS/F,OAAO,IAAIgG,UAAU,QAAQ,eAAe;AACrD,SAAShG,OAAO,IAAIiG,YAAY,QAAQ,iBAAiB;AACzD,SAASjG,OAAO,IAAIkG,UAAU,QAAQ,eAAe;AACrD,SACClG,OAAO,IAAImG,WAAW,EACtBC,mBAAmB,IAAIC,6BAA6B,QAC9C,gBAAgB;AACvB,SAASrG,OAAO,IAAIsG,oBAAoB,QAAQ,0BAA0B;AAC1E,SAAStG,OAAO,IAAIuG,sBAAsB,QAAQ,iBAAiB;AACnE,SAASvG,OAAO,IAAIwG,QAAQ,QAAQ,YAAY;AAChD,SAASxG,OAAO,IAAIyG,qBAAqB,QAAQ,oBAAoB;AACrE,SAASzG,OAAO,IAAI0G,4BAA4B,QAAQ,sBAAsB;AAC9E,SAASC,yBAAyB,QAAQ,8BAA8B;AACxE,SAAS3G,OAAO,IAAI4G,gBAAgB,QAAQ,qBAAqB;AACjE,SACC5G,OAAO,IAAI6G,aAAa,EACxBC,iBAAiB,IAAIC,2BAA2B,EAChDC,uBAAuB,IAAIC,iCAAiC,QACtD,kBAAkB;AACzB,SAASjH,OAAO,IAAIkH,mBAAmB,QAAQ,0BAA0B;AACzE,SACClH,OAAO,IAAImH,UAAU,EACrBC,aAAa,IAAIC,uBAAuB,QAClC,cAAc;AACrB,SAASrH,OAAO,IAAIsH,OAAO,QAAQ,WAAW;AAC9C,SAAStH,OAAO,IAAIuH,WAAW,QAAQ,gBAAgB;AACvD,SAASvH,OAAO,IAAIwH,0BAA0B,QAAQ,iCAAiC;AACvF,SAASxH,OAAO,IAAIyH,gBAAgB,QAAQ,UAAU;AACtD,SACCC,iBAAiB,IAAIC,+BAA+B,EACpDC,eAAe,IAAIC,6BAA6B,QAC1C,sBAAsB;AAC7B,SAAS7H,OAAO,IAAI8H,+BAA+B,QAAQ,uBAAuB;AAClF,SAAS9H,OAAO,IAAI+H,mCAAmC,QAAQ,4BAA4B;AAC3F,SAAS/H,OAAO,IAAIgI,oCAAoC,QAAQ,4BAA4B;AAC5F,SAASC,mBAAmB,QAAQ,sBAAsB;;AAE1D;AACA;AACA;;AAEA,SAASjI,OAAO,IAAIkI,mBAAmB,QAAQ,YAAY;AAC3D,SAASlI,OAAO,IAAImI,UAAU,QAAQ,eAAe;AACrD,SAASC,gBAAgB,QAAQ,sBAAsB;;AAEvD;AACA;AACA;AACA,SAASpI,OAAO,IAAIqI,wBAAwB,QAAQ,uCAAuC"}
1
+ {"version":3,"names":["AlignmentControl","AlignmentToolbar","default","Autocomplete","BlockAlignmentControl","BlockAlignmentToolbar","__experimentalBlockFullHeightAligmentControl","__experimentalBlockAlignmentMatrixControl","BlockBreadcrumb","__experimentalUseBlockOverlayActive","BlockContextProvider","BlockCanvas","BlockControls","BlockFormatControls","BlockColorsStyleSelector","BlockEdit","useBlockEditContext","BlockIcon","BlockNavigationDropdown","BlockStyles","HeadingLevelDropdown","__experimentalBlockVariationPicker","__experimentalBlockPatternSetup","__experimentalBlockVariationTransforms","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","__experimentalBorderRadiusControl","ButtonBlockerAppender","ButtonBlockAppender","ColorPalette","ColorPaletteControl","ContrastChecker","__experimentalDateFormatPicker","__experimentalDuotoneControl","__experimentalFontAppearanceControl","__experimentalFontFamilyControl","__experimentalLetterSpacingControl","__experimentalTextDecorationControl","__experimentalTextTransformControl","__experimentalWritingModeControl","__experimentalColorGradientControl","__experimentalColorGradientSettingsDropdown","__experimentalPanelColorGradientSettings","__experimentalUseMultipleOriginColorsAndGradients","HeightControl","__experimentalImageEditor","__experimentalImageSizeControl","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","__experimentalLinkControl","__experimentalLinkControlSearchInput","__experimentalLinkControlSearchResults","__experimentalLinkControlSearchItem","LineHeightControl","__experimentalListView","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MediaUploadCheck","PanelColorSettings","PlainText","__experimentalResponsiveBlockControl","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","ToolSelector","__experimentalUnitControl","URLInput","URLInputButton","URLPopover","__experimentalImageURLInputUI","withColorContext","__experimentalSpacingSizesControl","getSpacingPresetCssVar","isValueSpacingPreset","getCustomValueFromPreset","__unstableBlockSettingsMenuFirstItem","__unstableBlockToolbarLastItem","__unstableBlockNameContext","__unstableInserterMenuExtension","__experimentalPreviewOptions","__experimentalUseResizeCanvas","BlockInspector","BlockList","useBlockProps","BlockMover","BlockPreview","useBlockPreview","__experimentalUseBlockPreview","BlockSelectionClearer","useBlockSelectionClearer","__unstableUseBlockSelectionClearer","BlockSettingsMenu","BlockSettingsMenuControls","BlockTitle","BlockToolbar","BlockTools","CopyHandler","useClipboardHandler","__unstableUseClipboardHandler","DefaultBlockAppender","__unstableEditorStyles","Inserter","__experimentalLibrary","BlockEditorKeyboardShortcuts","MultiSelectScrollIntoView","NavigableToolbar","ObserveTyping","useTypingObserver","__unstableUseTypingObserver","useMouseMoveTypingReset","__unstableUseMouseMoveTypingReset","SkipToSelectedBlock","Typewriter","useTypewriter","__unstableUseTypewriter","Warning","WritingFlow","useBlockDisplayInformation","__unstableIframe","RecursionProvider","__experimentalRecursionProvider","useHasRecursion","__experimentalUseHasRecursion","__experimentalBlockPatternsList","__experimentalPublishDateTimePicker","__experimentalInspectorPopoverHeader","useBlockEditingMode","BlockEditorProvider","useSetting","useBlockCommands","ReusableBlocksRenameHint"],"sources":["@wordpress/block-editor/src/components/index.js"],"sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalUseBlockOverlayActive } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport { default as BlockCanvas } from './block-canvas';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as BlockStyles } from './block-styles';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDateFormatPicker } from './date-format-picker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalWritingModeControl } from './writing-mode-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalUseMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as HeightControl } from './height-control';\nexport { default as __experimentalImageEditor } from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as ToolSelector } from './tool-selector';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\nexport { default as __experimentalSpacingSizesControl } from './spacing-sizes-control';\nexport {\n\tgetSpacingPresetCssVar,\n\tisValueSpacingPreset,\n\tgetCustomValueFromPreset,\n} from './spacing-sizes-control/utils';\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableBlockToolbarLastItem } from './block-toolbar/block-toolbar-last-item';\nexport { default as __unstableBlockNameContext } from './block-toolbar/block-name-context';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as BlockMover } from './block-mover';\nexport {\n\tdefault as BlockPreview,\n\tuseBlockPreview as __experimentalUseBlockPreview,\n} from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\tuseClipboardHandler as __unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport {\n\tRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\nexport { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';\nexport { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';\nexport { useBlockEditingMode } from './block-editing-mode';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\nexport { useBlockCommands } from './use-block-commands';\n\n/*\n * The following rename hint component can be removed in 6.4.\n */\nexport { default as ReusableBlocksRenameHint } from './inserter/reusable-block-rename-hint';\n"],"mappings":"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"}
@@ -18,7 +18,8 @@ export { default as PlainText } from './plain-text';
18
18
  export { default as RichText, RichTextShortcut, RichTextToolbarButton, __unstableRichTextInputEvent } from './rich-text';
19
19
  export { default as MediaReplaceFlow } from './media-replace-flow';
20
20
  export { default as MediaPlaceholder } from './media-placeholder';
21
- export { default as MediaUpload, MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO, MEDIA_TYPE_AUDIO, MEDIA_TYPE_ANY } from './media-upload';
21
+ export { default as MediaUpload } from './media-upload';
22
+ export { MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO, MEDIA_TYPE_AUDIO, MEDIA_TYPE_ANY } from './media-upload/constants';
22
23
  export { default as MediaUploadProgress, MEDIA_UPLOAD_STATE_UPLOADING, MEDIA_UPLOAD_STATE_SUCCEEDED, MEDIA_UPLOAD_STATE_FAILED, MEDIA_UPLOAD_STATE_RESET } from './media-upload-progress';
23
24
  export { default as BlockMediaUpdateProgress } from './block-media-update-progress';
24
25
  export { default as URLInput } from './url-input';
@@ -1 +1 @@
1
- {"version":3,"names":["BlockAlignmentControl","BlockAlignmentToolbar","BlockContextProvider","default","BlockControls","BlockFormatControls","BlockEdit","useBlockEditContext","BlockIcon","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","AlignmentControl","AlignmentToolbar","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","LineHeightControl","HeadingLevelDropdown","PlainText","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","MediaUploadProgress","MEDIA_UPLOAD_STATE_UPLOADING","MEDIA_UPLOAD_STATE_SUCCEEDED","MEDIA_UPLOAD_STATE_FAILED","MEDIA_UPLOAD_STATE_RESET","BlockMediaUpdateProgress","URLInput","BlockInvalidWarning","BlockCaption","Caption","PanelColorSettings","__experimentalPanelColorGradientSettings","useSetting","RecursionProvider","__experimentalRecursionProvider","useHasRecursion","__experimentalUseHasRecursion","Warning","ContrastChecker","useMultipleOriginColorsAndGradients","BottomSheetSettings","BlockSettingsButton","blockSettingsScreens","VideoPlayer","VIDEO_ASPECT_RATIO","getSpacingPresetCssVar","getCustomValueFromPreset","isValueSpacingPreset","BlockList","BlockMover","BlockToolbar","BlockVariationPicker","BlockStyles","DefaultBlockAppender","__unstableEditorStyles","Inserter","useBlockProps","FloatingToolbar","BlockEditorProvider"],"sources":["@wordpress/block-editor/src/components/index.native.js"],"sourcesContent":["// Block Creation Components.\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as PlainText } from './plain-text';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport {\n\tdefault as MediaUpload,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n} from './media-upload';\nexport {\n\tdefault as MediaUploadProgress,\n\tMEDIA_UPLOAD_STATE_UPLOADING,\n\tMEDIA_UPLOAD_STATE_SUCCEEDED,\n\tMEDIA_UPLOAD_STATE_FAILED,\n\tMEDIA_UPLOAD_STATE_RESET,\n} from './media-upload-progress';\nexport { default as BlockMediaUpdateProgress } from './block-media-update-progress';\nexport { default as URLInput } from './url-input';\nexport { default as BlockInvalidWarning } from './block-list/block-invalid-warning';\nexport { default as BlockCaption } from './block-caption';\nexport { default as Caption } from './caption';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as useSetting } from './use-setting';\nexport {\n\tRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as Warning } from './warning';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as useMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\n\nexport {\n\tBottomSheetSettings,\n\tBlockSettingsButton,\n\tblockSettingsScreens,\n} from './block-settings';\nexport { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player';\n\nexport {\n\tgetSpacingPresetCssVar,\n\tgetCustomValueFromPreset,\n\tisValueSpacingPreset,\n} from './spacing-sizes-control/utils';\n// Content Related Components.\nexport { default as BlockList } from './block-list';\nexport { default as BlockMover } from './block-mover';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockVariationPicker } from './block-variation-picker';\nexport { default as BlockStyles } from './block-styles';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as FloatingToolbar } from './floating-toolbar';\n\n// State Related Components.\nexport { default as BlockEditorProvider } from './provider';\n"],"mappings":"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"}
1
+ {"version":3,"names":["BlockAlignmentControl","BlockAlignmentToolbar","BlockContextProvider","default","BlockControls","BlockFormatControls","BlockEdit","useBlockEditContext","BlockIcon","BlockVerticalAlignmentToolbar","BlockVerticalAlignmentControl","AlignmentControl","AlignmentToolbar","InnerBlocks","useInnerBlocksProps","InspectorControls","InspectorAdvancedControls","JustifyToolbar","JustifyContentControl","LineHeightControl","HeadingLevelDropdown","PlainText","RichText","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent","MediaReplaceFlow","MediaPlaceholder","MediaUpload","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","MediaUploadProgress","MEDIA_UPLOAD_STATE_UPLOADING","MEDIA_UPLOAD_STATE_SUCCEEDED","MEDIA_UPLOAD_STATE_FAILED","MEDIA_UPLOAD_STATE_RESET","BlockMediaUpdateProgress","URLInput","BlockInvalidWarning","BlockCaption","Caption","PanelColorSettings","__experimentalPanelColorGradientSettings","useSetting","RecursionProvider","__experimentalRecursionProvider","useHasRecursion","__experimentalUseHasRecursion","Warning","ContrastChecker","useMultipleOriginColorsAndGradients","BottomSheetSettings","BlockSettingsButton","blockSettingsScreens","VideoPlayer","VIDEO_ASPECT_RATIO","getSpacingPresetCssVar","getCustomValueFromPreset","isValueSpacingPreset","BlockList","BlockMover","BlockToolbar","BlockVariationPicker","BlockStyles","DefaultBlockAppender","__unstableEditorStyles","Inserter","useBlockProps","FloatingToolbar","BlockEditorProvider"],"sources":["@wordpress/block-editor/src/components/index.native.js"],"sourcesContent":["// Block Creation Components.\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as PlainText } from './plain-text';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n} from './media-upload/constants';\nexport {\n\tdefault as MediaUploadProgress,\n\tMEDIA_UPLOAD_STATE_UPLOADING,\n\tMEDIA_UPLOAD_STATE_SUCCEEDED,\n\tMEDIA_UPLOAD_STATE_FAILED,\n\tMEDIA_UPLOAD_STATE_RESET,\n} from './media-upload-progress';\nexport { default as BlockMediaUpdateProgress } from './block-media-update-progress';\nexport { default as URLInput } from './url-input';\nexport { default as BlockInvalidWarning } from './block-list/block-invalid-warning';\nexport { default as BlockCaption } from './block-caption';\nexport { default as Caption } from './caption';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as useSetting } from './use-setting';\nexport {\n\tRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as Warning } from './warning';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as useMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\n\nexport {\n\tBottomSheetSettings,\n\tBlockSettingsButton,\n\tblockSettingsScreens,\n} from './block-settings';\nexport { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player';\n\nexport {\n\tgetSpacingPresetCssVar,\n\tgetCustomValueFromPreset,\n\tisValueSpacingPreset,\n} from './spacing-sizes-control/utils';\n// Content Related Components.\nexport { default as BlockList } from './block-list';\nexport { default as BlockMover } from './block-mover';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockVariationPicker } from './block-variation-picker';\nexport { default as BlockStyles } from './block-styles';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as FloatingToolbar } from './floating-toolbar';\n\n// State Related Components.\nexport { default as BlockEditorProvider } from './provider';\n"],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useLayoutEffect, useMemo } from '@wordpress/element';
4
+ import { useLayoutEffect, useMemo, useState } from '@wordpress/element';
5
5
  import { useSelect, useDispatch, useRegistry } from '@wordpress/data';
6
6
  import deprecated from '@wordpress/deprecated';
7
+ import isShallowEqual from '@wordpress/is-shallow-equal';
7
8
 
8
9
  /**
9
10
  * Internal dependencies
@@ -14,6 +15,13 @@ import { getLayoutType } from '../../layouts';
14
15
  /** @typedef {import('../../selectors').WPDirectInsertBlock } WPDirectInsertBlock */
15
16
 
16
17
  const pendingSettingsUpdates = new WeakMap();
18
+ function useShallowMemo(value) {
19
+ const [prevValue, setPrevValue] = useState(value);
20
+ if (!isShallowEqual(prevValue, value)) {
21
+ setPrevValue(value);
22
+ }
23
+ return prevValue;
24
+ }
17
25
 
18
26
  /**
19
27
  * This hook is a side effect which updates the block-editor store when changes
@@ -56,14 +64,12 @@ export default function useNestedSettingsUpdate(clientId, allowedBlocks, priorit
56
64
  };
57
65
  }, [clientId]);
58
66
 
59
- // Memoize allowedBlocks and prioritisedInnerBlocks based on the contents
60
- // of the arrays. Implementors often pass a new array on every render,
67
+ // Implementors often pass a new array on every render,
61
68
  // and the contents of the arrays are just strings, so the entire array
62
- // can be passed as dependencies.
63
-
64
- const _allowedBlocks = useMemo(() => allowedBlocks,
65
- // eslint-disable-next-line react-hooks/exhaustive-deps
66
- allowedBlocks);
69
+ // can be passed as dependencies but We need to include the length of the array,
70
+ // otherwise if the arrays change length but the first elements are equal the comparison,
71
+ // does not works as expected.
72
+ const _allowedBlocks = useShallowMemo(allowedBlocks);
67
73
  const _prioritizedInserterBlocks = useMemo(() => prioritizedInserterBlocks,
68
74
  // eslint-disable-next-line react-hooks/exhaustive-deps
69
75
  prioritizedInserterBlocks);