@wordpress/block-editor 12.4.0 → 12.6.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 (524) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +1 -0
  3. package/build/components/block-draggable/index.js +6 -3
  4. package/build/components/block-draggable/index.js.map +1 -1
  5. package/build/components/block-draggable/index.native.js +2 -2
  6. package/build/components/block-draggable/index.native.js.map +1 -1
  7. package/build/components/block-edit/edit.js +25 -13
  8. package/build/components/block-edit/edit.js.map +1 -1
  9. package/build/components/block-heading-level-dropdown/heading-level-icon.js +10 -2
  10. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  11. package/build/components/block-heading-level-dropdown/index.native.js +4 -3
  12. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  13. package/build/components/block-list/block-outline.native.js +14 -18
  14. package/build/components/block-list/block-outline.native.js.map +1 -1
  15. package/build/components/block-list/block.native.js +21 -42
  16. package/build/components/block-list/block.native.js.map +1 -1
  17. package/build/components/block-lock/toolbar.js +25 -6
  18. package/build/components/block-lock/toolbar.js.map +1 -1
  19. package/build/components/block-mover/index.native.js +1 -1
  20. package/build/components/block-mover/index.native.js.map +1 -1
  21. package/build/components/block-parent-selector/index.js +8 -5
  22. package/build/components/block-parent-selector/index.js.map +1 -1
  23. package/build/components/block-removal-warning-modal/index.js +15 -25
  24. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  25. package/build/components/block-settings/button.native.js +2 -2
  26. package/build/components/block-settings/button.native.js.map +1 -1
  27. package/build/components/{block-mobile-toolbar/block-actions-menu.native.js → block-toolbar/block-toolbar-menu.native.js} +10 -11
  28. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -0
  29. package/build/components/block-toolbar/index.js +12 -8
  30. package/build/components/block-toolbar/index.js.map +1 -1
  31. package/build/components/block-toolbar/index.native.js +62 -3
  32. package/build/components/block-toolbar/index.native.js.map +1 -1
  33. package/build/components/block-tools/block-contextual-toolbar.js +7 -11
  34. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  35. package/build/components/colors-gradients/control.js +4 -2
  36. package/build/components/colors-gradients/control.js.map +1 -1
  37. package/build/components/dimensions-tool/aspect-ratio-tool.js +99 -0
  38. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
  39. package/build/components/dimensions-tool/index.js +207 -0
  40. package/build/components/dimensions-tool/index.js.map +1 -0
  41. package/build/components/dimensions-tool/scale-tool.js +111 -0
  42. package/build/components/dimensions-tool/scale-tool.js.map +1 -0
  43. package/build/components/dimensions-tool/width-height-tool.js +125 -0
  44. package/build/components/dimensions-tool/width-height-tool.js.map +1 -0
  45. package/build/components/global-styles/color-panel.js +22 -16
  46. package/build/components/global-styles/color-panel.js.map +1 -1
  47. package/build/components/global-styles/dimensions-panel.js +13 -2
  48. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  49. package/build/components/global-styles/filters-panel.js +1 -1
  50. package/build/components/global-styles/filters-panel.js.map +1 -1
  51. package/build/components/global-styles/get-block-css-selector.js +4 -8
  52. package/build/components/global-styles/get-block-css-selector.js.map +1 -1
  53. package/build/components/global-styles/hooks.js +15 -25
  54. package/build/components/global-styles/hooks.js.map +1 -1
  55. package/build/components/global-styles/typography-panel.js +52 -5
  56. package/build/components/global-styles/typography-panel.js.map +1 -1
  57. package/build/components/global-styles/use-global-styles-output.js +12 -18
  58. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  59. package/build/components/global-styles/utils.js +6 -6
  60. package/build/components/global-styles/utils.js.map +1 -1
  61. package/build/components/iframe/index.js +36 -48
  62. package/build/components/iframe/index.js.map +1 -1
  63. package/build/components/iframe/use-compatibility-styles.js +5 -0
  64. package/build/components/iframe/use-compatibility-styles.js.map +1 -1
  65. package/build/components/image-editor/aspect-ratio-dropdown.js +1 -1
  66. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  67. package/build/components/image-editor/use-save-image.js +1 -2
  68. package/build/components/image-editor/use-save-image.js.map +1 -1
  69. package/build/components/image-size-control/index.js +6 -0
  70. package/build/components/image-size-control/index.js.map +1 -1
  71. package/build/components/index.js +9 -0
  72. package/build/components/index.js.map +1 -1
  73. package/build/components/inner-blocks/index.js +3 -1
  74. package/build/components/inner-blocks/index.js.map +1 -1
  75. package/build/components/inner-blocks/index.native.js +3 -1
  76. package/build/components/inner-blocks/index.native.js.map +1 -1
  77. package/build/components/inner-blocks/use-nested-settings-update.js +33 -7
  78. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  79. package/build/components/inserter/block-patterns-explorer/patterns-list.js +2 -2
  80. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  81. package/build/components/inserter/block-patterns-tab.js +7 -35
  82. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  83. package/build/components/inserter/hooks/use-block-types-state.js +3 -4
  84. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  85. package/build/components/inserter/hooks/use-patterns-state.js +9 -3
  86. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  87. package/build/components/inserter/index.js +2 -4
  88. package/build/components/inserter/index.js.map +1 -1
  89. package/build/components/inserter/index.native.js +21 -32
  90. package/build/components/inserter/index.native.js.map +1 -1
  91. package/build/components/inserter/media-tab/hooks.js +2 -21
  92. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  93. package/build/components/inserter/reusable-block-rename-hint.js +82 -0
  94. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -0
  95. package/build/components/inserter/reusable-blocks-tab.js +6 -2
  96. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  97. package/build/components/inserter/reusable-blocks-tab.native.js +2 -2
  98. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  99. package/build/components/inserter/tabs.native.js +1 -1
  100. package/build/components/inserter/tabs.native.js.map +1 -1
  101. package/build/components/inserter-draggable-blocks/index.js +9 -1
  102. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  103. package/build/components/link-control/constants.js +1 -1
  104. package/build/components/link-control/constants.js.map +1 -1
  105. package/build/components/link-control/index.js +21 -16
  106. package/build/components/link-control/index.js.map +1 -1
  107. package/build/components/link-control/search-create-button.js +5 -21
  108. package/build/components/link-control/search-create-button.js.map +1 -1
  109. package/build/components/link-control/search-input.js +4 -4
  110. package/build/components/link-control/search-input.js.map +1 -1
  111. package/build/components/link-control/search-item.js +13 -30
  112. package/build/components/link-control/search-item.js.map +1 -1
  113. package/build/components/link-control/search-results.js +2 -2
  114. package/build/components/link-control/search-results.js.map +1 -1
  115. package/build/components/link-control/settings-drawer.js +2 -3
  116. package/build/components/link-control/settings-drawer.js.map +1 -1
  117. package/build/components/list-view/appender.js +2 -6
  118. package/build/components/list-view/appender.js.map +1 -1
  119. package/build/components/list-view/use-list-view-client-ids.js +2 -2
  120. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  121. package/build/components/media-placeholder/index.native.js +65 -31
  122. package/build/components/media-placeholder/index.native.js.map +1 -1
  123. package/build/components/preview-options/index.js +2 -2
  124. package/build/components/preview-options/index.js.map +1 -1
  125. package/build/components/provider/index.js +5 -2
  126. package/build/components/provider/index.js.map +1 -1
  127. package/build/components/provider/use-block-sync.js +21 -0
  128. package/build/components/provider/use-block-sync.js.map +1 -1
  129. package/build/components/resolution-tool/index.js +55 -0
  130. package/build/components/resolution-tool/index.js.map +1 -0
  131. package/build/components/rich-text/content.js +0 -36
  132. package/build/components/rich-text/content.js.map +1 -1
  133. package/build/components/rich-text/get-rich-text-values.js +118 -0
  134. package/build/components/rich-text/get-rich-text-values.js.map +1 -0
  135. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -1
  136. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  137. package/build/components/spacing-sizes-control/input-controls/axial.js +6 -2
  138. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  139. package/build/components/spacing-sizes-control/input-controls/separated.js +5 -1
  140. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  141. package/build/components/spacing-sizes-control/input-controls/single.js +5 -1
  142. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  143. package/build/components/spacing-sizes-control/utils.js +1 -1
  144. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  145. package/build/components/url-input/index.js +4 -2
  146. package/build/components/url-input/index.js.map +1 -1
  147. package/build/components/use-block-display-information/index.js +7 -3
  148. package/build/components/use-block-display-information/index.js.map +1 -1
  149. package/build/components/use-block-drop-zone/index.native.js +49 -8
  150. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  151. package/build/components/use-setting/index.js +5 -9
  152. package/build/components/use-setting/index.js.map +1 -1
  153. package/build/components/writing-flow/use-tab-nav.js +10 -27
  154. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  155. package/build/components/writing-mode-control/index.js +70 -0
  156. package/build/components/writing-mode-control/index.js.map +1 -0
  157. package/build/hooks/behaviors.js +25 -20
  158. package/build/hooks/behaviors.js.map +1 -1
  159. package/build/hooks/margin.js +1 -1
  160. package/build/hooks/margin.js.map +1 -1
  161. package/build/hooks/padding.js +1 -1
  162. package/build/hooks/padding.js.map +1 -1
  163. package/build/hooks/supports.js +7 -1
  164. package/build/hooks/supports.js.map +1 -1
  165. package/build/hooks/typography.js +2 -1
  166. package/build/hooks/typography.js.map +1 -1
  167. package/build/hooks/utils.js +5 -9
  168. package/build/hooks/utils.js.map +1 -1
  169. package/build/private-apis.js +16 -3
  170. package/build/private-apis.js.map +1 -1
  171. package/build/private-apis.native.js +3 -0
  172. package/build/private-apis.native.js.map +1 -1
  173. package/build/store/actions.js +196 -2
  174. package/build/store/actions.js.map +1 -1
  175. package/build/store/defaults.js +1 -0
  176. package/build/store/defaults.js.map +1 -1
  177. package/build/store/index.js +10 -1
  178. package/build/store/index.js.map +1 -1
  179. package/build/store/private-actions.js +46 -40
  180. package/build/store/private-actions.js.map +1 -1
  181. package/build/store/private-selectors.js +8 -9
  182. package/build/store/private-selectors.js.map +1 -1
  183. package/build/store/reducer.js +22 -9
  184. package/build/store/reducer.js.map +1 -1
  185. package/build/store/selectors.js +52 -23
  186. package/build/store/selectors.js.map +1 -1
  187. package/build/utils/object.js +38 -2
  188. package/build/utils/object.js.map +1 -1
  189. package/build-module/components/block-draggable/index.js +6 -3
  190. package/build-module/components/block-draggable/index.js.map +1 -1
  191. package/build-module/components/block-draggable/index.native.js +2 -2
  192. package/build-module/components/block-draggable/index.native.js.map +1 -1
  193. package/build-module/components/block-edit/edit.js +27 -10
  194. package/build-module/components/block-edit/edit.js.map +1 -1
  195. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +9 -2
  196. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  197. package/build-module/components/block-heading-level-dropdown/index.native.js +4 -3
  198. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  199. package/build-module/components/block-list/block-outline.native.js +14 -18
  200. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  201. package/build-module/components/block-list/block.native.js +24 -43
  202. package/build-module/components/block-list/block.native.js.map +1 -1
  203. package/build-module/components/block-lock/toolbar.js +25 -7
  204. package/build-module/components/block-lock/toolbar.js.map +1 -1
  205. package/build-module/components/block-mover/index.native.js +3 -3
  206. package/build-module/components/block-mover/index.native.js.map +1 -1
  207. package/build-module/components/block-parent-selector/index.js +7 -5
  208. package/build-module/components/block-parent-selector/index.js.map +1 -1
  209. package/build-module/components/block-removal-warning-modal/index.js +17 -24
  210. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  211. package/build-module/components/block-settings/button.native.js +3 -3
  212. package/build-module/components/block-settings/button.native.js.map +1 -1
  213. package/build-module/components/{block-mobile-toolbar/block-actions-menu.native.js → block-toolbar/block-toolbar-menu.native.js} +13 -13
  214. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -0
  215. package/build-module/components/block-toolbar/index.js +12 -8
  216. package/build-module/components/block-toolbar/index.js.map +1 -1
  217. package/build-module/components/block-toolbar/index.native.js +60 -4
  218. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  219. package/build-module/components/block-tools/block-contextual-toolbar.js +8 -11
  220. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  221. package/build-module/components/colors-gradients/control.js +3 -2
  222. package/build-module/components/colors-gradients/control.js.map +1 -1
  223. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +87 -0
  224. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
  225. package/build-module/components/dimensions-tool/index.js +195 -0
  226. package/build-module/components/dimensions-tool/index.js.map +1 -0
  227. package/build-module/components/dimensions-tool/scale-tool.js +103 -0
  228. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -0
  229. package/build-module/components/dimensions-tool/width-height-tool.js +122 -0
  230. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -0
  231. package/build-module/components/global-styles/color-panel.js +22 -16
  232. package/build-module/components/global-styles/color-panel.js.map +1 -1
  233. package/build-module/components/global-styles/dimensions-panel.js +13 -2
  234. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  235. package/build-module/components/global-styles/filters-panel.js +2 -2
  236. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  237. package/build-module/components/global-styles/get-block-css-selector.js +4 -8
  238. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
  239. package/build-module/components/global-styles/hooks.js +14 -24
  240. package/build-module/components/global-styles/hooks.js.map +1 -1
  241. package/build-module/components/global-styles/typography-panel.js +51 -5
  242. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  243. package/build-module/components/global-styles/use-global-styles-output.js +13 -18
  244. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  245. package/build-module/components/global-styles/utils.js +5 -5
  246. package/build-module/components/global-styles/utils.js.map +1 -1
  247. package/build-module/components/iframe/index.js +37 -49
  248. package/build-module/components/iframe/index.js.map +1 -1
  249. package/build-module/components/iframe/use-compatibility-styles.js +5 -0
  250. package/build-module/components/iframe/use-compatibility-styles.js.map +1 -1
  251. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -1
  252. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  253. package/build-module/components/image-editor/use-save-image.js +1 -2
  254. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  255. package/build-module/components/image-size-control/index.js +5 -0
  256. package/build-module/components/image-size-control/index.js.map +1 -1
  257. package/build-module/components/index.js +1 -0
  258. package/build-module/components/index.js.map +1 -1
  259. package/build-module/components/inner-blocks/index.js +3 -1
  260. package/build-module/components/inner-blocks/index.js.map +1 -1
  261. package/build-module/components/inner-blocks/index.native.js +3 -1
  262. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  263. package/build-module/components/inner-blocks/use-nested-settings-update.js +30 -7
  264. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  265. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +2 -2
  266. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  267. package/build-module/components/inserter/block-patterns-tab.js +7 -33
  268. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  269. package/build-module/components/inserter/hooks/use-block-types-state.js +3 -4
  270. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  271. package/build-module/components/inserter/hooks/use-patterns-state.js +9 -3
  272. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  273. package/build-module/components/inserter/index.js +2 -4
  274. package/build-module/components/inserter/index.js.map +1 -1
  275. package/build-module/components/inserter/index.native.js +22 -33
  276. package/build-module/components/inserter/index.native.js.map +1 -1
  277. package/build-module/components/inserter/media-tab/hooks.js +2 -21
  278. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  279. package/build-module/components/inserter/reusable-block-rename-hint.js +67 -0
  280. package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -0
  281. package/build-module/components/inserter/reusable-blocks-tab.js +5 -2
  282. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  283. package/build-module/components/inserter/reusable-blocks-tab.native.js +2 -2
  284. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  285. package/build-module/components/inserter/tabs.native.js +1 -1
  286. package/build-module/components/inserter/tabs.native.js.map +1 -1
  287. package/build-module/components/inserter-draggable-blocks/index.js +9 -2
  288. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  289. package/build-module/components/link-control/constants.js +1 -1
  290. package/build-module/components/link-control/constants.js.map +1 -1
  291. package/build-module/components/link-control/index.js +21 -16
  292. package/build-module/components/link-control/index.js.map +1 -1
  293. package/build-module/components/link-control/search-create-button.js +7 -20
  294. package/build-module/components/link-control/search-create-button.js.map +1 -1
  295. package/build-module/components/link-control/search-input.js +4 -4
  296. package/build-module/components/link-control/search-input.js.map +1 -1
  297. package/build-module/components/link-control/search-item.js +14 -28
  298. package/build-module/components/link-control/search-item.js.map +1 -1
  299. package/build-module/components/link-control/search-results.js +3 -3
  300. package/build-module/components/link-control/search-results.js.map +1 -1
  301. package/build-module/components/link-control/settings-drawer.js +4 -5
  302. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  303. package/build-module/components/list-view/appender.js +2 -6
  304. package/build-module/components/list-view/appender.js.map +1 -1
  305. package/build-module/components/list-view/use-list-view-client-ids.js +2 -2
  306. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  307. package/build-module/components/media-placeholder/index.native.js +66 -33
  308. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  309. package/build-module/components/preview-options/index.js +2 -2
  310. package/build-module/components/preview-options/index.js.map +1 -1
  311. package/build-module/components/provider/index.js +5 -2
  312. package/build-module/components/provider/index.js.map +1 -1
  313. package/build-module/components/provider/use-block-sync.js +21 -0
  314. package/build-module/components/provider/use-block-sync.js.map +1 -1
  315. package/build-module/components/resolution-tool/index.js +45 -0
  316. package/build-module/components/resolution-tool/index.js.map +1 -0
  317. package/build-module/components/rich-text/content.js +1 -36
  318. package/build-module/components/rich-text/content.js.map +1 -1
  319. package/build-module/components/rich-text/get-rich-text-values.js +105 -0
  320. package/build-module/components/rich-text/get-rich-text-values.js.map +1 -0
  321. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -1
  322. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  323. package/build-module/components/spacing-sizes-control/input-controls/axial.js +7 -3
  324. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  325. package/build-module/components/spacing-sizes-control/input-controls/separated.js +6 -2
  326. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  327. package/build-module/components/spacing-sizes-control/input-controls/single.js +6 -2
  328. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  329. package/build-module/components/spacing-sizes-control/utils.js +1 -1
  330. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  331. package/build-module/components/url-input/index.js +4 -2
  332. package/build-module/components/url-input/index.js.map +1 -1
  333. package/build-module/components/use-block-display-information/index.js +7 -3
  334. package/build-module/components/use-block-display-information/index.js.map +1 -1
  335. package/build-module/components/use-block-drop-zone/index.native.js +50 -8
  336. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  337. package/build-module/components/use-setting/index.js +5 -9
  338. package/build-module/components/use-setting/index.js.map +1 -1
  339. package/build-module/components/writing-flow/use-tab-nav.js +8 -26
  340. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  341. package/build-module/components/writing-mode-control/index.js +57 -0
  342. package/build-module/components/writing-mode-control/index.js.map +1 -0
  343. package/build-module/hooks/behaviors.js +26 -20
  344. package/build-module/hooks/behaviors.js.map +1 -1
  345. package/build-module/hooks/margin.js +1 -1
  346. package/build-module/hooks/margin.js.map +1 -1
  347. package/build-module/hooks/padding.js +1 -1
  348. package/build-module/hooks/padding.js.map +1 -1
  349. package/build-module/hooks/supports.js +7 -1
  350. package/build-module/hooks/supports.js.map +1 -1
  351. package/build-module/hooks/typography.js +2 -1
  352. package/build-module/hooks/typography.js.map +1 -1
  353. package/build-module/hooks/utils.js +6 -9
  354. package/build-module/hooks/utils.js.map +1 -1
  355. package/build-module/private-apis.js +11 -2
  356. package/build-module/private-apis.js.map +1 -1
  357. package/build-module/private-apis.native.js +2 -0
  358. package/build-module/private-apis.native.js.map +1 -1
  359. package/build-module/store/actions.js +193 -3
  360. package/build-module/store/actions.js.map +1 -1
  361. package/build-module/store/defaults.js +1 -0
  362. package/build-module/store/defaults.js.map +1 -1
  363. package/build-module/store/index.js +10 -1
  364. package/build-module/store/index.js.map +1 -1
  365. package/build-module/store/private-actions.js +45 -36
  366. package/build-module/store/private-actions.js.map +1 -1
  367. package/build-module/store/private-selectors.js +5 -5
  368. package/build-module/store/private-selectors.js.map +1 -1
  369. package/build-module/store/reducer.js +22 -9
  370. package/build-module/store/reducer.js.map +1 -1
  371. package/build-module/store/selectors.js +49 -21
  372. package/build-module/store/selectors.js.map +1 -1
  373. package/build-module/utils/object.js +34 -2
  374. package/build-module/utils/object.js.map +1 -1
  375. package/build-style/content-rtl.css +4 -0
  376. package/build-style/content.css +4 -0
  377. package/build-style/style-rtl.css +137 -129
  378. package/build-style/style.css +137 -129
  379. package/package.json +33 -32
  380. package/src/components/alignment-control/test/__snapshots__/index.js.snap +6 -6
  381. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +5 -5
  382. package/src/components/block-controls/README.md +89 -0
  383. package/src/components/block-draggable/index.js +13 -4
  384. package/src/components/block-draggable/index.native.js +7 -3
  385. package/src/components/block-draggable/style.scss +1 -0
  386. package/src/components/block-draggable/test/index.native.js +0 -54
  387. package/src/components/block-edit/edit.js +26 -9
  388. package/src/components/block-edit/test/edit.js +1 -1
  389. package/src/components/block-heading-level-dropdown/heading-level-icon.js +6 -1
  390. package/src/components/block-heading-level-dropdown/index.native.js +8 -4
  391. package/src/components/block-inspector/style.scss +2 -1
  392. package/src/components/block-list/block-outline.native.js +26 -25
  393. package/src/components/block-list/block.native.js +24 -38
  394. package/src/components/block-list/block.native.scss +18 -40
  395. package/src/components/block-list/style.native.scss +3 -3
  396. package/src/components/block-lock/toolbar.js +34 -6
  397. package/src/components/block-mover/index.native.js +3 -3
  398. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +16 -6
  399. package/src/components/block-parent-selector/index.js +13 -8
  400. package/src/components/block-removal-warning-modal/index.js +17 -33
  401. package/src/components/block-settings/button.native.js +12 -6
  402. package/src/components/{block-mobile-toolbar/block-actions-menu.native.js → block-toolbar/block-toolbar-menu.native.js} +19 -18
  403. package/src/components/block-toolbar/index.js +11 -9
  404. package/src/components/block-toolbar/index.native.js +86 -6
  405. package/src/components/{block-mobile-toolbar/test/block-actions-menu.native.js → block-toolbar/test/block-toolbar-menu.native.js} +20 -54
  406. package/src/components/block-toolbar/test/index.native.js +42 -0
  407. package/src/components/block-tools/block-contextual-toolbar.js +5 -11
  408. package/src/components/block-tools/style.scss +73 -26
  409. package/src/components/button-block-appender/styles.native.scss +2 -2
  410. package/src/components/caption/README.md +49 -0
  411. package/src/components/colors-gradients/control.js +3 -2
  412. package/src/components/default-block-appender/content.scss +11 -0
  413. package/src/components/dimensions-tool/aspect-ratio-tool.js +124 -0
  414. package/src/components/dimensions-tool/index.js +212 -0
  415. package/src/components/dimensions-tool/scale-tool.js +124 -0
  416. package/src/components/dimensions-tool/stories/aspect-ratio-tool.js +52 -0
  417. package/src/components/dimensions-tool/stories/index.js +54 -0
  418. package/src/components/dimensions-tool/stories/scale-tool.js +48 -0
  419. package/src/components/dimensions-tool/stories/width-height-tool.js +54 -0
  420. package/src/components/dimensions-tool/test/index.js +641 -0
  421. package/src/components/dimensions-tool/width-height-tool.js +113 -0
  422. package/src/components/font-family/README.md +71 -0
  423. package/src/components/global-styles/color-panel.js +24 -17
  424. package/src/components/global-styles/dimensions-panel.js +8 -2
  425. package/src/components/global-styles/filters-panel.js +2 -2
  426. package/src/components/global-styles/get-block-css-selector.js +5 -9
  427. package/src/components/global-styles/hooks.js +22 -26
  428. package/src/components/global-styles/typography-panel.js +57 -5
  429. package/src/components/global-styles/use-global-styles-output.js +36 -18
  430. package/src/components/global-styles/utils.js +15 -6
  431. package/src/components/iframe/index.js +30 -56
  432. package/src/components/iframe/use-compatibility-styles.js +5 -0
  433. package/src/components/image-editor/aspect-ratio-dropdown.js +1 -1
  434. package/src/components/image-editor/use-save-image.js +0 -1
  435. package/src/components/image-size-control/index.js +6 -0
  436. package/src/components/index.js +1 -0
  437. package/src/components/inner-blocks/README.md +10 -0
  438. package/src/components/inner-blocks/index.js +4 -0
  439. package/src/components/inner-blocks/index.native.js +4 -0
  440. package/src/components/inner-blocks/use-nested-settings-update.js +32 -5
  441. package/src/components/inserter/block-patterns-explorer/patterns-list.js +8 -2
  442. package/src/components/inserter/block-patterns-tab.js +8 -56
  443. package/src/components/inserter/hooks/use-block-types-state.js +3 -4
  444. package/src/components/inserter/hooks/use-patterns-state.js +35 -19
  445. package/src/components/inserter/index.js +2 -3
  446. package/src/components/inserter/index.native.js +17 -36
  447. package/src/components/inserter/media-tab/hooks.js +2 -22
  448. package/src/components/inserter/reusable-block-rename-hint.js +69 -0
  449. package/src/components/inserter/reusable-blocks-tab.js +5 -1
  450. package/src/components/inserter/reusable-blocks-tab.native.js +2 -2
  451. package/src/components/inserter/style.native.scss +10 -15
  452. package/src/components/inserter/style.scss +28 -0
  453. package/src/components/inserter/tabs.native.js +5 -1
  454. package/src/components/inserter-draggable-blocks/index.js +13 -2
  455. package/src/components/link-control/constants.js +1 -1
  456. package/src/components/link-control/index.js +36 -29
  457. package/src/components/link-control/search-create-button.js +8 -26
  458. package/src/components/link-control/search-input.js +4 -3
  459. package/src/components/link-control/search-item.js +21 -43
  460. package/src/components/link-control/search-results.js +48 -46
  461. package/src/components/link-control/settings-drawer.js +6 -5
  462. package/src/components/link-control/style.scss +58 -123
  463. package/src/components/link-control/test/index.js +161 -123
  464. package/src/components/list-view/appender.js +5 -6
  465. package/src/components/list-view/style.scss +1 -2
  466. package/src/components/list-view/use-list-view-client-ids.js +2 -2
  467. package/src/components/media-placeholder/index.native.js +108 -59
  468. package/src/components/media-placeholder/styles.native.scss +59 -24
  469. package/src/components/media-replace-flow/test/index.js +1 -1
  470. package/src/components/panel-color-settings/README.md +98 -0
  471. package/src/components/preview-options/README.md +18 -17
  472. package/src/components/preview-options/index.js +2 -2
  473. package/src/components/provider/index.js +9 -2
  474. package/src/components/provider/test/use-block-sync.js +21 -6
  475. package/src/components/provider/use-block-sync.js +19 -0
  476. package/src/components/recursion-provider/README.md +101 -0
  477. package/src/components/resolution-tool/index.js +56 -0
  478. package/src/components/resolution-tool/stories/index.js +48 -0
  479. package/src/components/rich-text/content.js +1 -46
  480. package/src/components/rich-text/get-rich-text-values.js +105 -0
  481. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -1
  482. package/src/components/spacing-sizes-control/input-controls/axial.js +17 -2
  483. package/src/components/spacing-sizes-control/input-controls/separated.js +17 -2
  484. package/src/components/spacing-sizes-control/input-controls/single.js +12 -2
  485. package/src/components/spacing-sizes-control/utils.js +1 -1
  486. package/src/components/text-transform-control/README.md +44 -0
  487. package/src/components/url-input/index.js +2 -0
  488. package/src/components/use-block-display-information/index.js +12 -5
  489. package/src/components/use-block-drop-zone/index.native.js +65 -28
  490. package/src/components/use-setting/index.js +8 -8
  491. package/src/components/writing-flow/use-tab-nav.js +10 -33
  492. package/src/components/writing-mode-control/index.js +68 -0
  493. package/src/components/writing-mode-control/style.scss +18 -0
  494. package/src/hooks/behaviors.js +25 -16
  495. package/src/hooks/margin.js +4 -1
  496. package/src/hooks/padding.js +4 -1
  497. package/src/hooks/supports.js +7 -0
  498. package/src/hooks/typography.js +2 -0
  499. package/src/hooks/utils.js +8 -7
  500. package/src/private-apis.js +13 -1
  501. package/src/private-apis.native.js +2 -0
  502. package/src/store/actions.js +195 -3
  503. package/src/store/defaults.js +1 -0
  504. package/src/store/index.js +10 -0
  505. package/src/store/private-actions.js +39 -39
  506. package/src/store/private-selectors.js +5 -8
  507. package/src/store/reducer.js +22 -9
  508. package/src/store/selectors.js +87 -25
  509. package/src/store/test/actions.js +114 -0
  510. package/src/store/test/private-actions.js +56 -0
  511. package/src/store/test/private-selectors.js +5 -5
  512. package/src/store/test/reducer.js +14 -7
  513. package/src/store/test/selectors.js +1 -1
  514. package/src/utils/object.js +32 -2
  515. package/src/utils/test/object.js +36 -0
  516. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +0 -1
  517. package/build/components/block-mobile-toolbar/index.native.js +0 -135
  518. package/build/components/block-mobile-toolbar/index.native.js.map +0 -1
  519. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +0 -1
  520. package/build-module/components/block-mobile-toolbar/index.native.js +0 -116
  521. package/build-module/components/block-mobile-toolbar/index.native.js.map +0 -1
  522. package/src/components/block-mobile-toolbar/index.native.js +0 -127
  523. package/src/components/block-mobile-toolbar/style.native.scss +0 -16
  524. /package/src/components/{block-mobile-toolbar/test/__snapshots__/block-actions-menu.native.js.snap → block-toolbar/test/__snapshots__/block-toolbar-menu.native.js.snap} +0 -0
