@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
@@ -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 _reactNative = require("react-native");
15
13
 
16
14
  var _components = require("@wordpress/components");
@@ -32,23 +30,23 @@ var _style = _interopRequireDefault(require("./style.scss"));
32
30
  /**
33
31
  * Internal dependencies
34
32
  */
35
- function Warning(_ref) {
36
- let {
37
- title,
38
- message,
39
- icon,
40
- iconClass,
41
- preferredColorScheme,
42
- getStylesFromColorScheme,
43
- ...viewProps
44
- } = _ref;
33
+ function Warning({
34
+ title,
35
+ message,
36
+ icon,
37
+ iconClass,
38
+ preferredColorScheme,
39
+ getStylesFromColorScheme,
40
+ ...viewProps
41
+ }) {
45
42
  icon = icon && (0, _blocks.normalizeIconObject)(icon);
46
43
  const internalIconClass = 'warning-icon' + '-' + preferredColorScheme;
47
44
  const titleStyle = getStylesFromColorScheme(_style.default.title, _style.default.titleDark);
48
45
  const messageStyle = getStylesFromColorScheme(_style.default.message, _style.default.messageDark);
49
- return (0, _element.createElement)(_reactNative.View, (0, _extends2.default)({
50
- style: getStylesFromColorScheme(_style.default.container, _style.default.containerDark)
51
- }, viewProps), icon && (0, _element.createElement)(_reactNative.View, {
46
+ return (0, _element.createElement)(_reactNative.View, {
47
+ style: getStylesFromColorScheme(_style.default.container, _style.default.containerDark),
48
+ ...viewProps
49
+ }, icon && (0, _element.createElement)(_reactNative.View, {
52
50
  style: _style.default.icon
53
51
  }, (0, _element.createElement)(_components.Icon, {
54
52
  className: iconClass || internalIconClass,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/warning/index.native.js"],"names":["Warning","title","message","icon","iconClass","preferredColorScheme","getStylesFromColorScheme","viewProps","internalIconClass","titleStyle","styles","titleDark","messageStyle","messageDark","container","containerDark","src"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAKA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAGA,SAASA,OAAT,OAQI;AAAA,MARc;AACjBC,IAAAA,KADiB;AAEjBC,IAAAA,OAFiB;AAGjBC,IAAAA,IAHiB;AAIjBC,IAAAA,SAJiB;AAKjBC,IAAAA,oBALiB;AAMjBC,IAAAA,wBANiB;AAOjB,OAAGC;AAPc,GAQd;AACHJ,EAAAA,IAAI,GAAGA,IAAI,IAAI,iCAAqBA,IAArB,CAAf;AACA,QAAMK,iBAAiB,GAAG,iBAAiB,GAAjB,GAAuBH,oBAAjD;AACA,QAAMI,UAAU,GAAGH,wBAAwB,CAC1CI,eAAOT,KADmC,EAE1CS,eAAOC,SAFmC,CAA3C;AAIA,QAAMC,YAAY,GAAGN,wBAAwB,CAC5CI,eAAOR,OADqC,EAE5CQ,eAAOG,WAFqC,CAA7C;AAKA,SACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAGP,wBAAwB,CAC/BI,eAAOI,SADwB,EAE/BJ,eAAOK,aAFwB;AADjC,KAKMR,SALN,GAOGJ,IAAI,IACL,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGO,eAAOP;AAArB,KACC,4BAAC,gBAAD;AACC,IAAA,SAAS,EAAGC,SAAS,IAAII,iBAD1B;AAEC,IAAA,IAAI,EAAGL,IAAI,IAAIA,IAAI,CAACa,GAAb,GAAmBb,IAAI,CAACa,GAAxB,GAA8Bb;AAFtC,IADD,CARF,EAeGF,KAAK,IAAI,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGQ;AAAd,KAA6BR,KAA7B,CAfZ,EAgBGC,OAAO,IAAI,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGU;AAAd,KAA+BV,OAA/B,CAhBd,CADD;AAoBA;;eAEc,uCAA0BF,OAA1B,C","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { normalizeIconObject } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nfunction Warning( {\n\ttitle,\n\tmessage,\n\ticon,\n\ticonClass,\n\tpreferredColorScheme,\n\tgetStylesFromColorScheme,\n\t...viewProps\n} ) {\n\ticon = icon && normalizeIconObject( icon );\n\tconst internalIconClass = 'warning-icon' + '-' + preferredColorScheme;\n\tconst titleStyle = getStylesFromColorScheme(\n\t\tstyles.title,\n\t\tstyles.titleDark\n\t);\n\tconst messageStyle = getStylesFromColorScheme(\n\t\tstyles.message,\n\t\tstyles.messageDark\n\t);\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\tstyles.container,\n\t\t\t\tstyles.containerDark\n\t\t\t) }\n\t\t\t{ ...viewProps }\n\t\t>\n\t\t\t{ icon && (\n\t\t\t\t<View style={ styles.icon }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={ iconClass || internalIconClass }\n\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t{ title && <Text style={ titleStyle }>{ title }</Text> }\n\t\t\t{ message && <Text style={ messageStyle }>{ message }</Text> }\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( Warning );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/warning/index.native.js"],"names":["Warning","title","message","icon","iconClass","preferredColorScheme","getStylesFromColorScheme","viewProps","internalIconClass","titleStyle","styles","titleDark","messageStyle","messageDark","container","containerDark","src"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAKA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAGA,SAASA,OAAT,CAAkB;AACjBC,EAAAA,KADiB;AAEjBC,EAAAA,OAFiB;AAGjBC,EAAAA,IAHiB;AAIjBC,EAAAA,SAJiB;AAKjBC,EAAAA,oBALiB;AAMjBC,EAAAA,wBANiB;AAOjB,KAAGC;AAPc,CAAlB,EAQI;AACHJ,EAAAA,IAAI,GAAGA,IAAI,IAAI,iCAAqBA,IAArB,CAAf;AACA,QAAMK,iBAAiB,GAAG,iBAAiB,GAAjB,GAAuBH,oBAAjD;AACA,QAAMI,UAAU,GAAGH,wBAAwB,CAC1CI,eAAOT,KADmC,EAE1CS,eAAOC,SAFmC,CAA3C;AAIA,QAAMC,YAAY,GAAGN,wBAAwB,CAC5CI,eAAOR,OADqC,EAE5CQ,eAAOG,WAFqC,CAA7C;AAKA,SACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAGP,wBAAwB,CAC/BI,eAAOI,SADwB,EAE/BJ,eAAOK,aAFwB,CADjC;AAAA,OAKMR;AALN,KAOGJ,IAAI,IACL,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGO,eAAOP;AAArB,KACC,4BAAC,gBAAD;AACC,IAAA,SAAS,EAAGC,SAAS,IAAII,iBAD1B;AAEC,IAAA,IAAI,EAAGL,IAAI,IAAIA,IAAI,CAACa,GAAb,GAAmBb,IAAI,CAACa,GAAxB,GAA8Bb;AAFtC,IADD,CARF,EAeGF,KAAK,IAAI,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGQ;AAAd,KAA6BR,KAA7B,CAfZ,EAgBGC,OAAO,IAAI,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGU;AAAd,KAA+BV,OAA/B,CAhBd,CADD;AAoBA;;eAEc,uCAA0BF,OAA1B,C","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { normalizeIconObject } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nfunction Warning( {\n\ttitle,\n\tmessage,\n\ticon,\n\ticonClass,\n\tpreferredColorScheme,\n\tgetStylesFromColorScheme,\n\t...viewProps\n} ) {\n\ticon = icon && normalizeIconObject( icon );\n\tconst internalIconClass = 'warning-icon' + '-' + preferredColorScheme;\n\tconst titleStyle = getStylesFromColorScheme(\n\t\tstyles.title,\n\t\tstyles.titleDark\n\t);\n\tconst messageStyle = getStylesFromColorScheme(\n\t\tstyles.message,\n\t\tstyles.messageDark\n\t);\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\tstyles.container,\n\t\t\t\tstyles.containerDark\n\t\t\t) }\n\t\t\t{ ...viewProps }\n\t\t>\n\t\t\t{ icon && (\n\t\t\t\t<View style={ styles.icon }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={ iconClass || internalIconClass }\n\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t{ title && <Text style={ titleStyle }>{ title }</Text> }\n\t\t\t{ message && <Text style={ messageStyle }>{ message }</Text> }\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( Warning );\n"]}
@@ -10,8 +10,6 @@ exports.useWritingFlow = useWritingFlow;
10
10
 
11
11
  var _element = require("@wordpress/element");
12
12
 
13
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
14
-
15
13
  var _classnames = _interopRequireDefault(require("classnames"));
16
14
 
17
15
  var _data = require("@wordpress/data");
@@ -69,16 +67,15 @@ function useWritingFlow() {
69
67
  }, [hasMultiSelection])]), after];
70
68
  }
71
69
 
72
- function WritingFlow(_ref, forwardedRef) {
73
- let {
74
- children,
75
- ...props
76
- } = _ref;
70
+ function WritingFlow({
71
+ children,
72
+ ...props
73
+ }, forwardedRef) {
77
74
  const [before, ref, after] = useWritingFlow();
78
- return (0, _element.createElement)(_element.Fragment, null, before, (0, _element.createElement)("div", (0, _extends2.default)({}, props, {
75
+ return (0, _element.createElement)(_element.Fragment, null, before, (0, _element.createElement)("div", { ...props,
79
76
  ref: (0, _compose.useMergeRefs)([ref, forwardedRef]),
80
77
  className: (0, _classnames.default)(props.className, 'block-editor-writing-flow')
81
- }), children), after);
78
+ }, children), after);
82
79
  }
83
80
  /**
84
81
  * Handles selection and navigation across blocks. This component should be
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/index.js"],"names":["useWritingFlow","before","ref","after","hasMultiSelection","select","blockEditorStore","node","tabIndex","contentEditable","classList","add","setAttribute","remove","removeAttribute","WritingFlow","forwardedRef","children","props","className"],"mappings":";;;;;;;;;;AAWA;;;;AARA;;AAKA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAxBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAWO,SAASA,cAAT,GAA0B;AAChC,QAAM,CAAEC,MAAF,EAAUC,GAAV,EAAeC,KAAf,IAAyB,yBAA/B;AACA,QAAMC,iBAAiB,GAAG,qBACvBC,MAAF,IAAcA,MAAM,CAAEC,YAAF,CAAN,CAA2BF,iBAA3B,EADW,EAEzB,EAFyB,CAA1B;AAKA,SAAO,CACNH,MADM,EAEN,2BAAc,CACbC,GADa,EAEb,wBAFa,EAGb,gCAHa,EAIb,oCAJa,EAKb,iCALa,EAMb,iCANa,EAOb,4BAPa,EAQb,2BARa,EASb,2BACGK,IAAF,IAAY;AACXA,IAAAA,IAAI,CAACC,QAAL,GAAgB,CAAhB;AACAD,IAAAA,IAAI,CAACE,eAAL,GAAuBL,iBAAvB;;AAEA,QAAK,CAAEA,iBAAP,EAA2B;AAC1B;AACA;;AAEDG,IAAAA,IAAI,CAACG,SAAL,CAAeC,GAAf,CAAoB,qBAApB;AACAJ,IAAAA,IAAI,CAACK,YAAL,CACC,YADD,EAEC,cAAI,0BAAJ,CAFD;AAKA,WAAO,MAAM;AACZL,MAAAA,IAAI,CAACG,SAAL,CAAeG,MAAf,CAAuB,qBAAvB;AACAN,MAAAA,IAAI,CAACO,eAAL,CAAsB,YAAtB;AACA,KAHD;AAIA,GAnBF,EAoBC,CAAEV,iBAAF,CApBD,CATa,CAAd,CAFM,EAkCND,KAlCM,CAAP;AAoCA;;AAED,SAASY,WAAT,OAA8CC,YAA9C,EAA6D;AAAA,MAAvC;AAAEC,IAAAA,QAAF;AAAY,OAAGC;AAAf,GAAuC;AAC5D,QAAM,CAAEjB,MAAF,EAAUC,GAAV,EAAeC,KAAf,IAAyBH,cAAc,EAA7C;AACA,SACC,qDACGC,MADH,EAEC,8DACMiB,KADN;AAEC,IAAA,GAAG,EAAG,2BAAc,CAAEhB,GAAF,EAAOc,YAAP,CAAd,CAFP;AAGC,IAAA,SAAS,EAAG,yBACXE,KAAK,CAACC,SADK,EAEX,2BAFW;AAHb,MAQGF,QARH,CAFD,EAYGd,KAZH,CADD;AAgBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;eACe,yBAAYY,WAAZ,C","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useMultiSelection from './use-multi-selection';\nimport useTabNav from './use-tab-nav';\nimport useArrowNav from './use-arrow-nav';\nimport useSelectAll from './use-select-all';\nimport useDragSelection from './use-drag-selection';\nimport useSelectionObserver from './use-selection-observer';\nimport useClickSelection from './use-click-selection';\nimport useInput from './use-input';\nimport { store as blockEditorStore } from '../../store';\n\nexport function useWritingFlow() {\n\tconst [ before, ref, after ] = useTabNav();\n\tconst hasMultiSelection = useSelect(\n\t\t( select ) => select( blockEditorStore ).hasMultiSelection(),\n\t\t[]\n\t);\n\n\treturn [\n\t\tbefore,\n\t\tuseMergeRefs( [\n\t\t\tref,\n\t\t\tuseInput(),\n\t\t\tuseDragSelection(),\n\t\t\tuseSelectionObserver(),\n\t\t\tuseClickSelection(),\n\t\t\tuseMultiSelection(),\n\t\t\tuseSelectAll(),\n\t\t\tuseArrowNav(),\n\t\t\tuseRefEffect(\n\t\t\t\t( node ) => {\n\t\t\t\t\tnode.tabIndex = 0;\n\t\t\t\t\tnode.contentEditable = hasMultiSelection;\n\n\t\t\t\t\tif ( ! hasMultiSelection ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tnode.classList.add( 'has-multi-selection' );\n\t\t\t\t\tnode.setAttribute(\n\t\t\t\t\t\t'aria-label',\n\t\t\t\t\t\t__( 'Multiple selected blocks' )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tnode.classList.remove( 'has-multi-selection' );\n\t\t\t\t\t\tnode.removeAttribute( 'aria-label' );\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t[ hasMultiSelection ]\n\t\t\t),\n\t\t] ),\n\t\tafter,\n\t];\n}\n\nfunction WritingFlow( { children, ...props }, forwardedRef ) {\n\tconst [ before, ref, after ] = useWritingFlow();\n\treturn (\n\t\t<>\n\t\t\t{ before }\n\t\t\t<div\n\t\t\t\t{ ...props }\n\t\t\t\tref={ useMergeRefs( [ ref, forwardedRef ] ) }\n\t\t\t\tclassName={ classNames(\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'block-editor-writing-flow'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t\t{ after }\n\t\t</>\n\t);\n}\n\n/**\n * Handles selection and navigation across blocks. This component should be\n * wrapped around BlockList.\n *\n * @param {Object} props Component properties.\n * @param {WPElement} props.children Children to be rendered.\n */\nexport default forwardRef( WritingFlow );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/index.js"],"names":["useWritingFlow","before","ref","after","hasMultiSelection","select","blockEditorStore","node","tabIndex","contentEditable","classList","add","setAttribute","remove","removeAttribute","WritingFlow","children","props","forwardedRef","className"],"mappings":";;;;;;;;;;AAWA;;AARA;;AAKA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAxBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAWO,SAASA,cAAT,GAA0B;AAChC,QAAM,CAAEC,MAAF,EAAUC,GAAV,EAAeC,KAAf,IAAyB,yBAA/B;AACA,QAAMC,iBAAiB,GAAG,qBACvBC,MAAF,IAAcA,MAAM,CAAEC,YAAF,CAAN,CAA2BF,iBAA3B,EADW,EAEzB,EAFyB,CAA1B;AAKA,SAAO,CACNH,MADM,EAEN,2BAAc,CACbC,GADa,EAEb,wBAFa,EAGb,gCAHa,EAIb,oCAJa,EAKb,iCALa,EAMb,iCANa,EAOb,4BAPa,EAQb,2BARa,EASb,2BACGK,IAAF,IAAY;AACXA,IAAAA,IAAI,CAACC,QAAL,GAAgB,CAAhB;AACAD,IAAAA,IAAI,CAACE,eAAL,GAAuBL,iBAAvB;;AAEA,QAAK,CAAEA,iBAAP,EAA2B;AAC1B;AACA;;AAEDG,IAAAA,IAAI,CAACG,SAAL,CAAeC,GAAf,CAAoB,qBAApB;AACAJ,IAAAA,IAAI,CAACK,YAAL,CACC,YADD,EAEC,cAAI,0BAAJ,CAFD;AAKA,WAAO,MAAM;AACZL,MAAAA,IAAI,CAACG,SAAL,CAAeG,MAAf,CAAuB,qBAAvB;AACAN,MAAAA,IAAI,CAACO,eAAL,CAAsB,YAAtB;AACA,KAHD;AAIA,GAnBF,EAoBC,CAAEV,iBAAF,CApBD,CATa,CAAd,CAFM,EAkCND,KAlCM,CAAP;AAoCA;;AAED,SAASY,WAAT,CAAsB;AAAEC,EAAAA,QAAF;AAAY,KAAGC;AAAf,CAAtB,EAA8CC,YAA9C,EAA6D;AAC5D,QAAM,CAAEjB,MAAF,EAAUC,GAAV,EAAeC,KAAf,IAAyBH,cAAc,EAA7C;AACA,SACC,qDACGC,MADH,EAEC,wCACMgB,KADN;AAEC,IAAA,GAAG,EAAG,2BAAc,CAAEf,GAAF,EAAOgB,YAAP,CAAd,CAFP;AAGC,IAAA,SAAS,EAAG,yBACXD,KAAK,CAACE,SADK,EAEX,2BAFW;AAHb,KAQGH,QARH,CAFD,EAYGb,KAZH,CADD;AAgBA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;eACe,yBAAYY,WAAZ,C","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useMultiSelection from './use-multi-selection';\nimport useTabNav from './use-tab-nav';\nimport useArrowNav from './use-arrow-nav';\nimport useSelectAll from './use-select-all';\nimport useDragSelection from './use-drag-selection';\nimport useSelectionObserver from './use-selection-observer';\nimport useClickSelection from './use-click-selection';\nimport useInput from './use-input';\nimport { store as blockEditorStore } from '../../store';\n\nexport function useWritingFlow() {\n\tconst [ before, ref, after ] = useTabNav();\n\tconst hasMultiSelection = useSelect(\n\t\t( select ) => select( blockEditorStore ).hasMultiSelection(),\n\t\t[]\n\t);\n\n\treturn [\n\t\tbefore,\n\t\tuseMergeRefs( [\n\t\t\tref,\n\t\t\tuseInput(),\n\t\t\tuseDragSelection(),\n\t\t\tuseSelectionObserver(),\n\t\t\tuseClickSelection(),\n\t\t\tuseMultiSelection(),\n\t\t\tuseSelectAll(),\n\t\t\tuseArrowNav(),\n\t\t\tuseRefEffect(\n\t\t\t\t( node ) => {\n\t\t\t\t\tnode.tabIndex = 0;\n\t\t\t\t\tnode.contentEditable = hasMultiSelection;\n\n\t\t\t\t\tif ( ! hasMultiSelection ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tnode.classList.add( 'has-multi-selection' );\n\t\t\t\t\tnode.setAttribute(\n\t\t\t\t\t\t'aria-label',\n\t\t\t\t\t\t__( 'Multiple selected blocks' )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn () => {\n\t\t\t\t\t\tnode.classList.remove( 'has-multi-selection' );\n\t\t\t\t\t\tnode.removeAttribute( 'aria-label' );\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t[ hasMultiSelection ]\n\t\t\t),\n\t\t] ),\n\t\tafter,\n\t];\n}\n\nfunction WritingFlow( { children, ...props }, forwardedRef ) {\n\tconst [ before, ref, after ] = useWritingFlow();\n\treturn (\n\t\t<>\n\t\t\t{ before }\n\t\t\t<div\n\t\t\t\t{ ...props }\n\t\t\t\tref={ useMergeRefs( [ ref, forwardedRef ] ) }\n\t\t\t\tclassName={ classNames(\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'block-editor-writing-flow'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t\t{ after }\n\t\t</>\n\t);\n}\n\n/**\n * Handles selection and navigation across blocks. This component should be\n * wrapped around BlockList.\n *\n * @param {Object} props Component properties.\n * @param {WPElement} props.children Children to be rendered.\n */\nexport default forwardRef( WritingFlow );\n"]}
@@ -87,12 +87,10 @@ function useDragSelection() {
87
87
  });
88
88
  }
89
89
 
90
- function onMouseLeave(_ref) {
91
- let {
92
- buttons,
93
- target
94
- } = _ref;
95
-
90
+ function onMouseLeave({
91
+ buttons,
92
+ target
93
+ }) {
96
94
  // Avoid triggering a multi-selection if the user is already
97
95
  // dragging blocks.
98
96
  if (isDraggingBlocks()) {
@@ -109,7 +107,7 @@ function useDragSelection() {
109
107
  // multi selecting when the mouse leaves the wrapper.
110
108
 
111
109
 
112
- if (!target.getAttribute('contenteditable')) {
110
+ if (target.getAttribute('contenteditable') !== 'true') {
113
111
  return;
114
112
  }
115
113
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/use-drag-selection.js"],"names":["setContentEditableWrapper","node","value","contentEditable","focus","useDragSelection","startMultiSelect","stopMultiSelect","blockEditorStore","isSelectionEnabled","hasMultiSelection","isDraggingBlocks","ownerDocument","defaultView","anchorElement","rafId","onMouseUp","removeEventListener","requestAnimationFrame","selection","getSelection","rangeCount","commonAncestorContainer","getRangeAt","contains","onMouseLeave","buttons","target","getAttribute","activeElement","addEventListener","cancelAnimationFrame"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Sets the `contenteditable` wrapper element to `value`.\n *\n * @param {HTMLElement} node Block element.\n * @param {boolean} value `contentEditable` value (true or false)\n */\nfunction setContentEditableWrapper( node, value ) {\n\tnode.contentEditable = value;\n\t// Firefox doesn't automatically move focus.\n\tif ( value ) node.focus();\n}\n\n/**\n * Sets a multi-selection based on the native selection across blocks.\n */\nexport default function useDragSelection() {\n\tconst { startMultiSelect, stopMultiSelect } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { isSelectionEnabled, hasMultiSelection, isDraggingBlocks } =\n\t\tuseSelect( blockEditorStore );\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView } = ownerDocument;\n\n\t\t\tlet anchorElement;\n\t\t\tlet rafId;\n\n\t\t\tfunction onMouseUp() {\n\t\t\t\tstopMultiSelect();\n\t\t\t\t// Equivalent to attaching the listener once.\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onMouseUp );\n\t\t\t\t// The browser selection won't have updated yet at this point,\n\t\t\t\t// so wait until the next animation frame to get the browser\n\t\t\t\t// selection.\n\t\t\t\trafId = defaultView.requestAnimationFrame( () => {\n\t\t\t\t\tif ( hasMultiSelection() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// If the selection is complete (on mouse up), and no\n\t\t\t\t\t// multiple blocks have been selected, set focus back to the\n\t\t\t\t\t// anchor element. if the anchor element contains the\n\t\t\t\t\t// selection. Additionally, the contentEditable wrapper can\n\t\t\t\t\t// now be disabled again.\n\t\t\t\t\tsetContentEditableWrapper( node, false );\n\n\t\t\t\t\tconst selection = defaultView.getSelection();\n\n\t\t\t\t\tif ( selection.rangeCount ) {\n\t\t\t\t\t\tconst { commonAncestorContainer } =\n\t\t\t\t\t\t\tselection.getRangeAt( 0 );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tanchorElement.contains( commonAncestorContainer )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tanchorElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tfunction onMouseLeave( { buttons, target } ) {\n\t\t\t\t// Avoid triggering a multi-selection if the user is already\n\t\t\t\t// dragging blocks.\n\t\t\t\tif ( isDraggingBlocks() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// The primary button must be pressed to initiate selection.\n\t\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons\n\t\t\t\tif ( buttons !== 1 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Check the attribute, not the contentEditable attribute. All\n\t\t\t\t// child elements of the content editable wrapper are editable\n\t\t\t\t// and return true for this property. We only want to start\n\t\t\t\t// multi selecting when the mouse leaves the wrapper.\n\t\t\t\tif ( ! target.getAttribute( 'contenteditable' ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( ! isSelectionEnabled() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tanchorElement = ownerDocument.activeElement;\n\t\t\t\tstartMultiSelect();\n\n\t\t\t\t// `onSelectionStart` is called after `mousedown` and\n\t\t\t\t// `mouseleave` (from a block). The selection ends when\n\t\t\t\t// `mouseup` happens anywhere in the window.\n\t\t\t\tdefaultView.addEventListener( 'mouseup', onMouseUp );\n\n\t\t\t\t// Allow cross contentEditable selection by temporarily making\n\t\t\t\t// all content editable. We can't rely on using the store and\n\t\t\t\t// React because re-rending happens too slowly. We need to be\n\t\t\t\t// able to select across instances immediately.\n\t\t\t\tsetContentEditableWrapper( node, true );\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'mouseout', onMouseLeave );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'mouseout', onMouseLeave );\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onMouseUp );\n\t\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tstartMultiSelect,\n\t\t\tstopMultiSelect,\n\t\t\tisSelectionEnabled,\n\t\t\thasMultiSelection,\n\t\t]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/use-drag-selection.js"],"names":["setContentEditableWrapper","node","value","contentEditable","focus","useDragSelection","startMultiSelect","stopMultiSelect","blockEditorStore","isSelectionEnabled","hasMultiSelection","isDraggingBlocks","ownerDocument","defaultView","anchorElement","rafId","onMouseUp","removeEventListener","requestAnimationFrame","selection","getSelection","rangeCount","commonAncestorContainer","getRangeAt","contains","onMouseLeave","buttons","target","getAttribute","activeElement","addEventListener","cancelAnimationFrame"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Sets the `contenteditable` wrapper element to `value`.\n *\n * @param {HTMLElement} node Block element.\n * @param {boolean} value `contentEditable` value (true or false)\n */\nfunction setContentEditableWrapper( node, value ) {\n\tnode.contentEditable = value;\n\t// Firefox doesn't automatically move focus.\n\tif ( value ) node.focus();\n}\n\n/**\n * Sets a multi-selection based on the native selection across blocks.\n */\nexport default function useDragSelection() {\n\tconst { startMultiSelect, stopMultiSelect } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { isSelectionEnabled, hasMultiSelection, isDraggingBlocks } =\n\t\tuseSelect( blockEditorStore );\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tconst { ownerDocument } = node;\n\t\t\tconst { defaultView } = ownerDocument;\n\n\t\t\tlet anchorElement;\n\t\t\tlet rafId;\n\n\t\t\tfunction onMouseUp() {\n\t\t\t\tstopMultiSelect();\n\t\t\t\t// Equivalent to attaching the listener once.\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onMouseUp );\n\t\t\t\t// The browser selection won't have updated yet at this point,\n\t\t\t\t// so wait until the next animation frame to get the browser\n\t\t\t\t// selection.\n\t\t\t\trafId = defaultView.requestAnimationFrame( () => {\n\t\t\t\t\tif ( hasMultiSelection() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// If the selection is complete (on mouse up), and no\n\t\t\t\t\t// multiple blocks have been selected, set focus back to the\n\t\t\t\t\t// anchor element. if the anchor element contains the\n\t\t\t\t\t// selection. Additionally, the contentEditable wrapper can\n\t\t\t\t\t// now be disabled again.\n\t\t\t\t\tsetContentEditableWrapper( node, false );\n\n\t\t\t\t\tconst selection = defaultView.getSelection();\n\n\t\t\t\t\tif ( selection.rangeCount ) {\n\t\t\t\t\t\tconst { commonAncestorContainer } =\n\t\t\t\t\t\t\tselection.getRangeAt( 0 );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tanchorElement.contains( commonAncestorContainer )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tanchorElement.focus();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tfunction onMouseLeave( { buttons, target } ) {\n\t\t\t\t// Avoid triggering a multi-selection if the user is already\n\t\t\t\t// dragging blocks.\n\t\t\t\tif ( isDraggingBlocks() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// The primary button must be pressed to initiate selection.\n\t\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons\n\t\t\t\tif ( buttons !== 1 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Check the attribute, not the contentEditable attribute. All\n\t\t\t\t// child elements of the content editable wrapper are editable\n\t\t\t\t// and return true for this property. We only want to start\n\t\t\t\t// multi selecting when the mouse leaves the wrapper.\n\t\t\t\tif ( target.getAttribute( 'contenteditable' ) !== 'true' ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( ! isSelectionEnabled() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tanchorElement = ownerDocument.activeElement;\n\t\t\t\tstartMultiSelect();\n\n\t\t\t\t// `onSelectionStart` is called after `mousedown` and\n\t\t\t\t// `mouseleave` (from a block). The selection ends when\n\t\t\t\t// `mouseup` happens anywhere in the window.\n\t\t\t\tdefaultView.addEventListener( 'mouseup', onMouseUp );\n\n\t\t\t\t// Allow cross contentEditable selection by temporarily making\n\t\t\t\t// all content editable. We can't rely on using the store and\n\t\t\t\t// React because re-rending happens too slowly. We need to be\n\t\t\t\t// able to select across instances immediately.\n\t\t\t\tsetContentEditableWrapper( node, true );\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'mouseout', onMouseLeave );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'mouseout', onMouseLeave );\n\t\t\t\tdefaultView.removeEventListener( 'mouseup', onMouseUp );\n\t\t\t\tdefaultView.cancelAnimationFrame( rafId );\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tstartMultiSelect,\n\t\t\tstopMultiSelect,\n\t\t\tisSelectionEnabled,\n\t\t\thasMultiSelection,\n\t\t]\n\t);\n}\n"]}
@@ -54,11 +54,16 @@ function useTabNav() {
54
54
  lastFocus.current.focus();
55
55
  } else {
56
56
  setNavigationMode(true);
57
+ const canvasElement = container.current.ownerDocument === event.target.ownerDocument ? container.current : container.current.ownerDocument.defaultView.frameElement;
57
58
  const isBefore = // eslint-disable-next-line no-bitwise
58
- event.target.compareDocumentPosition(container.current) & event.target.DOCUMENT_POSITION_FOLLOWING;
59
- const action = isBefore ? 'findNext' : 'findPrevious';
59
+ event.target.compareDocumentPosition(canvasElement) & event.target.DOCUMENT_POSITION_FOLLOWING;
60
60
 
61
- _dom.focus.tabbable[action](event.target).focus();
61
+ const tabbables = _dom.focus.tabbable.find(container.current);
62
+
63
+ if (tabbables.length) {
64
+ const next = isBefore ? tabbables[0] : tabbables[tabbables.length - 1];
65
+ next.focus();
66
+ }
62
67
  }
63
68
  }
64
69
 
@@ -78,7 +83,7 @@ function useTabNav() {
78
83
  return;
79
84
  }
80
85
 
81
- if (event.keyCode === _keycodes.ESCAPE) {
86
+ if (event.keyCode === _keycodes.ESCAPE && !hasMultiSelection()) {
82
87
  event.preventDefault();
83
88
  setNavigationMode(true);
84
89
  return;
@@ -106,15 +111,43 @@ function useTabNav() {
106
111
  // will no longer send focus through the focus capture element.
107
112
  if (event.target === node) setNavigationMode(true);
108
113
  return;
109
- } // Allow tabbing from the block wrapper to a form element,
110
- // and between form elements rendered in a block,
114
+ } // We want to constrain the tabbing to the block and its child blocks.
115
+ // If the preceding form element is within a different block,
116
+ // such as two sibling image blocks in the placeholder state,
117
+ // we want shift + tab from the first form element to move to the image
118
+ // block toolbar and not the previous image block's form element.
119
+ // TODO: Should this become a utility function?
120
+
121
+ /**
122
+ * Determine whether an element is part of or is the selected block.
123
+ *
124
+ * @param {Object} selectedBlockElement
125
+ * @param {Object} element
126
+ * @return {boolean} Whether the element is part of or is the selected block.
127
+ */
128
+
129
+
130
+ const isElementPartOfSelectedBlock = (selectedBlockElement, element) => {
131
+ // Check if the element is or is within the selected block by finding the
132
+ // closest element with a data-block attribute and seeing if
133
+ // it matches our current selected block ID
134
+ const elementBlockId = element.closest('[data-block]')?.getAttribute('data-block');
135
+ const isElementSameBlock = elementBlockId === getSelectedBlockClientId(); // Check if the element is a child of the selected block. This could be a
136
+ // child block in a group or column block, etc.
137
+
138
+ const isElementChildOfBlock = selectedBlockElement.contains(element);
139
+ return isElementSameBlock || isElementChildOfBlock;
140
+ };
141
+
142
+ const nextTabbable = _dom.focus.tabbable[direction](event.target); // Allow tabbing from the block wrapper to a form element,
143
+ // and between form elements rendered in a block and its child blocks,
111
144
  // such as inside a placeholder. Form elements are generally
112
145
  // meant to be UI rather than part of the content. Ideally
113
146
  // these are not rendered in the content and perhaps in the
114
147
  // future they can be rendered in an iframe or shadow DOM.
115
148
 
116
149
 
117
- if (((0, _dom.isFormElement)(event.target) || event.target.getAttribute('data-block') === getSelectedBlockClientId()) && (0, _dom.isFormElement)(_dom.focus.tabbable[direction](event.target))) {
150
+ if ((0, _dom.isFormElement)(nextTabbable) && isElementPartOfSelectedBlock(event.target.closest('[data-block]'), nextTabbable)) {
118
151
  return;
119
152
  }
120
153
 
@@ -152,13 +185,11 @@ function useTabNav() {
152
185
 
153
186
 
154
187
  function preventScrollOnTab(event) {
155
- var _event$target;
156
-
157
188
  if (event.keyCode !== _keycodes.TAB) {
158
189
  return;
159
190
  }
160
191
 
161
- if (((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.getAttribute('role')) === 'region') {
192
+ if (event.target?.getAttribute('role') === 'region') {
162
193
  return;
163
194
  }
164
195
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/use-tab-nav.js"],"names":["useTabNav","container","focusCaptureBeforeRef","focusCaptureAfterRef","lastFocus","hasMultiSelection","getSelectedBlockClientId","getBlockCount","blockEditorStore","setNavigationMode","isNavigationMode","select","focusCaptureTabIndex","undefined","noCapture","onFocusCapture","event","current","focus","isBefore","target","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","action","tabbable","before","after","ref","node","onKeyDown","defaultPrevented","keyCode","ESCAPE","preventDefault","TAB","isShift","shiftKey","direction","getAttribute","next","preventScroll","onFocusOut","ownerDocument","relatedTarget","activeElement","body","preventScrollOnTab","defaultView","addEventListener","removeEventListener","mergedRefs"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { focus, isFormElement } from '@wordpress/dom';\nimport { TAB, ESCAPE } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect, useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nexport default function useTabNav() {\n\tconst container = useRef();\n\tconst focusCaptureBeforeRef = useRef();\n\tconst focusCaptureAfterRef = useRef();\n\tconst lastFocus = useRef();\n\tconst { hasMultiSelection, getSelectedBlockClientId, getBlockCount } =\n\t\tuseSelect( blockEditorStore );\n\tconst { setNavigationMode } = useDispatch( blockEditorStore );\n\tconst isNavigationMode = useSelect(\n\t\t( select ) => select( blockEditorStore ).isNavigationMode(),\n\t\t[]\n\t);\n\n\t// Don't allow tabbing to this element in Navigation mode.\n\tconst focusCaptureTabIndex = ! isNavigationMode ? '0' : undefined;\n\n\t// Reference that holds the a flag for enabling or disabling\n\t// capturing on the focus capture elements.\n\tconst noCapture = useRef();\n\n\tfunction onFocusCapture( event ) {\n\t\t// Do not capture incoming focus if set by us in WritingFlow.\n\t\tif ( noCapture.current ) {\n\t\t\tnoCapture.current = null;\n\t\t} else if ( hasMultiSelection() ) {\n\t\t\tcontainer.current.focus();\n\t\t} else if ( getSelectedBlockClientId() ) {\n\t\t\tlastFocus.current.focus();\n\t\t} else {\n\t\t\tsetNavigationMode( true );\n\n\t\t\tconst isBefore =\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tevent.target.compareDocumentPosition( container.current ) &\n\t\t\t\tevent.target.DOCUMENT_POSITION_FOLLOWING;\n\t\t\tconst action = isBefore ? 'findNext' : 'findPrevious';\n\n\t\t\tfocus.tabbable[ action ]( event.target ).focus();\n\t\t}\n\t}\n\n\tconst before = (\n\t\t<div\n\t\t\tref={ focusCaptureBeforeRef }\n\t\t\ttabIndex={ focusCaptureTabIndex }\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst after = (\n\t\t<div\n\t\t\tref={ focusCaptureAfterRef }\n\t\t\ttabIndex={ focusCaptureTabIndex }\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst ref = useRefEffect( ( node ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.keyCode === ESCAPE ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetNavigationMode( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// In Edit mode, Tab should focus the first tabbable element after\n\t\t\t// the content, which is normally the sidebar (with block controls)\n\t\t\t// and Shift+Tab should focus the first tabbable element before the\n\t\t\t// content, which is normally the block toolbar.\n\t\t\t// Arrow keys can be used, and Tab and arrow keys can be used in\n\t\t\t// Navigation mode (press Esc), to navigate through blocks.\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\n\t\t\tif ( ! hasMultiSelection() && ! getSelectedBlockClientId() ) {\n\t\t\t\t// Preserve the behaviour of entering navigation mode when\n\t\t\t\t// tabbing into the content without a block selection.\n\t\t\t\t// `onFocusCapture` already did this previously, but we need to\n\t\t\t\t// do it again here because after clearing block selection,\n\t\t\t\t// focus land on the writing flow container and pressing Tab\n\t\t\t\t// will no longer send focus through the focus capture element.\n\t\t\t\tif ( event.target === node ) setNavigationMode( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Allow tabbing from the block wrapper to a form element,\n\t\t\t// and between form elements rendered in a block,\n\t\t\t// such as inside a placeholder. Form elements are generally\n\t\t\t// meant to be UI rather than part of the content. Ideally\n\t\t\t// these are not rendered in the content and perhaps in the\n\t\t\t// future they can be rendered in an iframe or shadow DOM.\n\t\t\tif (\n\t\t\t\t( isFormElement( event.target ) ||\n\t\t\t\t\tevent.target.getAttribute( 'data-block' ) ===\n\t\t\t\t\t\tgetSelectedBlockClientId() ) &&\n\t\t\t\tisFormElement( focus.tabbable[ direction ]( event.target ) )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst next = isShift ? focusCaptureBeforeRef : focusCaptureAfterRef;\n\n\t\t\t// Disable focus capturing on the focus capture element, so it\n\t\t\t// doesn't refocus this block and so it allows default behaviour\n\t\t\t// (moving focus to the next tabbable element).\n\t\t\tnoCapture.current = true;\n\n\t\t\t// Focusing the focus capture element, which is located above and\n\t\t\t// below the editor, should not scroll the page all the way up or\n\t\t\t// down.\n\t\t\tnext.current.focus( { preventScroll: true } );\n\t\t}\n\n\t\tfunction onFocusOut( event ) {\n\t\t\tlastFocus.current = event.target;\n\n\t\t\tconst { ownerDocument } = node;\n\n\t\t\t// If focus disappears due to there being no blocks, move focus to\n\t\t\t// the writing flow wrapper.\n\t\t\tif (\n\t\t\t\t! event.relatedTarget &&\n\t\t\t\townerDocument.activeElement === ownerDocument.body &&\n\t\t\t\tgetBlockCount() === 0\n\t\t\t) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t}\n\n\t\t// When tabbing back to an element in block list, this event handler prevents scrolling if the\n\t\t// focus capture divs (before/after) are outside of the viewport. (For example shift+tab back to a paragraph\n\t\t// when focus is on a sidebar element. This prevents the scrollable writing area from jumping either to the\n\t\t// top or bottom of the document.\n\t\t//\n\t\t// Note that it isn't possible to disable scrolling in the onFocus event. We need to intercept this\n\t\t// earlier in the keypress handler, and call focus( { preventScroll: true } ) instead.\n\t\t// https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus#parameters\n\t\tfunction preventScrollOnTab( event ) {\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.target?.getAttribute( 'role' ) === 'region' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( container.current === event.target ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\t\t\tconst target = focus.tabbable[ direction ]( event.target );\n\t\t\t// Only do something when the next tabbable is a focus capture div (before/after)\n\t\t\tif (\n\t\t\t\ttarget === focusCaptureBeforeRef.current ||\n\t\t\t\ttarget === focusCaptureAfterRef.current\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttarget.focus( { preventScroll: true } );\n\t\t\t}\n\t\t}\n\n\t\tconst { ownerDocument } = node;\n\t\tconst { defaultView } = ownerDocument;\n\t\tdefaultView.addEventListener( 'keydown', preventScrollOnTab );\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\tnode.addEventListener( 'focusout', onFocusOut );\n\t\treturn () => {\n\t\t\tdefaultView.removeEventListener( 'keydown', preventScrollOnTab );\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\tnode.removeEventListener( 'focusout', onFocusOut );\n\t\t};\n\t}, [] );\n\n\tconst mergedRefs = useMergeRefs( [ container, ref ] );\n\n\treturn [ before, mergedRefs, after ];\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/writing-flow/use-tab-nav.js"],"names":["useTabNav","container","focusCaptureBeforeRef","focusCaptureAfterRef","lastFocus","hasMultiSelection","getSelectedBlockClientId","getBlockCount","blockEditorStore","setNavigationMode","isNavigationMode","select","focusCaptureTabIndex","undefined","noCapture","onFocusCapture","event","current","focus","canvasElement","ownerDocument","target","defaultView","frameElement","isBefore","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","tabbables","tabbable","find","length","next","before","after","ref","node","onKeyDown","defaultPrevented","keyCode","ESCAPE","preventDefault","TAB","isShift","shiftKey","direction","isElementPartOfSelectedBlock","selectedBlockElement","element","elementBlockId","closest","getAttribute","isElementSameBlock","isElementChildOfBlock","contains","nextTabbable","preventScroll","onFocusOut","relatedTarget","activeElement","body","preventScrollOnTab","addEventListener","removeEventListener","mergedRefs"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { focus, isFormElement } from '@wordpress/dom';\nimport { TAB, ESCAPE } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect, useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nexport default function useTabNav() {\n\tconst container = useRef();\n\tconst focusCaptureBeforeRef = useRef();\n\tconst focusCaptureAfterRef = useRef();\n\tconst lastFocus = useRef();\n\tconst { hasMultiSelection, getSelectedBlockClientId, getBlockCount } =\n\t\tuseSelect( blockEditorStore );\n\tconst { setNavigationMode } = useDispatch( blockEditorStore );\n\tconst isNavigationMode = useSelect(\n\t\t( select ) => select( blockEditorStore ).isNavigationMode(),\n\t\t[]\n\t);\n\n\t// Don't allow tabbing to this element in Navigation mode.\n\tconst focusCaptureTabIndex = ! isNavigationMode ? '0' : undefined;\n\n\t// Reference that holds the a flag for enabling or disabling\n\t// capturing on the focus capture elements.\n\tconst noCapture = useRef();\n\n\tfunction onFocusCapture( event ) {\n\t\t// Do not capture incoming focus if set by us in WritingFlow.\n\t\tif ( noCapture.current ) {\n\t\t\tnoCapture.current = null;\n\t\t} else if ( hasMultiSelection() ) {\n\t\t\tcontainer.current.focus();\n\t\t} else if ( getSelectedBlockClientId() ) {\n\t\t\tlastFocus.current.focus();\n\t\t} else {\n\t\t\tsetNavigationMode( true );\n\n\t\t\tconst canvasElement =\n\t\t\t\tcontainer.current.ownerDocument === event.target.ownerDocument\n\t\t\t\t\t? container.current\n\t\t\t\t\t: container.current.ownerDocument.defaultView.frameElement;\n\n\t\t\tconst isBefore =\n\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\tevent.target.compareDocumentPosition( canvasElement ) &\n\t\t\t\tevent.target.DOCUMENT_POSITION_FOLLOWING;\n\t\t\tconst tabbables = focus.tabbable.find( container.current );\n\n\t\t\tif ( tabbables.length ) {\n\t\t\t\tconst next = isBefore\n\t\t\t\t\t? tabbables[ 0 ]\n\t\t\t\t\t: tabbables[ tabbables.length - 1 ];\n\n\t\t\t\tnext.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst before = (\n\t\t<div\n\t\t\tref={ focusCaptureBeforeRef }\n\t\t\ttabIndex={ focusCaptureTabIndex }\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst after = (\n\t\t<div\n\t\t\tref={ focusCaptureAfterRef }\n\t\t\ttabIndex={ focusCaptureTabIndex }\n\t\t\tonFocus={ onFocusCapture }\n\t\t/>\n\t);\n\n\tconst ref = useRefEffect( ( node ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.keyCode === ESCAPE && ! hasMultiSelection() ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetNavigationMode( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// In Edit mode, Tab should focus the first tabbable element after\n\t\t\t// the content, which is normally the sidebar (with block controls)\n\t\t\t// and Shift+Tab should focus the first tabbable element before the\n\t\t\t// content, which is normally the block toolbar.\n\t\t\t// Arrow keys can be used, and Tab and arrow keys can be used in\n\t\t\t// Navigation mode (press Esc), to navigate through blocks.\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\n\t\t\tif ( ! hasMultiSelection() && ! getSelectedBlockClientId() ) {\n\t\t\t\t// Preserve the behaviour of entering navigation mode when\n\t\t\t\t// tabbing into the content without a block selection.\n\t\t\t\t// `onFocusCapture` already did this previously, but we need to\n\t\t\t\t// do it again here because after clearing block selection,\n\t\t\t\t// focus land on the writing flow container and pressing Tab\n\t\t\t\t// will no longer send focus through the focus capture element.\n\t\t\t\tif ( event.target === node ) setNavigationMode( true );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// We want to constrain the tabbing to the block and its child blocks.\n\t\t\t// If the preceding form element is within a different block,\n\t\t\t// such as two sibling image blocks in the placeholder state,\n\t\t\t// we want shift + tab from the first form element to move to the image\n\t\t\t// block toolbar and not the previous image block's form element.\n\t\t\t// TODO: Should this become a utility function?\n\t\t\t/**\n\t\t\t * Determine whether an element is part of or is the selected block.\n\t\t\t *\n\t\t\t * @param {Object} selectedBlockElement\n\t\t\t * @param {Object} element\n\t\t\t * @return {boolean} Whether the element is part of or is the selected block.\n\t\t\t */\n\t\t\tconst isElementPartOfSelectedBlock = (\n\t\t\t\tselectedBlockElement,\n\t\t\t\telement\n\t\t\t) => {\n\t\t\t\t// Check if the element is or is within the selected block by finding the\n\t\t\t\t// closest element with a data-block attribute and seeing if\n\t\t\t\t// it matches our current selected block ID\n\t\t\t\tconst elementBlockId = element\n\t\t\t\t\t.closest( '[data-block]' )\n\t\t\t\t\t?.getAttribute( 'data-block' );\n\t\t\t\tconst isElementSameBlock =\n\t\t\t\t\telementBlockId === getSelectedBlockClientId();\n\n\t\t\t\t// Check if the element is a child of the selected block. This could be a\n\t\t\t\t// child block in a group or column block, etc.\n\t\t\t\tconst isElementChildOfBlock =\n\t\t\t\t\tselectedBlockElement.contains( element );\n\n\t\t\t\treturn isElementSameBlock || isElementChildOfBlock;\n\t\t\t};\n\n\t\t\tconst nextTabbable = focus.tabbable[ direction ]( event.target );\n\t\t\t// Allow tabbing from the block wrapper to a form element,\n\t\t\t// and between form elements rendered in a block and its child blocks,\n\t\t\t// such as inside a placeholder. Form elements are generally\n\t\t\t// meant to be UI rather than part of the content. Ideally\n\t\t\t// these are not rendered in the content and perhaps in the\n\t\t\t// future they can be rendered in an iframe or shadow DOM.\n\t\t\tif (\n\t\t\t\tisFormElement( nextTabbable ) &&\n\t\t\t\tisElementPartOfSelectedBlock(\n\t\t\t\t\tevent.target.closest( '[data-block]' ),\n\t\t\t\t\tnextTabbable\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst next = isShift ? focusCaptureBeforeRef : focusCaptureAfterRef;\n\n\t\t\t// Disable focus capturing on the focus capture element, so it\n\t\t\t// doesn't refocus this block and so it allows default behaviour\n\t\t\t// (moving focus to the next tabbable element).\n\t\t\tnoCapture.current = true;\n\n\t\t\t// Focusing the focus capture element, which is located above and\n\t\t\t// below the editor, should not scroll the page all the way up or\n\t\t\t// down.\n\t\t\tnext.current.focus( { preventScroll: true } );\n\t\t}\n\n\t\tfunction onFocusOut( event ) {\n\t\t\tlastFocus.current = event.target;\n\n\t\t\tconst { ownerDocument } = node;\n\n\t\t\t// If focus disappears due to there being no blocks, move focus to\n\t\t\t// the writing flow wrapper.\n\t\t\tif (\n\t\t\t\t! event.relatedTarget &&\n\t\t\t\townerDocument.activeElement === ownerDocument.body &&\n\t\t\t\tgetBlockCount() === 0\n\t\t\t) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t}\n\n\t\t// When tabbing back to an element in block list, this event handler prevents scrolling if the\n\t\t// focus capture divs (before/after) are outside of the viewport. (For example shift+tab back to a paragraph\n\t\t// when focus is on a sidebar element. This prevents the scrollable writing area from jumping either to the\n\t\t// top or bottom of the document.\n\t\t//\n\t\t// Note that it isn't possible to disable scrolling in the onFocus event. We need to intercept this\n\t\t// earlier in the keypress handler, and call focus( { preventScroll: true } ) instead.\n\t\t// https://developer.mozilla.org/en-US/docs/Web/API/HTMLOrForeignElement/focus#parameters\n\t\tfunction preventScrollOnTab( event ) {\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.target?.getAttribute( 'role' ) === 'region' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( container.current === event.target ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isShift = event.shiftKey;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\t\t\tconst target = focus.tabbable[ direction ]( event.target );\n\t\t\t// Only do something when the next tabbable is a focus capture div (before/after)\n\t\t\tif (\n\t\t\t\ttarget === focusCaptureBeforeRef.current ||\n\t\t\t\ttarget === focusCaptureAfterRef.current\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttarget.focus( { preventScroll: true } );\n\t\t\t}\n\t\t}\n\n\t\tconst { ownerDocument } = node;\n\t\tconst { defaultView } = ownerDocument;\n\t\tdefaultView.addEventListener( 'keydown', preventScrollOnTab );\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\tnode.addEventListener( 'focusout', onFocusOut );\n\t\treturn () => {\n\t\t\tdefaultView.removeEventListener( 'keydown', preventScrollOnTab );\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\tnode.removeEventListener( 'focusout', onFocusOut );\n\t\t};\n\t}, [] );\n\n\tconst mergedRefs = useMergeRefs( [ container, ref ] );\n\n\treturn [ before, mergedRefs, after ];\n}\n"]}
@@ -12,8 +12,6 @@ exports.withToolbarControls = exports.withDataAlign = void 0;
12
12
 
13
13
  var _element = require("@wordpress/element");
14
14
 
15
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
16
-
17
15
  var _classnames = _interopRequireDefault(require("classnames"));
18
16
 
19
17
  var _compose = require("@wordpress/compose");
@@ -70,9 +68,7 @@ const WIDE_ALIGNMENTS = ['wide', 'full'];
70
68
  * @return {string[]} Valid alignments.
71
69
  */
72
70
 
73
- function getValidAlignments(blockAlign) {
74
- let hasWideBlockSupport = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
75
- let hasWideEnabled = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
71
+ function getValidAlignments(blockAlign, hasWideBlockSupport = true, hasWideEnabled = true) {
76
72
  let validAlignments;
77
73
 
78
74
  if (Array.isArray(blockAlign)) {
@@ -100,10 +96,10 @@ function getValidAlignments(blockAlign) {
100
96
 
101
97
 
102
98
  function addAttribute(settings) {
103
- var _settings$attributes$, _settings$attributes;
99
+ var _settings$attributes$;
104
100
 
105
101
  // Allow blocks to specify their own attribute definition with default values if needed.
106
- if ('type' in ((_settings$attributes$ = (_settings$attributes = settings.attributes) === null || _settings$attributes === void 0 ? void 0 : _settings$attributes.align) !== null && _settings$attributes$ !== void 0 ? _settings$attributes$ : {})) {
102
+ if ('type' in ((_settings$attributes$ = settings.attributes?.align) !== null && _settings$attributes$ !== void 0 ? _settings$attributes$ : {})) {
107
103
  return settings;
108
104
  }
109
105
 
@@ -132,9 +128,10 @@ function addAttribute(settings) {
132
128
 
133
129
 
134
130
  const withToolbarControls = (0, _compose.createHigherOrderComponent)(BlockEdit => props => {
135
- const blockEdit = (0, _element.createElement)(BlockEdit, (0, _extends2.default)({
136
- key: "edit"
137
- }, props));
131
+ const blockEdit = (0, _element.createElement)(BlockEdit, {
132
+ key: "edit",
133
+ ...props
134
+ });
138
135
  const {
139
136
  name: blockName
140
137
  } = props; // Compute the block valid alignments by taking into account,
@@ -143,12 +140,9 @@ const withToolbarControls = (0, _compose.createHigherOrderComponent)(BlockEdit =
143
140
  // Slot.
144
141
 
145
142
  const blockAllowedAlignments = getValidAlignments((0, _blocks.getBlockSupport)(blockName, 'align'), (0, _blocks.hasBlockSupport)(blockName, 'alignWide', true));
146
- const validAlignments = (0, _useAvailableAlignments.default)(blockAllowedAlignments).map(_ref => {
147
- let {
148
- name
149
- } = _ref;
150
- return name;
151
- });
143
+ const validAlignments = (0, _useAvailableAlignments.default)(blockAllowedAlignments).map(({
144
+ name
145
+ }) => name);
152
146
  const blockEditingMode = (0, _blockEditingMode.useBlockEditingMode)();
153
147
 
154
148
  if (!validAlignments.length || blockEditingMode !== 'default') {
@@ -157,10 +151,8 @@ const withToolbarControls = (0, _compose.createHigherOrderComponent)(BlockEdit =
157
151
 
158
152
  const updateAlignment = nextAlign => {
159
153
  if (!nextAlign) {
160
- var _blockType$attributes, _blockType$attributes2;
161
-
162
154
  const blockType = (0, _blocks.getBlockType)(props.name);
163
- const blockDefaultAlign = blockType === null || blockType === void 0 ? void 0 : (_blockType$attributes = blockType.attributes) === null || _blockType$attributes === void 0 ? void 0 : (_blockType$attributes2 = _blockType$attributes.align) === null || _blockType$attributes2 === void 0 ? void 0 : _blockType$attributes2.default;
155
+ const blockDefaultAlign = blockType?.attributes?.align?.default;
164
156
 
165
157
  if (blockDefaultAlign) {
166
158
  nextAlign = '';
@@ -203,7 +195,8 @@ const withDataAlign = (0, _compose.createHigherOrderComponent)(BlockListBlock =>
203
195
  // effort to validate or assign its value.
204
196
 
205
197
  if (align === undefined) {
206
- return (0, _element.createElement)(BlockListBlock, props);
198
+ return (0, _element.createElement)(BlockListBlock, { ...props
199
+ });
207
200
  }
208
201
 
209
202
  let wrapperProps = props.wrapperProps;
@@ -214,9 +207,9 @@ const withDataAlign = (0, _compose.createHigherOrderComponent)(BlockListBlock =>
214
207
  };
215
208
  }
216
209
 
217
- return (0, _element.createElement)(BlockListBlock, (0, _extends2.default)({}, props, {
210
+ return (0, _element.createElement)(BlockListBlock, { ...props,
218
211
  wrapperProps: wrapperProps
219
- }));
212
+ });
220
213
  }, 'withDataAlign');
221
214
  /**
222
215
  * Override props assigned to save component to inject alignment class name if
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/hooks/align.js"],"names":["ALL_ALIGNMENTS","WIDE_ALIGNMENTS","getValidAlignments","blockAlign","hasWideBlockSupport","hasWideEnabled","validAlignments","Array","isArray","filter","value","includes","alignment","addAttribute","settings","attributes","align","type","enum","withToolbarControls","BlockEdit","props","blockEdit","name","blockName","blockAllowedAlignments","map","blockEditingMode","length","updateAlignment","nextAlign","blockType","blockDefaultAlign","default","setAttributes","withDataAlign","BlockListBlock","undefined","wrapperProps","some","addAssignedAlign","isAlignValid","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { BlockControls, BlockAlignmentControl } from '../components';\nimport useAvailableAlignments from '../components/block-alignment-control/use-available-alignments';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\n/**\n * An array which includes all possible valid alignments,\n * used to validate if an alignment is valid or not.\n *\n * @constant\n * @type {string[]}\n */\nconst ALL_ALIGNMENTS = [ 'left', 'center', 'right', 'wide', 'full' ];\n\n/**\n * An array which includes all wide alignments.\n * In order for this alignments to be valid they need to be supported by the block,\n * and by the theme.\n *\n * @constant\n * @type {string[]}\n */\nconst WIDE_ALIGNMENTS = [ 'wide', 'full' ];\n\n/**\n * Returns the valid alignments.\n * Takes into consideration the aligns supported by a block, if the block supports wide controls or not and if theme supports wide controls or not.\n * Exported just for testing purposes, not exported outside the module.\n *\n * @param {?boolean|string[]} blockAlign Aligns supported by the block.\n * @param {?boolean} hasWideBlockSupport True if block supports wide alignments. And False otherwise.\n * @param {?boolean} hasWideEnabled True if theme supports wide alignments. And False otherwise.\n *\n * @return {string[]} Valid alignments.\n */\nexport function getValidAlignments(\n\tblockAlign,\n\thasWideBlockSupport = true,\n\thasWideEnabled = true\n) {\n\tlet validAlignments;\n\tif ( Array.isArray( blockAlign ) ) {\n\t\tvalidAlignments = ALL_ALIGNMENTS.filter( ( value ) =>\n\t\t\tblockAlign.includes( value )\n\t\t);\n\t} else if ( blockAlign === true ) {\n\t\t// `true` includes all alignments...\n\t\tvalidAlignments = [ ...ALL_ALIGNMENTS ];\n\t} else {\n\t\tvalidAlignments = [];\n\t}\n\n\tif (\n\t\t! hasWideEnabled ||\n\t\t( blockAlign === true && ! hasWideBlockSupport )\n\t) {\n\t\treturn validAlignments.filter(\n\t\t\t( alignment ) => ! WIDE_ALIGNMENTS.includes( alignment )\n\t\t);\n\t}\n\n\treturn validAlignments;\n}\n\n/**\n * Filters registered block settings, extending attributes to include `align`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( 'type' in ( settings.attributes?.align ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'align' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\t// Allow for '' since it is used by updateAlignment function\n\t\t\t\t// in withToolbarControls for special cases with defined default values.\n\t\t\t\tenum: [ ...ALL_ALIGNMENTS, '' ],\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include new toolbar controls for block\n * alignment, if block defines support.\n *\n * @param {Function} BlockEdit Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withToolbarControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst blockEdit = <BlockEdit key=\"edit\" { ...props } />;\n\t\tconst { name: blockName } = props;\n\t\t// Compute the block valid alignments by taking into account,\n\t\t// if the theme supports wide alignments or not and the layout's\n\t\t// availble alignments. We do that for conditionally rendering\n\t\t// Slot.\n\t\tconst blockAllowedAlignments = getValidAlignments(\n\t\t\tgetBlockSupport( blockName, 'align' ),\n\t\t\thasBlockSupport( blockName, 'alignWide', true )\n\t\t);\n\n\t\tconst validAlignments = useAvailableAlignments(\n\t\t\tblockAllowedAlignments\n\t\t).map( ( { name } ) => name );\n\t\tconst blockEditingMode = useBlockEditingMode();\n\t\tif ( ! validAlignments.length || blockEditingMode !== 'default' ) {\n\t\t\treturn blockEdit;\n\t\t}\n\n\t\tconst updateAlignment = ( nextAlign ) => {\n\t\t\tif ( ! nextAlign ) {\n\t\t\t\tconst blockType = getBlockType( props.name );\n\t\t\t\tconst blockDefaultAlign = blockType?.attributes?.align?.default;\n\t\t\t\tif ( blockDefaultAlign ) {\n\t\t\t\t\tnextAlign = '';\n\t\t\t\t}\n\t\t\t}\n\t\t\tprops.setAttributes( { align: nextAlign } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\tvalue={ props.attributes.align }\n\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\tcontrols={ validAlignments }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ blockEdit }\n\t\t\t</>\n\t\t);\n\t},\n\t'withToolbarControls'\n);\n\n/**\n * Override the default block element to add alignment wrapper props.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withDataAlign = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst { name, attributes } = props;\n\t\tconst { align } = attributes;\n\t\tconst blockAllowedAlignments = getValidAlignments(\n\t\t\tgetBlockSupport( name, 'align' ),\n\t\t\thasBlockSupport( name, 'alignWide', true )\n\t\t);\n\t\tconst validAlignments = useAvailableAlignments(\n\t\t\tblockAllowedAlignments\n\t\t);\n\n\t\t// If an alignment is not assigned, there's no need to go through the\n\t\t// effort to validate or assign its value.\n\t\tif ( align === undefined ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\tlet wrapperProps = props.wrapperProps;\n\t\tif (\n\t\t\tvalidAlignments.some( ( alignment ) => alignment.name === align )\n\t\t) {\n\t\t\twrapperProps = { ...wrapperProps, 'data-align': align };\n\t\t}\n\n\t\treturn <BlockListBlock { ...props } wrapperProps={ wrapperProps } />;\n\t},\n\t'withDataAlign'\n);\n\n/**\n * Override props assigned to save component to inject alignment class name if\n * block supports it.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addAssignedAlign( props, blockType, attributes ) {\n\tconst { align } = attributes;\n\tconst blockAlign = getBlockSupport( blockType, 'align' );\n\tconst hasWideBlockSupport = hasBlockSupport( blockType, 'alignWide', true );\n\n\t// Compute valid alignments without taking into account if\n\t// the theme supports wide alignments or not.\n\t// This way changing themes does not impact the block save.\n\tconst isAlignValid = getValidAlignments(\n\t\tblockAlign,\n\t\thasWideBlockSupport\n\t).includes( align );\n\tif ( isAlignValid ) {\n\t\tprops.className = classnames( `align${ align }`, props.className );\n\t}\n\n\treturn props;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/align/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/align/with-data-align',\n\twithDataAlign\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/align/with-toolbar-controls',\n\twithToolbarControls\n);\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/align/addAssignedAlign',\n\taddAssignedAlign\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/hooks/align.js"],"names":["ALL_ALIGNMENTS","WIDE_ALIGNMENTS","getValidAlignments","blockAlign","hasWideBlockSupport","hasWideEnabled","validAlignments","Array","isArray","filter","value","includes","alignment","addAttribute","settings","attributes","align","type","enum","withToolbarControls","BlockEdit","props","blockEdit","name","blockName","blockAllowedAlignments","map","blockEditingMode","length","updateAlignment","nextAlign","blockType","blockDefaultAlign","default","setAttributes","withDataAlign","BlockListBlock","undefined","wrapperProps","some","addAssignedAlign","isAlignValid","className"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { BlockControls, BlockAlignmentControl } from '../components';\nimport useAvailableAlignments from '../components/block-alignment-control/use-available-alignments';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\n/**\n * An array which includes all possible valid alignments,\n * used to validate if an alignment is valid or not.\n *\n * @constant\n * @type {string[]}\n */\nconst ALL_ALIGNMENTS = [ 'left', 'center', 'right', 'wide', 'full' ];\n\n/**\n * An array which includes all wide alignments.\n * In order for this alignments to be valid they need to be supported by the block,\n * and by the theme.\n *\n * @constant\n * @type {string[]}\n */\nconst WIDE_ALIGNMENTS = [ 'wide', 'full' ];\n\n/**\n * Returns the valid alignments.\n * Takes into consideration the aligns supported by a block, if the block supports wide controls or not and if theme supports wide controls or not.\n * Exported just for testing purposes, not exported outside the module.\n *\n * @param {?boolean|string[]} blockAlign Aligns supported by the block.\n * @param {?boolean} hasWideBlockSupport True if block supports wide alignments. And False otherwise.\n * @param {?boolean} hasWideEnabled True if theme supports wide alignments. And False otherwise.\n *\n * @return {string[]} Valid alignments.\n */\nexport function getValidAlignments(\n\tblockAlign,\n\thasWideBlockSupport = true,\n\thasWideEnabled = true\n) {\n\tlet validAlignments;\n\tif ( Array.isArray( blockAlign ) ) {\n\t\tvalidAlignments = ALL_ALIGNMENTS.filter( ( value ) =>\n\t\t\tblockAlign.includes( value )\n\t\t);\n\t} else if ( blockAlign === true ) {\n\t\t// `true` includes all alignments...\n\t\tvalidAlignments = [ ...ALL_ALIGNMENTS ];\n\t} else {\n\t\tvalidAlignments = [];\n\t}\n\n\tif (\n\t\t! hasWideEnabled ||\n\t\t( blockAlign === true && ! hasWideBlockSupport )\n\t) {\n\t\treturn validAlignments.filter(\n\t\t\t( alignment ) => ! WIDE_ALIGNMENTS.includes( alignment )\n\t\t);\n\t}\n\n\treturn validAlignments;\n}\n\n/**\n * Filters registered block settings, extending attributes to include `align`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( 'type' in ( settings.attributes?.align ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'align' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\talign: {\n\t\t\t\ttype: 'string',\n\t\t\t\t// Allow for '' since it is used by updateAlignment function\n\t\t\t\t// in withToolbarControls for special cases with defined default values.\n\t\t\t\tenum: [ ...ALL_ALIGNMENTS, '' ],\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include new toolbar controls for block\n * alignment, if block defines support.\n *\n * @param {Function} BlockEdit Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withToolbarControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst blockEdit = <BlockEdit key=\"edit\" { ...props } />;\n\t\tconst { name: blockName } = props;\n\t\t// Compute the block valid alignments by taking into account,\n\t\t// if the theme supports wide alignments or not and the layout's\n\t\t// availble alignments. We do that for conditionally rendering\n\t\t// Slot.\n\t\tconst blockAllowedAlignments = getValidAlignments(\n\t\t\tgetBlockSupport( blockName, 'align' ),\n\t\t\thasBlockSupport( blockName, 'alignWide', true )\n\t\t);\n\n\t\tconst validAlignments = useAvailableAlignments(\n\t\t\tblockAllowedAlignments\n\t\t).map( ( { name } ) => name );\n\t\tconst blockEditingMode = useBlockEditingMode();\n\t\tif ( ! validAlignments.length || blockEditingMode !== 'default' ) {\n\t\t\treturn blockEdit;\n\t\t}\n\n\t\tconst updateAlignment = ( nextAlign ) => {\n\t\t\tif ( ! nextAlign ) {\n\t\t\t\tconst blockType = getBlockType( props.name );\n\t\t\t\tconst blockDefaultAlign = blockType?.attributes?.align?.default;\n\t\t\t\tif ( blockDefaultAlign ) {\n\t\t\t\t\tnextAlign = '';\n\t\t\t\t}\n\t\t\t}\n\t\t\tprops.setAttributes( { align: nextAlign } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\tvalue={ props.attributes.align }\n\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\tcontrols={ validAlignments }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ blockEdit }\n\t\t\t</>\n\t\t);\n\t},\n\t'withToolbarControls'\n);\n\n/**\n * Override the default block element to add alignment wrapper props.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withDataAlign = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst { name, attributes } = props;\n\t\tconst { align } = attributes;\n\t\tconst blockAllowedAlignments = getValidAlignments(\n\t\t\tgetBlockSupport( name, 'align' ),\n\t\t\thasBlockSupport( name, 'alignWide', true )\n\t\t);\n\t\tconst validAlignments = useAvailableAlignments(\n\t\t\tblockAllowedAlignments\n\t\t);\n\n\t\t// If an alignment is not assigned, there's no need to go through the\n\t\t// effort to validate or assign its value.\n\t\tif ( align === undefined ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\tlet wrapperProps = props.wrapperProps;\n\t\tif (\n\t\t\tvalidAlignments.some( ( alignment ) => alignment.name === align )\n\t\t) {\n\t\t\twrapperProps = { ...wrapperProps, 'data-align': align };\n\t\t}\n\n\t\treturn <BlockListBlock { ...props } wrapperProps={ wrapperProps } />;\n\t},\n\t'withDataAlign'\n);\n\n/**\n * Override props assigned to save component to inject alignment class name if\n * block supports it.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addAssignedAlign( props, blockType, attributes ) {\n\tconst { align } = attributes;\n\tconst blockAlign = getBlockSupport( blockType, 'align' );\n\tconst hasWideBlockSupport = hasBlockSupport( blockType, 'alignWide', true );\n\n\t// Compute valid alignments without taking into account if\n\t// the theme supports wide alignments or not.\n\t// This way changing themes does not impact the block save.\n\tconst isAlignValid = getValidAlignments(\n\t\tblockAlign,\n\t\thasWideBlockSupport\n\t).includes( align );\n\tif ( isAlignValid ) {\n\t\tprops.className = classnames( `align${ align }`, props.className );\n\t}\n\n\treturn props;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/align/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/align/with-data-align',\n\twithDataAlign\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/align/with-toolbar-controls',\n\twithToolbarControls\n);\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/align/addAssignedAlign',\n\taddAssignedAlign\n);\n"]}
@@ -21,6 +21,8 @@ var _compose = require("@wordpress/compose");
21
21
 
22
22
  var _components2 = require("../components");
23
23
 
24
+ var _blockEditingMode = require("../components/block-editing-mode");
25
+
24
26
  /**
25
27
  * WordPress dependencies
26
28
  */
@@ -51,10 +53,10 @@ const ANCHOR_SCHEMA = {
51
53
  */
52
54
 
53
55
  function addAttribute(settings) {
54
- var _settings$attributes$, _settings$attributes;
56
+ var _settings$attributes$;
55
57
 
56
58
  // Allow blocks to specify their own attribute definition with default values if needed.
57
- if ('type' in ((_settings$attributes$ = (_settings$attributes = settings.attributes) === null || _settings$attributes === void 0 ? void 0 : _settings$attributes.anchor) !== null && _settings$attributes$ !== void 0 ? _settings$attributes$ : {})) {
59
+ if ('type' in ((_settings$attributes$ = settings.attributes?.anchor) !== null && _settings$attributes$ !== void 0 ? _settings$attributes$ : {})) {
58
60
  return settings;
59
61
  }
60
62
 
@@ -80,6 +82,7 @@ function addAttribute(settings) {
80
82
  const withInspectorControl = (0, _compose.createHigherOrderComponent)(BlockEdit => {
81
83
  return props => {
82
84
  const hasAnchor = (0, _blocks.hasBlockSupport)(props.name, 'anchor');
85
+ const blockEditingMode = (0, _blockEditingMode.useBlockEditingMode)();
83
86
 
84
87
  if (hasAnchor && props.isSelected) {
85
88
  const isWeb = _element.Platform.OS === 'web';
@@ -101,14 +104,16 @@ const withInspectorControl = (0, _compose.createHigherOrderComponent)(BlockEdit
101
104
  autoCapitalize: "none",
102
105
  autoComplete: "off"
103
106
  });
104
- return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(BlockEdit, props), isWeb && (0, _element.createElement)(_components2.InspectorControls, {
107
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(BlockEdit, { ...props
108
+ }), isWeb && blockEditingMode === 'default' && (0, _element.createElement)(_components2.InspectorControls, {
105
109
  group: "advanced"
106
110
  }, textControl), !isWeb && props.name === 'core/heading' && (0, _element.createElement)(_components2.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
107
111
  title: (0, _i18n.__)('Heading settings')
108
112
  }, textControl)));
109
113
  }
110
114
 
111
- return (0, _element.createElement)(BlockEdit, props);
115
+ return (0, _element.createElement)(BlockEdit, { ...props
116
+ });
112
117
  };
113
118
  }, 'withInspectorControl');
114
119
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/hooks/anchor.js"],"names":["ANCHOR_REGEX","ANCHOR_SCHEMA","type","source","attribute","selector","addAttribute","settings","attributes","anchor","withInspectorControl","BlockEdit","props","hasAnchor","name","isSelected","isWeb","Platform","OS","textControl","nextValue","replace","setAttributes","addSaveProps","extraProps","blockType","id"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { PanelBody, TextControl, ExternalLink } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { InspectorControls } from '../components';\n\n/**\n * Regular expression matching invalid anchor characters for replacement.\n *\n * @type {RegExp}\n */\nconst ANCHOR_REGEX = /[\\s#]/g;\n\nconst ANCHOR_SCHEMA = {\n\ttype: 'string',\n\tsource: 'attribute',\n\tattribute: 'id',\n\tselector: '*',\n};\n\n/**\n * Filters registered block settings, extending attributes with anchor using ID\n * of the first node.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( 'type' in ( settings.attributes?.anchor ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'anchor' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tanchor: ANCHOR_SCHEMA,\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include a new block inspector control for\n * assigning the anchor ID, if block supports anchor.\n *\n * @param {WPComponent} BlockEdit Original component.\n *\n * @return {WPComponent} Wrapped component.\n */\nexport const withInspectorControl = createHigherOrderComponent(\n\t( BlockEdit ) => {\n\t\treturn ( props ) => {\n\t\t\tconst hasAnchor = hasBlockSupport( props.name, 'anchor' );\n\n\t\t\tif ( hasAnchor && props.isSelected ) {\n\t\t\t\tconst isWeb = Platform.OS === 'web';\n\t\t\t\tconst textControl = (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tclassName=\"html-anchor-control\"\n\t\t\t\t\t\tlabel={ __( 'HTML anchor' ) }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.'\n\t\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t\t{ isWeb && (\n\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-jumps/'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Learn more about anchors' ) }\n\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ props.attributes.anchor || '' }\n\t\t\t\t\t\tplaceholder={ ! isWeb ? __( 'Add an anchor' ) : null }\n\t\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\t\tnextValue = nextValue.replace( ANCHOR_REGEX, '-' );\n\t\t\t\t\t\t\tprops.setAttributes( {\n\t\t\t\t\t\t\t\tanchor: nextValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t\t\t{ isWeb && (\n\t\t\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t\t\t{ textControl }\n\t\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t * We plan to remove scoping anchors to 'core/heading' to support\n\t\t\t\t\t\t * anchors for all eligble blocks. Additionally we plan to explore\n\t\t\t\t\t\t * leveraging InspectorAdvancedControls instead of a custom\n\t\t\t\t\t\t * PanelBody title. https://github.com/WordPress/gutenberg/issues/28363\n\t\t\t\t\t\t */ }\n\t\t\t\t\t\t{ ! isWeb && props.name === 'core/heading' && (\n\t\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t\t<PanelBody title={ __( 'Heading settings' ) }>\n\t\t\t\t\t\t\t\t\t{ textControl }\n\t\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn <BlockEdit { ...props } />;\n\t\t};\n\t},\n\t'withInspectorControl'\n);\n\n/**\n * Override props assigned to save component to inject anchor ID, if block\n * supports anchor. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Current block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( extraProps, blockType, attributes ) {\n\tif ( hasBlockSupport( blockType, 'anchor' ) ) {\n\t\textraProps.id = attributes.anchor === '' ? null : attributes.anchor;\n\t}\n\n\treturn extraProps;\n}\n\naddFilter( 'blocks.registerBlockType', 'core/anchor/attribute', addAttribute );\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/anchor/with-inspector-control',\n\twithInspectorControl\n);\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/anchor/save-props',\n\taddSaveProps\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/hooks/anchor.js"],"names":["ANCHOR_REGEX","ANCHOR_SCHEMA","type","source","attribute","selector","addAttribute","settings","attributes","anchor","withInspectorControl","BlockEdit","props","hasAnchor","name","blockEditingMode","isSelected","isWeb","Platform","OS","textControl","nextValue","replace","setAttributes","addSaveProps","extraProps","blockType","id"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { PanelBody, TextControl, ExternalLink } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { InspectorControls } from '../components';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\n/**\n * Regular expression matching invalid anchor characters for replacement.\n *\n * @type {RegExp}\n */\nconst ANCHOR_REGEX = /[\\s#]/g;\n\nconst ANCHOR_SCHEMA = {\n\ttype: 'string',\n\tsource: 'attribute',\n\tattribute: 'id',\n\tselector: '*',\n};\n\n/**\n * Filters registered block settings, extending attributes with anchor using ID\n * of the first node.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( 'type' in ( settings.attributes?.anchor ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'anchor' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tanchor: ANCHOR_SCHEMA,\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include a new block inspector control for\n * assigning the anchor ID, if block supports anchor.\n *\n * @param {WPComponent} BlockEdit Original component.\n *\n * @return {WPComponent} Wrapped component.\n */\nexport const withInspectorControl = createHigherOrderComponent(\n\t( BlockEdit ) => {\n\t\treturn ( props ) => {\n\t\t\tconst hasAnchor = hasBlockSupport( props.name, 'anchor' );\n\t\t\tconst blockEditingMode = useBlockEditingMode();\n\n\t\t\tif ( hasAnchor && props.isSelected ) {\n\t\t\t\tconst isWeb = Platform.OS === 'web';\n\t\t\t\tconst textControl = (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tclassName=\"html-anchor-control\"\n\t\t\t\t\t\tlabel={ __( 'HTML anchor' ) }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Enter a word or two — without spaces — to make a unique web address just for this block, called an “anchor.” Then, you’ll be able to link directly to this section of your page.'\n\t\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t\t{ isWeb && (\n\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-jumps/'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Learn more about anchors' ) }\n\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ props.attributes.anchor || '' }\n\t\t\t\t\t\tplaceholder={ ! isWeb ? __( 'Add an anchor' ) : null }\n\t\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\t\tnextValue = nextValue.replace( ANCHOR_REGEX, '-' );\n\t\t\t\t\t\t\tprops.setAttributes( {\n\t\t\t\t\t\t\t\tanchor: nextValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t/>\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockEdit { ...props } />\n\t\t\t\t\t\t{ isWeb && blockEditingMode === 'default' && (\n\t\t\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t\t\t{ textControl }\n\t\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t * We plan to remove scoping anchors to 'core/heading' to support\n\t\t\t\t\t\t * anchors for all eligble blocks. Additionally we plan to explore\n\t\t\t\t\t\t * leveraging InspectorAdvancedControls instead of a custom\n\t\t\t\t\t\t * PanelBody title. https://github.com/WordPress/gutenberg/issues/28363\n\t\t\t\t\t\t */ }\n\t\t\t\t\t\t{ ! isWeb && props.name === 'core/heading' && (\n\t\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t\t<PanelBody title={ __( 'Heading settings' ) }>\n\t\t\t\t\t\t\t\t\t{ textControl }\n\t\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn <BlockEdit { ...props } />;\n\t\t};\n\t},\n\t'withInspectorControl'\n);\n\n/**\n * Override props assigned to save component to inject anchor ID, if block\n * supports anchor. This is only applied if the block's save result is an\n * element and not a markup string.\n *\n * @param {Object} extraProps Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Current block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( extraProps, blockType, attributes ) {\n\tif ( hasBlockSupport( blockType, 'anchor' ) ) {\n\t\textraProps.id = attributes.anchor === '' ? null : attributes.anchor;\n\t}\n\n\treturn extraProps;\n}\n\naddFilter( 'blocks.registerBlockType', 'core/anchor/attribute', addAttribute );\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/anchor/with-inspector-control',\n\twithInspectorControl\n);\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/anchor/save-props',\n\taddSaveProps\n);\n"]}
@@ -29,10 +29,8 @@ const ARIA_LABEL_SCHEMA = {
29
29
  */
30
30
 
31
31
  function addAttribute(settings) {
32
- var _settings$attributes, _settings$attributes$;
33
-
34
32
  // Allow blocks to specify their own attribute definition with default values if needed.
35
- if (settings !== null && settings !== void 0 && (_settings$attributes = settings.attributes) !== null && _settings$attributes !== void 0 && (_settings$attributes$ = _settings$attributes.ariaLabel) !== null && _settings$attributes$ !== void 0 && _settings$attributes$.type) {
33
+ if (settings?.attributes?.ariaLabel?.type) {
36
34
  return settings;
37
35
  }
38
36