@wordpress/block-editor 12.25.0 → 13.0.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 (1876) hide show
  1. package/CHANGELOG.md +15 -3
  2. package/README.md +7 -1
  3. package/build/autocompleters/block.js +7 -6
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/autocompleters/link.js +10 -8
  6. package/build/autocompleters/link.js.map +1 -1
  7. package/build/components/alignment-control/index.js +3 -3
  8. package/build/components/alignment-control/index.js.map +1 -1
  9. package/build/components/alignment-control/ui.js +2 -2
  10. package/build/components/alignment-control/ui.js.map +1 -1
  11. package/build/components/audio-player/audio-url-parser.native.js +24 -0
  12. package/build/components/audio-player/audio-url-parser.native.js.map +1 -0
  13. package/build/components/audio-player/index.native.js +174 -0
  14. package/build/components/audio-player/index.native.js.map +1 -0
  15. package/build/components/autocomplete/index.js +3 -4
  16. package/build/components/autocomplete/index.js.map +1 -1
  17. package/build/components/block-actions/index.js +4 -2
  18. package/build/components/block-actions/index.js.map +1 -1
  19. package/build/components/block-alignment-control/index.js +3 -3
  20. package/build/components/block-alignment-control/index.js.map +1 -1
  21. package/build/components/block-alignment-control/ui.js +34 -31
  22. package/build/components/block-alignment-control/ui.js.map +1 -1
  23. package/build/components/block-alignment-control/ui.native.js +2 -2
  24. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  25. package/build/components/block-alignment-matrix-control/index.js +5 -5
  26. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  27. package/build/components/block-bindings-toolbar-indicator/index.js +92 -11
  28. package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  29. package/build/components/block-breadcrumb/index.js +38 -34
  30. package/build/components/block-breadcrumb/index.js.map +1 -1
  31. package/build/components/block-canvas/index.js +36 -31
  32. package/build/components/block-canvas/index.js.map +1 -1
  33. package/build/components/block-caption/index.native.js +15 -14
  34. package/build/components/block-caption/index.native.js.map +1 -1
  35. package/build/components/block-card/index.js +33 -28
  36. package/build/components/block-card/index.js.map +1 -1
  37. package/build/components/block-compare/block-view.js +27 -18
  38. package/build/components/block-compare/block-view.js.map +1 -1
  39. package/build/components/block-compare/index.js +25 -24
  40. package/build/components/block-compare/index.js.map +1 -1
  41. package/build/components/block-context/index.js +3 -4
  42. package/build/components/block-context/index.js.map +1 -1
  43. package/build/components/block-controls/fill.js +22 -16
  44. package/build/components/block-controls/fill.js.map +1 -1
  45. package/build/components/block-controls/index.js +3 -3
  46. package/build/components/block-controls/index.js.map +1 -1
  47. package/build/components/block-controls/slot.js +6 -4
  48. package/build/components/block-controls/slot.js.map +1 -1
  49. package/build/components/block-controls/slot.native.js +12 -9
  50. package/build/components/block-controls/slot.native.js.map +1 -1
  51. package/build/components/block-controls/use-has-block-controls.js +1 -1
  52. package/build/components/block-controls/use-has-block-controls.js.map +1 -1
  53. package/build/components/block-draggable/draggable-chip.js +27 -19
  54. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  55. package/build/components/block-draggable/draggable-chip.native.js +9 -8
  56. package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
  57. package/build/components/block-draggable/dropping-insertion-point.native.js +3 -4
  58. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  59. package/build/components/block-draggable/index.js +14 -13
  60. package/build/components/block-draggable/index.js.map +1 -1
  61. package/build/components/block-draggable/index.native.js +37 -30
  62. package/build/components/block-draggable/index.native.js.map +1 -1
  63. package/build/components/block-edit/edit.js +7 -8
  64. package/build/components/block-edit/edit.js.map +1 -1
  65. package/build/components/block-edit/edit.native.js +3 -4
  66. package/build/components/block-edit/edit.native.js.map +1 -1
  67. package/build/components/block-edit/index.js +17 -9
  68. package/build/components/block-edit/index.js.map +1 -1
  69. package/build/components/block-edit/multiple-usage-warning.js +47 -0
  70. package/build/components/block-edit/multiple-usage-warning.js.map +1 -0
  71. package/build/components/block-edit-visually-button/index.js +9 -6
  72. package/build/components/block-edit-visually-button/index.js.map +1 -1
  73. package/build/components/block-full-height-alignment-control/index.js +2 -2
  74. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  75. package/build/components/block-heading-level-dropdown/heading-level-icon.js +3 -5
  76. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  77. package/build/components/block-heading-level-dropdown/index.js +4 -4
  78. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  79. package/build/components/block-heading-level-dropdown/index.native.js +4 -4
  80. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  81. package/build/components/block-icon/index.js +8 -7
  82. package/build/components/block-icon/index.js.map +1 -1
  83. package/build/components/block-icon/index.native.js +6 -5
  84. package/build/components/block-icon/index.native.js.map +1 -1
  85. package/build/components/block-info-slot-fill/index.js +3 -3
  86. package/build/components/block-info-slot-fill/index.js.map +1 -1
  87. package/build/components/block-inspector/index.js +103 -89
  88. package/build/components/block-inspector/index.js.map +1 -1
  89. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  90. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  91. package/build/components/block-list/block-crash-warning.js +5 -4
  92. package/build/components/block-list/block-crash-warning.js.map +1 -1
  93. package/build/components/block-list/block-crash-warning.native.js +2 -2
  94. package/build/components/block-list/block-crash-warning.native.js.map +1 -1
  95. package/build/components/block-list/block-html.js +2 -2
  96. package/build/components/block-list/block-html.js.map +1 -1
  97. package/build/components/block-list/block-invalid-warning.js +25 -21
  98. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  99. package/build/components/block-list/block-invalid-warning.native.js +12 -11
  100. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  101. package/build/components/block-list/block-list-item-cell.native.js +5 -4
  102. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  103. package/build/components/block-list/block-list-item.native.js +29 -28
  104. package/build/components/block-list/block-list-item.native.js.map +1 -1
  105. package/build/components/block-list/block-outline.native.js +2 -2
  106. package/build/components/block-list/block-outline.native.js.map +1 -1
  107. package/build/components/block-list/block-selection-button.native.js +35 -33
  108. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  109. package/build/components/block-list/block.js +110 -65
  110. package/build/components/block-list/block.js.map +1 -1
  111. package/build/components/block-list/block.native.js +65 -56
  112. package/build/components/block-list/block.native.js.map +1 -1
  113. package/build/components/block-list/grid-item.native.js +5 -4
  114. package/build/components/block-list/grid-item.native.js.map +1 -1
  115. package/build/components/block-list/index.js +40 -36
  116. package/build/components/block-list/index.js.map +1 -1
  117. package/build/components/block-list/index.native.js +97 -85
  118. package/build/components/block-list/index.native.js.map +1 -1
  119. package/build/components/block-list/insertion-point.native.js +12 -10
  120. package/build/components/block-list/insertion-point.native.js.map +1 -1
  121. package/build/components/block-list/layout.js +7 -3
  122. package/build/components/block-list/layout.js.map +1 -1
  123. package/build/components/block-list/subdirectory-icon.js +8 -7
  124. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  125. package/build/components/block-list/use-block-props/index.js +6 -3
  126. package/build/components/block-list/use-block-props/index.js.map +1 -1
  127. package/build/components/block-list/use-block-props/use-scroll-into-view.js +44 -0
  128. package/build/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
  129. package/build/components/block-list-appender/index.js +11 -10
  130. package/build/components/block-list-appender/index.js.map +1 -1
  131. package/build/components/block-list-appender/index.native.js +4 -4
  132. package/build/components/block-list-appender/index.native.js.map +1 -1
  133. package/build/components/block-lock/menu-item.js +13 -10
  134. package/build/components/block-lock/menu-item.js.map +1 -1
  135. package/build/components/block-lock/modal.js +107 -90
  136. package/build/components/block-lock/modal.js.map +1 -1
  137. package/build/components/block-lock/toolbar.js +18 -15
  138. package/build/components/block-lock/toolbar.js.map +1 -1
  139. package/build/components/block-media-update-progress/index.native.js +17 -15
  140. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  141. package/build/components/block-mover/button.js +20 -17
  142. package/build/components/block-mover/button.js.map +1 -1
  143. package/build/components/block-mover/index.js +36 -29
  144. package/build/components/block-mover/index.js.map +1 -1
  145. package/build/components/block-mover/index.native.js +29 -27
  146. package/build/components/block-mover/index.native.js.map +1 -1
  147. package/build/components/block-navigation/dropdown.js +11 -9
  148. package/build/components/block-navigation/dropdown.js.map +1 -1
  149. package/build/components/block-parent-selector/index.js +14 -15
  150. package/build/components/block-parent-selector/index.js.map +1 -1
  151. package/build/components/block-pattern-setup/index.js +88 -76
  152. package/build/components/block-pattern-setup/index.js.map +1 -1
  153. package/build/components/block-pattern-setup/setup-toolbar.js +50 -45
  154. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  155. package/build/components/block-patterns-list/index.js +119 -88
  156. package/build/components/block-patterns-list/index.js.map +1 -1
  157. package/build/components/block-patterns-paging/index.js +70 -52
  158. package/build/components/block-patterns-paging/index.js.map +1 -1
  159. package/build/components/block-popover/cover.js +19 -13
  160. package/build/components/block-popover/cover.js.map +1 -1
  161. package/build/components/block-popover/drop-zone.js +11 -10
  162. package/build/components/block-popover/drop-zone.js.map +1 -1
  163. package/build/components/block-popover/inbetween.js +10 -9
  164. package/build/components/block-popover/inbetween.js.map +1 -1
  165. package/build/components/block-popover/index.js +28 -8
  166. package/build/components/block-popover/index.js.map +1 -1
  167. package/build/components/block-preview/auto.js +53 -47
  168. package/build/components/block-preview/auto.js.map +1 -1
  169. package/build/components/block-preview/index.js +18 -16
  170. package/build/components/block-preview/index.js.map +1 -1
  171. package/build/components/block-quick-navigation/index.js +24 -16
  172. package/build/components/block-quick-navigation/index.js.map +1 -1
  173. package/build/components/block-removal-warning-modal/index.js +18 -12
  174. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  175. package/build/components/block-rename/modal.js +44 -37
  176. package/build/components/block-rename/modal.js.map +1 -1
  177. package/build/components/block-rename/rename-control.js +24 -21
  178. package/build/components/block-rename/rename-control.js.map +1 -1
  179. package/build/components/block-selection-clearer/index.js +2 -2
  180. package/build/components/block-selection-clearer/index.js.map +1 -1
  181. package/build/components/block-settings/button.native.js +13 -9
  182. package/build/components/block-settings/button.native.js.map +1 -1
  183. package/build/components/block-settings/container.native.js +40 -28
  184. package/build/components/block-settings/container.native.js.map +1 -1
  185. package/build/components/block-settings-menu/block-html-convert-button.js +5 -4
  186. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  187. package/build/components/block-settings-menu/block-mode-toggle.js +5 -4
  188. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  189. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +7 -6
  190. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  191. package/build/components/block-settings-menu/block-settings-dropdown.js +99 -78
  192. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  193. package/build/components/block-settings-menu/index.js +10 -6
  194. package/build/components/block-settings-menu/index.js.map +1 -1
  195. package/build/components/block-settings-menu-controls/index.js +37 -29
  196. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  197. package/build/components/block-styles/index.js +44 -39
  198. package/build/components/block-styles/index.js.map +1 -1
  199. package/build/components/block-styles/index.native.js +7 -7
  200. package/build/components/block-styles/index.native.js.map +1 -1
  201. package/build/components/block-styles/menu-items.js +17 -14
  202. package/build/components/block-styles/menu-items.js.map +1 -1
  203. package/build/components/block-styles/preview-panel.js +2 -2
  204. package/build/components/block-styles/preview-panel.js.map +1 -1
  205. package/build/components/block-styles/preview.native.js +24 -21
  206. package/build/components/block-styles/preview.native.js.map +1 -1
  207. package/build/components/block-switcher/block-styles-menu.js +8 -7
  208. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  209. package/build/components/block-switcher/block-transformations-menu.js +32 -30
  210. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  211. package/build/components/block-switcher/block-transformations-menu.native.js +2 -2
  212. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  213. package/build/components/block-switcher/block-variation-transformations.js +19 -17
  214. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  215. package/build/components/block-switcher/index.js +85 -70
  216. package/build/components/block-switcher/index.js.map +1 -1
  217. package/build/components/block-switcher/pattern-transformations-menu.js +61 -51
  218. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  219. package/build/components/block-switcher/preview-block-popover.js +22 -17
  220. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  221. package/build/components/block-toolbar/block-toolbar-menu.native.js +38 -34
  222. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  223. package/build/components/block-toolbar/index.js +56 -46
  224. package/build/components/block-toolbar/index.js.map +1 -1
  225. package/build/components/block-toolbar/index.native.js +27 -21
  226. package/build/components/block-toolbar/index.native.js.map +1 -1
  227. package/build/components/block-toolbar/shuffle.js +7 -5
  228. package/build/components/block-toolbar/shuffle.js.map +1 -1
  229. package/build/components/block-tools/block-selection-button.js +63 -50
  230. package/build/components/block-tools/block-selection-button.js.map +1 -1
  231. package/build/components/block-tools/block-toolbar-breadcrumb.js +11 -10
  232. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  233. package/build/components/block-tools/block-toolbar-popover.js +17 -16
  234. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  235. package/build/components/block-tools/empty-block-inserter.js +15 -13
  236. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  237. package/build/components/block-tools/index.js +49 -27
  238. package/build/components/block-tools/index.js.map +1 -1
  239. package/build/components/block-tools/insertion-point.js +44 -42
  240. package/build/components/block-tools/insertion-point.js.map +1 -1
  241. package/build/components/block-tools/zoom-out-mode-inserters.js +70 -25
  242. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  243. package/build/components/block-types-list/index.js +15 -15
  244. package/build/components/block-types-list/index.js.map +1 -1
  245. package/build/components/block-types-list/index.native.js +30 -26
  246. package/build/components/block-types-list/index.native.js.map +1 -1
  247. package/build/components/block-variation-picker/index.js +32 -27
  248. package/build/components/block-variation-picker/index.js.map +1 -1
  249. package/build/components/block-variation-picker/index.native.js +32 -25
  250. package/build/components/block-variation-picker/index.native.js.map +1 -1
  251. package/build/components/block-variation-transforms/index.js +53 -47
  252. package/build/components/block-variation-transforms/index.js.map +1 -1
  253. package/build/components/block-vertical-alignment-control/icons.js +31 -26
  254. package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
  255. package/build/components/block-vertical-alignment-control/index.js +3 -3
  256. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  257. package/build/components/block-vertical-alignment-control/ui.js +2 -2
  258. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  259. package/build/components/border-radius-control/all-input-control.js +3 -3
  260. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  261. package/build/components/border-radius-control/index.js +43 -38
  262. package/build/components/border-radius-control/index.js.map +1 -1
  263. package/build/components/border-radius-control/input-controls.js +23 -21
  264. package/build/components/border-radius-control/input-controls.js.map +1 -1
  265. package/build/components/border-radius-control/linked-button.js +12 -11
  266. package/build/components/border-radius-control/linked-button.js.map +1 -1
  267. package/build/components/button-block-appender/index.js +17 -14
  268. package/build/components/button-block-appender/index.js.map +1 -1
  269. package/build/components/button-block-appender/index.native.js +28 -24
  270. package/build/components/button-block-appender/index.native.js.map +1 -1
  271. package/build/components/caption/index.native.js +22 -21
  272. package/build/components/caption/index.native.js.map +1 -1
  273. package/build/components/child-layout-control/index.js +137 -129
  274. package/build/components/child-layout-control/index.js.map +1 -1
  275. package/build/components/color-palette/control.js +2 -2
  276. package/build/components/color-palette/control.js.map +1 -1
  277. package/build/components/color-palette/with-color-context.js +2 -2
  278. package/build/components/color-palette/with-color-context.js.map +1 -1
  279. package/build/components/color-style-selector/index.js +29 -20
  280. package/build/components/color-style-selector/index.js.map +1 -1
  281. package/build/components/colors/utils.js +3 -3
  282. package/build/components/colors/utils.js.map +1 -1
  283. package/build/components/colors/with-colors.js +8 -7
  284. package/build/components/colors/with-colors.js.map +1 -1
  285. package/build/components/colors-gradients/control.js +54 -40
  286. package/build/components/colors-gradients/control.js.map +1 -1
  287. package/build/components/colors-gradients/dropdown.js +72 -63
  288. package/build/components/colors-gradients/dropdown.js.map +1 -1
  289. package/build/components/colors-gradients/panel-color-gradient-settings.js +23 -20
  290. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  291. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +11 -7
  292. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  293. package/build/components/contrast-checker/index.js +10 -8
  294. package/build/components/contrast-checker/index.js.map +1 -1
  295. package/build/components/contrast-checker/index.native.js +12 -10
  296. package/build/components/contrast-checker/index.native.js.map +1 -1
  297. package/build/components/convert-to-group-buttons/index.js +22 -12
  298. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  299. package/build/components/convert-to-group-buttons/toolbar.js +20 -18
  300. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  301. package/build/components/copy-handler/index.js +2 -2
  302. package/build/components/copy-handler/index.js.map +1 -1
  303. package/build/components/date-format-picker/index.js +44 -40
  304. package/build/components/date-format-picker/index.js.map +1 -1
  305. package/build/components/default-block-appender/index.js +34 -32
  306. package/build/components/default-block-appender/index.js.map +1 -1
  307. package/build/components/default-block-appender/index.native.js +14 -12
  308. package/build/components/default-block-appender/index.native.js.map +1 -1
  309. package/build/components/dimensions-tool/aspect-ratio-tool.js +42 -49
  310. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  311. package/build/components/dimensions-tool/index.js +116 -115
  312. package/build/components/dimensions-tool/index.js.map +1 -1
  313. package/build/components/dimensions-tool/scale-tool.js +16 -16
  314. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  315. package/build/components/dimensions-tool/width-height-tool.js +37 -33
  316. package/build/components/dimensions-tool/width-height-tool.js.map +1 -1
  317. package/build/components/duotone-control/index.js +21 -18
  318. package/build/components/duotone-control/index.js.map +1 -1
  319. package/build/components/editable-text/index.js +6 -5
  320. package/build/components/editable-text/index.js.map +1 -1
  321. package/build/components/editor-styles/index.js +23 -21
  322. package/build/components/editor-styles/index.js.map +1 -1
  323. package/build/components/floating-toolbar/index.native.js +18 -16
  324. package/build/components/floating-toolbar/index.native.js.map +1 -1
  325. package/build/components/floating-toolbar/nav-up-icon.js +14 -13
  326. package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
  327. package/build/components/font-appearance-control/index.js +2 -2
  328. package/build/components/font-appearance-control/index.js.map +1 -1
  329. package/build/components/font-family/index.js +2 -2
  330. package/build/components/font-family/index.js.map +1 -1
  331. package/build/components/font-sizes/font-size-picker.js +2 -2
  332. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  333. package/build/components/font-sizes/utils.js +4 -3
  334. package/build/components/font-sizes/utils.js.map +1 -1
  335. package/build/components/font-sizes/with-font-sizes.js +3 -3
  336. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  337. package/build/components/global-styles/advanced-panel.js +17 -15
  338. package/build/components/global-styles/advanced-panel.js.map +1 -1
  339. package/build/components/global-styles/background-panel.js +189 -123
  340. package/build/components/global-styles/background-panel.js.map +1 -1
  341. package/build/components/global-styles/border-panel.js +62 -56
  342. package/build/components/global-styles/border-panel.js.map +1 -1
  343. package/build/components/global-styles/color-panel.js +113 -89
  344. package/build/components/global-styles/color-panel.js.map +1 -1
  345. package/build/components/global-styles/color-panel.native.js +14 -11
  346. package/build/components/global-styles/color-panel.native.js.map +1 -1
  347. package/build/components/global-styles/dimensions-panel.js +184 -172
  348. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  349. package/build/components/global-styles/filters-panel.js +79 -66
  350. package/build/components/global-styles/filters-panel.js.map +1 -1
  351. package/build/components/global-styles/hooks.js +14 -2
  352. package/build/components/global-styles/hooks.js.map +1 -1
  353. package/build/components/global-styles/image-settings-panel.js +26 -22
  354. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  355. package/build/components/global-styles/index.js +18 -0
  356. package/build/components/global-styles/index.js.map +1 -1
  357. package/build/components/global-styles/shadow-panel-components.js +78 -69
  358. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  359. package/build/components/global-styles/theme-file-uri-utils.js +80 -0
  360. package/build/components/global-styles/theme-file-uri-utils.js.map +1 -0
  361. package/build/components/global-styles/typography-panel.js +175 -134
  362. package/build/components/global-styles/typography-panel.js.map +1 -1
  363. package/build/components/global-styles/use-global-styles-context.native.js +450 -0
  364. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -0
  365. package/build/components/global-styles/use-global-styles-output.js +114 -79
  366. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  367. package/build/components/gradients/with-gradient.js +2 -2
  368. package/build/components/gradients/with-gradient.js.map +1 -1
  369. package/build/components/grid-visualizer/grid-item-resizer.js +161 -43
  370. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  371. package/build/components/grid-visualizer/grid-visualizer.js +30 -19
  372. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
  373. package/build/components/height-control/index.js +39 -32
  374. package/build/components/height-control/index.js.map +1 -1
  375. package/build/components/iframe/index.js +118 -71
  376. package/build/components/iframe/index.js.map +1 -1
  377. package/build/components/image-editor/aspect-ratio-dropdown.js +95 -74
  378. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  379. package/build/components/image-editor/context.js +5 -4
  380. package/build/components/image-editor/context.js.map +1 -1
  381. package/build/components/image-editor/cropper.js +26 -23
  382. package/build/components/image-editor/cropper.js.map +1 -1
  383. package/build/components/image-editor/form-controls.js +11 -7
  384. package/build/components/image-editor/form-controls.js.map +1 -1
  385. package/build/components/image-editor/index.js +23 -14
  386. package/build/components/image-editor/index.js.map +1 -1
  387. package/build/components/image-editor/rotation-button.js +2 -2
  388. package/build/components/image-editor/rotation-button.js.map +1 -1
  389. package/build/components/image-editor/zoom-dropdown.js +4 -4
  390. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  391. package/build/components/image-link-destinations/index.native.js +37 -27
  392. package/build/components/image-link-destinations/index.native.js.map +1 -1
  393. package/build/components/image-size-control/index.js +53 -45
  394. package/build/components/image-size-control/index.js.map +1 -1
  395. package/build/components/index.js +8 -0
  396. package/build/components/index.js.map +1 -1
  397. package/build/components/index.native.js +37 -0
  398. package/build/components/index.native.js.map +1 -1
  399. package/build/components/inner-blocks/button-block-appender.js +4 -4
  400. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  401. package/build/components/inner-blocks/default-block-appender.js +2 -2
  402. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  403. package/build/components/inner-blocks/index.js +41 -37
  404. package/build/components/inner-blocks/index.js.map +1 -1
  405. package/build/components/inner-blocks/index.native.js +31 -29
  406. package/build/components/inner-blocks/index.native.js.map +1 -1
  407. package/build/components/inner-blocks/use-nested-settings-update.js +10 -13
  408. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  409. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +20 -17
  410. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  411. package/build/components/inner-blocks/with-client-id.js +2 -2
  412. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  413. package/build/components/inserter/block-patterns-explorer/index.js +22 -20
  414. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  415. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +39 -36
  416. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  417. package/build/components/inserter/block-patterns-explorer/pattern-list.js +26 -20
  418. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  419. package/build/components/inserter/block-patterns-tab/index.js +44 -28
  420. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  421. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +21 -4
  422. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  423. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +43 -32
  424. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  425. package/build/components/inserter/block-patterns-tab/patterns-filter.js +54 -42
  426. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  427. package/build/components/inserter/block-types-tab.js +108 -64
  428. package/build/components/inserter/block-types-tab.js.map +1 -1
  429. package/build/components/inserter/block-types-tab.native.js +2 -2
  430. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  431. package/build/components/inserter/category-tabs/index.js +26 -20
  432. package/build/components/inserter/category-tabs/index.js.map +1 -1
  433. package/build/components/inserter/hooks/use-block-types-state.js +9 -4
  434. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  435. package/build/components/inserter/hooks/use-insertion-point.js +44 -7
  436. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  437. package/build/components/inserter/hooks/use-patterns-state.js +12 -5
  438. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  439. package/build/components/inserter/index.js +8 -8
  440. package/build/components/inserter/index.js.map +1 -1
  441. package/build/components/inserter/index.native.js +21 -19
  442. package/build/components/inserter/index.native.js.map +1 -1
  443. package/build/components/inserter/library.js +22 -9
  444. package/build/components/inserter/library.js.map +1 -1
  445. package/build/components/inserter/media-tab/media-list.js +9 -9
  446. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  447. package/build/components/inserter/media-tab/media-panel.js +19 -17
  448. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  449. package/build/components/inserter/media-tab/media-preview.js +93 -67
  450. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  451. package/build/components/inserter/media-tab/media-tab.js +44 -36
  452. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  453. package/build/components/inserter/media-tab/utils.js +2 -2
  454. package/build/components/inserter/media-tab/utils.js.map +1 -1
  455. package/build/components/inserter/menu.js +138 -105
  456. package/build/components/inserter/menu.js.map +1 -1
  457. package/build/components/inserter/menu.native.js +34 -28
  458. package/build/components/inserter/menu.native.js.map +1 -1
  459. package/build/components/inserter/mobile-tab-navigation.js +56 -40
  460. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  461. package/build/components/inserter/no-results.js +10 -7
  462. package/build/components/inserter/no-results.js.map +1 -1
  463. package/build/components/inserter/no-results.native.js +13 -8
  464. package/build/components/inserter/no-results.native.js.map +1 -1
  465. package/build/components/inserter/panel.js +15 -10
  466. package/build/components/inserter/panel.js.map +1 -1
  467. package/build/components/inserter/preview-panel.js +24 -20
  468. package/build/components/inserter/preview-panel.js.map +1 -1
  469. package/build/components/inserter/quick-inserter.js +37 -33
  470. package/build/components/inserter/quick-inserter.js.map +1 -1
  471. package/build/components/inserter/reusable-block-rename-hint.js +20 -18
  472. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
  473. package/build/components/inserter/reusable-blocks-tab.native.js +2 -2
  474. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  475. package/build/components/inserter/search-results.js +52 -41
  476. package/build/components/inserter/search-results.js.map +1 -1
  477. package/build/components/inserter/search-results.native.js +3 -3
  478. package/build/components/inserter/search-results.native.js.map +1 -1
  479. package/build/components/inserter/tabs.js +34 -18
  480. package/build/components/inserter/tabs.js.map +1 -1
  481. package/build/components/inserter/tabs.native.js +20 -18
  482. package/build/components/inserter/tabs.native.js.map +1 -1
  483. package/build/components/inserter/tips.js +7 -5
  484. package/build/components/inserter/tips.js.map +1 -1
  485. package/build/components/inserter-button/index.native.js +28 -23
  486. package/build/components/inserter-button/index.native.js.map +1 -1
  487. package/build/components/inserter-button/sparkles.js +8 -7
  488. package/build/components/inserter-button/sparkles.js.map +1 -1
  489. package/build/components/inserter-draggable-blocks/index.js +14 -13
  490. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  491. package/build/components/inserter-list-item/index.js +69 -63
  492. package/build/components/inserter-list-item/index.js.map +1 -1
  493. package/build/components/inserter-listbox/group.js +2 -2
  494. package/build/components/inserter-listbox/group.js.map +1 -1
  495. package/build/components/inserter-listbox/index.js +5 -4
  496. package/build/components/inserter-listbox/index.js.map +1 -1
  497. package/build/components/inserter-listbox/item.js +10 -8
  498. package/build/components/inserter-listbox/item.js.map +1 -1
  499. package/build/components/inserter-listbox/row.js +2 -2
  500. package/build/components/inserter-listbox/row.js.map +1 -1
  501. package/build/components/inspector-controls/block-support-slot-container.js +2 -2
  502. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  503. package/build/components/inspector-controls/block-support-tools-panel.js +5 -5
  504. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  505. package/build/components/inspector-controls/fill.js +22 -17
  506. package/build/components/inspector-controls/fill.js.map +1 -1
  507. package/build/components/inspector-controls/fill.native.js +12 -5
  508. package/build/components/inspector-controls/fill.native.js.map +1 -1
  509. package/build/components/inspector-controls/index.js +3 -3
  510. package/build/components/inspector-controls/index.js.map +1 -1
  511. package/build/components/inspector-controls/slot.js +11 -10
  512. package/build/components/inspector-controls/slot.js.map +1 -1
  513. package/build/components/inspector-controls/slot.native.js +3 -3
  514. package/build/components/inspector-controls/slot.native.js.map +1 -1
  515. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +7 -6
  516. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  517. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js +11 -9
  518. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  519. package/build/components/inspector-controls-tabs/index.js +44 -32
  520. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  521. package/build/components/inspector-controls-tabs/position-controls-panel.js +8 -7
  522. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  523. package/build/components/inspector-controls-tabs/settings-tab-hint.js +20 -18
  524. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  525. package/build/components/inspector-controls-tabs/settings-tab.js +6 -2
  526. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  527. package/build/components/inspector-controls-tabs/styles-tab.js +31 -26
  528. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  529. package/build/components/inspector-popover-header/index.js +31 -26
  530. package/build/components/inspector-popover-header/index.js.map +1 -1
  531. package/build/components/justify-content-control/index.js +3 -3
  532. package/build/components/justify-content-control/index.js.map +1 -1
  533. package/build/components/justify-content-control/ui.js +2 -2
  534. package/build/components/justify-content-control/ui.js.map +1 -1
  535. package/build/components/keyboard-shortcuts/index.js +9 -0
  536. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  537. package/build/components/letter-spacing-control/index.js +3 -4
  538. package/build/components/letter-spacing-control/index.js.map +1 -1
  539. package/build/components/line-height-control/index.js +17 -16
  540. package/build/components/line-height-control/index.js.map +1 -1
  541. package/build/components/line-height-control/index.native.js +2 -2
  542. package/build/components/line-height-control/index.native.js.map +1 -1
  543. package/build/components/link-control/index.js +102 -85
  544. package/build/components/link-control/index.js.map +1 -1
  545. package/build/components/link-control/link-preview.js +63 -51
  546. package/build/components/link-control/link-preview.js.map +1 -1
  547. package/build/components/link-control/search-create-button.js +6 -5
  548. package/build/components/link-control/search-create-button.js.map +1 -1
  549. package/build/components/link-control/search-input.js +32 -31
  550. package/build/components/link-control/search-input.js.map +1 -1
  551. package/build/components/link-control/search-item.js +12 -11
  552. package/build/components/link-control/search-item.js.map +1 -1
  553. package/build/components/link-control/search-results.js +52 -48
  554. package/build/components/link-control/search-results.js.map +1 -1
  555. package/build/components/link-control/settings-drawer.js +37 -30
  556. package/build/components/link-control/settings-drawer.js.map +1 -1
  557. package/build/components/link-control/settings.js +10 -9
  558. package/build/components/link-control/settings.js.map +1 -1
  559. package/build/components/list-view/appender.js +24 -22
  560. package/build/components/list-view/appender.js.map +1 -1
  561. package/build/components/list-view/aria-referenced-text.js +6 -6
  562. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  563. package/build/components/list-view/block-contents.js +34 -31
  564. package/build/components/list-view/block-contents.js.map +1 -1
  565. package/build/components/list-view/block-select-button.js +60 -44
  566. package/build/components/list-view/block-select-button.js.map +1 -1
  567. package/build/components/list-view/block.js +131 -96
  568. package/build/components/list-view/block.js.map +1 -1
  569. package/build/components/list-view/branch.js +101 -95
  570. package/build/components/list-view/branch.js.map +1 -1
  571. package/build/components/list-view/drop-indicator.js +39 -32
  572. package/build/components/list-view/drop-indicator.js.map +1 -1
  573. package/build/components/list-view/expander.js +8 -6
  574. package/build/components/list-view/expander.js.map +1 -1
  575. package/build/components/list-view/index.js +43 -39
  576. package/build/components/list-view/index.js.map +1 -1
  577. package/build/components/list-view/leaf.js +7 -6
  578. package/build/components/list-view/leaf.js.map +1 -1
  579. package/build/components/media-placeholder/index.js +101 -81
  580. package/build/components/media-placeholder/index.js.map +1 -1
  581. package/build/components/media-placeholder/index.native.js +63 -52
  582. package/build/components/media-placeholder/index.native.js.map +1 -1
  583. package/build/components/media-replace-flow/index.js +73 -61
  584. package/build/components/media-replace-flow/index.js.map +1 -1
  585. package/build/components/media-replace-flow/index.native.js +2 -2
  586. package/build/components/media-replace-flow/index.native.js.map +1 -1
  587. package/build/components/media-upload/index.native.js +44 -40
  588. package/build/components/media-upload/index.native.js.map +1 -1
  589. package/build/components/media-upload-progress/index.native.js +39 -15
  590. package/build/components/media-upload-progress/index.native.js.map +1 -1
  591. package/build/components/multi-selection-inspector/index.js +19 -15
  592. package/build/components/multi-selection-inspector/index.js.map +1 -1
  593. package/build/components/navigable-toolbar/index.js +9 -7
  594. package/build/components/navigable-toolbar/index.js.map +1 -1
  595. package/build/components/observe-typing/index.js +6 -6
  596. package/build/components/observe-typing/index.js.map +1 -1
  597. package/build/components/panel-color-settings/index.js +2 -2
  598. package/build/components/panel-color-settings/index.js.map +1 -1
  599. package/build/components/plain-text/index.js +6 -7
  600. package/build/components/plain-text/index.js.map +1 -1
  601. package/build/components/plain-text/index.native.js +3 -3
  602. package/build/components/plain-text/index.native.js.map +1 -1
  603. package/build/components/provider/block-refs-provider.js +5 -4
  604. package/build/components/provider/block-refs-provider.js.map +1 -1
  605. package/build/components/provider/index.js +11 -7
  606. package/build/components/provider/index.js.map +1 -1
  607. package/build/components/provider/index.native.js +5 -5
  608. package/build/components/provider/index.native.js.map +1 -1
  609. package/build/components/provider/use-block-sync.js +18 -0
  610. package/build/components/provider/use-block-sync.js.map +1 -1
  611. package/build/components/provider/with-registry-provider.js +30 -26
  612. package/build/components/provider/with-registry-provider.js.map +1 -1
  613. package/build/components/publish-date-time-picker/index.js +36 -15
  614. package/build/components/publish-date-time-picker/index.js.map +1 -1
  615. package/build/components/recursion-provider/index.js +6 -5
  616. package/build/components/recursion-provider/index.js.map +1 -1
  617. package/build/components/resizable-box-popover/index.js +7 -6
  618. package/build/components/resizable-box-popover/index.js.map +1 -1
  619. package/build/components/resolution-tool/index.js +12 -11
  620. package/build/components/resolution-tool/index.js.map +1 -1
  621. package/build/components/responsive-block-control/index.js +31 -27
  622. package/build/components/responsive-block-control/index.js.map +1 -1
  623. package/build/components/responsive-block-control/label.js +11 -7
  624. package/build/components/responsive-block-control/label.js.map +1 -1
  625. package/build/components/rich-text/content.js +8 -5
  626. package/build/components/rich-text/content.js.map +1 -1
  627. package/build/components/rich-text/embed-handler-picker.native.js +2 -2
  628. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  629. package/build/components/rich-text/event-listeners/enter.js +33 -42
  630. package/build/components/rich-text/event-listeners/enter.js.map +1 -1
  631. package/build/components/rich-text/event-listeners/paste-handler.js +22 -42
  632. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  633. package/build/components/rich-text/format-edit.js +5 -5
  634. package/build/components/rich-text/format-edit.js.map +1 -1
  635. package/build/components/rich-text/format-toolbar/index.js +38 -34
  636. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  637. package/build/components/rich-text/format-toolbar/index.native.js +8 -7
  638. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  639. package/build/components/rich-text/format-toolbar-container.js +17 -12
  640. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  641. package/build/components/rich-text/format-toolbar-container.native.js +5 -4
  642. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  643. package/build/components/rich-text/get-rich-text-values.js +4 -4
  644. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  645. package/build/components/rich-text/index.js +95 -77
  646. package/build/components/rich-text/index.js.map +1 -1
  647. package/build/components/rich-text/index.native.js +52 -48
  648. package/build/components/rich-text/index.native.js.map +1 -1
  649. package/build/components/rich-text/multiline.js +68 -40
  650. package/build/components/rich-text/multiline.js.map +1 -1
  651. package/build/components/rich-text/native/format-edit.js +3 -4
  652. package/build/components/rich-text/native/format-edit.js.map +1 -1
  653. package/build/components/rich-text/native/index.native.js +87 -80
  654. package/build/components/rich-text/native/index.native.js.map +1 -1
  655. package/build/components/rich-text/native/toolbar-button-with-options.native.js +19 -16
  656. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  657. package/build/components/rich-text/toolbar-button.js +8 -7
  658. package/build/components/rich-text/toolbar-button.js.map +1 -1
  659. package/build/components/rich-text/utils.js +5 -4
  660. package/build/components/rich-text/utils.js.map +1 -1
  661. package/build/components/rich-text/with-deprecations.js +2 -2
  662. package/build/components/rich-text/with-deprecations.js.map +1 -1
  663. package/build/components/segmented-text-control/index.js +21 -20
  664. package/build/components/segmented-text-control/index.js.map +1 -1
  665. package/build/components/skip-to-selected-block/index.js +6 -6
  666. package/build/components/skip-to-selected-block/index.js.map +1 -1
  667. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +29 -14
  668. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  669. package/build/components/spacing-sizes-control/index.js +23 -19
  670. package/build/components/spacing-sizes-control/index.js.map +1 -1
  671. package/build/components/spacing-sizes-control/input-controls/axial.js +19 -18
  672. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  673. package/build/components/spacing-sizes-control/input-controls/separated.js +18 -17
  674. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  675. package/build/components/spacing-sizes-control/input-controls/single.js +2 -2
  676. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  677. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +103 -100
  678. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  679. package/build/components/spacing-sizes-control/sides-dropdown/index.js +42 -34
  680. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  681. package/build/components/spacing-sizes-control/utils.js +2 -1
  682. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  683. package/build/components/text-alignment-control/index.js +4 -4
  684. package/build/components/text-alignment-control/index.js.map +1 -1
  685. package/build/components/text-decoration-control/index.js +4 -4
  686. package/build/components/text-decoration-control/index.js.map +1 -1
  687. package/build/components/text-transform-control/index.js +4 -4
  688. package/build/components/text-transform-control/index.js.map +1 -1
  689. package/build/components/tool-selector/index.js +35 -26
  690. package/build/components/tool-selector/index.js.map +1 -1
  691. package/build/components/typewriter/index.js +5 -4
  692. package/build/components/typewriter/index.js.map +1 -1
  693. package/build/components/ungroup-button/index.native.js +8 -6
  694. package/build/components/ungroup-button/index.native.js.map +1 -1
  695. package/build/components/unit-control/index.js +2 -2
  696. package/build/components/unit-control/index.js.map +1 -1
  697. package/build/components/unsupported-block-details/index.native.js +31 -28
  698. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  699. package/build/components/url-input/button.js +31 -28
  700. package/build/components/url-input/button.js.map +1 -1
  701. package/build/components/url-input/index.js +29 -24
  702. package/build/components/url-input/index.js.map +1 -1
  703. package/build/components/url-input/index.native.js +2 -2
  704. package/build/components/url-input/index.native.js.map +1 -1
  705. package/build/components/url-popover/image-url-input-ui.js +104 -91
  706. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  707. package/build/components/url-popover/index.js +24 -19
  708. package/build/components/url-popover/index.js.map +1 -1
  709. package/build/components/url-popover/link-editor.js +17 -16
  710. package/build/components/url-popover/link-editor.js.map +1 -1
  711. package/build/components/url-popover/link-viewer-url.js +8 -7
  712. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  713. package/build/components/url-popover/link-viewer.js +16 -15
  714. package/build/components/url-popover/link-viewer.js.map +1 -1
  715. package/build/components/use-block-commands/index.js +2 -2
  716. package/build/components/use-block-commands/index.js.map +1 -1
  717. package/build/components/video-player/gridicon-play.native.js +8 -7
  718. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  719. package/build/components/video-player/index.native.js +43 -40
  720. package/build/components/video-player/index.native.js.map +1 -1
  721. package/build/components/warning/index.js +35 -27
  722. package/build/components/warning/index.js.map +1 -1
  723. package/build/components/warning/index.native.js +17 -13
  724. package/build/components/warning/index.native.js.map +1 -1
  725. package/build/components/writing-flow/index.js +10 -7
  726. package/build/components/writing-flow/index.js.map +1 -1
  727. package/build/components/writing-flow/use-clipboard-handler.js +64 -14
  728. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  729. package/build/components/writing-flow/use-input.js +44 -2
  730. package/build/components/writing-flow/use-input.js.map +1 -1
  731. package/build/components/writing-flow/use-tab-nav.js +9 -4
  732. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  733. package/build/components/writing-mode-control/index.js +4 -4
  734. package/build/components/writing-mode-control/index.js.map +1 -1
  735. package/build/hooks/align.js +12 -12
  736. package/build/hooks/align.js.map +1 -1
  737. package/build/hooks/anchor.js +29 -24
  738. package/build/hooks/anchor.js.map +1 -1
  739. package/build/hooks/background.js +7 -6
  740. package/build/hooks/background.js.map +1 -1
  741. package/build/hooks/block-bindings.js +89 -0
  742. package/build/hooks/block-bindings.js.map +1 -0
  743. package/build/hooks/block-hooks.js +41 -33
  744. package/build/hooks/block-hooks.js.map +1 -1
  745. package/build/hooks/block-style-variation.js +142 -0
  746. package/build/hooks/block-style-variation.js.map +1 -0
  747. package/build/hooks/border.js +9 -8
  748. package/build/hooks/border.js.map +1 -1
  749. package/build/hooks/color.js +14 -12
  750. package/build/hooks/color.js.map +1 -1
  751. package/build/hooks/content-lock-ui.js +25 -40
  752. package/build/hooks/content-lock-ui.js.map +1 -1
  753. package/build/hooks/contrast-checker.js +2 -2
  754. package/build/hooks/contrast-checker.js.map +1 -1
  755. package/build/hooks/custom-class-name.js +19 -18
  756. package/build/hooks/custom-class-name.js.map +1 -1
  757. package/build/hooks/custom-class-name.native.js +2 -2
  758. package/build/hooks/custom-class-name.native.js.map +1 -1
  759. package/build/hooks/dimensions.js +26 -23
  760. package/build/hooks/dimensions.js.map +1 -1
  761. package/build/hooks/duotone.js +49 -45
  762. package/build/hooks/duotone.js.map +1 -1
  763. package/build/hooks/font-family.js +3 -3
  764. package/build/hooks/font-family.js.map +1 -1
  765. package/build/hooks/font-size.js +2 -2
  766. package/build/hooks/font-size.js.map +1 -1
  767. package/build/hooks/index.js +4 -2
  768. package/build/hooks/index.js.map +1 -1
  769. package/build/hooks/layout-child.js +35 -25
  770. package/build/hooks/layout-child.js.map +1 -1
  771. package/build/hooks/layout.js +63 -57
  772. package/build/hooks/layout.js.map +1 -1
  773. package/build/hooks/line-height.js +2 -2
  774. package/build/hooks/line-height.js.map +1 -1
  775. package/build/hooks/position.js +30 -28
  776. package/build/hooks/position.js.map +1 -1
  777. package/build/hooks/spacing-visualizer.js +10 -9
  778. package/build/hooks/spacing-visualizer.js.map +1 -1
  779. package/build/hooks/style.js +23 -13
  780. package/build/hooks/style.js.map +1 -1
  781. package/build/hooks/text-align.js +22 -21
  782. package/build/hooks/text-align.js.map +1 -1
  783. package/build/hooks/typography.js +6 -5
  784. package/build/hooks/typography.js.map +1 -1
  785. package/build/hooks/typography.native.js +11 -8
  786. package/build/hooks/typography.native.js.map +1 -1
  787. package/build/hooks/use-bindings-attributes.js +84 -26
  788. package/build/hooks/use-bindings-attributes.js.map +1 -1
  789. package/build/hooks/use-color-props.js +2 -2
  790. package/build/hooks/use-color-props.js.map +1 -1
  791. package/build/hooks/use-typography-props.js +6 -5
  792. package/build/hooks/use-typography-props.js.map +1 -1
  793. package/build/hooks/use-zoom-out.js +2 -2
  794. package/build/hooks/use-zoom-out.js.map +1 -1
  795. package/build/hooks/utils.js +20 -19
  796. package/build/hooks/utils.js.map +1 -1
  797. package/build/layouts/constrained.js +66 -58
  798. package/build/layouts/constrained.js.map +1 -1
  799. package/build/layouts/flex.js +75 -61
  800. package/build/layouts/flex.js.map +1 -1
  801. package/build/layouts/grid.js +152 -130
  802. package/build/layouts/grid.js.map +1 -1
  803. package/build/private-apis.js +10 -1
  804. package/build/private-apis.js.map +1 -1
  805. package/build/store/actions.js +170 -44
  806. package/build/store/actions.js.map +1 -1
  807. package/build/store/get-block-settings.js +2 -49
  808. package/build/store/get-block-settings.js.map +1 -1
  809. package/build/store/private-actions.js +26 -1
  810. package/build/store/private-actions.js.map +1 -1
  811. package/build/store/private-keys.js +2 -1
  812. package/build/store/private-keys.js.map +1 -1
  813. package/build/store/private-selectors.js +6 -0
  814. package/build/store/private-selectors.js.map +1 -1
  815. package/build/store/reducer.js +21 -14
  816. package/build/store/reducer.js.map +1 -1
  817. package/build/store/selectors.js +32 -2
  818. package/build/store/selectors.js.map +1 -1
  819. package/build/store/utils.js +2 -0
  820. package/build/store/utils.js.map +1 -1
  821. package/build/utils/selection.js +8 -0
  822. package/build/utils/selection.js.map +1 -1
  823. package/build/utils/transform-styles/index.js +12 -7
  824. package/build/utils/transform-styles/index.js.map +1 -1
  825. package/build-module/autocompleters/block.js +9 -6
  826. package/build-module/autocompleters/block.js.map +1 -1
  827. package/build-module/autocompleters/link.js +12 -8
  828. package/build-module/autocompleters/link.js.map +1 -1
  829. package/build-module/components/alignment-control/index.js +3 -3
  830. package/build-module/components/alignment-control/index.js.map +1 -1
  831. package/build-module/components/alignment-control/ui.js +2 -2
  832. package/build-module/components/alignment-control/ui.js.map +1 -1
  833. package/build-module/components/audio-player/audio-url-parser.native.js +16 -0
  834. package/build-module/components/audio-player/audio-url-parser.native.js.map +1 -0
  835. package/build-module/components/audio-player/index.native.js +167 -0
  836. package/build-module/components/audio-player/index.native.js.map +1 -0
  837. package/build-module/components/autocomplete/index.js +2 -2
  838. package/build-module/components/autocomplete/index.js.map +1 -1
  839. package/build-module/components/block-actions/index.js +4 -2
  840. package/build-module/components/block-actions/index.js.map +1 -1
  841. package/build-module/components/block-alignment-control/index.js +3 -3
  842. package/build-module/components/block-alignment-control/index.js.map +1 -1
  843. package/build-module/components/block-alignment-control/ui.js +35 -31
  844. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  845. package/build-module/components/block-alignment-control/ui.native.js +2 -2
  846. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  847. package/build-module/components/block-alignment-matrix-control/index.js +5 -5
  848. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  849. package/build-module/components/block-bindings-toolbar-indicator/index.js +94 -13
  850. package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  851. package/build-module/components/block-breadcrumb/index.js +38 -32
  852. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  853. package/build-module/components/block-canvas/index.js +37 -31
  854. package/build-module/components/block-canvas/index.js.map +1 -1
  855. package/build-module/components/block-caption/index.native.js +15 -14
  856. package/build-module/components/block-caption/index.native.js.map +1 -1
  857. package/build-module/components/block-card/index.js +35 -29
  858. package/build-module/components/block-card/index.js.map +1 -1
  859. package/build-module/components/block-compare/block-view.js +28 -18
  860. package/build-module/components/block-compare/block-view.js.map +1 -1
  861. package/build-module/components/block-compare/index.js +26 -24
  862. package/build-module/components/block-compare/index.js.map +1 -1
  863. package/build-module/components/block-context/index.js +2 -2
  864. package/build-module/components/block-context/index.js.map +1 -1
  865. package/build-module/components/block-controls/fill.js +24 -16
  866. package/build-module/components/block-controls/fill.js.map +1 -1
  867. package/build-module/components/block-controls/index.js +3 -3
  868. package/build-module/components/block-controls/index.js.map +1 -1
  869. package/build-module/components/block-controls/slot.js +6 -4
  870. package/build-module/components/block-controls/slot.js.map +1 -1
  871. package/build-module/components/block-controls/slot.native.js +12 -9
  872. package/build-module/components/block-controls/slot.native.js.map +1 -1
  873. package/build-module/components/block-controls/use-has-block-controls.js +1 -1
  874. package/build-module/components/block-controls/use-has-block-controls.js.map +1 -1
  875. package/build-module/components/block-draggable/draggable-chip.js +28 -19
  876. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  877. package/build-module/components/block-draggable/draggable-chip.native.js +10 -8
  878. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  879. package/build-module/components/block-draggable/dropping-insertion-point.native.js +2 -2
  880. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  881. package/build-module/components/block-draggable/index.js +14 -13
  882. package/build-module/components/block-draggable/index.js.map +1 -1
  883. package/build-module/components/block-draggable/index.native.js +39 -30
  884. package/build-module/components/block-draggable/index.native.js.map +1 -1
  885. package/build-module/components/block-edit/edit.js +6 -6
  886. package/build-module/components/block-edit/edit.js.map +1 -1
  887. package/build-module/components/block-edit/edit.native.js +2 -2
  888. package/build-module/components/block-edit/edit.native.js.map +1 -1
  889. package/build-module/components/block-edit/index.js +19 -7
  890. package/build-module/components/block-edit/index.js.map +1 -1
  891. package/build-module/components/block-edit/multiple-usage-warning.js +40 -0
  892. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -0
  893. package/build-module/components/block-edit-visually-button/index.js +9 -6
  894. package/build-module/components/block-edit-visually-button/index.js.map +1 -1
  895. package/build-module/components/block-full-height-alignment-control/index.js +2 -2
  896. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  897. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +2 -3
  898. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  899. package/build-module/components/block-heading-level-dropdown/index.js +4 -4
  900. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  901. package/build-module/components/block-heading-level-dropdown/index.native.js +4 -4
  902. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  903. package/build-module/components/block-icon/index.js +8 -7
  904. package/build-module/components/block-icon/index.js.map +1 -1
  905. package/build-module/components/block-icon/index.native.js +6 -5
  906. package/build-module/components/block-icon/index.native.js.map +1 -1
  907. package/build-module/components/block-info-slot-fill/index.js +3 -3
  908. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  909. package/build-module/components/block-inspector/index.js +105 -89
  910. package/build-module/components/block-inspector/index.js.map +1 -1
  911. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  912. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  913. package/build-module/components/block-list/block-crash-warning.js +5 -4
  914. package/build-module/components/block-list/block-crash-warning.js.map +1 -1
  915. package/build-module/components/block-list/block-crash-warning.native.js +2 -2
  916. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
  917. package/build-module/components/block-list/block-html.js +2 -2
  918. package/build-module/components/block-list/block-html.js.map +1 -1
  919. package/build-module/components/block-list/block-invalid-warning.js +27 -21
  920. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  921. package/build-module/components/block-list/block-invalid-warning.native.js +12 -11
  922. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  923. package/build-module/components/block-list/block-list-item-cell.native.js +5 -4
  924. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  925. package/build-module/components/block-list/block-list-item.native.js +29 -26
  926. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  927. package/build-module/components/block-list/block-outline.native.js +2 -2
  928. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  929. package/build-module/components/block-list/block-selection-button.native.js +36 -33
  930. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  931. package/build-module/components/block-list/block.js +112 -64
  932. package/build-module/components/block-list/block.js.map +1 -1
  933. package/build-module/components/block-list/block.native.js +63 -53
  934. package/build-module/components/block-list/block.native.js.map +1 -1
  935. package/build-module/components/block-list/grid-item.native.js +5 -4
  936. package/build-module/components/block-list/grid-item.native.js.map +1 -1
  937. package/build-module/components/block-list/index.js +41 -36
  938. package/build-module/components/block-list/index.js.map +1 -1
  939. package/build-module/components/block-list/index.native.js +99 -85
  940. package/build-module/components/block-list/index.native.js.map +1 -1
  941. package/build-module/components/block-list/insertion-point.native.js +13 -10
  942. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  943. package/build-module/components/block-list/layout.js +7 -3
  944. package/build-module/components/block-list/layout.js.map +1 -1
  945. package/build-module/components/block-list/subdirectory-icon.js +8 -7
  946. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  947. package/build-module/components/block-list/use-block-props/index.js +6 -3
  948. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  949. package/build-module/components/block-list/use-block-props/use-scroll-into-view.js +37 -0
  950. package/build-module/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
  951. package/build-module/components/block-list-appender/index.js +11 -10
  952. package/build-module/components/block-list-appender/index.js.map +1 -1
  953. package/build-module/components/block-list-appender/index.native.js +4 -4
  954. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  955. package/build-module/components/block-lock/menu-item.js +15 -10
  956. package/build-module/components/block-lock/menu-item.js.map +1 -1
  957. package/build-module/components/block-lock/modal.js +108 -90
  958. package/build-module/components/block-lock/modal.js.map +1 -1
  959. package/build-module/components/block-lock/toolbar.js +20 -15
  960. package/build-module/components/block-lock/toolbar.js.map +1 -1
  961. package/build-module/components/block-media-update-progress/index.native.js +18 -15
  962. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  963. package/build-module/components/block-mover/button.js +22 -17
  964. package/build-module/components/block-mover/button.js.map +1 -1
  965. package/build-module/components/block-mover/index.js +37 -29
  966. package/build-module/components/block-mover/index.js.map +1 -1
  967. package/build-module/components/block-mover/index.native.js +30 -27
  968. package/build-module/components/block-mover/index.native.js.map +1 -1
  969. package/build-module/components/block-navigation/dropdown.js +12 -9
  970. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  971. package/build-module/components/block-parent-selector/index.js +13 -13
  972. package/build-module/components/block-parent-selector/index.js.map +1 -1
  973. package/build-module/components/block-pattern-setup/index.js +90 -76
  974. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  975. package/build-module/components/block-pattern-setup/setup-toolbar.js +51 -45
  976. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  977. package/build-module/components/block-patterns-list/index.js +122 -89
  978. package/build-module/components/block-patterns-list/index.js.map +1 -1
  979. package/build-module/components/block-patterns-paging/index.js +71 -52
  980. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  981. package/build-module/components/block-popover/cover.js +19 -12
  982. package/build-module/components/block-popover/cover.js.map +1 -1
  983. package/build-module/components/block-popover/drop-zone.js +11 -10
  984. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  985. package/build-module/components/block-popover/inbetween.js +10 -9
  986. package/build-module/components/block-popover/inbetween.js.map +1 -1
  987. package/build-module/components/block-popover/index.js +27 -7
  988. package/build-module/components/block-popover/index.js.map +1 -1
  989. package/build-module/components/block-preview/auto.js +55 -47
  990. package/build-module/components/block-preview/auto.js.map +1 -1
  991. package/build-module/components/block-preview/index.js +19 -16
  992. package/build-module/components/block-preview/index.js.map +1 -1
  993. package/build-module/components/block-quick-navigation/index.js +25 -16
  994. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  995. package/build-module/components/block-removal-warning-modal/index.js +19 -12
  996. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  997. package/build-module/components/block-rename/modal.js +45 -37
  998. package/build-module/components/block-rename/modal.js.map +1 -1
  999. package/build-module/components/block-rename/rename-control.js +26 -21
  1000. package/build-module/components/block-rename/rename-control.js.map +1 -1
  1001. package/build-module/components/block-selection-clearer/index.js +2 -2
  1002. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  1003. package/build-module/components/block-settings/button.native.js +13 -9
  1004. package/build-module/components/block-settings/button.native.js.map +1 -1
  1005. package/build-module/components/block-settings/container.native.js +42 -28
  1006. package/build-module/components/block-settings/container.native.js.map +1 -1
  1007. package/build-module/components/block-settings-menu/block-html-convert-button.js +5 -4
  1008. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  1009. package/build-module/components/block-settings-menu/block-mode-toggle.js +5 -4
  1010. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  1011. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +7 -6
  1012. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  1013. package/build-module/components/block-settings-menu/block-settings-dropdown.js +101 -78
  1014. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  1015. package/build-module/components/block-settings-menu/index.js +10 -6
  1016. package/build-module/components/block-settings-menu/index.js.map +1 -1
  1017. package/build-module/components/block-settings-menu-controls/index.js +38 -29
  1018. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  1019. package/build-module/components/block-styles/index.js +45 -39
  1020. package/build-module/components/block-styles/index.js.map +1 -1
  1021. package/build-module/components/block-styles/index.native.js +7 -7
  1022. package/build-module/components/block-styles/index.native.js.map +1 -1
  1023. package/build-module/components/block-styles/menu-items.js +18 -14
  1024. package/build-module/components/block-styles/menu-items.js.map +1 -1
  1025. package/build-module/components/block-styles/preview-panel.js +2 -2
  1026. package/build-module/components/block-styles/preview-panel.js.map +1 -1
  1027. package/build-module/components/block-styles/preview.native.js +25 -21
  1028. package/build-module/components/block-styles/preview.native.js.map +1 -1
  1029. package/build-module/components/block-switcher/block-styles-menu.js +8 -7
  1030. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  1031. package/build-module/components/block-switcher/block-transformations-menu.js +33 -28
  1032. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  1033. package/build-module/components/block-switcher/block-transformations-menu.native.js +2 -2
  1034. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  1035. package/build-module/components/block-switcher/block-variation-transformations.js +21 -17
  1036. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  1037. package/build-module/components/block-switcher/index.js +87 -70
  1038. package/build-module/components/block-switcher/index.js.map +1 -1
  1039. package/build-module/components/block-switcher/pattern-transformations-menu.js +62 -51
  1040. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  1041. package/build-module/components/block-switcher/preview-block-popover.js +23 -17
  1042. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  1043. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +39 -34
  1044. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  1045. package/build-module/components/block-toolbar/index.js +58 -46
  1046. package/build-module/components/block-toolbar/index.js.map +1 -1
  1047. package/build-module/components/block-toolbar/index.native.js +29 -21
  1048. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  1049. package/build-module/components/block-toolbar/shuffle.js +7 -5
  1050. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  1051. package/build-module/components/block-tools/block-selection-button.js +63 -48
  1052. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  1053. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +11 -10
  1054. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  1055. package/build-module/components/block-tools/block-toolbar-popover.js +17 -16
  1056. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  1057. package/build-module/components/block-tools/empty-block-inserter.js +15 -13
  1058. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  1059. package/build-module/components/block-tools/index.js +50 -27
  1060. package/build-module/components/block-tools/index.js.map +1 -1
  1061. package/build-module/components/block-tools/insertion-point.js +45 -42
  1062. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  1063. package/build-module/components/block-tools/zoom-out-mode-inserters.js +72 -26
  1064. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  1065. package/build-module/components/block-types-list/index.js +16 -15
  1066. package/build-module/components/block-types-list/index.js.map +1 -1
  1067. package/build-module/components/block-types-list/index.native.js +31 -26
  1068. package/build-module/components/block-types-list/index.native.js.map +1 -1
  1069. package/build-module/components/block-variation-picker/index.js +33 -27
  1070. package/build-module/components/block-variation-picker/index.js.map +1 -1
  1071. package/build-module/components/block-variation-picker/index.native.js +33 -25
  1072. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  1073. package/build-module/components/block-variation-transforms/index.js +54 -47
  1074. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  1075. package/build-module/components/block-vertical-alignment-control/icons.js +31 -26
  1076. package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
  1077. package/build-module/components/block-vertical-alignment-control/index.js +3 -3
  1078. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  1079. package/build-module/components/block-vertical-alignment-control/ui.js +2 -2
  1080. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  1081. package/build-module/components/border-radius-control/all-input-control.js +3 -3
  1082. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  1083. package/build-module/components/border-radius-control/index.js +45 -38
  1084. package/build-module/components/border-radius-control/index.js.map +1 -1
  1085. package/build-module/components/border-radius-control/input-controls.js +23 -21
  1086. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  1087. package/build-module/components/border-radius-control/linked-button.js +12 -11
  1088. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  1089. package/build-module/components/button-block-appender/index.js +18 -14
  1090. package/build-module/components/button-block-appender/index.js.map +1 -1
  1091. package/build-module/components/button-block-appender/index.native.js +29 -24
  1092. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  1093. package/build-module/components/caption/index.native.js +22 -21
  1094. package/build-module/components/caption/index.native.js.map +1 -1
  1095. package/build-module/components/child-layout-control/index.js +139 -129
  1096. package/build-module/components/child-layout-control/index.js.map +1 -1
  1097. package/build-module/components/color-palette/control.js +2 -2
  1098. package/build-module/components/color-palette/control.js.map +1 -1
  1099. package/build-module/components/color-palette/with-color-context.js +2 -2
  1100. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  1101. package/build-module/components/color-style-selector/index.js +29 -20
  1102. package/build-module/components/color-style-selector/index.js.map +1 -1
  1103. package/build-module/components/colors/utils.js +3 -3
  1104. package/build-module/components/colors/utils.js.map +1 -1
  1105. package/build-module/components/colors/with-colors.js +7 -7
  1106. package/build-module/components/colors/with-colors.js.map +1 -1
  1107. package/build-module/components/colors-gradients/control.js +55 -40
  1108. package/build-module/components/colors-gradients/control.js.map +1 -1
  1109. package/build-module/components/colors-gradients/dropdown.js +74 -63
  1110. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  1111. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +25 -20
  1112. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  1113. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +13 -7
  1114. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  1115. package/build-module/components/contrast-checker/index.js +10 -8
  1116. package/build-module/components/contrast-checker/index.js.map +1 -1
  1117. package/build-module/components/contrast-checker/index.native.js +13 -10
  1118. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  1119. package/build-module/components/convert-to-group-buttons/index.js +25 -13
  1120. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  1121. package/build-module/components/convert-to-group-buttons/toolbar.js +21 -18
  1122. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  1123. package/build-module/components/copy-handler/index.js +2 -2
  1124. package/build-module/components/copy-handler/index.js.map +1 -1
  1125. package/build-module/components/date-format-picker/index.js +45 -40
  1126. package/build-module/components/date-format-picker/index.js.map +1 -1
  1127. package/build-module/components/default-block-appender/index.js +35 -32
  1128. package/build-module/components/default-block-appender/index.js.map +1 -1
  1129. package/build-module/components/default-block-appender/index.native.js +14 -12
  1130. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  1131. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +41 -47
  1132. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  1133. package/build-module/components/dimensions-tool/index.js +117 -113
  1134. package/build-module/components/dimensions-tool/index.js.map +1 -1
  1135. package/build-module/components/dimensions-tool/scale-tool.js +15 -14
  1136. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  1137. package/build-module/components/dimensions-tool/width-height-tool.js +39 -33
  1138. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  1139. package/build-module/components/duotone-control/index.js +22 -18
  1140. package/build-module/components/duotone-control/index.js.map +1 -1
  1141. package/build-module/components/editable-text/index.js +6 -5
  1142. package/build-module/components/editable-text/index.js.map +1 -1
  1143. package/build-module/components/editor-styles/index.js +25 -21
  1144. package/build-module/components/editor-styles/index.js.map +1 -1
  1145. package/build-module/components/floating-toolbar/index.native.js +19 -16
  1146. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  1147. package/build-module/components/floating-toolbar/nav-up-icon.js +15 -13
  1148. package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
  1149. package/build-module/components/font-appearance-control/index.js +2 -2
  1150. package/build-module/components/font-appearance-control/index.js.map +1 -1
  1151. package/build-module/components/font-family/index.js +2 -2
  1152. package/build-module/components/font-family/index.js.map +1 -1
  1153. package/build-module/components/font-sizes/font-size-picker.js +2 -2
  1154. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  1155. package/build-module/components/font-sizes/utils.js +3 -3
  1156. package/build-module/components/font-sizes/utils.js.map +1 -1
  1157. package/build-module/components/font-sizes/with-font-sizes.js +3 -3
  1158. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  1159. package/build-module/components/global-styles/advanced-panel.js +18 -15
  1160. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  1161. package/build-module/components/global-styles/background-panel.js +190 -123
  1162. package/build-module/components/global-styles/background-panel.js.map +1 -1
  1163. package/build-module/components/global-styles/border-panel.js +63 -56
  1164. package/build-module/components/global-styles/border-panel.js.map +1 -1
  1165. package/build-module/components/global-styles/color-panel.js +114 -89
  1166. package/build-module/components/global-styles/color-panel.js.map +1 -1
  1167. package/build-module/components/global-styles/color-panel.native.js +13 -10
  1168. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  1169. package/build-module/components/global-styles/dimensions-panel.js +185 -172
  1170. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  1171. package/build-module/components/global-styles/filters-panel.js +80 -66
  1172. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  1173. package/build-module/components/global-styles/hooks.js +13 -2
  1174. package/build-module/components/global-styles/hooks.js.map +1 -1
  1175. package/build-module/components/global-styles/image-settings-panel.js +27 -22
  1176. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  1177. package/build-module/components/global-styles/index.js +2 -2
  1178. package/build-module/components/global-styles/index.js.map +1 -1
  1179. package/build-module/components/global-styles/shadow-panel-components.js +78 -67
  1180. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  1181. package/build-module/components/global-styles/theme-file-uri-utils.js +73 -0
  1182. package/build-module/components/global-styles/theme-file-uri-utils.js.map +1 -0
  1183. package/build-module/components/global-styles/typography-panel.js +177 -135
  1184. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  1185. package/build-module/components/global-styles/use-global-styles-context.native.js +431 -0
  1186. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -0
  1187. package/build-module/components/global-styles/use-global-styles-output.js +115 -79
  1188. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  1189. package/build-module/components/gradients/with-gradient.js +2 -2
  1190. package/build-module/components/gradients/with-gradient.js.map +1 -1
  1191. package/build-module/components/grid-visualizer/grid-item-resizer.js +161 -43
  1192. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  1193. package/build-module/components/grid-visualizer/grid-visualizer.js +31 -20
  1194. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
  1195. package/build-module/components/height-control/index.js +40 -32
  1196. package/build-module/components/height-control/index.js.map +1 -1
  1197. package/build-module/components/iframe/index.js +121 -72
  1198. package/build-module/components/iframe/index.js.map +1 -1
  1199. package/build-module/components/image-editor/aspect-ratio-dropdown.js +96 -74
  1200. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  1201. package/build-module/components/image-editor/context.js +5 -4
  1202. package/build-module/components/image-editor/context.js.map +1 -1
  1203. package/build-module/components/image-editor/cropper.js +28 -23
  1204. package/build-module/components/image-editor/cropper.js.map +1 -1
  1205. package/build-module/components/image-editor/form-controls.js +13 -7
  1206. package/build-module/components/image-editor/form-controls.js.map +1 -1
  1207. package/build-module/components/image-editor/index.js +24 -14
  1208. package/build-module/components/image-editor/index.js.map +1 -1
  1209. package/build-module/components/image-editor/rotation-button.js +2 -2
  1210. package/build-module/components/image-editor/rotation-button.js.map +1 -1
  1211. package/build-module/components/image-editor/zoom-dropdown.js +4 -4
  1212. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  1213. package/build-module/components/image-link-destinations/index.native.js +39 -27
  1214. package/build-module/components/image-link-destinations/index.native.js.map +1 -1
  1215. package/build-module/components/image-size-control/index.js +55 -45
  1216. package/build-module/components/image-size-control/index.js.map +1 -1
  1217. package/build-module/components/index.js +1 -0
  1218. package/build-module/components/index.js.map +1 -1
  1219. package/build-module/components/index.native.js +2 -0
  1220. package/build-module/components/index.native.js.map +1 -1
  1221. package/build-module/components/inner-blocks/button-block-appender.js +4 -4
  1222. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  1223. package/build-module/components/inner-blocks/default-block-appender.js +2 -2
  1224. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  1225. package/build-module/components/inner-blocks/index.js +41 -37
  1226. package/build-module/components/inner-blocks/index.js.map +1 -1
  1227. package/build-module/components/inner-blocks/index.native.js +31 -29
  1228. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  1229. package/build-module/components/inner-blocks/use-nested-settings-update.js +11 -14
  1230. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  1231. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +21 -17
  1232. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  1233. package/build-module/components/inner-blocks/with-client-id.js +2 -2
  1234. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  1235. package/build-module/components/inserter/block-patterns-explorer/index.js +23 -20
  1236. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  1237. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +40 -36
  1238. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  1239. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +28 -20
  1240. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  1241. package/build-module/components/inserter/block-patterns-tab/index.js +47 -29
  1242. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  1243. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +21 -5
  1244. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  1245. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +45 -32
  1246. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  1247. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +56 -42
  1248. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  1249. package/build-module/components/inserter/block-types-tab.js +111 -66
  1250. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  1251. package/build-module/components/inserter/block-types-tab.native.js +2 -2
  1252. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  1253. package/build-module/components/inserter/category-tabs/index.js +27 -20
  1254. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  1255. package/build-module/components/inserter/hooks/use-block-types-state.js +9 -4
  1256. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  1257. package/build-module/components/inserter/hooks/use-insertion-point.js +44 -8
  1258. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  1259. package/build-module/components/inserter/hooks/use-patterns-state.js +12 -5
  1260. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  1261. package/build-module/components/inserter/index.js +8 -8
  1262. package/build-module/components/inserter/index.js.map +1 -1
  1263. package/build-module/components/inserter/index.native.js +23 -19
  1264. package/build-module/components/inserter/index.native.js.map +1 -1
  1265. package/build-module/components/inserter/library.js +21 -7
  1266. package/build-module/components/inserter/library.js.map +1 -1
  1267. package/build-module/components/inserter/media-tab/media-list.js +9 -9
  1268. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  1269. package/build-module/components/inserter/media-tab/media-panel.js +20 -17
  1270. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  1271. package/build-module/components/inserter/media-tab/media-preview.js +95 -67
  1272. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  1273. package/build-module/components/inserter/media-tab/media-tab.js +46 -36
  1274. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  1275. package/build-module/components/inserter/media-tab/utils.js +2 -2
  1276. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  1277. package/build-module/components/inserter/menu.js +139 -104
  1278. package/build-module/components/inserter/menu.js.map +1 -1
  1279. package/build-module/components/inserter/menu.native.js +36 -28
  1280. package/build-module/components/inserter/menu.native.js.map +1 -1
  1281. package/build-module/components/inserter/mobile-tab-navigation.js +57 -40
  1282. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  1283. package/build-module/components/inserter/no-results.js +11 -7
  1284. package/build-module/components/inserter/no-results.js.map +1 -1
  1285. package/build-module/components/inserter/no-results.native.js +14 -8
  1286. package/build-module/components/inserter/no-results.native.js.map +1 -1
  1287. package/build-module/components/inserter/panel.js +17 -10
  1288. package/build-module/components/inserter/panel.js.map +1 -1
  1289. package/build-module/components/inserter/preview-panel.js +25 -20
  1290. package/build-module/components/inserter/preview-panel.js.map +1 -1
  1291. package/build-module/components/inserter/quick-inserter.js +38 -33
  1292. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  1293. package/build-module/components/inserter/reusable-block-rename-hint.js +21 -18
  1294. package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -1
  1295. package/build-module/components/inserter/reusable-blocks-tab.native.js +2 -2
  1296. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  1297. package/build-module/components/inserter/search-results.js +53 -41
  1298. package/build-module/components/inserter/search-results.js.map +1 -1
  1299. package/build-module/components/inserter/search-results.native.js +3 -3
  1300. package/build-module/components/inserter/search-results.native.js.map +1 -1
  1301. package/build-module/components/inserter/tabs.js +36 -19
  1302. package/build-module/components/inserter/tabs.js.map +1 -1
  1303. package/build-module/components/inserter/tabs.native.js +20 -18
  1304. package/build-module/components/inserter/tabs.native.js.map +1 -1
  1305. package/build-module/components/inserter/tips.js +7 -5
  1306. package/build-module/components/inserter/tips.js.map +1 -1
  1307. package/build-module/components/inserter-button/index.native.js +29 -23
  1308. package/build-module/components/inserter-button/index.native.js.map +1 -1
  1309. package/build-module/components/inserter-button/sparkles.js +8 -7
  1310. package/build-module/components/inserter-button/sparkles.js.map +1 -1
  1311. package/build-module/components/inserter-draggable-blocks/index.js +14 -13
  1312. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  1313. package/build-module/components/inserter-list-item/index.js +70 -63
  1314. package/build-module/components/inserter-list-item/index.js.map +1 -1
  1315. package/build-module/components/inserter-listbox/group.js +2 -2
  1316. package/build-module/components/inserter-listbox/group.js.map +1 -1
  1317. package/build-module/components/inserter-listbox/index.js +6 -4
  1318. package/build-module/components/inserter-listbox/index.js.map +1 -1
  1319. package/build-module/components/inserter-listbox/item.js +10 -8
  1320. package/build-module/components/inserter-listbox/item.js.map +1 -1
  1321. package/build-module/components/inserter-listbox/row.js +2 -2
  1322. package/build-module/components/inserter-listbox/row.js.map +1 -1
  1323. package/build-module/components/inspector-controls/block-support-slot-container.js +2 -2
  1324. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  1325. package/build-module/components/inspector-controls/block-support-tools-panel.js +5 -5
  1326. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  1327. package/build-module/components/inspector-controls/fill.js +22 -17
  1328. package/build-module/components/inspector-controls/fill.js.map +1 -1
  1329. package/build-module/components/inspector-controls/fill.native.js +14 -5
  1330. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  1331. package/build-module/components/inspector-controls/index.js +3 -3
  1332. package/build-module/components/inspector-controls/index.js.map +1 -1
  1333. package/build-module/components/inspector-controls/slot.js +11 -10
  1334. package/build-module/components/inspector-controls/slot.js.map +1 -1
  1335. package/build-module/components/inspector-controls/slot.native.js +3 -3
  1336. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  1337. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +7 -6
  1338. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  1339. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js +11 -9
  1340. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  1341. package/build-module/components/inspector-controls-tabs/index.js +45 -32
  1342. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  1343. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +8 -7
  1344. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  1345. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +21 -18
  1346. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  1347. package/build-module/components/inspector-controls-tabs/settings-tab.js +8 -2
  1348. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  1349. package/build-module/components/inspector-controls-tabs/styles-tab.js +33 -26
  1350. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  1351. package/build-module/components/inspector-popover-header/index.js +32 -26
  1352. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  1353. package/build-module/components/justify-content-control/index.js +3 -3
  1354. package/build-module/components/justify-content-control/index.js.map +1 -1
  1355. package/build-module/components/justify-content-control/ui.js +2 -2
  1356. package/build-module/components/justify-content-control/ui.js.map +1 -1
  1357. package/build-module/components/keyboard-shortcuts/index.js +9 -0
  1358. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  1359. package/build-module/components/letter-spacing-control/index.js +2 -2
  1360. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  1361. package/build-module/components/line-height-control/index.js +17 -16
  1362. package/build-module/components/line-height-control/index.js.map +1 -1
  1363. package/build-module/components/line-height-control/index.native.js +2 -2
  1364. package/build-module/components/line-height-control/index.native.js.map +1 -1
  1365. package/build-module/components/link-control/index.js +103 -83
  1366. package/build-module/components/link-control/index.js.map +1 -1
  1367. package/build-module/components/link-control/link-preview.js +65 -51
  1368. package/build-module/components/link-control/link-preview.js.map +1 -1
  1369. package/build-module/components/link-control/search-create-button.js +6 -5
  1370. package/build-module/components/link-control/search-create-button.js.map +1 -1
  1371. package/build-module/components/link-control/search-input.js +33 -31
  1372. package/build-module/components/link-control/search-input.js.map +1 -1
  1373. package/build-module/components/link-control/search-item.js +12 -11
  1374. package/build-module/components/link-control/search-item.js.map +1 -1
  1375. package/build-module/components/link-control/search-results.js +53 -48
  1376. package/build-module/components/link-control/search-results.js.map +1 -1
  1377. package/build-module/components/link-control/settings-drawer.js +39 -30
  1378. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  1379. package/build-module/components/link-control/settings.js +11 -9
  1380. package/build-module/components/link-control/settings.js.map +1 -1
  1381. package/build-module/components/list-view/appender.js +25 -22
  1382. package/build-module/components/list-view/appender.js.map +1 -1
  1383. package/build-module/components/list-view/aria-referenced-text.js +5 -4
  1384. package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
  1385. package/build-module/components/list-view/block-contents.js +36 -31
  1386. package/build-module/components/list-view/block-contents.js.map +1 -1
  1387. package/build-module/components/list-view/block-select-button.js +61 -44
  1388. package/build-module/components/list-view/block-select-button.js.map +1 -1
  1389. package/build-module/components/list-view/block.js +134 -97
  1390. package/build-module/components/list-view/block.js.map +1 -1
  1391. package/build-module/components/list-view/branch.js +102 -93
  1392. package/build-module/components/list-view/branch.js.map +1 -1
  1393. package/build-module/components/list-view/drop-indicator.js +40 -32
  1394. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  1395. package/build-module/components/list-view/expander.js +8 -6
  1396. package/build-module/components/list-view/expander.js.map +1 -1
  1397. package/build-module/components/list-view/index.js +44 -39
  1398. package/build-module/components/list-view/index.js.map +1 -1
  1399. package/build-module/components/list-view/leaf.js +7 -6
  1400. package/build-module/components/list-view/leaf.js.map +1 -1
  1401. package/build-module/components/media-placeholder/index.js +103 -81
  1402. package/build-module/components/media-placeholder/index.js.map +1 -1
  1403. package/build-module/components/media-placeholder/index.native.js +65 -52
  1404. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  1405. package/build-module/components/media-replace-flow/index.js +75 -61
  1406. package/build-module/components/media-replace-flow/index.js.map +1 -1
  1407. package/build-module/components/media-replace-flow/index.native.js +2 -2
  1408. package/build-module/components/media-replace-flow/index.native.js.map +1 -1
  1409. package/build-module/components/media-upload/index.native.js +46 -40
  1410. package/build-module/components/media-upload/index.native.js.map +1 -1
  1411. package/build-module/components/media-upload-progress/index.native.js +41 -16
  1412. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  1413. package/build-module/components/multi-selection-inspector/index.js +20 -15
  1414. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  1415. package/build-module/components/navigable-toolbar/index.js +9 -7
  1416. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  1417. package/build-module/components/observe-typing/index.js +5 -4
  1418. package/build-module/components/observe-typing/index.js.map +1 -1
  1419. package/build-module/components/panel-color-settings/index.js +2 -2
  1420. package/build-module/components/panel-color-settings/index.js.map +1 -1
  1421. package/build-module/components/plain-text/index.js +5 -5
  1422. package/build-module/components/plain-text/index.js.map +1 -1
  1423. package/build-module/components/plain-text/index.native.js +3 -3
  1424. package/build-module/components/plain-text/index.native.js.map +1 -1
  1425. package/build-module/components/provider/block-refs-provider.js +5 -4
  1426. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1427. package/build-module/components/provider/index.js +12 -8
  1428. package/build-module/components/provider/index.js.map +1 -1
  1429. package/build-module/components/provider/index.native.js +4 -3
  1430. package/build-module/components/provider/index.native.js.map +1 -1
  1431. package/build-module/components/provider/use-block-sync.js +19 -1
  1432. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1433. package/build-module/components/provider/with-registry-provider.js +32 -28
  1434. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1435. package/build-module/components/publish-date-time-picker/index.js +37 -17
  1436. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  1437. package/build-module/components/recursion-provider/index.js +6 -5
  1438. package/build-module/components/recursion-provider/index.js.map +1 -1
  1439. package/build-module/components/resizable-box-popover/index.js +7 -6
  1440. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  1441. package/build-module/components/resolution-tool/index.js +12 -11
  1442. package/build-module/components/resolution-tool/index.js.map +1 -1
  1443. package/build-module/components/responsive-block-control/index.js +32 -27
  1444. package/build-module/components/responsive-block-control/index.js.map +1 -1
  1445. package/build-module/components/responsive-block-control/label.js +13 -7
  1446. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1447. package/build-module/components/rich-text/content.js +8 -5
  1448. package/build-module/components/rich-text/content.js.map +1 -1
  1449. package/build-module/components/rich-text/embed-handler-picker.native.js +2 -2
  1450. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1451. package/build-module/components/rich-text/event-listeners/enter.js +33 -43
  1452. package/build-module/components/rich-text/event-listeners/enter.js.map +1 -1
  1453. package/build-module/components/rich-text/event-listeners/paste-handler.js +23 -43
  1454. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  1455. package/build-module/components/rich-text/format-edit.js +5 -5
  1456. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1457. package/build-module/components/rich-text/format-toolbar/index.js +40 -34
  1458. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1459. package/build-module/components/rich-text/format-toolbar/index.native.js +10 -7
  1460. package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
  1461. package/build-module/components/rich-text/format-toolbar-container.js +17 -12
  1462. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1463. package/build-module/components/rich-text/format-toolbar-container.native.js +5 -4
  1464. package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
  1465. package/build-module/components/rich-text/get-rich-text-values.js +3 -2
  1466. package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
  1467. package/build-module/components/rich-text/index.js +98 -78
  1468. package/build-module/components/rich-text/index.js.map +1 -1
  1469. package/build-module/components/rich-text/index.native.js +54 -48
  1470. package/build-module/components/rich-text/index.native.js.map +1 -1
  1471. package/build-module/components/rich-text/multiline.js +69 -41
  1472. package/build-module/components/rich-text/multiline.js.map +1 -1
  1473. package/build-module/components/rich-text/native/format-edit.js +3 -4
  1474. package/build-module/components/rich-text/native/format-edit.js.map +1 -1
  1475. package/build-module/components/rich-text/native/index.native.js +89 -80
  1476. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  1477. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +20 -14
  1478. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  1479. package/build-module/components/rich-text/toolbar-button.js +8 -7
  1480. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1481. package/build-module/components/rich-text/utils.js +5 -4
  1482. package/build-module/components/rich-text/utils.js.map +1 -1
  1483. package/build-module/components/rich-text/with-deprecations.js +2 -2
  1484. package/build-module/components/rich-text/with-deprecations.js.map +1 -1
  1485. package/build-module/components/segmented-text-control/index.js +21 -18
  1486. package/build-module/components/segmented-text-control/index.js.map +1 -1
  1487. package/build-module/components/skip-to-selected-block/index.js +5 -4
  1488. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1489. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +29 -14
  1490. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  1491. package/build-module/components/spacing-sizes-control/index.js +24 -19
  1492. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  1493. package/build-module/components/spacing-sizes-control/input-controls/axial.js +20 -18
  1494. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  1495. package/build-module/components/spacing-sizes-control/input-controls/separated.js +19 -17
  1496. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  1497. package/build-module/components/spacing-sizes-control/input-controls/single.js +2 -2
  1498. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  1499. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +106 -101
  1500. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  1501. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +44 -34
  1502. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  1503. package/build-module/components/spacing-sizes-control/utils.js +1 -0
  1504. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  1505. package/build-module/components/text-alignment-control/index.js +4 -4
  1506. package/build-module/components/text-alignment-control/index.js.map +1 -1
  1507. package/build-module/components/text-decoration-control/index.js +4 -4
  1508. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1509. package/build-module/components/text-transform-control/index.js +4 -4
  1510. package/build-module/components/text-transform-control/index.js.map +1 -1
  1511. package/build-module/components/tool-selector/index.js +37 -26
  1512. package/build-module/components/tool-selector/index.js.map +1 -1
  1513. package/build-module/components/typewriter/index.js +5 -4
  1514. package/build-module/components/typewriter/index.js.map +1 -1
  1515. package/build-module/components/ungroup-button/index.native.js +8 -6
  1516. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1517. package/build-module/components/unit-control/index.js +2 -2
  1518. package/build-module/components/unit-control/index.js.map +1 -1
  1519. package/build-module/components/unsupported-block-details/index.native.js +32 -28
  1520. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  1521. package/build-module/components/url-input/button.js +32 -28
  1522. package/build-module/components/url-input/button.js.map +1 -1
  1523. package/build-module/components/url-input/index.js +30 -22
  1524. package/build-module/components/url-input/index.js.map +1 -1
  1525. package/build-module/components/url-input/index.native.js +2 -2
  1526. package/build-module/components/url-input/index.native.js.map +1 -1
  1527. package/build-module/components/url-popover/image-url-input-ui.js +106 -91
  1528. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1529. package/build-module/components/url-popover/index.js +25 -19
  1530. package/build-module/components/url-popover/index.js.map +1 -1
  1531. package/build-module/components/url-popover/link-editor.js +18 -16
  1532. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1533. package/build-module/components/url-popover/link-viewer-url.js +8 -7
  1534. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1535. package/build-module/components/url-popover/link-viewer.js +17 -15
  1536. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1537. package/build-module/components/use-block-commands/index.js +2 -2
  1538. package/build-module/components/use-block-commands/index.js.map +1 -1
  1539. package/build-module/components/video-player/gridicon-play.native.js +8 -7
  1540. package/build-module/components/video-player/gridicon-play.native.js.map +1 -1
  1541. package/build-module/components/video-player/index.native.js +44 -40
  1542. package/build-module/components/video-player/index.native.js.map +1 -1
  1543. package/build-module/components/warning/index.js +36 -27
  1544. package/build-module/components/warning/index.js.map +1 -1
  1545. package/build-module/components/warning/index.native.js +18 -13
  1546. package/build-module/components/warning/index.native.js.map +1 -1
  1547. package/build-module/components/writing-flow/index.js +12 -7
  1548. package/build-module/components/writing-flow/index.js.map +1 -1
  1549. package/build-module/components/writing-flow/use-clipboard-handler.js +65 -15
  1550. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  1551. package/build-module/components/writing-flow/use-input.js +45 -3
  1552. package/build-module/components/writing-flow/use-input.js.map +1 -1
  1553. package/build-module/components/writing-flow/use-tab-nav.js +9 -4
  1554. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  1555. package/build-module/components/writing-mode-control/index.js +4 -4
  1556. package/build-module/components/writing-mode-control/index.js.map +1 -1
  1557. package/build-module/hooks/align.js +11 -10
  1558. package/build-module/hooks/align.js.map +1 -1
  1559. package/build-module/hooks/anchor.js +30 -22
  1560. package/build-module/hooks/anchor.js.map +1 -1
  1561. package/build-module/hooks/background.js +7 -6
  1562. package/build-module/hooks/background.js.map +1 -1
  1563. package/build-module/hooks/block-bindings.js +81 -0
  1564. package/build-module/hooks/block-bindings.js.map +1 -0
  1565. package/build-module/hooks/block-hooks.js +42 -33
  1566. package/build-module/hooks/block-hooks.js.map +1 -1
  1567. package/build-module/hooks/block-style-variation.js +136 -0
  1568. package/build-module/hooks/block-style-variation.js.map +1 -0
  1569. package/build-module/hooks/border.js +9 -8
  1570. package/build-module/hooks/border.js.map +1 -1
  1571. package/build-module/hooks/color.js +14 -12
  1572. package/build-module/hooks/color.js.map +1 -1
  1573. package/build-module/hooks/content-lock-ui.js +27 -40
  1574. package/build-module/hooks/content-lock-ui.js.map +1 -1
  1575. package/build-module/hooks/contrast-checker.js +2 -2
  1576. package/build-module/hooks/contrast-checker.js.map +1 -1
  1577. package/build-module/hooks/custom-class-name.js +19 -18
  1578. package/build-module/hooks/custom-class-name.js.map +1 -1
  1579. package/build-module/hooks/custom-class-name.native.js +2 -2
  1580. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  1581. package/build-module/hooks/dimensions.js +28 -23
  1582. package/build-module/hooks/dimensions.js.map +1 -1
  1583. package/build-module/hooks/duotone.js +51 -45
  1584. package/build-module/hooks/duotone.js.map +1 -1
  1585. package/build-module/hooks/font-family.js +3 -3
  1586. package/build-module/hooks/font-family.js.map +1 -1
  1587. package/build-module/hooks/font-size.js +2 -2
  1588. package/build-module/hooks/font-size.js.map +1 -1
  1589. package/build-module/hooks/index.js +4 -2
  1590. package/build-module/hooks/index.js.map +1 -1
  1591. package/build-module/hooks/layout-child.js +37 -25
  1592. package/build-module/hooks/layout-child.js.map +1 -1
  1593. package/build-module/hooks/layout.js +65 -57
  1594. package/build-module/hooks/layout.js.map +1 -1
  1595. package/build-module/hooks/line-height.js +2 -2
  1596. package/build-module/hooks/line-height.js.map +1 -1
  1597. package/build-module/hooks/position.js +30 -28
  1598. package/build-module/hooks/position.js.map +1 -1
  1599. package/build-module/hooks/spacing-visualizer.js +10 -9
  1600. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  1601. package/build-module/hooks/style.js +25 -13
  1602. package/build-module/hooks/style.js.map +1 -1
  1603. package/build-module/hooks/text-align.js +23 -22
  1604. package/build-module/hooks/text-align.js.map +1 -1
  1605. package/build-module/hooks/typography.js +6 -5
  1606. package/build-module/hooks/typography.js.map +1 -1
  1607. package/build-module/hooks/typography.native.js +12 -8
  1608. package/build-module/hooks/typography.native.js.map +1 -1
  1609. package/build-module/hooks/use-bindings-attributes.js +85 -25
  1610. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  1611. package/build-module/hooks/use-color-props.js +2 -2
  1612. package/build-module/hooks/use-color-props.js.map +1 -1
  1613. package/build-module/hooks/use-typography-props.js +5 -5
  1614. package/build-module/hooks/use-typography-props.js.map +1 -1
  1615. package/build-module/hooks/use-zoom-out.js +2 -2
  1616. package/build-module/hooks/use-zoom-out.js.map +1 -1
  1617. package/build-module/hooks/utils.js +20 -19
  1618. package/build-module/hooks/utils.js.map +1 -1
  1619. package/build-module/layouts/constrained.js +68 -58
  1620. package/build-module/layouts/constrained.js.map +1 -1
  1621. package/build-module/layouts/flex.js +77 -61
  1622. package/build-module/layouts/flex.js.map +1 -1
  1623. package/build-module/layouts/grid.js +154 -130
  1624. package/build-module/layouts/grid.js.map +1 -1
  1625. package/build-module/private-apis.js +11 -2
  1626. package/build-module/private-apis.js.map +1 -1
  1627. package/build-module/store/actions.js +172 -46
  1628. package/build-module/store/actions.js.map +1 -1
  1629. package/build-module/store/get-block-settings.js +2 -46
  1630. package/build-module/store/get-block-settings.js.map +1 -1
  1631. package/build-module/store/private-actions.js +24 -0
  1632. package/build-module/store/private-actions.js.map +1 -1
  1633. package/build-module/store/private-keys.js +1 -0
  1634. package/build-module/store/private-keys.js.map +1 -1
  1635. package/build-module/store/private-selectors.js +5 -0
  1636. package/build-module/store/private-selectors.js.map +1 -1
  1637. package/build-module/store/reducer.js +21 -14
  1638. package/build-module/store/reducer.js.map +1 -1
  1639. package/build-module/store/selectors.js +33 -3
  1640. package/build-module/store/selectors.js.map +1 -1
  1641. package/build-module/store/utils.js +1 -0
  1642. package/build-module/store/utils.js.map +1 -1
  1643. package/build-module/utils/selection.js +7 -0
  1644. package/build-module/utils/selection.js.map +1 -1
  1645. package/build-module/utils/transform-styles/index.js +12 -7
  1646. package/build-module/utils/transform-styles/index.js.map +1 -1
  1647. package/build-style/content-rtl.css +93 -96
  1648. package/build-style/content.css +93 -96
  1649. package/build-style/style-rtl.css +105 -76
  1650. package/build-style/style.css +105 -76
  1651. package/build-types/components/block-context/index.d.ts +1 -1
  1652. package/build-types/components/block-context/index.d.ts.map +1 -1
  1653. package/package.json +34 -33
  1654. package/src/components/alignment-control/test/index.js +1 -1
  1655. package/src/components/audio-player/audio-url-parser.native.js +20 -0
  1656. package/src/components/audio-player/index.native.js +221 -0
  1657. package/src/components/audio-player/styles.native.scss +114 -0
  1658. package/src/components/audio-player/test/audio-url-parser.native.js +53 -0
  1659. package/src/components/block-actions/index.js +5 -1
  1660. package/src/components/block-alignment-control/ui.js +2 -2
  1661. package/src/components/block-bindings-toolbar-indicator/index.js +125 -10
  1662. package/src/components/block-bindings-toolbar-indicator/style.scss +7 -8
  1663. package/src/components/block-canvas/style.scss +1 -5
  1664. package/src/components/block-card/index.js +11 -7
  1665. package/src/components/block-card/style.scss +0 -11
  1666. package/src/components/block-compare/index.js +2 -2
  1667. package/src/components/block-content-overlay/content.scss +4 -37
  1668. package/src/components/block-draggable/test/helpers.native.js +8 -8
  1669. package/src/components/block-edit/edit.js +2 -2
  1670. package/src/components/block-edit/index.js +13 -2
  1671. package/src/components/block-edit/multiple-usage-warning.js +46 -0
  1672. package/src/components/block-icon/index.js +2 -2
  1673. package/src/components/block-inspector/index.js +4 -5
  1674. package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -5
  1675. package/src/components/block-list/block-invalid-warning.native.js +1 -1
  1676. package/src/components/block-list/block.js +67 -21
  1677. package/src/components/block-list/block.native.js +19 -11
  1678. package/src/components/block-list/content.scss +46 -73
  1679. package/src/components/block-list/index.js +2 -2
  1680. package/src/components/block-list/use-block-props/index.js +4 -2
  1681. package/src/components/block-list/use-block-props/use-scroll-into-view.js +38 -0
  1682. package/src/components/block-list-appender/index.js +2 -2
  1683. package/src/components/block-mover/button.js +2 -2
  1684. package/src/components/block-mover/index.js +2 -2
  1685. package/src/components/block-patterns-list/index.js +33 -5
  1686. package/src/components/block-patterns-list/style.scss +23 -20
  1687. package/src/components/block-popover/README.md +1 -1
  1688. package/src/components/block-popover/cover.js +22 -7
  1689. package/src/components/block-popover/inbetween.js +2 -2
  1690. package/src/components/block-popover/index.js +24 -6
  1691. package/src/components/block-preview/index.js +2 -2
  1692. package/src/components/block-preview/style.scss +0 -26
  1693. package/src/components/block-settings/container.native.js +2 -0
  1694. package/src/components/block-settings-menu/block-settings-dropdown.js +14 -6
  1695. package/src/components/block-settings-menu-controls/index.js +25 -16
  1696. package/src/components/block-styles/index.js +2 -2
  1697. package/src/components/block-toolbar/index.js +4 -4
  1698. package/src/components/block-tools/block-selection-button.js +2 -2
  1699. package/src/components/block-tools/block-toolbar-breadcrumb.js +5 -5
  1700. package/src/components/block-tools/block-toolbar-popover.js +4 -7
  1701. package/src/components/block-tools/empty-block-inserter.js +2 -2
  1702. package/src/components/block-tools/index.js +30 -8
  1703. package/src/components/block-tools/insertion-point.js +4 -4
  1704. package/src/components/block-tools/style.scss +10 -2
  1705. package/src/components/block-tools/zoom-out-mode-inserters.js +75 -22
  1706. package/src/components/block-variation-picker/index.js +2 -2
  1707. package/src/components/border-radius-control/all-input-control.js +1 -1
  1708. package/src/components/border-radius-control/input-controls.js +1 -1
  1709. package/src/components/button-block-appender/index.js +2 -2
  1710. package/src/components/child-layout-control/index.js +26 -14
  1711. package/src/components/colors/utils.js +2 -2
  1712. package/src/components/colors/with-colors.js +2 -1
  1713. package/src/components/colors-gradients/control.js +6 -14
  1714. package/src/components/colors-gradients/dropdown.js +2 -2
  1715. package/src/components/colors-gradients/panel-color-gradient-settings.js +2 -2
  1716. package/src/components/colors-gradients/test/control.js +3 -3
  1717. package/src/components/contrast-checker/test/index.js +8 -8
  1718. package/src/components/convert-to-group-buttons/index.js +10 -1
  1719. package/src/components/default-block-appender/index.js +2 -2
  1720. package/src/components/dimensions-tool/aspect-ratio-tool.js +41 -68
  1721. package/src/components/dimensions-tool/scale-tool.js +1 -1
  1722. package/src/components/dimensions-tool/test/index.js +10 -0
  1723. package/src/components/dimensions-tool/width-height-tool.js +2 -2
  1724. package/src/components/editable-text/README.md +0 -4
  1725. package/src/components/font-sizes/utils.js +2 -1
  1726. package/src/components/global-styles/background-panel.js +119 -49
  1727. package/src/components/global-styles/border-panel.js +8 -5
  1728. package/src/components/global-styles/color-panel.js +30 -25
  1729. package/src/components/global-styles/color-panel.native.js +1 -1
  1730. package/src/components/global-styles/dimensions-panel.js +11 -12
  1731. package/src/components/global-styles/filters-panel.js +2 -2
  1732. package/src/components/global-styles/hooks.js +13 -1
  1733. package/src/components/global-styles/index.js +3 -0
  1734. package/src/components/global-styles/shadow-panel-components.js +17 -14
  1735. package/src/components/global-styles/test/get-global-styles-changes.js +0 -2
  1736. package/src/components/global-styles/test/theme-file-uri-utils.js +66 -0
  1737. package/src/components/global-styles/test/use-global-styles-context.native.js +434 -0
  1738. package/src/components/global-styles/test/use-global-styles-output.js +13 -12
  1739. package/src/components/global-styles/theme-file-uri-utils.js +77 -0
  1740. package/src/components/global-styles/typography-panel.js +50 -5
  1741. package/src/components/global-styles/use-global-styles-context.native.js +586 -0
  1742. package/src/components/global-styles/use-global-styles-output.js +200 -102
  1743. package/src/components/grid-visualizer/grid-item-resizer.js +169 -40
  1744. package/src/components/grid-visualizer/grid-visualizer.js +27 -7
  1745. package/src/components/grid-visualizer/style.scss +2 -1
  1746. package/src/components/height-control/index.js +1 -1
  1747. package/src/components/iframe/content.scss +67 -0
  1748. package/src/components/iframe/index.js +119 -39
  1749. package/src/components/image-editor/aspect-ratio-dropdown.js +91 -59
  1750. package/src/components/image-editor/cropper.js +2 -2
  1751. package/src/components/image-editor/index.js +1 -1
  1752. package/src/components/image-editor/test/index.js +22 -0
  1753. package/src/components/index.js +1 -0
  1754. package/src/components/index.native.js +7 -0
  1755. package/src/components/inner-blocks/button-block-appender.js +2 -2
  1756. package/src/components/inner-blocks/index.js +19 -17
  1757. package/src/components/inner-blocks/use-nested-settings-update.js +9 -16
  1758. package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -1
  1759. package/src/components/inserter/block-patterns-explorer/pattern-list.js +3 -2
  1760. package/src/components/inserter/block-patterns-tab/index.js +17 -1
  1761. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +16 -2
  1762. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +8 -2
  1763. package/src/components/inserter/block-patterns-tab/patterns-filter.js +3 -2
  1764. package/src/components/inserter/block-types-tab.js +119 -79
  1765. package/src/components/inserter/category-tabs/index.js +1 -1
  1766. package/src/components/inserter/hooks/use-block-types-state.js +21 -5
  1767. package/src/components/inserter/hooks/use-insertion-point.js +68 -8
  1768. package/src/components/inserter/hooks/use-patterns-state.js +18 -5
  1769. package/src/components/inserter/index.js +4 -5
  1770. package/src/components/inserter/library.js +23 -7
  1771. package/src/components/inserter/media-tab/media-preview.js +2 -2
  1772. package/src/components/inserter/menu.js +135 -116
  1773. package/src/components/inserter/quick-inserter.js +5 -3
  1774. package/src/components/inserter/search-results.js +2 -1
  1775. package/src/components/inserter/style.scss +47 -26
  1776. package/src/components/inserter/tabs.js +29 -15
  1777. package/src/components/inserter-list-item/index.js +3 -3
  1778. package/src/components/inspector-controls/fill.native.js +3 -5
  1779. package/src/components/inspector-controls-tabs/index.js +15 -3
  1780. package/src/components/inspector-controls-tabs/style.scss +2 -10
  1781. package/src/components/keyboard-shortcuts/index.js +12 -0
  1782. package/src/components/line-height-control/test/index.js +16 -14
  1783. package/src/components/link-control/index.js +12 -3
  1784. package/src/components/link-control/link-preview.js +3 -3
  1785. package/src/components/link-control/search-results.js +2 -2
  1786. package/src/components/link-control/style.scss +9 -3
  1787. package/src/components/list-view/block-contents.js +3 -3
  1788. package/src/components/list-view/block-select-button.js +14 -3
  1789. package/src/components/list-view/block.js +54 -30
  1790. package/src/components/list-view/drop-indicator.js +3 -3
  1791. package/src/components/list-view/index.js +2 -2
  1792. package/src/components/list-view/leaf.js +2 -5
  1793. package/src/components/media-placeholder/index.js +5 -5
  1794. package/src/components/media-placeholder/index.native.js +2 -2
  1795. package/src/components/media-replace-flow/index.js +2 -2
  1796. package/src/components/media-upload-progress/index.native.js +22 -2
  1797. package/src/components/plain-text/index.js +2 -2
  1798. package/src/components/provider/use-block-sync.js +27 -1
  1799. package/src/components/provider/with-registry-provider.js +33 -38
  1800. package/src/components/publish-date-time-picker/index.js +43 -15
  1801. package/src/components/resolution-tool/index.js +1 -1
  1802. package/src/components/responsive-block-control/index.js +2 -2
  1803. package/src/components/rich-text/README.md +0 -8
  1804. package/src/components/rich-text/event-listeners/enter.js +28 -48
  1805. package/src/components/rich-text/event-listeners/paste-handler.js +21 -58
  1806. package/src/components/rich-text/format-toolbar/index.js +2 -2
  1807. package/src/components/rich-text/index.js +21 -8
  1808. package/src/components/rich-text/index.native.js +2 -2
  1809. package/src/components/rich-text/multiline.js +31 -3
  1810. package/src/components/rich-text/native/index.native.js +3 -2
  1811. package/src/components/rich-text/native/test/index.native.js +13 -13
  1812. package/src/components/segmented-text-control/index.js +2 -2
  1813. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +48 -16
  1814. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -3
  1815. package/src/components/spacing-sizes-control/utils.js +2 -0
  1816. package/src/components/text-alignment-control/index.js +2 -2
  1817. package/src/components/text-decoration-control/index.js +2 -2
  1818. package/src/components/text-transform-control/index.js +2 -2
  1819. package/src/components/url-input/index.js +4 -4
  1820. package/src/components/url-popover/link-editor.js +2 -2
  1821. package/src/components/url-popover/link-viewer-url.js +2 -2
  1822. package/src/components/url-popover/link-viewer.js +2 -2
  1823. package/src/components/video-player/index.native.js +1 -1
  1824. package/src/components/warning/index.js +2 -2
  1825. package/src/components/writing-flow/index.js +2 -2
  1826. package/src/components/writing-flow/use-clipboard-handler.js +96 -33
  1827. package/src/components/writing-flow/use-input.js +75 -1
  1828. package/src/components/writing-flow/use-tab-nav.js +10 -1
  1829. package/src/components/writing-mode-control/index.js +2 -5
  1830. package/src/content.scss +1 -0
  1831. package/src/hooks/align.js +2 -2
  1832. package/src/hooks/background.js +1 -1
  1833. package/src/hooks/block-bindings.js +92 -0
  1834. package/src/hooks/block-bindings.scss +3 -0
  1835. package/src/hooks/block-style-variation.js +156 -0
  1836. package/src/hooks/border.js +3 -3
  1837. package/src/hooks/color.js +12 -19
  1838. package/src/hooks/color.scss +1 -0
  1839. package/src/hooks/content-lock-ui.js +16 -33
  1840. package/src/hooks/custom-class-name.js +2 -2
  1841. package/src/hooks/custom-class-name.native.js +2 -2
  1842. package/src/hooks/dimensions.js +2 -2
  1843. package/src/hooks/font-family.js +1 -1
  1844. package/src/hooks/index.js +4 -0
  1845. package/src/hooks/layout-child.js +34 -20
  1846. package/src/hooks/layout.js +3 -4
  1847. package/src/hooks/position.js +3 -3
  1848. package/src/hooks/style.js +9 -1
  1849. package/src/hooks/text-align.js +20 -14
  1850. package/src/hooks/use-bindings-attributes.js +93 -18
  1851. package/src/hooks/use-color-props.js +2 -2
  1852. package/src/hooks/use-typography-props.js +4 -3
  1853. package/src/hooks/use-zoom-out.js +9 -2
  1854. package/src/hooks/utils.js +23 -6
  1855. package/src/layouts/flex.js +2 -2
  1856. package/src/layouts/grid.js +8 -12
  1857. package/src/private-apis.js +10 -0
  1858. package/src/store/actions.js +261 -73
  1859. package/src/store/get-block-settings.js +1 -46
  1860. package/src/store/private-actions.js +24 -0
  1861. package/src/store/private-keys.js +1 -0
  1862. package/src/store/private-selectors.js +15 -0
  1863. package/src/store/reducer.js +24 -11
  1864. package/src/store/selectors.js +65 -8
  1865. package/src/store/utils.js +2 -0
  1866. package/src/style.scss +1 -0
  1867. package/src/utils/selection.js +8 -0
  1868. package/src/utils/test/__snapshots__/transform-styles.js.snap +6 -0
  1869. package/src/utils/test/transform-styles.js +14 -0
  1870. package/src/utils/transform-styles/index.js +14 -9
  1871. package/tsconfig.tsbuildinfo +1 -1
  1872. package/build/components/rich-text/split-value.js +0 -81
  1873. package/build/components/rich-text/split-value.js.map +0 -1
  1874. package/build-module/components/rich-text/split-value.js +0 -75
  1875. package/build-module/components/rich-text/split-value.js.map +0 -1
  1876. package/src/components/rich-text/split-value.js +0 -64