@@ -88,36 +88,6 @@ function bubbleEvents(doc) {
88
88
  }
89
89
  }
90
90
 
91
- function useParsedAssets(html) {
92
- return (0, _element.useMemo)(() => {
93
- const doc = document.implementation.createHTMLDocument('');
94
- doc.body.innerHTML = html;
95
- return Array.from(doc.body.children);
96
- }, [html]);
97
- }
98
-
99
- async function loadScript(head, {
100
- id,
101
- src
102
- }) {
103
- return new Promise((resolve, reject) => {
104
- const script = head.ownerDocument.createElement('script');
105
- script.id = id;
106
-
107
- if (src) {
108
- script.src = src;
109
-
110
- script.onload = () => resolve();
111
-
112
- script.onerror = () => reject();
113
- } else {
114
- resolve();
115
- }
116
-
117
- head.appendChild(script);
118
- });
119
- }
120
-
121
91
  function Iframe({
122
92
  contentRef,
123
93
  children,
@@ -129,20 +99,33 @@ function Iframe({
129
99
  forwardedRef: ref,
130
100
  ...props
131
101
  }) {
132
- var _assets$styles;
133
-
134
- const assets = (0, _data.useSelect)(select => select(_store.store).getSettings().__unstableResolvedAssets, []);
135
- const [, forceRender] = (0, _element.useReducer)(() => ({}));
102
+ const {
103
+ resolvedAssets,
104
+ isPreviewMode
105
+ } = (0, _data.useSelect)(select => {
106
+ const settings = select(_store.store).getSettings();
107
+ return {
108
+ resolvedAssets: settings.__unstableResolvedAssets,
109
+ isPreviewMode: settings.__unstableIsPreviewMode
110
+ };
111
+ }, []);
112
+ const {
113
+ styles = '',
114
+ scripts = ''
115
+ } = resolvedAssets;
136
116
  const [iframeDocument, setIframeDocument] = (0, _element.useState)();
137
117
  const [bodyClasses, setBodyClasses] = (0, _element.useState)([]);
138
118
  const compatStyles = (0, _useCompatibilityStyles.useCompatibilityStyles)();
139
- const scripts = useParsedAssets(assets?.scripts);
140
119
  const clearerRef = (0, _blockSelectionClearer.useBlockSelectionClearer)();
141
120
  const [before, writingFlowRef, after] = (0, _writingFlow.useWritingFlow)();
142
121
  const [contentResizeListener, {
143
122
  height: contentHeight
144
123
  }] = (0, _compose.useResizeObserver)();
145
124
  const setRef = (0, _compose.useRefEffect)(node => {
125
+ node._load = () => {
126
+ setIframeDocument(node.contentDocument);
127
+ };
128
+
146
129
  let iFrameDocument; // Prevent the default browser action for files dropped outside of dropzones.
147
130
 
148
131
  function preventFileDropDefault(event) {
@@ -159,23 +142,24 @@ function Iframe({
159
142
  } = contentDocument;
160
143
  iFrameDocument = contentDocument;
161
144
  bubbleEvents(contentDocument);
162
- setIframeDocument(contentDocument);
163
145
  clearerRef(documentElement); // Ideally ALL classes that are added through get_body_class should
164
146
  // be added in the editor too, which we'll somehow have to get from
165
147
  // the server in the future (which will run the PHP filters).
166
148
 
167
149
  setBodyClasses(Array.from(ownerDocument.body.classList).filter(name => name.startsWith('admin-color-') || name.startsWith('post-type-') || name === 'wp-embed-responsive'));
168
150
  contentDocument.dir = ownerDocument.dir;
169
- documentElement.removeChild(contentDocument.body);
170
151
 
171
152
  for (const compatStyle of compatStyles) {
172
153
  if (contentDocument.getElementById(compatStyle.id)) {
173
154
  continue;
174
155
  }
175
156
 
176
- contentDocument.head.appendChild(compatStyle.cloneNode(true)); // eslint-disable-next-line no-console
157
+ contentDocument.head.appendChild(compatStyle.cloneNode(true));
177
158
 
178
- console.warn(`${compatStyle.id} was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`, compatStyle);
159
+ if (!isPreviewMode) {
160
+ // eslint-disable-next-line no-console
161
+ console.warn(`${compatStyle.id} was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`, compatStyle);
162
+ }
179
163
  }
180
164
 
181
165
  iFrameDocument.addEventListener('dragover', preventFileDropDefault, false);
@@ -189,21 +173,25 @@ function Iframe({
189
173
  iFrameDocument?.removeEventListener('drop', preventFileDropDefault);
190
174
  };
191
175
  }, []);
192
- const headRef = (0, _compose.useRefEffect)(element => {
193
- scripts.reduce((promise, script) => promise.then(() => loadScript(element, script)), Promise.resolve()).finally(() => {
194
- // When script are loaded, re-render blocks to allow them
195
- // to initialise.
196
- forceRender();
197
- });
198
- }, []);
199
176
  const disabledRef = (0, _compose.useDisabled)({
200
177
  isDisabled: !readonly
201
178
  });
202
- const bodyRef = (0, _compose.useMergeRefs)([contentRef, clearerRef, writingFlowRef, disabledRef, headRef]); // Correct doctype is required to enable rendering in standards
179
+ const bodyRef = (0, _compose.useMergeRefs)([contentRef, clearerRef, writingFlowRef, disabledRef]); // Correct doctype is required to enable rendering in standards
203
180
  // mode. Also preload the styles to avoid a flash of unstyled
204
181
  // content.
205
182
 
206
- const html = '<!doctype html>' + '<style>html{height:auto!important;min-height:100%;}body{margin:0}</style>' + ((_assets$styles = assets?.styles) !== null && _assets$styles !== void 0 ? _assets$styles : '');
183
+ const html = `<!doctype html>
184
+ <html>
185
+ <head>
186
+ <script>window.frameElement._load()</script>
187
+ <style>html{height:auto!important;min-height:100%;}body{margin:0}</style>
188
+ ${styles}
189
+ ${scripts}
190
+ </head>
191
+ <body>
192
+ <script>document.currentScript.parentElement.remove()</script>
193
+ </body>
194
+ </html>`;
207
195
  const [src, cleanup] = (0, _element.useMemo)(() => {
208
196
  const _src = URL.createObjectURL(new window.Blob([html], {
209
197
  type: 'text/html'
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"names":["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","useParsedAssets","html","document","implementation","createHTMLDocument","body","innerHTML","Array","from","children","loadScript","head","id","src","Promise","resolve","reject","script","ownerDocument","createElement","onload","onerror","appendChild","Iframe","contentRef","tabIndex","scale","frameSize","expand","readonly","forwardedRef","ref","props","assets","select","blockEditorStore","getSettings","__unstableResolvedAssets","forceRender","iframeDocument","setIframeDocument","bodyClasses","setBodyClasses","compatStyles","scripts","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","setRef","node","iFrameDocument","preventFileDropDefault","onLoad","contentDocument","documentElement","classList","filter","startsWith","dir","removeChild","compatStyle","getElementById","cloneNode","console","warn","removeEventListener","headRef","element","reduce","promise","then","finally","disabledRef","isDisabled","bodyRef","styles","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","marginFromScaling","style","marginTop","marginBottom","transform","transition","IframeIfReady","isInitialised","__internalIsInitialized"],"mappings":"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","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\tuseReducer,\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 useParsedAssets( html ) {\n\treturn useMemo( () => {\n\t\tconst doc = document.implementation.createHTMLDocument( '' );\n\t\tdoc.body.innerHTML = html;\n\t\treturn Array.from( doc.body.children );\n\t}, [ html ] );\n}\n\nasync function loadScript( head, { id, src } ) {\n\treturn new Promise( ( resolve, reject ) => {\n\t\tconst script = head.ownerDocument.createElement( 'script' );\n\t\tscript.id = id;\n\t\tif ( src ) {\n\t\t\tscript.src = src;\n\t\t\tscript.onload = () => resolve();\n\t\t\tscript.onerror = () => reject();\n\t\t} else {\n\t\t\tresolve();\n\t\t}\n\t\thead.appendChild( script );\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 assets = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__unstableResolvedAssets,\n\t\t[]\n\t);\n\tconst [ , forceRender ] = useReducer( () => ( {} ) );\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst compatStyles = useCompatibilityStyles();\n\tconst scripts = useParsedAssets( assets?.scripts );\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\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\tsetIframeDocument( 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\t\t\tdocumentElement.removeChild( contentDocument.body );\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\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\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\tcompatStyle\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\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 headRef = useRefEffect( ( element ) => {\n\t\tscripts\n\t\t\t.reduce(\n\t\t\t\t( promise, script ) =>\n\t\t\t\t\tpromise.then( () => loadScript( element, script ) ),\n\t\t\t\tPromise.resolve()\n\t\t\t)\n\t\t\t.finally( () => {\n\t\t\t\t// When script are loaded, re-render blocks to allow them\n\t\t\t\t// to initialise.\n\t\t\t\tforceRender();\n\t\t\t} );\n\t}, [] );\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t\theadRef,\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 =\n\t\t'<!doctype html>' +\n\t\t'<style>html{height:auto!important;min-height:100%;}body{margin:0}</style>' +\n\t\t( assets?.styles ?? '' );\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"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"names":["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","blockEditorStore","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","style","marginTop","marginBottom","transform","transition","IframeIfReady","isInitialised","__internalIsInitialized"],"mappings":"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","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\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<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"]}
@@ -52,6 +52,11 @@ function useCompatibilityStyles() {
52
52
 
53
53
  if (ownerNode.id === 'wp-reset-editor-styles-css') {
54
54
  return accumulator;
55
+ } // Don't try to add styles without ID. Styles enqueued via the WP dependency system will always have IDs.
56
+
57
+
58
+ if (!ownerNode.id) {
59
+ return accumulator;
55
60
  }
56
61
 
57
62
  function matchFromRules(_cssRules) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/iframe/use-compatibility-styles.js"],"names":["useCompatibilityStyles","Array","from","document","styleSheets","reduce","accumulator","styleSheet","cssRules","e","ownerNode","id","matchFromRules","_cssRules","find","selectorText","conditionText","__cssRules","includes","isInline","tagName","mainStylesCssId","replace","mainStylesElement","getElementById","push","cloneNode","inlineStylesCssId","inlineStylesElement"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,sBAAT,GAAkC;AACxC;AACA;AACA,SAAO,sBAAS,MAAM;AACrB;AACA,WAAOC,KAAK,CAACC,IAAN,CAAYC,QAAQ,CAACC,WAArB,EAAmCC,MAAnC,CACN,CAAEC,WAAF,EAAeC,UAAf,KAA+B;AAC9B,UAAI;AACH;AACA;AACAA,QAAAA,UAAU,CAACC,QAAX;AACA,OAJD,CAIE,OAAQC,CAAR,EAAY;AACb,eAAOH,WAAP;AACA;;AAED,YAAM;AAAEI,QAAAA,SAAF;AAAaF,QAAAA;AAAb,UAA0BD,UAAhC,CAT8B,CAW9B;AACA;;AACA,UAAKG,SAAS,KAAK,IAAnB,EAA0B;AACzB,eAAOJ,WAAP;AACA;;AAED,UAAK,CAAEE,QAAP,EAAkB;AACjB,eAAOF,WAAP;AACA,OAnB6B,CAqB9B;AACA;AACA;;;AACA,UAAKI,SAAS,CAACC,EAAV,KAAiB,4BAAtB,EAAqD;AACpD,eAAOL,WAAP;AACA;;AAED,eAASM,cAAT,CAAyBC,SAAzB,EAAqC;AACpC,eAAOZ,KAAK,CAACC,IAAN,CAAYW,SAAZ,EAAwBC,IAAxB,CACN,CAAE;AACDC,UAAAA,YADC;AAEDC,UAAAA,aAFC;AAGDR,UAAAA,QAAQ,EAAES;AAHT,SAAF,KAIO;AACN;AACA;AACA,cAAKD,aAAL,EAAqB;AACpB,mBAAOJ,cAAc,CAAEK,UAAF,CAArB;AACA;;AAED,iBACCF,YAAY,KACVA,YAAY,CAACG,QAAb,CACD,wBADC,KAGDH,YAAY,CAACG,QAAb,CAAuB,WAAvB,CAJW,CADb;AAOA,SAnBK,CAAP;AAqBA;;AAED,UAAKN,cAAc,CAAEJ,QAAF,CAAnB,EAAkC;AACjC,cAAMW,QAAQ,GAAGT,SAAS,CAACU,OAAV,KAAsB,OAAvC;;AAEA,YAAKD,QAAL,EAAgB;AACf;AACA;AACA;AACA,gBAAME,eAAe,GAAGX,SAAS,CAACC,EAAV,CAAaW,OAAb,CACvB,aADuB,EAEvB,MAFuB,CAAxB;AAIA,gBAAMC,iBAAiB,GACtBpB,QAAQ,CAACqB,cAAT,CAAyBH,eAAzB,CADD;;AAEA,cAAKE,iBAAL,EAAyB;AACxBjB,YAAAA,WAAW,CAACmB,IAAZ,CACCF,iBAAiB,CAACG,SAAlB,CAA6B,IAA7B,CADD;AAGA;AACD;;AAEDpB,QAAAA,WAAW,CAACmB,IAAZ,CAAkBf,SAAS,CAACgB,SAAV,CAAqB,IAArB,CAAlB;;AAEA,YAAK,CAAEP,QAAP,EAAkB;AACjB;AACA;AACA;AACA,gBAAMQ,iBAAiB,GAAGjB,SAAS,CAACC,EAAV,CAAaW,OAAb,CACzB,MADyB,EAEzB,aAFyB,CAA1B;AAIA,gBAAMM,mBAAmB,GACxBzB,QAAQ,CAACqB,cAAT,CAAyBG,iBAAzB,CADD;;AAEA,cAAKC,mBAAL,EAA2B;AAC1BtB,YAAAA,WAAW,CAACmB,IAAZ,CACCG,mBAAmB,CAACF,SAApB,CAA+B,IAA/B,CADD;AAGA;AACD;AACD;;AAED,aAAOpB,WAAP;AACA,KA9FK,EA+FN,EA/FM,CAAP;AAiGA,GAnGM,EAmGJ,EAnGI,CAAP;AAoGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Returns a list of stylesheets that target the editor canvas. A stylesheet is\n * considered targetting the editor a canvas if it contains the\n * `editor-styles-wrapper`, `wp-block`, or `wp-block-*` class selectors.\n *\n * Ideally, this hook should be removed in the future and styles should be added\n * explicitly as editor styles.\n */\nexport function useCompatibilityStyles() {\n\t// Only memoize the result once on load, since these stylesheets should not\n\t// change.\n\treturn useMemo( () => {\n\t\t// Search the document for stylesheets targetting the editor canvas.\n\t\treturn Array.from( document.styleSheets ).reduce(\n\t\t\t( accumulator, styleSheet ) => {\n\t\t\t\ttry {\n\t\t\t\t\t// May fail for external styles.\n\t\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\t\tstyleSheet.cssRules;\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tconst { ownerNode, cssRules } = styleSheet;\n\n\t\t\t\t// Stylesheet is added by another stylesheet. See\n\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/StyleSheet/ownerNode#notes.\n\t\t\t\tif ( ownerNode === null ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tif ( ! cssRules ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\t// Don't try to add the reset styles, which were removed as a dependency\n\t\t\t\t// from `edit-blocks` for the iframe since we don't need to reset admin\n\t\t\t\t// styles.\n\t\t\t\tif ( ownerNode.id === 'wp-reset-editor-styles-css' ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tfunction matchFromRules( _cssRules ) {\n\t\t\t\t\treturn Array.from( _cssRules ).find(\n\t\t\t\t\t\t( {\n\t\t\t\t\t\t\tselectorText,\n\t\t\t\t\t\t\tconditionText,\n\t\t\t\t\t\t\tcssRules: __cssRules,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\t// If the rule is conditional then it will not have selector text.\n\t\t\t\t\t\t\t// Recurse into child CSS ruleset to determine selector eligibility.\n\t\t\t\t\t\t\tif ( conditionText ) {\n\t\t\t\t\t\t\t\treturn matchFromRules( __cssRules );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tselectorText &&\n\t\t\t\t\t\t\t\t( selectorText.includes(\n\t\t\t\t\t\t\t\t\t'.editor-styles-wrapper'\n\t\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\t\tselectorText.includes( '.wp-block' ) )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ( matchFromRules( cssRules ) ) {\n\t\t\t\t\tconst isInline = ownerNode.tagName === 'STYLE';\n\n\t\t\t\t\tif ( isInline ) {\n\t\t\t\t\t\t// If the current target is inline,\n\t\t\t\t\t\t// it could be a dependency of an existing stylesheet.\n\t\t\t\t\t\t// Look for that dependency and add it BEFORE the current target.\n\t\t\t\t\t\tconst mainStylesCssId = ownerNode.id.replace(\n\t\t\t\t\t\t\t'-inline-css',\n\t\t\t\t\t\t\t'-css'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst mainStylesElement =\n\t\t\t\t\t\t\tdocument.getElementById( mainStylesCssId );\n\t\t\t\t\t\tif ( mainStylesElement ) {\n\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\tmainStylesElement.cloneNode( true )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\taccumulator.push( ownerNode.cloneNode( true ) );\n\n\t\t\t\t\tif ( ! isInline ) {\n\t\t\t\t\t\t// If the current target is not inline,\n\t\t\t\t\t\t// we still look for inline styles that could be relevant for the current target.\n\t\t\t\t\t\t// If they exist, add them AFTER the current target.\n\t\t\t\t\t\tconst inlineStylesCssId = ownerNode.id.replace(\n\t\t\t\t\t\t\t'-css',\n\t\t\t\t\t\t\t'-inline-css'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst inlineStylesElement =\n\t\t\t\t\t\t\tdocument.getElementById( inlineStylesCssId );\n\t\t\t\t\t\tif ( inlineStylesElement ) {\n\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\tinlineStylesElement.cloneNode( true )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t}, [] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/iframe/use-compatibility-styles.js"],"names":["useCompatibilityStyles","Array","from","document","styleSheets","reduce","accumulator","styleSheet","cssRules","e","ownerNode","id","matchFromRules","_cssRules","find","selectorText","conditionText","__cssRules","includes","isInline","tagName","mainStylesCssId","replace","mainStylesElement","getElementById","push","cloneNode","inlineStylesCssId","inlineStylesElement"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,sBAAT,GAAkC;AACxC;AACA;AACA,SAAO,sBAAS,MAAM;AACrB;AACA,WAAOC,KAAK,CAACC,IAAN,CAAYC,QAAQ,CAACC,WAArB,EAAmCC,MAAnC,CACN,CAAEC,WAAF,EAAeC,UAAf,KAA+B;AAC9B,UAAI;AACH;AACA;AACAA,QAAAA,UAAU,CAACC,QAAX;AACA,OAJD,CAIE,OAAQC,CAAR,EAAY;AACb,eAAOH,WAAP;AACA;;AAED,YAAM;AAAEI,QAAAA,SAAF;AAAaF,QAAAA;AAAb,UAA0BD,UAAhC,CAT8B,CAW9B;AACA;;AACA,UAAKG,SAAS,KAAK,IAAnB,EAA0B;AACzB,eAAOJ,WAAP;AACA;;AAED,UAAK,CAAEE,QAAP,EAAkB;AACjB,eAAOF,WAAP;AACA,OAnB6B,CAqB9B;AACA;AACA;;;AACA,UAAKI,SAAS,CAACC,EAAV,KAAiB,4BAAtB,EAAqD;AACpD,eAAOL,WAAP;AACA,OA1B6B,CA4B9B;;;AACA,UAAK,CAAEI,SAAS,CAACC,EAAjB,EAAsB;AACrB,eAAOL,WAAP;AACA;;AAED,eAASM,cAAT,CAAyBC,SAAzB,EAAqC;AACpC,eAAOZ,KAAK,CAACC,IAAN,CAAYW,SAAZ,EAAwBC,IAAxB,CACN,CAAE;AACDC,UAAAA,YADC;AAEDC,UAAAA,aAFC;AAGDR,UAAAA,QAAQ,EAAES;AAHT,SAAF,KAIO;AACN;AACA;AACA,cAAKD,aAAL,EAAqB;AACpB,mBAAOJ,cAAc,CAAEK,UAAF,CAArB;AACA;;AAED,iBACCF,YAAY,KACVA,YAAY,CAACG,QAAb,CACD,wBADC,KAGDH,YAAY,CAACG,QAAb,CAAuB,WAAvB,CAJW,CADb;AAOA,SAnBK,CAAP;AAqBA;;AAED,UAAKN,cAAc,CAAEJ,QAAF,CAAnB,EAAkC;AACjC,cAAMW,QAAQ,GAAGT,SAAS,CAACU,OAAV,KAAsB,OAAvC;;AAEA,YAAKD,QAAL,EAAgB;AACf;AACA;AACA;AACA,gBAAME,eAAe,GAAGX,SAAS,CAACC,EAAV,CAAaW,OAAb,CACvB,aADuB,EAEvB,MAFuB,CAAxB;AAIA,gBAAMC,iBAAiB,GACtBpB,QAAQ,CAACqB,cAAT,CAAyBH,eAAzB,CADD;;AAEA,cAAKE,iBAAL,EAAyB;AACxBjB,YAAAA,WAAW,CAACmB,IAAZ,CACCF,iBAAiB,CAACG,SAAlB,CAA6B,IAA7B,CADD;AAGA;AACD;;AAEDpB,QAAAA,WAAW,CAACmB,IAAZ,CAAkBf,SAAS,CAACgB,SAAV,CAAqB,IAArB,CAAlB;;AAEA,YAAK,CAAEP,QAAP,EAAkB;AACjB;AACA;AACA;AACA,gBAAMQ,iBAAiB,GAAGjB,SAAS,CAACC,EAAV,CAAaW,OAAb,CACzB,MADyB,EAEzB,aAFyB,CAA1B;AAIA,gBAAMM,mBAAmB,GACxBzB,QAAQ,CAACqB,cAAT,CAAyBG,iBAAzB,CADD;;AAEA,cAAKC,mBAAL,EAA2B;AAC1BtB,YAAAA,WAAW,CAACmB,IAAZ,CACCG,mBAAmB,CAACF,SAApB,CAA+B,IAA/B,CADD;AAGA;AACD;AACD;;AAED,aAAOpB,WAAP;AACA,KAnGK,EAoGN,EApGM,CAAP;AAsGA,GAxGM,EAwGJ,EAxGI,CAAP;AAyGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Returns a list of stylesheets that target the editor canvas. A stylesheet is\n * considered targetting the editor a canvas if it contains the\n * `editor-styles-wrapper`, `wp-block`, or `wp-block-*` class selectors.\n *\n * Ideally, this hook should be removed in the future and styles should be added\n * explicitly as editor styles.\n */\nexport function useCompatibilityStyles() {\n\t// Only memoize the result once on load, since these stylesheets should not\n\t// change.\n\treturn useMemo( () => {\n\t\t// Search the document for stylesheets targetting the editor canvas.\n\t\treturn Array.from( document.styleSheets ).reduce(\n\t\t\t( accumulator, styleSheet ) => {\n\t\t\t\ttry {\n\t\t\t\t\t// May fail for external styles.\n\t\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\t\tstyleSheet.cssRules;\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tconst { ownerNode, cssRules } = styleSheet;\n\n\t\t\t\t// Stylesheet is added by another stylesheet. See\n\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/StyleSheet/ownerNode#notes.\n\t\t\t\tif ( ownerNode === null ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tif ( ! cssRules ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\t// Don't try to add the reset styles, which were removed as a dependency\n\t\t\t\t// from `edit-blocks` for the iframe since we don't need to reset admin\n\t\t\t\t// styles.\n\t\t\t\tif ( ownerNode.id === 'wp-reset-editor-styles-css' ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\t// Don't try to add styles without ID. Styles enqueued via the WP dependency system will always have IDs.\n\t\t\t\tif ( ! ownerNode.id ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tfunction matchFromRules( _cssRules ) {\n\t\t\t\t\treturn Array.from( _cssRules ).find(\n\t\t\t\t\t\t( {\n\t\t\t\t\t\t\tselectorText,\n\t\t\t\t\t\t\tconditionText,\n\t\t\t\t\t\t\tcssRules: __cssRules,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\t// If the rule is conditional then it will not have selector text.\n\t\t\t\t\t\t\t// Recurse into child CSS ruleset to determine selector eligibility.\n\t\t\t\t\t\t\tif ( conditionText ) {\n\t\t\t\t\t\t\t\treturn matchFromRules( __cssRules );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tselectorText &&\n\t\t\t\t\t\t\t\t( selectorText.includes(\n\t\t\t\t\t\t\t\t\t'.editor-styles-wrapper'\n\t\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\t\tselectorText.includes( '.wp-block' ) )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ( matchFromRules( cssRules ) ) {\n\t\t\t\t\tconst isInline = ownerNode.tagName === 'STYLE';\n\n\t\t\t\t\tif ( isInline ) {\n\t\t\t\t\t\t// If the current target is inline,\n\t\t\t\t\t\t// it could be a dependency of an existing stylesheet.\n\t\t\t\t\t\t// Look for that dependency and add it BEFORE the current target.\n\t\t\t\t\t\tconst mainStylesCssId = ownerNode.id.replace(\n\t\t\t\t\t\t\t'-inline-css',\n\t\t\t\t\t\t\t'-css'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst mainStylesElement =\n\t\t\t\t\t\t\tdocument.getElementById( mainStylesCssId );\n\t\t\t\t\t\tif ( mainStylesElement ) {\n\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\tmainStylesElement.cloneNode( true )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\taccumulator.push( ownerNode.cloneNode( true ) );\n\n\t\t\t\t\tif ( ! isInline ) {\n\t\t\t\t\t\t// If the current target is not inline,\n\t\t\t\t\t\t// we still look for inline styles that could be relevant for the current target.\n\t\t\t\t\t\t// If they exist, add them AFTER the current target.\n\t\t\t\t\t\tconst inlineStylesCssId = ownerNode.id.replace(\n\t\t\t\t\t\t\t'-css',\n\t\t\t\t\t\t\t'-inline-css'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst inlineStylesElement =\n\t\t\t\t\t\t\tdocument.getElementById( inlineStylesCssId );\n\t\t\t\t\t\tif ( inlineStylesElement ) {\n\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\tinlineStylesElement.cloneNode( true )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t}, [] );\n}\n"]}
@@ -72,7 +72,7 @@ function AspectRatioDropdown({
72
72
  onClose();
73
73
  },
74
74
  value: aspect,
75
- aspectRatios: [// All ratios should be mirrored in PostFeaturedImage in @wordpress/block-library
75
+ aspectRatios: [// All ratios should be mirrored in AspectRatioTool in @wordpress/block-editor.
76
76
  {
77
77
  title: (0, _i18n.__)('Original'),
78
78
  aspect: defaultAspect
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/image-editor/aspect-ratio-dropdown.js"],"names":["AspectGroup","aspectRatios","isDisabled","label","onClick","value","map","title","aspect","check","undefined","AspectRatioDropdown","toggleProps","isInProgress","setAspect","defaultAspect","aspectRatioIcon","POPOVER_PROPS","onClose","newAspect"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { check, aspectRatio as aspectRatioIcon } from '@wordpress/icons';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { POPOVER_PROPS } from './constants';\nimport { useImageEditingContext } from './context';\n\nfunction AspectGroup( { aspectRatios, isDisabled, label, onClick, value } ) {\n\treturn (\n\t\t<MenuGroup label={ label }>\n\t\t\t{ aspectRatios.map( ( { title, aspect } ) => (\n\t\t\t\t<MenuItem\n\t\t\t\t\tkey={ aspect }\n\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonClick( aspect );\n\t\t\t\t\t} }\n\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\tisSelected={ aspect === value }\n\t\t\t\t\ticon={ aspect === value ? check : undefined }\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</MenuItem>\n\t\t\t) ) }\n\t\t</MenuGroup>\n\t);\n}\n\nexport default function AspectRatioDropdown( { toggleProps } ) {\n\tconst { isInProgress, aspect, setAspect, defaultAspect } =\n\t\tuseImageEditingContext();\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ aspectRatioIcon }\n\t\t\tlabel={ __( 'Aspect Ratio' ) }\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tclassName=\"wp-block-image__aspect-ratio\"\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<AspectGroup\n\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\taspectRatios={ [\n\t\t\t\t\t\t\t// All ratios should be mirrored in PostFeaturedImage in @wordpress/block-library\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( 'Original' ),\n\t\t\t\t\t\t\t\taspect: defaultAspect,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( 'Square' ),\n\t\t\t\t\t\t\t\taspect: 1,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t\t<AspectGroup\n\t\t\t\t\t\tlabel={ __( 'Landscape' ) }\n\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\taspectRatios={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '16:10' ),\n\t\t\t\t\t\t\t\taspect: 16 / 10,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '16:9' ),\n\t\t\t\t\t\t\t\taspect: 16 / 9,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '4:3' ),\n\t\t\t\t\t\t\t\taspect: 4 / 3,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '3:2' ),\n\t\t\t\t\t\t\t\taspect: 3 / 2,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t\t<AspectGroup\n\t\t\t\t\t\tlabel={ __( 'Portrait' ) }\n\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\taspectRatios={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '10:16' ),\n\t\t\t\t\t\t\t\taspect: 10 / 16,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '9:16' ),\n\t\t\t\t\t\t\t\taspect: 9 / 16,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '3:4' ),\n\t\t\t\t\t\t\t\taspect: 3 / 4,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '2:3' ),\n\t\t\t\t\t\t\t\taspect: 2 / 3,\n\t\t\t\t\t\t\t},\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</DropdownMenu>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/image-editor/aspect-ratio-dropdown.js"],"names":["AspectGroup","aspectRatios","isDisabled","label","onClick","value","map","title","aspect","check","undefined","AspectRatioDropdown","toggleProps","isInProgress","setAspect","defaultAspect","aspectRatioIcon","POPOVER_PROPS","onClose","newAspect"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AACA;;AAXA;AACA;AACA;;AAKA;AACA;AACA;AAIA,SAASA,WAAT,CAAsB;AAAEC,EAAAA,YAAF;AAAgBC,EAAAA,UAAhB;AAA4BC,EAAAA,KAA5B;AAAmCC,EAAAA,OAAnC;AAA4CC,EAAAA;AAA5C,CAAtB,EAA4E;AAC3E,SACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAGF;AAAnB,KACGF,YAAY,CAACK,GAAb,CAAkB,CAAE;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAF,KACnB,4BAAC,oBAAD;AACC,IAAA,GAAG,EAAGA,MADP;AAEC,IAAA,QAAQ,EAAGN,UAFZ;AAGC,IAAA,OAAO,EAAG,MAAM;AACfE,MAAAA,OAAO,CAAEI,MAAF,CAAP;AACA,KALF;AAMC,IAAA,IAAI,EAAC,eANN;AAOC,IAAA,UAAU,EAAGA,MAAM,KAAKH,KAPzB;AAQC,IAAA,IAAI,EAAGG,MAAM,KAAKH,KAAX,GAAmBI,YAAnB,GAA2BC;AARnC,KAUGH,KAVH,CADC,CADH,CADD;AAkBA;;AAEc,SAASI,mBAAT,CAA8B;AAAEC,EAAAA;AAAF,CAA9B,EAAgD;AAC9D,QAAM;AAAEC,IAAAA,YAAF;AAAgBL,IAAAA,MAAhB;AAAwBM,IAAAA,SAAxB;AAAmCC,IAAAA;AAAnC,MACL,sCADD;AAGA,SACC,4BAAC,wBAAD;AACC,IAAA,IAAI,EAAGC,kBADR;AAEC,IAAA,KAAK,EAAG,cAAI,cAAJ,CAFT;AAGC,IAAA,YAAY,EAAGC,wBAHhB;AAIC,IAAA,WAAW,EAAGL,WAJf;AAKC,IAAA,SAAS,EAAC;AALX,KAOG,CAAE;AAAEM,IAAAA;AAAF,GAAF,KACD,qDACC,4BAAC,WAAD;AACC,IAAA,UAAU,EAAGL,YADd;AAEC,IAAA,OAAO,EAAKM,SAAF,IAAiB;AAC1BL,MAAAA,SAAS,CAAEK,SAAF,CAAT;AACAD,MAAAA,OAAO;AACP,KALF;AAMC,IAAA,KAAK,EAAGV,MANT;AAOC,IAAA,YAAY,EAAG,CACd;AACA;AACCD,MAAAA,KAAK,EAAE,cAAI,UAAJ,CADR;AAECC,MAAAA,MAAM,EAAEO;AAFT,KAFc,EAMd;AACCR,MAAAA,KAAK,EAAE,cAAI,QAAJ,CADR;AAECC,MAAAA,MAAM,EAAE;AAFT,KANc;AAPhB,IADD,EAoBC,4BAAC,WAAD;AACC,IAAA,KAAK,EAAG,cAAI,WAAJ,CADT;AAEC,IAAA,UAAU,EAAGK,YAFd;AAGC,IAAA,OAAO,EAAKM,SAAF,IAAiB;AAC1BL,MAAAA,SAAS,CAAEK,SAAF,CAAT;AACAD,MAAAA,OAAO;AACP,KANF;AAOC,IAAA,KAAK,EAAGV,MAPT;AAQC,IAAA,YAAY,EAAG,CACd;AACCD,MAAAA,KAAK,EAAE,cAAI,OAAJ,CADR;AAECC,MAAAA,MAAM,EAAE,KAAK;AAFd,KADc,EAKd;AACCD,MAAAA,KAAK,EAAE,cAAI,MAAJ,CADR;AAECC,MAAAA,MAAM,EAAE,KAAK;AAFd,KALc,EASd;AACCD,MAAAA,KAAK,EAAE,cAAI,KAAJ,CADR;AAECC,MAAAA,MAAM,EAAE,IAAI;AAFb,KATc,EAad;AACCD,MAAAA,KAAK,EAAE,cAAI,KAAJ,CADR;AAECC,MAAAA,MAAM,EAAE,IAAI;AAFb,KAbc;AARhB,IApBD,EA+CC,4BAAC,WAAD;AACC,IAAA,KAAK,EAAG,cAAI,UAAJ,CADT;AAEC,IAAA,UAAU,EAAGK,YAFd;AAGC,IAAA,OAAO,EAAKM,SAAF,IAAiB;AAC1BL,MAAAA,SAAS,CAAEK,SAAF,CAAT;AACAD,MAAAA,OAAO;AACP,KANF;AAOC,IAAA,KAAK,EAAGV,MAPT;AAQC,IAAA,YAAY,EAAG,CACd;AACCD,MAAAA,KAAK,EAAE,cAAI,OAAJ,CADR;AAECC,MAAAA,MAAM,EAAE,KAAK;AAFd,KADc,EAKd;AACCD,MAAAA,KAAK,EAAE,cAAI,MAAJ,CADR;AAECC,MAAAA,MAAM,EAAE,IAAI;AAFb,KALc,EASd;AACCD,MAAAA,KAAK,EAAE,cAAI,KAAJ,CADR;AAECC,MAAAA,MAAM,EAAE,IAAI;AAFb,KATc,EAad;AACCD,MAAAA,KAAK,EAAE,cAAI,KAAJ,CADR;AAECC,MAAAA,MAAM,EAAE,IAAI;AAFb,KAbc;AARhB,IA/CD,CARF,CADD;AAuFA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { check, aspectRatio as aspectRatioIcon } from '@wordpress/icons';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { POPOVER_PROPS } from './constants';\nimport { useImageEditingContext } from './context';\n\nfunction AspectGroup( { aspectRatios, isDisabled, label, onClick, value } ) {\n\treturn (\n\t\t<MenuGroup label={ label }>\n\t\t\t{ aspectRatios.map( ( { title, aspect } ) => (\n\t\t\t\t<MenuItem\n\t\t\t\t\tkey={ aspect }\n\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonClick( aspect );\n\t\t\t\t\t} }\n\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\tisSelected={ aspect === value }\n\t\t\t\t\ticon={ aspect === value ? check : undefined }\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t</MenuItem>\n\t\t\t) ) }\n\t\t</MenuGroup>\n\t);\n}\n\nexport default function AspectRatioDropdown( { toggleProps } ) {\n\tconst { isInProgress, aspect, setAspect, defaultAspect } =\n\t\tuseImageEditingContext();\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ aspectRatioIcon }\n\t\t\tlabel={ __( 'Aspect Ratio' ) }\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tclassName=\"wp-block-image__aspect-ratio\"\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<AspectGroup\n\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\taspectRatios={ [\n\t\t\t\t\t\t\t// All ratios should be mirrored in AspectRatioTool in @wordpress/block-editor.\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( 'Original' ),\n\t\t\t\t\t\t\t\taspect: defaultAspect,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( 'Square' ),\n\t\t\t\t\t\t\t\taspect: 1,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t\t<AspectGroup\n\t\t\t\t\t\tlabel={ __( 'Landscape' ) }\n\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\taspectRatios={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '16:10' ),\n\t\t\t\t\t\t\t\taspect: 16 / 10,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '16:9' ),\n\t\t\t\t\t\t\t\taspect: 16 / 9,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '4:3' ),\n\t\t\t\t\t\t\t\taspect: 4 / 3,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '3:2' ),\n\t\t\t\t\t\t\t\taspect: 3 / 2,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t\t<AspectGroup\n\t\t\t\t\t\tlabel={ __( 'Portrait' ) }\n\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\taspectRatios={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '10:16' ),\n\t\t\t\t\t\t\t\taspect: 10 / 16,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '9:16' ),\n\t\t\t\t\t\t\t\taspect: 9 / 16,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '3:4' ),\n\t\t\t\t\t\t\t\taspect: 3 / 4,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __( '2:3' ),\n\t\t\t\t\t\t\t\taspect: 2 / 3,\n\t\t\t\t\t\t\t},\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</DropdownMenu>\n\t);\n}\n"]}
@@ -80,8 +80,7 @@ function useSaveImage({
80
80
  }).then(response => {
81
81
  onSaveImage({
82
82
  id: response.id,
83
- url: response.source_url,
84
- height: height && width ? width / aspect : undefined
83
+ url: response.source_url
85
84
  });
86
85
  }).catch(error => {
87
86
  createErrorNotice((0, _i18n.sprintf)(
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/image-editor/use-save-image.js"],"names":["useSaveImage","crop","rotation","height","width","aspect","url","id","onSaveImage","onFinishEditing","createErrorNotice","noticesStore","isInProgress","setIsInProgress","cancel","apply","modifiers","push","type","args","angle","left","x","top","y","path","method","data","src","then","response","source_url","undefined","catch","error","message","finally"],"mappings":"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","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\theight: height && width ? width / aspect : undefined,\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"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/image-editor/use-save-image.js"],"names":["useSaveImage","crop","rotation","height","width","aspect","url","id","onSaveImage","onFinishEditing","createErrorNotice","noticesStore","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"],"mappings":"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","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"]}
@@ -11,6 +11,8 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _components = require("@wordpress/components");
13
13
 
14
+ var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
15
+
14
16
  var _i18n = require("@wordpress/i18n");
15
17
 
16
18
  var _useDimensionHandler = _interopRequireDefault(require("./use-dimension-handler"));
@@ -38,6 +40,10 @@ function ImageSizeControl({
38
40
  onChange,
39
41
  onChangeImage = noop
40
42
  }) {
43
+ (0, _deprecated.default)('wp.blockEditor.__experimentalImageSizeControl', {
44
+ since: '6.3',
45
+ alternative: 'wp.blockEditor.privateApis.DimensionsTool and wp.blockEditor.privateApis.ResolutionTool'
46
+ });
41
47
  const {
42
48
  currentHeight,
43
49
  currentWidth,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/image-size-control/index.js"],"names":["IMAGE_SIZE_PRESETS","noop","ImageSizeControl","imageSizeHelp","imageWidth","imageHeight","imageSizeOptions","isResizable","slug","width","height","onChange","onChangeImage","currentHeight","currentWidth","updateDimension","updateDimensions","length","value","map","scale","scaledWidth","Math","round","scaledHeight","isCurrent","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tButtonGroup,\n\tSelectControl,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useDimensionHandler from './use-dimension-handler';\n\nconst IMAGE_SIZE_PRESETS = [ 25, 50, 75, 100 ];\nconst noop = () => {};\n\nexport default function ImageSizeControl( {\n\timageSizeHelp,\n\timageWidth,\n\timageHeight,\n\timageSizeOptions = [],\n\tisResizable = true,\n\tslug,\n\twidth,\n\theight,\n\tonChange,\n\tonChangeImage = noop,\n} ) {\n\tconst { currentHeight, currentWidth, updateDimension, updateDimensions } =\n\t\tuseDimensionHandler( height, width, imageHeight, imageWidth, onChange );\n\n\treturn (\n\t\t<>\n\t\t\t{ imageSizeOptions && imageSizeOptions.length > 0 && (\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tvalue={ slug }\n\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\tonChange={ onChangeImage }\n\t\t\t\t\thelp={ imageSizeHelp }\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isResizable && (\n\t\t\t\t<div className=\"block-editor-image-size-control\">\n\t\t\t\t\t<HStack align=\"baseline\" spacing=\"3\">\n\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\tclassName=\"block-editor-image-size-control__width\"\n\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\tvalue={ currentWidth }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateDimension( 'width', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\tclassName=\"block-editor-image-size-control__height\"\n\t\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\t\tvalue={ currentHeight }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateDimension( 'height', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<HStack>\n\t\t\t\t\t\t<ButtonGroup aria-label={ __( 'Image size presets' ) }>\n\t\t\t\t\t\t\t{ IMAGE_SIZE_PRESETS.map( ( scale ) => {\n\t\t\t\t\t\t\t\tconst scaledWidth = Math.round(\n\t\t\t\t\t\t\t\t\timageWidth * ( scale / 100 )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tconst scaledHeight = Math.round(\n\t\t\t\t\t\t\t\t\timageHeight * ( scale / 100 )\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tconst isCurrent =\n\t\t\t\t\t\t\t\t\tcurrentWidth === scaledWidth &&\n\t\t\t\t\t\t\t\t\tcurrentHeight === scaledHeight;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={ scale }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tisCurrent ? 'primary' : undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisPressed={ isCurrent }\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tupdateDimensions(\n\t\t\t\t\t\t\t\t\t\t\t\tscaledHeight,\n\t\t\t\t\t\t\t\t\t\t\t\tscaledWidth\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ scale }%\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t\t<Button isSmall onClick={ () => updateDimensions() }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/image-size-control/index.js"],"names":["IMAGE_SIZE_PRESETS","noop","ImageSizeControl","imageSizeHelp","imageWidth","imageHeight","imageSizeOptions","isResizable","slug","width","height","onChange","onChangeImage","since","alternative","currentHeight","currentWidth","updateDimension","updateDimensions","length","value","map","scale","scaledWidth","Math","round","scaledHeight","isCurrent","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tButtonGroup,\n\tSelectControl,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport deprecated from '@wordpress/deprecated';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useDimensionHandler from './use-dimension-handler';\n\nconst IMAGE_SIZE_PRESETS = [ 25, 50, 75, 100 ];\nconst noop = () => {};\n\nexport default function ImageSizeControl( {\n\timageSizeHelp,\n\timageWidth,\n\timageHeight,\n\timageSizeOptions = [],\n\tisResizable = true,\n\tslug,\n\twidth,\n\theight,\n\tonChange,\n\tonChangeImage = noop,\n} ) {\n\tdeprecated( 'wp.blockEditor.__experimentalImageSizeControl', {\n\t\tsince: '6.3',\n\t\talternative:\n\t\t\t'wp.blockEditor.privateApis.DimensionsTool and wp.blockEditor.privateApis.ResolutionTool',\n\t} );\n\tconst { currentHeight, currentWidth, updateDimension, updateDimensions } =\n\t\tuseDimensionHandler( height, width, imageHeight, imageWidth, onChange );\n\n\treturn (\n\t\t<>\n\t\t\t{ imageSizeOptions && imageSizeOptions.length > 0 && (\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tvalue={ slug }\n\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\tonChange={ onChangeImage }\n\t\t\t\t\thelp={ imageSizeHelp }\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isResizable && (\n\t\t\t\t<div className=\"block-editor-image-size-control\">\n\t\t\t\t\t<HStack align=\"baseline\" spacing=\"3\">\n\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\tclassName=\"block-editor-image-size-control__width\"\n\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\tvalue={ currentWidth }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateDimension( 'width', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\tclassName=\"block-editor-image-size-control__height\"\n\t\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\t\tvalue={ currentHeight }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateDimension( 'height', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<HStack>\n\t\t\t\t\t\t<ButtonGroup aria-label={ __( 'Image size presets' ) }>\n\t\t\t\t\t\t\t{ IMAGE_SIZE_PRESETS.map( ( scale ) => {\n\t\t\t\t\t\t\t\tconst scaledWidth = Math.round(\n\t\t\t\t\t\t\t\t\timageWidth * ( scale / 100 )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tconst scaledHeight = Math.round(\n\t\t\t\t\t\t\t\t\timageHeight * ( scale / 100 )\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tconst isCurrent =\n\t\t\t\t\t\t\t\t\tcurrentWidth === scaledWidth &&\n\t\t\t\t\t\t\t\t\tcurrentHeight === scaledHeight;\n\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={ scale }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tisCurrent ? 'primary' : undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisPressed={ isCurrent }\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tupdateDimensions(\n\t\t\t\t\t\t\t\t\t\t\t\tscaledHeight,\n\t\t\t\t\t\t\t\t\t\t\t\tscaledWidth\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ scale }%\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t\t<Button isSmall onClick={ () => updateDimensions() }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -43,6 +43,7 @@ var _exportNames = {
43
43
  __experimentalLetterSpacingControl: true,
44
44
  __experimentalTextDecorationControl: true,
45
45
  __experimentalTextTransformControl: true,
46
+ __experimentalWritingModeControl: true,
46
47
  __experimentalColorGradientControl: true,
47
48
  __experimentalColorGradientSettingsDropdown: true,
48
49
  __experimentalPanelColorGradientSettings: true,
@@ -742,6 +743,12 @@ Object.defineProperty(exports, "__experimentalUseResizeCanvas", {
742
743
  return _useResizeCanvas.default;
743
744
  }
744
745
  });
746
+ Object.defineProperty(exports, "__experimentalWritingModeControl", {
747
+ enumerable: true,
748
+ get: function () {
749
+ return _writingModeControl.default;
750
+ }
751
+ });
745
752
  Object.defineProperty(exports, "__unstableBlockNameContext", {
746
753
  enumerable: true,
747
754
  get: function () {
@@ -987,6 +994,8 @@ var _textDecorationControl = _interopRequireDefault(require("./text-decoration-c
987
994
 
988
995
  var _textTransformControl = _interopRequireDefault(require("./text-transform-control"));
989
996
 
997
+ var _writingModeControl = _interopRequireDefault(require("./writing-mode-control"));
998
+
990
999
  var _control2 = _interopRequireDefault(require("./colors-gradients/control"));
991
1000
 
992
1001
  var _dropdown2 = _interopRequireDefault(require("./colors-gradients/dropdown"));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AASA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AAMA;;AACA","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 __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';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AASA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AAMA;;AACA","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';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\n"]}
@@ -68,6 +68,8 @@ function UncontrolledInnerBlocks(props) {
68
68
  clientId,
69
69
  allowedBlocks,
70
70
  prioritizedInserterBlocks,
71
+ defaultBlock,
72
+ directInsert,
71
73
  __experimentalDefaultBlock,
72
74
  __experimentalDirectInsert,
73
75
  template,
@@ -81,7 +83,7 @@ function UncontrolledInnerBlocks(props) {
81
83
  placeholder,
82
84
  layout
83
85
  } = props;
84
- (0, _useNestedSettingsUpdate.default)(clientId, allowedBlocks, prioritizedInserterBlocks, __experimentalDefaultBlock, __experimentalDirectInsert, templateLock, captureToolbars, orientation, layout);
86
+ (0, _useNestedSettingsUpdate.default)(clientId, allowedBlocks, prioritizedInserterBlocks, defaultBlock, directInsert, __experimentalDefaultBlock, __experimentalDirectInsert, templateLock, captureToolbars, orientation, layout);
85
87
  (0, _useInnerBlockTemplateSync.default)(clientId, template, templateLock, templateInsertUpdatesSelection);
86
88
  const context = (0, _useBlockContext.default)(clientId);
87
89
  const name = (0, _data.useSelect)(select => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/inner-blocks/index.js"],"names":["EMPTY_OBJECT","UncontrolledInnerBlocks","props","clientId","allowedBlocks","prioritizedInserterBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","template","templateLock","wrapperRef","templateInsertUpdatesSelection","__experimentalCaptureToolbars","captureToolbars","__experimentalAppenderTagName","renderAppender","orientation","placeholder","layout","context","name","select","blockEditorStore","getBlock","defaultLayoutBlockSupport","allowSizingOnChildren","defaultLayout","usedLayout","memoedLayout","ControlledInnerBlocks","ForwardedInnerBlocks","ref","innerBlocksProps","useInnerBlocksProps","options","__unstableDisableLayoutClassNames","__unstableDisableDropZone","__unstableLayoutClassNames","layoutClassNames","isSmallScreen","hasOverlay","getBlockName","isBlockSelected","hasSelectedInnerBlock","__unstableGetEditorMode","blockName","enableClickThrough","blocksStore","hasBlockSupport","blockDropZoneRef","rootClientId","InnerBlocks","value","onChange","className","children","save","getInnerBlocksProps","DefaultBlockAppender","ButtonBlockAppender","Content"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch, useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tgetBlockSupport,\n\tstore as blocksStore,\n\t__unstableGetInnerBlocksProps as getInnerBlocksProps,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ButtonBlockAppender from './button-block-appender';\nimport DefaultBlockAppender from './default-block-appender';\nimport useNestedSettingsUpdate from './use-nested-settings-update';\nimport useInnerBlockTemplateSync from './use-inner-block-template-sync';\nimport useBlockContext from './use-block-context';\nimport { BlockListItems } from '../block-list';\nimport { BlockContextProvider } from '../block-context';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useBlockSync from '../provider/use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport useSetting from '../use-setting';\n\nconst EMPTY_OBJECT = {};\n\n/**\n * InnerBlocks is a component which allows a single block to have multiple blocks\n * as children. The UncontrolledInnerBlocks component is used whenever the inner\n * blocks are not controlled by another entity. In other words, it is normally\n * used for inner blocks in the post editor\n *\n * @param {Object} props The component props.\n */\nfunction UncontrolledInnerBlocks( props ) {\n\tconst {\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\twrapperRef,\n\t\ttemplateInsertUpdatesSelection,\n\t\t__experimentalCaptureToolbars: captureToolbars,\n\t\t__experimentalAppenderTagName,\n\t\trenderAppender,\n\t\torientation,\n\t\tplaceholder,\n\t\tlayout,\n\t} = props;\n\n\tuseNestedSettingsUpdate(\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplateLock,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout\n\t);\n\n\tuseInnerBlockTemplateSync(\n\t\tclientId,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection\n\t);\n\n\tconst context = useBlockContext( clientId );\n\tconst name = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.name;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst defaultLayoutBlockSupport =\n\t\tgetBlockSupport( name, 'layout' ) ||\n\t\tgetBlockSupport( name, '__experimentalLayout' ) ||\n\t\tEMPTY_OBJECT;\n\n\tconst { allowSizingOnChildren = false } = defaultLayoutBlockSupport;\n\n\tconst defaultLayout = useSetting( 'layout' ) || EMPTY_OBJECT;\n\n\tconst usedLayout = layout || defaultLayoutBlockSupport;\n\n\tconst memoedLayout = useMemo(\n\t\t() => ( {\n\t\t\t// Default layout will know about any content/wide size defined by the theme.\n\t\t\t...defaultLayout,\n\t\t\t...usedLayout,\n\t\t\t...( allowSizingOnChildren && {\n\t\t\t\tallowSizingOnChildren: true,\n\t\t\t} ),\n\t\t} ),\n\t\t[ defaultLayout, usedLayout, allowSizingOnChildren ]\n\t);\n\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<BlockContextProvider value={ context }>\n\t\t\t<BlockListItems\n\t\t\t\trootClientId={ clientId }\n\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t__experimentalAppenderTagName={ __experimentalAppenderTagName }\n\t\t\t\tlayout={ memoedLayout }\n\t\t\t\twrapperRef={ wrapperRef }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t/>\n\t\t</BlockContextProvider>\n\t);\n}\n\n/**\n * The controlled inner blocks component wraps the uncontrolled inner blocks\n * component with the blockSync hook. This keeps the innerBlocks of the block in\n * the block-editor store in sync with the blocks of the controlling entity. An\n * example of an inner block controller is a template part block, which provides\n * its own blocks from the template part entity data source.\n *\n * @param {Object} props The component props.\n */\nfunction ControlledInnerBlocks( props ) {\n\tuseBlockSync( props );\n\treturn <UncontrolledInnerBlocks { ...props } />;\n}\n\nconst ForwardedInnerBlocks = forwardRef( ( props, ref ) => {\n\tconst innerBlocksProps = useInnerBlocksProps( { ref }, props );\n\treturn (\n\t\t<div className=\"block-editor-inner-blocks\">\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n} );\n\n/**\n * This hook is used to lightly mark an element as an inner blocks wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * an inner blocks wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Optional. Inner blocks options.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport function useInnerBlocksProps( props = {}, options = {} ) {\n\tconst { __unstableDisableLayoutClassNames, __unstableDisableDropZone } =\n\t\toptions;\n\tconst {\n\t\tclientId,\n\t\tlayout = null,\n\t\t__unstableLayoutClassNames: layoutClassNames = '',\n\t} = useBlockEditContext();\n\tconst isSmallScreen = useViewportMatch( 'medium', '<' );\n\tconst { __experimentalCaptureToolbars, hasOverlay } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst enableClickThrough =\n\t\t\t\t__unstableGetEditorMode() === 'navigation' || isSmallScreen;\n\t\t\treturn {\n\t\t\t\t__experimentalCaptureToolbars: select(\n\t\t\t\t\tblocksStore\n\t\t\t\t).hasBlockSupport(\n\t\t\t\t\tblockName,\n\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasOverlay:\n\t\t\t\t\tblockName !== 'core/template' &&\n\t\t\t\t\t! isBlockSelected( clientId ) &&\n\t\t\t\t\t! hasSelectedInnerBlock( clientId, true ) &&\n\t\t\t\t\tenableClickThrough,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSmallScreen ]\n\t);\n\n\tconst blockDropZoneRef = useBlockDropZone( {\n\t\trootClientId: clientId,\n\t} );\n\n\tconst ref = useMergeRefs( [\n\t\tprops.ref,\n\t\t__unstableDisableDropZone ? null : blockDropZoneRef,\n\t] );\n\n\tconst innerBlocksProps = {\n\t\t__experimentalCaptureToolbars,\n\t\tlayout,\n\t\t...options,\n\t};\n\tconst InnerBlocks =\n\t\tinnerBlocksProps.value && innerBlocksProps.onChange\n\t\t\t? ControlledInnerBlocks\n\t\t\t: UncontrolledInnerBlocks;\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: classnames(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-list__layout',\n\t\t\t__unstableDisableLayoutClassNames ? '' : layoutClassNames,\n\t\t\t{\n\t\t\t\t'has-overlay': hasOverlay,\n\t\t\t}\n\t\t),\n\t\tchildren: clientId ? (\n\t\t\t<InnerBlocks { ...innerBlocksProps } clientId={ clientId } />\n\t\t) : (\n\t\t\t<BlockListItems { ...options } />\n\t\t),\n\t};\n}\n\nuseInnerBlocksProps.save = getInnerBlocksProps;\n\n// Expose default appender placeholders as components.\nForwardedInnerBlocks.DefaultBlockAppender = DefaultBlockAppender;\nForwardedInnerBlocks.ButtonBlockAppender = ButtonBlockAppender;\n\nForwardedInnerBlocks.Content = () => useInnerBlocksProps.save().children;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport default ForwardedInnerBlocks;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/inner-blocks/index.js"],"names":["EMPTY_OBJECT","UncontrolledInnerBlocks","props","clientId","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","template","templateLock","wrapperRef","templateInsertUpdatesSelection","__experimentalCaptureToolbars","captureToolbars","__experimentalAppenderTagName","renderAppender","orientation","placeholder","layout","context","name","select","blockEditorStore","getBlock","defaultLayoutBlockSupport","allowSizingOnChildren","defaultLayout","usedLayout","memoedLayout","ControlledInnerBlocks","ForwardedInnerBlocks","ref","innerBlocksProps","useInnerBlocksProps","options","__unstableDisableLayoutClassNames","__unstableDisableDropZone","__unstableLayoutClassNames","layoutClassNames","isSmallScreen","hasOverlay","getBlockName","isBlockSelected","hasSelectedInnerBlock","__unstableGetEditorMode","blockName","enableClickThrough","blocksStore","hasBlockSupport","blockDropZoneRef","rootClientId","InnerBlocks","value","onChange","className","children","save","getInnerBlocksProps","DefaultBlockAppender","ButtonBlockAppender","Content"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch, useMergeRefs } from '@wordpress/compose';\nimport { forwardRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tgetBlockSupport,\n\tstore as blocksStore,\n\t__unstableGetInnerBlocksProps as getInnerBlocksProps,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport ButtonBlockAppender from './button-block-appender';\nimport DefaultBlockAppender from './default-block-appender';\nimport useNestedSettingsUpdate from './use-nested-settings-update';\nimport useInnerBlockTemplateSync from './use-inner-block-template-sync';\nimport useBlockContext from './use-block-context';\nimport { BlockListItems } from '../block-list';\nimport { BlockContextProvider } from '../block-context';\nimport { useBlockEditContext } from '../block-edit/context';\nimport useBlockSync from '../provider/use-block-sync';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDropZone from '../use-block-drop-zone';\nimport useSetting from '../use-setting';\n\nconst EMPTY_OBJECT = {};\n\n/**\n * InnerBlocks is a component which allows a single block to have multiple blocks\n * as children. The UncontrolledInnerBlocks component is used whenever the inner\n * blocks are not controlled by another entity. In other words, it is normally\n * used for inner blocks in the post editor\n *\n * @param {Object} props The component props.\n */\nfunction UncontrolledInnerBlocks( props ) {\n\tconst {\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\twrapperRef,\n\t\ttemplateInsertUpdatesSelection,\n\t\t__experimentalCaptureToolbars: captureToolbars,\n\t\t__experimentalAppenderTagName,\n\t\trenderAppender,\n\t\torientation,\n\t\tplaceholder,\n\t\tlayout,\n\t} = props;\n\n\tuseNestedSettingsUpdate(\n\t\tclientId,\n\t\tallowedBlocks,\n\t\tprioritizedInserterBlocks,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\ttemplateLock,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout\n\t);\n\n\tuseInnerBlockTemplateSync(\n\t\tclientId,\n\t\ttemplate,\n\t\ttemplateLock,\n\t\ttemplateInsertUpdatesSelection\n\t);\n\n\tconst context = useBlockContext( clientId );\n\tconst name = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.name;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst defaultLayoutBlockSupport =\n\t\tgetBlockSupport( name, 'layout' ) ||\n\t\tgetBlockSupport( name, '__experimentalLayout' ) ||\n\t\tEMPTY_OBJECT;\n\n\tconst { allowSizingOnChildren = false } = defaultLayoutBlockSupport;\n\n\tconst defaultLayout = useSetting( 'layout' ) || EMPTY_OBJECT;\n\n\tconst usedLayout = layout || defaultLayoutBlockSupport;\n\n\tconst memoedLayout = useMemo(\n\t\t() => ( {\n\t\t\t// Default layout will know about any content/wide size defined by the theme.\n\t\t\t...defaultLayout,\n\t\t\t...usedLayout,\n\t\t\t...( allowSizingOnChildren && {\n\t\t\t\tallowSizingOnChildren: true,\n\t\t\t} ),\n\t\t} ),\n\t\t[ defaultLayout, usedLayout, allowSizingOnChildren ]\n\t);\n\n\t// This component needs to always be synchronous as it's the one changing\n\t// the async mode depending on the block selection.\n\treturn (\n\t\t<BlockContextProvider value={ context }>\n\t\t\t<BlockListItems\n\t\t\t\trootClientId={ clientId }\n\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t__experimentalAppenderTagName={ __experimentalAppenderTagName }\n\t\t\t\tlayout={ memoedLayout }\n\t\t\t\twrapperRef={ wrapperRef }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t/>\n\t\t</BlockContextProvider>\n\t);\n}\n\n/**\n * The controlled inner blocks component wraps the uncontrolled inner blocks\n * component with the blockSync hook. This keeps the innerBlocks of the block in\n * the block-editor store in sync with the blocks of the controlling entity. An\n * example of an inner block controller is a template part block, which provides\n * its own blocks from the template part entity data source.\n *\n * @param {Object} props The component props.\n */\nfunction ControlledInnerBlocks( props ) {\n\tuseBlockSync( props );\n\treturn <UncontrolledInnerBlocks { ...props } />;\n}\n\nconst ForwardedInnerBlocks = forwardRef( ( props, ref ) => {\n\tconst innerBlocksProps = useInnerBlocksProps( { ref }, props );\n\treturn (\n\t\t<div className=\"block-editor-inner-blocks\">\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n} );\n\n/**\n * This hook is used to lightly mark an element as an inner blocks wrapper\n * element. Call this hook and pass the returned props to the element to mark as\n * an inner blocks wrapper, automatically rendering inner blocks as children. If\n * you define a ref for the element, it is important to pass the ref to this\n * hook, which the hook in turn will pass to the component through the props it\n * returns. Optionally, you can also pass any other props through this hook, and\n * they will be merged and returned.\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Optional. Inner blocks options.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport function useInnerBlocksProps( props = {}, options = {} ) {\n\tconst { __unstableDisableLayoutClassNames, __unstableDisableDropZone } =\n\t\toptions;\n\tconst {\n\t\tclientId,\n\t\tlayout = null,\n\t\t__unstableLayoutClassNames: layoutClassNames = '',\n\t} = useBlockEditContext();\n\tconst isSmallScreen = useViewportMatch( 'medium', '<' );\n\tconst { __experimentalCaptureToolbars, hasOverlay } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tisBlockSelected,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst enableClickThrough =\n\t\t\t\t__unstableGetEditorMode() === 'navigation' || isSmallScreen;\n\t\t\treturn {\n\t\t\t\t__experimentalCaptureToolbars: select(\n\t\t\t\t\tblocksStore\n\t\t\t\t).hasBlockSupport(\n\t\t\t\t\tblockName,\n\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\thasOverlay:\n\t\t\t\t\tblockName !== 'core/template' &&\n\t\t\t\t\t! isBlockSelected( clientId ) &&\n\t\t\t\t\t! hasSelectedInnerBlock( clientId, true ) &&\n\t\t\t\t\tenableClickThrough,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSmallScreen ]\n\t);\n\n\tconst blockDropZoneRef = useBlockDropZone( {\n\t\trootClientId: clientId,\n\t} );\n\n\tconst ref = useMergeRefs( [\n\t\tprops.ref,\n\t\t__unstableDisableDropZone ? null : blockDropZoneRef,\n\t] );\n\n\tconst innerBlocksProps = {\n\t\t__experimentalCaptureToolbars,\n\t\tlayout,\n\t\t...options,\n\t};\n\tconst InnerBlocks =\n\t\tinnerBlocksProps.value && innerBlocksProps.onChange\n\t\t\t? ControlledInnerBlocks\n\t\t\t: UncontrolledInnerBlocks;\n\n\treturn {\n\t\t...props,\n\t\tref,\n\t\tclassName: classnames(\n\t\t\tprops.className,\n\t\t\t'block-editor-block-list__layout',\n\t\t\t__unstableDisableLayoutClassNames ? '' : layoutClassNames,\n\t\t\t{\n\t\t\t\t'has-overlay': hasOverlay,\n\t\t\t}\n\t\t),\n\t\tchildren: clientId ? (\n\t\t\t<InnerBlocks { ...innerBlocksProps } clientId={ clientId } />\n\t\t) : (\n\t\t\t<BlockListItems { ...options } />\n\t\t),\n\t};\n}\n\nuseInnerBlocksProps.save = getInnerBlocksProps;\n\n// Expose default appender placeholders as components.\nForwardedInnerBlocks.DefaultBlockAppender = DefaultBlockAppender;\nForwardedInnerBlocks.ButtonBlockAppender = ButtonBlockAppender;\n\nForwardedInnerBlocks.Content = () => useInnerBlocksProps.save().children;\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/inner-blocks/README.md\n */\nexport default ForwardedInnerBlocks;\n"]}