@wordpress/block-editor 14.4.0 → 14.5.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 (817) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +6 -2
  3. package/build/autocompleters/block.js.map +1 -1
  4. package/build/components/background-image-control/index.js +1 -1
  5. package/build/components/background-image-control/index.js.map +1 -1
  6. package/build/components/block-controls/slot.js.map +1 -1
  7. package/build/components/block-controls/slot.native.js.map +1 -1
  8. package/build/components/block-draggable/draggable-chip.js +1 -1
  9. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  10. package/build/components/block-list/block-invalid-warning.native.js +1 -1
  11. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  12. package/build/components/block-list/block-list-item.native.js.map +1 -1
  13. package/build/components/block-list/block.js.map +1 -1
  14. package/build/components/block-list/index.js +1 -0
  15. package/build/components/block-list/index.js.map +1 -1
  16. package/build/components/block-list/index.native.js.map +1 -1
  17. package/build/components/block-list/use-block-props/index.js.map +1 -1
  18. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +14 -6
  19. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  20. package/build/components/block-list/zoom-out-separator.js +10 -7
  21. package/build/components/block-list/zoom-out-separator.js.map +1 -1
  22. package/build/components/block-lock/modal.js +1 -1
  23. package/build/components/block-lock/modal.js.map +1 -1
  24. package/build/components/block-mover/button.js.map +1 -1
  25. package/build/components/block-parent-selector/index.js +1 -1
  26. package/build/components/block-parent-selector/index.js.map +1 -1
  27. package/build/components/block-pattern-setup/index.js.map +1 -1
  28. package/build/components/block-patterns-list/index.js.map +1 -1
  29. package/build/components/block-popover/index.js +45 -2
  30. package/build/components/block-popover/index.js.map +1 -1
  31. package/build/components/block-preview/auto.js +1 -4
  32. package/build/components/block-preview/auto.js.map +1 -1
  33. package/build/components/block-preview/index.js.map +1 -1
  34. package/build/components/block-rename/modal.js +2 -2
  35. package/build/components/block-rename/modal.js.map +1 -1
  36. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +1 -1
  37. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  38. package/build/components/block-switcher/block-transformations-menu.native.js +1 -1
  39. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  40. package/build/components/block-switcher/index.js +2 -1
  41. package/build/components/block-switcher/index.js.map +1 -1
  42. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  43. package/build/components/block-switcher/use-transformed-patterns.js +1 -0
  44. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  45. package/build/components/block-switcher/utils.js +1 -0
  46. package/build/components/block-switcher/utils.js.map +1 -1
  47. package/build/components/block-toolbar/index.js.map +1 -1
  48. package/build/components/block-tools/index.js +0 -7
  49. package/build/components/block-tools/index.js.map +1 -1
  50. package/build/components/block-tools/insertion-point.js.map +1 -1
  51. package/build/components/block-tools/use-show-block-tools.js +7 -3
  52. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  53. package/build/components/block-tools/zoom-out-popover.js +3 -2
  54. package/build/components/block-tools/zoom-out-popover.js.map +1 -1
  55. package/build/components/block-tools/zoom-out-toolbar.js +3 -20
  56. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  57. package/build/components/block-types-list/index.js.map +1 -1
  58. package/build/components/block-types-list/index.native.js.map +1 -1
  59. package/build/components/block-variation-transforms/index.js +3 -2
  60. package/build/components/block-variation-transforms/index.js.map +1 -1
  61. package/build/components/border-radius-control/index.js.map +1 -1
  62. package/build/components/border-radius-control/utils.js.map +1 -1
  63. package/build/components/button-block-appender/index.js.map +1 -1
  64. package/build/components/color-style-selector/index.js.map +1 -1
  65. package/build/components/colors/utils.js.map +1 -1
  66. package/build/components/colors/with-colors.js.map +1 -1
  67. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  68. package/build/components/date-format-picker/index.js +1 -0
  69. package/build/components/date-format-picker/index.js.map +1 -1
  70. package/build/components/duotone/utils.js.map +1 -1
  71. package/build/components/duotone-control/index.js.map +1 -1
  72. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  73. package/build/components/font-sizes/utils.js.map +1 -1
  74. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  75. package/build/components/global-styles/border-panel.js.map +1 -1
  76. package/build/components/global-styles/color-panel.js +1 -1
  77. package/build/components/global-styles/color-panel.js.map +1 -1
  78. package/build/components/global-styles/filters-panel.js.map +1 -1
  79. package/build/components/global-styles/get-block-css-selector.js.map +1 -1
  80. package/build/components/global-styles/get-global-styles-changes.js +2 -1
  81. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  82. package/build/components/global-styles/hooks.js.map +1 -1
  83. package/build/components/global-styles/typography-panel.js.map +1 -1
  84. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
  85. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  86. package/build/components/global-styles/utils.js.map +1 -1
  87. package/build/components/gradients/use-gradient.js.map +1 -1
  88. package/build/components/grid/grid-item-movers.js.map +1 -1
  89. package/build/components/grid/grid-visualizer.js.map +1 -1
  90. package/build/components/iframe/index.js +49 -9
  91. package/build/components/iframe/index.js.map +1 -1
  92. package/build/components/image-editor/use-save-image.js +1 -1
  93. package/build/components/image-editor/use-save-image.js.map +1 -1
  94. package/build/components/inner-blocks/use-nested-settings-update.js +15 -8
  95. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  96. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -1
  97. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  98. package/build/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  99. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  100. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
  101. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  102. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  103. package/build/components/inserter/category-tabs/index.js +1 -10
  104. package/build/components/inserter/category-tabs/index.js.map +1 -1
  105. package/build/components/inserter/hooks/use-block-types-state.js +1 -1
  106. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  107. package/build/components/inserter/hooks/use-patterns-state.js +1 -1
  108. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  109. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  110. package/build/components/inserter/media-tab/media-preview.js +1 -1
  111. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  112. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  113. package/build/components/inserter/media-tab/utils.js.map +1 -1
  114. package/build/components/inserter/menu.js +5 -2
  115. package/build/components/inserter/menu.js.map +1 -1
  116. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  117. package/build/components/inserter/preview-panel.js.map +1 -1
  118. package/build/components/inserter/quick-inserter.js +1 -1
  119. package/build/components/inserter/quick-inserter.js.map +1 -1
  120. package/build/components/inserter/search-results.js +1 -1
  121. package/build/components/inserter/search-results.js.map +1 -1
  122. package/build/components/inserter/tabs.native.js.map +1 -1
  123. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  124. package/build/components/inspector-controls/fill.js.map +1 -1
  125. package/build/components/inspector-controls/fill.native.js.map +1 -1
  126. package/build/components/inspector-controls/slot.js.map +1 -1
  127. package/build/components/inspector-controls/slot.native.js.map +1 -1
  128. package/build/components/line-height-control/index.js.map +1 -1
  129. package/build/components/link-control/is-url-like.js.map +1 -1
  130. package/build/components/link-control/search-create-button.js +1 -1
  131. package/build/components/link-control/search-create-button.js.map +1 -1
  132. package/build/components/link-control/search-input.js +3 -5
  133. package/build/components/link-control/search-input.js.map +1 -1
  134. package/build/components/link-control/search-results.js +5 -15
  135. package/build/components/link-control/search-results.js.map +1 -1
  136. package/build/components/link-control/settings-drawer.js.map +1 -1
  137. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  138. package/build/components/list-view/appender.js +1 -1
  139. package/build/components/list-view/appender.js.map +1 -1
  140. package/build/components/list-view/block-select-button.js.map +1 -1
  141. package/build/components/list-view/block.js.map +1 -1
  142. package/build/components/list-view/branch.js.map +1 -1
  143. package/build/components/list-view/drop-indicator.js.map +1 -1
  144. package/build/components/list-view/index.js.map +1 -1
  145. package/build/components/list-view/use-block-selection.js +2 -2
  146. package/build/components/list-view/use-block-selection.js.map +1 -1
  147. package/build/components/list-view/utils.js +1 -1
  148. package/build/components/list-view/utils.js.map +1 -1
  149. package/build/components/media-placeholder/index.native.js +1 -1
  150. package/build/components/media-placeholder/index.native.js.map +1 -1
  151. package/build/components/media-replace-flow/index.js.map +1 -1
  152. package/build/components/multi-selection-inspector/index.js +2 -2
  153. package/build/components/multi-selection-inspector/index.js.map +1 -1
  154. package/build/components/observe-typing/index.js +1 -0
  155. package/build/components/observe-typing/index.js.map +1 -1
  156. package/build/components/recursion-provider/index.js +1 -0
  157. package/build/components/recursion-provider/index.js.map +1 -1
  158. package/build/components/responsive-block-control/index.js +3 -3
  159. package/build/components/responsive-block-control/index.js.map +1 -1
  160. package/build/components/responsive-block-control/label.js +1 -1
  161. package/build/components/responsive-block-control/label.js.map +1 -1
  162. package/build/components/rich-text/content.js.map +1 -1
  163. package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
  164. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  165. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  166. package/build/components/rich-text/index.js +3 -2
  167. package/build/components/rich-text/index.js.map +1 -1
  168. package/build/components/rich-text/multiline.js.map +1 -1
  169. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  170. package/build/components/rich-text/native/index.native.js.map +1 -1
  171. package/build/components/rich-text/native/use-format-types.js +1 -0
  172. package/build/components/rich-text/native/use-format-types.js.map +1 -1
  173. package/build/components/rich-text/toolbar-button.js.map +1 -1
  174. package/build/components/rich-text/use-format-types.js +1 -0
  175. package/build/components/rich-text/use-format-types.js.map +1 -1
  176. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  177. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  178. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  179. package/build/components/spacing-sizes-control/utils.js +1 -0
  180. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  181. package/build/components/tool-selector/index.js +9 -3
  182. package/build/components/tool-selector/index.js.map +1 -1
  183. package/build/components/typewriter/index.js +1 -0
  184. package/build/components/typewriter/index.js.map +1 -1
  185. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  186. package/build/components/url-input/index.js +1 -1
  187. package/build/components/url-input/index.js.map +1 -1
  188. package/build/components/use-block-drop-zone/index.js.map +1 -1
  189. package/build/components/use-flash-editable-blocks/index.js.map +1 -1
  190. package/build/components/use-moving-animation/index.js.map +1 -1
  191. package/build/components/use-resize-canvas/index.js +1 -2
  192. package/build/components/use-resize-canvas/index.js.map +1 -1
  193. package/build/components/writing-flow/use-tab-nav.js +21 -5
  194. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  195. package/build/hooks/align.js.map +1 -1
  196. package/build/hooks/block-hooks.js +1 -1
  197. package/build/hooks/block-hooks.js.map +1 -1
  198. package/build/hooks/block-style-variation.js.map +1 -1
  199. package/build/hooks/duotone.js.map +1 -1
  200. package/build/hooks/font-family.js.map +1 -1
  201. package/build/hooks/gap.js.map +1 -1
  202. package/build/hooks/generated-class-name.js +1 -0
  203. package/build/hooks/generated-class-name.js.map +1 -1
  204. package/build/hooks/grid-visualizer.js +13 -11
  205. package/build/hooks/grid-visualizer.js.map +1 -1
  206. package/build/hooks/layout-child.js +41 -3
  207. package/build/hooks/layout-child.js.map +1 -1
  208. package/build/hooks/layout.js.map +1 -1
  209. package/build/hooks/position.js +1 -1
  210. package/build/hooks/position.js.map +1 -1
  211. package/build/hooks/spacing-visualizer.js.map +1 -1
  212. package/build/hooks/style.js.map +1 -1
  213. package/build/hooks/text-align.js.map +1 -1
  214. package/build/hooks/use-typography-props.js.map +1 -1
  215. package/build/hooks/use-zoom-out.js +24 -16
  216. package/build/hooks/use-zoom-out.js.map +1 -1
  217. package/build/layouts/constrained.js.map +1 -1
  218. package/build/layouts/flex.js.map +1 -1
  219. package/build/layouts/grid.js.map +1 -1
  220. package/build/layouts/utils.js.map +1 -1
  221. package/build/private-apis.js +2 -0
  222. package/build/private-apis.js.map +1 -1
  223. package/build/store/actions.js +5 -6
  224. package/build/store/actions.js.map +1 -1
  225. package/build/store/private-selectors.js.map +1 -1
  226. package/build/store/reducer.js +2 -18
  227. package/build/store/reducer.js.map +1 -1
  228. package/build/store/selectors.js +22 -15
  229. package/build/store/selectors.js.map +1 -1
  230. package/build/utils/block-bindings.js +9 -6
  231. package/build/utils/block-bindings.js.map +1 -1
  232. package/build/utils/get-font-styles-and-weights.js +1 -1
  233. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  234. package/build/utils/object.js +1 -0
  235. package/build/utils/object.js.map +1 -1
  236. package/build/utils/pasting.js.map +1 -1
  237. package/build-module/autocompleters/block.js +1 -3
  238. package/build-module/autocompleters/block.js.map +1 -1
  239. package/build-module/autocompleters/link.js +1 -3
  240. package/build-module/autocompleters/link.js.map +1 -1
  241. package/build-module/components/audio-player/index.native.js +1 -2
  242. package/build-module/components/audio-player/index.native.js.map +1 -1
  243. package/build-module/components/background-image-control/index.js +2 -3
  244. package/build-module/components/background-image-control/index.js.map +1 -1
  245. package/build-module/components/block-alignment-control/ui.js +1 -2
  246. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  247. package/build-module/components/block-breadcrumb/index.js +1 -2
  248. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  249. package/build-module/components/block-canvas/index.js +1 -2
  250. package/build-module/components/block-canvas/index.js.map +1 -1
  251. package/build-module/components/block-card/index.js +1 -2
  252. package/build-module/components/block-card/index.js.map +1 -1
  253. package/build-module/components/block-compare/block-view.js +1 -2
  254. package/build-module/components/block-compare/block-view.js.map +1 -1
  255. package/build-module/components/block-compare/index.js +1 -2
  256. package/build-module/components/block-compare/index.js.map +1 -1
  257. package/build-module/components/block-controls/fill.js +1 -3
  258. package/build-module/components/block-controls/fill.js.map +1 -1
  259. package/build-module/components/block-controls/slot.js.map +1 -1
  260. package/build-module/components/block-controls/slot.native.js.map +1 -1
  261. package/build-module/components/block-draggable/draggable-chip.js +2 -3
  262. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  263. package/build-module/components/block-draggable/draggable-chip.native.js +1 -2
  264. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  265. package/build-module/components/block-draggable/index.native.js +1 -3
  266. package/build-module/components/block-draggable/index.native.js.map +1 -1
  267. package/build-module/components/block-edit/index.js +1 -2
  268. package/build-module/components/block-edit/index.js.map +1 -1
  269. package/build-module/components/block-edit/multiple-usage-warning.js +1 -2
  270. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
  271. package/build-module/components/block-inspector/index.js +1 -3
  272. package/build-module/components/block-inspector/index.js.map +1 -1
  273. package/build-module/components/block-list/block-crash-warning.js +1 -1
  274. package/build-module/components/block-list/block-crash-warning.js.map +1 -1
  275. package/build-module/components/block-list/block-crash-warning.native.js +1 -1
  276. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
  277. package/build-module/components/block-list/block-invalid-warning.js +1 -3
  278. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  279. package/build-module/components/block-list/block-invalid-warning.native.js +1 -1
  280. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  281. package/build-module/components/block-list/block-list-item.native.js +1 -2
  282. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  283. package/build-module/components/block-list/block-selection-button.native.js +1 -2
  284. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  285. package/build-module/components/block-list/block.js +1 -3
  286. package/build-module/components/block-list/block.js.map +1 -1
  287. package/build-module/components/block-list/block.native.js +1 -2
  288. package/build-module/components/block-list/block.native.js.map +1 -1
  289. package/build-module/components/block-list/index.js +2 -2
  290. package/build-module/components/block-list/index.js.map +1 -1
  291. package/build-module/components/block-list/index.native.js +1 -3
  292. package/build-module/components/block-list/index.native.js.map +1 -1
  293. package/build-module/components/block-list/insertion-point.native.js +1 -2
  294. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  295. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  296. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +14 -6
  297. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  298. package/build-module/components/block-list/zoom-out-separator.js +10 -7
  299. package/build-module/components/block-list/zoom-out-separator.js.map +1 -1
  300. package/build-module/components/block-lock/menu-item.js +1 -3
  301. package/build-module/components/block-lock/menu-item.js.map +1 -1
  302. package/build-module/components/block-lock/modal.js +2 -3
  303. package/build-module/components/block-lock/modal.js.map +1 -1
  304. package/build-module/components/block-lock/toolbar.js +1 -3
  305. package/build-module/components/block-lock/toolbar.js.map +1 -1
  306. package/build-module/components/block-media-update-progress/index.native.js +1 -2
  307. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  308. package/build-module/components/block-mover/button.js +1 -3
  309. package/build-module/components/block-mover/button.js.map +1 -1
  310. package/build-module/components/block-mover/index.js +1 -2
  311. package/build-module/components/block-mover/index.js.map +1 -1
  312. package/build-module/components/block-mover/index.native.js +1 -2
  313. package/build-module/components/block-mover/index.native.js.map +1 -1
  314. package/build-module/components/block-navigation/dropdown.js +1 -2
  315. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  316. package/build-module/components/block-parent-selector/index.js +1 -1
  317. package/build-module/components/block-parent-selector/index.js.map +1 -1
  318. package/build-module/components/block-pattern-setup/index.js +1 -3
  319. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  320. package/build-module/components/block-pattern-setup/setup-toolbar.js +1 -2
  321. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  322. package/build-module/components/block-patterns-list/index.js +1 -3
  323. package/build-module/components/block-patterns-list/index.js.map +1 -1
  324. package/build-module/components/block-patterns-paging/index.js +1 -2
  325. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  326. package/build-module/components/block-popover/index.js +45 -2
  327. package/build-module/components/block-popover/index.js.map +1 -1
  328. package/build-module/components/block-preview/auto.js +2 -7
  329. package/build-module/components/block-preview/auto.js.map +1 -1
  330. package/build-module/components/block-preview/index.js +1 -2
  331. package/build-module/components/block-preview/index.js.map +1 -1
  332. package/build-module/components/block-quick-navigation/index.js +1 -2
  333. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  334. package/build-module/components/block-removal-warning-modal/index.js +1 -2
  335. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  336. package/build-module/components/block-rename/modal.js +3 -4
  337. package/build-module/components/block-rename/modal.js.map +1 -1
  338. package/build-module/components/block-rename/rename-control.js +1 -3
  339. package/build-module/components/block-rename/rename-control.js.map +1 -1
  340. package/build-module/components/block-settings/container.native.js +1 -3
  341. package/build-module/components/block-settings/container.native.js.map +1 -1
  342. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +1 -1
  343. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  344. package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -3
  345. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  346. package/build-module/components/block-settings-menu-controls/index.js +1 -2
  347. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  348. package/build-module/components/block-styles/index.js +1 -2
  349. package/build-module/components/block-styles/index.js.map +1 -1
  350. package/build-module/components/block-styles/menu-items.js +1 -2
  351. package/build-module/components/block-styles/menu-items.js.map +1 -1
  352. package/build-module/components/block-styles/preview.native.js +1 -2
  353. package/build-module/components/block-styles/preview.native.js.map +1 -1
  354. package/build-module/components/block-switcher/block-transformations-menu.js +1 -3
  355. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  356. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -1
  357. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  358. package/build-module/components/block-switcher/block-variation-transformations.js +1 -3
  359. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  360. package/build-module/components/block-switcher/index.js +3 -4
  361. package/build-module/components/block-switcher/index.js.map +1 -1
  362. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -2
  363. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  364. package/build-module/components/block-switcher/preview-block-popover.js +1 -2
  365. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  366. package/build-module/components/block-switcher/use-transformed-patterns.js +1 -0
  367. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  368. package/build-module/components/block-switcher/utils.js +1 -0
  369. package/build-module/components/block-switcher/utils.js.map +1 -1
  370. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -2
  371. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  372. package/build-module/components/block-toolbar/index.js +1 -3
  373. package/build-module/components/block-toolbar/index.js.map +1 -1
  374. package/build-module/components/block-toolbar/index.native.js +1 -3
  375. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  376. package/build-module/components/block-tools/index.js +1 -9
  377. package/build-module/components/block-tools/index.js.map +1 -1
  378. package/build-module/components/block-tools/insertion-point.js +1 -2
  379. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  380. package/build-module/components/block-tools/use-show-block-tools.js +7 -3
  381. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  382. package/build-module/components/block-tools/zoom-out-popover.js +2 -1
  383. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
  384. package/build-module/components/block-tools/zoom-out-toolbar.js +5 -23
  385. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  386. package/build-module/components/block-types-list/index.js +1 -2
  387. package/build-module/components/block-types-list/index.js.map +1 -1
  388. package/build-module/components/block-types-list/index.native.js +1 -2
  389. package/build-module/components/block-types-list/index.native.js.map +1 -1
  390. package/build-module/components/block-variation-picker/index.js +1 -2
  391. package/build-module/components/block-variation-picker/index.js.map +1 -1
  392. package/build-module/components/block-variation-picker/index.native.js +1 -2
  393. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  394. package/build-module/components/block-variation-transforms/index.js +4 -4
  395. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  396. package/build-module/components/border-radius-control/index.js +1 -3
  397. package/build-module/components/border-radius-control/index.js.map +1 -1
  398. package/build-module/components/border-radius-control/utils.js.map +1 -1
  399. package/build-module/components/button-block-appender/index.js.map +1 -1
  400. package/build-module/components/button-block-appender/index.native.js +1 -2
  401. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  402. package/build-module/components/child-layout-control/index.js +1 -3
  403. package/build-module/components/child-layout-control/index.js.map +1 -1
  404. package/build-module/components/color-style-selector/index.js.map +1 -1
  405. package/build-module/components/colors/utils.js.map +1 -1
  406. package/build-module/components/colors/with-colors.js.map +1 -1
  407. package/build-module/components/colors-gradients/control.js +1 -2
  408. package/build-module/components/colors-gradients/control.js.map +1 -1
  409. package/build-module/components/colors-gradients/dropdown.js +1 -3
  410. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  411. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -3
  412. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  413. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -3
  414. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  415. package/build-module/components/contrast-checker/index.native.js +1 -2
  416. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  417. package/build-module/components/convert-to-group-buttons/index.js +1 -3
  418. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  419. package/build-module/components/convert-to-group-buttons/toolbar.js +1 -2
  420. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  421. package/build-module/components/date-format-picker/index.js +2 -2
  422. package/build-module/components/date-format-picker/index.js.map +1 -1
  423. package/build-module/components/default-block-appender/index.js +1 -2
  424. package/build-module/components/default-block-appender/index.js.map +1 -1
  425. package/build-module/components/dimensions-tool/index.js +1 -3
  426. package/build-module/components/dimensions-tool/index.js.map +1 -1
  427. package/build-module/components/dimensions-tool/width-height-tool.js +1 -3
  428. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  429. package/build-module/components/duotone/utils.js.map +1 -1
  430. package/build-module/components/duotone-control/index.js +1 -2
  431. package/build-module/components/duotone-control/index.js.map +1 -1
  432. package/build-module/components/editor-styles/index.js +1 -3
  433. package/build-module/components/editor-styles/index.js.map +1 -1
  434. package/build-module/components/floating-toolbar/index.native.js +1 -2
  435. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  436. package/build-module/components/floating-toolbar/nav-up-icon.js +1 -2
  437. package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
  438. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  439. package/build-module/components/font-sizes/utils.js.map +1 -1
  440. package/build-module/components/font-sizes/with-font-sizes.js +2 -2
  441. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  442. package/build-module/components/global-styles/advanced-panel.js +1 -2
  443. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  444. package/build-module/components/global-styles/border-panel.js +1 -2
  445. package/build-module/components/global-styles/border-panel.js.map +1 -1
  446. package/build-module/components/global-styles/color-panel.js +2 -3
  447. package/build-module/components/global-styles/color-panel.js.map +1 -1
  448. package/build-module/components/global-styles/dimensions-panel.js +1 -2
  449. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  450. package/build-module/components/global-styles/filters-panel.js +1 -2
  451. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  452. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
  453. package/build-module/components/global-styles/get-global-styles-changes.js +2 -1
  454. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  455. package/build-module/components/global-styles/hooks.js.map +1 -1
  456. package/build-module/components/global-styles/image-settings-panel.js +1 -2
  457. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  458. package/build-module/components/global-styles/shadow-panel-components.js +1 -2
  459. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  460. package/build-module/components/global-styles/typography-panel.js +1 -2
  461. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  462. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
  463. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  464. package/build-module/components/global-styles/utils.js.map +1 -1
  465. package/build-module/components/gradients/use-gradient.js.map +1 -1
  466. package/build-module/components/grid/grid-item-movers.js +1 -3
  467. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  468. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  469. package/build-module/components/height-control/index.js +1 -2
  470. package/build-module/components/height-control/index.js.map +1 -1
  471. package/build-module/components/iframe/index.js +50 -12
  472. package/build-module/components/iframe/index.js.map +1 -1
  473. package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -3
  474. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  475. package/build-module/components/image-editor/cropper.js +1 -3
  476. package/build-module/components/image-editor/cropper.js.map +1 -1
  477. package/build-module/components/image-editor/form-controls.js +1 -3
  478. package/build-module/components/image-editor/form-controls.js.map +1 -1
  479. package/build-module/components/image-editor/index.js +1 -2
  480. package/build-module/components/image-editor/index.js.map +1 -1
  481. package/build-module/components/image-editor/use-save-image.js +1 -1
  482. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  483. package/build-module/components/image-link-destinations/index.native.js +1 -3
  484. package/build-module/components/image-link-destinations/index.native.js.map +1 -1
  485. package/build-module/components/image-size-control/index.js +1 -3
  486. package/build-module/components/image-size-control/index.js.map +1 -1
  487. package/build-module/components/inner-blocks/use-nested-settings-update.js +16 -9
  488. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  489. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -2
  490. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  491. package/build-module/components/inserter/block-patterns-explorer/index.js +1 -2
  492. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  493. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -3
  494. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  495. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +3 -5
  496. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  497. package/build-module/components/inserter/block-patterns-tab/index.js +1 -3
  498. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  499. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -3
  500. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  501. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +1 -3
  502. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  503. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
  504. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  505. package/build-module/components/inserter/block-types-tab.js +1 -3
  506. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  507. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  508. package/build-module/components/inserter/category-tabs/index.js +3 -13
  509. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  510. package/build-module/components/inserter/hooks/use-block-types-state.js +1 -1
  511. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  512. package/build-module/components/inserter/hooks/use-patterns-state.js +1 -1
  513. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  514. package/build-module/components/inserter/index.native.js +1 -3
  515. package/build-module/components/inserter/index.native.js.map +1 -1
  516. package/build-module/components/inserter/media-tab/media-panel.js +1 -2
  517. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  518. package/build-module/components/inserter/media-tab/media-preview.js +2 -4
  519. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  520. package/build-module/components/inserter/media-tab/media-tab.js +1 -3
  521. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  522. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  523. package/build-module/components/inserter/menu.js +6 -5
  524. package/build-module/components/inserter/menu.js.map +1 -1
  525. package/build-module/components/inserter/menu.native.js +1 -3
  526. package/build-module/components/inserter/menu.native.js.map +1 -1
  527. package/build-module/components/inserter/mobile-tab-navigation.js +1 -2
  528. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  529. package/build-module/components/inserter/no-results.js +1 -2
  530. package/build-module/components/inserter/no-results.js.map +1 -1
  531. package/build-module/components/inserter/no-results.native.js +1 -2
  532. package/build-module/components/inserter/no-results.native.js.map +1 -1
  533. package/build-module/components/inserter/panel.js +1 -3
  534. package/build-module/components/inserter/panel.js.map +1 -1
  535. package/build-module/components/inserter/preview-panel.js +1 -2
  536. package/build-module/components/inserter/preview-panel.js.map +1 -1
  537. package/build-module/components/inserter/quick-inserter.js +2 -3
  538. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  539. package/build-module/components/inserter/search-results.js +2 -3
  540. package/build-module/components/inserter/search-results.js.map +1 -1
  541. package/build-module/components/inserter/tabs.native.js.map +1 -1
  542. package/build-module/components/inserter-button/index.native.js +1 -2
  543. package/build-module/components/inserter-button/index.native.js.map +1 -1
  544. package/build-module/components/inserter-list-item/index.js +1 -2
  545. package/build-module/components/inserter-list-item/index.js.map +1 -1
  546. package/build-module/components/inserter-listbox/index.js +1 -2
  547. package/build-module/components/inserter-listbox/index.js.map +1 -1
  548. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  549. package/build-module/components/inspector-controls/fill.js.map +1 -1
  550. package/build-module/components/inspector-controls/fill.native.js +1 -3
  551. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  552. package/build-module/components/inspector-controls/slot.js.map +1 -1
  553. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  554. package/build-module/components/inspector-controls-tabs/index.js +1 -2
  555. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  556. package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -3
  557. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  558. package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -3
  559. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  560. package/build-module/components/inspector-popover-header/index.js +1 -2
  561. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  562. package/build-module/components/line-height-control/index.js.map +1 -1
  563. package/build-module/components/link-control/index.js +1 -3
  564. package/build-module/components/link-control/index.js.map +1 -1
  565. package/build-module/components/link-control/is-url-like.js.map +1 -1
  566. package/build-module/components/link-control/link-preview.js +1 -3
  567. package/build-module/components/link-control/link-preview.js.map +1 -1
  568. package/build-module/components/link-control/search-create-button.js +1 -1
  569. package/build-module/components/link-control/search-create-button.js.map +1 -1
  570. package/build-module/components/link-control/search-input.js +4 -7
  571. package/build-module/components/link-control/search-input.js.map +1 -1
  572. package/build-module/components/link-control/search-results.js +6 -17
  573. package/build-module/components/link-control/search-results.js.map +1 -1
  574. package/build-module/components/link-control/settings-drawer.js +1 -3
  575. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  576. package/build-module/components/link-control/settings.js +1 -2
  577. package/build-module/components/link-control/settings.js.map +1 -1
  578. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  579. package/build-module/components/list-view/appender.js +2 -3
  580. package/build-module/components/list-view/appender.js.map +1 -1
  581. package/build-module/components/list-view/block-contents.js +1 -3
  582. package/build-module/components/list-view/block-contents.js.map +1 -1
  583. package/build-module/components/list-view/block-select-button.js +1 -2
  584. package/build-module/components/list-view/block-select-button.js.map +1 -1
  585. package/build-module/components/list-view/block.js +1 -3
  586. package/build-module/components/list-view/block.js.map +1 -1
  587. package/build-module/components/list-view/branch.js +1 -3
  588. package/build-module/components/list-view/branch.js.map +1 -1
  589. package/build-module/components/list-view/drop-indicator.js +1 -2
  590. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  591. package/build-module/components/list-view/index.js +1 -2
  592. package/build-module/components/list-view/index.js.map +1 -1
  593. package/build-module/components/list-view/use-block-selection.js +2 -2
  594. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  595. package/build-module/components/list-view/utils.js +1 -1
  596. package/build-module/components/list-view/utils.js.map +1 -1
  597. package/build-module/components/media-placeholder/index.js +1 -3
  598. package/build-module/components/media-placeholder/index.js.map +1 -1
  599. package/build-module/components/media-placeholder/index.native.js +2 -4
  600. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  601. package/build-module/components/media-replace-flow/index.js +1 -3
  602. package/build-module/components/media-replace-flow/index.js.map +1 -1
  603. package/build-module/components/media-upload/index.native.js +1 -3
  604. package/build-module/components/media-upload/index.native.js.map +1 -1
  605. package/build-module/components/media-upload-progress/index.native.js +1 -2
  606. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  607. package/build-module/components/multi-selection-inspector/index.js +3 -4
  608. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  609. package/build-module/components/observe-typing/index.js +1 -0
  610. package/build-module/components/observe-typing/index.js.map +1 -1
  611. package/build-module/components/provider/index.js +1 -2
  612. package/build-module/components/provider/index.js.map +1 -1
  613. package/build-module/components/publish-date-time-picker/index.js +1 -2
  614. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  615. package/build-module/components/recursion-provider/index.js +1 -0
  616. package/build-module/components/recursion-provider/index.js.map +1 -1
  617. package/build-module/components/responsive-block-control/index.js +4 -5
  618. package/build-module/components/responsive-block-control/index.js.map +1 -1
  619. package/build-module/components/responsive-block-control/label.js +2 -4
  620. package/build-module/components/responsive-block-control/label.js.map +1 -1
  621. package/build-module/components/rich-text/content.js.map +1 -1
  622. package/build-module/components/rich-text/event-listeners/before-input-rules.js +2 -2
  623. package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
  624. package/build-module/components/rich-text/event-listeners/delete.js +2 -2
  625. package/build-module/components/rich-text/event-listeners/delete.js.map +1 -1
  626. package/build-module/components/rich-text/event-listeners/enter.js +2 -2
  627. package/build-module/components/rich-text/event-listeners/enter.js.map +1 -1
  628. package/build-module/components/rich-text/event-listeners/firefox-compat.js +2 -2
  629. package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +1 -1
  630. package/build-module/components/rich-text/event-listeners/input-events.js +2 -2
  631. package/build-module/components/rich-text/event-listeners/input-events.js.map +1 -1
  632. package/build-module/components/rich-text/event-listeners/input-rules.js +2 -2
  633. package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
  634. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +2 -2
  635. package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -1
  636. package/build-module/components/rich-text/event-listeners/paste-handler.js +2 -2
  637. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  638. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +2 -2
  639. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -1
  640. package/build-module/components/rich-text/event-listeners/shortcuts.js +2 -2
  641. package/build-module/components/rich-text/event-listeners/shortcuts.js.map +1 -1
  642. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +2 -2
  643. package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -1
  644. package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
  645. package/build-module/components/rich-text/format-toolbar/index.js +1 -3
  646. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  647. package/build-module/components/rich-text/format-toolbar/index.native.js +1 -3
  648. package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
  649. package/build-module/components/rich-text/index.js +4 -5
  650. package/build-module/components/rich-text/index.js.map +1 -1
  651. package/build-module/components/rich-text/index.native.js +1 -3
  652. package/build-module/components/rich-text/index.native.js.map +1 -1
  653. package/build-module/components/rich-text/multiline.js.map +1 -1
  654. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  655. package/build-module/components/rich-text/native/index.js +1 -1
  656. package/build-module/components/rich-text/native/index.js.map +1 -1
  657. package/build-module/components/rich-text/native/index.native.js +1 -3
  658. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  659. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +1 -3
  660. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  661. package/build-module/components/rich-text/native/use-format-types.js +1 -0
  662. package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
  663. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  664. package/build-module/components/rich-text/use-format-types.js +1 -0
  665. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  666. package/build-module/components/spacing-sizes-control/index.js +1 -2
  667. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  668. package/build-module/components/spacing-sizes-control/input-controls/axial.js +1 -2
  669. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  670. package/build-module/components/spacing-sizes-control/input-controls/separated.js +1 -2
  671. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  672. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -3
  673. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  674. package/build-module/components/spacing-sizes-control/utils.js +1 -0
  675. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  676. package/build-module/components/tabbed-sidebar/index.js +1 -2
  677. package/build-module/components/tabbed-sidebar/index.js.map +1 -1
  678. package/build-module/components/tool-selector/index.js +10 -6
  679. package/build-module/components/tool-selector/index.js.map +1 -1
  680. package/build-module/components/typewriter/index.js +1 -0
  681. package/build-module/components/typewriter/index.js.map +1 -1
  682. package/build-module/components/unsupported-block-details/index.native.js +1 -2
  683. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  684. package/build-module/components/url-input/button.js +1 -2
  685. package/build-module/components/url-input/button.js.map +1 -1
  686. package/build-module/components/url-input/index.js +2 -4
  687. package/build-module/components/url-input/index.js.map +1 -1
  688. package/build-module/components/url-popover/image-url-input-ui.js +1 -3
  689. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  690. package/build-module/components/url-popover/index.js +1 -2
  691. package/build-module/components/url-popover/index.js.map +1 -1
  692. package/build-module/components/url-popover/link-editor.js +1 -2
  693. package/build-module/components/url-popover/link-editor.js.map +1 -1
  694. package/build-module/components/url-popover/link-viewer.js +1 -2
  695. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  696. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  697. package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
  698. package/build-module/components/use-moving-animation/index.js.map +1 -1
  699. package/build-module/components/use-resize-canvas/index.js +1 -2
  700. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  701. package/build-module/components/video-player/index.native.js +1 -2
  702. package/build-module/components/video-player/index.native.js.map +1 -1
  703. package/build-module/components/warning/index.js +1 -2
  704. package/build-module/components/warning/index.js.map +1 -1
  705. package/build-module/components/warning/index.native.js +1 -2
  706. package/build-module/components/warning/index.native.js.map +1 -1
  707. package/build-module/components/writing-flow/index.js +1 -3
  708. package/build-module/components/writing-flow/index.js.map +1 -1
  709. package/build-module/components/writing-flow/use-tab-nav.js +21 -5
  710. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  711. package/build-module/hooks/align.js.map +1 -1
  712. package/build-module/hooks/anchor.js +1 -3
  713. package/build-module/hooks/anchor.js.map +1 -1
  714. package/build-module/hooks/block-bindings.js +1 -3
  715. package/build-module/hooks/block-bindings.js.map +1 -1
  716. package/build-module/hooks/block-hooks.js +2 -3
  717. package/build-module/hooks/block-hooks.js.map +1 -1
  718. package/build-module/hooks/block-style-variation.js +1 -2
  719. package/build-module/hooks/block-style-variation.js.map +1 -1
  720. package/build-module/hooks/dimensions.js +1 -3
  721. package/build-module/hooks/dimensions.js.map +1 -1
  722. package/build-module/hooks/duotone.js +1 -3
  723. package/build-module/hooks/duotone.js.map +1 -1
  724. package/build-module/hooks/font-family.js.map +1 -1
  725. package/build-module/hooks/gap.js.map +1 -1
  726. package/build-module/hooks/generated-class-name.js +1 -0
  727. package/build-module/hooks/generated-class-name.js.map +1 -1
  728. package/build-module/hooks/grid-visualizer.js +14 -14
  729. package/build-module/hooks/grid-visualizer.js.map +1 -1
  730. package/build-module/hooks/layout-child.js +42 -6
  731. package/build-module/hooks/layout-child.js.map +1 -1
  732. package/build-module/hooks/layout.js +1 -3
  733. package/build-module/hooks/layout.js.map +1 -1
  734. package/build-module/hooks/position.js +1 -1
  735. package/build-module/hooks/position.js.map +1 -1
  736. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  737. package/build-module/hooks/style.js +1 -3
  738. package/build-module/hooks/style.js.map +1 -1
  739. package/build-module/hooks/text-align.js.map +1 -1
  740. package/build-module/hooks/typography.native.js +1 -2
  741. package/build-module/hooks/typography.native.js.map +1 -1
  742. package/build-module/hooks/use-bindings-attributes.js +1 -2
  743. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  744. package/build-module/hooks/use-typography-props.js.map +1 -1
  745. package/build-module/hooks/use-zoom-out.js +24 -17
  746. package/build-module/hooks/use-zoom-out.js.map +1 -1
  747. package/build-module/layouts/constrained.js +1 -3
  748. package/build-module/layouts/constrained.js.map +1 -1
  749. package/build-module/layouts/flex.js +1 -3
  750. package/build-module/layouts/flex.js.map +1 -1
  751. package/build-module/layouts/grid.js +1 -3
  752. package/build-module/layouts/grid.js.map +1 -1
  753. package/build-module/layouts/utils.js.map +1 -1
  754. package/build-module/private-apis.js +2 -0
  755. package/build-module/private-apis.js.map +1 -1
  756. package/build-module/store/actions.js +5 -6
  757. package/build-module/store/actions.js.map +1 -1
  758. package/build-module/store/private-selectors.js.map +1 -1
  759. package/build-module/store/reducer.js +1 -16
  760. package/build-module/store/reducer.js.map +1 -1
  761. package/build-module/store/selectors.js +21 -12
  762. package/build-module/store/selectors.js.map +1 -1
  763. package/build-module/utils/block-bindings.js +9 -6
  764. package/build-module/utils/block-bindings.js.map +1 -1
  765. package/build-module/utils/get-font-styles-and-weights.js +1 -1
  766. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  767. package/build-module/utils/get-px-from-css-unit.js +1 -1
  768. package/build-module/utils/get-px-from-css-unit.js.map +1 -1
  769. package/build-module/utils/object.js +1 -0
  770. package/build-module/utils/object.js.map +1 -1
  771. package/build-module/utils/pasting.js.map +1 -1
  772. package/build-style/content-rtl.css +13 -26
  773. package/build-style/content.css +13 -26
  774. package/build-style/style-rtl.css +23 -41
  775. package/build-style/style.css +23 -41
  776. package/package.json +33 -33
  777. package/src/components/block-canvas/style.scss +0 -1
  778. package/src/components/block-list/content.scss +3 -2
  779. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +25 -4
  780. package/src/components/block-list/zoom-out-separator.js +8 -6
  781. package/src/components/block-popover/index.js +64 -2
  782. package/src/components/block-preview/auto.js +1 -4
  783. package/src/components/block-tools/index.js +0 -11
  784. package/src/components/block-tools/style.scss +1 -1
  785. package/src/components/block-tools/use-show-block-tools.js +10 -3
  786. package/src/components/block-tools/zoom-out-popover.js +2 -1
  787. package/src/components/block-tools/zoom-out-toolbar.js +2 -23
  788. package/src/components/iframe/content.scss +27 -32
  789. package/src/components/iframe/index.js +63 -13
  790. package/src/components/iframe/style.scss +18 -0
  791. package/src/components/inner-blocks/use-nested-settings-update.js +16 -10
  792. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -1
  793. package/src/components/inserter/category-tabs/index.js +1 -11
  794. package/src/components/inserter/menu.js +7 -2
  795. package/src/components/inserter/quick-inserter.js +1 -1
  796. package/src/components/inserter/style.scss +1 -41
  797. package/src/components/link-control/search-input.js +4 -5
  798. package/src/components/link-control/search-results.js +2 -13
  799. package/src/components/link-control/test/index.js +84 -46
  800. package/src/components/media-replace-flow/test/index.js +1 -1
  801. package/src/components/responsive-block-control/style.scss +0 -1
  802. package/src/components/rich-text/style.scss +5 -0
  803. package/src/components/tool-selector/index.js +7 -2
  804. package/src/components/use-resize-canvas/index.js +1 -3
  805. package/src/components/writing-flow/use-tab-nav.js +28 -4
  806. package/src/hooks/grid-visualizer.js +23 -9
  807. package/src/hooks/layout-child.js +48 -3
  808. package/src/hooks/use-zoom-out.js +36 -20
  809. package/src/private-apis.js +2 -0
  810. package/src/store/actions.js +3 -2
  811. package/src/store/reducer.js +0 -17
  812. package/src/store/selectors.js +23 -12
  813. package/src/store/test/private-selectors.js +7 -1
  814. package/src/store/test/selectors.js +13 -2
  815. package/src/style.scss +1 -0
  816. package/src/utils/block-bindings.js +9 -6
  817. package/src/utils/test/use-block-bindings-utils.js +174 -0
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useState","createPortal","forwardRef","useMemo","useEffect","useRef","__","useResizeObserver","useMergeRefs","useRefEffect","useDisabled","__experimentalStyleProvider","StyleProvider","useSelect","useBlockSelectionClearer","useWritingFlow","getCompatibilityStyles","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","bubbleEvent","event","Constructor","frame","init","key","contentDocument","defaultView","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","defaultPrevented","preventDefault","cancelled","dispatchEvent","useBubbleEvents","iframeDocument","frameElement","html","documentElement","eventTypes","handlers","name","prototype","Object","getPrototypeOf","constructorName","constructor","window","addEventListener","removeEventListener","Iframe","contentRef","children","tabIndex","scale","frameSize","readonly","forwardedRef","ref","title","props","resolvedAssets","isPreviewMode","select","getSettings","settings","__unstableResolvedAssets","__unstableIsPreviewMode","styles","scripts","setIframeDocument","prevContainerWidthRef","bodyClasses","setBodyClasses","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","containerResizeListener","width","containerWidth","setRef","node","_load","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","classList","add","Array","from","body","filter","startsWith","dir","compatStyle","getElementById","id","head","appendChild","cloneNode","console","warn","iframeWindowInnerHeight","setIframeWindowInnerHeight","iframeResizeRef","nodeWindow","innerHeight","onResize","windowInnerWidth","setWindowInnerWidth","windowResizeRef","innerWidth","isZoomedOut","current","disabledRef","isDisabled","bodyRef","src","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","maxWidth","style","setProperty","Math","min","remove","removeProperty","shouldRenderFocusCaptureElements","iframe","onKeyDown","currentTarget","target","stopPropagation","nativeEvent","KeyboardEvent","className","document","IframeIfReady","isInitialised","__internalIsInitialized"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n\tuseRef,\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 { getCompatibilityStyles } from './get-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\n\nfunction bubbleEvent( event, Constructor, frame ) {\n\tconst init = {};\n\n\tfor ( const key in event ) {\n\t\tinit[ key ] = event[ key ];\n\t}\n\n\t// Check if the event is a MouseEvent generated within the iframe.\n\t// If so, adjust the coordinates to be relative to the position of\n\t// the iframe. This ensures that components such as Draggable\n\t// receive coordinates relative to the window, instead of relative\n\t// to the iframe. Without this, the Draggable event handler would\n\t// result in components \"jumping\" position as soon as the user\n\t// drags over the iframe.\n\tif ( event instanceof frame.contentDocument.defaultView.MouseEvent ) {\n\t\tconst rect = frame.getBoundingClientRect();\n\t\tinit.clientX += rect.left;\n\t\tinit.clientY += rect.top;\n\t}\n\n\tconst newEvent = new Constructor( event.type, init );\n\tif ( init.defaultPrevented ) {\n\t\tnewEvent.preventDefault();\n\t}\n\tconst cancelled = ! frame.dispatchEvent( newEvent );\n\n\tif ( cancelled ) {\n\t\tevent.preventDefault();\n\t}\n}\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} iframeDocument Document to attach listeners to.\n */\nfunction useBubbleEvents( iframeDocument ) {\n\treturn useRefEffect( () => {\n\t\tconst { defaultView } = iframeDocument;\n\t\tif ( ! defaultView ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { frameElement } = defaultView;\n\t\tconst html = iframeDocument.documentElement;\n\t\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\t\tconst handlers = {};\n\t\tfor ( const name of eventTypes ) {\n\t\t\thandlers[ name ] = ( event ) => {\n\t\t\t\tconst prototype = Object.getPrototypeOf( event );\n\t\t\t\tconst constructorName = prototype.constructor.name;\n\t\t\t\tconst Constructor = window[ constructorName ];\n\t\t\t\tbubbleEvent( event, Constructor, frameElement );\n\t\t\t};\n\t\t\thtml.addEventListener( name, handlers[ name ] );\n\t\t}\n\n\t\treturn () => {\n\t\t\tfor ( const name of eventTypes ) {\n\t\t\t\thtml.removeEventListener( name, handlers[ name ] );\n\t\t\t}\n\t\t};\n\t} );\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tscale = 1,\n\tframeSize = 0,\n\treadonly,\n\tforwardedRef: ref,\n\ttitle = __( 'Editor canvas' ),\n\t...props\n} ) {\n\tconst { resolvedAssets, isPreviewMode } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = 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 prevContainerWidthRef = useRef();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst [ containerResizeListener, { width: containerWidth } ] =\n\t\tuseResizeObserver();\n\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\tdocumentElement.classList.add( 'block-editor-iframe__html' );\n\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\n\t\t\tfor ( const compatStyle of getCompatibilityStyles() ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\tif ( ! isPreviewMode ) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\t\tcompatStyle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tdelete node._load;\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst [ iframeWindowInnerHeight, setIframeWindowInnerHeight ] = useState();\n\n\tconst iframeResizeRef = useRefEffect( ( node ) => {\n\t\tconst nodeWindow = node.ownerDocument.defaultView;\n\n\t\tsetIframeWindowInnerHeight( nodeWindow.innerHeight );\n\t\tconst onResize = () => {\n\t\t\tsetIframeWindowInnerHeight( nodeWindow.innerHeight );\n\t\t};\n\t\tnodeWindow.addEventListener( 'resize', onResize );\n\t\treturn () => {\n\t\t\tnodeWindow.removeEventListener( 'resize', onResize );\n\t\t};\n\t}, [] );\n\n\tconst [ windowInnerWidth, setWindowInnerWidth ] = useState();\n\n\tconst windowResizeRef = useRefEffect( ( node ) => {\n\t\tconst nodeWindow = node.ownerDocument.defaultView;\n\n\t\tsetWindowInnerWidth( nodeWindow.innerWidth );\n\t\tconst onResize = () => {\n\t\t\tsetWindowInnerWidth( nodeWindow.innerWidth );\n\t\t};\n\t\tnodeWindow.addEventListener( 'resize', onResize );\n\t\treturn () => {\n\t\t\tnodeWindow.removeEventListener( 'resize', onResize );\n\t\t};\n\t}, [] );\n\n\tconst isZoomedOut = scale !== 1;\n\n\tuseEffect( () => {\n\t\tif ( ! isZoomedOut ) {\n\t\t\tprevContainerWidthRef.current = containerWidth;\n\t\t}\n\t}, [ containerWidth, isZoomedOut ] );\n\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tuseBubbleEvents( iframeDocument ),\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t\t// Avoid resize listeners when not needed, these will trigger\n\t\t// unnecessary re-renders when animating the iframe width, or when\n\t\t// expanding preview iframes.\n\t\tisZoomedOut ? iframeResizeRef : null,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html = `<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<script>window.frameElement._load()</script>\n\t\t<style>\n\t\t\thtml{\n\t\t\t\theight: auto !important;\n\t\t\t\tmin-height: 100%;\n\t\t\t}\n\t\t\t/* Lowest specificity to not override global styles */\n\t\t\t:where(body) {\n\t\t\t\tmargin: 0;\n\t\t\t\t/* Default background color in case zoom out mode background\n\t\t\t\tcolors the html element */\n\t\t\t\tbackground-color: white;\n\t\t\t}\n\t\t</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\tuseEffect( () => {\n\t\tif ( ! iframeDocument || ! isZoomedOut ) {\n\t\t\treturn;\n\t\t}\n\n\t\tiframeDocument.documentElement.classList.add( 'is-zoomed-out' );\n\n\t\tconst maxWidth = 750;\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-scale',\n\t\t\tscale === 'default'\n\t\t\t\t? Math.min( containerWidth, maxWidth ) /\n\t\t\t\t\t\tprevContainerWidthRef.current\n\t\t\t\t: scale\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-frame-size',\n\t\t\ttypeof frameSize === 'number' ? `${ frameSize }px` : frameSize\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-content-height',\n\t\t\t`${ contentHeight }px`\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-inner-height',\n\t\t\t`${ iframeWindowInnerHeight }px`\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-container-width',\n\t\t\t`${ containerWidth }px`\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-prev-container-width',\n\t\t\t`${ prevContainerWidthRef.current }px`\n\t\t);\n\n\t\treturn () => {\n\t\t\tiframeDocument.documentElement.classList.remove( 'is-zoomed-out' );\n\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-scale'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-frame-size'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-content-height'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-inner-height'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-container-width'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-prev-container-width'\n\t\t\t);\n\t\t};\n\t}, [\n\t\tscale,\n\t\tframeSize,\n\t\tiframeDocument,\n\t\tiframeWindowInnerHeight,\n\t\tcontentHeight,\n\t\tcontainerWidth,\n\t\twindowInnerWidth,\n\t\tisZoomedOut,\n\t] );\n\n\t// Make sure to not render the before and after focusable div elements in view\n\t// mode. They're only needed to capture focus in edit mode.\n\tconst shouldRenderFocusCaptureElements = tabIndex >= 0 && ! isPreviewMode;\n\n\tconst iframe = (\n\t\t<>\n\t\t\t{ shouldRenderFocusCaptureElements && before }\n\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: props.style?.height,\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={ title }\n\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\tif ( props.onKeyDown ) {\n\t\t\t\t\t\tprops.onKeyDown( event );\n\t\t\t\t\t}\n\t\t\t\t\t// If the event originates from inside the iframe, it means\n\t\t\t\t\t// it bubbled through the portal, but only with React\n\t\t\t\t\t// events. We need to to bubble native events as well,\n\t\t\t\t\t// though by doing so we also trigger another React event,\n\t\t\t\t\t// so we need to stop the propagation of this event to avoid\n\t\t\t\t\t// duplication.\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.currentTarget.ownerDocument !==\n\t\t\t\t\t\tevent.target.ownerDocument\n\t\t\t\t\t) {\n\t\t\t\t\t\t// We should only stop propagation of the React event,\n\t\t\t\t\t\t// the native event should further bubble inside the\n\t\t\t\t\t\t// iframe to the document and window.\n\t\t\t\t\t\t// Alternatively, we could consider redispatching the\n\t\t\t\t\t\t// native event in the iframe.\n\t\t\t\t\t\tconst { stopPropagation } = event.nativeEvent;\n\t\t\t\t\t\tevent.nativeEvent.stopPropagation = () => {};\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tevent.nativeEvent.stopPropagation = stopPropagation;\n\t\t\t\t\t\tbubbleEvent(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\twindow.KeyboardEvent,\n\t\t\t\t\t\t\tevent.currentTarget\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t// We want to prevent React events from bubbling throught the iframe\n\t\t\t\t\t\t// we bubble these manually.\n\t\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ clsx(\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{ shouldRenderFocusCaptureElements && after }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<div className=\"block-editor-iframe__container\" ref={ windowResizeRef }>\n\t\t\t{ containerResizeListener }\n\t\t\t<div\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-iframe__scale-container',\n\t\t\t\t\tisZoomedOut && 'is-zoomed-out'\n\t\t\t\t) }\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--wp-block-editor-iframe-zoom-out-container-width':\n\t\t\t\t\t\tisZoomedOut && `${ containerWidth }px`,\n\t\t\t\t\t'--wp-block-editor-iframe-zoom-out-prev-container-width':\n\t\t\t\t\t\tisZoomedOut && `${ prevContainerWidthRef.current }px`,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ iframe }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useState","createPortal","forwardRef","useMemo","useEffect","useRef","__","useResizeObserver","useMergeRefs","useRefEffect","useDisabled","__experimentalStyleProvider","StyleProvider","useSelect","useBlockSelectionClearer","useWritingFlow","getCompatibilityStyles","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","bubbleEvent","event","Constructor","frame","init","key","contentDocument","defaultView","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","defaultPrevented","preventDefault","cancelled","dispatchEvent","useBubbleEvents","iframeDocument","frameElement","html","documentElement","eventTypes","handlers","name","prototype","Object","getPrototypeOf","constructorName","constructor","window","addEventListener","removeEventListener","Iframe","contentRef","children","tabIndex","scale","frameSize","readonly","forwardedRef","ref","title","props","resolvedAssets","isPreviewMode","select","getSettings","settings","__unstableResolvedAssets","__unstableIsPreviewMode","styles","scripts","setIframeDocument","initialContainerWidth","bodyClasses","setBodyClasses","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","containerResizeListener","width","containerWidth","setRef","node","_load","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","classList","add","Array","from","body","filter","startsWith","dir","compatStyle","getElementById","id","head","appendChild","cloneNode","console","warn","iframeWindowInnerHeight","setIframeWindowInnerHeight","iframeResizeRef","nodeWindow","innerHeight","onResize","windowInnerWidth","setWindowInnerWidth","windowResizeRef","innerWidth","isZoomedOut","current","disabledRef","isDisabled","bodyRef","src","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","zoomOutAnimationClassnameRef","handleZoomOutAnimationClassname","clearTimeout","setTimeout","remove","maxWidth","style","setProperty","Math","min","parseInt","max","removeProperty","shouldRenderFocusCaptureElements","iframe","border","onKeyDown","currentTarget","target","stopPropagation","nativeEvent","KeyboardEvent","className","document","IframeIfReady","isInitialised","__internalIsInitialized"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n\tuseRef,\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 { getCompatibilityStyles } from './get-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\n\nfunction bubbleEvent( event, Constructor, frame ) {\n\tconst init = {};\n\n\tfor ( const key in event ) {\n\t\tinit[ key ] = event[ key ];\n\t}\n\n\t// Check if the event is a MouseEvent generated within the iframe.\n\t// If so, adjust the coordinates to be relative to the position of\n\t// the iframe. This ensures that components such as Draggable\n\t// receive coordinates relative to the window, instead of relative\n\t// to the iframe. Without this, the Draggable event handler would\n\t// result in components \"jumping\" position as soon as the user\n\t// drags over the iframe.\n\tif ( event instanceof frame.contentDocument.defaultView.MouseEvent ) {\n\t\tconst rect = frame.getBoundingClientRect();\n\t\tinit.clientX += rect.left;\n\t\tinit.clientY += rect.top;\n\t}\n\n\tconst newEvent = new Constructor( event.type, init );\n\tif ( init.defaultPrevented ) {\n\t\tnewEvent.preventDefault();\n\t}\n\tconst cancelled = ! frame.dispatchEvent( newEvent );\n\n\tif ( cancelled ) {\n\t\tevent.preventDefault();\n\t}\n}\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} iframeDocument Document to attach listeners to.\n */\nfunction useBubbleEvents( iframeDocument ) {\n\treturn useRefEffect( () => {\n\t\tconst { defaultView } = iframeDocument;\n\t\tif ( ! defaultView ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { frameElement } = defaultView;\n\t\tconst html = iframeDocument.documentElement;\n\t\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\t\tconst handlers = {};\n\t\tfor ( const name of eventTypes ) {\n\t\t\thandlers[ name ] = ( event ) => {\n\t\t\t\tconst prototype = Object.getPrototypeOf( event );\n\t\t\t\tconst constructorName = prototype.constructor.name;\n\t\t\t\tconst Constructor = window[ constructorName ];\n\t\t\t\tbubbleEvent( event, Constructor, frameElement );\n\t\t\t};\n\t\t\thtml.addEventListener( name, handlers[ name ] );\n\t\t}\n\n\t\treturn () => {\n\t\t\tfor ( const name of eventTypes ) {\n\t\t\t\thtml.removeEventListener( name, handlers[ name ] );\n\t\t\t}\n\t\t};\n\t} );\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tscale = 1,\n\tframeSize = 0,\n\treadonly,\n\tforwardedRef: ref,\n\ttitle = __( 'Editor canvas' ),\n\t...props\n} ) {\n\tconst { resolvedAssets, isPreviewMode } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = 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 initialContainerWidth = useRef();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst [ containerResizeListener, { width: containerWidth } ] =\n\t\tuseResizeObserver();\n\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\tdocumentElement.classList.add( 'block-editor-iframe__html' );\n\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\n\t\t\tfor ( const compatStyle of getCompatibilityStyles() ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\tif ( ! isPreviewMode ) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\t\tcompatStyle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tdelete node._load;\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst [ iframeWindowInnerHeight, setIframeWindowInnerHeight ] = useState();\n\n\tconst iframeResizeRef = useRefEffect( ( node ) => {\n\t\tconst nodeWindow = node.ownerDocument.defaultView;\n\n\t\tsetIframeWindowInnerHeight( nodeWindow.innerHeight );\n\t\tconst onResize = () => {\n\t\t\tsetIframeWindowInnerHeight( nodeWindow.innerHeight );\n\t\t};\n\t\tnodeWindow.addEventListener( 'resize', onResize );\n\t\treturn () => {\n\t\t\tnodeWindow.removeEventListener( 'resize', onResize );\n\t\t};\n\t}, [] );\n\n\tconst [ windowInnerWidth, setWindowInnerWidth ] = useState();\n\n\tconst windowResizeRef = useRefEffect( ( node ) => {\n\t\tconst nodeWindow = node.ownerDocument.defaultView;\n\n\t\tsetWindowInnerWidth( nodeWindow.innerWidth );\n\t\tconst onResize = () => {\n\t\t\tsetWindowInnerWidth( nodeWindow.innerWidth );\n\t\t};\n\t\tnodeWindow.addEventListener( 'resize', onResize );\n\t\treturn () => {\n\t\t\tnodeWindow.removeEventListener( 'resize', onResize );\n\t\t};\n\t}, [] );\n\n\tconst isZoomedOut = scale !== 1;\n\n\tuseEffect( () => {\n\t\tif ( ! isZoomedOut ) {\n\t\t\tinitialContainerWidth.current = containerWidth;\n\t\t}\n\t}, [ containerWidth, isZoomedOut ] );\n\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tuseBubbleEvents( iframeDocument ),\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t\t// Avoid resize listeners when not needed, these will trigger\n\t\t// unnecessary re-renders when animating the iframe width, or when\n\t\t// expanding preview iframes.\n\t\tisZoomedOut ? iframeResizeRef : null,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html = `<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<script>window.frameElement._load()</script>\n\t\t<style>\n\t\t\thtml{\n\t\t\t\theight: auto !important;\n\t\t\t\tmin-height: 100%;\n\t\t\t}\n\t\t\t/* Lowest specificity to not override global styles */\n\t\t\t:where(body) {\n\t\t\t\tmargin: 0;\n\t\t\t\t/* Default background color in case zoom out mode background\n\t\t\t\tcolors the html element */\n\t\t\t\tbackground-color: white;\n\t\t\t}\n\t\t</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\tconst zoomOutAnimationClassnameRef = useRef( null );\n\tconst handleZoomOutAnimationClassname = () => {\n\t\tclearTimeout( zoomOutAnimationClassnameRef.current );\n\n\t\tiframeDocument.documentElement.classList.add( 'zoom-out-animation' );\n\n\t\tzoomOutAnimationClassnameRef.current = setTimeout( () => {\n\t\t\tiframeDocument.documentElement.classList.remove(\n\t\t\t\t'zoom-out-animation'\n\t\t\t);\n\t\t}, 400 ); // 400ms should match the animation speed used in components/iframe/content.scss\n\t};\n\n\t// Toggle zoom out CSS Classes only when zoom out mode changes. We could add these into the useEffect\n\t// that controls settings the CSS variables, but then we would need to do more work to ensure we're\n\t// only toggling these when the zoom out mode changes, as that useEffect is also triggered by a large\n\t// number of dependencies.\n\tuseEffect( () => {\n\t\tif ( ! iframeDocument || ! isZoomedOut ) {\n\t\t\treturn;\n\t\t}\n\n\t\thandleZoomOutAnimationClassname();\n\t\tiframeDocument.documentElement.classList.add( 'is-zoomed-out' );\n\n\t\treturn () => {\n\t\t\thandleZoomOutAnimationClassname();\n\t\t\tiframeDocument.documentElement.classList.remove( 'is-zoomed-out' );\n\t\t};\n\t}, [ iframeDocument, isZoomedOut ] );\n\n\t// Calculate the scaling and CSS variables for the zoom out canvas\n\tuseEffect( () => {\n\t\tif ( ! iframeDocument || ! isZoomedOut ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxWidth = 750;\n\t\t// Note: When we initialize the zoom out when the canvas is smaller (sidebars open),\n\t\t// initialContainerWidth will be smaller than the full page, and reflow will happen\n\t\t// when the canvas area becomes larger due to sidebars closing. This is a known but\n\t\t// minor divergence for now.\n\n\t\t// This scaling calculation has to happen within the JS because CSS calc() can\n\t\t// only divide and multiply by a unitless value. I.e. calc( 100px / 2 ) is valid\n\t\t// but calc( 100px / 2px ) is not.\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-scale',\n\t\t\tscale === 'default'\n\t\t\t\t? ( Math.min( containerWidth, maxWidth ) -\n\t\t\t\t\t\tparseInt( frameSize ) * 2 ) /\n\t\t\t\t\t\tMath.max(\n\t\t\t\t\t\t\tinitialContainerWidth.current,\n\t\t\t\t\t\t\tcontainerWidth\n\t\t\t\t\t\t)\n\t\t\t\t: scale\n\t\t);\n\n\t\t// frameSize has to be a px value for the scaling and frame size to be computed correctly.\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-frame-size',\n\t\t\ttypeof frameSize === 'number' ? `${ frameSize }px` : frameSize\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-content-height',\n\t\t\t`${ contentHeight }px`\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-inner-height',\n\t\t\t`${ iframeWindowInnerHeight }px`\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-container-width',\n\t\t\t`${ containerWidth }px`\n\t\t);\n\t\tiframeDocument.documentElement.style.setProperty(\n\t\t\t'--wp-block-editor-iframe-zoom-out-outer-container-width',\n\t\t\t`${ Math.max( initialContainerWidth.current, containerWidth ) }px`\n\t\t);\n\n\t\t// iframeDocument.documentElement.style.setProperty(\n\t\t// \t'--wp-block-editor-iframe-zoom-out-outer-container-width',\n\t\t// \t`${ Math.max( initialContainerWidth.current, containerWidth ) }px`\n\t\t// );\n\n\t\treturn () => {\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-scale'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-frame-size'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-content-height'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-inner-height'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-container-width'\n\t\t\t);\n\t\t\tiframeDocument.documentElement.style.removeProperty(\n\t\t\t\t'--wp-block-editor-iframe-zoom-out-outer-container-width'\n\t\t\t);\n\t\t};\n\t}, [\n\t\tscale,\n\t\tframeSize,\n\t\tiframeDocument,\n\t\tiframeWindowInnerHeight,\n\t\tcontentHeight,\n\t\tcontainerWidth,\n\t\twindowInnerWidth,\n\t\tisZoomedOut,\n\t] );\n\n\t// Make sure to not render the before and after focusable div elements in view\n\t// mode. They're only needed to capture focus in edit mode.\n\tconst shouldRenderFocusCaptureElements = tabIndex >= 0 && ! isPreviewMode;\n\n\tconst iframe = (\n\t\t<>\n\t\t\t{ shouldRenderFocusCaptureElements && before }\n\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: props.style?.height,\n\t\t\t\t\tborder: 0,\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={ title }\n\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\tif ( props.onKeyDown ) {\n\t\t\t\t\t\tprops.onKeyDown( event );\n\t\t\t\t\t}\n\t\t\t\t\t// If the event originates from inside the iframe, it means\n\t\t\t\t\t// it bubbled through the portal, but only with React\n\t\t\t\t\t// events. We need to to bubble native events as well,\n\t\t\t\t\t// though by doing so we also trigger another React event,\n\t\t\t\t\t// so we need to stop the propagation of this event to avoid\n\t\t\t\t\t// duplication.\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.currentTarget.ownerDocument !==\n\t\t\t\t\t\tevent.target.ownerDocument\n\t\t\t\t\t) {\n\t\t\t\t\t\t// We should only stop propagation of the React event,\n\t\t\t\t\t\t// the native event should further bubble inside the\n\t\t\t\t\t\t// iframe to the document and window.\n\t\t\t\t\t\t// Alternatively, we could consider redispatching the\n\t\t\t\t\t\t// native event in the iframe.\n\t\t\t\t\t\tconst { stopPropagation } = event.nativeEvent;\n\t\t\t\t\t\tevent.nativeEvent.stopPropagation = () => {};\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tevent.nativeEvent.stopPropagation = stopPropagation;\n\t\t\t\t\t\tbubbleEvent(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\twindow.KeyboardEvent,\n\t\t\t\t\t\t\tevent.currentTarget\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t// We want to prevent React events from bubbling throught the iframe\n\t\t\t\t\t\t// we bubble these manually.\n\t\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ clsx(\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{ shouldRenderFocusCaptureElements && after }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<div className=\"block-editor-iframe__container\" ref={ windowResizeRef }>\n\t\t\t{ containerResizeListener }\n\t\t\t<div\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-iframe__scale-container',\n\t\t\t\t\tisZoomedOut && 'is-zoomed-out'\n\t\t\t\t) }\n\t\t\t\tstyle={ {\n\t\t\t\t\t'--wp-block-editor-iframe-zoom-out-outer-container-width':\n\t\t\t\t\t\tisZoomedOut &&\n\t\t\t\t\t\t`${ Math.max(\n\t\t\t\t\t\t\tinitialContainerWidth.current,\n\t\t\t\t\t\t\tcontainerWidth\n\t\t\t\t\t\t) }px`,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ iframe }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"],"mappings":"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","ignoreList":[]}
@@ -11,9 +11,7 @@ import { __ } from '@wordpress/i18n';
11
11
  import { useSettings } from '../use-settings';
