@wordpress/block-editor 12.2.0 → 12.3.1

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 (1881) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +12 -0
  3. package/build/autocompleters/block.js +6 -6
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/alignment-control/index.js +4 -6
  6. package/build/components/alignment-control/index.js.map +1 -1
  7. package/build/components/alignment-control/ui.js +14 -20
  8. package/build/components/alignment-control/ui.js.map +1 -1
  9. package/build/components/autocomplete/index.js +5 -8
  10. package/build/components/autocomplete/index.js.map +1 -1
  11. package/build/components/block-actions/index.js +12 -12
  12. package/build/components/block-actions/index.js.map +1 -1
  13. package/build/components/block-alignment-control/constants.js +1 -5
  14. package/build/components/block-alignment-control/constants.js.map +1 -1
  15. package/build/components/block-alignment-control/index.js +4 -6
  16. package/build/components/block-alignment-control/index.js.map +1 -1
  17. package/build/components/block-alignment-control/ui.js +20 -25
  18. package/build/components/block-alignment-control/ui.js.map +1 -1
  19. package/build/components/block-alignment-control/ui.native.js +17 -20
  20. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  21. package/build/components/block-alignment-control/use-available-alignments.js +5 -10
  22. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  23. package/build/components/block-alignment-matrix-control/index.js +4 -7
  24. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  25. package/build/components/block-breadcrumb/index.js +5 -7
  26. package/build/components/block-breadcrumb/index.js.map +1 -1
  27. package/build/components/block-caption/index.native.js +30 -35
  28. package/build/components/block-caption/index.native.js.map +1 -1
  29. package/build/components/block-card/index.js +7 -9
  30. package/build/components/block-card/index.js.map +1 -1
  31. package/build/components/block-compare/block-view.js +8 -9
  32. package/build/components/block-compare/block-view.js.map +1 -1
  33. package/build/components/block-compare/index.js +7 -9
  34. package/build/components/block-compare/index.js.map +1 -1
  35. package/build/components/block-context/index.js +4 -5
  36. package/build/components/block-context/index.js.map +1 -1
  37. package/build/components/block-controls/fill.js +16 -22
  38. package/build/components/block-controls/fill.js.map +1 -1
  39. package/build/components/block-controls/hook.js +1 -3
  40. package/build/components/block-controls/hook.js.map +1 -1
  41. package/build/components/block-controls/index.js +8 -8
  42. package/build/components/block-controls/index.js.map +1 -1
  43. package/build/components/block-controls/slot.js +28 -20
  44. package/build/components/block-controls/slot.js.map +1 -1
  45. package/build/components/block-controls/slot.native.js +9 -17
  46. package/build/components/block-controls/slot.native.js.map +1 -1
  47. package/build/components/block-draggable/draggable-chip.js +5 -6
  48. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  49. package/build/components/block-draggable/draggable-chip.native.js +3 -4
  50. package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
  51. package/build/components/block-draggable/dropping-insertion-point.native.js +6 -7
  52. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  53. package/build/components/block-draggable/index.js +15 -16
  54. package/build/components/block-draggable/index.js.map +1 -1
  55. package/build/components/block-draggable/index.native.js +43 -58
  56. package/build/components/block-draggable/index.native.js.map +1 -1
  57. package/build/components/block-edit/edit.js +5 -10
  58. package/build/components/block-edit/edit.js.map +1 -1
  59. package/build/components/block-edit/edit.native.js +3 -8
  60. package/build/components/block-edit/edit.native.js.map +1 -1
  61. package/build/components/block-edit/index.js +3 -2
  62. package/build/components/block-edit/index.js.map +1 -1
  63. package/build/components/block-edit-visually-button/index.js +3 -4
  64. package/build/components/block-edit-visually-button/index.js.map +1 -1
  65. package/build/components/block-full-height-alignment-control/index.js +6 -7
  66. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  67. package/build/components/block-heading-level-dropdown/heading-level-icon.js +47 -0
  68. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  69. package/build/components/block-heading-level-dropdown/index.js +83 -0
  70. package/build/components/block-heading-level-dropdown/index.js.map +1 -0
  71. package/build/components/block-heading-level-dropdown/index.native.js +72 -0
  72. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -0
  73. package/build/components/block-icon/index.js +7 -11
  74. package/build/components/block-icon/index.js.map +1 -1
  75. package/build/components/block-icon/index.native.js +15 -20
  76. package/build/components/block-icon/index.native.js.map +1 -1
  77. package/build/components/block-info-slot-fill/index.js +4 -2
  78. package/build/components/block-info-slot-fill/index.js.map +1 -1
  79. package/build/components/block-inspector/index.js +45 -122
  80. package/build/components/block-inspector/index.js.map +1 -1
  81. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  82. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  83. package/build/components/block-list/block-html.js +3 -4
  84. package/build/components/block-list/block-html.js.map +1 -1
  85. package/build/components/block-list/block-invalid-warning.js +3 -4
  86. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  87. package/build/components/block-list/block-invalid-warning.native.js +10 -15
  88. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  89. package/build/components/block-list/block-list-context.native.js +5 -11
  90. package/build/components/block-list/block-list-context.native.js.map +1 -1
  91. package/build/components/block-list/block-list-item-cell.native.js +5 -6
  92. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  93. package/build/components/block-list/block-list-item.native.js +21 -20
  94. package/build/components/block-list/block-list-item.native.js.map +1 -1
  95. package/build/components/block-list/block-outline.native.js +8 -9
  96. package/build/components/block-list/block-outline.native.js.map +1 -1
  97. package/build/components/block-list/block-selection-button.native.js +10 -12
  98. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  99. package/build/components/block-list/block.js +45 -50
  100. package/build/components/block-list/block.js.map +1 -1
  101. package/build/components/block-list/block.native.js +56 -68
  102. package/build/components/block-list/block.native.js.map +1 -1
  103. package/build/components/block-list/index.js +18 -18
  104. package/build/components/block-list/index.js.map +1 -1
  105. package/build/components/block-list/index.native.js +80 -90
  106. package/build/components/block-list/index.native.js.map +1 -1
  107. package/build/components/block-list/insertion-point.native.js +4 -5
  108. package/build/components/block-list/insertion-point.native.js.map +1 -1
  109. package/build/components/block-list/layout.js +6 -9
  110. package/build/components/block-list/layout.js.map +1 -1
  111. package/build/components/block-list/subdirectory-icon.js +11 -17
  112. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  113. package/build/components/block-list/use-block-props/index.js +15 -11
  114. package/build/components/block-list/use-block-props/index.js.map +1 -1
  115. package/build/components/block-list/use-block-props/index.native.js +1 -2
  116. package/build/components/block-list/use-block-props/index.native.js.map +1 -1
  117. package/build/components/block-list/use-block-props/use-block-custom-class-name.js +2 -2
  118. package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
  119. package/build/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
  120. package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
  121. package/build/components/block-list/use-in-between-inserter.js +2 -6
  122. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  123. package/build/components/block-list-appender/index.js +36 -33
  124. package/build/components/block-list-appender/index.js.map +1 -1
  125. package/build/components/block-list-appender/index.native.js +9 -11
  126. package/build/components/block-list-appender/index.native.js.map +1 -1
  127. package/build/components/block-lock/menu-item.js +3 -4
  128. package/build/components/block-lock/menu-item.js.map +1 -1
  129. package/build/components/block-lock/modal.js +6 -9
  130. package/build/components/block-lock/modal.js.map +1 -1
  131. package/build/components/block-lock/toolbar.js +4 -10
  132. package/build/components/block-lock/toolbar.js.map +1 -1
  133. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +50 -68
  134. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  135. package/build/components/block-mobile-toolbar/index.native.js +26 -34
  136. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  137. package/build/components/block-mover/button.js +18 -19
  138. package/build/components/block-mover/button.js.map +1 -1
  139. package/build/components/block-mover/index.js +16 -18
  140. package/build/components/block-mover/index.js.map +1 -1
  141. package/build/components/block-mover/index.native.js +23 -46
  142. package/build/components/block-mover/index.native.js.map +1 -1
  143. package/build/components/block-mover/mover-description.native.js +7 -10
  144. package/build/components/block-mover/mover-description.native.js.map +1 -1
  145. package/build/components/block-navigation/dropdown.js +22 -29
  146. package/build/components/block-navigation/dropdown.js.map +1 -1
  147. package/build/components/block-parent-selector/index.js +6 -7
  148. package/build/components/block-parent-selector/index.js.map +1 -1
  149. package/build/components/block-pattern-setup/index.js +33 -39
  150. package/build/components/block-pattern-setup/index.js.map +1 -1
  151. package/build/components/block-pattern-setup/setup-toolbar.js +35 -42
  152. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  153. package/build/components/block-patterns-list/index.js +76 -85
  154. package/build/components/block-patterns-list/index.js.map +1 -1
  155. package/build/components/block-popover/drop-zone.js +4 -5
  156. package/build/components/block-popover/drop-zone.js.map +1 -1
  157. package/build/components/block-popover/inbetween.js +14 -21
  158. package/build/components/block-popover/inbetween.js.map +1 -1
  159. package/build/components/block-popover/index.js +18 -21
  160. package/build/components/block-popover/index.js.map +1 -1
  161. package/build/components/block-preview/auto.js +8 -12
  162. package/build/components/block-preview/auto.js.map +1 -1
  163. package/build/components/block-preview/index.js +21 -24
  164. package/build/components/block-preview/index.js.map +1 -1
  165. package/build/components/block-quick-navigation/index.js +83 -0
  166. package/build/components/block-quick-navigation/index.js.map +1 -0
  167. package/build/components/block-removal-warning-modal/index.js +90 -0
  168. package/build/components/block-removal-warning-modal/index.js.map +1 -0
  169. package/build/components/block-selection-clearer/index.js +4 -7
  170. package/build/components/block-selection-clearer/index.js.map +1 -1
  171. package/build/components/block-settings/button.native.js +10 -12
  172. package/build/components/block-settings/button.native.js.map +1 -1
  173. package/build/components/block-settings/container.native.js +6 -6
  174. package/build/components/block-settings/container.native.js.map +1 -1
  175. package/build/components/block-settings-menu/block-convert-button.js +5 -7
  176. package/build/components/block-settings-menu/block-convert-button.js.map +1 -1
  177. package/build/components/block-settings-menu/block-html-convert-button.js +10 -14
  178. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  179. package/build/components/block-settings-menu/block-mode-toggle.js +19 -25
  180. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  181. package/build/components/block-settings-menu/block-settings-dropdown.js +136 -116
  182. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  183. package/build/components/block-settings-menu/index.js +8 -10
  184. package/build/components/block-settings-menu/index.js.map +1 -1
  185. package/build/components/block-settings-menu-controls/index.js +18 -21
  186. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  187. package/build/components/block-styles/index.js +6 -7
  188. package/build/components/block-styles/index.js.map +1 -1
  189. package/build/components/block-styles/index.native.js +5 -7
  190. package/build/components/block-styles/index.native.js.map +1 -1
  191. package/build/components/block-styles/menu-items.js +4 -5
  192. package/build/components/block-styles/menu-items.js.map +1 -1
  193. package/build/components/block-styles/preview-panel.js +7 -10
  194. package/build/components/block-styles/preview-panel.js.map +1 -1
  195. package/build/components/block-styles/preview.native.js +6 -7
  196. package/build/components/block-styles/preview.native.js.map +1 -1
  197. package/build/components/block-styles/use-styles-for-block.js +7 -9
  198. package/build/components/block-styles/use-styles-for-block.js.map +1 -1
  199. package/build/components/block-styles/utils.js +4 -7
  200. package/build/components/block-styles/utils.js.map +1 -1
  201. package/build/components/block-switcher/block-styles-menu.js +4 -5
  202. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  203. package/build/components/block-switcher/block-transformations-menu.js +24 -29
  204. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  205. package/build/components/block-switcher/block-transformations-menu.native.js +9 -10
  206. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  207. package/build/components/block-switcher/block-variation-transformations.js +21 -30
  208. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  209. package/build/components/block-switcher/index.js +48 -62
  210. package/build/components/block-switcher/index.js.map +1 -1
  211. package/build/components/block-switcher/pattern-transformations-menu.js +24 -30
  212. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  213. package/build/components/block-switcher/preview-block-popover.js +3 -4
  214. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  215. package/build/components/block-switcher/utils.js +2 -3
  216. package/build/components/block-switcher/utils.js.map +1 -1
  217. package/build/components/block-title/index.js +5 -6
  218. package/build/components/block-title/index.js.map +1 -1
  219. package/build/components/block-title/use-block-display-title.js +5 -6
  220. package/build/components/block-title/use-block-display-title.js.map +1 -1
  221. package/build/components/block-toolbar/index.js +8 -10
  222. package/build/components/block-toolbar/index.js.map +1 -1
  223. package/build/components/block-toolbar/utils.js +14 -16
  224. package/build/components/block-toolbar/utils.js.map +1 -1
  225. package/build/components/block-tools/back-compat.js +3 -4
  226. package/build/components/block-tools/back-compat.js.map +1 -1
  227. package/build/components/block-tools/block-contextual-toolbar.js +9 -11
  228. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  229. package/build/components/block-tools/block-selection-button.js +10 -14
  230. package/build/components/block-tools/block-selection-button.js.map +1 -1
  231. package/build/components/block-tools/index.js +19 -13
  232. package/build/components/block-tools/index.js.map +1 -1
  233. package/build/components/block-tools/insertion-point.js +12 -15
  234. package/build/components/block-tools/insertion-point.js.map +1 -1
  235. package/build/components/block-tools/selected-block-popover.js +27 -28
  236. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  237. package/build/components/block-tools/use-block-toolbar-popover-props.js +9 -14
  238. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  239. package/build/components/block-tools/zoom-out-mode-inserters.js +3 -4
  240. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  241. package/build/components/block-types-list/index.js +8 -9
  242. package/build/components/block-types-list/index.js.map +1 -1
  243. package/build/components/block-types-list/index.native.js +26 -33
  244. package/build/components/block-types-list/index.native.js.map +1 -1
  245. package/build/components/block-variation-picker/index.js +8 -9
  246. package/build/components/block-variation-picker/index.js.map +1 -1
  247. package/build/components/block-variation-picker/index.native.js +7 -9
  248. package/build/components/block-variation-picker/index.native.js.map +1 -1
  249. package/build/components/block-variation-transforms/index.js +30 -41
  250. package/build/components/block-variation-transforms/index.js.map +1 -1
  251. package/build/components/block-vertical-alignment-control/index.js +4 -6
  252. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  253. package/build/components/block-vertical-alignment-control/ui.js +12 -21
  254. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  255. package/build/components/border-radius-control/all-input-control.js +9 -14
  256. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  257. package/build/components/border-radius-control/index.js +9 -10
  258. package/build/components/border-radius-control/index.js.map +1 -1
  259. package/build/components/border-radius-control/input-controls.js +10 -17
  260. package/build/components/border-radius-control/input-controls.js.map +1 -1
  261. package/build/components/border-radius-control/linked-button.js +6 -11
  262. package/build/components/border-radius-control/linked-button.js.map +1 -1
  263. package/build/components/border-radius-control/utils.js +3 -7
  264. package/build/components/border-radius-control/utils.js.map +1 -1
  265. package/build/components/button-block-appender/index.js +13 -15
  266. package/build/components/button-block-appender/index.js.map +1 -1
  267. package/build/components/button-block-appender/index.native.js +25 -29
  268. package/build/components/button-block-appender/index.native.js.map +1 -1
  269. package/build/components/caption/index.native.js +40 -43
  270. package/build/components/caption/index.native.js.map +1 -1
  271. package/build/components/child-layout-control/index.js +5 -6
  272. package/build/components/child-layout-control/index.js.map +1 -1
  273. package/build/components/color-palette/control.js +7 -10
  274. package/build/components/color-palette/control.js.map +1 -1
  275. package/build/components/color-palette/with-color-context.js +3 -11
  276. package/build/components/color-palette/with-color-context.js.map +1 -1
  277. package/build/components/color-style-selector/index.js +28 -35
  278. package/build/components/color-style-selector/index.js.map +1 -1
  279. package/build/components/colors/utils.js +12 -11
  280. package/build/components/colors/utils.js.map +1 -1
  281. package/build/components/colors/with-colors.js +20 -40
  282. package/build/components/colors/with-colors.js.map +1 -1
  283. package/build/components/colors-gradients/control.js +26 -27
  284. package/build/components/colors-gradients/control.js.map +1 -1
  285. package/build/components/colors-gradients/dropdown.js +44 -50
  286. package/build/components/colors-gradients/dropdown.js.map +1 -1
  287. package/build/components/colors-gradients/panel-color-gradient-settings.js +27 -30
  288. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  289. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +27 -31
  290. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  291. package/build/components/contrast-checker/index.js +12 -13
  292. package/build/components/contrast-checker/index.js.map +1 -1
  293. package/build/components/contrast-checker/index.native.js +16 -18
  294. package/build/components/contrast-checker/index.native.js.map +1 -1
  295. package/build/components/convert-to-group-buttons/index.js +9 -10
  296. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  297. package/build/components/convert-to-group-buttons/index.native.js +6 -7
  298. package/build/components/convert-to-group-buttons/index.native.js.map +1 -1
  299. package/build/components/convert-to-group-buttons/toolbar.js +6 -12
  300. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  301. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +4 -6
  302. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  303. package/build/components/copy-handler/index.js +9 -13
  304. package/build/components/copy-handler/index.js.map +1 -1
  305. package/build/components/date-format-picker/index.js +12 -16
  306. package/build/components/date-format-picker/index.js.map +1 -1
  307. package/build/components/default-block-appender/index.js +7 -9
  308. package/build/components/default-block-appender/index.js.map +1 -1
  309. package/build/components/default-block-appender/index.native.js +8 -10
  310. package/build/components/default-block-appender/index.native.js.map +1 -1
  311. package/build/components/default-style-picker/index.js +14 -22
  312. package/build/components/default-style-picker/index.js.map +1 -1
  313. package/build/components/duotone/components.js +14 -18
  314. package/build/components/duotone/components.js.map +1 -1
  315. package/build/components/duotone/utils.js +1 -2
  316. package/build/components/duotone/utils.js.map +1 -1
  317. package/build/components/duotone-control/index.js +13 -17
  318. package/build/components/duotone-control/index.js.map +1 -1
  319. package/build/components/editable-text/index.js +11 -13
  320. package/build/components/editable-text/index.js.map +1 -1
  321. package/build/components/editor-styles/index.js +4 -5
  322. package/build/components/editor-styles/index.js.map +1 -1
  323. package/build/components/floating-toolbar/index.native.js +7 -8
  324. package/build/components/floating-toolbar/index.native.js.map +1 -1
  325. package/build/components/font-appearance-control/index.js +21 -32
  326. package/build/components/font-appearance-control/index.js.map +1 -1
  327. package/build/components/font-family/index.js +14 -17
  328. package/build/components/font-family/index.js.map +1 -1
  329. package/build/components/font-sizes/fluid-utils.js +17 -21
  330. package/build/components/font-sizes/fluid-utils.js.map +1 -1
  331. package/build/components/font-sizes/font-size-picker.js +2 -4
  332. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  333. package/build/components/font-sizes/utils.js +9 -15
  334. package/build/components/font-sizes/utils.js.map +1 -1
  335. package/build/components/font-sizes/with-font-sizes.js +18 -37
  336. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  337. package/build/components/global-styles/advanced-panel.js +7 -10
  338. package/build/components/global-styles/advanced-panel.js.map +1 -1
  339. package/build/components/global-styles/border-panel.js +45 -78
  340. package/build/components/global-styles/border-panel.js.map +1 -1
  341. package/build/components/global-styles/color-panel.js +119 -163
  342. package/build/components/global-styles/color-panel.js.map +1 -1
  343. package/build/components/global-styles/color-panel.native.js +25 -42
  344. package/build/components/global-styles/color-panel.native.js.map +1 -1
  345. package/build/components/global-styles/dimensions-panel.js +78 -109
  346. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  347. package/build/components/global-styles/effects-panel.js +60 -73
  348. package/build/components/global-styles/effects-panel.js.map +1 -1
  349. package/build/components/global-styles/filters-panel.js +55 -72
  350. package/build/components/global-styles/filters-panel.js.map +1 -1
  351. package/build/components/global-styles/get-block-css-selector.js +4 -7
  352. package/build/components/global-styles/get-block-css-selector.js.map +1 -1
  353. package/build/components/global-styles/hooks.js +22 -37
  354. package/build/components/global-styles/hooks.js.map +1 -1
  355. package/build/components/global-styles/index.js +6 -0
  356. package/build/components/global-styles/index.js.map +1 -1
  357. package/build/components/global-styles/typography-panel.js +69 -125
  358. package/build/components/global-styles/typography-panel.js.map +1 -1
  359. package/build/components/global-styles/typography-utils.js +49 -26
  360. package/build/components/global-styles/typography-utils.js.map +1 -1
  361. package/build/components/global-styles/use-global-styles-output.js +153 -245
  362. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  363. package/build/components/global-styles/utils.js +11 -27
  364. package/build/components/global-styles/utils.js.map +1 -1
  365. package/build/components/gradients/use-gradient.js +6 -7
  366. package/build/components/gradients/use-gradient.js.map +1 -1
  367. package/build/components/gradients/with-gradient.js +2 -6
  368. package/build/components/gradients/with-gradient.js.map +1 -1
  369. package/build/components/height-control/index.js +9 -10
  370. package/build/components/height-control/index.js.map +1 -1
  371. package/build/components/iframe/index.js +53 -90
  372. package/build/components/iframe/index.js.map +1 -1
  373. package/build/components/iframe/use-compatibility-styles.js +29 -20
  374. package/build/components/iframe/use-compatibility-styles.js.map +1 -1
  375. package/build/components/image-editor/aspect-ratio-dropdown.js +83 -91
  376. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  377. package/build/components/image-editor/constants.js +1 -2
  378. package/build/components/image-editor/constants.js.map +1 -1
  379. package/build/components/image-editor/context.js +9 -10
  380. package/build/components/image-editor/context.js.map +1 -1
  381. package/build/components/image-editor/cropper.js +11 -12
  382. package/build/components/image-editor/cropper.js.map +1 -1
  383. package/build/components/image-editor/index.js +12 -13
  384. package/build/components/image-editor/index.js.map +1 -1
  385. package/build/components/image-editor/use-save-image.js +11 -12
  386. package/build/components/image-editor/use-save-image.js.map +1 -1
  387. package/build/components/image-editor/use-transform-image.js +5 -6
  388. package/build/components/image-editor/use-transform-image.js.map +1 -1
  389. package/build/components/image-editor/zoom-dropdown.js +10 -13
  390. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  391. package/build/components/image-size-control/index.js +12 -13
  392. package/build/components/image-size-control/index.js.map +1 -1
  393. package/build/components/index.js +9 -9
  394. package/build/components/index.js.map +1 -1
  395. package/build/components/index.native.js +9 -0
  396. package/build/components/index.native.js.map +1 -1
  397. package/build/components/inner-blocks/button-block-appender.js +7 -8
  398. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  399. package/build/components/inner-blocks/default-block-appender.js +6 -8
  400. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  401. package/build/components/inner-blocks/index.js +11 -14
  402. package/build/components/inner-blocks/index.js.map +1 -1
  403. package/build/components/inner-blocks/index.native.js +9 -10
  404. package/build/components/inner-blocks/index.native.js.map +1 -1
  405. package/build/components/inner-blocks/use-block-context.js +1 -4
  406. package/build/components/inner-blocks/use-block-context.js.map +1 -1
  407. package/build/components/inner-blocks/use-nested-settings-update.js +24 -32
  408. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  409. package/build/components/inner-blocks/with-client-id.js +2 -6
  410. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  411. package/build/components/inserter/block-patterns-explorer/explorer.js +11 -12
  412. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  413. package/build/components/inserter/block-patterns-explorer/patterns-list.js +11 -18
  414. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  415. package/build/components/inserter/block-patterns-explorer/sidebar.js +20 -24
  416. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  417. package/build/components/inserter/block-patterns-tab.js +62 -45
  418. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  419. package/build/components/inserter/block-types-tab.js +7 -9
  420. package/build/components/inserter/block-types-tab.js.map +1 -1
  421. package/build/components/inserter/block-types-tab.native.js +8 -9
  422. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  423. package/build/components/inserter/hooks/use-block-type-impressions.native.js +3 -5
  424. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  425. package/build/components/inserter/hooks/use-block-types-state.js +9 -9
  426. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  427. package/build/components/inserter/hooks/use-clipboard-block.native.js +2 -2
  428. package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  429. package/build/components/inserter/hooks/use-debounced-input.js +1 -2
  430. package/build/components/inserter/hooks/use-debounced-input.js.map +1 -1
  431. package/build/components/inserter/hooks/use-insertion-point.js +11 -13
  432. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  433. package/build/components/inserter/index.js +45 -59
  434. package/build/components/inserter/index.js.map +1 -1
  435. package/build/components/inserter/index.native.js +28 -36
  436. package/build/components/inserter/index.native.js.map +1 -1
  437. package/build/components/inserter/library.js +12 -13
  438. package/build/components/inserter/library.js.map +1 -1
  439. package/build/components/inserter/media-tab/hooks.js +2 -5
  440. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  441. package/build/components/inserter/media-tab/media-list.js +8 -13
  442. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  443. package/build/components/inserter/media-tab/media-panel.js +12 -14
  444. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  445. package/build/components/inserter/media-tab/media-preview.js +47 -60
  446. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  447. package/build/components/inserter/media-tab/media-tab.js +25 -29
  448. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  449. package/build/components/inserter/media-tab/utils.js +3 -5
  450. package/build/components/inserter/media-tab/utils.js.map +1 -1
  451. package/build/components/inserter/menu.js +15 -19
  452. package/build/components/inserter/menu.js.map +1 -1
  453. package/build/components/inserter/menu.native.js +27 -31
  454. package/build/components/inserter/menu.native.js.map +1 -1
  455. package/build/components/inserter/mobile-tab-navigation.js +7 -9
  456. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  457. package/build/components/inserter/panel.js +5 -6
  458. package/build/components/inserter/panel.js.map +1 -1
  459. package/build/components/inserter/preview-panel.js +4 -5
  460. package/build/components/inserter/preview-panel.js.map +1 -1
  461. package/build/components/inserter/quick-inserter.js +8 -9
  462. package/build/components/inserter/quick-inserter.js.map +1 -1
  463. package/build/components/inserter/reusable-blocks-tab.js +16 -21
  464. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  465. package/build/components/inserter/reusable-blocks-tab.native.js +5 -6
  466. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  467. package/build/components/inserter/search-items.js +12 -40
  468. package/build/components/inserter/search-items.js.map +1 -1
  469. package/build/components/inserter/search-results.js +17 -18
  470. package/build/components/inserter/search-results.js.map +1 -1
  471. package/build/components/inserter/search-results.native.js +11 -12
  472. package/build/components/inserter/search-results.native.js.map +1 -1
  473. package/build/components/inserter/tabs.js +11 -12
  474. package/build/components/inserter/tabs.js.map +1 -1
  475. package/build/components/inserter/tabs.native.js +37 -55
  476. package/build/components/inserter/tabs.native.js.map +1 -1
  477. package/build/components/inserter/utils.native.js +13 -17
  478. package/build/components/inserter/utils.native.js.map +1 -1
  479. package/build/components/inserter-draggable-blocks/index.js +11 -13
  480. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  481. package/build/components/inserter-list-item/index.js +69 -74
  482. package/build/components/inserter-list-item/index.js.map +1 -1
  483. package/build/components/inserter-listbox/group.js +4 -7
  484. package/build/components/inserter-listbox/group.js.map +1 -1
  485. package/build/components/inserter-listbox/index.js +3 -4
  486. package/build/components/inserter-listbox/index.js.map +1 -1
  487. package/build/components/inserter-listbox/item.js +14 -14
  488. package/build/components/inserter-listbox/item.js.map +1 -1
  489. package/build/components/inserter-listbox/row.js +4 -5
  490. package/build/components/inserter-listbox/row.js.map +1 -1
  491. package/build/components/inspector-controls/block-support-slot-container.js +6 -11
  492. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  493. package/build/components/inspector-controls/block-support-tools-panel.js +6 -8
  494. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  495. package/build/components/inspector-controls/fill.js +13 -24
  496. package/build/components/inspector-controls/fill.js.map +1 -1
  497. package/build/components/inspector-controls/fill.native.js +9 -12
  498. package/build/components/inspector-controls/fill.native.js.map +1 -1
  499. package/build/components/inspector-controls/index.js +4 -6
  500. package/build/components/inspector-controls/index.js.map +1 -1
  501. package/build/components/inspector-controls/slot.js +13 -19
  502. package/build/components/inspector-controls/slot.js.map +1 -1
  503. package/build/components/inspector-controls/slot.native.js +8 -11
  504. package/build/components/inspector-controls/slot.native.js.map +1 -1
  505. package/build/components/inspector-controls-tabs/index.js +6 -7
  506. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  507. package/build/components/inspector-controls-tabs/position-controls-panel.js +3 -8
  508. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  509. package/build/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
  510. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  511. package/build/components/inspector-controls-tabs/settings-tab.js +3 -6
  512. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  513. package/build/components/inspector-controls-tabs/styles-tab.js +5 -6
  514. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  515. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +1 -3
  516. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  517. package/build/components/inspector-popover-header/index.js +18 -22
  518. package/build/components/inspector-popover-header/index.js.map +1 -1
  519. package/build/components/justify-content-control/index.js +4 -6
  520. package/build/components/justify-content-control/index.js.map +1 -1
  521. package/build/components/justify-content-control/ui.js +12 -17
  522. package/build/components/justify-content-control/ui.js.map +1 -1
  523. package/build/components/letter-spacing-control/index.js +8 -11
  524. package/build/components/letter-spacing-control/index.js.map +1 -1
  525. package/build/components/line-height-control/index.js +15 -22
  526. package/build/components/line-height-control/index.js.map +1 -1
  527. package/build/components/line-height-control/index.native.js +4 -5
  528. package/build/components/line-height-control/index.native.js.map +1 -1
  529. package/build/components/link-control/index.js +86 -71
  530. package/build/components/link-control/index.js.map +1 -1
  531. package/build/components/link-control/is-url-like.js +32 -2
  532. package/build/components/link-control/is-url-like.js.map +1 -1
  533. package/build/components/link-control/link-preview.js +24 -27
  534. package/build/components/link-control/link-preview.js.map +1 -1
  535. package/build/components/link-control/search-create-button.js +9 -13
  536. package/build/components/link-control/search-create-button.js.map +1 -1
  537. package/build/components/link-control/search-input.js +24 -27
  538. package/build/components/link-control/search-input.js.map +1 -1
  539. package/build/components/link-control/search-item.js +15 -19
  540. package/build/components/link-control/search-item.js.map +1 -1
  541. package/build/components/link-control/search-results.js +23 -31
  542. package/build/components/link-control/search-results.js.map +1 -1
  543. package/build/components/link-control/settings-drawer.js +6 -35
  544. package/build/components/link-control/settings-drawer.js.map +1 -1
  545. package/build/components/link-control/settings.js +6 -8
  546. package/build/components/link-control/settings.js.map +1 -1
  547. package/build/components/link-control/use-internal-value.js +54 -0
  548. package/build/components/link-control/use-internal-value.js.map +1 -0
  549. package/build/components/link-control/use-rich-url-data.js +1 -1
  550. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  551. package/build/components/link-control/use-search-handler.js +10 -23
  552. package/build/components/link-control/use-search-handler.js.map +1 -1
  553. package/build/components/list-view/appender.js +15 -17
  554. package/build/components/list-view/appender.js.map +1 -1
  555. package/build/components/list-view/aria-referenced-text.js +40 -0
  556. package/build/components/list-view/aria-referenced-text.js.map +1 -0
  557. package/build/components/list-view/block-contents.js +39 -40
  558. package/build/components/list-view/block-contents.js.map +1 -1
  559. package/build/components/list-view/block-select-button.js +79 -22
  560. package/build/components/list-view/block-select-button.js.map +1 -1
  561. package/build/components/list-view/block.js +119 -101
  562. package/build/components/list-view/block.js.map +1 -1
  563. package/build/components/list-view/branch.js +14 -13
  564. package/build/components/list-view/branch.js.map +1 -1
  565. package/build/components/list-view/drop-indicator.js +66 -16
  566. package/build/components/list-view/drop-indicator.js.map +1 -1
  567. package/build/components/list-view/expander.js +3 -4
  568. package/build/components/list-view/expander.js.map +1 -1
  569. package/build/components/list-view/index.js +50 -49
  570. package/build/components/list-view/index.js.map +1 -1
  571. package/build/components/list-view/leaf.js +14 -16
  572. package/build/components/list-view/leaf.js.map +1 -1
  573. package/build/components/list-view/use-block-selection.js +4 -6
  574. package/build/components/list-view/use-block-selection.js.map +1 -1
  575. package/build/components/list-view/use-list-view-client-ids.js +6 -29
  576. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  577. package/build/components/list-view/use-list-view-drop-zone.js +63 -39
  578. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  579. package/build/components/list-view/use-list-view-expand-selected-item.js +4 -5
  580. package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  581. package/build/components/list-view/use-list-view-scroll-into-view.js +5 -6
  582. package/build/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  583. package/build/components/media-placeholder/index.js +106 -102
  584. package/build/components/media-placeholder/index.js.map +1 -1
  585. package/build/components/media-placeholder/index.native.js +5 -6
  586. package/build/components/media-placeholder/index.native.js.map +1 -1
  587. package/build/components/media-replace-flow/index.js +92 -107
  588. package/build/components/media-replace-flow/index.js.map +1 -1
  589. package/build/components/media-upload/check.js +4 -5
  590. package/build/components/media-upload/check.js.map +1 -1
  591. package/build/components/media-upload/index.native.js +1 -1
  592. package/build/components/media-upload/index.native.js.map +1 -1
  593. package/build/components/multi-selection-inspector/index.js +3 -4
  594. package/build/components/multi-selection-inspector/index.js.map +1 -1
  595. package/build/components/navigable-toolbar/index.js +24 -23
  596. package/build/components/navigable-toolbar/index.js.map +1 -1
  597. package/build/components/observe-typing/index.js +3 -4
  598. package/build/components/observe-typing/index.js.map +1 -1
  599. package/build/components/panel-color-settings/index.js +8 -10
  600. package/build/components/panel-color-settings/index.js.map +1 -1
  601. package/build/components/plain-text/index.js +12 -14
  602. package/build/components/plain-text/index.js.map +1 -1
  603. package/build/components/plain-text/index.native.js +15 -20
  604. package/build/components/plain-text/index.native.js.map +1 -1
  605. package/build/components/preview-options/index.js +12 -12
  606. package/build/components/preview-options/index.js.map +1 -1
  607. package/build/components/provider/block-refs-provider.js +3 -4
  608. package/build/components/provider/block-refs-provider.js.map +1 -1
  609. package/build/components/provider/index.js +2 -4
  610. package/build/components/provider/index.js.map +1 -1
  611. package/build/components/provider/use-block-sync.js +7 -8
  612. package/build/components/provider/use-block-sync.js.map +1 -1
  613. package/build/components/provider/with-registry-provider.js +13 -17
  614. package/build/components/provider/with-registry-provider.js.map +1 -1
  615. package/build/components/publish-date-time-picker/index.js +10 -12
  616. package/build/components/publish-date-time-picker/index.js.map +1 -1
  617. package/build/components/recursion-provider/index.js +7 -11
  618. package/build/components/recursion-provider/index.js.map +1 -1
  619. package/build/components/resizable-box-popover/index.js +10 -11
  620. package/build/components/resizable-box-popover/index.js.map +1 -1
  621. package/build/components/responsive-block-control/label.js +5 -6
  622. package/build/components/responsive-block-control/label.js.map +1 -1
  623. package/build/components/rich-text/content.js +99 -0
  624. package/build/components/rich-text/content.js.map +1 -0
  625. package/build/components/rich-text/embed-handler-picker.native.js +6 -10
  626. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  627. package/build/components/rich-text/format-edit.js +7 -8
  628. package/build/components/rich-text/format-edit.js.map +1 -1
  629. package/build/components/rich-text/format-toolbar/index.js +10 -20
  630. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  631. package/build/components/rich-text/format-toolbar-container.js +13 -16
  632. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  633. package/build/components/rich-text/index.js +45 -83
  634. package/build/components/rich-text/index.js.map +1 -1
  635. package/build/components/rich-text/index.native.js +128 -183
  636. package/build/components/rich-text/index.native.js.map +1 -1
  637. package/build/components/rich-text/input-event.js +4 -5
  638. package/build/components/rich-text/input-event.js.map +1 -1
  639. package/build/components/rich-text/shortcut.js +5 -6
  640. package/build/components/rich-text/shortcut.js.map +1 -1
  641. package/build/components/rich-text/split-value.js +8 -10
  642. package/build/components/rich-text/split-value.js.map +1 -1
  643. package/build/components/rich-text/toolbar-button.js +8 -13
  644. package/build/components/rich-text/toolbar-button.js.map +1 -1
  645. package/build/components/rich-text/use-before-input-rules.js +1 -4
  646. package/build/components/rich-text/use-before-input-rules.js.map +1 -1
  647. package/build/components/rich-text/use-enter.js +3 -6
  648. package/build/components/rich-text/use-enter.js.map +1 -1
  649. package/build/components/rich-text/use-firefox-compat.js +32 -1
  650. package/build/components/rich-text/use-firefox-compat.js.map +1 -1
  651. package/build/components/rich-text/use-format-types.js +11 -17
  652. package/build/components/rich-text/use-format-types.js.map +1 -1
  653. package/build/components/rich-text/use-input-rules.js +9 -15
  654. package/build/components/rich-text/use-input-rules.js.map +1 -1
  655. package/build/components/rich-text/use-mark-persistent.js +4 -5
  656. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  657. package/build/components/rich-text/use-paste-handler.js +5 -7
  658. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  659. package/build/components/rich-text/utils.js +5 -7
  660. package/build/components/rich-text/utils.js.map +1 -1
  661. package/build/components/skip-to-selected-block/index.js +3 -4
  662. package/build/components/skip-to-selected-block/index.js.map +1 -1
  663. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +38 -0
  664. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -0
  665. package/build/components/spacing-sizes-control/index.js +62 -64
  666. package/build/components/spacing-sizes-control/index.js.map +1 -1
  667. package/build/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +21 -22
  668. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -0
  669. package/build/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +22 -22
  670. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -0
  671. package/build/components/spacing-sizes-control/input-controls/single.js +51 -0
  672. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -0
  673. package/build/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +51 -69
  674. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -0
  675. package/build/components/spacing-sizes-control/sides-dropdown/index.js +84 -0
  676. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -0
  677. package/build/components/spacing-sizes-control/utils.js +213 -31
  678. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  679. package/build/components/text-decoration-control/index.js +5 -6
  680. package/build/components/text-decoration-control/index.js.map +1 -1
  681. package/build/components/text-transform-control/index.js +5 -6
  682. package/build/components/text-transform-control/index.js.map +1 -1
  683. package/build/components/tool-selector/index.js +13 -20
  684. package/build/components/tool-selector/index.js.map +1 -1
  685. package/build/components/typewriter/index.js +6 -9
  686. package/build/components/typewriter/index.js.map +1 -1
  687. package/build/components/ungroup-button/index.native.js +11 -16
  688. package/build/components/ungroup-button/index.native.js.map +1 -1
  689. package/build/components/unit-control/index.js +8 -10
  690. package/build/components/unit-control/index.js.map +1 -1
  691. package/build/components/url-input/index.js +23 -34
  692. package/build/components/url-input/index.js.map +1 -1
  693. package/build/components/url-input/index.native.js +10 -15
  694. package/build/components/url-input/index.native.js.map +1 -1
  695. package/build/components/url-popover/image-url-input-ui.js +33 -29
  696. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  697. package/build/components/url-popover/index.js +16 -19
  698. package/build/components/url-popover/index.js.map +1 -1
  699. package/build/components/url-popover/link-editor.js +10 -12
  700. package/build/components/url-popover/link-editor.js.map +1 -1
  701. package/build/components/url-popover/link-viewer-url.js +5 -6
  702. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  703. package/build/components/url-popover/link-viewer.js +11 -13
  704. package/build/components/url-popover/link-viewer.js.map +1 -1
  705. package/build/components/use-block-display-information/index.js +30 -2
  706. package/build/components/use-block-display-information/index.js.map +1 -1
  707. package/build/components/use-block-drop-zone/index.js +16 -23
  708. package/build/components/use-block-drop-zone/index.js.map +1 -1
  709. package/build/components/use-block-drop-zone/index.native.js +8 -11
  710. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  711. package/build/components/use-moving-animation/index.js +9 -12
  712. package/build/components/use-moving-animation/index.js.map +1 -1
  713. package/build/components/use-on-block-drop/index.js +2 -6
  714. package/build/components/use-on-block-drop/index.js.map +1 -1
  715. package/build/components/use-on-block-drop/index.native.js +8 -10
  716. package/build/components/use-on-block-drop/index.native.js.map +1 -1
  717. package/build/components/use-paste-styles/index.js +2 -6
  718. package/build/components/use-paste-styles/index.js.map +1 -1
  719. package/build/components/video-player/index.native.js +2 -4
  720. package/build/components/video-player/index.native.js.map +1 -1
  721. package/build/components/warning/index.js +6 -7
  722. package/build/components/warning/index.js.map +1 -1
  723. package/build/components/warning/index.native.js +13 -15
  724. package/build/components/warning/index.native.js.map +1 -1
  725. package/build/components/writing-flow/index.js +6 -9
  726. package/build/components/writing-flow/index.js.map +1 -1
  727. package/build/components/writing-flow/use-drag-selection.js +5 -7
  728. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  729. package/build/components/writing-flow/use-tab-nav.js +41 -10
  730. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  731. package/build/hooks/align.js +15 -22
  732. package/build/hooks/align.js.map +1 -1
  733. package/build/hooks/anchor.js +9 -4
  734. package/build/hooks/anchor.js.map +1 -1
  735. package/build/hooks/aria-label.js +1 -3
  736. package/build/hooks/aria-label.js.map +1 -1
  737. package/build/hooks/behaviors.js +131 -60
  738. package/build/hooks/behaviors.js.map +1 -1
  739. package/build/hooks/border.js +29 -43
  740. package/build/hooks/border.js.map +1 -1
  741. package/build/hooks/color.js +26 -42
  742. package/build/hooks/color.js.map +1 -1
  743. package/build/hooks/content-lock-ui.js +33 -39
  744. package/build/hooks/content-lock-ui.js.map +1 -1
  745. package/build/hooks/contrast-checker.js +4 -7
  746. package/build/hooks/contrast-checker.js.map +1 -1
  747. package/build/hooks/custom-class-name.js +8 -5
  748. package/build/hooks/custom-class-name.js.map +1 -1
  749. package/build/hooks/dimensions.js +11 -14
  750. package/build/hooks/dimensions.js.map +1 -1
  751. package/build/hooks/duotone.js +37 -49
  752. package/build/hooks/duotone.js.map +1 -1
  753. package/build/hooks/font-family.js +6 -11
  754. package/build/hooks/font-family.js.map +1 -1
  755. package/build/hooks/font-size.js +22 -27
  756. package/build/hooks/font-size.js.map +1 -1
  757. package/build/hooks/gap.js +5 -6
  758. package/build/hooks/gap.js.map +1 -1
  759. package/build/hooks/layout.js +66 -81
  760. package/build/hooks/layout.js.map +1 -1
  761. package/build/hooks/line-height.js +5 -8
  762. package/build/hooks/line-height.js.map +1 -1
  763. package/build/hooks/lock.js +2 -2
  764. package/build/hooks/lock.js.map +1 -1
  765. package/build/hooks/margin.js +6 -9
  766. package/build/hooks/margin.js.map +1 -1
  767. package/build/hooks/metadata-name.js +4 -5
  768. package/build/hooks/metadata-name.js.map +1 -1
  769. package/build/hooks/metadata.js +3 -7
  770. package/build/hooks/metadata.js.map +1 -1
  771. package/build/hooks/padding.js +6 -9
  772. package/build/hooks/padding.js.map +1 -1
  773. package/build/hooks/position.js +50 -56
  774. package/build/hooks/position.js.map +1 -1
  775. package/build/hooks/settings.js +1 -3
  776. package/build/hooks/settings.js.map +1 -1
  777. package/build/hooks/style.js +19 -23
  778. package/build/hooks/style.js.map +1 -1
  779. package/build/hooks/supports.js +4 -6
  780. package/build/hooks/supports.js.map +1 -1
  781. package/build/hooks/typography.js +18 -27
  782. package/build/hooks/typography.js.map +1 -1
  783. package/build/hooks/typography.native.js +4 -3
  784. package/build/hooks/typography.native.js.map +1 -1
  785. package/build/hooks/use-border-props.js +1 -3
  786. package/build/hooks/use-border-props.js.map +1 -1
  787. package/build/hooks/use-color-props.js +6 -8
  788. package/build/hooks/use-color-props.js.map +1 -1
  789. package/build/hooks/use-editor-wrapper-styles.native.js +34 -39
  790. package/build/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  791. package/build/hooks/use-spacing-props.js +1 -1
  792. package/build/hooks/use-spacing-props.js.map +1 -1
  793. package/build/hooks/use-typography-props.js +12 -23
  794. package/build/hooks/use-typography-props.js.map +1 -1
  795. package/build/hooks/utils.js +6 -18
  796. package/build/hooks/utils.js.map +1 -1
  797. package/build/index.js +0 -14
  798. package/build/index.js.map +1 -1
  799. package/build/layouts/constrained.js +24 -27
  800. package/build/layouts/constrained.js.map +1 -1
  801. package/build/layouts/definitions.js +154 -0
  802. package/build/layouts/definitions.js.map +1 -0
  803. package/build/layouts/flex.js +50 -58
  804. package/build/layouts/flex.js.map +1 -1
  805. package/build/layouts/flow.js +12 -13
  806. package/build/layouts/flow.js.map +1 -1
  807. package/build/layouts/grid.js +47 -25
  808. package/build/layouts/grid.js.map +1 -1
  809. package/build/layouts/index.js +1 -2
  810. package/build/layouts/index.js.map +1 -1
  811. package/build/layouts/utils.js +11 -11
  812. package/build/layouts/utils.js.map +1 -1
  813. package/build/private-apis.js +17 -1
  814. package/build/private-apis.js.map +1 -1
  815. package/build/store/actions.js +226 -369
  816. package/build/store/actions.js.map +1 -1
  817. package/build/store/array.js +1 -2
  818. package/build/store/array.js.map +1 -1
  819. package/build/store/private-actions.js +203 -7
  820. package/build/store/private-actions.js.map +1 -1
  821. package/build/store/private-selectors.js +109 -24
  822. package/build/store/private-selectors.js.map +1 -1
  823. package/build/store/reducer.js +119 -170
  824. package/build/store/reducer.js.map +1 -1
  825. package/build/store/selectors.js +161 -231
  826. package/build/store/selectors.js.map +1 -1
  827. package/build/utils/block-variation-transforms.js +4 -7
  828. package/build/utils/block-variation-transforms.js.map +1 -1
  829. package/build/utils/math.js +1 -2
  830. package/build/utils/math.js.map +1 -1
  831. package/build/utils/object.js +40 -4
  832. package/build/utils/object.js.map +1 -1
  833. package/build/utils/order-inserter-block-items.js +5 -7
  834. package/build/utils/order-inserter-block-items.js.map +1 -1
  835. package/build/utils/parse-css-unit-to-px.js +3 -6
  836. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  837. package/build/utils/pasting.js +5 -8
  838. package/build/utils/pasting.js.map +1 -1
  839. package/build/utils/pre-parse-patterns.js +1 -1
  840. package/build/utils/pre-parse-patterns.js.map +1 -1
  841. package/build/utils/sorting.js +1 -2
  842. package/build/utils/sorting.js.map +1 -1
  843. package/build/utils/transform-styles/index.js +5 -7
  844. package/build/utils/transform-styles/index.js.map +1 -1
  845. package/build/utils/transform-styles/transforms/wrap.js +28 -31
  846. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  847. package/build-module/autocompleters/block.js +6 -6
  848. package/build-module/autocompleters/block.js.map +1 -1
  849. package/build-module/components/alignment-control/index.js +4 -5
  850. package/build-module/components/alignment-control/index.js.map +1 -1
  851. package/build-module/components/alignment-control/ui.js +14 -17
  852. package/build-module/components/alignment-control/ui.js.map +1 -1
  853. package/build-module/components/autocomplete/index.js +5 -7
  854. package/build-module/components/autocomplete/index.js.map +1 -1
  855. package/build-module/components/block-actions/index.js +12 -12
  856. package/build-module/components/block-actions/index.js.map +1 -1
  857. package/build-module/components/block-alignment-control/constants.js +0 -3
  858. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  859. package/build-module/components/block-alignment-control/index.js +4 -5
  860. package/build-module/components/block-alignment-control/index.js.map +1 -1
  861. package/build-module/components/block-alignment-control/ui.js +21 -25
  862. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  863. package/build-module/components/block-alignment-control/ui.native.js +17 -19
  864. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  865. package/build-module/components/block-alignment-control/use-available-alignments.js +5 -10
  866. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  867. package/build-module/components/block-alignment-matrix-control/index.js +4 -7
  868. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  869. package/build-module/components/block-breadcrumb/index.js +5 -7
  870. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  871. package/build-module/components/block-caption/index.native.js +29 -34
  872. package/build-module/components/block-caption/index.native.js.map +1 -1
  873. package/build-module/components/block-card/index.js +7 -9
  874. package/build-module/components/block-card/index.js.map +1 -1
  875. package/build-module/components/block-compare/block-view.js +8 -9
  876. package/build-module/components/block-compare/block-view.js.map +1 -1
  877. package/build-module/components/block-compare/index.js +7 -9
  878. package/build-module/components/block-compare/index.js.map +1 -1
  879. package/build-module/components/block-context/index.js +4 -5
  880. package/build-module/components/block-context/index.js.map +1 -1
  881. package/build-module/components/block-controls/fill.js +18 -23
  882. package/build-module/components/block-controls/fill.js.map +1 -1
  883. package/build-module/components/block-controls/hook.js +1 -3
  884. package/build-module/components/block-controls/hook.js.map +1 -1
  885. package/build-module/components/block-controls/index.js +8 -7
  886. package/build-module/components/block-controls/index.js.map +1 -1
  887. package/build-module/components/block-controls/slot.js +29 -22
  888. package/build-module/components/block-controls/slot.js.map +1 -1
  889. package/build-module/components/block-controls/slot.native.js +10 -18
  890. package/build-module/components/block-controls/slot.native.js.map +1 -1
  891. package/build-module/components/block-draggable/draggable-chip.js +5 -7
  892. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  893. package/build-module/components/block-draggable/draggable-chip.native.js +3 -4
  894. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  895. package/build-module/components/block-draggable/dropping-insertion-point.native.js +6 -7
  896. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  897. package/build-module/components/block-draggable/index.js +16 -17
  898. package/build-module/components/block-draggable/index.js.map +1 -1
  899. package/build-module/components/block-draggable/index.native.js +43 -58
  900. package/build-module/components/block-draggable/index.native.js.map +1 -1
  901. package/build-module/components/block-edit/edit.js +5 -9
  902. package/build-module/components/block-edit/edit.js.map +1 -1
  903. package/build-module/components/block-edit/edit.native.js +3 -7
  904. package/build-module/components/block-edit/edit.native.js.map +1 -1
  905. package/build-module/components/block-edit/index.js +3 -2
  906. package/build-module/components/block-edit/index.js.map +1 -1
  907. package/build-module/components/block-edit-visually-button/index.js +3 -4
  908. package/build-module/components/block-edit-visually-button/index.js.map +1 -1
  909. package/build-module/components/block-full-height-alignment-control/index.js +6 -7
  910. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  911. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +39 -0
  912. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  913. package/build-module/components/block-heading-level-dropdown/index.js +71 -0
  914. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -0
  915. package/build-module/components/block-heading-level-dropdown/index.native.js +60 -0
  916. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -0
  917. package/build-module/components/block-icon/index.js +7 -11
  918. package/build-module/components/block-icon/index.js.map +1 -1
  919. package/build-module/components/block-icon/index.native.js +15 -19
  920. package/build-module/components/block-icon/index.native.js.map +1 -1
  921. package/build-module/components/block-info-slot-fill/index.js +4 -2
  922. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  923. package/build-module/components/block-inspector/index.js +45 -123
  924. package/build-module/components/block-inspector/index.js.map +1 -1
  925. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  926. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  927. package/build-module/components/block-list/block-html.js +3 -4
  928. package/build-module/components/block-list/block-html.js.map +1 -1
  929. package/build-module/components/block-list/block-invalid-warning.js +3 -4
  930. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  931. package/build-module/components/block-list/block-invalid-warning.native.js +10 -15
  932. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  933. package/build-module/components/block-list/block-list-context.native.js +5 -11
  934. package/build-module/components/block-list/block-list-context.native.js.map +1 -1
  935. package/build-module/components/block-list/block-list-item-cell.native.js +5 -6
  936. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  937. package/build-module/components/block-list/block-list-item.native.js +21 -20
  938. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  939. package/build-module/components/block-list/block-outline.native.js +8 -9
  940. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  941. package/build-module/components/block-list/block-selection-button.native.js +10 -12
  942. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  943. package/build-module/components/block-list/block.js +45 -50
  944. package/build-module/components/block-list/block.js.map +1 -1
  945. package/build-module/components/block-list/block.native.js +56 -68
  946. package/build-module/components/block-list/block.native.js.map +1 -1
  947. package/build-module/components/block-list/index.js +18 -18
  948. package/build-module/components/block-list/index.js.map +1 -1
  949. package/build-module/components/block-list/index.native.js +80 -89
  950. package/build-module/components/block-list/index.native.js.map +1 -1
  951. package/build-module/components/block-list/insertion-point.native.js +4 -5
  952. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  953. package/build-module/components/block-list/layout.js +6 -9
  954. package/build-module/components/block-list/layout.js.map +1 -1
  955. package/build-module/components/block-list/subdirectory-icon.js +11 -14
  956. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  957. package/build-module/components/block-list/use-block-props/index.js +14 -11
  958. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  959. package/build-module/components/block-list/use-block-props/index.native.js +1 -2
  960. package/build-module/components/block-list/use-block-props/index.native.js.map +1 -1
  961. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +2 -2
  962. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
  963. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
  964. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
  965. package/build-module/components/block-list/use-in-between-inserter.js +2 -6
  966. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  967. package/build-module/components/block-list-appender/index.js +35 -33
  968. package/build-module/components/block-list-appender/index.js.map +1 -1
  969. package/build-module/components/block-list-appender/index.native.js +9 -11
  970. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  971. package/build-module/components/block-lock/menu-item.js +3 -4
  972. package/build-module/components/block-lock/menu-item.js.map +1 -1
  973. package/build-module/components/block-lock/modal.js +6 -9
  974. package/build-module/components/block-lock/modal.js.map +1 -1
  975. package/build-module/components/block-lock/toolbar.js +5 -10
  976. package/build-module/components/block-lock/toolbar.js.map +1 -1
  977. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +50 -68
  978. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  979. package/build-module/components/block-mobile-toolbar/index.native.js +26 -34
  980. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  981. package/build-module/components/block-mover/button.js +18 -18
  982. package/build-module/components/block-mover/button.js.map +1 -1
  983. package/build-module/components/block-mover/index.js +16 -17
  984. package/build-module/components/block-mover/index.js.map +1 -1
  985. package/build-module/components/block-mover/index.native.js +23 -46
  986. package/build-module/components/block-mover/index.native.js.map +1 -1
  987. package/build-module/components/block-mover/mover-description.native.js +7 -10
  988. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  989. package/build-module/components/block-navigation/dropdown.js +22 -28
  990. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  991. package/build-module/components/block-parent-selector/index.js +6 -6
  992. package/build-module/components/block-parent-selector/index.js.map +1 -1
  993. package/build-module/components/block-pattern-setup/index.js +33 -38
  994. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  995. package/build-module/components/block-pattern-setup/setup-toolbar.js +35 -42
  996. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  997. package/build-module/components/block-patterns-list/index.js +73 -81
  998. package/build-module/components/block-patterns-list/index.js.map +1 -1
  999. package/build-module/components/block-popover/drop-zone.js +4 -5
  1000. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  1001. package/build-module/components/block-popover/inbetween.js +14 -20
  1002. package/build-module/components/block-popover/inbetween.js.map +1 -1
  1003. package/build-module/components/block-popover/index.js +18 -20
  1004. package/build-module/components/block-popover/index.js.map +1 -1
  1005. package/build-module/components/block-preview/auto.js +8 -11
  1006. package/build-module/components/block-preview/auto.js.map +1 -1
  1007. package/build-module/components/block-preview/index.js +21 -24
  1008. package/build-module/components/block-preview/index.js.map +1 -1
  1009. package/build-module/components/block-quick-navigation/index.js +69 -0
  1010. package/build-module/components/block-quick-navigation/index.js.map +1 -0
  1011. package/build-module/components/block-removal-warning-modal/index.js +76 -0
  1012. package/build-module/components/block-removal-warning-modal/index.js.map +1 -0
  1013. package/build-module/components/block-selection-clearer/index.js +4 -4
  1014. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  1015. package/build-module/components/block-settings/button.native.js +9 -11
  1016. package/build-module/components/block-settings/button.native.js.map +1 -1
  1017. package/build-module/components/block-settings/container.native.js +6 -5
  1018. package/build-module/components/block-settings/container.native.js.map +1 -1
  1019. package/build-module/components/block-settings-menu/block-convert-button.js +5 -7
  1020. package/build-module/components/block-settings-menu/block-convert-button.js.map +1 -1
  1021. package/build-module/components/block-settings-menu/block-html-convert-button.js +10 -14
  1022. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  1023. package/build-module/components/block-settings-menu/block-mode-toggle.js +19 -25
  1024. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  1025. package/build-module/components/block-settings-menu/block-settings-dropdown.js +139 -117
  1026. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  1027. package/build-module/components/block-settings-menu/index.js +8 -9
  1028. package/build-module/components/block-settings-menu/index.js.map +1 -1
  1029. package/build-module/components/block-settings-menu-controls/index.js +18 -20
  1030. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  1031. package/build-module/components/block-styles/index.js +6 -7
  1032. package/build-module/components/block-styles/index.js.map +1 -1
  1033. package/build-module/components/block-styles/index.native.js +5 -7
  1034. package/build-module/components/block-styles/index.native.js.map +1 -1
  1035. package/build-module/components/block-styles/menu-items.js +4 -5
  1036. package/build-module/components/block-styles/menu-items.js.map +1 -1
  1037. package/build-module/components/block-styles/preview-panel.js +7 -10
  1038. package/build-module/components/block-styles/preview-panel.js.map +1 -1
  1039. package/build-module/components/block-styles/preview.native.js +6 -7
  1040. package/build-module/components/block-styles/preview.native.js.map +1 -1
  1041. package/build-module/components/block-styles/use-styles-for-block.js +7 -9
  1042. package/build-module/components/block-styles/use-styles-for-block.js.map +1 -1
  1043. package/build-module/components/block-styles/utils.js +4 -7
  1044. package/build-module/components/block-styles/utils.js.map +1 -1
  1045. package/build-module/components/block-switcher/block-styles-menu.js +4 -5
  1046. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  1047. package/build-module/components/block-switcher/block-transformations-menu.js +24 -29
  1048. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  1049. package/build-module/components/block-switcher/block-transformations-menu.native.js +9 -10
  1050. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  1051. package/build-module/components/block-switcher/block-variation-transformations.js +21 -30
  1052. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  1053. package/build-module/components/block-switcher/index.js +48 -62
  1054. package/build-module/components/block-switcher/index.js.map +1 -1
  1055. package/build-module/components/block-switcher/pattern-transformations-menu.js +24 -29
  1056. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  1057. package/build-module/components/block-switcher/preview-block-popover.js +3 -4
  1058. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  1059. package/build-module/components/block-switcher/utils.js +2 -3
  1060. package/build-module/components/block-switcher/utils.js.map +1 -1
  1061. package/build-module/components/block-title/index.js +5 -6
  1062. package/build-module/components/block-title/index.js.map +1 -1
  1063. package/build-module/components/block-title/use-block-display-title.js +5 -6
  1064. package/build-module/components/block-title/use-block-display-title.js.map +1 -1
  1065. package/build-module/components/block-toolbar/index.js +8 -9
  1066. package/build-module/components/block-toolbar/index.js.map +1 -1
  1067. package/build-module/components/block-toolbar/utils.js +14 -16
  1068. package/build-module/components/block-toolbar/utils.js.map +1 -1
  1069. package/build-module/components/block-tools/back-compat.js +3 -4
  1070. package/build-module/components/block-tools/back-compat.js.map +1 -1
  1071. package/build-module/components/block-tools/block-contextual-toolbar.js +9 -10
  1072. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  1073. package/build-module/components/block-tools/block-selection-button.js +10 -13
  1074. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  1075. package/build-module/components/block-tools/index.js +19 -12
  1076. package/build-module/components/block-tools/index.js.map +1 -1
  1077. package/build-module/components/block-tools/insertion-point.js +12 -14
  1078. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  1079. package/build-module/components/block-tools/selected-block-popover.js +27 -27
  1080. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  1081. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +9 -14
  1082. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  1083. package/build-module/components/block-tools/zoom-out-mode-inserters.js +3 -4
  1084. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  1085. package/build-module/components/block-types-list/index.js +8 -9
  1086. package/build-module/components/block-types-list/index.js.map +1 -1
  1087. package/build-module/components/block-types-list/index.native.js +26 -32
  1088. package/build-module/components/block-types-list/index.native.js.map +1 -1
  1089. package/build-module/components/block-variation-picker/index.js +8 -9
  1090. package/build-module/components/block-variation-picker/index.js.map +1 -1
  1091. package/build-module/components/block-variation-picker/index.native.js +7 -9
  1092. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  1093. package/build-module/components/block-variation-transforms/index.js +30 -41
  1094. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  1095. package/build-module/components/block-vertical-alignment-control/index.js +4 -5
  1096. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  1097. package/build-module/components/block-vertical-alignment-control/ui.js +12 -18
  1098. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  1099. package/build-module/components/border-radius-control/all-input-control.js +9 -11
  1100. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  1101. package/build-module/components/border-radius-control/index.js +9 -10
  1102. package/build-module/components/border-radius-control/index.js.map +1 -1
  1103. package/build-module/components/border-radius-control/input-controls.js +10 -14
  1104. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  1105. package/build-module/components/border-radius-control/linked-button.js +6 -8
  1106. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  1107. package/build-module/components/border-radius-control/utils.js +3 -7
  1108. package/build-module/components/border-radius-control/utils.js.map +1 -1
  1109. package/build-module/components/button-block-appender/index.js +13 -15
  1110. package/build-module/components/button-block-appender/index.js.map +1 -1
  1111. package/build-module/components/button-block-appender/index.native.js +25 -29
  1112. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  1113. package/build-module/components/caption/index.native.js +40 -43
  1114. package/build-module/components/caption/index.native.js.map +1 -1
  1115. package/build-module/components/child-layout-control/index.js +5 -6
  1116. package/build-module/components/child-layout-control/index.js.map +1 -1
  1117. package/build-module/components/color-palette/control.js +7 -9
  1118. package/build-module/components/color-palette/control.js.map +1 -1
  1119. package/build-module/components/color-palette/with-color-context.js +3 -9
  1120. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  1121. package/build-module/components/color-style-selector/index.js +28 -35
  1122. package/build-module/components/color-style-selector/index.js.map +1 -1
  1123. package/build-module/components/colors/utils.js +10 -9
  1124. package/build-module/components/colors/utils.js.map +1 -1
  1125. package/build-module/components/colors/with-colors.js +19 -38
  1126. package/build-module/components/colors/with-colors.js.map +1 -1
  1127. package/build-module/components/colors-gradients/control.js +26 -25
  1128. package/build-module/components/colors-gradients/control.js.map +1 -1
  1129. package/build-module/components/colors-gradients/dropdown.js +44 -49
  1130. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  1131. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +27 -28
  1132. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  1133. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +27 -31
  1134. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  1135. package/build-module/components/contrast-checker/index.js +12 -13
  1136. package/build-module/components/contrast-checker/index.js.map +1 -1
  1137. package/build-module/components/contrast-checker/index.native.js +16 -18
  1138. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  1139. package/build-module/components/convert-to-group-buttons/index.js +9 -10
  1140. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  1141. package/build-module/components/convert-to-group-buttons/index.native.js +6 -7
  1142. package/build-module/components/convert-to-group-buttons/index.native.js.map +1 -1
  1143. package/build-module/components/convert-to-group-buttons/toolbar.js +6 -12
  1144. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  1145. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +4 -6
  1146. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  1147. package/build-module/components/copy-handler/index.js +9 -13
  1148. package/build-module/components/copy-handler/index.js.map +1 -1
  1149. package/build-module/components/date-format-picker/index.js +12 -16
  1150. package/build-module/components/date-format-picker/index.js.map +1 -1
  1151. package/build-module/components/default-block-appender/index.js +7 -9
  1152. package/build-module/components/default-block-appender/index.js.map +1 -1
  1153. package/build-module/components/default-block-appender/index.native.js +8 -10
  1154. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  1155. package/build-module/components/default-style-picker/index.js +14 -22
  1156. package/build-module/components/default-style-picker/index.js.map +1 -1
  1157. package/build-module/components/duotone/components.js +14 -18
  1158. package/build-module/components/duotone/components.js.map +1 -1
  1159. package/build-module/components/duotone/utils.js +1 -2
  1160. package/build-module/components/duotone/utils.js.map +1 -1
  1161. package/build-module/components/duotone-control/index.js +13 -17
  1162. package/build-module/components/duotone-control/index.js.map +1 -1
  1163. package/build-module/components/editable-text/index.js +11 -12
  1164. package/build-module/components/editable-text/index.js.map +1 -1
  1165. package/build-module/components/editor-styles/index.js +4 -5
  1166. package/build-module/components/editor-styles/index.js.map +1 -1
  1167. package/build-module/components/floating-toolbar/index.native.js +7 -8
  1168. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  1169. package/build-module/components/font-appearance-control/index.js +21 -29
  1170. package/build-module/components/font-appearance-control/index.js.map +1 -1
  1171. package/build-module/components/font-family/index.js +14 -16
  1172. package/build-module/components/font-family/index.js.map +1 -1
  1173. package/build-module/components/font-sizes/fluid-utils.js +17 -21
  1174. package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
  1175. package/build-module/components/font-sizes/font-size-picker.js +2 -3
  1176. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  1177. package/build-module/components/font-sizes/utils.js +8 -14
  1178. package/build-module/components/font-sizes/utils.js.map +1 -1
  1179. package/build-module/components/font-sizes/with-font-sizes.js +18 -36
  1180. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  1181. package/build-module/components/global-styles/advanced-panel.js +7 -10
  1182. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  1183. package/build-module/components/global-styles/border-panel.js +45 -78
  1184. package/build-module/components/global-styles/border-panel.js.map +1 -1
  1185. package/build-module/components/global-styles/color-panel.js +119 -162
  1186. package/build-module/components/global-styles/color-panel.js.map +1 -1
  1187. package/build-module/components/global-styles/color-panel.native.js +25 -42
  1188. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  1189. package/build-module/components/global-styles/dimensions-panel.js +78 -109
  1190. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  1191. package/build-module/components/global-styles/effects-panel.js +60 -73
  1192. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  1193. package/build-module/components/global-styles/filters-panel.js +55 -72
  1194. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  1195. package/build-module/components/global-styles/get-block-css-selector.js +5 -8
  1196. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
  1197. package/build-module/components/global-styles/hooks.js +22 -37
  1198. package/build-module/components/global-styles/hooks.js.map +1 -1
  1199. package/build-module/components/global-styles/index.js +1 -1
  1200. package/build-module/components/global-styles/index.js.map +1 -1
  1201. package/build-module/components/global-styles/typography-panel.js +69 -125
  1202. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  1203. package/build-module/components/global-styles/typography-utils.js +48 -26
  1204. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  1205. package/build-module/components/global-styles/use-global-styles-output.js +146 -240
  1206. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  1207. package/build-module/components/global-styles/utils.js +12 -28
  1208. package/build-module/components/global-styles/utils.js.map +1 -1
  1209. package/build-module/components/gradients/use-gradient.js +6 -7
  1210. package/build-module/components/gradients/use-gradient.js.map +1 -1
  1211. package/build-module/components/gradients/with-gradient.js +2 -3
  1212. package/build-module/components/gradients/with-gradient.js.map +1 -1
  1213. package/build-module/components/height-control/index.js +9 -10
  1214. package/build-module/components/height-control/index.js.map +1 -1
  1215. package/build-module/components/iframe/index.js +54 -90
  1216. package/build-module/components/iframe/index.js.map +1 -1
  1217. package/build-module/components/iframe/use-compatibility-styles.js +29 -20
  1218. package/build-module/components/iframe/use-compatibility-styles.js.map +1 -1
  1219. package/build-module/components/image-editor/aspect-ratio-dropdown.js +83 -91
  1220. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  1221. package/build-module/components/image-editor/constants.js +1 -2
  1222. package/build-module/components/image-editor/constants.js.map +1 -1
  1223. package/build-module/components/image-editor/context.js +9 -10
  1224. package/build-module/components/image-editor/context.js.map +1 -1
  1225. package/build-module/components/image-editor/cropper.js +11 -12
  1226. package/build-module/components/image-editor/cropper.js.map +1 -1
  1227. package/build-module/components/image-editor/index.js +12 -13
  1228. package/build-module/components/image-editor/index.js.map +1 -1
  1229. package/build-module/components/image-editor/use-save-image.js +11 -12
  1230. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  1231. package/build-module/components/image-editor/use-transform-image.js +5 -6
  1232. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  1233. package/build-module/components/image-editor/zoom-dropdown.js +10 -13
  1234. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  1235. package/build-module/components/image-size-control/index.js +12 -13
  1236. package/build-module/components/image-size-control/index.js.map +1 -1
  1237. package/build-module/components/index.js +1 -1
  1238. package/build-module/components/index.js.map +1 -1
  1239. package/build-module/components/index.native.js +1 -0
  1240. package/build-module/components/index.native.js.map +1 -1
  1241. package/build-module/components/inner-blocks/button-block-appender.js +7 -8
  1242. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  1243. package/build-module/components/inner-blocks/default-block-appender.js +6 -8
  1244. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  1245. package/build-module/components/inner-blocks/index.js +11 -13
  1246. package/build-module/components/inner-blocks/index.js.map +1 -1
  1247. package/build-module/components/inner-blocks/index.native.js +9 -9
  1248. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  1249. package/build-module/components/inner-blocks/use-block-context.js +1 -4
  1250. package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
  1251. package/build-module/components/inner-blocks/use-nested-settings-update.js +24 -29
  1252. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  1253. package/build-module/components/inner-blocks/with-client-id.js +2 -3
  1254. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  1255. package/build-module/components/inserter/block-patterns-explorer/explorer.js +11 -12
  1256. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  1257. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +11 -18
  1258. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  1259. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +20 -24
  1260. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  1261. package/build-module/components/inserter/block-patterns-tab.js +62 -47
  1262. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  1263. package/build-module/components/inserter/block-types-tab.js +7 -9
  1264. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  1265. package/build-module/components/inserter/block-types-tab.native.js +8 -9
  1266. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  1267. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +3 -5
  1268. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  1269. package/build-module/components/inserter/hooks/use-block-types-state.js +9 -9
  1270. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  1271. package/build-module/components/inserter/hooks/use-clipboard-block.native.js +2 -2
  1272. package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  1273. package/build-module/components/inserter/hooks/use-debounced-input.js +1 -2
  1274. package/build-module/components/inserter/hooks/use-debounced-input.js.map +1 -1
  1275. package/build-module/components/inserter/hooks/use-insertion-point.js +11 -13
  1276. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  1277. package/build-module/components/inserter/index.js +45 -58
  1278. package/build-module/components/inserter/index.js.map +1 -1
  1279. package/build-module/components/inserter/index.native.js +28 -35
  1280. package/build-module/components/inserter/index.native.js.map +1 -1
  1281. package/build-module/components/inserter/library.js +12 -13
  1282. package/build-module/components/inserter/library.js.map +1 -1
  1283. package/build-module/components/inserter/media-tab/hooks.js +2 -5
  1284. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  1285. package/build-module/components/inserter/media-tab/media-list.js +8 -10
  1286. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  1287. package/build-module/components/inserter/media-tab/media-panel.js +12 -14
  1288. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  1289. package/build-module/components/inserter/media-tab/media-preview.js +47 -59
  1290. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  1291. package/build-module/components/inserter/media-tab/media-tab.js +27 -31
  1292. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  1293. package/build-module/components/inserter/media-tab/utils.js +3 -5
  1294. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  1295. package/build-module/components/inserter/menu.js +15 -19
  1296. package/build-module/components/inserter/menu.js.map +1 -1
  1297. package/build-module/components/inserter/menu.native.js +27 -31
  1298. package/build-module/components/inserter/menu.native.js.map +1 -1
  1299. package/build-module/components/inserter/mobile-tab-navigation.js +7 -9
  1300. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  1301. package/build-module/components/inserter/panel.js +5 -6
  1302. package/build-module/components/inserter/panel.js.map +1 -1
  1303. package/build-module/components/inserter/preview-panel.js +4 -5
  1304. package/build-module/components/inserter/preview-panel.js.map +1 -1
  1305. package/build-module/components/inserter/quick-inserter.js +8 -9
  1306. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  1307. package/build-module/components/inserter/reusable-blocks-tab.js +16 -21
  1308. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  1309. package/build-module/components/inserter/reusable-blocks-tab.native.js +5 -6
  1310. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  1311. package/build-module/components/inserter/search-items.js +12 -40
  1312. package/build-module/components/inserter/search-items.js.map +1 -1
  1313. package/build-module/components/inserter/search-results.js +17 -18
  1314. package/build-module/components/inserter/search-results.js.map +1 -1
  1315. package/build-module/components/inserter/search-results.native.js +11 -12
  1316. package/build-module/components/inserter/search-results.native.js.map +1 -1
  1317. package/build-module/components/inserter/tabs.js +11 -12
  1318. package/build-module/components/inserter/tabs.js.map +1 -1
  1319. package/build-module/components/inserter/tabs.native.js +37 -55
  1320. package/build-module/components/inserter/tabs.native.js.map +1 -1
  1321. package/build-module/components/inserter/utils.native.js +13 -17
  1322. package/build-module/components/inserter/utils.native.js.map +1 -1
  1323. package/build-module/components/inserter-draggable-blocks/index.js +11 -13
  1324. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  1325. package/build-module/components/inserter-list-item/index.js +66 -70
  1326. package/build-module/components/inserter-list-item/index.js.map +1 -1
  1327. package/build-module/components/inserter-listbox/group.js +4 -4
  1328. package/build-module/components/inserter-listbox/group.js.map +1 -1
  1329. package/build-module/components/inserter-listbox/index.js +3 -4
  1330. package/build-module/components/inserter-listbox/index.js.map +1 -1
  1331. package/build-module/components/inserter-listbox/item.js +14 -13
  1332. package/build-module/components/inserter-listbox/item.js.map +1 -1
  1333. package/build-module/components/inserter-listbox/row.js +4 -4
  1334. package/build-module/components/inserter-listbox/row.js.map +1 -1
  1335. package/build-module/components/inspector-controls/block-support-slot-container.js +6 -8
  1336. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  1337. package/build-module/components/inspector-controls/block-support-tools-panel.js +6 -8
  1338. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  1339. package/build-module/components/inspector-controls/fill.js +13 -23
  1340. package/build-module/components/inspector-controls/fill.js.map +1 -1
  1341. package/build-module/components/inspector-controls/fill.native.js +9 -12
  1342. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  1343. package/build-module/components/inspector-controls/index.js +4 -5
  1344. package/build-module/components/inspector-controls/index.js.map +1 -1
  1345. package/build-module/components/inspector-controls/slot.js +13 -18
  1346. package/build-module/components/inspector-controls/slot.js.map +1 -1
  1347. package/build-module/components/inspector-controls/slot.native.js +8 -11
  1348. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  1349. package/build-module/components/inspector-controls-tabs/index.js +6 -7
  1350. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  1351. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +3 -8
  1352. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  1353. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +1 -1
  1354. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  1355. package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -6
  1356. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  1357. package/build-module/components/inspector-controls-tabs/styles-tab.js +5 -6
  1358. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  1359. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +1 -3
  1360. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  1361. package/build-module/components/inspector-popover-header/index.js +18 -22
  1362. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  1363. package/build-module/components/justify-content-control/index.js +4 -5
  1364. package/build-module/components/justify-content-control/index.js.map +1 -1
  1365. package/build-module/components/justify-content-control/ui.js +12 -14
  1366. package/build-module/components/justify-content-control/ui.js.map +1 -1
  1367. package/build-module/components/letter-spacing-control/index.js +8 -10
  1368. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  1369. package/build-module/components/line-height-control/index.js +14 -20
  1370. package/build-module/components/line-height-control/index.js.map +1 -1
  1371. package/build-module/components/line-height-control/index.native.js +4 -5
  1372. package/build-module/components/line-height-control/index.native.js.map +1 -1
  1373. package/build-module/components/link-control/index.js +85 -72
  1374. package/build-module/components/link-control/index.js.map +1 -1
  1375. package/build-module/components/link-control/is-url-like.js +32 -3
  1376. package/build-module/components/link-control/is-url-like.js.map +1 -1
  1377. package/build-module/components/link-control/link-preview.js +24 -27
  1378. package/build-module/components/link-control/link-preview.js.map +1 -1
  1379. package/build-module/components/link-control/search-create-button.js +9 -12
  1380. package/build-module/components/link-control/search-create-button.js.map +1 -1
  1381. package/build-module/components/link-control/search-input.js +24 -27
  1382. package/build-module/components/link-control/search-input.js.map +1 -1
  1383. package/build-module/components/link-control/search-item.js +15 -18
  1384. package/build-module/components/link-control/search-item.js.map +1 -1
  1385. package/build-module/components/link-control/search-results.js +23 -30
  1386. package/build-module/components/link-control/search-results.js.map +1 -1
  1387. package/build-module/components/link-control/settings-drawer.js +7 -33
  1388. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  1389. package/build-module/components/link-control/settings.js +7 -9
  1390. package/build-module/components/link-control/settings.js.map +1 -1
  1391. package/build-module/components/link-control/use-internal-value.js +46 -0
  1392. package/build-module/components/link-control/use-internal-value.js.map +1 -0
  1393. package/build-module/components/link-control/use-rich-url-data.js +1 -1
  1394. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  1395. package/build-module/components/link-control/use-search-handler.js +10 -23
  1396. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  1397. package/build-module/components/list-view/appender.js +14 -16
  1398. package/build-module/components/list-view/appender.js.map +1 -1
  1399. package/build-module/components/list-view/aria-referenced-text.js +34 -0
  1400. package/build-module/components/list-view/aria-referenced-text.js.map +1 -0
  1401. package/build-module/components/list-view/block-contents.js +39 -39
  1402. package/build-module/components/list-view/block-contents.js.map +1 -1
  1403. package/build-module/components/list-view/block-select-button.js +78 -25
  1404. package/build-module/components/list-view/block-select-button.js.map +1 -1
  1405. package/build-module/components/list-view/block.js +117 -101
  1406. package/build-module/components/list-view/block.js.map +1 -1
  1407. package/build-module/components/list-view/branch.js +14 -12
  1408. package/build-module/components/list-view/branch.js.map +1 -1
  1409. package/build-module/components/list-view/drop-indicator.js +65 -16
  1410. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  1411. package/build-module/components/list-view/expander.js +3 -4
  1412. package/build-module/components/list-view/expander.js.map +1 -1
  1413. package/build-module/components/list-view/index.js +50 -48
  1414. package/build-module/components/list-view/index.js.map +1 -1
  1415. package/build-module/components/list-view/leaf.js +14 -15
  1416. package/build-module/components/list-view/leaf.js.map +1 -1
  1417. package/build-module/components/list-view/use-block-selection.js +4 -6
  1418. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  1419. package/build-module/components/list-view/use-list-view-client-ids.js +6 -29
  1420. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  1421. package/build-module/components/list-view/use-list-view-drop-zone.js +62 -39
  1422. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  1423. package/build-module/components/list-view/use-list-view-expand-selected-item.js +4 -5
  1424. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  1425. package/build-module/components/list-view/use-list-view-scroll-into-view.js +5 -6
  1426. package/build-module/components/list-view/use-list-view-scroll-into-view.js.map +1 -1
  1427. package/build-module/components/media-placeholder/index.js +106 -102
  1428. package/build-module/components/media-placeholder/index.js.map +1 -1
  1429. package/build-module/components/media-placeholder/index.native.js +5 -6
  1430. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  1431. package/build-module/components/media-replace-flow/index.js +92 -107
  1432. package/build-module/components/media-replace-flow/index.js.map +1 -1
  1433. package/build-module/components/media-upload/check.js +4 -5
  1434. package/build-module/components/media-upload/check.js.map +1 -1
  1435. package/build-module/components/media-upload/index.native.js +1 -1
  1436. package/build-module/components/media-upload/index.native.js.map +1 -1
  1437. package/build-module/components/multi-selection-inspector/index.js +3 -4
  1438. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  1439. package/build-module/components/navigable-toolbar/index.js +24 -22
  1440. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  1441. package/build-module/components/observe-typing/index.js +3 -4
  1442. package/build-module/components/observe-typing/index.js.map +1 -1
  1443. package/build-module/components/panel-color-settings/index.js +8 -9
  1444. package/build-module/components/panel-color-settings/index.js.map +1 -1
  1445. package/build-module/components/plain-text/index.js +12 -13
  1446. package/build-module/components/plain-text/index.js.map +1 -1
  1447. package/build-module/components/plain-text/index.native.js +15 -19
  1448. package/build-module/components/plain-text/index.native.js.map +1 -1
  1449. package/build-module/components/preview-options/index.js +12 -12
  1450. package/build-module/components/preview-options/index.js.map +1 -1
  1451. package/build-module/components/provider/block-refs-provider.js +3 -4
  1452. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1453. package/build-module/components/provider/index.js +2 -3
  1454. package/build-module/components/provider/index.js.map +1 -1
  1455. package/build-module/components/provider/use-block-sync.js +7 -8
  1456. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1457. package/build-module/components/provider/with-registry-provider.js +13 -14
  1458. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1459. package/build-module/components/publish-date-time-picker/index.js +10 -11
  1460. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  1461. package/build-module/components/recursion-provider/index.js +7 -11
  1462. package/build-module/components/recursion-provider/index.js.map +1 -1
  1463. package/build-module/components/resizable-box-popover/index.js +10 -10
  1464. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  1465. package/build-module/components/responsive-block-control/label.js +5 -6
  1466. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1467. package/build-module/components/rich-text/content.js +85 -0
  1468. package/build-module/components/rich-text/content.js.map +1 -0
  1469. package/build-module/components/rich-text/embed-handler-picker.native.js +6 -10
  1470. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1471. package/build-module/components/rich-text/format-edit.js +7 -8
  1472. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1473. package/build-module/components/rich-text/format-toolbar/index.js +10 -20
  1474. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1475. package/build-module/components/rich-text/format-toolbar-container.js +13 -16
  1476. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1477. package/build-module/components/rich-text/index.js +45 -83
  1478. package/build-module/components/rich-text/index.js.map +1 -1
  1479. package/build-module/components/rich-text/index.native.js +128 -183
  1480. package/build-module/components/rich-text/index.native.js.map +1 -1
  1481. package/build-module/components/rich-text/input-event.js +4 -5
  1482. package/build-module/components/rich-text/input-event.js.map +1 -1
  1483. package/build-module/components/rich-text/shortcut.js +5 -6
  1484. package/build-module/components/rich-text/shortcut.js.map +1 -1
  1485. package/build-module/components/rich-text/split-value.js +8 -10
  1486. package/build-module/components/rich-text/split-value.js.map +1 -1
  1487. package/build-module/components/rich-text/toolbar-button.js +8 -10
  1488. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1489. package/build-module/components/rich-text/use-before-input-rules.js +1 -4
  1490. package/build-module/components/rich-text/use-before-input-rules.js.map +1 -1
  1491. package/build-module/components/rich-text/use-enter.js +3 -6
  1492. package/build-module/components/rich-text/use-enter.js.map +1 -1
  1493. package/build-module/components/rich-text/use-firefox-compat.js +29 -1
  1494. package/build-module/components/rich-text/use-firefox-compat.js.map +1 -1
  1495. package/build-module/components/rich-text/use-format-types.js +11 -17
  1496. package/build-module/components/rich-text/use-format-types.js.map +1 -1
  1497. package/build-module/components/rich-text/use-input-rules.js +9 -15
  1498. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  1499. package/build-module/components/rich-text/use-mark-persistent.js +4 -5
  1500. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  1501. package/build-module/components/rich-text/use-paste-handler.js +5 -7
  1502. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  1503. package/build-module/components/rich-text/utils.js +5 -7
  1504. package/build-module/components/rich-text/utils.js.map +1 -1
  1505. package/build-module/components/skip-to-selected-block/index.js +3 -4
  1506. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1507. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +27 -0
  1508. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -0
  1509. package/build-module/components/spacing-sizes-control/index.js +64 -64
  1510. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  1511. package/build-module/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +21 -22
  1512. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -0
  1513. package/build-module/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +21 -21
  1514. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -0
  1515. package/build-module/components/spacing-sizes-control/input-controls/single.js +40 -0
  1516. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -0
  1517. package/build-module/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +53 -70
  1518. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -0
  1519. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +73 -0
  1520. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -0
  1521. package/build-module/components/spacing-sizes-control/utils.js +196 -25
  1522. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  1523. package/build-module/components/text-decoration-control/index.js +5 -6
  1524. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1525. package/build-module/components/text-transform-control/index.js +5 -6
  1526. package/build-module/components/text-transform-control/index.js.map +1 -1
  1527. package/build-module/components/tool-selector/index.js +13 -17
  1528. package/build-module/components/tool-selector/index.js.map +1 -1
  1529. package/build-module/components/typewriter/index.js +6 -9
  1530. package/build-module/components/typewriter/index.js.map +1 -1
  1531. package/build-module/components/ungroup-button/index.native.js +11 -14
  1532. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1533. package/build-module/components/unit-control/index.js +8 -9
  1534. package/build-module/components/unit-control/index.js.map +1 -1
  1535. package/build-module/components/url-input/index.js +23 -33
  1536. package/build-module/components/url-input/index.js.map +1 -1
  1537. package/build-module/components/url-input/index.native.js +10 -12
  1538. package/build-module/components/url-input/index.native.js.map +1 -1
  1539. package/build-module/components/url-popover/image-url-input-ui.js +34 -30
  1540. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1541. package/build-module/components/url-popover/index.js +16 -18
  1542. package/build-module/components/url-popover/index.js.map +1 -1
  1543. package/build-module/components/url-popover/link-editor.js +10 -11
  1544. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1545. package/build-module/components/url-popover/link-viewer-url.js +5 -6
  1546. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1547. package/build-module/components/url-popover/link-viewer.js +11 -12
  1548. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1549. package/build-module/components/use-block-display-information/index.js +29 -2
  1550. package/build-module/components/use-block-display-information/index.js.map +1 -1
  1551. package/build-module/components/use-block-drop-zone/index.js +16 -23
  1552. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  1553. package/build-module/components/use-block-drop-zone/index.native.js +8 -11
  1554. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  1555. package/build-module/components/use-moving-animation/index.js +9 -12
  1556. package/build-module/components/use-moving-animation/index.js.map +1 -1
  1557. package/build-module/components/use-on-block-drop/index.js +2 -6
  1558. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  1559. package/build-module/components/use-on-block-drop/index.native.js +8 -10
  1560. package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
  1561. package/build-module/components/use-paste-styles/index.js +2 -6
  1562. package/build-module/components/use-paste-styles/index.js.map +1 -1
  1563. package/build-module/components/video-player/index.native.js +2 -3
  1564. package/build-module/components/video-player/index.native.js.map +1 -1
  1565. package/build-module/components/warning/index.js +6 -7
  1566. package/build-module/components/warning/index.js.map +1 -1
  1567. package/build-module/components/warning/index.native.js +13 -14
  1568. package/build-module/components/warning/index.native.js.map +1 -1
  1569. package/build-module/components/writing-flow/index.js +6 -8
  1570. package/build-module/components/writing-flow/index.js.map +1 -1
  1571. package/build-module/components/writing-flow/use-drag-selection.js +5 -7
  1572. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  1573. package/build-module/components/writing-flow/use-tab-nav.js +41 -11
  1574. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  1575. package/build-module/hooks/align.js +15 -21
  1576. package/build-module/hooks/align.js.map +1 -1
  1577. package/build-module/hooks/anchor.js +8 -4
  1578. package/build-module/hooks/anchor.js.map +1 -1
  1579. package/build-module/hooks/aria-label.js +1 -3
  1580. package/build-module/hooks/aria-label.js.map +1 -1
  1581. package/build-module/hooks/behaviors.js +132 -58
  1582. package/build-module/hooks/behaviors.js.map +1 -1
  1583. package/build-module/hooks/border.js +29 -42
  1584. package/build-module/hooks/border.js.map +1 -1
  1585. package/build-module/hooks/color.js +26 -41
  1586. package/build-module/hooks/color.js.map +1 -1
  1587. package/build-module/hooks/content-lock-ui.js +30 -33
  1588. package/build-module/hooks/content-lock-ui.js.map +1 -1
  1589. package/build-module/hooks/contrast-checker.js +4 -7
  1590. package/build-module/hooks/contrast-checker.js.map +1 -1
  1591. package/build-module/hooks/custom-class-name.js +7 -5
  1592. package/build-module/hooks/custom-class-name.js.map +1 -1
  1593. package/build-module/hooks/dimensions.js +11 -13
  1594. package/build-module/hooks/dimensions.js.map +1 -1
  1595. package/build-module/hooks/duotone.js +37 -48
  1596. package/build-module/hooks/duotone.js.map +1 -1
  1597. package/build-module/hooks/font-family.js +6 -11
  1598. package/build-module/hooks/font-family.js.map +1 -1
  1599. package/build-module/hooks/font-size.js +22 -28
  1600. package/build-module/hooks/font-size.js.map +1 -1
  1601. package/build-module/hooks/gap.js +5 -6
  1602. package/build-module/hooks/gap.js.map +1 -1
  1603. package/build-module/hooks/layout.js +62 -77
  1604. package/build-module/hooks/layout.js.map +1 -1
  1605. package/build-module/hooks/line-height.js +5 -8
  1606. package/build-module/hooks/line-height.js.map +1 -1
  1607. package/build-module/hooks/lock.js +2 -2
  1608. package/build-module/hooks/lock.js.map +1 -1
  1609. package/build-module/hooks/margin.js +6 -9
  1610. package/build-module/hooks/margin.js.map +1 -1
  1611. package/build-module/hooks/metadata-name.js +4 -5
  1612. package/build-module/hooks/metadata-name.js.map +1 -1
  1613. package/build-module/hooks/metadata.js +3 -7
  1614. package/build-module/hooks/metadata.js.map +1 -1
  1615. package/build-module/hooks/padding.js +6 -9
  1616. package/build-module/hooks/padding.js.map +1 -1
  1617. package/build-module/hooks/position.js +49 -55
  1618. package/build-module/hooks/position.js.map +1 -1
  1619. package/build-module/hooks/settings.js +1 -3
  1620. package/build-module/hooks/settings.js.map +1 -1
  1621. package/build-module/hooks/style.js +18 -22
  1622. package/build-module/hooks/style.js.map +1 -1
  1623. package/build-module/hooks/supports.js +4 -6
  1624. package/build-module/hooks/supports.js.map +1 -1
  1625. package/build-module/hooks/typography.js +18 -27
  1626. package/build-module/hooks/typography.js.map +1 -1
  1627. package/build-module/hooks/typography.native.js +4 -3
  1628. package/build-module/hooks/typography.native.js.map +1 -1
  1629. package/build-module/hooks/use-border-props.js +1 -3
  1630. package/build-module/hooks/use-border-props.js.map +1 -1
  1631. package/build-module/hooks/use-color-props.js +6 -8
  1632. package/build-module/hooks/use-color-props.js.map +1 -1
  1633. package/build-module/hooks/use-editor-wrapper-styles.native.js +34 -39
  1634. package/build-module/hooks/use-editor-wrapper-styles.native.js.map +1 -1
  1635. package/build-module/hooks/use-spacing-props.js +1 -1
  1636. package/build-module/hooks/use-spacing-props.js.map +1 -1
  1637. package/build-module/hooks/use-typography-props.js +11 -22
  1638. package/build-module/hooks/use-typography-props.js.map +1 -1
  1639. package/build-module/hooks/utils.js +7 -19
  1640. package/build-module/hooks/utils.js.map +1 -1
  1641. package/build-module/index.js +1 -1
  1642. package/build-module/index.js.map +1 -1
  1643. package/build-module/layouts/constrained.js +23 -27
  1644. package/build-module/layouts/constrained.js.map +1 -1
  1645. package/build-module/layouts/definitions.js +147 -0
  1646. package/build-module/layouts/definitions.js.map +1 -0
  1647. package/build-module/layouts/flex.js +50 -59
  1648. package/build-module/layouts/flex.js.map +1 -1
  1649. package/build-module/layouts/flow.js +11 -13
  1650. package/build-module/layouts/flow.js.map +1 -1
  1651. package/build-module/layouts/grid.js +46 -25
  1652. package/build-module/layouts/grid.js.map +1 -1
  1653. package/build-module/layouts/index.js +1 -2
  1654. package/build-module/layouts/index.js.map +1 -1
  1655. package/build-module/layouts/utils.js +10 -11
  1656. package/build-module/layouts/utils.js.map +1 -1
  1657. package/build-module/private-apis.js +12 -1
  1658. package/build-module/private-apis.js.map +1 -1
  1659. package/build-module/store/actions.js +229 -372
  1660. package/build-module/store/actions.js.map +1 -1
  1661. package/build-module/store/array.js +1 -2
  1662. package/build-module/store/array.js.map +1 -1
  1663. package/build-module/store/private-actions.js +189 -7
  1664. package/build-module/store/private-actions.js.map +1 -1
  1665. package/build-module/store/private-selectors.js +100 -25
  1666. package/build-module/store/private-selectors.js.map +1 -1
  1667. package/build-module/store/reducer.js +118 -169
  1668. package/build-module/store/reducer.js.map +1 -1
  1669. package/build-module/store/selectors.js +160 -231
  1670. package/build-module/store/selectors.js.map +1 -1
  1671. package/build-module/utils/block-variation-transforms.js +4 -7
  1672. package/build-module/utils/block-variation-transforms.js.map +1 -1
  1673. package/build-module/utils/math.js +1 -2
  1674. package/build-module/utils/math.js.map +1 -1
  1675. package/build-module/utils/object.js +38 -5
  1676. package/build-module/utils/object.js.map +1 -1
  1677. package/build-module/utils/order-inserter-block-items.js +5 -7
  1678. package/build-module/utils/order-inserter-block-items.js.map +1 -1
  1679. package/build-module/utils/parse-css-unit-to-px.js +3 -6
  1680. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  1681. package/build-module/utils/pasting.js +5 -8
  1682. package/build-module/utils/pasting.js.map +1 -1
  1683. package/build-module/utils/pre-parse-patterns.js +1 -1
  1684. package/build-module/utils/pre-parse-patterns.js.map +1 -1
  1685. package/build-module/utils/sorting.js +1 -2
  1686. package/build-module/utils/sorting.js.map +1 -1
  1687. package/build-module/utils/transform-styles/index.js +5 -7
  1688. package/build-module/utils/transform-styles/index.js.map +1 -1
  1689. package/build-module/utils/transform-styles/transforms/wrap.js +25 -28
  1690. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  1691. package/build-style/content-rtl.css +7 -10
  1692. package/build-style/content.css +7 -10
  1693. package/build-style/style-rtl.css +51 -122
  1694. package/build-style/style.css +51 -122
  1695. package/package.json +31 -31
  1696. package/src/autocompleters/block.js +4 -2
  1697. package/src/components/alignment-control/ui.js +1 -2
  1698. package/src/components/block-actions/index.js +10 -0
  1699. package/src/components/block-alignment-control/constants.js +0 -4
  1700. package/src/components/block-alignment-control/ui.js +1 -6
  1701. package/src/components/block-alignment-matrix-control/index.js +1 -1
  1702. package/src/components/block-breadcrumb/index.js +2 -6
  1703. package/src/components/block-controls/fill.js +15 -17
  1704. package/src/components/block-controls/slot.js +21 -18
  1705. package/src/components/block-controls/slot.native.js +3 -8
  1706. package/src/components/block-draggable/index.js +2 -1
  1707. package/src/components/block-edit/index.js +3 -5
  1708. package/src/components/block-edit/test/edit.js +1 -1
  1709. package/src/components/block-heading-level-dropdown/README.md +52 -0
  1710. package/src/components/block-heading-level-dropdown/heading-level-icon.js +43 -0
  1711. package/src/components/block-heading-level-dropdown/index.js +77 -0
  1712. package/src/components/block-heading-level-dropdown/index.native.js +63 -0
  1713. package/src/components/block-inspector/index.js +19 -92
  1714. package/src/components/block-inspector/style.scss +0 -5
  1715. package/src/components/block-list/block.native.js +1 -0
  1716. package/src/components/block-list/content.scss +8 -12
  1717. package/src/components/block-list/index.js +1 -1
  1718. package/src/components/block-list/use-block-props/index.js +6 -1
  1719. package/src/components/block-list/use-in-between-inserter.js +0 -4
  1720. package/src/components/block-list-appender/index.js +32 -22
  1721. package/src/components/block-lock/style.scss +11 -4
  1722. package/src/components/block-lock/toolbar.js +2 -8
  1723. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  1724. package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +2 -2
  1725. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +3 -3
  1726. package/src/components/block-mover/test/index.native.js +1 -20
  1727. package/src/components/block-preview/index.js +7 -14
  1728. package/src/components/block-quick-navigation/index.js +81 -0
  1729. package/src/components/block-removal-warning-modal/index.js +94 -0
  1730. package/src/components/block-settings-menu/block-settings-dropdown.js +96 -54
  1731. package/src/components/block-switcher/index.js +1 -2
  1732. package/src/components/block-toolbar/style.scss +0 -4
  1733. package/src/components/block-tools/index.js +10 -1
  1734. package/src/components/block-tools/selected-block-popover.js +6 -0
  1735. package/src/components/block-vertical-alignment-control/ui.js +1 -3
  1736. package/src/components/color-palette/test/__snapshots__/control.js.snap +66 -50
  1737. package/src/components/color-palette/with-color-context.js +2 -6
  1738. package/src/components/colors/utils.js +5 -1
  1739. package/src/components/colors/with-colors.js +1 -5
  1740. package/src/components/colors-gradients/control.js +3 -3
  1741. package/src/components/colors-gradients/panel-color-gradient-settings.js +4 -5
  1742. package/src/components/copy-handler/index.js +5 -5
  1743. package/src/components/duotone-control/index.js +0 -1
  1744. package/src/components/font-sizes/test/fluid-utils.js +97 -76
  1745. package/src/components/font-sizes/utils.js +2 -2
  1746. package/src/components/global-styles/color-panel.js +3 -3
  1747. package/src/components/global-styles/dimensions-panel.js +14 -5
  1748. package/src/components/global-styles/get-block-css-selector.js +2 -2
  1749. package/src/components/global-styles/index.js +1 -0
  1750. package/src/components/global-styles/test/typography-utils.js +139 -1
  1751. package/src/components/global-styles/test/use-global-styles-output.js +14 -9
  1752. package/src/components/global-styles/typography-panel.js +19 -16
  1753. package/src/components/global-styles/typography-utils.js +53 -28
  1754. package/src/components/global-styles/use-global-styles-output.js +29 -19
  1755. package/src/components/global-styles/utils.js +9 -3
  1756. package/src/components/iframe/index.js +46 -68
  1757. package/src/components/iframe/use-compatibility-styles.js +34 -18
  1758. package/src/components/image-editor/constants.js +0 -1
  1759. package/src/components/index.js +1 -1
  1760. package/src/components/index.native.js +1 -0
  1761. package/src/components/inner-blocks/index.js +4 -2
  1762. package/src/components/inner-blocks/index.native.js +1 -1
  1763. package/src/components/inner-blocks/use-nested-settings-update.js +31 -36
  1764. package/src/components/inserter/block-patterns-tab.js +63 -8
  1765. package/src/components/inserter/hooks/use-block-types-state.js +4 -3
  1766. package/src/components/inserter/hooks/use-insertion-point.js +1 -0
  1767. package/src/components/inserter/library.js +2 -1
  1768. package/src/components/inserter/media-tab/media-tab.js +9 -3
  1769. package/src/components/inserter/reusable-blocks-tab.js +3 -3
  1770. package/src/components/inserter/tabs.js +3 -3
  1771. package/src/components/inspector-controls/README.md +1 -1
  1772. package/src/components/inspector-controls/fill.js +2 -6
  1773. package/src/components/inspector-controls-tabs/index.js +0 -1
  1774. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +0 -1
  1775. package/src/components/link-control/index.js +73 -42
  1776. package/src/components/link-control/is-url-like.js +40 -3
  1777. package/src/components/link-control/search-input.js +1 -0
  1778. package/src/components/link-control/search-results.js +4 -14
  1779. package/src/components/link-control/settings-drawer.js +2 -37
  1780. package/src/components/link-control/settings.js +2 -2
  1781. package/src/components/link-control/style.scss +5 -6
  1782. package/src/components/link-control/test/index.js +202 -105
  1783. package/src/components/link-control/test/is-url-like.js +66 -0
  1784. package/src/components/link-control/use-internal-value.js +60 -0
  1785. package/src/components/link-control/use-search-handler.js +10 -27
  1786. package/src/components/list-view/appender.js +3 -5
  1787. package/src/components/list-view/aria-referenced-text.js +30 -0
  1788. package/src/components/list-view/block-contents.js +9 -8
  1789. package/src/components/list-view/block-select-button.js +78 -2
  1790. package/src/components/list-view/block.js +40 -10
  1791. package/src/components/list-view/branch.js +6 -3
  1792. package/src/components/list-view/drop-indicator.js +94 -9
  1793. package/src/components/list-view/index.js +29 -19
  1794. package/src/components/list-view/style.scss +13 -17
  1795. package/src/components/list-view/test/use-list-view-drop-zone.js +208 -76
  1796. package/src/components/list-view/use-block-selection.js +2 -2
  1797. package/src/components/list-view/use-list-view-client-ids.js +3 -20
  1798. package/src/components/list-view/use-list-view-drop-zone.js +108 -47
  1799. package/src/components/media-placeholder/index.js +54 -20
  1800. package/src/components/media-replace-flow/index.js +1 -3
  1801. package/src/components/media-replace-flow/test/index.js +1 -1
  1802. package/src/components/navigable-toolbar/index.js +7 -5
  1803. package/src/components/preview-options/index.js +3 -2
  1804. package/src/components/provider/test/experimental-provider.js +9 -6
  1805. package/src/components/rich-text/content.js +85 -0
  1806. package/src/components/rich-text/format-toolbar/index.js +1 -2
  1807. package/src/components/rich-text/index.js +3 -36
  1808. package/src/components/rich-text/index.native.js +3 -33
  1809. package/src/components/rich-text/use-firefox-compat.js +27 -1
  1810. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +26 -0
  1811. package/src/components/spacing-sizes-control/index.js +85 -71
  1812. package/src/components/spacing-sizes-control/{axial-input-controls.js → input-controls/axial.js} +14 -13
  1813. package/src/components/spacing-sizes-control/{input-controls.js → input-controls/separated.js} +15 -14
  1814. package/src/components/spacing-sizes-control/input-controls/single.js +40 -0
  1815. package/src/components/spacing-sizes-control/{spacing-input-control.js → input-controls/spacing-input-control.js} +55 -80
  1816. package/src/components/spacing-sizes-control/sides-dropdown/index.js +91 -0
  1817. package/src/components/spacing-sizes-control/style.scss +28 -100
  1818. package/src/components/spacing-sizes-control/test/utils.js +233 -4
  1819. package/src/components/spacing-sizes-control/utils.js +203 -20
  1820. package/src/components/ungroup-button/index.native.js +2 -2
  1821. package/src/components/url-popover/image-url-input-ui.js +15 -15
  1822. package/src/components/url-popover/test/__snapshots__/index.js.snap +3 -3
  1823. package/src/components/use-block-display-information/index.js +26 -0
  1824. package/src/components/writing-flow/use-drag-selection.js +1 -1
  1825. package/src/components/writing-flow/use-tab-nav.js +56 -9
  1826. package/src/hooks/anchor.js +3 -1
  1827. package/src/hooks/behaviors.js +163 -64
  1828. package/src/hooks/custom-class-name.js +23 -19
  1829. package/src/hooks/font-family.js +1 -5
  1830. package/src/hooks/font-size.js +12 -17
  1831. package/src/hooks/layout.js +21 -26
  1832. package/src/hooks/position.js +24 -12
  1833. package/src/hooks/style.js +3 -1
  1834. package/src/hooks/supports.js +1 -1
  1835. package/src/hooks/use-typography-props.js +14 -19
  1836. package/src/hooks/utils.js +8 -7
  1837. package/src/index.js +0 -2
  1838. package/src/layouts/constrained.js +2 -1
  1839. package/src/layouts/definitions.js +174 -0
  1840. package/src/layouts/flex.js +7 -5
  1841. package/src/layouts/flow.js +2 -1
  1842. package/src/layouts/grid.js +31 -4
  1843. package/src/layouts/test/utils.js +2 -7
  1844. package/src/layouts/utils.js +7 -2
  1845. package/src/private-apis.js +11 -0
  1846. package/src/store/actions.js +7 -56
  1847. package/src/store/private-actions.js +193 -0
  1848. package/src/store/private-selectors.js +132 -37
  1849. package/src/store/reducer.js +50 -8
  1850. package/src/store/selectors.js +74 -41
  1851. package/src/store/test/private-selectors.js +491 -48
  1852. package/src/store/test/reducer.js +0 -7
  1853. package/src/store/test/selectors.js +117 -17
  1854. package/src/utils/object.js +35 -0
  1855. package/src/utils/test/object.js +96 -1
  1856. package/build/components/link-control/use-internal-input-value.js +0 -27
  1857. package/build/components/link-control/use-internal-input-value.js.map +0 -1
  1858. package/build/components/spacing-sizes-control/all-input-control.js +0 -57
  1859. package/build/components/spacing-sizes-control/all-input-control.js.map +0 -1
  1860. package/build/components/spacing-sizes-control/axial-input-controls.js.map +0 -1
  1861. package/build/components/spacing-sizes-control/input-controls.js.map +0 -1
  1862. package/build/components/spacing-sizes-control/linked-button.js +0 -37
  1863. package/build/components/spacing-sizes-control/linked-button.js.map +0 -1
  1864. package/build/components/spacing-sizes-control/spacing-input-control.js.map +0 -1
  1865. package/build/components/ungroup-button/icon.js +0 -31
  1866. package/build/components/ungroup-button/icon.js.map +0 -1
  1867. package/build-module/components/link-control/use-internal-input-value.js +0 -19
  1868. package/build-module/components/link-control/use-internal-input-value.js.map +0 -1
  1869. package/build-module/components/spacing-sizes-control/all-input-control.js +0 -45
  1870. package/build-module/components/spacing-sizes-control/all-input-control.js.map +0 -1
  1871. package/build-module/components/spacing-sizes-control/axial-input-controls.js.map +0 -1
  1872. package/build-module/components/spacing-sizes-control/input-controls.js.map +0 -1
  1873. package/build-module/components/spacing-sizes-control/linked-button.js +0 -27
  1874. package/build-module/components/spacing-sizes-control/linked-button.js.map +0 -1
  1875. package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +0 -1
  1876. package/build-module/components/ungroup-button/icon.js +0 -22
  1877. package/build-module/components/ungroup-button/icon.js.map +0 -1
  1878. package/src/components/link-control/use-internal-input-value.js +0 -23
  1879. package/src/components/spacing-sizes-control/all-input-control.js +0 -44
  1880. package/src/components/spacing-sizes-control/linked-button.js +0 -24
  1881. package/src/components/ungroup-button/icon.js +0 -26
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/gradients/use-gradient.js"],"names":["__experimentalGetGradientClass","gradientSlug","undefined","getGradientValueBySlug","gradients","slug","gradient","find","g","__experimentalGetGradientObjectByGradientValue","value","getGradientSlugByValue","__experimentalUseGradient","gradientAttribute","customGradientAttribute","clientId","userGradientPalette","themeGradientPalette","defaultGradientPalette","allGradients","customGradient","select","getBlockAttributes","blockEditorStore","attributes","updateBlockAttributes","setGradient","newGradientValue","gradientClass","gradientValue"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditContext } from '../block-edit';\nimport useSetting from '../use-setting';\nimport { store as blockEditorStore } from '../../store';\n\nexport function __experimentalGetGradientClass( gradientSlug ) {\n\tif ( ! gradientSlug ) {\n\t\treturn undefined;\n\t}\n\treturn `has-${ gradientSlug }-gradient-background`;\n}\n\n/**\n * Retrieves the gradient value per slug.\n *\n * @param {Array} gradients Gradient Palette\n * @param {string} slug Gradient slug\n *\n * @return {string} Gradient value.\n */\nexport function getGradientValueBySlug( gradients, slug ) {\n\tconst gradient = gradients?.find( ( g ) => g.slug === slug );\n\treturn gradient && gradient.gradient;\n}\n\nexport function __experimentalGetGradientObjectByGradientValue(\n\tgradients,\n\tvalue\n) {\n\tconst gradient = gradients?.find( ( g ) => g.gradient === value );\n\treturn gradient;\n}\n\n/**\n * Retrieves the gradient slug per slug.\n *\n * @param {Array} gradients Gradient Palette\n * @param {string} value Gradient value\n * @return {string} Gradient slug.\n */\nexport function getGradientSlugByValue( gradients, value ) {\n\tconst gradient = __experimentalGetGradientObjectByGradientValue(\n\t\tgradients,\n\t\tvalue\n\t);\n\treturn gradient && gradient.slug;\n}\n\nexport function __experimentalUseGradient( {\n\tgradientAttribute = 'gradient',\n\tcustomGradientAttribute = 'customGradient',\n} = {} ) {\n\tconst { clientId } = useBlockEditContext();\n\n\tconst userGradientPalette = useSetting( 'color.gradients.custom' );\n\tconst themeGradientPalette = useSetting( 'color.gradients.theme' );\n\tconst defaultGradientPalette = useSetting( 'color.gradients.default' );\n\tconst allGradients = useMemo(\n\t\t() => [\n\t\t\t...( userGradientPalette || [] ),\n\t\t\t...( themeGradientPalette || [] ),\n\t\t\t...( defaultGradientPalette || [] ),\n\t\t],\n\t\t[ userGradientPalette, themeGradientPalette, defaultGradientPalette ]\n\t);\n\tconst { gradient, customGradient } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes } = select( blockEditorStore );\n\t\t\tconst attributes = getBlockAttributes( clientId ) || {};\n\t\t\treturn {\n\t\t\t\tcustomGradient: attributes[ customGradientAttribute ],\n\t\t\t\tgradient: attributes[ gradientAttribute ],\n\t\t\t};\n\t\t},\n\t\t[ clientId, gradientAttribute, customGradientAttribute ]\n\t);\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst setGradient = useCallback(\n\t\t( newGradientValue ) => {\n\t\t\tconst slug = getGradientSlugByValue(\n\t\t\t\tallGradients,\n\t\t\t\tnewGradientValue\n\t\t\t);\n\t\t\tif ( slug ) {\n\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\t[ gradientAttribute ]: slug,\n\t\t\t\t\t[ customGradientAttribute ]: undefined,\n\t\t\t\t} );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t[ gradientAttribute ]: undefined,\n\t\t\t\t[ customGradientAttribute ]: newGradientValue,\n\t\t\t} );\n\t\t},\n\t\t[ allGradients, clientId, updateBlockAttributes ]\n\t);\n\n\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\tlet gradientValue;\n\tif ( gradient ) {\n\t\tgradientValue = getGradientValueBySlug( allGradients, gradient );\n\t} else {\n\t\tgradientValue = customGradient;\n\t}\n\treturn { gradientClass, gradientValue, setGradient };\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/gradients/use-gradient.js"],"names":["__experimentalGetGradientClass","gradientSlug","undefined","getGradientValueBySlug","gradients","slug","gradient","find","g","__experimentalGetGradientObjectByGradientValue","value","getGradientSlugByValue","__experimentalUseGradient","gradientAttribute","customGradientAttribute","clientId","userGradientPalette","themeGradientPalette","defaultGradientPalette","allGradients","customGradient","select","getBlockAttributes","blockEditorStore","attributes","updateBlockAttributes","setGradient","newGradientValue","gradientClass","gradientValue"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditContext } from '../block-edit';\nimport useSetting from '../use-setting';\nimport { store as blockEditorStore } from '../../store';\n\nexport function __experimentalGetGradientClass( gradientSlug ) {\n\tif ( ! gradientSlug ) {\n\t\treturn undefined;\n\t}\n\treturn `has-${ gradientSlug }-gradient-background`;\n}\n\n/**\n * Retrieves the gradient value per slug.\n *\n * @param {Array} gradients Gradient Palette\n * @param {string} slug Gradient slug\n *\n * @return {string} Gradient value.\n */\nexport function getGradientValueBySlug( gradients, slug ) {\n\tconst gradient = gradients?.find( ( g ) => g.slug === slug );\n\treturn gradient && gradient.gradient;\n}\n\nexport function __experimentalGetGradientObjectByGradientValue(\n\tgradients,\n\tvalue\n) {\n\tconst gradient = gradients?.find( ( g ) => g.gradient === value );\n\treturn gradient;\n}\n\n/**\n * Retrieves the gradient slug per slug.\n *\n * @param {Array} gradients Gradient Palette\n * @param {string} value Gradient value\n * @return {string} Gradient slug.\n */\nexport function getGradientSlugByValue( gradients, value ) {\n\tconst gradient = __experimentalGetGradientObjectByGradientValue(\n\t\tgradients,\n\t\tvalue\n\t);\n\treturn gradient && gradient.slug;\n}\n\nexport function __experimentalUseGradient( {\n\tgradientAttribute = 'gradient',\n\tcustomGradientAttribute = 'customGradient',\n} = {} ) {\n\tconst { clientId } = useBlockEditContext();\n\n\tconst userGradientPalette = useSetting( 'color.gradients.custom' );\n\tconst themeGradientPalette = useSetting( 'color.gradients.theme' );\n\tconst defaultGradientPalette = useSetting( 'color.gradients.default' );\n\tconst allGradients = useMemo(\n\t\t() => [\n\t\t\t...( userGradientPalette || [] ),\n\t\t\t...( themeGradientPalette || [] ),\n\t\t\t...( defaultGradientPalette || [] ),\n\t\t],\n\t\t[ userGradientPalette, themeGradientPalette, defaultGradientPalette ]\n\t);\n\tconst { gradient, customGradient } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes } = select( blockEditorStore );\n\t\t\tconst attributes = getBlockAttributes( clientId ) || {};\n\t\t\treturn {\n\t\t\t\tcustomGradient: attributes[ customGradientAttribute ],\n\t\t\t\tgradient: attributes[ gradientAttribute ],\n\t\t\t};\n\t\t},\n\t\t[ clientId, gradientAttribute, customGradientAttribute ]\n\t);\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst setGradient = useCallback(\n\t\t( newGradientValue ) => {\n\t\t\tconst slug = getGradientSlugByValue(\n\t\t\t\tallGradients,\n\t\t\t\tnewGradientValue\n\t\t\t);\n\t\t\tif ( slug ) {\n\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\t[ gradientAttribute ]: slug,\n\t\t\t\t\t[ customGradientAttribute ]: undefined,\n\t\t\t\t} );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t[ gradientAttribute ]: undefined,\n\t\t\t\t[ customGradientAttribute ]: newGradientValue,\n\t\t\t} );\n\t\t},\n\t\t[ allGradients, clientId, updateBlockAttributes ]\n\t);\n\n\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\tlet gradientValue;\n\tif ( gradient ) {\n\t\tgradientValue = getGradientValueBySlug( allGradients, gradient );\n\t} else {\n\t\tgradientValue = customGradient;\n\t}\n\treturn { gradientClass, gradientValue, setGradient };\n}\n"]}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -9,8 +7,6 @@ exports.withGradient = void 0;
9
7
 