@@ -1,13 +1,12 @@
1
- import { createElement, Fragment } from "react";
2
1
  /**
3
2
  * External dependencies
4
3
  */
5
- import classnames from 'classnames';
4
+ import clsx from 'clsx';
6
5
 
7
6
  /**
8
7
  * WordPress dependencies
9
8
  */
10
- import { useState, createPortal, forwardRef, useMemo, useEffect } from '@wordpress/element';
9
+ import { useState, createPortal, forwardRef, useMemo, useEffect, useRef } from '@wordpress/element';
11
10
  import { __ } from '@wordpress/i18n';
12
11
  import { useResizeObserver, useMergeRefs, useRefEffect, useDisabled } from '@wordpress/compose';
13
12
  import { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';
@@ -20,6 +19,9 @@ import { useBlockSelectionClearer } from '../block-selection-clearer';
20
19
  import { useWritingFlow } from '../writing-flow';
21
20
  import { getCompatibilityStyles } from './get-compatibility-styles';
22
21
  import { store as blockEditorStore } from '../../store';
22
+ import { jsx as _jsx } from "react/jsx-runtime";
23
+ import { jsxs as _jsxs } from "react/jsx-runtime";
24
+ import { Fragment as _Fragment } from "react/jsx-runtime";
23
25
  function bubbleEvent(event, Constructor, frame) {
24
26
  const init = {};
25
27
  for (const key in event) {
@@ -117,12 +119,15 @@ function Iframe({
117
119
  scripts = ''
118
120
  } = resolvedAssets;
119
121
  const [iframeDocument, setIframeDocument] = useState();
122
+ const prevContainerWidth = useRef();
120
123
  const [bodyClasses, setBodyClasses] = useState([]);
121
124
  const clearerRef = useBlockSelectionClearer();
122
125
  const [before, writingFlowRef, after] = useWritingFlow();
123
126
  const [contentResizeListener, {
124
- height: contentHeight,
125
- width: contentWidth
127
+ height: contentHeight
128
+ }] = useResizeObserver();
129
+ const [containerResizeListener, {
130
+ width: containerWidth
126
131
  }] = useResizeObserver();
127
132
  const setRef = useRefEffect(node => {
128
133
  node._load = () => {
@@ -171,8 +176,10 @@ function Iframe({
171
176
  iFrameDocument?.removeEventListener('drop', preventFileDropDefault);
172
177
  };
173
178
  }, []);
174
- const windowResizeRef = useRefEffect(node => {
179
+ const [iframeWindowInnerHeight, setIframeWindowInnerHeight] = useState();
180
+ const iframeResizeRef = useRefEffect(node => {
175
181
  const nodeWindow = node.ownerDocument.defaultView;
182
+ setIframeWindowInnerHeight(nodeWindow.innerHeight);
176
183
  const onResize = () => {
177
184
  setIframeWindowInnerHeight(nodeWindow.innerHeight);
178
185
  };
@@ -181,7 +188,24 @@ function Iframe({
181
188
  nodeWindow.removeEventListener('resize', onResize);
182
189
  };
183
190
  }, []);
184
- const [iframeWindowInnerHeight, setIframeWindowInnerHeight] = useState();
191
+ const [windowInnerWidth, setWindowInnerWidth] = useState();
192
+ const windowResizeRef = useRefEffect(node => {
193
+ const nodeWindow = node.ownerDocument.defaultView;
194
+ setWindowInnerWidth(nodeWindow.innerWidth);
195
+ const onResize = () => {
196
+ setWindowInnerWidth(nodeWindow.innerWidth);
197
+ };
198
+ nodeWindow.addEventListener('resize', onResize);
199
+ return () => {
200
+ nodeWindow.removeEventListener('resize', onResize);
201
+ };
202
+ }, []);
203
+ const isZoomedOut = scale !== 1;
204
+ useEffect(() => {
205
+ if (!isZoomedOut) {
206
+ prevContainerWidth.current = containerWidth;
207
+ }
208
+ }, [containerWidth, isZoomedOut]);
185
209
  const disabledRef = useDisabled({
186
210
  isDisabled: !readonly
187
211
  });
@@ -189,7 +213,7 @@ function Iframe({
189
213
  // Avoid resize listeners when not needed, these will trigger
190
214
  // unnecessary re-renders when animating the iframe width, or when
191
215
  // expanding preview iframes.
192
- scale === 1 ? null : windowResizeRef]);
216
+ isZoomedOut ? iframeResizeRef : null]);
193
217
 
194
218
  // Correct doctype is required to enable rendering in standards
195
219
  // mode. Also preload the styles to avoid a flash of unstyled
@@ -226,76 +250,101 @@ function Iframe({
226
250
  return [_src, () => URL.revokeObjectURL(_src)];
227
251
  }, [html]);
228
252
  useEffect(() => cleanup, [cleanup]);
229
- scale = typeof scale === 'function' ? scale(contentWidth, contentHeight) : scale;
230
253
  useEffect(() => {
231
- if (!iframeDocument) {
254
+ if (!iframeDocument || !isZoomedOut) {
232
255
  return;
233
256
  }
234
- if (scale !== 1) {
235
- // Hack to get proper margins when scaling the iframe document.
236
- const bottomFrameSize = frameSize - contentHeight * (1 - scale);
237
- iframeDocument.body.classList.add('is-zoomed-out');
238
- iframeDocument.documentElement.style.transform = `scale( ${scale} )`;
239
- iframeDocument.documentElement.style.marginTop = `${frameSize}px`;
240
- // TODO: `marginBottom` doesn't work in Firefox. We need another way to do this.
241
- iframeDocument.documentElement.style.marginBottom = `${bottomFrameSize}px`;
242
- if (iframeWindowInnerHeight > contentHeight * scale) {
243
- iframeDocument.body.style.minHeight = `${Math.floor((iframeWindowInnerHeight - 2 * frameSize) / scale)}px`;
244
- }
245
- return () => {
246
- iframeDocument.body.classList.remove('is-zoomed-out');
247
- iframeDocument.documentElement.style.transform = '';
248
- iframeDocument.documentElement.style.marginTop = '';
249
- iframeDocument.documentElement.style.marginBottom = '';
250
- iframeDocument.body.style.minHeight = '';
251
- };
252
- }
253
- }, [scale, frameSize, iframeDocument, contentHeight, iframeWindowInnerHeight, contentWidth]);
257
+ iframeDocument.documentElement.classList.add('is-zoomed-out');
258
+ const maxWidth = 800;
259
+ iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-scale', scale === 'default' ? Math.min(containerWidth, maxWidth) / prevContainerWidth.current : scale);
260
+ iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-frame-size', typeof frameSize === 'number' ? `${frameSize}px` : frameSize);
261
+ iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-content-height', `${contentHeight}px`);
262
+ iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-inner-height', `${iframeWindowInnerHeight}px`);
263
+ iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-container-width', `${containerWidth}px`);
264
+ iframeDocument.documentElement.style.setProperty('--wp-block-editor-iframe-zoom-out-prev-container-width', `${prevContainerWidth.current}px`);
265
+ return () => {
266
+ iframeDocument.documentElement.classList.remove('is-zoomed-out');
267
+ iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-scale');
268
+ iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-frame-size');
269
+ iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-content-height');
270
+ iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-inner-height');
271
+ iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-container-width');
272
+ iframeDocument.documentElement.style.removeProperty('--wp-block-editor-iframe-zoom-out-prev-container-width');
273
+ };
274
+ }, [scale, frameSize, iframeDocument, iframeWindowInnerHeight, contentHeight, containerWidth, windowInnerWidth, isZoomedOut]);
254
275
 
255
276
  // Make sure to not render the before and after focusable div elements in view
256
277
  // mode. They're only needed to capture focus in edit mode.
257
278
  const shouldRenderFocusCaptureElements = tabIndex >= 0 && !isPreviewMode;
258
- return createElement(Fragment, null, shouldRenderFocusCaptureElements && before, createElement("iframe", {
259
- ...props,
260
- style: {
261
- border: 0,
262
- ...props.style,
263
- height: props.style?.height,
264
- transition: 'all .3s'
265
- },
266
- ref: useMergeRefs([ref, setRef]),
267
- tabIndex: tabIndex
268
- // Correct doctype is required to enable rendering in standards
269
- // mode. Also preload the styles to avoid a flash of unstyled
270
- // content.
271
- ,
272
- src: src,
273
- title: title,
274
- onKeyDown: event => {
275
- if (props.onKeyDown) {
276
- props.onKeyDown(event);
277
- }
278
- // If the event originates from inside the iframe, it means
279
- // it bubbled through the portal, but only with React
280
- // events. We need to to bubble native events as well,
281
- // though by doing so we also trigger another React event,
282
- // so we need to stop the propagation of this event to avoid
283
- // duplication.
284
- if (event.currentTarget.ownerDocument !== event.target.ownerDocument) {
285
- event.stopPropagation();
286
- bubbleEvent(event, window.KeyboardEvent, event.currentTarget);
287
- }
288
- }
289
- }, iframeDocument && createPortal(
290
- // We want to prevent React events from bubbling throught the iframe
291
- // we bubble these manually.
292
- /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */
293
- createElement("body", {
294
- ref: bodyRef,
295
- className: classnames('block-editor-iframe__body', 'editor-styles-wrapper', ...bodyClasses)
296
- }, contentResizeListener, createElement(StyleProvider, {
297
- document: iframeDocument
298
- }, children)), iframeDocument.documentElement)), shouldRenderFocusCaptureElements && after);
279
+ const iframe = /*#__PURE__*/_jsxs(_Fragment, {
280
+ children: [shouldRenderFocusCaptureElements && before, /*#__PURE__*/_jsx("iframe", {
281
+ ...props,
282
+ style: {
283
+ border: 0,
284
+ ...props.style,
285
+ height: props.style?.height,
286
+ transition: 'all .3s'
287
+ },
288
+ ref: useMergeRefs([ref, setRef]),
289
+ tabIndex: tabIndex
290
+ // Correct doctype is required to enable rendering in standards
291
+ // mode. Also preload the styles to avoid a flash of unstyled
292
+ // content.
293
+ ,
294
+ src: src,
295
+ title: title,
296
+ onKeyDown: event => {
297
+ if (props.onKeyDown) {
298
+ props.onKeyDown(event);
299
+ }
300
+ // If the event originates from inside the iframe, it means
301
+ // it bubbled through the portal, but only with React
302
+ // events. We need to to bubble native events as well,
303
+ // though by doing so we also trigger another React event,
304
+ // so we need to stop the propagation of this event to avoid
305
+ // duplication.
306
+ if (event.currentTarget.ownerDocument !== event.target.ownerDocument) {
307
+ // We should only stop propagation of the React event,
308
+ // the native event should further bubble inside the
309
+ // iframe to the document and window.
310
+ // Alternatively, we could consider redispatching the
311
+ // native event in the iframe.
312
+ const {
313
+ stopPropagation
314
+ } = event.nativeEvent;
315
+ event.nativeEvent.stopPropagation = () => {};
316
+ event.stopPropagation();
317
+ event.nativeEvent.stopPropagation = stopPropagation;
318
+ bubbleEvent(event, window.KeyboardEvent, event.currentTarget);
319
+ }
320
+ },
321
+ children: iframeDocument && createPortal(
322
+ /*#__PURE__*/
323
+ // We want to prevent React events from bubbling throught the iframe
324
+ // we bubble these manually.
325
+ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */
326
+ _jsxs("body", {
327
+ ref: bodyRef,
328
+ className: clsx('block-editor-iframe__body', 'editor-styles-wrapper', ...bodyClasses),
329
+ children: [contentResizeListener, /*#__PURE__*/_jsx(StyleProvider, {
330
+ document: iframeDocument,
331
+ children: children
332
+ })]
333
+ }), iframeDocument.documentElement)
334
+ }), shouldRenderFocusCaptureElements && after]
335
+ });
336
+ return /*#__PURE__*/_jsxs("div", {
337
+ className: "block-editor-iframe__container",
338
+ ref: windowResizeRef,
339
+ children: [containerResizeListener, /*#__PURE__*/_jsx("div", {
340
+ className: clsx('block-editor-iframe__scale-container', isZoomedOut && 'is-zoomed-out'),
341
+ style: {
342
+ '--wp-block-editor-iframe-zoom-out-container-width': isZoomedOut && `${containerWidth}px`,
343
+ '--wp-block-editor-iframe-zoom-out-prev-container-width': isZoomedOut && `${prevContainerWidth.current}px`
344
+ },
345
+ children: iframe
346
+ })]
347
+ });
299
348
  }
300
349
  function IframeIfReady(props, ref) {
301
350
  const isInitialised = useSelect(select => select(blockEditorStore).getSettings().__internalIsInitialized, []);
@@ -308,7 +357,7 @@ function IframeIfReady(props, ref) {
308
357
  if (!isInitialised) {
309
358
  return null;
310
359
  }
311
- return createElement(Iframe, {
360
+ return /*#__PURE__*/_jsx(Iframe, {
312
361
  ...props,
313
362
  forwardedRef: ref
314
363
  });
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useState","createPortal","forwardRef","useMemo","useEffect","__","useResizeObserver","useMergeRefs","useRefEffect","useDisabled","__experimentalStyleProvider","StyleProvider","useSelect","useBlockSelectionClearer","useWritingFlow","getCompatibilityStyles","store","blockEditorStore","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","bodyClasses","setBodyClasses","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","width","contentWidth","setRef","node","_load","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","classList","add","Array","from","body","filter","startsWith","dir","compatStyle","getElementById","id","head","appendChild","cloneNode","console","warn","windowResizeRef","nodeWindow","onResize","setIframeWindowInnerHeight","innerHeight","iframeWindowInnerHeight","disabledRef","isDisabled","bodyRef","src","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","bottomFrameSize","style","transform","marginTop","marginBottom","minHeight","Math","floor","remove","shouldRenderFocusCaptureElements","createElement","Fragment","border","transition","onKeyDown","currentTarget","target","stopPropagation","KeyboardEvent","className","document","IframeIfReady","isInitialised","__internalIsInitialized"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { 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 [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [\n\t\tcontentResizeListener,\n\t\t{ height: contentHeight, width: contentWidth },\n\t] = useResizeObserver();\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 windowResizeRef = useRefEffect( ( node ) => {\n\t\tconst nodeWindow = node.ownerDocument.defaultView;\n\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 [ iframeWindowInnerHeight, setIframeWindowInnerHeight ] = useState();\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\tscale === 1 ? null : windowResizeRef,\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\tscale =\n\t\ttypeof scale === 'function'\n\t\t\t? scale( contentWidth, contentHeight )\n\t\t\t: scale;\n\n\tuseEffect( () => {\n\t\tif ( ! iframeDocument ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( scale !== 1 ) {\n\t\t\t// Hack to get proper margins when scaling the iframe document.\n\t\t\tconst bottomFrameSize = frameSize - contentHeight * ( 1 - scale );\n\n\t\t\tiframeDocument.body.classList.add( 'is-zoomed-out' );\n\n\t\t\tiframeDocument.documentElement.style.transform = `scale( ${ scale } )`;\n\t\t\tiframeDocument.documentElement.style.marginTop = `${ frameSize }px`;\n\t\t\t// TODO: `marginBottom` doesn't work in Firefox. We need another way to do this.\n\t\t\tiframeDocument.documentElement.style.marginBottom = `${ bottomFrameSize }px`;\n\t\t\tif ( iframeWindowInnerHeight > contentHeight * scale ) {\n\t\t\t\tiframeDocument.body.style.minHeight = `${ Math.floor(\n\t\t\t\t\t( iframeWindowInnerHeight - 2 * frameSize ) / scale\n\t\t\t\t) }px`;\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tiframeDocument.body.classList.remove( 'is-zoomed-out' );\n\t\t\t\tiframeDocument.documentElement.style.transform = '';\n\t\t\t\tiframeDocument.documentElement.style.marginTop = '';\n\t\t\t\tiframeDocument.documentElement.style.marginBottom = '';\n\t\t\t\tiframeDocument.body.style.minHeight = '';\n\t\t\t};\n\t\t}\n\t}, [\n\t\tscale,\n\t\tframeSize,\n\t\tiframeDocument,\n\t\tcontentHeight,\n\t\tiframeWindowInnerHeight,\n\t\tcontentWidth,\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\treturn (\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\tborder: 0,\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: props.style?.height,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ 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\tevent.stopPropagation();\n\t\t\t\t\t\tbubbleEvent(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\twindow.KeyboardEvent,\n\t\t\t\t\t\t\tevent.currentTarget\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t// We want to prevent React events from bubbling throught the iframe\n\t\t\t\t\t\t// we bubble these manually.\n\t\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t</body>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ shouldRenderFocusCaptureElements && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"],"mappings":"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","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","prevContainerWidth","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","border","transition","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 prevContainerWidth = 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\tprevContainerWidth.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 = 800;\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\tprevContainerWidth.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`${ prevContainerWidth.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\tborder: 0,\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: props.style?.height,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ 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 && `${ prevContainerWidth.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,4 +1,3 @@
1
- import { createElement, Fragment } from "react";
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -9,30 +8,54 @@ import { __ } from '@wordpress/i18n';
9
8
  /**
10
9
  * Internal dependencies
11
10
  */
11
+ import { useSettings } from '../use-settings';
12
12
  import { POPOVER_PROPS } from './constants';
13
13
  import { useImageEditingContext } from './context';
14
- function AspectGroup({
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";
17
+ function AspectRatioGroup({
15
18
  aspectRatios,
16
19
  isDisabled,
17
20
  label,
18
21
  onClick,
19
22
  value
20
23
  }) {
21
- return createElement(MenuGroup, {
22
- label: label
23
- }, aspectRatios.map(({
24
- title,
25
- aspect
26
- }) => createElement(MenuItem, {
27
- key: aspect,
28
- disabled: isDisabled,
29
- onClick: () => {
30
- onClick(aspect);
31
- },
32
- role: "menuitemradio",
33
- isSelected: aspect === value,
34
- icon: aspect === value ? check : undefined
35
- }, title)));
24
+ return /*#__PURE__*/_jsx(MenuGroup, {
25
+ label: label,
26
+ children: aspectRatios.map(({
27
+ name,
28
+ slug,
29
+ ratio
30
+ }) => /*#__PURE__*/_jsx(MenuItem, {
31
+ disabled: isDisabled,
32
+ onClick: () => {
33
+ onClick(ratio);
34
+ },
35
+ role: "menuitemradio",
36
+ isSelected: ratio === value,
37
+ icon: ratio === value ? check : undefined,
38
+ children: name
39
+ }, slug))
40
+ });
41
+ }
42
+ export function ratioToNumber(str) {
43
+ // TODO: support two-value aspect ratio?
44
+ // https://css-tricks.com/almanac/properties/a/aspect-ratio/#aa-it-can-take-two-values
45
+ const [a, b, ...rest] = str.split('/').map(Number);
46
+ if (a <= 0 || b <= 0 || Number.isNaN(a) || Number.isNaN(b) || rest.length) {
47
+ return NaN;
48
+ }
49
+ return b ? a / b : a;
50
+ }
51
+ function presetRatioAsNumber({
52
+ ratio,
53
+ ...rest
54
+ }) {
55
+ return {
56
+ ratio: ratioToNumber(ratio),
57
+ ...rest
58
+ };
36
59
  }
37
60
  export default function AspectRatioDropdown({
38
61
  toggleProps
@@ -43,66 +66,65 @@ export default function AspectRatioDropdown({
43
66
  setAspect,
44
67
  defaultAspect
45
68
  } = useImageEditingContext();
46
- return createElement(DropdownMenu, {
69
+ const [defaultRatios, themeRatios, showDefaultRatios] = useSettings('dimensions.aspectRatios.default', 'dimensions.aspectRatios.theme', 'dimensions.defaultAspectRatios');
70
+ return /*#__PURE__*/_jsx(DropdownMenu, {
47
71
  icon: aspectRatioIcon,
48
72
  label: __('Aspect Ratio'),
49
73
  popoverProps: POPOVER_PROPS,
50
74
  toggleProps: toggleProps,
51
- className: "wp-block-image__aspect-ratio"
52
- }, ({
53
- onClose
54
- }) => createElement(Fragment, null, createElement(AspectGroup, {
55
- isDisabled: isInProgress,
56
- onClick: newAspect => {
57
- setAspect(newAspect);
58
- onClose();
59
- },
60
- value: aspect,
61
- aspectRatios: [
62
- // All ratios should be mirrored in AspectRatioTool in @wordpress/block-editor.
63
- {
64
- title: __('Original'),
65
- aspect: defaultAspect
66
- }, {
67
- title: __('Square'),
68
- aspect: 1
69
- }]
70
- }), createElement(AspectGroup, {
71
- label: __('Landscape'),
72
- isDisabled: isInProgress,
73
- onClick: newAspect => {
74
- setAspect(newAspect);
75
- onClose();
76
- },
77
- value: aspect,
78
- aspectRatios: [{
79
- title: __('16:9'),
80
- aspect: 16 / 9
81
- }, {
82
- title: __('4:3'),
83
- aspect: 4 / 3
84
- }, {
85
- title: __('3:2'),
86
- aspect: 3 / 2
87
- }]
88
- }), createElement(AspectGroup, {
89
- label: __('Portrait'),
90
- isDisabled: isInProgress,
91
- onClick: newAspect => {
92
- setAspect(newAspect);
93
- onClose();
94
- },
95
- value: aspect,
96
- aspectRatios: [{
97
- title: __('9:16'),
98
- aspect: 9 / 16
99
- }, {
100
- title: __('3:4'),
101
- aspect: 3 / 4
102
- }, {
103
- title: __('2:3'),
104
- aspect: 2 / 3
105
- }]
106
- })));
75
+ className: "wp-block-image__aspect-ratio",
76
+ children: ({
77
+ onClose
78
+ }) => /*#__PURE__*/_jsxs(_Fragment, {
79
+ children: [/*#__PURE__*/_jsx(AspectRatioGroup, {
80
+ isDisabled: isInProgress,
81
+ onClick: newAspect => {
82
+ setAspect(newAspect);
83
+ onClose();
84
+ },
85
+ value: aspect,
86
+ aspectRatios: [
87
+ // All ratios should be mirrored in AspectRatioTool in @wordpress/block-editor.
88
+ {
89
+ slug: 'original',
90
+ name: __('Original'),
91
+ aspect: defaultAspect
92
+ }, ...(showDefaultRatios ? defaultRatios.map(presetRatioAsNumber).filter(({
93
+ ratio
94
+ }) => ratio === 1) : [])]
95
+ }), themeRatios?.length > 0 && /*#__PURE__*/_jsx(AspectRatioGroup, {
96
+ label: __('Theme'),
97
+ isDisabled: isInProgress,
98
+ onClick: newAspect => {
99
+ setAspect(newAspect);
100
+ onClose();
101
+ },
102
+ value: aspect,
103
+ aspectRatios: themeRatios
104
+ }), showDefaultRatios && /*#__PURE__*/_jsx(AspectRatioGroup, {
105
+ label: __('Landscape'),
106
+ isDisabled: isInProgress,
107
+ onClick: newAspect => {
108
+ setAspect(newAspect);
109
+ onClose();
110
+ },
111
+ value: aspect,
112
+ aspectRatios: defaultRatios.map(presetRatioAsNumber).filter(({
113
+ ratio
114
+ }) => ratio > 1)
115
+ }), showDefaultRatios && /*#__PURE__*/_jsx(AspectRatioGroup, {
116
+ label: __('Portrait'),
117
+ isDisabled: isInProgress,
118
+ onClick: newAspect => {
119
+ setAspect(newAspect);
120
+ onClose();
121
+ },
122
+ value: aspect,
123
+ aspectRatios: defaultRatios.map(presetRatioAsNumber).filter(({
124
+ ratio
125
+ }) => ratio < 1)
126
+ })]
127
+ })
128
+ });
107
129
  }
108
130
  //# sourceMappingURL=aspect-ratio-dropdown.js.map