12
12
  import { POPOVER_PROPS } from './constants';
13
13
  import { useImageEditingContext } from './context';
14
- import { jsx as _jsx } from "react/jsx-runtime";
15
- import { Fragment as _Fragment } from "react/jsx-runtime";
16
- import { jsxs as _jsxs } from "react/jsx-runtime";
14
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
17
15
  function AspectRatioGroup({
18
16
  aspectRatios,
19
17
  isDisabled,
@@ -1 +1 @@
1
- {"version":3,"names":["check","aspectRatio","aspectRatioIcon","DropdownMenu","MenuGroup","MenuItem","__","useSettings","POPOVER_PROPS","useImageEditingContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AspectRatioGroup","aspectRatios","isDisabled","label","onClick","value","children","map","name","slug","ratio","disabled","role","isSelected","icon","undefined","ratioToNumber","str","a","b","rest","split","Number","isNaN","length","NaN","presetRatioAsNumber","AspectRatioDropdown","toggleProps","isInProgress","aspect","setAspect","defaultAspect","defaultRatios","themeRatios","showDefaultRatios","popoverProps","onClose","newAspect","filter"],"sources":["@wordpress/block-editor/src/components/image-editor/aspect-ratio-dropdown.js"],"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 { useSettings } from '../use-settings';\nimport { POPOVER_PROPS } from './constants';\nimport { useImageEditingContext } from './context';\n\nfunction AspectRatioGroup( {\n\taspectRatios,\n\tisDisabled,\n\tlabel,\n\tonClick,\n\tvalue,\n} ) {\n\treturn (\n\t\t<MenuGroup label={ label }>\n\t\t\t{ aspectRatios.map( ( { name, slug, ratio } ) => (\n\t\t\t\t<MenuItem\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonClick( ratio );\n\t\t\t\t\t} }\n\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\tisSelected={ ratio === value }\n\t\t\t\t\ticon={ ratio === value ? check : undefined }\n\t\t\t\t>\n\t\t\t\t\t{ name }\n\t\t\t\t</MenuItem>\n\t\t\t) ) }\n\t\t</MenuGroup>\n\t);\n}\n\nexport function ratioToNumber( str ) {\n\t// TODO: support two-value aspect ratio?\n\t// https://css-tricks.com/almanac/properties/a/aspect-ratio/#aa-it-can-take-two-values\n\tconst [ a, b, ...rest ] = str.split( '/' ).map( Number );\n\tif (\n\t\ta <= 0 ||\n\t\tb <= 0 ||\n\t\tNumber.isNaN( a ) ||\n\t\tNumber.isNaN( b ) ||\n\t\trest.length\n\t) {\n\t\treturn NaN;\n\t}\n\treturn b ? a / b : a;\n}\n\nfunction presetRatioAsNumber( { ratio, ...rest } ) {\n\treturn {\n\t\tratio: ratioToNumber( ratio ),\n\t\t...rest,\n\t};\n}\n\nexport default function AspectRatioDropdown( { toggleProps } ) {\n\tconst { isInProgress, aspect, setAspect, defaultAspect } =\n\t\tuseImageEditingContext();\n\n\tconst [ defaultRatios, themeRatios, showDefaultRatios ] = useSettings(\n\t\t'dimensions.aspectRatios.default',\n\t\t'dimensions.aspectRatios.theme',\n\t\t'dimensions.defaultAspectRatios'\n\t);\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>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<AspectRatioGroup\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\tslug: 'original',\n\t\t\t\t\t\t\t\tname: __( '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...( showDefaultRatios\n\t\t\t\t\t\t\t\t? defaultRatios\n\t\t\t\t\t\t\t\t\t\t.map( presetRatioAsNumber )\n\t\t\t\t\t\t\t\t\t\t.filter( ( { ratio } ) => ratio === 1 )\n\t\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{ themeRatios?.length > 0 && (\n\t\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Theme' ) }\n\t\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\t\taspectRatios={ themeRatios }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showDefaultRatios && (\n\t\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Landscape' ) }\n\t\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\t\taspectRatios={ defaultRatios\n\t\t\t\t\t\t\t\t.map( presetRatioAsNumber )\n\t\t\t\t\t\t\t\t.filter( ( { ratio } ) => ratio > 1 ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showDefaultRatios && (\n\t\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Portrait' ) }\n\t\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\t\taspectRatios={ defaultRatios\n\t\t\t\t\t\t\t\t.map( presetRatioAsNumber )\n\t\t\t\t\t\t\t\t.filter( ( { ratio } ) => ratio < 1 ) }\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["check","aspectRatio","aspectRatioIcon","DropdownMenu","MenuGroup","MenuItem","__","useSettings","POPOVER_PROPS","useImageEditingContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AspectRatioGroup","aspectRatios","isDisabled","label","onClick","value","children","map","name","slug","ratio","disabled","role","isSelected","icon","undefined","ratioToNumber","str","a","b","rest","split","Number","isNaN","length","NaN","presetRatioAsNumber","AspectRatioDropdown","toggleProps","isInProgress","aspect","setAspect","defaultAspect","defaultRatios","themeRatios","showDefaultRatios","popoverProps","onClose","newAspect","filter"],"sources":["@wordpress/block-editor/src/components/image-editor/aspect-ratio-dropdown.js"],"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 { useSettings } from '../use-settings';\nimport { POPOVER_PROPS } from './constants';\nimport { useImageEditingContext } from './context';\n\nfunction AspectRatioGroup( {\n\taspectRatios,\n\tisDisabled,\n\tlabel,\n\tonClick,\n\tvalue,\n} ) {\n\treturn (\n\t\t<MenuGroup label={ label }>\n\t\t\t{ aspectRatios.map( ( { name, slug, ratio } ) => (\n\t\t\t\t<MenuItem\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonClick( ratio );\n\t\t\t\t\t} }\n\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\tisSelected={ ratio === value }\n\t\t\t\t\ticon={ ratio === value ? check : undefined }\n\t\t\t\t>\n\t\t\t\t\t{ name }\n\t\t\t\t</MenuItem>\n\t\t\t) ) }\n\t\t</MenuGroup>\n\t);\n}\n\nexport function ratioToNumber( str ) {\n\t// TODO: support two-value aspect ratio?\n\t// https://css-tricks.com/almanac/properties/a/aspect-ratio/#aa-it-can-take-two-values\n\tconst [ a, b, ...rest ] = str.split( '/' ).map( Number );\n\tif (\n\t\ta <= 0 ||\n\t\tb <= 0 ||\n\t\tNumber.isNaN( a ) ||\n\t\tNumber.isNaN( b ) ||\n\t\trest.length\n\t) {\n\t\treturn NaN;\n\t}\n\treturn b ? a / b : a;\n}\n\nfunction presetRatioAsNumber( { ratio, ...rest } ) {\n\treturn {\n\t\tratio: ratioToNumber( ratio ),\n\t\t...rest,\n\t};\n}\n\nexport default function AspectRatioDropdown( { toggleProps } ) {\n\tconst { isInProgress, aspect, setAspect, defaultAspect } =\n\t\tuseImageEditingContext();\n\n\tconst [ defaultRatios, themeRatios, showDefaultRatios ] = useSettings(\n\t\t'dimensions.aspectRatios.default',\n\t\t'dimensions.aspectRatios.theme',\n\t\t'dimensions.defaultAspectRatios'\n\t);\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>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<AspectRatioGroup\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\tslug: 'original',\n\t\t\t\t\t\t\t\tname: __( '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...( showDefaultRatios\n\t\t\t\t\t\t\t\t? defaultRatios\n\t\t\t\t\t\t\t\t\t\t.map( presetRatioAsNumber )\n\t\t\t\t\t\t\t\t\t\t.filter( ( { ratio } ) => ratio === 1 )\n\t\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{ themeRatios?.length > 0 && (\n\t\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Theme' ) }\n\t\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\t\taspectRatios={ themeRatios }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showDefaultRatios && (\n\t\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Landscape' ) }\n\t\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\t\taspectRatios={ defaultRatios\n\t\t\t\t\t\t\t\t.map( presetRatioAsNumber )\n\t\t\t\t\t\t\t\t.filter( ( { ratio } ) => ratio > 1 ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showDefaultRatios && (\n\t\t\t\t\t\t<AspectRatioGroup\n\t\t\t\t\t\t\tlabel={ __( 'Portrait' ) }\n\t\t\t\t\t\t\tisDisabled={ isInProgress }\n\t\t\t\t\t\t\tonClick={ ( newAspect ) => {\n\t\t\t\t\t\t\t\tsetAspect( newAspect );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ aspect }\n\t\t\t\t\t\t\taspectRatios={ defaultRatios\n\t\t\t\t\t\t\t\t.map( presetRatioAsNumber )\n\t\t\t\t\t\t\t\t.filter( ( { ratio } ) => ratio < 1 ) }\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"],"mappings":"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","ignoreList":[]}
@@ -15,9 +15,7 @@ import { useResizeObserver } from '@wordpress/compose';
15
15
  */
16
16
  import { MIN_ZOOM, MAX_ZOOM } from './constants';
17
17
  import { useImageEditingContext } from './context';
18
- import { jsx as _jsx } from "react/jsx-runtime";
19
- import { jsxs as _jsxs } from "react/jsx-runtime";
20
- import { Fragment as _Fragment } from "react/jsx-runtime";
18
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
21
19
  export default function ImageCropper({
22
20
  url,
23
21
  width,
@@ -1 +1 @@
1
- {"version":3,"names":["Cropper","clsx","Spinner","useResizeObserver","MIN_ZOOM","MAX_ZOOM","useImageEditingContext","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ImageCropper","url","width","height","naturalHeight","naturalWidth","borderProps","isInProgress","editedUrl","position","zoom","aspect","setPosition","setCrop","setZoom","rotation","contentResizeListener","clientWidth","editedHeight","area","className","style","children","image","disabled","minZoom","maxZoom","crop","onCropChange","pos","onCropComplete","newCropPercent","onZoomChange","newZoom"],"sources":["@wordpress/block-editor/src/components/image-editor/cropper.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport Cropper from 'react-easy-crop';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Spinner } from '@wordpress/components';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { MIN_ZOOM, MAX_ZOOM } from './constants';\n\nimport { useImageEditingContext } from './context';\n\nexport default function ImageCropper( {\n\turl,\n\twidth,\n\theight,\n\tnaturalHeight,\n\tnaturalWidth,\n\tborderProps,\n} ) {\n\tconst {\n\t\tisInProgress,\n\t\teditedUrl,\n\t\tposition,\n\t\tzoom,\n\t\taspect,\n\t\tsetPosition,\n\t\tsetCrop,\n\t\tsetZoom,\n\t\trotation,\n\t} = useImageEditingContext();\n\tconst [ contentResizeListener, { width: clientWidth } ] =\n\t\tuseResizeObserver();\n\n\tlet editedHeight = height || ( clientWidth * naturalHeight ) / naturalWidth;\n\n\tif ( rotation % 180 === 90 ) {\n\t\teditedHeight = ( clientWidth * naturalWidth ) / naturalHeight;\n\t}\n\n\tconst area = (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'wp-block-image__crop-area',\n\t\t\t\tborderProps?.className,\n\t\t\t\t{\n\t\t\t\t\t'is-applying': isInProgress,\n\t\t\t\t}\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\t...borderProps?.style,\n\t\t\t\twidth: width || clientWidth,\n\t\t\t\theight: editedHeight,\n\t\t\t} }\n\t\t>\n\t\t\t<Cropper\n\t\t\t\timage={ editedUrl || url }\n\t\t\t\tdisabled={ isInProgress }\n\t\t\t\tminZoom={ MIN_ZOOM / 100 }\n\t\t\t\tmaxZoom={ MAX_ZOOM / 100 }\n\t\t\t\tcrop={ position }\n\t\t\t\tzoom={ zoom / 100 }\n\t\t\t\taspect={ aspect }\n\t\t\t\tonCropChange={ ( pos ) => {\n\t\t\t\t\tsetPosition( pos );\n\t\t\t\t} }\n\t\t\t\tonCropComplete={ ( newCropPercent ) => {\n\t\t\t\t\tsetCrop( newCropPercent );\n\t\t\t\t} }\n\t\t\t\tonZoomChange={ ( newZoom ) => {\n\t\t\t\t\tsetZoom( newZoom * 100 );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isInProgress && <Spinner /> }\n\t\t</div>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ contentResizeListener }\n\t\t\t{ area }\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,OAAO,MAAM,iBAAiB;AACrC,OAAOC,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,SAASC,iBAAiB,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,aAAa;AAEhD,SAASC,sBAAsB,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAEnD,eAAe,SAASC,YAAYA,CAAE;EACrCC,GAAG;EACHC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,YAAY;EACZC;AACD,CAAC,EAAG;EACH,MAAM;IACLC,YAAY;IACZC,SAAS;IACTC,QAAQ;IACRC,IAAI;IACJC,MAAM;IACNC,WAAW;IACXC,OAAO;IACPC,OAAO;IACPC;EACD,CAAC,GAAGtB,sBAAsB,CAAC,CAAC;EAC5B,MAAM,CAAEuB,qBAAqB,EAAE;IAAEd,KAAK,EAAEe;EAAY,CAAC,CAAE,GACtD3B,iBAAiB,CAAC,CAAC;EAEpB,IAAI4B,YAAY,GAAGf,MAAM,IAAMc,WAAW,GAAGb,aAAa,GAAKC,YAAY;EAE3E,IAAKU,QAAQ,GAAG,GAAG,KAAK,EAAE,EAAG;IAC5BG,YAAY,GAAKD,WAAW,GAAGZ,YAAY,GAAKD,aAAa;EAC9D;EAEA,MAAMe,IAAI,gBACTtB,KAAA;IACCuB,SAAS,EAAGhC,IAAI,CACf,2BAA2B,EAC3BkB,WAAW,EAAEc,SAAS,EACtB;MACC,aAAa,EAAEb;IAChB,CACD,CAAG;IACHc,KAAK,EAAG;MACP,GAAGf,WAAW,EAAEe,KAAK;MACrBnB,KAAK,EAAEA,KAAK,IAAIe,WAAW;MAC3Bd,MAAM,EAAEe;IACT,CAAG;IAAAI,QAAA,gBAEH3B,IAAA,CAACR,OAAO;MACPoC,KAAK,EAAGf,SAAS,IAAIP,GAAK;MAC1BuB,QAAQ,EAAGjB,YAAc;MACzBkB,OAAO,EAAGlC,QAAQ,GAAG,GAAK;MAC1BmC,OAAO,EAAGlC,QAAQ,GAAG,GAAK;MAC1BmC,IAAI,EAAGlB,QAAU;MACjBC,IAAI,EAAGA,IAAI,GAAG,GAAK;MACnBC,MAAM,EAAGA,MAAQ;MACjBiB,YAAY,EAAKC,GAAG,IAAM;QACzBjB,WAAW,CAAEiB,GAAI,CAAC;MACnB,CAAG;MACHC,cAAc,EAAKC,cAAc,IAAM;QACtClB,OAAO,CAAEkB,cAAe,CAAC;MAC1B,CAAG;MACHC,YAAY,EAAKC,OAAO,IAAM;QAC7BnB,OAAO,CAAEmB,OAAO,GAAG,GAAI,CAAC;MACzB;IAAG,CACH,CAAC,EACA1B,YAAY,iBAAIZ,IAAA,CAACN,OAAO,IAAE,CAAC;EAAA,CACzB,CACL;EAED,oBACCQ,KAAA,CAAAE,SAAA;IAAAuB,QAAA,GACGN,qBAAqB,EACrBG,IAAI;EAAA,CACL,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["Cropper","clsx","Spinner","useResizeObserver","MIN_ZOOM","MAX_ZOOM","useImageEditingContext","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ImageCropper","url","width","height","naturalHeight","naturalWidth","borderProps","isInProgress","editedUrl","position","zoom","aspect","setPosition","setCrop","setZoom","rotation","contentResizeListener","clientWidth","editedHeight","area","className","style","children","image","disabled","minZoom","maxZoom","crop","onCropChange","pos","onCropComplete","newCropPercent","onZoomChange","newZoom"],"sources":["@wordpress/block-editor/src/components/image-editor/cropper.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport Cropper from 'react-easy-crop';\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Spinner } from '@wordpress/components';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { MIN_ZOOM, MAX_ZOOM } from './constants';\n\nimport { useImageEditingContext } from './context';\n\nexport default function ImageCropper( {\n\turl,\n\twidth,\n\theight,\n\tnaturalHeight,\n\tnaturalWidth,\n\tborderProps,\n} ) {\n\tconst {\n\t\tisInProgress,\n\t\teditedUrl,\n\t\tposition,\n\t\tzoom,\n\t\taspect,\n\t\tsetPosition,\n\t\tsetCrop,\n\t\tsetZoom,\n\t\trotation,\n\t} = useImageEditingContext();\n\tconst [ contentResizeListener, { width: clientWidth } ] =\n\t\tuseResizeObserver();\n\n\tlet editedHeight = height || ( clientWidth * naturalHeight ) / naturalWidth;\n\n\tif ( rotation % 180 === 90 ) {\n\t\teditedHeight = ( clientWidth * naturalWidth ) / naturalHeight;\n\t}\n\n\tconst area = (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'wp-block-image__crop-area',\n\t\t\t\tborderProps?.className,\n\t\t\t\t{\n\t\t\t\t\t'is-applying': isInProgress,\n\t\t\t\t}\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\t...borderProps?.style,\n\t\t\t\twidth: width || clientWidth,\n\t\t\t\theight: editedHeight,\n\t\t\t} }\n\t\t>\n\t\t\t<Cropper\n\t\t\t\timage={ editedUrl || url }\n\t\t\t\tdisabled={ isInProgress }\n\t\t\t\tminZoom={ MIN_ZOOM / 100 }\n\t\t\t\tmaxZoom={ MAX_ZOOM / 100 }\n\t\t\t\tcrop={ position }\n\t\t\t\tzoom={ zoom / 100 }\n\t\t\t\taspect={ aspect }\n\t\t\t\tonCropChange={ ( pos ) => {\n\t\t\t\t\tsetPosition( pos );\n\t\t\t\t} }\n\t\t\t\tonCropComplete={ ( newCropPercent ) => {\n\t\t\t\t\tsetCrop( newCropPercent );\n\t\t\t\t} }\n\t\t\t\tonZoomChange={ ( newZoom ) => {\n\t\t\t\t\tsetZoom( newZoom * 100 );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isInProgress && <Spinner /> }\n\t\t</div>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ contentResizeListener }\n\t\t\t{ area }\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,OAAO,MAAM,iBAAiB;AACrC,OAAOC,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,SAASC,iBAAiB,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,aAAa;AAEhD,SAASC,sBAAsB,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEnD,eAAe,SAASC,YAAYA,CAAE;EACrCC,GAAG;EACHC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,YAAY;EACZC;AACD,CAAC,EAAG;EACH,MAAM;IACLC,YAAY;IACZC,SAAS;IACTC,QAAQ;IACRC,IAAI;IACJC,MAAM;IACNC,WAAW;IACXC,OAAO;IACPC,OAAO;IACPC;EACD,CAAC,GAAGtB,sBAAsB,CAAC,CAAC;EAC5B,MAAM,CAAEuB,qBAAqB,EAAE;IAAEd,KAAK,EAAEe;EAAY,CAAC,CAAE,GACtD3B,iBAAiB,CAAC,CAAC;EAEpB,IAAI4B,YAAY,GAAGf,MAAM,IAAMc,WAAW,GAAGb,aAAa,GAAKC,YAAY;EAE3E,IAAKU,QAAQ,GAAG,GAAG,KAAK,EAAE,EAAG;IAC5BG,YAAY,GAAKD,WAAW,GAAGZ,YAAY,GAAKD,aAAa;EAC9D;EAEA,MAAMe,IAAI,gBACTtB,KAAA;IACCuB,SAAS,EAAGhC,IAAI,CACf,2BAA2B,EAC3BkB,WAAW,EAAEc,SAAS,EACtB;MACC,aAAa,EAAEb;IAChB,CACD,CAAG;IACHc,KAAK,EAAG;MACP,GAAGf,WAAW,EAAEe,KAAK;MACrBnB,KAAK,EAAEA,KAAK,IAAIe,WAAW;MAC3Bd,MAAM,EAAEe;IACT,CAAG;IAAAI,QAAA,gBAEH3B,IAAA,CAACR,OAAO;MACPoC,KAAK,EAAGf,SAAS,IAAIP,GAAK;MAC1BuB,QAAQ,EAAGjB,YAAc;MACzBkB,OAAO,EAAGlC,QAAQ,GAAG,GAAK;MAC1BmC,OAAO,EAAGlC,QAAQ,GAAG,GAAK;MAC1BmC,IAAI,EAAGlB,QAAU;MACjBC,IAAI,EAAGA,IAAI,GAAG,GAAK;MACnBC,MAAM,EAAGA,MAAQ;MACjBiB,YAAY,EAAKC,GAAG,IAAM;QACzBjB,WAAW,CAAEiB,GAAI,CAAC;MACnB,CAAG;MACHC,cAAc,EAAKC,cAAc,IAAM;QACtClB,OAAO,CAAEkB,cAAe,CAAC;MAC1B,CAAG;MACHC,YAAY,EAAKC,OAAO,IAAM;QAC7BnB,OAAO,CAAEmB,OAAO,GAAG,GAAI,CAAC;MACzB;IAAG,CACH,CAAC,EACA1B,YAAY,iBAAIZ,IAAA,CAACN,OAAO,IAAE,CAAC;EAAA,CACzB,CACL;EAED,oBACCQ,KAAA,CAAAE,SAAA;IAAAuB,QAAA,GACGN,qBAAqB,EACrBG,IAAI;EAAA,CACL,CAAC;AAEL","ignoreList":[]}
@@ -8,9 +8,7 @@ import { __ } from '@wordpress/i18n';
8
8
  * Internal dependencies
9
9
  */
10
10
  import { useImageEditingContext } from './context';
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- import { Fragment as _Fragment } from "react/jsx-runtime";
13
- import { jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
12
  export default function FormControls() {
15
13
  const {
16
14
  isInProgress,
@@ -1 +1 @@
1
- {"version":3,"names":["ToolbarButton","__","useImageEditingContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","FormControls","isInProgress","apply","cancel","children","onClick","disabled"],"sources":["@wordpress/block-editor/src/components/image-editor/form-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarButton } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useImageEditingContext } from './context';\n\nexport default function FormControls() {\n\tconst { isInProgress, apply, cancel } = useImageEditingContext();\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton onClick={ apply } disabled={ isInProgress }>\n\t\t\t\t{ __( 'Apply' ) }\n\t\t\t</ToolbarButton>\n\t\t\t<ToolbarButton onClick={ cancel }>{ __( 'Cancel' ) }</ToolbarButton>\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,sBAAsB,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEnD,eAAe,SAASC,YAAYA,CAAA,EAAG;EACtC,MAAM;IAAEC,YAAY;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGV,sBAAsB,CAAC,CAAC;EAChE,oBACCM,KAAA,CAAAF,SAAA;IAAAO,QAAA,gBACCT,IAAA,CAACJ,aAAa;MAACc,OAAO,EAAGH,KAAO;MAACI,QAAQ,EAAGL,YAAc;MAAAG,QAAA,EACvDZ,EAAE,CAAE,OAAQ;IAAC,CACD,CAAC,eAChBG,IAAA,CAACJ,aAAa;MAACc,OAAO,EAAGF,MAAQ;MAAAC,QAAA,EAAGZ,EAAE,CAAE,QAAS;IAAC,CAAiB,CAAC;EAAA,CACnE,CAAC;AAEL","ignoreList":[]}
1
+ {"version":3,"names":["ToolbarButton","__","useImageEditingContext","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","FormControls","isInProgress","apply","cancel","children","onClick","disabled"],"sources":["@wordpress/block-editor/src/components/image-editor/form-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarButton } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useImageEditingContext } from './context';\n\nexport default function FormControls() {\n\tconst { isInProgress, apply, cancel } = useImageEditingContext();\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton onClick={ apply } disabled={ isInProgress }>\n\t\t\t\t{ __( 'Apply' ) }\n\t\t\t</ToolbarButton>\n\t\t\t<ToolbarButton onClick={ cancel }>{ __( 'Cancel' ) }</ToolbarButton>\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,sBAAsB,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAEnD,eAAe,SAASC,YAAYA,CAAA,EAAG;EACtC,MAAM;IAAEC,YAAY;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGV,sBAAsB,CAAC,CAAC;EAChE,oBACCM,KAAA,CAAAF,SAAA;IAAAO,QAAA,gBACCT,IAAA,CAACJ,aAAa;MAACc,OAAO,EAAGH,KAAO;MAACI,QAAQ,EAAGL,YAAc;MAAAG,QAAA,EACvDZ,EAAE,CAAE,OAAQ;IAAC,CACD,CAAC,eAChBG,IAAA,CAACJ,aAAa;MAACc,OAAO,EAAGF,MAAQ;MAAAC,QAAA,EAAGZ,EAAE,CAAE,QAAS;IAAC,CAAiB,CAAC;EAAA,CACnE,CAAC;AAEL","ignoreList":[]}
@@ -13,8 +13,7 @@ import Cropper from './cropper';
13
13
  import ZoomDropdown from './zoom-dropdown';
14
14
  import RotationButton from './rotation-button';
15
15
  import FormControls from './form-controls';
16
- import { jsx as _jsx } from "react/jsx-runtime";
17
- import { jsxs as _jsxs } from "react/jsx-runtime";
16
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
17
  export default function ImageEditor({
19
18
  id,
20
19
  url,
@@ -1 +1 @@
1
- {"version":3,"names":["ToolbarGroup","ToolbarItem","AspectRatioDropdown","BlockControls","ImageEditingProvider","Cropper","ZoomDropdown","RotationButton","FormControls","jsx","_jsx","jsxs","_jsxs","ImageEditor","id","url","width","height","naturalHeight","naturalWidth","onSaveImage","onFinishEditing","borderProps","children","toggleProps"],"sources":["@wordpress/block-editor/src/components/image-editor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarGroup, ToolbarItem } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport AspectRatioDropdown from './aspect-ratio-dropdown';\nimport BlockControls from '../block-controls';\nimport ImageEditingProvider from './context';\nimport Cropper from './cropper';\nimport ZoomDropdown from './zoom-dropdown';\nimport RotationButton from './rotation-button';\nimport FormControls from './form-controls';\n\nexport default function ImageEditor( {\n\tid,\n\turl,\n\twidth,\n\theight,\n\tnaturalHeight,\n\tnaturalWidth,\n\tonSaveImage,\n\tonFinishEditing,\n\tborderProps,\n} ) {\n\treturn (\n\t\t<ImageEditingProvider\n\t\t\tid={ id }\n\t\t\turl={ url }\n\t\t\tnaturalWidth={ naturalWidth }\n\t\t\tnaturalHeight={ naturalHeight }\n\t\t\tonSaveImage={ onSaveImage }\n\t\t\tonFinishEditing={ onFinishEditing }\n\t\t>\n\t\t\t<Cropper\n\t\t\t\tborderProps={ borderProps }\n\t\t\t\turl={ url }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t/>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ZoomDropdown />\n\t\t\t\t\t<ToolbarItem>\n\t\t\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t\t\t<AspectRatioDropdown toggleProps={ toggleProps } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarItem>\n\t\t\t\t\t<RotationButton />\n\t\t\t\t</ToolbarGroup>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<FormControls />\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t</ImageEditingProvider>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,EAAEC,WAAW,QAAQ,uBAAuB;;AAEjE;AACA;AACA;AACA,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,oBAAoB,MAAM,WAAW;AAC5C,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,YAAY,MAAM,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE3C,eAAe,SAASC,WAAWA,CAAE;EACpCC,EAAE;EACFC,GAAG;EACHC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,YAAY;EACZC,WAAW;EACXC,eAAe;EACfC;AACD,CAAC,EAAG;EACH,oBACCV,KAAA,CAACR,oBAAoB;IACpBU,EAAE,EAAGA,EAAI;IACTC,GAAG,EAAGA,GAAK;IACXI,YAAY,EAAGA,YAAc;IAC7BD,aAAa,EAAGA,aAAe;IAC/BE,WAAW,EAAGA,WAAa;IAC3BC,eAAe,EAAGA,eAAiB;IAAAE,QAAA,gBAEnCb,IAAA,CAACL,OAAO;MACPiB,WAAW,EAAGA,WAAa;MAC3BP,GAAG,EAAGA,GAAK;MACXC,KAAK,EAAGA,KAAO;MACfC,MAAM,EAAGA,MAAQ;MACjBC,aAAa,EAAGA,aAAe;MAC/BC,YAAY,EAAGA;IAAc,CAC7B,CAAC,eACFP,KAAA,CAACT,aAAa;MAAAoB,QAAA,gBACbX,KAAA,CAACZ,YAAY;QAAAuB,QAAA,gBACZb,IAAA,CAACJ,YAAY,IAAE,CAAC,eAChBI,IAAA,CAACT,WAAW;UAAAsB,QAAA,EACPC,WAAW,iBACdd,IAAA,CAACR,mBAAmB;YAACsB,WAAW,EAAGA;UAAa,CAAE;QAClD,CACW,CAAC,eACdd,IAAA,CAACH,cAAc,IAAE,CAAC;MAAA,CACL,CAAC,eACfG,IAAA,CAACV,YAAY;QAAAuB,QAAA,eACZb,IAAA,CAACF,YAAY,IAAE;MAAC,CACH,CAAC;IAAA,CACD,CAAC;EAAA,CACK,CAAC;AAEzB","ignoreList":[]}
1
+ {"version":3,"names":["ToolbarGroup","ToolbarItem","AspectRatioDropdown","BlockControls","ImageEditingProvider","Cropper","ZoomDropdown","RotationButton","FormControls","jsx","_jsx","jsxs","_jsxs","ImageEditor","id","url","width","height","naturalHeight","naturalWidth","onSaveImage","onFinishEditing","borderProps","children","toggleProps"],"sources":["@wordpress/block-editor/src/components/image-editor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarGroup, ToolbarItem } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport AspectRatioDropdown from './aspect-ratio-dropdown';\nimport BlockControls from '../block-controls';\nimport ImageEditingProvider from './context';\nimport Cropper from './cropper';\nimport ZoomDropdown from './zoom-dropdown';\nimport RotationButton from './rotation-button';\nimport FormControls from './form-controls';\n\nexport default function ImageEditor( {\n\tid,\n\turl,\n\twidth,\n\theight,\n\tnaturalHeight,\n\tnaturalWidth,\n\tonSaveImage,\n\tonFinishEditing,\n\tborderProps,\n} ) {\n\treturn (\n\t\t<ImageEditingProvider\n\t\t\tid={ id }\n\t\t\turl={ url }\n\t\t\tnaturalWidth={ naturalWidth }\n\t\t\tnaturalHeight={ naturalHeight }\n\t\t\tonSaveImage={ onSaveImage }\n\t\t\tonFinishEditing={ onFinishEditing }\n\t\t>\n\t\t\t<Cropper\n\t\t\t\tborderProps={ borderProps }\n\t\t\t\turl={ url }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t/>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ZoomDropdown />\n\t\t\t\t\t<ToolbarItem>\n\t\t\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t\t\t<AspectRatioDropdown toggleProps={ toggleProps } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarItem>\n\t\t\t\t\t<RotationButton />\n\t\t\t\t</ToolbarGroup>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<FormControls />\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t</ImageEditingProvider>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,EAAEC,WAAW,QAAQ,uBAAuB;;AAEjE;AACA;AACA;AACA,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,oBAAoB,MAAM,WAAW;AAC5C,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,YAAY,MAAM,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3C,eAAe,SAASC,WAAWA,CAAE;EACpCC,EAAE;EACFC,GAAG;EACHC,KAAK;EACLC,MAAM;EACNC,aAAa;EACbC,YAAY;EACZC,WAAW;EACXC,eAAe;EACfC;AACD,CAAC,EAAG;EACH,oBACCV,KAAA,CAACR,oBAAoB;IACpBU,EAAE,EAAGA,EAAI;IACTC,GAAG,EAAGA,GAAK;IACXI,YAAY,EAAGA,YAAc;IAC7BD,aAAa,EAAGA,aAAe;IAC/BE,WAAW,EAAGA,WAAa;IAC3BC,eAAe,EAAGA,eAAiB;IAAAE,QAAA,gBAEnCb,IAAA,CAACL,OAAO;MACPiB,WAAW,EAAGA,WAAa;MAC3BP,GAAG,EAAGA,GAAK;MACXC,KAAK,EAAGA,KAAO;MACfC,MAAM,EAAGA,MAAQ;MACjBC,aAAa,EAAGA,aAAe;MAC/BC,YAAY,EAAGA;IAAc,CAC7B,CAAC,eACFP,KAAA,CAACT,aAAa;MAAAoB,QAAA,gBACbX,KAAA,CAACZ,YAAY;QAAAuB,QAAA,gBACZb,IAAA,CAACJ,YAAY,IAAE,CAAC,eAChBI,IAAA,CAACT,WAAW;UAAAsB,QAAA,EACPC,WAAW,iBACdd,IAAA,CAACR,mBAAmB;YAACsB,WAAW,EAAGA;UAAa,CAAE;QAClD,CACW,CAAC,eACdd,IAAA,CAACH,cAAc,IAAE,CAAC;MAAA,CACL,CAAC,eACfG,IAAA,CAACV,YAAY;QAAAuB,QAAA,eACZb,IAAA,CAACF,YAAY,IAAE;MAAC,CACH,CAAC;IAAA,CACD,CAAC;EAAA,CACK,CAAC;AAEzB","ignoreList":[]}
@@ -69,7 +69,7 @@ export default function useSaveImage({
69
69
  url: response.source_url
70
70
  });
71
71
  }).catch(error => {
72
- createErrorNotice(sprintf( /* translators: 1. Error message */
72
+ createErrorNotice(sprintf(/* translators: 1. Error message */
73
73
  __('Could not edit image. %s'), stripHTML(error.message)), {
74
74
  id: 'image-editing-error',
75
75
  type: 'snackbar'
@@ -1 +1 @@
1
- {"version":3,"names":["apiFetch","useDispatch","useCallback","useMemo","useState","__","sprintf","store","noticesStore","__unstableStripHTML","stripHTML","useSaveImage","crop","rotation","url","id","onSaveImage","onFinishEditing","createErrorNotice","isInProgress","setIsInProgress","cancel","apply","modifiers","push","type","args","angle","width","height","left","x","top","y","length","path","method","data","src","then","response","source_url","catch","error","message","finally"],"sources":["@wordpress/block-editor/src/components/image-editor/use-save-image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport apiFetch from '@wordpress/api-fetch';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\nexport default function useSaveImage( {\n\tcrop,\n\trotation,\n\turl,\n\tid,\n\tonSaveImage,\n\tonFinishEditing,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst [ isInProgress, setIsInProgress ] = useState( false );\n\n\tconst cancel = useCallback( () => {\n\t\tsetIsInProgress( false );\n\t\tonFinishEditing();\n\t}, [ onFinishEditing ] );\n\n\tconst apply = useCallback( () => {\n\t\tsetIsInProgress( true );\n\n\t\tconst modifiers = [];\n\n\t\tif ( rotation > 0 ) {\n\t\t\tmodifiers.push( {\n\t\t\t\ttype: 'rotate',\n\t\t\t\targs: {\n\t\t\t\t\tangle: rotation,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\t// The crop script may return some very small, sub-pixel values when the image was not cropped.\n\t\t// Crop only when the new size has changed by more than 0.1%.\n\t\tif ( crop.width < 99.9 || crop.height < 99.9 ) {\n\t\t\tmodifiers.push( {\n\t\t\t\ttype: 'crop',\n\t\t\t\targs: {\n\t\t\t\t\tleft: crop.x,\n\t\t\t\t\ttop: crop.y,\n\t\t\t\t\twidth: crop.width,\n\t\t\t\t\theight: crop.height,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tif ( modifiers.length === 0 ) {\n\t\t\t// No changes to apply.\n\t\t\tsetIsInProgress( false );\n\t\t\tonFinishEditing();\n\t\t\treturn;\n\t\t}\n\n\t\tapiFetch( {\n\t\t\tpath: `/wp/v2/media/${ id }/edit`,\n\t\t\tmethod: 'POST',\n\t\t\tdata: { src: url, modifiers },\n\t\t} )\n\t\t\t.then( ( response ) => {\n\t\t\t\tonSaveImage( {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\turl: response.source_url,\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: 1. Error message */\n\t\t\t\t\t\t__( 'Could not edit image. %s' ),\n\t\t\t\t\t\tstripHTML( error.message )\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'image-editing-error',\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.finally( () => {\n\t\t\t\tsetIsInProgress( false );\n\t\t\t\tonFinishEditing();\n\t\t\t} );\n\t}, [\n\t\tcrop,\n\t\trotation,\n\t\tid,\n\t\turl,\n\t\tonSaveImage,\n\t\tcreateErrorNotice,\n\t\tonFinishEditing,\n\t] );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tisInProgress,\n\t\t\tapply,\n\t\t\tcancel,\n\t\t} ),\n\t\t[ isInProgress, apply, cancel ]\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["apiFetch","useDispatch","useCallback","useMemo","useState","__","sprintf","store","noticesStore","__unstableStripHTML","stripHTML","useSaveImage","crop","rotation","url","id","onSaveImage","onFinishEditing","createErrorNotice","isInProgress","setIsInProgress","cancel","apply","modifiers","push","type","args","angle","width","height","left","x","top","y","length","path","method","data","src","then","response","source_url","catch","error","message","finally"],"sources":["@wordpress/block-editor/src/components/image-editor/use-save-image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n// Disable Reason: Needs to be refactored.\n// eslint-disable-next-line no-restricted-imports\nimport apiFetch from '@wordpress/api-fetch';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\nexport default function useSaveImage( {\n\tcrop,\n\trotation,\n\turl,\n\tid,\n\tonSaveImage,\n\tonFinishEditing,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst [ isInProgress, setIsInProgress ] = useState( false );\n\n\tconst cancel = useCallback( () => {\n\t\tsetIsInProgress( false );\n\t\tonFinishEditing();\n\t}, [ onFinishEditing ] );\n\n\tconst apply = useCallback( () => {\n\t\tsetIsInProgress( true );\n\n\t\tconst modifiers = [];\n\n\t\tif ( rotation > 0 ) {\n\t\t\tmodifiers.push( {\n\t\t\t\ttype: 'rotate',\n\t\t\t\targs: {\n\t\t\t\t\tangle: rotation,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\t// The crop script may return some very small, sub-pixel values when the image was not cropped.\n\t\t// Crop only when the new size has changed by more than 0.1%.\n\t\tif ( crop.width < 99.9 || crop.height < 99.9 ) {\n\t\t\tmodifiers.push( {\n\t\t\t\ttype: 'crop',\n\t\t\t\targs: {\n\t\t\t\t\tleft: crop.x,\n\t\t\t\t\ttop: crop.y,\n\t\t\t\t\twidth: crop.width,\n\t\t\t\t\theight: crop.height,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tif ( modifiers.length === 0 ) {\n\t\t\t// No changes to apply.\n\t\t\tsetIsInProgress( false );\n\t\t\tonFinishEditing();\n\t\t\treturn;\n\t\t}\n\n\t\tapiFetch( {\n\t\t\tpath: `/wp/v2/media/${ id }/edit`,\n\t\t\tmethod: 'POST',\n\t\t\tdata: { src: url, modifiers },\n\t\t} )\n\t\t\t.then( ( response ) => {\n\t\t\t\tonSaveImage( {\n\t\t\t\t\tid: response.id,\n\t\t\t\t\turl: response.source_url,\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: 1. Error message */\n\t\t\t\t\t\t__( 'Could not edit image. %s' ),\n\t\t\t\t\t\tstripHTML( error.message )\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'image-editing-error',\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.finally( () => {\n\t\t\t\tsetIsInProgress( false );\n\t\t\t\tonFinishEditing();\n\t\t\t} );\n\t}, [\n\t\tcrop,\n\t\trotation,\n\t\tid,\n\t\turl,\n\t\tonSaveImage,\n\t\tcreateErrorNotice,\n\t\tonFinishEditing,\n\t] );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tisInProgress,\n\t\t\tapply,\n\t\t\tcancel,\n\t\t} ),\n\t\t[ isInProgress, apply, cancel ]\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -17,9 +17,7 @@ import { BottomSheet, PanelBody } from '@wordpress/components';
17
17
  */
18
18
  import styles from './style.native.scss';
19
19
  import { blockSettingsScreens } from '../block-settings';
20
- import { jsx as _jsx } from "react/jsx-runtime";
21
- import { jsxs as _jsxs } from "react/jsx-runtime";
22
- import { Fragment as _Fragment } from "react/jsx-runtime";
20
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
23
21
  const LINK_DESTINATION_NONE = 'none';
24
22
  const LINK_DESTINATION_MEDIA = 'media';
25
23
  const LINK_DESTINATION_ATTACHMENT = 'attachment';
@@ -1 +1 @@
1
- {"version":3,"names":["useNavigation","useRoute","StyleSheet","__","Icon","check","chevronRight","usePreferredColorSchemeStyle","BottomSheet","PanelBody","styles","blockSettingsScreens","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LinkDestination","children","isSelected","label","onPress","value","valueStyle","optionIcon","optionIconDark","Cell","icon","iconStyle","flatten","unselectedOptionIcon","leftAlign","separatorType","ImageLinkDestinationsScreen","props","navigation","route","url","inputValue","imageUrl","attachmentPageUrl","linkDestination","params","goToLinkPicker","navigate","linkPicker","setLinkDestination","newLinkDestination","newUrl","settings","text","NavBar","BackButton","goBack","Heading","undefined","placeholderTextColor"],"sources":["@wordpress/block-editor/src/components/image-link-destinations/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { useNavigation, useRoute } from '@react-navigation/native';\nimport { StyleSheet } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon, check, chevronRight } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { BottomSheet, PanelBody } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.native.scss';\nimport { blockSettingsScreens } from '../block-settings';\n\nconst LINK_DESTINATION_NONE = 'none';\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\nconst LINK_DESTINATION_CUSTOM = 'custom';\n\nfunction LinkDestination( {\n\tchildren,\n\tisSelected,\n\tlabel,\n\tonPress,\n\tvalue,\n\tvalueStyle,\n} ) {\n\tconst optionIcon = usePreferredColorSchemeStyle(\n\t\tstyles.optionIcon,\n\t\tstyles.optionIconDark\n\t);\n\n\treturn (\n\t\t<BottomSheet.Cell\n\t\t\ticon={ check }\n\t\t\ticonStyle={ StyleSheet.flatten( [\n\t\t\t\toptionIcon,\n\t\t\t\t! isSelected && styles.unselectedOptionIcon,\n\t\t\t] ) }\n\t\t\tlabel={ label }\n\t\t\tleftAlign\n\t\t\tonPress={ onPress }\n\t\t\tvalue={ value }\n\t\t\tvalueStyle={ valueStyle }\n\t\t\tseparatorType=\"leftMargin\"\n\t\t>\n\t\t\t{ children }\n\t\t</BottomSheet.Cell>\n\t);\n}\n\nfunction ImageLinkDestinationsScreen( props ) {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst { url = '' } = props;\n\tconst {\n\t\tinputValue = url,\n\t\timageUrl,\n\t\tattachmentPageUrl,\n\t\tlinkDestination,\n\t} = route.params || {};\n\n\tfunction goToLinkPicker() {\n\t\tnavigation.navigate( blockSettingsScreens.linkPicker, {\n\t\t\tinputValue:\n\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM ? inputValue : '',\n\t\t} );\n\t}\n\n\tconst setLinkDestination = ( newLinkDestination ) => () => {\n\t\tlet newUrl;\n\t\tswitch ( newLinkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\tnewUrl = imageUrl;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\tnewUrl = attachmentPageUrl;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tnewUrl = '';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tnavigation.navigate( blockSettingsScreens.settings, {\n\t\t\t// The `inputValue` name is reused from LinkPicker, as it helps avoid\n\t\t\t// bugs from stale values remaining in the React Navigation route\n\t\t\t// parameters.\n\t\t\tinputValue: newUrl,\n\t\t\t// Clear link text value that may be set from LinkPicker.\n\t\t\ttext: '',\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BottomSheet.NavBar>\n\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ navigation.goBack } />\n\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t{ __( 'Link To' ) }\n\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t</BottomSheet.NavBar>\n\t\t\t<PanelBody>\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_NONE }\n\t\t\t\t\tlabel={ __( 'None' ) }\n\t\t\t\t\tonPress={ setLinkDestination( LINK_DESTINATION_NONE ) }\n\t\t\t\t/>\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_MEDIA }\n\t\t\t\t\tlabel={ __( 'Media File' ) }\n\t\t\t\t\tonPress={ setLinkDestination( LINK_DESTINATION_MEDIA ) }\n\t\t\t\t/>\n\t\t\t\t{ !! attachmentPageUrl && (\n\t\t\t\t\t<LinkDestination\n\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_ATTACHMENT\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Attachment Page' ) }\n\t\t\t\t\t\tonPress={ setLinkDestination(\n\t\t\t\t\t\t\tLINK_DESTINATION_ATTACHMENT\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_CUSTOM }\n\t\t\t\t\tlabel={ __( 'Custom URL' ) }\n\t\t\t\t\tonPress={ goToLinkPicker }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM\n\t\t\t\t\t\t\t? inputValue\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t\tvalueStyle={\n\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM\n\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t: styles.placeholderTextColor\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t\t\t</LinkDestination>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default ImageLinkDestinationsScreen;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,0BAA0B;AAClE,SAASC,UAAU,QAAQ,cAAc;;AAEzC;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,EAAEC,KAAK,EAAEC,YAAY,QAAQ,kBAAkB;AAC5D,SAASC,4BAA4B,QAAQ,oBAAoB;AACjE,SAASC,WAAW,EAAEC,SAAS,QAAQ,uBAAuB;;AAE9D;AACA;AACA;AACA,OAAOC,MAAM,MAAM,qBAAqB;AACxC,SAASC,oBAAoB,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAEzD,MAAMC,qBAAqB,GAAG,MAAM;AACpC,MAAMC,sBAAsB,GAAG,OAAO;AACtC,MAAMC,2BAA2B,GAAG,YAAY;AAChD,MAAMC,uBAAuB,GAAG,QAAQ;AAExC,SAASC,eAAeA,CAAE;EACzBC,QAAQ;EACRC,UAAU;EACVC,KAAK;EACLC,OAAO;EACPC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,MAAMC,UAAU,GAAGtB,4BAA4B,CAC9CG,MAAM,CAACmB,UAAU,EACjBnB,MAAM,CAACoB,cACR,CAAC;EAED,oBACCjB,IAAA,CAACL,WAAW,CAACuB,IAAI;IAChBC,IAAI,EAAG3B,KAAO;IACd4B,SAAS,EAAG/B,UAAU,CAACgC,OAAO,CAAE,CAC/BL,UAAU,EACV,CAAEL,UAAU,IAAId,MAAM,CAACyB,oBAAoB,CAC1C,CAAG;IACLV,KAAK,EAAGA,KAAO;IACfW,SAAS;IACTV,OAAO,EAAGA,OAAS;IACnBC,KAAK,EAAGA,KAAO;IACfC,UAAU,EAAGA,UAAY;IACzBS,aAAa,EAAC,YAAY;IAAAd,QAAA,EAExBA;EAAQ,CACO,CAAC;AAErB;AAEA,SAASe,2BAA2BA,CAAEC,KAAK,EAAG;EAC7C,MAAMC,UAAU,GAAGxC,aAAa,CAAC,CAAC;EAClC,MAAMyC,KAAK,GAAGxC,QAAQ,CAAC,CAAC;EACxB,MAAM;IAAEyC,GAAG,GAAG;EAAG,CAAC,GAAGH,KAAK;EAC1B,MAAM;IACLI,UAAU,GAAGD,GAAG;IAChBE,QAAQ;IACRC,iBAAiB;IACjBC;EACD,CAAC,GAAGL,KAAK,CAACM,MAAM,IAAI,CAAC,CAAC;EAEtB,SAASC,cAAcA,CAAA,EAAG;IACzBR,UAAU,CAACS,QAAQ,CAAEtC,oBAAoB,CAACuC,UAAU,EAAE;MACrDP,UAAU,EACTG,eAAe,KAAKzB,uBAAuB,GAAGsB,UAAU,GAAG;IAC7D,CAAE,CAAC;EACJ;EAEA,MAAMQ,kBAAkB,GAAKC,kBAAkB,IAAM,MAAM;IAC1D,IAAIC,MAAM;IACV,QAASD,kBAAkB;MAC1B,KAAKjC,sBAAsB;QAC1BkC,MAAM,GAAGT,QAAQ;QACjB;MACD,KAAKxB,2BAA2B;QAC/BiC,MAAM,GAAGR,iBAAiB;QAC1B;MACD;QACCQ,MAAM,GAAG,EAAE;QACX;IACF;IAEAb,UAAU,CAACS,QAAQ,CAAEtC,oBAAoB,CAAC2C,QAAQ,EAAE;MACnD;MACA;MACA;MACAX,UAAU,EAAEU,MAAM;MAClB;MACAE,IAAI,EAAE;IACP,CAAE,CAAC;EACJ,CAAC;EAED,oBACCxC,KAAA,CAAAE,SAAA;IAAAM,QAAA,gBACCR,KAAA,CAACP,WAAW,CAACgD,MAAM;MAAAjC,QAAA,gBAClBV,IAAA,CAACL,WAAW,CAACgD,MAAM,CAACC,UAAU;QAAC/B,OAAO,EAAGc,UAAU,CAACkB;MAAQ,CAAE,CAAC,eAC/D7C,IAAA,CAACL,WAAW,CAACgD,MAAM,CAACG,OAAO;QAAApC,QAAA,EACxBpB,EAAE,CAAE,SAAU;MAAC,CACU,CAAC;IAAA,CACV,CAAC,eACrBY,KAAA,CAACN,SAAS;MAAAc,QAAA,gBACTV,IAAA,CAACS,eAAe;QACfE,UAAU,EAAGsB,eAAe,KAAK5B,qBAAuB;QACxDO,KAAK,EAAGtB,EAAE,CAAE,MAAO,CAAG;QACtBuB,OAAO,EAAGyB,kBAAkB,CAAEjC,qBAAsB;MAAG,CACvD,CAAC,eACFL,IAAA,CAACS,eAAe;QACfE,UAAU,EAAGsB,eAAe,KAAK3B,sBAAwB;QACzDM,KAAK,EAAGtB,EAAE,CAAE,YAAa,CAAG;QAC5BuB,OAAO,EAAGyB,kBAAkB,CAAEhC,sBAAuB;MAAG,CACxD,CAAC,EACA,CAAC,CAAE0B,iBAAiB,iBACrBhC,IAAA,CAACS,eAAe;QACfE,UAAU,EACTsB,eAAe,KAAK1B,2BACpB;QACDK,KAAK,EAAGtB,EAAE,CAAE,iBAAkB,CAAG;QACjCuB,OAAO,EAAGyB,kBAAkB,CAC3B/B,2BACD;MAAG,CACH,CACD,eACDP,IAAA,CAACS,eAAe;QACfE,UAAU,EAAGsB,eAAe,KAAKzB,uBAAyB;QAC1DI,KAAK,EAAGtB,EAAE,CAAE,YAAa,CAAG;QAC5BuB,OAAO,EAAGsB,cAAgB;QAC1BrB,KAAK,EACJmB,eAAe,KAAKzB,uBAAuB,GACxCsB,UAAU,GACV,EACH;QACDf,UAAU,EACTkB,eAAe,KAAKzB,uBAAuB,GACxCuC,SAAS,GACTlD,MAAM,CAACmD,oBACV;QAAAtC,QAAA,eAEDV,IAAA,CAACT,IAAI;UAAC4B,IAAI,EAAG1B;QAAc,CAAO;MAAC,CACnB,CAAC;IAAA,CACR,CAAC;EAAA,CACX,CAAC;AAEL;AAEA,eAAegC,2BAA2B","ignoreList":[]}
1
+ {"version":3,"names":["useNavigation","useRoute","StyleSheet","__","Icon","check","chevronRight","usePreferredColorSchemeStyle","BottomSheet","PanelBody","styles","blockSettingsScreens","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LinkDestination","children","isSelected","label","onPress","value","valueStyle","optionIcon","optionIconDark","Cell","icon","iconStyle","flatten","unselectedOptionIcon","leftAlign","separatorType","ImageLinkDestinationsScreen","props","navigation","route","url","inputValue","imageUrl","attachmentPageUrl","linkDestination","params","goToLinkPicker","navigate","linkPicker","setLinkDestination","newLinkDestination","newUrl","settings","text","NavBar","BackButton","goBack","Heading","undefined","placeholderTextColor"],"sources":["@wordpress/block-editor/src/components/image-link-destinations/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { useNavigation, useRoute } from '@react-navigation/native';\nimport { StyleSheet } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon, check, chevronRight } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { BottomSheet, PanelBody } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.native.scss';\nimport { blockSettingsScreens } from '../block-settings';\n\nconst LINK_DESTINATION_NONE = 'none';\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\nconst LINK_DESTINATION_CUSTOM = 'custom';\n\nfunction LinkDestination( {\n\tchildren,\n\tisSelected,\n\tlabel,\n\tonPress,\n\tvalue,\n\tvalueStyle,\n} ) {\n\tconst optionIcon = usePreferredColorSchemeStyle(\n\t\tstyles.optionIcon,\n\t\tstyles.optionIconDark\n\t);\n\n\treturn (\n\t\t<BottomSheet.Cell\n\t\t\ticon={ check }\n\t\t\ticonStyle={ StyleSheet.flatten( [\n\t\t\t\toptionIcon,\n\t\t\t\t! isSelected && styles.unselectedOptionIcon,\n\t\t\t] ) }\n\t\t\tlabel={ label }\n\t\t\tleftAlign\n\t\t\tonPress={ onPress }\n\t\t\tvalue={ value }\n\t\t\tvalueStyle={ valueStyle }\n\t\t\tseparatorType=\"leftMargin\"\n\t\t>\n\t\t\t{ children }\n\t\t</BottomSheet.Cell>\n\t);\n}\n\nfunction ImageLinkDestinationsScreen( props ) {\n\tconst navigation = useNavigation();\n\tconst route = useRoute();\n\tconst { url = '' } = props;\n\tconst {\n\t\tinputValue = url,\n\t\timageUrl,\n\t\tattachmentPageUrl,\n\t\tlinkDestination,\n\t} = route.params || {};\n\n\tfunction goToLinkPicker() {\n\t\tnavigation.navigate( blockSettingsScreens.linkPicker, {\n\t\t\tinputValue:\n\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM ? inputValue : '',\n\t\t} );\n\t}\n\n\tconst setLinkDestination = ( newLinkDestination ) => () => {\n\t\tlet newUrl;\n\t\tswitch ( newLinkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\tnewUrl = imageUrl;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\tnewUrl = attachmentPageUrl;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tnewUrl = '';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tnavigation.navigate( blockSettingsScreens.settings, {\n\t\t\t// The `inputValue` name is reused from LinkPicker, as it helps avoid\n\t\t\t// bugs from stale values remaining in the React Navigation route\n\t\t\t// parameters.\n\t\t\tinputValue: newUrl,\n\t\t\t// Clear link text value that may be set from LinkPicker.\n\t\t\ttext: '',\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<BottomSheet.NavBar>\n\t\t\t\t<BottomSheet.NavBar.BackButton onPress={ navigation.goBack } />\n\t\t\t\t<BottomSheet.NavBar.Heading>\n\t\t\t\t\t{ __( 'Link To' ) }\n\t\t\t\t</BottomSheet.NavBar.Heading>\n\t\t\t</BottomSheet.NavBar>\n\t\t\t<PanelBody>\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_NONE }\n\t\t\t\t\tlabel={ __( 'None' ) }\n\t\t\t\t\tonPress={ setLinkDestination( LINK_DESTINATION_NONE ) }\n\t\t\t\t/>\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_MEDIA }\n\t\t\t\t\tlabel={ __( 'Media File' ) }\n\t\t\t\t\tonPress={ setLinkDestination( LINK_DESTINATION_MEDIA ) }\n\t\t\t\t/>\n\t\t\t\t{ !! attachmentPageUrl && (\n\t\t\t\t\t<LinkDestination\n\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_ATTACHMENT\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Attachment Page' ) }\n\t\t\t\t\t\tonPress={ setLinkDestination(\n\t\t\t\t\t\t\tLINK_DESTINATION_ATTACHMENT\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<LinkDestination\n\t\t\t\t\tisSelected={ linkDestination === LINK_DESTINATION_CUSTOM }\n\t\t\t\t\tlabel={ __( 'Custom URL' ) }\n\t\t\t\t\tonPress={ goToLinkPicker }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM\n\t\t\t\t\t\t\t? inputValue\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t\tvalueStyle={\n\t\t\t\t\t\tlinkDestination === LINK_DESTINATION_CUSTOM\n\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t: styles.placeholderTextColor\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<Icon icon={ chevronRight }></Icon>\n\t\t\t\t</LinkDestination>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default ImageLinkDestinationsScreen;\n"],"mappings":"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","ignoreList":[]}
@@ -8,9 +8,7 @@ import { __ } from '@wordpress/i18n';
8
8
  * Internal dependencies
9
9
  */
10
10
  import useDimensionHandler from './use-dimension-handler';
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- import { jsxs as _jsxs } from "react/jsx-runtime";
13
- import { Fragment as _Fragment } from "react/jsx-runtime";
11
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
14
12
  const IMAGE_SIZE_PRESETS = [25, 50, 75, 100];
15
13
  const noop = () => {};
16
14
  export default function ImageSizeControl({
@@ -1 +1 @@
1
- {"version":3,"names":["Button","ButtonGroup","SelectControl","__experimentalNumberControl","NumberControl","__experimentalHStack","HStack","__","useDimensionHandler","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","IMAGE_SIZE_PRESETS","noop","ImageSizeControl","imageSizeHelp","imageWidth","imageHeight","imageSizeOptions","isResizable","slug","width","height","onChange","onChangeImage","currentHeight","currentWidth","updateDimension","updateDimensions","children","length","__nextHasNoMarginBottom","label","value","options","help","size","className","align","spacing","min","map","scale","scaledWidth","Math","round","scaledHeight","isCurrent","variant","undefined","isPressed","onClick"],"sources":["@wordpress/block-editor/src/components/image-size-control/index.js"],"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\tsize=\"small\"\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\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={ () => updateDimensions() }\n\t\t\t\t\t\t>\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Button","ButtonGroup","SelectControl","__experimentalNumberControl","NumberControl","__experimentalHStack","HStack","__","useDimensionHandler","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","IMAGE_SIZE_PRESETS","noop","ImageSizeControl","imageSizeHelp","imageWidth","imageHeight","imageSizeOptions","isResizable","slug","width","height","onChange","onChangeImage","currentHeight","currentWidth","updateDimension","updateDimensions","children","length","__nextHasNoMarginBottom","label","value","options","help","size","className","align","spacing","min","map","scale","scaledWidth","Math","round","scaledHeight","isCurrent","variant","undefined","isPressed","onClick"],"sources":["@wordpress/block-editor/src/components/image-size-control/index.js"],"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\tsize=\"small\"\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\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={ () => updateDimensions() }\n\t\t\t\t\t\t>\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"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,MAAM,EACNC,WAAW,EACXC,aAAa,EACbC,2BAA2B,IAAIC,aAAa,EAC5CC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,mBAAmB,MAAM,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAE1D,MAAMC,kBAAkB,GAAG,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAE;AAC9C,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,eAAe,SAASC,gBAAgBA,CAAE;EACzCC,aAAa;EACbC,UAAU;EACVC,WAAW;EACXC,gBAAgB,GAAG,EAAE;EACrBC,WAAW,GAAG,IAAI;EAClBC,IAAI;EACJC,KAAK;EACLC,MAAM;EACNC,QAAQ;EACRC,aAAa,GAAGX;AACjB,CAAC,EAAG;EACH,MAAM;IAAEY,aAAa;IAAEC,YAAY;IAAEC,eAAe;IAAEC;EAAiB,CAAC,GACvEvB,mBAAmB,CAAEiB,MAAM,EAAED,KAAK,EAAEJ,WAAW,EAAED,UAAU,EAAEO,QAAS,CAAC;EAExE,oBACCd,KAAA,CAAAE,SAAA;IAAAkB,QAAA,GACGX,gBAAgB,IAAIA,gBAAgB,CAACY,MAAM,GAAG,CAAC,iBAChDvB,IAAA,CAACR,aAAa;MACbgC,uBAAuB;MACvBC,KAAK,EAAG5B,EAAE,CAAE,YAAa,CAAG;MAC5B6B,KAAK,EAAGb,IAAM;MACdc,OAAO,EAAGhB,gBAAkB;MAC5BK,QAAQ,EAAGC,aAAe;MAC1BW,IAAI,EAAGpB,aAAe;MACtBqB,IAAI,EAAC;IAAkB,CACvB,CACD,EACCjB,WAAW,iBACZV,KAAA;MAAK4B,SAAS,EAAC,iCAAiC;MAAAR,QAAA,gBAC/CpB,KAAA,CAACN,MAAM;QAACmC,KAAK,EAAC,UAAU;QAACC,OAAO,EAAC,GAAG;QAAAV,QAAA,gBACnCtB,IAAA,CAACN,aAAa;UACboC,SAAS,EAAC,wCAAwC;UAClDL,KAAK,EAAG5B,EAAE,CAAE,OAAQ,CAAG;UACvB6B,KAAK,EAAGP,YAAc;UACtBc,GAAG,EAAG,CAAG;UACTjB,QAAQ,EAAKU,KAAK,IACjBN,eAAe,CAAE,OAAO,EAAEM,KAAM,CAChC;UACDG,IAAI,EAAC;QAAkB,CACvB,CAAC,eACF7B,IAAA,CAACN,aAAa;UACboC,SAAS,EAAC,yCAAyC;UACnDL,KAAK,EAAG5B,EAAE,CAAE,QAAS,CAAG;UACxB6B,KAAK,EAAGR,aAAe;UACvBe,GAAG,EAAG,CAAG;UACTjB,QAAQ,EAAKU,KAAK,IACjBN,eAAe,CAAE,QAAQ,EAAEM,KAAM,CACjC;UACDG,IAAI,EAAC;QAAkB,CACvB,CAAC;MAAA,CACK,CAAC,eACT3B,KAAA,CAACN,MAAM;QAAA0B,QAAA,gBACNtB,IAAA,CAACT,WAAW;UAAC,cAAaM,EAAE,CAAE,oBAAqB,CAAG;UAAAyB,QAAA,EACnDjB,kBAAkB,CAAC6B,GAAG,CAAIC,KAAK,IAAM;YACtC,MAAMC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAC7B7B,UAAU,IAAK0B,KAAK,GAAG,GAAG,CAC3B,CAAC;YACD,MAAMI,YAAY,GAAGF,IAAI,CAACC,KAAK,CAC9B5B,WAAW,IAAKyB,KAAK,GAAG,GAAG,CAC5B,CAAC;YAED,MAAMK,SAAS,GACdrB,YAAY,KAAKiB,WAAW,IAC5BlB,aAAa,KAAKqB,YAAY;YAE/B,oBACCrC,KAAA,CAACZ,MAAM;cAENuC,IAAI,EAAC,OAAO;cACZY,OAAO,EACND,SAAS,GAAG,SAAS,GAAGE,SACxB;cACDC,SAAS,EAAGH,SAAW;cACvBI,OAAO,EAAGA,CAAA,KACTvB,gBAAgB,CACfkB,YAAY,EACZH,WACD,CACA;cAAAd,QAAA,GAECa,KAAK,EAAE,GACV;YAAA,GAdOA,KAcC,CAAC;UAEX,CAAE;QAAC,CACS,CAAC,eACdnC,IAAA,CAACV,MAAM;UACNuC,IAAI,EAAC,OAAO;UACZe,OAAO,EAAGA,CAAA,KAAMvB,gBAAgB,CAAC,CAAG;UAAAC,QAAA,EAElCzB,EAAE,CAAE,OAAQ;QAAC,CACR,CAAC;MAAA,CACF,CAAC;IAAA,CACL,CACL;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useLayoutEffect, useMemo, useState } from '@wordpress/element';
4
+ import { useLayoutEffect, useState } from '@wordpress/element';
5
5
  import { useRegistry } from '@wordpress/data';
6
6
  import deprecated from '@wordpress/deprecated';
7
7
  import isShallowEqual from '@wordpress/is-shallow-equal';
@@ -15,12 +15,21 @@ import { getLayoutType } from '../../layouts';
15
15
  /** @typedef {import('../../selectors').WPDirectInsertBlock } WPDirectInsertBlock */
16
16
 
17
17
  const pendingSettingsUpdates = new WeakMap();
18
+
19
+ // Creates a memoizing caching function that remembers the last value and keeps returning it
20
+ // as long as the new values are shallowly equal. Helps keep dependencies stable.
21
+ function createShallowMemo() {
22
+ let value;
23
+ return newValue => {
24
+ if (value === undefined || !isShallowEqual(value, newValue)) {
25
+ value = newValue;
26
+ }
27
+ return value;
28
+ };
29
+ }
18
30
  function useShallowMemo(value) {
19
- const [prevValue, setPrevValue] = useState(value);
20
- if (!isShallowEqual(prevValue, value)) {
21
- setPrevValue(value);
22
- }
23
- return prevValue;
31
+ const [memo] = useState(createShallowMemo);
32
+ return memo(value);
24
33
  }
25
34
 
26
35
  /**
@@ -63,9 +72,7 @@ export default function useNestedSettingsUpdate(clientId, parentLock, allowedBlo
63
72
  // otherwise if the arrays change length but the first elements are equal the comparison,
64
73
  // does not works as expected.
65
74
  const _allowedBlocks = useShallowMemo(allowedBlocks);
66
- const _prioritizedInserterBlocks = useMemo(() => prioritizedInserterBlocks,
67
- // eslint-disable-next-line react-hooks/exhaustive-deps
68
- prioritizedInserterBlocks);
75
+ const _prioritizedInserterBlocks = useShallowMemo(prioritizedInserterBlocks);
69
76
  const _templateLock = templateLock === undefined || parentLock === 'contentOnly' ? parentLock : templateLock;
70
77
  useLayoutEffect(() => {
71
78
  const newSettings = {
@@ -1 +1 @@
1
- {"version":3,"names":["useLayoutEffect","useMemo","useState","useRegistry","deprecated","isShallowEqual","store","blockEditorStore","getLayoutType","pendingSettingsUpdates","WeakMap","useShallowMemo","value","prevValue","setPrevValue","useNestedSettingsUpdate","clientId","parentLock","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","templateLock","captureToolbars","orientation","layout","registry","_allowedBlocks","_prioritizedInserterBlocks","_templateLock","undefined","newSettings","__experimentalCaptureToolbars","layoutType","type","getOrientation","alternative","since","version","get","set","window","queueMicrotask","settings","Object","keys","length","updateBlockListSettings","dispatch"],"sources":["@wordpress/block-editor/src/components/inner-blocks/use-nested-settings-update.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useLayoutEffect, useMemo, useState } from '@wordpress/element';\nimport { useRegistry } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { getLayoutType } from '../../layouts';\n\n/** @typedef {import('../../selectors').WPDirectInsertBlock } WPDirectInsertBlock */\n\nconst pendingSettingsUpdates = new WeakMap();\n\nfunction useShallowMemo( value ) {\n\tconst [ prevValue, setPrevValue ] = useState( value );\n\tif ( ! isShallowEqual( prevValue, value ) ) {\n\t\tsetPrevValue( value );\n\t}\n\treturn prevValue;\n}\n\n/**\n * This hook is a side effect which updates the block-editor store when changes\n * happen to inner block settings. The given props are transformed into a\n * settings object, and if that is different from the current settings object in\n * the block-editor store, then the store is updated with the new settings which\n * came from props.\n *\n * @param {string} clientId The client ID of the block to update.\n * @param {string} parentLock\n * @param {string[]} allowedBlocks An array of block names which are permitted\n * in inner blocks.\n * @param {string[]} prioritizedInserterBlocks Block names and/or block variations to be prioritized in the inserter, in the format {blockName}/{variationName}.\n * @param {?WPDirectInsertBlock} defaultBlock The default block to insert: [ blockName, { blockAttributes } ].\n * @param {?boolean} directInsert If a default block should be inserted directly by the appender.\n *\n * @param {?WPDirectInsertBlock} __experimentalDefaultBlock A deprecated prop for the default block to insert: [ blockName, { blockAttributes } ]. Use `defaultBlock` instead.\n *\n * @param {?boolean} __experimentalDirectInsert A deprecated prop for whether a default block should be inserted directly by the appender. Use `directInsert` instead.\n *\n * @param {string} [templateLock] The template lock specified for the inner\n * blocks component. (e.g. \"all\")\n * @param {boolean} captureToolbars Whether or children toolbars should be shown\n * in the inner blocks component rather than on\n * the child block.\n * @param {string} orientation The direction in which the block\n * should face.\n * @param {Object} layout The layout object for the block container.\n */\nexport default function useNestedSettingsUpdate(\n\tclientId,\n\tparentLock,\n\tallowedBlocks,\n\tprioritizedInserterBlocks,\n\tdefaultBlock,\n\tdirectInsert,\n\t__experimentalDefaultBlock,\n\t__experimentalDirectInsert,\n\ttemplateLock,\n\tcaptureToolbars,\n\torientation,\n\tlayout\n) {\n\t// Instead of adding a useSelect mapping here, please add to the useSelect\n\t// mapping in InnerBlocks! Every subscription impacts performance.\n\n\tconst registry = useRegistry();\n\n\t// Implementors often pass a new array on every render,\n\t// and the contents of the arrays are just strings, so the entire array\n\t// can be passed as dependencies but We need to include the length of the array,\n\t// otherwise if the arrays change length but the first elements are equal the comparison,\n\t// does not works as expected.\n\tconst _allowedBlocks = useShallowMemo( allowedBlocks );\n\n\tconst _prioritizedInserterBlocks = useMemo(\n\t\t() => prioritizedInserterBlocks,\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\tprioritizedInserterBlocks\n\t);\n\n\tconst _templateLock =\n\t\ttemplateLock === undefined || parentLock === 'contentOnly'\n\t\t\t? parentLock\n\t\t\t: templateLock;\n\n\tuseLayoutEffect( () => {\n\t\tconst newSettings = {\n\t\t\tallowedBlocks: _allowedBlocks,\n\t\t\tprioritizedInserterBlocks: _prioritizedInserterBlocks,\n\t\t\ttemplateLock: _templateLock,\n\t\t};\n\n\t\t// These values are not defined for RN, so only include them if they\n\t\t// are defined.\n\t\tif ( captureToolbars !== undefined ) {\n\t\t\tnewSettings.__experimentalCaptureToolbars = captureToolbars;\n\t\t}\n\n\t\t// Orientation depends on layout,\n\t\t// ideally the separate orientation prop should be deprecated.\n\t\tif ( orientation !== undefined ) {\n\t\t\tnewSettings.orientation = orientation;\n\t\t} else {\n\t\t\tconst layoutType = getLayoutType( layout?.type );\n\t\t\tnewSettings.orientation = layoutType.getOrientation( layout );\n\t\t}\n\n\t\tif ( __experimentalDefaultBlock !== undefined ) {\n\t\t\tdeprecated( '__experimentalDefaultBlock', {\n\t\t\t\talternative: 'defaultBlock',\n\t\t\t\tsince: '6.3',\n\t\t\t\tversion: '6.4',\n\t\t\t} );\n\t\t\tnewSettings.defaultBlock = __experimentalDefaultBlock;\n\t\t}\n\n\t\tif ( defaultBlock !== undefined ) {\n\t\t\tnewSettings.defaultBlock = defaultBlock;\n\t\t}\n\n\t\tif ( __experimentalDirectInsert !== undefined ) {\n\t\t\tdeprecated( '__experimentalDirectInsert', {\n\t\t\t\talternative: 'directInsert',\n\t\t\t\tsince: '6.3',\n\t\t\t\tversion: '6.4',\n\t\t\t} );\n\t\t\tnewSettings.directInsert = __experimentalDirectInsert;\n\t\t}\n\n\t\tif ( directInsert !== undefined ) {\n\t\t\tnewSettings.directInsert = directInsert;\n\t\t}\n\n\t\tif (\n\t\t\tnewSettings.directInsert !== undefined &&\n\t\t\ttypeof newSettings.directInsert !== 'boolean'\n\t\t) {\n\t\t\tdeprecated( 'Using `Function` as a `directInsert` argument', {\n\t\t\t\talternative: '`boolean` values',\n\t\t\t\tsince: '6.5',\n\t\t\t} );\n\t\t}\n\n\t\t// Batch updates to block list settings to avoid triggering cascading renders\n\t\t// for each container block included in a tree and optimize initial render.\n\t\t// To avoid triggering updateBlockListSettings for each container block\n\t\t// causing X re-renderings for X container blocks,\n\t\t// we batch all the updatedBlockListSettings in a single \"data\" batch\n\t\t// which results in a single re-render.\n\t\tif ( ! pendingSettingsUpdates.get( registry ) ) {\n\t\t\tpendingSettingsUpdates.set( registry, {} );\n\t\t}\n\t\tpendingSettingsUpdates.get( registry )[ clientId ] = newSettings;\n\t\twindow.queueMicrotask( () => {\n\t\t\tconst settings = pendingSettingsUpdates.get( registry );\n\t\t\tif ( Object.keys( settings ).length ) {\n\t\t\t\tconst { updateBlockListSettings } =\n\t\t\t\t\tregistry.dispatch( blockEditorStore );\n\t\t\t\tupdateBlockListSettings( settings );\n\t\t\t\tpendingSettingsUpdates.set( registry, {} );\n\t\t\t}\n\t\t} );\n\t}, [\n\t\tclientId,\n\t\t_allowedBlocks,\n\t\t_prioritizedInserterBlocks,\n\t\t_templateLock,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout,\n\t\tregistry,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useLayoutEffect","useState","useRegistry","deprecated","isShallowEqual","store","blockEditorStore","getLayoutType","pendingSettingsUpdates","WeakMap","createShallowMemo","value","newValue","undefined","useShallowMemo","memo","useNestedSettingsUpdate","clientId","parentLock","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","templateLock","captureToolbars","orientation","layout","registry","_allowedBlocks","_prioritizedInserterBlocks","_templateLock","newSettings","__experimentalCaptureToolbars","layoutType","type","getOrientation","alternative","since","version","get","set","window","queueMicrotask","settings","Object","keys","length","updateBlockListSettings","dispatch"],"sources":["@wordpress/block-editor/src/components/inner-blocks/use-nested-settings-update.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useLayoutEffect, useState } from '@wordpress/element';\nimport { useRegistry } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { getLayoutType } from '../../layouts';\n\n/** @typedef {import('../../selectors').WPDirectInsertBlock } WPDirectInsertBlock */\n\nconst pendingSettingsUpdates = new WeakMap();\n\n// Creates a memoizing caching function that remembers the last value and keeps returning it\n// as long as the new values are shallowly equal. Helps keep dependencies stable.\nfunction createShallowMemo() {\n\tlet value;\n\treturn ( newValue ) => {\n\t\tif ( value === undefined || ! isShallowEqual( value, newValue ) ) {\n\t\t\tvalue = newValue;\n\t\t}\n\t\treturn value;\n\t};\n}\n\nfunction useShallowMemo( value ) {\n\tconst [ memo ] = useState( createShallowMemo );\n\treturn memo( value );\n}\n\n/**\n * This hook is a side effect which updates the block-editor store when changes\n * happen to inner block settings. The given props are transformed into a\n * settings object, and if that is different from the current settings object in\n * the block-editor store, then the store is updated with the new settings which\n * came from props.\n *\n * @param {string} clientId The client ID of the block to update.\n * @param {string} parentLock\n * @param {string[]} allowedBlocks An array of block names which are permitted\n * in inner blocks.\n * @param {string[]} prioritizedInserterBlocks Block names and/or block variations to be prioritized in the inserter, in the format {blockName}/{variationName}.\n * @param {?WPDirectInsertBlock} defaultBlock The default block to insert: [ blockName, { blockAttributes } ].\n * @param {?boolean} directInsert If a default block should be inserted directly by the appender.\n *\n * @param {?WPDirectInsertBlock} __experimentalDefaultBlock A deprecated prop for the default block to insert: [ blockName, { blockAttributes } ]. Use `defaultBlock` instead.\n *\n * @param {?boolean} __experimentalDirectInsert A deprecated prop for whether a default block should be inserted directly by the appender. Use `directInsert` instead.\n *\n * @param {string} [templateLock] The template lock specified for the inner\n * blocks component. (e.g. \"all\")\n * @param {boolean} captureToolbars Whether or children toolbars should be shown\n * in the inner blocks component rather than on\n * the child block.\n * @param {string} orientation The direction in which the block\n * should face.\n * @param {Object} layout The layout object for the block container.\n */\nexport default function useNestedSettingsUpdate(\n\tclientId,\n\tparentLock,\n\tallowedBlocks,\n\tprioritizedInserterBlocks,\n\tdefaultBlock,\n\tdirectInsert,\n\t__experimentalDefaultBlock,\n\t__experimentalDirectInsert,\n\ttemplateLock,\n\tcaptureToolbars,\n\torientation,\n\tlayout\n) {\n\t// Instead of adding a useSelect mapping here, please add to the useSelect\n\t// mapping in InnerBlocks! Every subscription impacts performance.\n\n\tconst registry = useRegistry();\n\n\t// Implementors often pass a new array on every render,\n\t// and the contents of the arrays are just strings, so the entire array\n\t// can be passed as dependencies but We need to include the length of the array,\n\t// otherwise if the arrays change length but the first elements are equal the comparison,\n\t// does not works as expected.\n\tconst _allowedBlocks = useShallowMemo( allowedBlocks );\n\tconst _prioritizedInserterBlocks = useShallowMemo(\n\t\tprioritizedInserterBlocks\n\t);\n\n\tconst _templateLock =\n\t\ttemplateLock === undefined || parentLock === 'contentOnly'\n\t\t\t? parentLock\n\t\t\t: templateLock;\n\n\tuseLayoutEffect( () => {\n\t\tconst newSettings = {\n\t\t\tallowedBlocks: _allowedBlocks,\n\t\t\tprioritizedInserterBlocks: _prioritizedInserterBlocks,\n\t\t\ttemplateLock: _templateLock,\n\t\t};\n\n\t\t// These values are not defined for RN, so only include them if they\n\t\t// are defined.\n\t\tif ( captureToolbars !== undefined ) {\n\t\t\tnewSettings.__experimentalCaptureToolbars = captureToolbars;\n\t\t}\n\n\t\t// Orientation depends on layout,\n\t\t// ideally the separate orientation prop should be deprecated.\n\t\tif ( orientation !== undefined ) {\n\t\t\tnewSettings.orientation = orientation;\n\t\t} else {\n\t\t\tconst layoutType = getLayoutType( layout?.type );\n\t\t\tnewSettings.orientation = layoutType.getOrientation( layout );\n\t\t}\n\n\t\tif ( __experimentalDefaultBlock !== undefined ) {\n\t\t\tdeprecated( '__experimentalDefaultBlock', {\n\t\t\t\talternative: 'defaultBlock',\n\t\t\t\tsince: '6.3',\n\t\t\t\tversion: '6.4',\n\t\t\t} );\n\t\t\tnewSettings.defaultBlock = __experimentalDefaultBlock;\n\t\t}\n\n\t\tif ( defaultBlock !== undefined ) {\n\t\t\tnewSettings.defaultBlock = defaultBlock;\n\t\t}\n\n\t\tif ( __experimentalDirectInsert !== undefined ) {\n\t\t\tdeprecated( '__experimentalDirectInsert', {\n\t\t\t\talternative: 'directInsert',\n\t\t\t\tsince: '6.3',\n\t\t\t\tversion: '6.4',\n\t\t\t} );\n\t\t\tnewSettings.directInsert = __experimentalDirectInsert;\n\t\t}\n\n\t\tif ( directInsert !== undefined ) {\n\t\t\tnewSettings.directInsert = directInsert;\n\t\t}\n\n\t\tif (\n\t\t\tnewSettings.directInsert !== undefined &&\n\t\t\ttypeof newSettings.directInsert !== 'boolean'\n\t\t) {\n\t\t\tdeprecated( 'Using `Function` as a `directInsert` argument', {\n\t\t\t\talternative: '`boolean` values',\n\t\t\t\tsince: '6.5',\n\t\t\t} );\n\t\t}\n\n\t\t// Batch updates to block list settings to avoid triggering cascading renders\n\t\t// for each container block included in a tree and optimize initial render.\n\t\t// To avoid triggering updateBlockListSettings for each container block\n\t\t// causing X re-renderings for X container blocks,\n\t\t// we batch all the updatedBlockListSettings in a single \"data\" batch\n\t\t// which results in a single re-render.\n\t\tif ( ! pendingSettingsUpdates.get( registry ) ) {\n\t\t\tpendingSettingsUpdates.set( registry, {} );\n\t\t}\n\t\tpendingSettingsUpdates.get( registry )[ clientId ] = newSettings;\n\t\twindow.queueMicrotask( () => {\n\t\t\tconst settings = pendingSettingsUpdates.get( registry );\n\t\t\tif ( Object.keys( settings ).length ) {\n\t\t\t\tconst { updateBlockListSettings } =\n\t\t\t\t\tregistry.dispatch( blockEditorStore );\n\t\t\t\tupdateBlockListSettings( settings );\n\t\t\t\tpendingSettingsUpdates.set( registry, {} );\n\t\t\t}\n\t\t} );\n\t}, [\n\t\tclientId,\n\t\t_allowedBlocks,\n\t\t_prioritizedInserterBlocks,\n\t\t_templateLock,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tlayout,\n\t\tregistry,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -19,8 +19,7 @@ import { store as blockEditorStore } from '../../store';
19
19
  import { MAX_NESTING_DEPTH } from './constants';
20
20
  import useUnsupportedBlockEditor from '../use-unsupported-block-editor';
21
21
  import { useConvertToGroupButtons, useConvertToGroupButtonProps } from '../convert-to-group-buttons';
22
- import { jsx as _jsx } from "react/jsx-runtime";
23
- import { jsxs as _jsxs } from "react/jsx-runtime";
22
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
23
  const EMPTY_ARRAY = [];
25
24
  const WarningMaxDepthExceeded = ({
26
25
  clientId