10
8
  var _element = require("@wordpress/element");
11
9
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
10
  var _useGradient = require("./use-gradient");
15
11
 
16
12
  /**
@@ -20,9 +16,9 @@ const withGradient = WrappedComponent => props => {
20
16
  const {
21
17
  gradientValue
22
18
  } = (0, _useGradient.__experimentalUseGradient)();
23
- return (0, _element.createElement)(WrappedComponent, (0, _extends2.default)({}, props, {
19
+ return (0, _element.createElement)(WrappedComponent, { ...props,
24
20
  gradientValue: gradientValue
25
- }));
21
+ });
26
22
  };
27
23
 
28
24
  exports.withGradient = withGradient;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/gradients/with-gradient.js"],"names":["withGradient","WrappedComponent","props","gradientValue"],"mappings":";;;;;;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,MAAMA,YAAY,GAAKC,gBAAF,IAA0BC,KAAF,IAAa;AAChE,QAAM;AAAEC,IAAAA;AAAF,MAAoB,6CAA1B;AACA,SAAO,4BAAC,gBAAD,6BAAuBD,KAAvB;AAA+B,IAAA,aAAa,EAAGC;AAA/C,KAAP;AACA,CAHM","sourcesContent":["/**\n * Internal dependencies\n */\nimport { __experimentalUseGradient } from './use-gradient';\n\nexport const withGradient = ( WrappedComponent ) => ( props ) => {\n\tconst { gradientValue } = __experimentalUseGradient();\n\treturn <WrappedComponent { ...props } gradientValue={ gradientValue } />;\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/gradients/with-gradient.js"],"names":["withGradient","WrappedComponent","props","gradientValue"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,MAAMA,YAAY,GAAKC,gBAAF,IAA0BC,KAAF,IAAa;AAChE,QAAM;AAAEC,IAAAA;AAAF,MAAoB,6CAA1B;AACA,SAAO,4BAAC,gBAAD,OAAuBD,KAAvB;AAA+B,IAAA,aAAa,EAAGC;AAA/C,IAAP;AACA,CAHM","sourcesContent":["/**\n * Internal dependencies\n */\nimport { __experimentalUseGradient } from './use-gradient';\n\nexport const withGradient = ( WrappedComponent ) => ( props ) => {\n\tconst { gradientValue } = __experimentalUseGradient();\n\treturn <WrappedComponent { ...props } gradientValue={ gradientValue } />;\n};\n"]}
@@ -61,19 +61,18 @@ const RANGE_CONTROL_CUSTOM_SETTINGS = {
61
61
  * @return {WPComponent} The component to be rendered.
62
62
  */
63
63
 
64
- function HeightControl(_ref) {
65
- var _units$, _RANGE_CONTROL_CUSTOM, _RANGE_CONTROL_CUSTOM2, _RANGE_CONTROL_CUSTOM3, _RANGE_CONTROL_CUSTOM4;
64
+ function HeightControl({
65
+ label = (0, _i18n.__)('Height'),
66
+ onChange,
67
+ value
68
+ }) {
69
+ var _RANGE_CONTROL_CUSTOM, _RANGE_CONTROL_CUSTOM2;
66
70
 
67
- let {
68
- label = (0, _i18n.__)('Height'),
69
- onChange,
70
- value
71
- } = _ref;
72
71
  const customRangeValue = parseFloat(value);
73
72
  const units = (0, _components.__experimentalUseCustomUnits)({
74
73
  availableUnits: (0, _useSetting.default)('spacing.units') || ['%', 'px', 'em', 'rem', 'vh', 'vw']
75
74
  });
76
- const selectedUnit = (0, _element.useMemo)(() => (0, _components.__experimentalParseQuantityAndUnitFromRawValue)(value), [value])[1] || ((_units$ = units[0]) === null || _units$ === void 0 ? void 0 : _units$.value) || 'px';
75
+ const selectedUnit = (0, _element.useMemo)(() => (0, _components.__experimentalParseQuantityAndUnitFromRawValue)(value), [value])[1] || units[0]?.value || 'px';
77
76
 
78
77
  const handleSliderChange = next => {
79
78
  onChange([next, selectedUnit].join(''));
@@ -117,8 +116,8 @@ function HeightControl(_ref) {
117
116
  }, (0, _element.createElement)(_components.RangeControl, {
118
117
  value: customRangeValue,
119
118
  min: 0,
120
- max: (_RANGE_CONTROL_CUSTOM = (_RANGE_CONTROL_CUSTOM2 = RANGE_CONTROL_CUSTOM_SETTINGS[selectedUnit]) === null || _RANGE_CONTROL_CUSTOM2 === void 0 ? void 0 : _RANGE_CONTROL_CUSTOM2.max) !== null && _RANGE_CONTROL_CUSTOM !== void 0 ? _RANGE_CONTROL_CUSTOM : 100,
121
- step: (_RANGE_CONTROL_CUSTOM3 = (_RANGE_CONTROL_CUSTOM4 = RANGE_CONTROL_CUSTOM_SETTINGS[selectedUnit]) === null || _RANGE_CONTROL_CUSTOM4 === void 0 ? void 0 : _RANGE_CONTROL_CUSTOM4.step) !== null && _RANGE_CONTROL_CUSTOM3 !== void 0 ? _RANGE_CONTROL_CUSTOM3 : 0.1,
119
+ max: (_RANGE_CONTROL_CUSTOM = RANGE_CONTROL_CUSTOM_SETTINGS[selectedUnit]?.max) !== null && _RANGE_CONTROL_CUSTOM !== void 0 ? _RANGE_CONTROL_CUSTOM : 100,
120
+ step: (_RANGE_CONTROL_CUSTOM2 = RANGE_CONTROL_CUSTOM_SETTINGS[selectedUnit]?.step) !== null && _RANGE_CONTROL_CUSTOM2 !== void 0 ? _RANGE_CONTROL_CUSTOM2 : 0.1,
122
121
  withInputField: false,
123
122
  onChange: handleSliderChange,
124
123
  __nextHasNoMarginBottom: true
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/height-control/index.js"],"names":["RANGE_CONTROL_CUSTOM_SETTINGS","px","max","step","vw","vh","em","rem","HeightControl","label","onChange","value","customRangeValue","parseFloat","units","availableUnits","selectedUnit","handleSliderChange","next","join","handleUnitChange","newUnit","currentValue","currentUnit","includes","toFixed","Math","round"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tBaseControl,\n\tRangeControl,\n\tFlex,\n\tFlexItem,\n\t__experimentalSpacer as Spacer,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nconst RANGE_CONTROL_CUSTOM_SETTINGS = {\n\tpx: { max: 1000, step: 1 },\n\t'%': { max: 100, step: 1 },\n\tvw: { max: 100, step: 1 },\n\tvh: { max: 100, step: 1 },\n\tem: { max: 50, step: 0.1 },\n\trem: { max: 50, step: 0.1 },\n};\n\n/**\n * HeightControl renders a linked unit control and range control for adjusting the height of a block.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/height-control/README.md\n *\n * @param {Object} props\n * @param {?string} props.label A label for the control.\n * @param {( value: string ) => void } props.onChange Called when the height changes.\n * @param {string} props.value The current height value.\n *\n * @return {WPComponent} The component to be rendered.\n */\nexport default function HeightControl( {\n\tlabel = __( 'Height' ),\n\tonChange,\n\tvalue,\n} ) {\n\tconst customRangeValue = parseFloat( value );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vh',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst selectedUnit =\n\t\tuseMemo(\n\t\t\t() => parseQuantityAndUnitFromRawValue( value ),\n\t\t\t[ value ]\n\t\t)[ 1 ] ||\n\t\tunits[ 0 ]?.value ||\n\t\t'px';\n\n\tconst handleSliderChange = ( next ) => {\n\t\tonChange( [ next, selectedUnit ].join( '' ) );\n\t};\n\n\tconst handleUnitChange = ( newUnit ) => {\n\t\t// Attempt to smooth over differences between currentUnit and newUnit.\n\t\t// This should slightly improve the experience of switching between unit types.\n\t\tconst [ currentValue, currentUnit ] =\n\t\t\tparseQuantityAndUnitFromRawValue( value );\n\n\t\tif ( [ 'em', 'rem' ].includes( newUnit ) && currentUnit === 'px' ) {\n\t\t\t// Convert pixel value to an approximate of the new unit, assuming a root size of 16px.\n\t\t\tonChange( ( currentValue / 16 ).toFixed( 2 ) + newUnit );\n\t\t} else if (\n\t\t\t[ 'em', 'rem' ].includes( currentUnit ) &&\n\t\t\tnewUnit === 'px'\n\t\t) {\n\t\t\t// Convert to pixel value assuming a root size of 16px.\n\t\t\tonChange( Math.round( currentValue * 16 ) + newUnit );\n\t\t} else if (\n\t\t\t[ 'vh', 'vw', '%' ].includes( newUnit ) &&\n\t\t\tcurrentValue > 100\n\t\t) {\n\t\t\t// When converting to `vh`, `vw`, or `%` units, cap the new value at 100.\n\t\t\tonChange( 100 + newUnit );\n\t\t}\n\t};\n\n\treturn (\n\t\t<fieldset className=\"block-editor-height-control\">\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ label }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<Flex>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tonUnitChange={ handleUnitChange }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<Spacer marginX={ 2 } marginBottom={ 0 }>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tvalue={ customRangeValue }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\tRANGE_CONTROL_CUSTOM_SETTINGS[ selectedUnit ]\n\t\t\t\t\t\t\t\t\t?.max ?? 100\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tstep={\n\t\t\t\t\t\t\t\tRANGE_CONTROL_CUSTOM_SETTINGS[ selectedUnit ]\n\t\t\t\t\t\t\t\t\t?.step ?? 0.1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\t\tonChange={ handleSliderChange }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Spacer>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</fieldset>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/height-control/index.js"],"names":["RANGE_CONTROL_CUSTOM_SETTINGS","px","max","step","vw","vh","em","rem","HeightControl","label","onChange","value","customRangeValue","parseFloat","units","availableUnits","selectedUnit","handleSliderChange","next","join","handleUnitChange","newUnit","currentValue","currentUnit","includes","toFixed","Math","round"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tBaseControl,\n\tRangeControl,\n\tFlex,\n\tFlexItem,\n\t__experimentalSpacer as Spacer,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../use-setting';\n\nconst RANGE_CONTROL_CUSTOM_SETTINGS = {\n\tpx: { max: 1000, step: 1 },\n\t'%': { max: 100, step: 1 },\n\tvw: { max: 100, step: 1 },\n\tvh: { max: 100, step: 1 },\n\tem: { max: 50, step: 0.1 },\n\trem: { max: 50, step: 0.1 },\n};\n\n/**\n * HeightControl renders a linked unit control and range control for adjusting the height of a block.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/height-control/README.md\n *\n * @param {Object} props\n * @param {?string} props.label A label for the control.\n * @param {( value: string ) => void } props.onChange Called when the height changes.\n * @param {string} props.value The current height value.\n *\n * @return {WPComponent} The component to be rendered.\n */\nexport default function HeightControl( {\n\tlabel = __( 'Height' ),\n\tonChange,\n\tvalue,\n} ) {\n\tconst customRangeValue = parseFloat( value );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vh',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst selectedUnit =\n\t\tuseMemo(\n\t\t\t() => parseQuantityAndUnitFromRawValue( value ),\n\t\t\t[ value ]\n\t\t)[ 1 ] ||\n\t\tunits[ 0 ]?.value ||\n\t\t'px';\n\n\tconst handleSliderChange = ( next ) => {\n\t\tonChange( [ next, selectedUnit ].join( '' ) );\n\t};\n\n\tconst handleUnitChange = ( newUnit ) => {\n\t\t// Attempt to smooth over differences between currentUnit and newUnit.\n\t\t// This should slightly improve the experience of switching between unit types.\n\t\tconst [ currentValue, currentUnit ] =\n\t\t\tparseQuantityAndUnitFromRawValue( value );\n\n\t\tif ( [ 'em', 'rem' ].includes( newUnit ) && currentUnit === 'px' ) {\n\t\t\t// Convert pixel value to an approximate of the new unit, assuming a root size of 16px.\n\t\t\tonChange( ( currentValue / 16 ).toFixed( 2 ) + newUnit );\n\t\t} else if (\n\t\t\t[ 'em', 'rem' ].includes( currentUnit ) &&\n\t\t\tnewUnit === 'px'\n\t\t) {\n\t\t\t// Convert to pixel value assuming a root size of 16px.\n\t\t\tonChange( Math.round( currentValue * 16 ) + newUnit );\n\t\t} else if (\n\t\t\t[ 'vh', 'vw', '%' ].includes( newUnit ) &&\n\t\t\tcurrentValue > 100\n\t\t) {\n\t\t\t// When converting to `vh`, `vw`, or `%` units, cap the new value at 100.\n\t\t\tonChange( 100 + newUnit );\n\t\t}\n\t};\n\n\treturn (\n\t\t<fieldset className=\"block-editor-height-control\">\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ label }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<Flex>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tonUnitChange={ handleUnitChange }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<Spacer marginX={ 2 } marginBottom={ 0 }>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tvalue={ customRangeValue }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\tRANGE_CONTROL_CUSTOM_SETTINGS[ selectedUnit ]\n\t\t\t\t\t\t\t\t\t?.max ?? 100\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tstep={\n\t\t\t\t\t\t\t\tRANGE_CONTROL_CUSTOM_SETTINGS[ selectedUnit ]\n\t\t\t\t\t\t\t\t\t?.step ?? 0.1\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\t\tonChange={ handleSliderChange }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Spacer>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</fieldset>\n\t);\n}\n"]}
@@ -9,8 +9,6 @@ exports.default = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
12
  var _classnames = _interopRequireDefault(require("classnames"));
15
13
 
16
14
  var _i18n = require("@wordpress/i18n");
@@ -98,11 +96,10 @@ function useParsedAssets(html) {
98
96
  }, [html]);
99
97
  }
100
98
 
101
- async function loadScript(head, _ref) {
102
- let {
103
- id,
104
- src
105
- } = _ref;
99
+ async function loadScript(head, {
100
+ id,
101
+ src
102
+ }) {
106
103
  return new Promise((resolve, reject) => {
107
104
  const script = head.ownerDocument.createElement('script');
108
105
  script.id = id;
@@ -121,30 +118,25 @@ async function loadScript(head, _ref) {
121
118
  });
122
119
  }
123
120
 
124
- function Iframe(_ref2) {
125
- var _props$style, _props$style2, _props$style3, _props$style4;
126
-
127
- let {
128
- contentRef,
129
- children,
130
- head,
131
- tabIndex = 0,
132
- scale = 1,
133
- frameSize = 0,
134
- expand = false,
135
- readonly,
136
- forwardedRef: ref,
137
- ...props
138
- } = _ref2;
121
+ function Iframe({
122
+ contentRef,
123
+ children,
124
+ tabIndex = 0,
125
+ scale = 1,
126
+ frameSize = 0,
127
+ expand = false,
128
+ readonly,
129
+ forwardedRef: ref,
130
+ ...props
131
+ }) {
132
+ var _assets$styles;
133
+
139
134
  const assets = (0, _data.useSelect)(select => select(_store.store).getSettings().__unstableResolvedAssets, []);
140
135
  const [, forceRender] = (0, _element.useReducer)(() => ({}));
141
136
  const [iframeDocument, setIframeDocument] = (0, _element.useState)();
142
137
  const [bodyClasses, setBodyClasses] = (0, _element.useState)([]);
143
- const styles = useParsedAssets(assets === null || assets === void 0 ? void 0 : assets.styles);
144
- const styleIds = styles.map(style => style.id);
145
138
  const compatStyles = (0, _useCompatibilityStyles.useCompatibilityStyles)();
146
- const neededCompatStyles = compatStyles.filter(style => !styleIds.includes(style.id));
147
- const scripts = useParsedAssets(assets === null || assets === void 0 ? void 0 : assets.scripts);
139
+ const scripts = useParsedAssets(assets?.scripts);
148
140
  const clearerRef = (0, _blockSelectionClearer.useBlockSelectionClearer)();
149
141
  const [before, writingFlowRef, after] = (0, _writingFlow.useWritingFlow)();
150
142
  const [contentResizeListener, {
@@ -157,21 +149,15 @@ function Iframe(_ref2) {
157
149
  event.preventDefault();
158
150
  }
159
151
 
160
- function setDocumentIfReady() {
152
+ function onLoad() {
161
153
  const {
162
154
  contentDocument,
163
155
  ownerDocument
164
156
  } = node;
165
157
  const {
166
- readyState,
167
158
  documentElement
168
159
  } = contentDocument;
169
160
  iFrameDocument = contentDocument;
170
-
171
- if (readyState !== 'interactive' && readyState !== 'complete') {
172
- return false;
173
- }
174
-
175
161
  bubbleEvents(contentDocument);
176
162
  setIframeDocument(contentDocument);
177
163
  clearerRef(documentElement); // Ideally ALL classes that are added through get_body_class should
@@ -180,21 +166,27 @@ function Iframe(_ref2) {
180
166
 
181
167
  setBodyClasses(Array.from(ownerDocument.body.classList).filter(name => name.startsWith('admin-color-') || name.startsWith('post-type-') || name === 'wp-embed-responsive'));
182
168
  contentDocument.dir = ownerDocument.dir;
183
- documentElement.removeChild(contentDocument.head);
184
169
  documentElement.removeChild(contentDocument.body);
170
+
171
+ for (const compatStyle of compatStyles) {
172
+ if (contentDocument.getElementById(compatStyle.id)) {
173
+ continue;
174
+ }
175
+
176
+ contentDocument.head.appendChild(compatStyle.cloneNode(true)); // eslint-disable-next-line no-console
177
+
178
+ console.warn(`${compatStyle.id} was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`, compatStyle);
179
+ }
180
+
185
181
  iFrameDocument.addEventListener('dragover', preventFileDropDefault, false);
186
182
  iFrameDocument.addEventListener('drop', preventFileDropDefault, false);
187
- return true;
188
- } // Document set with srcDoc is not immediately ready.
189
-
183
+ }
190
184
 
191
- node.addEventListener('load', setDocumentIfReady);
185
+ node.addEventListener('load', onLoad);
192
186
  return () => {
193
- var _iFrameDocument, _iFrameDocument2;
194
-
195
- node.removeEventListener('load', setDocumentIfReady);
196
- (_iFrameDocument = iFrameDocument) === null || _iFrameDocument === void 0 ? void 0 : _iFrameDocument.removeEventListener('dragover', preventFileDropDefault);
197
- (_iFrameDocument2 = iFrameDocument) === null || _iFrameDocument2 === void 0 ? void 0 : _iFrameDocument2.removeEventListener('drop', preventFileDropDefault);
187
+ node.removeEventListener('load', onLoad);
188
+ iFrameDocument?.removeEventListener('dragover', preventFileDropDefault);
189
+ iFrameDocument?.removeEventListener('drop', preventFileDropDefault);
198
190
  };
199
191
  }, []);
200
192
  const headRef = (0, _compose.useRefEffect)(element => {
@@ -207,56 +199,29 @@ function Iframe(_ref2) {
207
199
  const disabledRef = (0, _compose.useDisabled)({
208
200
  isDisabled: !readonly
209
201
  });
210
- const bodyRef = (0, _compose.useMergeRefs)([contentRef, clearerRef, writingFlowRef, disabledRef]);
211
- const styleAssets = (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("style", null, 'html{height:auto!important;}body{margin:0}'), [...styles, ...neededCompatStyles].map(_ref3 => {
212
- let {
213
- tagName,
214
- href,
215
- id,
216
- rel,
217
- media,
218
- textContent
219
- } = _ref3;
220
- const TagName = tagName.toLowerCase();
221
-
222
- if (TagName === 'style') {
223
- return (0, _element.createElement)(TagName, {
224
- id,
225
- key: id
226
- }, textContent);
227
- }
228
-
229
- return (0, _element.createElement)(TagName, {
230
- href,
231
- id,
232
- rel,
233
- media,
234
- key: id
235
- });
236
- })); // Correct doctype is required to enable rendering in standards
202
+ const bodyRef = (0, _compose.useMergeRefs)([contentRef, clearerRef, writingFlowRef, disabledRef, headRef]); // Correct doctype is required to enable rendering in standards
237
203
  // mode. Also preload the styles to avoid a flash of unstyled
238
204
  // content.
239
205
 
240
- const src = (0, _element.useMemo)(() => {
241
- const html = '<!doctype html>' + (0, _element.renderToString)(styleAssets);
242
- const blob = new window.Blob([html], {
206
+ const html = '<!doctype html>' + '<style>html{height:auto!important;min-height:100%;}body{margin:0}</style>' + ((_assets$styles = assets?.styles) !== null && _assets$styles !== void 0 ? _assets$styles : '');
207
+ const [src, cleanup] = (0, _element.useMemo)(() => {
208
+ const _src = URL.createObjectURL(new window.Blob([html], {
243
209
  type: 'text/html'
244
- });
245
- return URL.createObjectURL(blob);
246
- }, []);
247
- (0, _element.useEffect)(() => () => {
248
- URL.revokeObjectURL(src);
249
- }); // We need to counter the margin created by scaling the iframe. If the scale
210
+ }));
211
+
212
+ return [_src, () => URL.revokeObjectURL(_src)];
213
+ }, [html]);
214
+ (0, _element.useEffect)(() => cleanup, [cleanup]); // We need to counter the margin created by scaling the iframe. If the scale
250
215
  // is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the
251
216
  // top or bottom margin is 0.55 / 2 ((1 - scale) / 2).
252
217
 
253
218
  const marginFromScaling = contentHeight * (1 - scale) / 2;
254
- return (0, _element.createElement)(_element.Fragment, null, tabIndex >= 0 && before, (0, _element.createElement)("iframe", (0, _extends2.default)({}, props, {
219
+ return (0, _element.createElement)(_element.Fragment, null, tabIndex >= 0 && before, (0, _element.createElement)("iframe", { ...props,
255
220
  style: { ...props.style,
256
- height: expand ? contentHeight : (_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.height,
257
- marginTop: scale !== 1 ? -marginFromScaling + frameSize : (_props$style2 = props.style) === null || _props$style2 === void 0 ? void 0 : _props$style2.marginTop,
258
- marginBottom: scale !== 1 ? -marginFromScaling + frameSize : (_props$style3 = props.style) === null || _props$style3 === void 0 ? void 0 : _props$style3.marginBottom,
259
- transform: scale !== 1 ? `scale( ${scale} )` : (_props$style4 = props.style) === null || _props$style4 === void 0 ? void 0 : _props$style4.transform,
221
+ height: expand ? contentHeight : props.style?.height,
222
+ marginTop: scale !== 1 ? -marginFromScaling + frameSize : props.style?.marginTop,
223
+ marginBottom: scale !== 1 ? -marginFromScaling + frameSize : props.style?.marginBottom,
224
+ transform: scale !== 1 ? `scale( ${scale} )` : props.style?.transform,
260
225
  transition: 'all .3s'
261
226
  },
262
227
  ref: (0, _compose.useMergeRefs)([ref, setRef]),
@@ -266,14 +231,12 @@ function Iframe(_ref2) {
266
231
  ,
267
232
  src: src,
268
233
  title: (0, _i18n.__)('Editor canvas')
269
- }), iframeDocument && (0, _element.createPortal)((0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("head", {
270
- ref: headRef
271
- }, styleAssets, head), (0, _element.createElement)("body", {
234
+ }, iframeDocument && (0, _element.createPortal)((0, _element.createElement)("body", {
272
235
  ref: bodyRef,
273
236
  className: (0, _classnames.default)('block-editor-iframe__body', 'editor-styles-wrapper', ...bodyClasses)
274
237
  }, contentResizeListener, (0, _element.createElement)(_components.__experimentalStyleProvider, {
275
238
  document: iframeDocument
276
- }, children))), iframeDocument.documentElement)), tabIndex >= 0 && after);
239
+ }, children)), iframeDocument.documentElement)), tabIndex >= 0 && after);
277
240
  }
278
241
 
279
242
  function IframeIfReady(props, ref) {
@@ -287,9 +250,9 @@ function IframeIfReady(props, ref) {
287
250
  return null;
288
251
  }
289
252
 
290
- return (0, _element.createElement)(Iframe, (0, _extends2.default)({}, props, {
253
+ return (0, _element.createElement)(Iframe, { ...props,
291
254
  forwardedRef: ref
292
- }));
255
+ });
293
256
  }
294
257
 
295
258
  var _default = (0, _element.forwardRef)(IframeIfReady);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"names":["bubbleEvents","doc","defaultView","frameElement","bubbleEvent","event","prototype","Object","getPrototypeOf","constructorName","constructor","name","Constructor","window","init","key","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","cancelled","dispatchEvent","preventDefault","eventTypes","addEventListener","useParsedAssets","html","document","implementation","createHTMLDocument","body","innerHTML","Array","from","children","loadScript","head","id","src","Promise","resolve","reject","script","ownerDocument","createElement","onload","onerror","appendChild","Iframe","contentRef","tabIndex","scale","frameSize","expand","readonly","forwardedRef","ref","props","assets","select","blockEditorStore","getSettings","__unstableResolvedAssets","forceRender","iframeDocument","setIframeDocument","bodyClasses","setBodyClasses","styles","styleIds","map","style","compatStyles","neededCompatStyles","filter","includes","scripts","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","setRef","node","iFrameDocument","preventFileDropDefault","setDocumentIfReady","contentDocument","readyState","documentElement","classList","startsWith","dir","removeChild","removeEventListener","headRef","element","reduce","promise","then","finally","disabledRef","isDisabled","bodyRef","styleAssets","tagName","href","rel","media","textContent","TagName","toLowerCase","blob","Blob","URL","createObjectURL","revokeObjectURL","marginFromScaling","marginTop","marginBottom","transform","transition","IframeIfReady","isInitialised","__internalIsInitialized"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n\trenderToString,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { useCompatibilityStyles } from './use-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} doc Document to attach listeners to.\n */\nfunction bubbleEvents( doc ) {\n\tconst { defaultView } = doc;\n\tconst { frameElement } = defaultView;\n\n\tfunction bubbleEvent( event ) {\n\t\tconst prototype = Object.getPrototypeOf( event );\n\t\tconst constructorName = prototype.constructor.name;\n\t\tconst Constructor = window[ constructorName ];\n\n\t\tconst init = {};\n\n\t\tfor ( const key in event ) {\n\t\t\tinit[ key ] = event[ key ];\n\t\t}\n\n\t\tif ( event instanceof defaultView.MouseEvent ) {\n\t\t\tconst rect = frameElement.getBoundingClientRect();\n\t\t\tinit.clientX += rect.left;\n\t\t\tinit.clientY += rect.top;\n\t\t}\n\n\t\tconst newEvent = new Constructor( event.type, init );\n\t\tconst cancelled = ! frameElement.dispatchEvent( newEvent );\n\n\t\tif ( cancelled ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\n\tfor ( const name of eventTypes ) {\n\t\tdoc.addEventListener( name, bubbleEvent );\n\t}\n}\n\nfunction useParsedAssets( html ) {\n\treturn useMemo( () => {\n\t\tconst doc = document.implementation.createHTMLDocument( '' );\n\t\tdoc.body.innerHTML = html;\n\t\treturn Array.from( doc.body.children );\n\t}, [ html ] );\n}\n\nasync function loadScript( head, { id, src } ) {\n\treturn new Promise( ( resolve, reject ) => {\n\t\tconst script = head.ownerDocument.createElement( 'script' );\n\t\tscript.id = id;\n\t\tif ( src ) {\n\t\t\tscript.src = src;\n\t\t\tscript.onload = () => resolve();\n\t\t\tscript.onerror = () => reject();\n\t\t} else {\n\t\t\tresolve();\n\t\t}\n\t\thead.appendChild( script );\n\t} );\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\thead,\n\ttabIndex = 0,\n\tscale = 1,\n\tframeSize = 0,\n\texpand = false,\n\treadonly,\n\tforwardedRef: ref,\n\t...props\n} ) {\n\tconst assets = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__unstableResolvedAssets,\n\t\t[]\n\t);\n\tconst [ , forceRender ] = useReducer( () => ( {} ) );\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst styles = useParsedAssets( assets?.styles );\n\tconst styleIds = styles.map( ( style ) => style.id );\n\tconst compatStyles = useCompatibilityStyles();\n\tconst neededCompatStyles = compatStyles.filter(\n\t\t( style ) => ! styleIds.includes( style.id )\n\t);\n\tconst scripts = useParsedAssets( assets?.scripts );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction setDocumentIfReady() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { readyState, documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tif ( readyState !== 'interactive' && readyState !== 'complete' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tbubbleEvents( contentDocument );\n\t\t\tsetIframeDocument( contentDocument );\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\t\t\tdocumentElement.removeChild( contentDocument.head );\n\t\t\tdocumentElement.removeChild( contentDocument.body );\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\treturn true;\n\t\t}\n\n\t\t// Document set with srcDoc is not immediately ready.\n\t\tnode.addEventListener( 'load', setDocumentIfReady );\n\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'load', setDocumentIfReady );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst headRef = useRefEffect( ( element ) => {\n\t\tscripts\n\t\t\t.reduce(\n\t\t\t\t( promise, script ) =>\n\t\t\t\t\tpromise.then( () => loadScript( element, script ) ),\n\t\t\t\tPromise.resolve()\n\t\t\t)\n\t\t\t.finally( () => {\n\t\t\t\t// When script are loaded, re-render blocks to allow them\n\t\t\t\t// to initialise.\n\t\t\t\tforceRender();\n\t\t\t} );\n\t}, [] );\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t] );\n\n\tconst styleAssets = (\n\t\t<>\n\t\t\t<style>{ 'html{height:auto!important;}body{margin:0}' }</style>\n\t\t\t{ [ ...styles, ...neededCompatStyles ].map(\n\t\t\t\t( { tagName, href, id, rel, media, textContent } ) => {\n\t\t\t\t\tconst TagName = tagName.toLowerCase();\n\n\t\t\t\t\tif ( TagName === 'style' ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TagName { ...{ id } } key={ id }>\n\t\t\t\t\t\t\t\t{ textContent }\n\t\t\t\t\t\t\t</TagName>\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TagName { ...{ href, id, rel, media } } key={ id } />\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t) }\n\t\t</>\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 src = useMemo( () => {\n\t\tconst html = '<!doctype html>' + renderToString( styleAssets );\n\t\tconst blob = new window.Blob( [ html ], { type: 'text/html' } );\n\t\treturn URL.createObjectURL( blob );\n\t}, [] );\n\n\tuseEffect( () => () => {\n\t\tURL.revokeObjectURL( src );\n\t} );\n\n\t// We need to counter the margin created by scaling the iframe. If the scale\n\t// is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the\n\t// top or bottom margin is 0.55 / 2 ((1 - scale) / 2).\n\tconst marginFromScaling = ( contentHeight * ( 1 - scale ) ) / 2;\n\n\treturn (\n\t\t<>\n\t\t\t{ tabIndex >= 0 && before }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: expand ? contentHeight : props.style?.height,\n\t\t\t\t\tmarginTop:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginTop,\n\t\t\t\t\tmarginBottom:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginBottom,\n\t\t\t\t\ttransform:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? `scale( ${ scale } )`\n\t\t\t\t\t\t\t: props.style?.transform,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ __( 'Editor canvas' ) }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<head ref={ headRef }>\n\t\t\t\t\t\t\t\t{ styleAssets }\n\t\t\t\t\t\t\t\t{ head }\n\t\t\t\t\t\t\t</head>\n\t\t\t\t\t\t\t<body\n\t\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t\t</body>\n\t\t\t\t\t\t</>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ tabIndex >= 0 && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"names":["bubbleEvents","doc","defaultView","frameElement","bubbleEvent","event","prototype","Object","getPrototypeOf","constructorName","constructor","name","Constructor","window","init","key","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","cancelled","dispatchEvent","preventDefault","eventTypes","addEventListener","useParsedAssets","html","document","implementation","createHTMLDocument","body","innerHTML","Array","from","children","loadScript","head","id","src","Promise","resolve","reject","script","ownerDocument","createElement","onload","onerror","appendChild","Iframe","contentRef","tabIndex","scale","frameSize","expand","readonly","forwardedRef","ref","props","assets","select","blockEditorStore","getSettings","__unstableResolvedAssets","forceRender","iframeDocument","setIframeDocument","bodyClasses","setBodyClasses","compatStyles","scripts","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","setRef","node","iFrameDocument","preventFileDropDefault","onLoad","contentDocument","documentElement","classList","filter","startsWith","dir","removeChild","compatStyle","getElementById","cloneNode","console","warn","removeEventListener","headRef","element","reduce","promise","then","finally","disabledRef","isDisabled","bodyRef","styles","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","marginFromScaling","style","marginTop","marginBottom","transform","transition","IframeIfReady","isInitialised","__internalIsInitialized"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { useCompatibilityStyles } from './use-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} doc Document to attach listeners to.\n */\nfunction bubbleEvents( doc ) {\n\tconst { defaultView } = doc;\n\tconst { frameElement } = defaultView;\n\n\tfunction bubbleEvent( event ) {\n\t\tconst prototype = Object.getPrototypeOf( event );\n\t\tconst constructorName = prototype.constructor.name;\n\t\tconst Constructor = window[ constructorName ];\n\n\t\tconst init = {};\n\n\t\tfor ( const key in event ) {\n\t\t\tinit[ key ] = event[ key ];\n\t\t}\n\n\t\tif ( event instanceof defaultView.MouseEvent ) {\n\t\t\tconst rect = frameElement.getBoundingClientRect();\n\t\t\tinit.clientX += rect.left;\n\t\t\tinit.clientY += rect.top;\n\t\t}\n\n\t\tconst newEvent = new Constructor( event.type, init );\n\t\tconst cancelled = ! frameElement.dispatchEvent( newEvent );\n\n\t\tif ( cancelled ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\n\tfor ( const name of eventTypes ) {\n\t\tdoc.addEventListener( name, bubbleEvent );\n\t}\n}\n\nfunction useParsedAssets( html ) {\n\treturn useMemo( () => {\n\t\tconst doc = document.implementation.createHTMLDocument( '' );\n\t\tdoc.body.innerHTML = html;\n\t\treturn Array.from( doc.body.children );\n\t}, [ html ] );\n}\n\nasync function loadScript( head, { id, src } ) {\n\treturn new Promise( ( resolve, reject ) => {\n\t\tconst script = head.ownerDocument.createElement( 'script' );\n\t\tscript.id = id;\n\t\tif ( src ) {\n\t\t\tscript.src = src;\n\t\t\tscript.onload = () => resolve();\n\t\t\tscript.onerror = () => reject();\n\t\t} else {\n\t\t\tresolve();\n\t\t}\n\t\thead.appendChild( script );\n\t} );\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tscale = 1,\n\tframeSize = 0,\n\texpand = false,\n\treadonly,\n\tforwardedRef: ref,\n\t...props\n} ) {\n\tconst assets = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__unstableResolvedAssets,\n\t\t[]\n\t);\n\tconst [ , forceRender ] = useReducer( () => ( {} ) );\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst compatStyles = useCompatibilityStyles();\n\tconst scripts = useParsedAssets( assets?.scripts );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction onLoad() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tbubbleEvents( contentDocument );\n\t\t\tsetIframeDocument( contentDocument );\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\t\t\tdocumentElement.removeChild( contentDocument.body );\n\n\t\t\tfor ( const compatStyle of compatStyles ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\tcompatStyle\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst headRef = useRefEffect( ( element ) => {\n\t\tscripts\n\t\t\t.reduce(\n\t\t\t\t( promise, script ) =>\n\t\t\t\t\tpromise.then( () => loadScript( element, script ) ),\n\t\t\t\tPromise.resolve()\n\t\t\t)\n\t\t\t.finally( () => {\n\t\t\t\t// When script are loaded, re-render blocks to allow them\n\t\t\t\t// to initialise.\n\t\t\t\tforceRender();\n\t\t\t} );\n\t}, [] );\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t\theadRef,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html =\n\t\t'<!doctype html>' +\n\t\t'<style>html{height:auto!important;min-height:100%;}body{margin:0}</style>' +\n\t\t( assets?.styles ?? '' );\n\n\tconst [ src, cleanup ] = useMemo( () => {\n\t\tconst _src = URL.createObjectURL(\n\t\t\tnew window.Blob( [ html ], { type: 'text/html' } )\n\t\t);\n\t\treturn [ _src, () => URL.revokeObjectURL( _src ) ];\n\t}, [ html ] );\n\n\tuseEffect( () => cleanup, [ cleanup ] );\n\n\t// We need to counter the margin created by scaling the iframe. If the scale\n\t// is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the\n\t// top or bottom margin is 0.55 / 2 ((1 - scale) / 2).\n\tconst marginFromScaling = ( contentHeight * ( 1 - scale ) ) / 2;\n\n\treturn (\n\t\t<>\n\t\t\t{ tabIndex >= 0 && before }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: expand ? contentHeight : props.style?.height,\n\t\t\t\t\tmarginTop:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginTop,\n\t\t\t\t\tmarginBottom:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginBottom,\n\t\t\t\t\ttransform:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? `scale( ${ scale } )`\n\t\t\t\t\t\t\t: props.style?.transform,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ __( 'Editor canvas' ) }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t</body>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ tabIndex >= 0 && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"]}
@@ -45,12 +45,6 @@ function useCompatibilityStyles() {
45
45
 
46
46
  if (!cssRules) {
47
47
  return accumulator;
48
- } // Generally, ignore inline styles. We add inline styles belonging to a
49
- // stylesheet later, which may or may not match the selectors.
50
-
51
-
52
- if (ownerNode.tagName !== 'LINK') {
53
- return accumulator;
54
48
  } // Don't try to add the reset styles, which were removed as a dependency
55
49
  // from `edit-blocks` for the iframe since we don't need to reset admin
56
50
  // styles.
@@ -61,13 +55,11 @@ function useCompatibilityStyles() {
61
55
  }
62
56
 
63
57
  function matchFromRules(_cssRules) {
64
- return Array.from(_cssRules).find(_ref => {
65
- let {
66
- selectorText,
67
- conditionText,
68
- cssRules: __cssRules
69
- } = _ref;
70
-
58
+ return Array.from(_cssRules).find(({
59
+ selectorText,
60
+ conditionText,
61
+ cssRules: __cssRules
62
+ }) => {
71
63
  // If the rule is conditional then it will not have selector text.
72
64
  // Recurse into child CSS ruleset to determine selector eligibility.
73
65
  if (conditionText) {
@@ -79,15 +71,32 @@ function useCompatibilityStyles() {
79
71
  }
80
72
 
81
73
  if (matchFromRules(cssRules)) {
82
- // Display warning once we have a way to add style dependencies to the editor.
83
- // See: https://github.com/WordPress/gutenberg/pull/37466.
84
- accumulator.push(ownerNode.cloneNode(true)); // Add inline styles belonging to the stylesheet.
74
+ const isInline = ownerNode.tagName === 'STYLE';
75
+
76
+ if (isInline) {
77
+ // If the current target is inline,
78
+ // it could be a dependency of an existing stylesheet.
79
+ // Look for that dependency and add it BEFORE the current target.
80
+ const mainStylesCssId = ownerNode.id.replace('-inline-css', '-css');
81
+ const mainStylesElement = document.getElementById(mainStylesCssId);
85
82
 
86
- const inlineCssId = ownerNode.id.replace('-css', '-inline-css');
87
- const inlineCssElement = document.getElementById(inlineCssId);
83
+ if (mainStylesElement) {
84
+ accumulator.push(mainStylesElement.cloneNode(true));
85
+ }
86
+ }
87
+
88
+ accumulator.push(ownerNode.cloneNode(true));
88
89
 
89
- if (inlineCssElement) {
90
- accumulator.push(inlineCssElement.cloneNode(true));
90
+ if (!isInline) {
91
+ // If the current target is not inline,
92
+ // we still look for inline styles that could be relevant for the current target.
93
+ // If they exist, add them AFTER the current target.
94
+ const inlineStylesCssId = ownerNode.id.replace('-css', '-inline-css');
95
+ const inlineStylesElement = document.getElementById(inlineStylesCssId);
96
+
97
+ if (inlineStylesElement) {
98
+ accumulator.push(inlineStylesElement.cloneNode(true));
99
+ }
91
100
  }
92
101
  }
93
102
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/iframe/use-compatibility-styles.js"],"names":["useCompatibilityStyles","Array","from","document","styleSheets","reduce","accumulator","styleSheet","cssRules","e","ownerNode","tagName","id","matchFromRules","_cssRules","find","selectorText","conditionText","__cssRules","includes","push","cloneNode","inlineCssId","replace","inlineCssElement","getElementById"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,sBAAT,GAAkC;AACxC;AACA;AACA,SAAO,sBAAS,MAAM;AACrB;AACA,WAAOC,KAAK,CAACC,IAAN,CAAYC,QAAQ,CAACC,WAArB,EAAmCC,MAAnC,CACN,CAAEC,WAAF,EAAeC,UAAf,KAA+B;AAC9B,UAAI;AACH;AACA;AACAA,QAAAA,UAAU,CAACC,QAAX;AACA,OAJD,CAIE,OAAQC,CAAR,EAAY;AACb,eAAOH,WAAP;AACA;;AAED,YAAM;AAAEI,QAAAA,SAAF;AAAaF,QAAAA;AAAb,UAA0BD,UAAhC,CAT8B,CAW9B;AACA;;AACA,UAAKG,SAAS,KAAK,IAAnB,EAA0B;AACzB,eAAOJ,WAAP;AACA;;AAED,UAAK,CAAEE,QAAP,EAAkB;AACjB,eAAOF,WAAP;AACA,OAnB6B,CAqB9B;AACA;;;AACA,UAAKI,SAAS,CAACC,OAAV,KAAsB,MAA3B,EAAoC;AACnC,eAAOL,WAAP;AACA,OAzB6B,CA2B9B;AACA;AACA;;;AACA,UAAKI,SAAS,CAACE,EAAV,KAAiB,4BAAtB,EAAqD;AACpD,eAAON,WAAP;AACA;;AAED,eAASO,cAAT,CAAyBC,SAAzB,EAAqC;AACpC,eAAOb,KAAK,CAACC,IAAN,CAAYY,SAAZ,EAAwBC,IAAxB,CACN,QAIO;AAAA,cAJL;AACDC,YAAAA,YADC;AAEDC,YAAAA,aAFC;AAGDT,YAAAA,QAAQ,EAAEU;AAHT,WAIK;;AACN;AACA;AACA,cAAKD,aAAL,EAAqB;AACpB,mBAAOJ,cAAc,CAAEK,UAAF,CAArB;AACA;;AAED,iBACCF,YAAY,KACVA,YAAY,CAACG,QAAb,CACD,wBADC,KAGDH,YAAY,CAACG,QAAb,CAAuB,WAAvB,CAJW,CADb;AAOA,SAnBK,CAAP;AAqBA;;AAED,UAAKN,cAAc,CAAEL,QAAF,CAAnB,EAAkC;AACjC;AACA;AACAF,QAAAA,WAAW,CAACc,IAAZ,CAAkBV,SAAS,CAACW,SAAV,CAAqB,IAArB,CAAlB,EAHiC,CAKjC;;AACA,cAAMC,WAAW,GAAGZ,SAAS,CAACE,EAAV,CAAaW,OAAb,CACnB,MADmB,EAEnB,aAFmB,CAApB;AAIA,cAAMC,gBAAgB,GACrBrB,QAAQ,CAACsB,cAAT,CAAyBH,WAAzB,CADD;;AAGA,YAAKE,gBAAL,EAAwB;AACvBlB,UAAAA,WAAW,CAACc,IAAZ,CAAkBI,gBAAgB,CAACH,SAAjB,CAA4B,IAA5B,CAAlB;AACA;AACD;;AAED,aAAOf,WAAP;AACA,KA9EK,EA+EN,EA/EM,CAAP;AAiFA,GAnFM,EAmFJ,EAnFI,CAAP;AAoFA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Returns a list of stylesheets that target the editor canvas. A stylesheet is\n * considered targetting the editor a canvas if it contains the\n * `editor-styles-wrapper`, `wp-block`, or `wp-block-*` class selectors.\n *\n * Ideally, this hook should be removed in the future and styles should be added\n * explicitly as editor styles.\n */\nexport function useCompatibilityStyles() {\n\t// Only memoize the result once on load, since these stylesheets should not\n\t// change.\n\treturn useMemo( () => {\n\t\t// Search the document for stylesheets targetting the editor canvas.\n\t\treturn Array.from( document.styleSheets ).reduce(\n\t\t\t( accumulator, styleSheet ) => {\n\t\t\t\ttry {\n\t\t\t\t\t// May fail for external styles.\n\t\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\t\tstyleSheet.cssRules;\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tconst { ownerNode, cssRules } = styleSheet;\n\n\t\t\t\t// Stylesheet is added by another stylesheet. See\n\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/StyleSheet/ownerNode#notes.\n\t\t\t\tif ( ownerNode === null ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tif ( ! cssRules ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\t// Generally, ignore inline styles. We add inline styles belonging to a\n\t\t\t\t// stylesheet later, which may or may not match the selectors.\n\t\t\t\tif ( ownerNode.tagName !== 'LINK' ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\t// Don't try to add the reset styles, which were removed as a dependency\n\t\t\t\t// from `edit-blocks` for the iframe since we don't need to reset admin\n\t\t\t\t// styles.\n\t\t\t\tif ( ownerNode.id === 'wp-reset-editor-styles-css' ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tfunction matchFromRules( _cssRules ) {\n\t\t\t\t\treturn Array.from( _cssRules ).find(\n\t\t\t\t\t\t( {\n\t\t\t\t\t\t\tselectorText,\n\t\t\t\t\t\t\tconditionText,\n\t\t\t\t\t\t\tcssRules: __cssRules,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\t// If the rule is conditional then it will not have selector text.\n\t\t\t\t\t\t\t// Recurse into child CSS ruleset to determine selector eligibility.\n\t\t\t\t\t\t\tif ( conditionText ) {\n\t\t\t\t\t\t\t\treturn matchFromRules( __cssRules );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tselectorText &&\n\t\t\t\t\t\t\t\t( selectorText.includes(\n\t\t\t\t\t\t\t\t\t'.editor-styles-wrapper'\n\t\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\t\tselectorText.includes( '.wp-block' ) )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ( matchFromRules( cssRules ) ) {\n\t\t\t\t\t// Display warning once we have a way to add style dependencies to the editor.\n\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/37466.\n\t\t\t\t\taccumulator.push( ownerNode.cloneNode( true ) );\n\n\t\t\t\t\t// Add inline styles belonging to the stylesheet.\n\t\t\t\t\tconst inlineCssId = ownerNode.id.replace(\n\t\t\t\t\t\t'-css',\n\t\t\t\t\t\t'-inline-css'\n\t\t\t\t\t);\n\t\t\t\t\tconst inlineCssElement =\n\t\t\t\t\t\tdocument.getElementById( inlineCssId );\n\n\t\t\t\t\tif ( inlineCssElement ) {\n\t\t\t\t\t\taccumulator.push( inlineCssElement.cloneNode( true ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t}, [] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/iframe/use-compatibility-styles.js"],"names":["useCompatibilityStyles","Array","from","document","styleSheets","reduce","accumulator","styleSheet","cssRules","e","ownerNode","id","matchFromRules","_cssRules","find","selectorText","conditionText","__cssRules","includes","isInline","tagName","mainStylesCssId","replace","mainStylesElement","getElementById","push","cloneNode","inlineStylesCssId","inlineStylesElement"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,sBAAT,GAAkC;AACxC;AACA;AACA,SAAO,sBAAS,MAAM;AACrB;AACA,WAAOC,KAAK,CAACC,IAAN,CAAYC,QAAQ,CAACC,WAArB,EAAmCC,MAAnC,CACN,CAAEC,WAAF,EAAeC,UAAf,KAA+B;AAC9B,UAAI;AACH;AACA;AACAA,QAAAA,UAAU,CAACC,QAAX;AACA,OAJD,CAIE,OAAQC,CAAR,EAAY;AACb,eAAOH,WAAP;AACA;;AAED,YAAM;AAAEI,QAAAA,SAAF;AAAaF,QAAAA;AAAb,UAA0BD,UAAhC,CAT8B,CAW9B;AACA;;AACA,UAAKG,SAAS,KAAK,IAAnB,EAA0B;AACzB,eAAOJ,WAAP;AACA;;AAED,UAAK,CAAEE,QAAP,EAAkB;AACjB,eAAOF,WAAP;AACA,OAnB6B,CAqB9B;AACA;AACA;;;AACA,UAAKI,SAAS,CAACC,EAAV,KAAiB,4BAAtB,EAAqD;AACpD,eAAOL,WAAP;AACA;;AAED,eAASM,cAAT,CAAyBC,SAAzB,EAAqC;AACpC,eAAOZ,KAAK,CAACC,IAAN,CAAYW,SAAZ,EAAwBC,IAAxB,CACN,CAAE;AACDC,UAAAA,YADC;AAEDC,UAAAA,aAFC;AAGDR,UAAAA,QAAQ,EAAES;AAHT,SAAF,KAIO;AACN;AACA;AACA,cAAKD,aAAL,EAAqB;AACpB,mBAAOJ,cAAc,CAAEK,UAAF,CAArB;AACA;;AAED,iBACCF,YAAY,KACVA,YAAY,CAACG,QAAb,CACD,wBADC,KAGDH,YAAY,CAACG,QAAb,CAAuB,WAAvB,CAJW,CADb;AAOA,SAnBK,CAAP;AAqBA;;AAED,UAAKN,cAAc,CAAEJ,QAAF,CAAnB,EAAkC;AACjC,cAAMW,QAAQ,GAAGT,SAAS,CAACU,OAAV,KAAsB,OAAvC;;AAEA,YAAKD,QAAL,EAAgB;AACf;AACA;AACA;AACA,gBAAME,eAAe,GAAGX,SAAS,CAACC,EAAV,CAAaW,OAAb,CACvB,aADuB,EAEvB,MAFuB,CAAxB;AAIA,gBAAMC,iBAAiB,GACtBpB,QAAQ,CAACqB,cAAT,CAAyBH,eAAzB,CADD;;AAEA,cAAKE,iBAAL,EAAyB;AACxBjB,YAAAA,WAAW,CAACmB,IAAZ,CACCF,iBAAiB,CAACG,SAAlB,CAA6B,IAA7B,CADD;AAGA;AACD;;AAEDpB,QAAAA,WAAW,CAACmB,IAAZ,CAAkBf,SAAS,CAACgB,SAAV,CAAqB,IAArB,CAAlB;;AAEA,YAAK,CAAEP,QAAP,EAAkB;AACjB;AACA;AACA;AACA,gBAAMQ,iBAAiB,GAAGjB,SAAS,CAACC,EAAV,CAAaW,OAAb,CACzB,MADyB,EAEzB,aAFyB,CAA1B;AAIA,gBAAMM,mBAAmB,GACxBzB,QAAQ,CAACqB,cAAT,CAAyBG,iBAAzB,CADD;;AAEA,cAAKC,mBAAL,EAA2B;AAC1BtB,YAAAA,WAAW,CAACmB,IAAZ,CACCG,mBAAmB,CAACF,SAApB,CAA+B,IAA/B,CADD;AAGA;AACD;AACD;;AAED,aAAOpB,WAAP;AACA,KA9FK,EA+FN,EA/FM,CAAP;AAiGA,GAnGM,EAmGJ,EAnGI,CAAP;AAoGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Returns a list of stylesheets that target the editor canvas. A stylesheet is\n * considered targetting the editor a canvas if it contains the\n * `editor-styles-wrapper`, `wp-block`, or `wp-block-*` class selectors.\n *\n * Ideally, this hook should be removed in the future and styles should be added\n * explicitly as editor styles.\n */\nexport function useCompatibilityStyles() {\n\t// Only memoize the result once on load, since these stylesheets should not\n\t// change.\n\treturn useMemo( () => {\n\t\t// Search the document for stylesheets targetting the editor canvas.\n\t\treturn Array.from( document.styleSheets ).reduce(\n\t\t\t( accumulator, styleSheet ) => {\n\t\t\t\ttry {\n\t\t\t\t\t// May fail for external styles.\n\t\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\t\tstyleSheet.cssRules;\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tconst { ownerNode, cssRules } = styleSheet;\n\n\t\t\t\t// Stylesheet is added by another stylesheet. See\n\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/StyleSheet/ownerNode#notes.\n\t\t\t\tif ( ownerNode === null ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tif ( ! cssRules ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\t// Don't try to add the reset styles, which were removed as a dependency\n\t\t\t\t// from `edit-blocks` for the iframe since we don't need to reset admin\n\t\t\t\t// styles.\n\t\t\t\tif ( ownerNode.id === 'wp-reset-editor-styles-css' ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tfunction matchFromRules( _cssRules ) {\n\t\t\t\t\treturn Array.from( _cssRules ).find(\n\t\t\t\t\t\t( {\n\t\t\t\t\t\t\tselectorText,\n\t\t\t\t\t\t\tconditionText,\n\t\t\t\t\t\t\tcssRules: __cssRules,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\t// If the rule is conditional then it will not have selector text.\n\t\t\t\t\t\t\t// Recurse into child CSS ruleset to determine selector eligibility.\n\t\t\t\t\t\t\tif ( conditionText ) {\n\t\t\t\t\t\t\t\treturn matchFromRules( __cssRules );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\tselectorText &&\n\t\t\t\t\t\t\t\t( selectorText.includes(\n\t\t\t\t\t\t\t\t\t'.editor-styles-wrapper'\n\t\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t\t\tselectorText.includes( '.wp-block' ) )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ( matchFromRules( cssRules ) ) {\n\t\t\t\t\tconst isInline = ownerNode.tagName === 'STYLE';\n\n\t\t\t\t\tif ( isInline ) {\n\t\t\t\t\t\t// If the current target is inline,\n\t\t\t\t\t\t// it could be a dependency of an existing stylesheet.\n\t\t\t\t\t\t// Look for that dependency and add it BEFORE the current target.\n\t\t\t\t\t\tconst mainStylesCssId = ownerNode.id.replace(\n\t\t\t\t\t\t\t'-inline-css',\n\t\t\t\t\t\t\t'-css'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst mainStylesElement =\n\t\t\t\t\t\t\tdocument.getElementById( mainStylesCssId );\n\t\t\t\t\t\tif ( mainStylesElement ) {\n\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\tmainStylesElement.cloneNode( true )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\taccumulator.push( ownerNode.cloneNode( true ) );\n\n\t\t\t\t\tif ( ! isInline ) {\n\t\t\t\t\t\t// If the current target is not inline,\n\t\t\t\t\t\t// we still look for inline styles that could be relevant for the current target.\n\t\t\t\t\t\t// If they exist, add them AFTER the current target.\n\t\t\t\t\t\tconst inlineStylesCssId = ownerNode.id.replace(\n\t\t\t\t\t\t\t'-css',\n\t\t\t\t\t\t\t'-inline-css'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst inlineStylesElement =\n\t\t\t\t\t\t\tdocument.getElementById( inlineStylesCssId );\n\t\t\t\t\t\tif ( inlineStylesElement ) {\n\t\t\t\t\t\t\taccumulator.push(\n\t\t\t\t\t\t\t\tinlineStylesElement.cloneNode( true )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t}, [] );\n}\n"]}