@wordpress/block-editor 12.25.0 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1876) hide show
  1. package/CHANGELOG.md +15 -3
  2. package/README.md +7 -1
  3. package/build/autocompleters/block.js +7 -6
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/autocompleters/link.js +10 -8
  6. package/build/autocompleters/link.js.map +1 -1
  7. package/build/components/alignment-control/index.js +3 -3
  8. package/build/components/alignment-control/index.js.map +1 -1
  9. package/build/components/alignment-control/ui.js +2 -2
  10. package/build/components/alignment-control/ui.js.map +1 -1
  11. package/build/components/audio-player/audio-url-parser.native.js +24 -0
  12. package/build/components/audio-player/audio-url-parser.native.js.map +1 -0
  13. package/build/components/audio-player/index.native.js +174 -0
  14. package/build/components/audio-player/index.native.js.map +1 -0
  15. package/build/components/autocomplete/index.js +3 -4
  16. package/build/components/autocomplete/index.js.map +1 -1
  17. package/build/components/block-actions/index.js +4 -2
  18. package/build/components/block-actions/index.js.map +1 -1
  19. package/build/components/block-alignment-control/index.js +3 -3
  20. package/build/components/block-alignment-control/index.js.map +1 -1
  21. package/build/components/block-alignment-control/ui.js +34 -31
  22. package/build/components/block-alignment-control/ui.js.map +1 -1
  23. package/build/components/block-alignment-control/ui.native.js +2 -2
  24. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  25. package/build/components/block-alignment-matrix-control/index.js +5 -5
  26. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  27. package/build/components/block-bindings-toolbar-indicator/index.js +92 -11
  28. package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  29. package/build/components/block-breadcrumb/index.js +38 -34
  30. package/build/components/block-breadcrumb/index.js.map +1 -1
  31. package/build/components/block-canvas/index.js +36 -31
  32. package/build/components/block-canvas/index.js.map +1 -1
  33. package/build/components/block-caption/index.native.js +15 -14
  34. package/build/components/block-caption/index.native.js.map +1 -1
  35. package/build/components/block-card/index.js +33 -28
  36. package/build/components/block-card/index.js.map +1 -1
  37. package/build/components/block-compare/block-view.js +27 -18
  38. package/build/components/block-compare/block-view.js.map +1 -1
  39. package/build/components/block-compare/index.js +25 -24
  40. package/build/components/block-compare/index.js.map +1 -1
  41. package/build/components/block-context/index.js +3 -4
  42. package/build/components/block-context/index.js.map +1 -1
  43. package/build/components/block-controls/fill.js +22 -16
  44. package/build/components/block-controls/fill.js.map +1 -1
  45. package/build/components/block-controls/index.js +3 -3
  46. package/build/components/block-controls/index.js.map +1 -1
  47. package/build/components/block-controls/slot.js +6 -4
  48. package/build/components/block-controls/slot.js.map +1 -1
  49. package/build/components/block-controls/slot.native.js +12 -9
  50. package/build/components/block-controls/slot.native.js.map +1 -1
  51. package/build/components/block-controls/use-has-block-controls.js +1 -1
  52. package/build/components/block-controls/use-has-block-controls.js.map +1 -1
  53. package/build/components/block-draggable/draggable-chip.js +27 -19
  54. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  55. package/build/components/block-draggable/draggable-chip.native.js +9 -8
  56. package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
  57. package/build/components/block-draggable/dropping-insertion-point.native.js +3 -4
  58. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  59. package/build/components/block-draggable/index.js +14 -13
  60. package/build/components/block-draggable/index.js.map +1 -1
  61. package/build/components/block-draggable/index.native.js +37 -30
  62. package/build/components/block-draggable/index.native.js.map +1 -1
  63. package/build/components/block-edit/edit.js +7 -8
  64. package/build/components/block-edit/edit.js.map +1 -1
  65. package/build/components/block-edit/edit.native.js +3 -4
  66. package/build/components/block-edit/edit.native.js.map +1 -1
  67. package/build/components/block-edit/index.js +17 -9
  68. package/build/components/block-edit/index.js.map +1 -1
  69. package/build/components/block-edit/multiple-usage-warning.js +47 -0
  70. package/build/components/block-edit/multiple-usage-warning.js.map +1 -0
  71. package/build/components/block-edit-visually-button/index.js +9 -6
  72. package/build/components/block-edit-visually-button/index.js.map +1 -1
  73. package/build/components/block-full-height-alignment-control/index.js +2 -2
  74. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  75. package/build/components/block-heading-level-dropdown/heading-level-icon.js +3 -5
  76. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  77. package/build/components/block-heading-level-dropdown/index.js +4 -4
  78. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  79. package/build/components/block-heading-level-dropdown/index.native.js +4 -4
  80. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  81. package/build/components/block-icon/index.js +8 -7
  82. package/build/components/block-icon/index.js.map +1 -1
  83. package/build/components/block-icon/index.native.js +6 -5
  84. package/build/components/block-icon/index.native.js.map +1 -1
  85. package/build/components/block-info-slot-fill/index.js +3 -3
  86. package/build/components/block-info-slot-fill/index.js.map +1 -1
  87. package/build/components/block-inspector/index.js +103 -89
  88. package/build/components/block-inspector/index.js.map +1 -1
  89. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  90. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  91. package/build/components/block-list/block-crash-warning.js +5 -4
  92. package/build/components/block-list/block-crash-warning.js.map +1 -1
  93. package/build/components/block-list/block-crash-warning.native.js +2 -2
  94. package/build/components/block-list/block-crash-warning.native.js.map +1 -1
  95. package/build/components/block-list/block-html.js +2 -2
  96. package/build/components/block-list/block-html.js.map +1 -1
  97. package/build/components/block-list/block-invalid-warning.js +25 -21
  98. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  99. package/build/components/block-list/block-invalid-warning.native.js +12 -11
  100. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  101. package/build/components/block-list/block-list-item-cell.native.js +5 -4
  102. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  103. package/build/components/block-list/block-list-item.native.js +29 -28
  104. package/build/components/block-list/block-list-item.native.js.map +1 -1
  105. package/build/components/block-list/block-outline.native.js +2 -2
  106. package/build/components/block-list/block-outline.native.js.map +1 -1
  107. package/build/components/block-list/block-selection-button.native.js +35 -33
  108. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  109. package/build/components/block-list/block.js +110 -65
  110. package/build/components/block-list/block.js.map +1 -1
  111. package/build/components/block-list/block.native.js +65 -56
  112. package/build/components/block-list/block.native.js.map +1 -1
  113. package/build/components/block-list/grid-item.native.js +5 -4
  114. package/build/components/block-list/grid-item.native.js.map +1 -1
  115. package/build/components/block-list/index.js +40 -36
  116. package/build/components/block-list/index.js.map +1 -1
  117. package/build/components/block-list/index.native.js +97 -85
  118. package/build/components/block-list/index.native.js.map +1 -1
  119. package/build/components/block-list/insertion-point.native.js +12 -10
  120. package/build/components/block-list/insertion-point.native.js.map +1 -1
  121. package/build/components/block-list/layout.js +7 -3
  122. package/build/components/block-list/layout.js.map +1 -1
  123. package/build/components/block-list/subdirectory-icon.js +8 -7
  124. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  125. package/build/components/block-list/use-block-props/index.js +6 -3
  126. package/build/components/block-list/use-block-props/index.js.map +1 -1
  127. package/build/components/block-list/use-block-props/use-scroll-into-view.js +44 -0
  128. package/build/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
  129. package/build/components/block-list-appender/index.js +11 -10
  130. package/build/components/block-list-appender/index.js.map +1 -1
  131. package/build/components/block-list-appender/index.native.js +4 -4
  132. package/build/components/block-list-appender/index.native.js.map +1 -1
  133. package/build/components/block-lock/menu-item.js +13 -10
  134. package/build/components/block-lock/menu-item.js.map +1 -1
  135. package/build/components/block-lock/modal.js +107 -90
  136. package/build/components/block-lock/modal.js.map +1 -1
  137. package/build/components/block-lock/toolbar.js +18 -15
  138. package/build/components/block-lock/toolbar.js.map +1 -1
  139. package/build/components/block-media-update-progress/index.native.js +17 -15
  140. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  141. package/build/components/block-mover/button.js +20 -17
  142. package/build/components/block-mover/button.js.map +1 -1
  143. package/build/components/block-mover/index.js +36 -29
  144. package/build/components/block-mover/index.js.map +1 -1
  145. package/build/components/block-mover/index.native.js +29 -27
  146. package/build/components/block-mover/index.native.js.map +1 -1
  147. package/build/components/block-navigation/dropdown.js +11 -9
  148. package/build/components/block-navigation/dropdown.js.map +1 -1
  149. package/build/components/block-parent-selector/index.js +14 -15
  150. package/build/components/block-parent-selector/index.js.map +1 -1
  151. package/build/components/block-pattern-setup/index.js +88 -76
  152. package/build/components/block-pattern-setup/index.js.map +1 -1
  153. package/build/components/block-pattern-setup/setup-toolbar.js +50 -45
  154. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  155. package/build/components/block-patterns-list/index.js +119 -88
  156. package/build/components/block-patterns-list/index.js.map +1 -1
  157. package/build/components/block-patterns-paging/index.js +70 -52
  158. package/build/components/block-patterns-paging/index.js.map +1 -1
  159. package/build/components/block-popover/cover.js +19 -13
  160. package/build/components/block-popover/cover.js.map +1 -1
  161. package/build/components/block-popover/drop-zone.js +11 -10
  162. package/build/components/block-popover/drop-zone.js.map +1 -1
  163. package/build/components/block-popover/inbetween.js +10 -9
  164. package/build/components/block-popover/inbetween.js.map +1 -1
  165. package/build/components/block-popover/index.js +28 -8
  166. package/build/components/block-popover/index.js.map +1 -1
  167. package/build/components/block-preview/auto.js +53 -47
  168. package/build/components/block-preview/auto.js.map +1 -1
  169. package/build/components/block-preview/index.js +18 -16
  170. package/build/components/block-preview/index.js.map +1 -1
  171. package/build/components/block-quick-navigation/index.js +24 -16
  172. package/build/components/block-quick-navigation/index.js.map +1 -1
  173. package/build/components/block-removal-warning-modal/index.js +18 -12
  174. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  175. package/build/components/block-rename/modal.js +44 -37
  176. package/build/components/block-rename/modal.js.map +1 -1
  177. package/build/components/block-rename/rename-control.js +24 -21
  178. package/build/components/block-rename/rename-control.js.map +1 -1
  179. package/build/components/block-selection-clearer/index.js +2 -2
  180. package/build/components/block-selection-clearer/index.js.map +1 -1
  181. package/build/components/block-settings/button.native.js +13 -9
  182. package/build/components/block-settings/button.native.js.map +1 -1
  183. package/build/components/block-settings/container.native.js +40 -28
  184. package/build/components/block-settings/container.native.js.map +1 -1
  185. package/build/components/block-settings-menu/block-html-convert-button.js +5 -4
  186. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  187. package/build/components/block-settings-menu/block-mode-toggle.js +5 -4
  188. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  189. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +7 -6
  190. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  191. package/build/components/block-settings-menu/block-settings-dropdown.js +99 -78
  192. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  193. package/build/components/block-settings-menu/index.js +10 -6
  194. package/build/components/block-settings-menu/index.js.map +1 -1
  195. package/build/components/block-settings-menu-controls/index.js +37 -29
  196. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  197. package/build/components/block-styles/index.js +44 -39
  198. package/build/components/block-styles/index.js.map +1 -1
  199. package/build/components/block-styles/index.native.js +7 -7
  200. package/build/components/block-styles/index.native.js.map +1 -1
  201. package/build/components/block-styles/menu-items.js +17 -14
  202. package/build/components/block-styles/menu-items.js.map +1 -1
  203. package/build/components/block-styles/preview-panel.js +2 -2
  204. package/build/components/block-styles/preview-panel.js.map +1 -1
  205. package/build/components/block-styles/preview.native.js +24 -21
  206. package/build/components/block-styles/preview.native.js.map +1 -1
  207. package/build/components/block-switcher/block-styles-menu.js +8 -7
  208. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  209. package/build/components/block-switcher/block-transformations-menu.js +32 -30
  210. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  211. package/build/components/block-switcher/block-transformations-menu.native.js +2 -2
  212. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  213. package/build/components/block-switcher/block-variation-transformations.js +19 -17
  214. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  215. package/build/components/block-switcher/index.js +85 -70
  216. package/build/components/block-switcher/index.js.map +1 -1
  217. package/build/components/block-switcher/pattern-transformations-menu.js +61 -51
  218. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  219. package/build/components/block-switcher/preview-block-popover.js +22 -17
  220. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  221. package/build/components/block-toolbar/block-toolbar-menu.native.js +38 -34
  222. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  223. package/build/components/block-toolbar/index.js +56 -46
  224. package/build/components/block-toolbar/index.js.map +1 -1
  225. package/build/components/block-toolbar/index.native.js +27 -21
  226. package/build/components/block-toolbar/index.native.js.map +1 -1
  227. package/build/components/block-toolbar/shuffle.js +7 -5
  228. package/build/components/block-toolbar/shuffle.js.map +1 -1
  229. package/build/components/block-tools/block-selection-button.js +63 -50
  230. package/build/components/block-tools/block-selection-button.js.map +1 -1
  231. package/build/components/block-tools/block-toolbar-breadcrumb.js +11 -10
  232. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  233. package/build/components/block-tools/block-toolbar-popover.js +17 -16
  234. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  235. package/build/components/block-tools/empty-block-inserter.js +15 -13
  236. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  237. package/build/components/block-tools/index.js +49 -27
  238. package/build/components/block-tools/index.js.map +1 -1
  239. package/build/components/block-tools/insertion-point.js +44 -42
  240. package/build/components/block-tools/insertion-point.js.map +1 -1
  241. package/build/components/block-tools/zoom-out-mode-inserters.js +70 -25
  242. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  243. package/build/components/block-types-list/index.js +15 -15
  244. package/build/components/block-types-list/index.js.map +1 -1
  245. package/build/components/block-types-list/index.native.js +30 -26
  246. package/build/components/block-types-list/index.native.js.map +1 -1
  247. package/build/components/block-variation-picker/index.js +32 -27
  248. package/build/components/block-variation-picker/index.js.map +1 -1
  249. package/build/components/block-variation-picker/index.native.js +32 -25
  250. package/build/components/block-variation-picker/index.native.js.map +1 -1
  251. package/build/components/block-variation-transforms/index.js +53 -47
  252. package/build/components/block-variation-transforms/index.js.map +1 -1
  253. package/build/components/block-vertical-alignment-control/icons.js +31 -26
  254. package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
  255. package/build/components/block-vertical-alignment-control/index.js +3 -3
  256. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  257. package/build/components/block-vertical-alignment-control/ui.js +2 -2
  258. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  259. package/build/components/border-radius-control/all-input-control.js +3 -3
  260. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  261. package/build/components/border-radius-control/index.js +43 -38
  262. package/build/components/border-radius-control/index.js.map +1 -1
  263. package/build/components/border-radius-control/input-controls.js +23 -21
  264. package/build/components/border-radius-control/input-controls.js.map +1 -1
  265. package/build/components/border-radius-control/linked-button.js +12 -11
  266. package/build/components/border-radius-control/linked-button.js.map +1 -1
  267. package/build/components/button-block-appender/index.js +17 -14
  268. package/build/components/button-block-appender/index.js.map +1 -1
  269. package/build/components/button-block-appender/index.native.js +28 -24
  270. package/build/components/button-block-appender/index.native.js.map +1 -1
  271. package/build/components/caption/index.native.js +22 -21
  272. package/build/components/caption/index.native.js.map +1 -1
  273. package/build/components/child-layout-control/index.js +137 -129
  274. package/build/components/child-layout-control/index.js.map +1 -1
  275. package/build/components/color-palette/control.js +2 -2
  276. package/build/components/color-palette/control.js.map +1 -1
  277. package/build/components/color-palette/with-color-context.js +2 -2
  278. package/build/components/color-palette/with-color-context.js.map +1 -1
  279. package/build/components/color-style-selector/index.js +29 -20
  280. package/build/components/color-style-selector/index.js.map +1 -1
  281. package/build/components/colors/utils.js +3 -3
  282. package/build/components/colors/utils.js.map +1 -1
  283. package/build/components/colors/with-colors.js +8 -7
  284. package/build/components/colors/with-colors.js.map +1 -1
  285. package/build/components/colors-gradients/control.js +54 -40
  286. package/build/components/colors-gradients/control.js.map +1 -1
  287. package/build/components/colors-gradients/dropdown.js +72 -63
  288. package/build/components/colors-gradients/dropdown.js.map +1 -1
  289. package/build/components/colors-gradients/panel-color-gradient-settings.js +23 -20
  290. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  291. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +11 -7
  292. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  293. package/build/components/contrast-checker/index.js +10 -8
  294. package/build/components/contrast-checker/index.js.map +1 -1
  295. package/build/components/contrast-checker/index.native.js +12 -10
  296. package/build/components/contrast-checker/index.native.js.map +1 -1
  297. package/build/components/convert-to-group-buttons/index.js +22 -12
  298. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  299. package/build/components/convert-to-group-buttons/toolbar.js +20 -18
  300. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  301. package/build/components/copy-handler/index.js +2 -2
  302. package/build/components/copy-handler/index.js.map +1 -1
  303. package/build/components/date-format-picker/index.js +44 -40
  304. package/build/components/date-format-picker/index.js.map +1 -1
  305. package/build/components/default-block-appender/index.js +34 -32
  306. package/build/components/default-block-appender/index.js.map +1 -1
  307. package/build/components/default-block-appender/index.native.js +14 -12
  308. package/build/components/default-block-appender/index.native.js.map +1 -1
  309. package/build/components/dimensions-tool/aspect-ratio-tool.js +42 -49
  310. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  311. package/build/components/dimensions-tool/index.js +116 -115
  312. package/build/components/dimensions-tool/index.js.map +1 -1
  313. package/build/components/dimensions-tool/scale-tool.js +16 -16
  314. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  315. package/build/components/dimensions-tool/width-height-tool.js +37 -33
  316. package/build/components/dimensions-tool/width-height-tool.js.map +1 -1
  317. package/build/components/duotone-control/index.js +21 -18
  318. package/build/components/duotone-control/index.js.map +1 -1
  319. package/build/components/editable-text/index.js +6 -5
  320. package/build/components/editable-text/index.js.map +1 -1
  321. package/build/components/editor-styles/index.js +23 -21
  322. package/build/components/editor-styles/index.js.map +1 -1
  323. package/build/components/floating-toolbar/index.native.js +18 -16
  324. package/build/components/floating-toolbar/index.native.js.map +1 -1
  325. package/build/components/floating-toolbar/nav-up-icon.js +14 -13
  326. package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
  327. package/build/components/font-appearance-control/index.js +2 -2
  328. package/build/components/font-appearance-control/index.js.map +1 -1
  329. package/build/components/font-family/index.js +2 -2
  330. package/build/components/font-family/index.js.map +1 -1
  331. package/build/components/font-sizes/font-size-picker.js +2 -2
  332. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  333. package/build/components/font-sizes/utils.js +4 -3
  334. package/build/components/font-sizes/utils.js.map +1 -1
  335. package/build/components/font-sizes/with-font-sizes.js +3 -3
  336. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  337. package/build/components/global-styles/advanced-panel.js +17 -15
  338. package/build/components/global-styles/advanced-panel.js.map +1 -1
  339. package/build/components/global-styles/background-panel.js +189 -123
  340. package/build/components/global-styles/background-panel.js.map +1 -1
  341. package/build/components/global-styles/border-panel.js +62 -56
  342. package/build/components/global-styles/border-panel.js.map +1 -1
  343. package/build/components/global-styles/color-panel.js +113 -89
  344. package/build/components/global-styles/color-panel.js.map +1 -1
  345. package/build/components/global-styles/color-panel.native.js +14 -11
  346. package/build/components/global-styles/color-panel.native.js.map +1 -1
  347. package/build/components/global-styles/dimensions-panel.js +184 -172
  348. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  349. package/build/components/global-styles/filters-panel.js +79 -66
  350. package/build/components/global-styles/filters-panel.js.map +1 -1
  351. package/build/components/global-styles/hooks.js +14 -2
  352. package/build/components/global-styles/hooks.js.map +1 -1
  353. package/build/components/global-styles/image-settings-panel.js +26 -22
  354. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  355. package/build/components/global-styles/index.js +18 -0
  356. package/build/components/global-styles/index.js.map +1 -1
  357. package/build/components/global-styles/shadow-panel-components.js +78 -69
  358. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  359. package/build/components/global-styles/theme-file-uri-utils.js +80 -0
  360. package/build/components/global-styles/theme-file-uri-utils.js.map +1 -0
  361. package/build/components/global-styles/typography-panel.js +175 -134
  362. package/build/components/global-styles/typography-panel.js.map +1 -1
  363. package/build/components/global-styles/use-global-styles-context.native.js +450 -0
  364. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -0
  365. package/build/components/global-styles/use-global-styles-output.js +114 -79
  366. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  367. package/build/components/gradients/with-gradient.js +2 -2
  368. package/build/components/gradients/with-gradient.js.map +1 -1
  369. package/build/components/grid-visualizer/grid-item-resizer.js +161 -43
  370. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  371. package/build/components/grid-visualizer/grid-visualizer.js +30 -19
  372. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
  373. package/build/components/height-control/index.js +39 -32
  374. package/build/components/height-control/index.js.map +1 -1
  375. package/build/components/iframe/index.js +118 -71
  376. package/build/components/iframe/index.js.map +1 -1
  377. package/build/components/image-editor/aspect-ratio-dropdown.js +95 -74
  378. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  379. package/build/components/image-editor/context.js +5 -4
  380. package/build/components/image-editor/context.js.map +1 -1
  381. package/build/components/image-editor/cropper.js +26 -23
  382. package/build/components/image-editor/cropper.js.map +1 -1
  383. package/build/components/image-editor/form-controls.js +11 -7
  384. package/build/components/image-editor/form-controls.js.map +1 -1
  385. package/build/components/image-editor/index.js +23 -14
  386. package/build/components/image-editor/index.js.map +1 -1
  387. package/build/components/image-editor/rotation-button.js +2 -2
  388. package/build/components/image-editor/rotation-button.js.map +1 -1
  389. package/build/components/image-editor/zoom-dropdown.js +4 -4
  390. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  391. package/build/components/image-link-destinations/index.native.js +37 -27
  392. package/build/components/image-link-destinations/index.native.js.map +1 -1
  393. package/build/components/image-size-control/index.js +53 -45
  394. package/build/components/image-size-control/index.js.map +1 -1
  395. package/build/components/index.js +8 -0
  396. package/build/components/index.js.map +1 -1
  397. package/build/components/index.native.js +37 -0
  398. package/build/components/index.native.js.map +1 -1
  399. package/build/components/inner-blocks/button-block-appender.js +4 -4
  400. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  401. package/build/components/inner-blocks/default-block-appender.js +2 -2
  402. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  403. package/build/components/inner-blocks/index.js +41 -37
  404. package/build/components/inner-blocks/index.js.map +1 -1
  405. package/build/components/inner-blocks/index.native.js +31 -29
  406. package/build/components/inner-blocks/index.native.js.map +1 -1
  407. package/build/components/inner-blocks/use-nested-settings-update.js +10 -13
  408. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  409. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +20 -17
  410. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  411. package/build/components/inner-blocks/with-client-id.js +2 -2
  412. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  413. package/build/components/inserter/block-patterns-explorer/index.js +22 -20
  414. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  415. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +39 -36
  416. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  417. package/build/components/inserter/block-patterns-explorer/pattern-list.js +26 -20
  418. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  419. package/build/components/inserter/block-patterns-tab/index.js +44 -28
  420. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  421. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +21 -4
  422. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  423. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +43 -32
  424. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  425. package/build/components/inserter/block-patterns-tab/patterns-filter.js +54 -42
  426. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  427. package/build/components/inserter/block-types-tab.js +108 -64
  428. package/build/components/inserter/block-types-tab.js.map +1 -1
  429. package/build/components/inserter/block-types-tab.native.js +2 -2
  430. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  431. package/build/components/inserter/category-tabs/index.js +26 -20
  432. package/build/components/inserter/category-tabs/index.js.map +1 -1
  433. package/build/components/inserter/hooks/use-block-types-state.js +9 -4
  434. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  435. package/build/components/inserter/hooks/use-insertion-point.js +44 -7
  436. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  437. package/build/components/inserter/hooks/use-patterns-state.js +12 -5
  438. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  439. package/build/components/inserter/index.js +8 -8
  440. package/build/components/inserter/index.js.map +1 -1
  441. package/build/components/inserter/index.native.js +21 -19
  442. package/build/components/inserter/index.native.js.map +1 -1
  443. package/build/components/inserter/library.js +22 -9
  444. package/build/components/inserter/library.js.map +1 -1
  445. package/build/components/inserter/media-tab/media-list.js +9 -9
  446. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  447. package/build/components/inserter/media-tab/media-panel.js +19 -17
  448. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  449. package/build/components/inserter/media-tab/media-preview.js +93 -67
  450. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  451. package/build/components/inserter/media-tab/media-tab.js +44 -36
  452. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  453. package/build/components/inserter/media-tab/utils.js +2 -2
  454. package/build/components/inserter/media-tab/utils.js.map +1 -1
  455. package/build/components/inserter/menu.js +138 -105
  456. package/build/components/inserter/menu.js.map +1 -1
  457. package/build/components/inserter/menu.native.js +34 -28
  458. package/build/components/inserter/menu.native.js.map +1 -1
  459. package/build/components/inserter/mobile-tab-navigation.js +56 -40
  460. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  461. package/build/components/inserter/no-results.js +10 -7
  462. package/build/components/inserter/no-results.js.map +1 -1
  463. package/build/components/inserter/no-results.native.js +13 -8
  464. package/build/components/inserter/no-results.native.js.map +1 -1
  465. package/build/components/inserter/panel.js +15 -10
  466. package/build/components/inserter/panel.js.map +1 -1
  467. package/build/components/inserter/preview-panel.js +24 -20
  468. package/build/components/inserter/preview-panel.js.map +1 -1
  469. package/build/components/inserter/quick-inserter.js +37 -33
  470. package/build/components/inserter/quick-inserter.js.map +1 -1
  471. package/build/components/inserter/reusable-block-rename-hint.js +20 -18
  472. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
  473. package/build/components/inserter/reusable-blocks-tab.native.js +2 -2
  474. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  475. package/build/components/inserter/search-results.js +52 -41
  476. package/build/components/inserter/search-results.js.map +1 -1
  477. package/build/components/inserter/search-results.native.js +3 -3
  478. package/build/components/inserter/search-results.native.js.map +1 -1
  479. package/build/components/inserter/tabs.js +34 -18
  480. package/build/components/inserter/tabs.js.map +1 -1
  481. package/build/components/inserter/tabs.native.js +20 -18
  482. package/build/components/inserter/tabs.native.js.map +1 -1
  483. package/build/components/inserter/tips.js +7 -5
  484. package/build/components/inserter/tips.js.map +1 -1
  485. package/build/components/inserter-button/index.native.js +28 -23
  486. package/build/components/inserter-button/index.native.js.map +1 -1
  487. package/build/components/inserter-button/sparkles.js +8 -7
  488. package/build/components/inserter-button/sparkles.js.map +1 -1
  489. package/build/components/inserter-draggable-blocks/index.js +14 -13
  490. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  491. package/build/components/inserter-list-item/index.js +69 -63
  492. package/build/components/inserter-list-item/index.js.map +1 -1
  493. package/build/components/inserter-listbox/group.js +2 -2
  494. package/build/components/inserter-listbox/group.js.map +1 -1
  495. package/build/components/inserter-listbox/index.js +5 -4
  496. package/build/components/inserter-listbox/index.js.map +1 -1
  497. package/build/components/inserter-listbox/item.js +10 -8
  498. package/build/components/inserter-listbox/item.js.map +1 -1
  499. package/build/components/inserter-listbox/row.js +2 -2
  500. package/build/components/inserter-listbox/row.js.map +1 -1
  501. package/build/components/inspector-controls/block-support-slot-container.js +2 -2
  502. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  503. package/build/components/inspector-controls/block-support-tools-panel.js +5 -5
  504. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  505. package/build/components/inspector-controls/fill.js +22 -17
  506. package/build/components/inspector-controls/fill.js.map +1 -1
  507. package/build/components/inspector-controls/fill.native.js +12 -5
  508. package/build/components/inspector-controls/fill.native.js.map +1 -1
  509. package/build/components/inspector-controls/index.js +3 -3
  510. package/build/components/inspector-controls/index.js.map +1 -1
  511. package/build/components/inspector-controls/slot.js +11 -10
  512. package/build/components/inspector-controls/slot.js.map +1 -1
  513. package/build/components/inspector-controls/slot.native.js +3 -3
  514. package/build/components/inspector-controls/slot.native.js.map +1 -1
  515. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +7 -6
  516. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  517. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js +11 -9
  518. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  519. package/build/components/inspector-controls-tabs/index.js +44 -32
  520. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  521. package/build/components/inspector-controls-tabs/position-controls-panel.js +8 -7
  522. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  523. package/build/components/inspector-controls-tabs/settings-tab-hint.js +20 -18
  524. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  525. package/build/components/inspector-controls-tabs/settings-tab.js +6 -2
  526. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  527. package/build/components/inspector-controls-tabs/styles-tab.js +31 -26
  528. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  529. package/build/components/inspector-popover-header/index.js +31 -26
  530. package/build/components/inspector-popover-header/index.js.map +1 -1
  531. package/build/components/justify-content-control/index.js +3 -3
  532. package/build/components/justify-content-control/index.js.map +1 -1
  533. package/build/components/justify-content-control/ui.js +2 -2
  534. package/build/components/justify-content-control/ui.js.map +1 -1
  535. package/build/components/keyboard-shortcuts/index.js +9 -0
  536. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  537. package/build/components/letter-spacing-control/index.js +3 -4
  538. package/build/components/letter-spacing-control/index.js.map +1 -1
  539. package/build/components/line-height-control/index.js +17 -16
  540. package/build/components/line-height-control/index.js.map +1 -1
  541. package/build/components/line-height-control/index.native.js +2 -2
  542. package/build/components/line-height-control/index.native.js.map +1 -1
  543. package/build/components/link-control/index.js +102 -85
  544. package/build/components/link-control/index.js.map +1 -1
  545. package/build/components/link-control/link-preview.js +63 -51
  546. package/build/components/link-control/link-preview.js.map +1 -1
  547. package/build/components/link-control/search-create-button.js +6 -5
  548. package/build/components/link-control/search-create-button.js.map +1 -1
  549. package/build/components/link-control/search-input.js +32 -31
  550. package/build/components/link-control/search-input.js.map +1 -1
  551. package/build/components/link-control/search-item.js +12 -11
  552. package/build/components/link-control/search-item.js.map +1 -1
  553. package/build/components/link-control/search-results.js +52 -48
  554. package/build/components/link-control/search-results.js.map +1 -1
  555. package/build/components/link-control/settings-drawer.js +37 -30
  556. package/build/components/link-control/settings-drawer.js.map +1 -1
  557. package/build/components/link-control/settings.js +10 -9
  558. package/build/components/link-control/settings.js.map +1 -1
  559. package/build/components/list-view/appender.js +24 -22
  560. package/build/components/list-view/appender.js.map +1 -1
  561. package/build/components/list-view/aria-referenced-text.js +6 -6
  562. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  563. package/build/components/list-view/block-contents.js +34 -31
  564. package/build/components/list-view/block-contents.js.map +1 -1
  565. package/build/components/list-view/block-select-button.js +60 -44
  566. package/build/components/list-view/block-select-button.js.map +1 -1
  567. package/build/components/list-view/block.js +131 -96
  568. package/build/components/list-view/block.js.map +1 -1
  569. package/build/components/list-view/branch.js +101 -95
  570. package/build/components/list-view/branch.js.map +1 -1
  571. package/build/components/list-view/drop-indicator.js +39 -32
  572. package/build/components/list-view/drop-indicator.js.map +1 -1
  573. package/build/components/list-view/expander.js +8 -6
  574. package/build/components/list-view/expander.js.map +1 -1
  575. package/build/components/list-view/index.js +43 -39
  576. package/build/components/list-view/index.js.map +1 -1
  577. package/build/components/list-view/leaf.js +7 -6
  578. package/build/components/list-view/leaf.js.map +1 -1
  579. package/build/components/media-placeholder/index.js +101 -81
  580. package/build/components/media-placeholder/index.js.map +1 -1
  581. package/build/components/media-placeholder/index.native.js +63 -52
  582. package/build/components/media-placeholder/index.native.js.map +1 -1
  583. package/build/components/media-replace-flow/index.js +73 -61
  584. package/build/components/media-replace-flow/index.js.map +1 -1
  585. package/build/components/media-replace-flow/index.native.js +2 -2
  586. package/build/components/media-replace-flow/index.native.js.map +1 -1
  587. package/build/components/media-upload/index.native.js +44 -40
  588. package/build/components/media-upload/index.native.js.map +1 -1
  589. package/build/components/media-upload-progress/index.native.js +39 -15
  590. package/build/components/media-upload-progress/index.native.js.map +1 -1
  591. package/build/components/multi-selection-inspector/index.js +19 -15
  592. package/build/components/multi-selection-inspector/index.js.map +1 -1
  593. package/build/components/navigable-toolbar/index.js +9 -7
  594. package/build/components/navigable-toolbar/index.js.map +1 -1
  595. package/build/components/observe-typing/index.js +6 -6
  596. package/build/components/observe-typing/index.js.map +1 -1
  597. package/build/components/panel-color-settings/index.js +2 -2
  598. package/build/components/panel-color-settings/index.js.map +1 -1
  599. package/build/components/plain-text/index.js +6 -7
  600. package/build/components/plain-text/index.js.map +1 -1
  601. package/build/components/plain-text/index.native.js +3 -3
  602. package/build/components/plain-text/index.native.js.map +1 -1
  603. package/build/components/provider/block-refs-provider.js +5 -4
  604. package/build/components/provider/block-refs-provider.js.map +1 -1
  605. package/build/components/provider/index.js +11 -7
  606. package/build/components/provider/index.js.map +1 -1
  607. package/build/components/provider/index.native.js +5 -5
  608. package/build/components/provider/index.native.js.map +1 -1
  609. package/build/components/provider/use-block-sync.js +18 -0
  610. package/build/components/provider/use-block-sync.js.map +1 -1
  611. package/build/components/provider/with-registry-provider.js +30 -26
  612. package/build/components/provider/with-registry-provider.js.map +1 -1
  613. package/build/components/publish-date-time-picker/index.js +36 -15
  614. package/build/components/publish-date-time-picker/index.js.map +1 -1
  615. package/build/components/recursion-provider/index.js +6 -5
  616. package/build/components/recursion-provider/index.js.map +1 -1
  617. package/build/components/resizable-box-popover/index.js +7 -6
  618. package/build/components/resizable-box-popover/index.js.map +1 -1
  619. package/build/components/resolution-tool/index.js +12 -11
  620. package/build/components/resolution-tool/index.js.map +1 -1
  621. package/build/components/responsive-block-control/index.js +31 -27
  622. package/build/components/responsive-block-control/index.js.map +1 -1
  623. package/build/components/responsive-block-control/label.js +11 -7
  624. package/build/components/responsive-block-control/label.js.map +1 -1
  625. package/build/components/rich-text/content.js +8 -5
  626. package/build/components/rich-text/content.js.map +1 -1
  627. package/build/components/rich-text/embed-handler-picker.native.js +2 -2
  628. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  629. package/build/components/rich-text/event-listeners/enter.js +33 -42
  630. package/build/components/rich-text/event-listeners/enter.js.map +1 -1
  631. package/build/components/rich-text/event-listeners/paste-handler.js +22 -42
  632. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  633. package/build/components/rich-text/format-edit.js +5 -5
  634. package/build/components/rich-text/format-edit.js.map +1 -1
  635. package/build/components/rich-text/format-toolbar/index.js +38 -34
  636. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  637. package/build/components/rich-text/format-toolbar/index.native.js +8 -7
  638. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  639. package/build/components/rich-text/format-toolbar-container.js +17 -12
  640. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  641. package/build/components/rich-text/format-toolbar-container.native.js +5 -4
  642. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  643. package/build/components/rich-text/get-rich-text-values.js +4 -4
  644. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  645. package/build/components/rich-text/index.js +95 -77
  646. package/build/components/rich-text/index.js.map +1 -1
  647. package/build/components/rich-text/index.native.js +52 -48
  648. package/build/components/rich-text/index.native.js.map +1 -1
  649. package/build/components/rich-text/multiline.js +68 -40
  650. package/build/components/rich-text/multiline.js.map +1 -1
  651. package/build/components/rich-text/native/format-edit.js +3 -4
  652. package/build/components/rich-text/native/format-edit.js.map +1 -1
  653. package/build/components/rich-text/native/index.native.js +87 -80
  654. package/build/components/rich-text/native/index.native.js.map +1 -1
  655. package/build/components/rich-text/native/toolbar-button-with-options.native.js +19 -16
  656. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  657. package/build/components/rich-text/toolbar-button.js +8 -7
  658. package/build/components/rich-text/toolbar-button.js.map +1 -1
  659. package/build/components/rich-text/utils.js +5 -4
  660. package/build/components/rich-text/utils.js.map +1 -1
  661. package/build/components/rich-text/with-deprecations.js +2 -2
  662. package/build/components/rich-text/with-deprecations.js.map +1 -1
  663. package/build/components/segmented-text-control/index.js +21 -20
  664. package/build/components/segmented-text-control/index.js.map +1 -1
  665. package/build/components/skip-to-selected-block/index.js +6 -6
  666. package/build/components/skip-to-selected-block/index.js.map +1 -1
  667. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +29 -14
  668. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  669. package/build/components/spacing-sizes-control/index.js +23 -19
  670. package/build/components/spacing-sizes-control/index.js.map +1 -1
  671. package/build/components/spacing-sizes-control/input-controls/axial.js +19 -18
  672. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  673. package/build/components/spacing-sizes-control/input-controls/separated.js +18 -17
  674. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  675. package/build/components/spacing-sizes-control/input-controls/single.js +2 -2
  676. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  677. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +103 -100
  678. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  679. package/build/components/spacing-sizes-control/sides-dropdown/index.js +42 -34
  680. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  681. package/build/components/spacing-sizes-control/utils.js +2 -1
  682. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  683. package/build/components/text-alignment-control/index.js +4 -4
  684. package/build/components/text-alignment-control/index.js.map +1 -1
  685. package/build/components/text-decoration-control/index.js +4 -4
  686. package/build/components/text-decoration-control/index.js.map +1 -1
  687. package/build/components/text-transform-control/index.js +4 -4
  688. package/build/components/text-transform-control/index.js.map +1 -1
  689. package/build/components/tool-selector/index.js +35 -26
  690. package/build/components/tool-selector/index.js.map +1 -1
  691. package/build/components/typewriter/index.js +5 -4
  692. package/build/components/typewriter/index.js.map +1 -1
  693. package/build/components/ungroup-button/index.native.js +8 -6
  694. package/build/components/ungroup-button/index.native.js.map +1 -1
  695. package/build/components/unit-control/index.js +2 -2
  696. package/build/components/unit-control/index.js.map +1 -1
  697. package/build/components/unsupported-block-details/index.native.js +31 -28
  698. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  699. package/build/components/url-input/button.js +31 -28
  700. package/build/components/url-input/button.js.map +1 -1
  701. package/build/components/url-input/index.js +29 -24
  702. package/build/components/url-input/index.js.map +1 -1
  703. package/build/components/url-input/index.native.js +2 -2
  704. package/build/components/url-input/index.native.js.map +1 -1
  705. package/build/components/url-popover/image-url-input-ui.js +104 -91
  706. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  707. package/build/components/url-popover/index.js +24 -19
  708. package/build/components/url-popover/index.js.map +1 -1
  709. package/build/components/url-popover/link-editor.js +17 -16
  710. package/build/components/url-popover/link-editor.js.map +1 -1
  711. package/build/components/url-popover/link-viewer-url.js +8 -7
  712. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  713. package/build/components/url-popover/link-viewer.js +16 -15
  714. package/build/components/url-popover/link-viewer.js.map +1 -1
  715. package/build/components/use-block-commands/index.js +2 -2
  716. package/build/components/use-block-commands/index.js.map +1 -1
  717. package/build/components/video-player/gridicon-play.native.js +8 -7
  718. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  719. package/build/components/video-player/index.native.js +43 -40
  720. package/build/components/video-player/index.native.js.map +1 -1
  721. package/build/components/warning/index.js +35 -27
  722. package/build/components/warning/index.js.map +1 -1
  723. package/build/components/warning/index.native.js +17 -13
  724. package/build/components/warning/index.native.js.map +1 -1
  725. package/build/components/writing-flow/index.js +10 -7
  726. package/build/components/writing-flow/index.js.map +1 -1
  727. package/build/components/writing-flow/use-clipboard-handler.js +64 -14
  728. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  729. package/build/components/writing-flow/use-input.js +44 -2
  730. package/build/components/writing-flow/use-input.js.map +1 -1
  731. package/build/components/writing-flow/use-tab-nav.js +9 -4
  732. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  733. package/build/components/writing-mode-control/index.js +4 -4
  734. package/build/components/writing-mode-control/index.js.map +1 -1
  735. package/build/hooks/align.js +12 -12
  736. package/build/hooks/align.js.map +1 -1
  737. package/build/hooks/anchor.js +29 -24
  738. package/build/hooks/anchor.js.map +1 -1
  739. package/build/hooks/background.js +7 -6
  740. package/build/hooks/background.js.map +1 -1
  741. package/build/hooks/block-bindings.js +89 -0
  742. package/build/hooks/block-bindings.js.map +1 -0
  743. package/build/hooks/block-hooks.js +41 -33
  744. package/build/hooks/block-hooks.js.map +1 -1
  745. package/build/hooks/block-style-variation.js +142 -0
  746. package/build/hooks/block-style-variation.js.map +1 -0
  747. package/build/hooks/border.js +9 -8
  748. package/build/hooks/border.js.map +1 -1
  749. package/build/hooks/color.js +14 -12
  750. package/build/hooks/color.js.map +1 -1
  751. package/build/hooks/content-lock-ui.js +25 -40
  752. package/build/hooks/content-lock-ui.js.map +1 -1
  753. package/build/hooks/contrast-checker.js +2 -2
  754. package/build/hooks/contrast-checker.js.map +1 -1
  755. package/build/hooks/custom-class-name.js +19 -18
  756. package/build/hooks/custom-class-name.js.map +1 -1
  757. package/build/hooks/custom-class-name.native.js +2 -2
  758. package/build/hooks/custom-class-name.native.js.map +1 -1
  759. package/build/hooks/dimensions.js +26 -23
  760. package/build/hooks/dimensions.js.map +1 -1
  761. package/build/hooks/duotone.js +49 -45
  762. package/build/hooks/duotone.js.map +1 -1
  763. package/build/hooks/font-family.js +3 -3
  764. package/build/hooks/font-family.js.map +1 -1
  765. package/build/hooks/font-size.js +2 -2
  766. package/build/hooks/font-size.js.map +1 -1
  767. package/build/hooks/index.js +4 -2
  768. package/build/hooks/index.js.map +1 -1
  769. package/build/hooks/layout-child.js +35 -25
  770. package/build/hooks/layout-child.js.map +1 -1
  771. package/build/hooks/layout.js +63 -57
  772. package/build/hooks/layout.js.map +1 -1
  773. package/build/hooks/line-height.js +2 -2
  774. package/build/hooks/line-height.js.map +1 -1
  775. package/build/hooks/position.js +30 -28
  776. package/build/hooks/position.js.map +1 -1
  777. package/build/hooks/spacing-visualizer.js +10 -9
  778. package/build/hooks/spacing-visualizer.js.map +1 -1
  779. package/build/hooks/style.js +23 -13
  780. package/build/hooks/style.js.map +1 -1
  781. package/build/hooks/text-align.js +22 -21
  782. package/build/hooks/text-align.js.map +1 -1
  783. package/build/hooks/typography.js +6 -5
  784. package/build/hooks/typography.js.map +1 -1
  785. package/build/hooks/typography.native.js +11 -8
  786. package/build/hooks/typography.native.js.map +1 -1
  787. package/build/hooks/use-bindings-attributes.js +84 -26
  788. package/build/hooks/use-bindings-attributes.js.map +1 -1
  789. package/build/hooks/use-color-props.js +2 -2
  790. package/build/hooks/use-color-props.js.map +1 -1
  791. package/build/hooks/use-typography-props.js +6 -5
  792. package/build/hooks/use-typography-props.js.map +1 -1
  793. package/build/hooks/use-zoom-out.js +2 -2
  794. package/build/hooks/use-zoom-out.js.map +1 -1
  795. package/build/hooks/utils.js +20 -19
  796. package/build/hooks/utils.js.map +1 -1
  797. package/build/layouts/constrained.js +66 -58
  798. package/build/layouts/constrained.js.map +1 -1
  799. package/build/layouts/flex.js +75 -61
  800. package/build/layouts/flex.js.map +1 -1
  801. package/build/layouts/grid.js +152 -130
  802. package/build/layouts/grid.js.map +1 -1
  803. package/build/private-apis.js +10 -1
  804. package/build/private-apis.js.map +1 -1
  805. package/build/store/actions.js +170 -44
  806. package/build/store/actions.js.map +1 -1
  807. package/build/store/get-block-settings.js +2 -49
  808. package/build/store/get-block-settings.js.map +1 -1
  809. package/build/store/private-actions.js +26 -1
  810. package/build/store/private-actions.js.map +1 -1
  811. package/build/store/private-keys.js +2 -1
  812. package/build/store/private-keys.js.map +1 -1
  813. package/build/store/private-selectors.js +6 -0
  814. package/build/store/private-selectors.js.map +1 -1
  815. package/build/store/reducer.js +21 -14
  816. package/build/store/reducer.js.map +1 -1
  817. package/build/store/selectors.js +32 -2
  818. package/build/store/selectors.js.map +1 -1
  819. package/build/store/utils.js +2 -0
  820. package/build/store/utils.js.map +1 -1
  821. package/build/utils/selection.js +8 -0
  822. package/build/utils/selection.js.map +1 -1
  823. package/build/utils/transform-styles/index.js +12 -7
  824. package/build/utils/transform-styles/index.js.map +1 -1
  825. package/build-module/autocompleters/block.js +9 -6
  826. package/build-module/autocompleters/block.js.map +1 -1
  827. package/build-module/autocompleters/link.js +12 -8
  828. package/build-module/autocompleters/link.js.map +1 -1
  829. package/build-module/components/alignment-control/index.js +3 -3
  830. package/build-module/components/alignment-control/index.js.map +1 -1
  831. package/build-module/components/alignment-control/ui.js +2 -2
  832. package/build-module/components/alignment-control/ui.js.map +1 -1
  833. package/build-module/components/audio-player/audio-url-parser.native.js +16 -0
  834. package/build-module/components/audio-player/audio-url-parser.native.js.map +1 -0
  835. package/build-module/components/audio-player/index.native.js +167 -0
  836. package/build-module/components/audio-player/index.native.js.map +1 -0
  837. package/build-module/components/autocomplete/index.js +2 -2
  838. package/build-module/components/autocomplete/index.js.map +1 -1
  839. package/build-module/components/block-actions/index.js +4 -2
  840. package/build-module/components/block-actions/index.js.map +1 -1
  841. package/build-module/components/block-alignment-control/index.js +3 -3
  842. package/build-module/components/block-alignment-control/index.js.map +1 -1
  843. package/build-module/components/block-alignment-control/ui.js +35 -31
  844. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  845. package/build-module/components/block-alignment-control/ui.native.js +2 -2
  846. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  847. package/build-module/components/block-alignment-matrix-control/index.js +5 -5
  848. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  849. package/build-module/components/block-bindings-toolbar-indicator/index.js +94 -13
  850. package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  851. package/build-module/components/block-breadcrumb/index.js +38 -32
  852. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  853. package/build-module/components/block-canvas/index.js +37 -31
  854. package/build-module/components/block-canvas/index.js.map +1 -1
  855. package/build-module/components/block-caption/index.native.js +15 -14
  856. package/build-module/components/block-caption/index.native.js.map +1 -1
  857. package/build-module/components/block-card/index.js +35 -29
  858. package/build-module/components/block-card/index.js.map +1 -1
  859. package/build-module/components/block-compare/block-view.js +28 -18
  860. package/build-module/components/block-compare/block-view.js.map +1 -1
  861. package/build-module/components/block-compare/index.js +26 -24
  862. package/build-module/components/block-compare/index.js.map +1 -1
  863. package/build-module/components/block-context/index.js +2 -2
  864. package/build-module/components/block-context/index.js.map +1 -1
  865. package/build-module/components/block-controls/fill.js +24 -16
  866. package/build-module/components/block-controls/fill.js.map +1 -1
  867. package/build-module/components/block-controls/index.js +3 -3
  868. package/build-module/components/block-controls/index.js.map +1 -1
  869. package/build-module/components/block-controls/slot.js +6 -4
  870. package/build-module/components/block-controls/slot.js.map +1 -1
  871. package/build-module/components/block-controls/slot.native.js +12 -9
  872. package/build-module/components/block-controls/slot.native.js.map +1 -1
  873. package/build-module/components/block-controls/use-has-block-controls.js +1 -1
  874. package/build-module/components/block-controls/use-has-block-controls.js.map +1 -1
  875. package/build-module/components/block-draggable/draggable-chip.js +28 -19
  876. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  877. package/build-module/components/block-draggable/draggable-chip.native.js +10 -8
  878. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  879. package/build-module/components/block-draggable/dropping-insertion-point.native.js +2 -2
  880. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  881. package/build-module/components/block-draggable/index.js +14 -13
  882. package/build-module/components/block-draggable/index.js.map +1 -1
  883. package/build-module/components/block-draggable/index.native.js +39 -30
  884. package/build-module/components/block-draggable/index.native.js.map +1 -1
  885. package/build-module/components/block-edit/edit.js +6 -6
  886. package/build-module/components/block-edit/edit.js.map +1 -1
  887. package/build-module/components/block-edit/edit.native.js +2 -2
  888. package/build-module/components/block-edit/edit.native.js.map +1 -1
  889. package/build-module/components/block-edit/index.js +19 -7
  890. package/build-module/components/block-edit/index.js.map +1 -1
  891. package/build-module/components/block-edit/multiple-usage-warning.js +40 -0
  892. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -0
  893. package/build-module/components/block-edit-visually-button/index.js +9 -6
  894. package/build-module/components/block-edit-visually-button/index.js.map +1 -1
  895. package/build-module/components/block-full-height-alignment-control/index.js +2 -2
  896. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  897. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +2 -3
  898. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  899. package/build-module/components/block-heading-level-dropdown/index.js +4 -4
  900. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  901. package/build-module/components/block-heading-level-dropdown/index.native.js +4 -4
  902. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  903. package/build-module/components/block-icon/index.js +8 -7
  904. package/build-module/components/block-icon/index.js.map +1 -1
  905. package/build-module/components/block-icon/index.native.js +6 -5
  906. package/build-module/components/block-icon/index.native.js.map +1 -1
  907. package/build-module/components/block-info-slot-fill/index.js +3 -3
  908. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  909. package/build-module/components/block-inspector/index.js +105 -89
  910. package/build-module/components/block-inspector/index.js.map +1 -1
  911. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  912. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  913. package/build-module/components/block-list/block-crash-warning.js +5 -4
  914. package/build-module/components/block-list/block-crash-warning.js.map +1 -1
  915. package/build-module/components/block-list/block-crash-warning.native.js +2 -2
  916. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
  917. package/build-module/components/block-list/block-html.js +2 -2
  918. package/build-module/components/block-list/block-html.js.map +1 -1
  919. package/build-module/components/block-list/block-invalid-warning.js +27 -21
  920. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  921. package/build-module/components/block-list/block-invalid-warning.native.js +12 -11
  922. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  923. package/build-module/components/block-list/block-list-item-cell.native.js +5 -4
  924. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  925. package/build-module/components/block-list/block-list-item.native.js +29 -26
  926. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  927. package/build-module/components/block-list/block-outline.native.js +2 -2
  928. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  929. package/build-module/components/block-list/block-selection-button.native.js +36 -33
  930. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  931. package/build-module/components/block-list/block.js +112 -64
  932. package/build-module/components/block-list/block.js.map +1 -1
  933. package/build-module/components/block-list/block.native.js +63 -53
  934. package/build-module/components/block-list/block.native.js.map +1 -1
  935. package/build-module/components/block-list/grid-item.native.js +5 -4
  936. package/build-module/components/block-list/grid-item.native.js.map +1 -1
  937. package/build-module/components/block-list/index.js +41 -36
  938. package/build-module/components/block-list/index.js.map +1 -1
  939. package/build-module/components/block-list/index.native.js +99 -85
  940. package/build-module/components/block-list/index.native.js.map +1 -1
  941. package/build-module/components/block-list/insertion-point.native.js +13 -10
  942. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  943. package/build-module/components/block-list/layout.js +7 -3
  944. package/build-module/components/block-list/layout.js.map +1 -1
  945. package/build-module/components/block-list/subdirectory-icon.js +8 -7
  946. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  947. package/build-module/components/block-list/use-block-props/index.js +6 -3
  948. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  949. package/build-module/components/block-list/use-block-props/use-scroll-into-view.js +37 -0
  950. package/build-module/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
  951. package/build-module/components/block-list-appender/index.js +11 -10
  952. package/build-module/components/block-list-appender/index.js.map +1 -1
  953. package/build-module/components/block-list-appender/index.native.js +4 -4
  954. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  955. package/build-module/components/block-lock/menu-item.js +15 -10
  956. package/build-module/components/block-lock/menu-item.js.map +1 -1
  957. package/build-module/components/block-lock/modal.js +108 -90
  958. package/build-module/components/block-lock/modal.js.map +1 -1
  959. package/build-module/components/block-lock/toolbar.js +20 -15
  960. package/build-module/components/block-lock/toolbar.js.map +1 -1
  961. package/build-module/components/block-media-update-progress/index.native.js +18 -15
  962. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  963. package/build-module/components/block-mover/button.js +22 -17
  964. package/build-module/components/block-mover/button.js.map +1 -1
  965. package/build-module/components/block-mover/index.js +37 -29
  966. package/build-module/components/block-mover/index.js.map +1 -1
  967. package/build-module/components/block-mover/index.native.js +30 -27
  968. package/build-module/components/block-mover/index.native.js.map +1 -1
  969. package/build-module/components/block-navigation/dropdown.js +12 -9
  970. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  971. package/build-module/components/block-parent-selector/index.js +13 -13
  972. package/build-module/components/block-parent-selector/index.js.map +1 -1
  973. package/build-module/components/block-pattern-setup/index.js +90 -76
  974. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  975. package/build-module/components/block-pattern-setup/setup-toolbar.js +51 -45
  976. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  977. package/build-module/components/block-patterns-list/index.js +122 -89
  978. package/build-module/components/block-patterns-list/index.js.map +1 -1
  979. package/build-module/components/block-patterns-paging/index.js +71 -52
  980. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  981. package/build-module/components/block-popover/cover.js +19 -12
  982. package/build-module/components/block-popover/cover.js.map +1 -1
  983. package/build-module/components/block-popover/drop-zone.js +11 -10
  984. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  985. package/build-module/components/block-popover/inbetween.js +10 -9
  986. package/build-module/components/block-popover/inbetween.js.map +1 -1
  987. package/build-module/components/block-popover/index.js +27 -7
  988. package/build-module/components/block-popover/index.js.map +1 -1
  989. package/build-module/components/block-preview/auto.js +55 -47
  990. package/build-module/components/block-preview/auto.js.map +1 -1
  991. package/build-module/components/block-preview/index.js +19 -16
  992. package/build-module/components/block-preview/index.js.map +1 -1
  993. package/build-module/components/block-quick-navigation/index.js +25 -16
  994. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  995. package/build-module/components/block-removal-warning-modal/index.js +19 -12
  996. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  997. package/build-module/components/block-rename/modal.js +45 -37
  998. package/build-module/components/block-rename/modal.js.map +1 -1
  999. package/build-module/components/block-rename/rename-control.js +26 -21
  1000. package/build-module/components/block-rename/rename-control.js.map +1 -1
  1001. package/build-module/components/block-selection-clearer/index.js +2 -2
  1002. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  1003. package/build-module/components/block-settings/button.native.js +13 -9
  1004. package/build-module/components/block-settings/button.native.js.map +1 -1
  1005. package/build-module/components/block-settings/container.native.js +42 -28
  1006. package/build-module/components/block-settings/container.native.js.map +1 -1
  1007. package/build-module/components/block-settings-menu/block-html-convert-button.js +5 -4
  1008. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  1009. package/build-module/components/block-settings-menu/block-mode-toggle.js +5 -4
  1010. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  1011. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +7 -6
  1012. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  1013. package/build-module/components/block-settings-menu/block-settings-dropdown.js +101 -78
  1014. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  1015. package/build-module/components/block-settings-menu/index.js +10 -6
  1016. package/build-module/components/block-settings-menu/index.js.map +1 -1
  1017. package/build-module/components/block-settings-menu-controls/index.js +38 -29
  1018. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  1019. package/build-module/components/block-styles/index.js +45 -39
  1020. package/build-module/components/block-styles/index.js.map +1 -1
  1021. package/build-module/components/block-styles/index.native.js +7 -7
  1022. package/build-module/components/block-styles/index.native.js.map +1 -1
  1023. package/build-module/components/block-styles/menu-items.js +18 -14
  1024. package/build-module/components/block-styles/menu-items.js.map +1 -1
  1025. package/build-module/components/block-styles/preview-panel.js +2 -2
  1026. package/build-module/components/block-styles/preview-panel.js.map +1 -1
  1027. package/build-module/components/block-styles/preview.native.js +25 -21
  1028. package/build-module/components/block-styles/preview.native.js.map +1 -1
  1029. package/build-module/components/block-switcher/block-styles-menu.js +8 -7
  1030. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  1031. package/build-module/components/block-switcher/block-transformations-menu.js +33 -28
  1032. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  1033. package/build-module/components/block-switcher/block-transformations-menu.native.js +2 -2
  1034. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  1035. package/build-module/components/block-switcher/block-variation-transformations.js +21 -17
  1036. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  1037. package/build-module/components/block-switcher/index.js +87 -70
  1038. package/build-module/components/block-switcher/index.js.map +1 -1
  1039. package/build-module/components/block-switcher/pattern-transformations-menu.js +62 -51
  1040. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  1041. package/build-module/components/block-switcher/preview-block-popover.js +23 -17
  1042. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  1043. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +39 -34
  1044. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  1045. package/build-module/components/block-toolbar/index.js +58 -46
  1046. package/build-module/components/block-toolbar/index.js.map +1 -1
  1047. package/build-module/components/block-toolbar/index.native.js +29 -21
  1048. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  1049. package/build-module/components/block-toolbar/shuffle.js +7 -5
  1050. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  1051. package/build-module/components/block-tools/block-selection-button.js +63 -48
  1052. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  1053. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +11 -10
  1054. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  1055. package/build-module/components/block-tools/block-toolbar-popover.js +17 -16
  1056. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  1057. package/build-module/components/block-tools/empty-block-inserter.js +15 -13
  1058. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  1059. package/build-module/components/block-tools/index.js +50 -27
  1060. package/build-module/components/block-tools/index.js.map +1 -1
  1061. package/build-module/components/block-tools/insertion-point.js +45 -42
  1062. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  1063. package/build-module/components/block-tools/zoom-out-mode-inserters.js +72 -26
  1064. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  1065. package/build-module/components/block-types-list/index.js +16 -15
  1066. package/build-module/components/block-types-list/index.js.map +1 -1
  1067. package/build-module/components/block-types-list/index.native.js +31 -26
  1068. package/build-module/components/block-types-list/index.native.js.map +1 -1
  1069. package/build-module/components/block-variation-picker/index.js +33 -27
  1070. package/build-module/components/block-variation-picker/index.js.map +1 -1
  1071. package/build-module/components/block-variation-picker/index.native.js +33 -25
  1072. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  1073. package/build-module/components/block-variation-transforms/index.js +54 -47
  1074. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  1075. package/build-module/components/block-vertical-alignment-control/icons.js +31 -26
  1076. package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
  1077. package/build-module/components/block-vertical-alignment-control/index.js +3 -3
  1078. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  1079. package/build-module/components/block-vertical-alignment-control/ui.js +2 -2
  1080. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  1081. package/build-module/components/border-radius-control/all-input-control.js +3 -3
  1082. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  1083. package/build-module/components/border-radius-control/index.js +45 -38
  1084. package/build-module/components/border-radius-control/index.js.map +1 -1
  1085. package/build-module/components/border-radius-control/input-controls.js +23 -21
  1086. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  1087. package/build-module/components/border-radius-control/linked-button.js +12 -11
  1088. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  1089. package/build-module/components/button-block-appender/index.js +18 -14
  1090. package/build-module/components/button-block-appender/index.js.map +1 -1
  1091. package/build-module/components/button-block-appender/index.native.js +29 -24
  1092. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  1093. package/build-module/components/caption/index.native.js +22 -21
  1094. package/build-module/components/caption/index.native.js.map +1 -1
  1095. package/build-module/components/child-layout-control/index.js +139 -129
  1096. package/build-module/components/child-layout-control/index.js.map +1 -1
  1097. package/build-module/components/color-palette/control.js +2 -2
  1098. package/build-module/components/color-palette/control.js.map +1 -1
  1099. package/build-module/components/color-palette/with-color-context.js +2 -2
  1100. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  1101. package/build-module/components/color-style-selector/index.js +29 -20
  1102. package/build-module/components/color-style-selector/index.js.map +1 -1
  1103. package/build-module/components/colors/utils.js +3 -3
  1104. package/build-module/components/colors/utils.js.map +1 -1
  1105. package/build-module/components/colors/with-colors.js +7 -7
  1106. package/build-module/components/colors/with-colors.js.map +1 -1
  1107. package/build-module/components/colors-gradients/control.js +55 -40
  1108. package/build-module/components/colors-gradients/control.js.map +1 -1
  1109. package/build-module/components/colors-gradients/dropdown.js +74 -63
  1110. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  1111. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +25 -20
  1112. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  1113. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +13 -7
  1114. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  1115. package/build-module/components/contrast-checker/index.js +10 -8
  1116. package/build-module/components/contrast-checker/index.js.map +1 -1
  1117. package/build-module/components/contrast-checker/index.native.js +13 -10
  1118. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  1119. package/build-module/components/convert-to-group-buttons/index.js +25 -13
  1120. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  1121. package/build-module/components/convert-to-group-buttons/toolbar.js +21 -18
  1122. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  1123. package/build-module/components/copy-handler/index.js +2 -2
  1124. package/build-module/components/copy-handler/index.js.map +1 -1
  1125. package/build-module/components/date-format-picker/index.js +45 -40
  1126. package/build-module/components/date-format-picker/index.js.map +1 -1
  1127. package/build-module/components/default-block-appender/index.js +35 -32
  1128. package/build-module/components/default-block-appender/index.js.map +1 -1
  1129. package/build-module/components/default-block-appender/index.native.js +14 -12
  1130. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  1131. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +41 -47
  1132. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  1133. package/build-module/components/dimensions-tool/index.js +117 -113
  1134. package/build-module/components/dimensions-tool/index.js.map +1 -1
  1135. package/build-module/components/dimensions-tool/scale-tool.js +15 -14
  1136. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  1137. package/build-module/components/dimensions-tool/width-height-tool.js +39 -33
  1138. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  1139. package/build-module/components/duotone-control/index.js +22 -18
  1140. package/build-module/components/duotone-control/index.js.map +1 -1
  1141. package/build-module/components/editable-text/index.js +6 -5
  1142. package/build-module/components/editable-text/index.js.map +1 -1
  1143. package/build-module/components/editor-styles/index.js +25 -21
  1144. package/build-module/components/editor-styles/index.js.map +1 -1
  1145. package/build-module/components/floating-toolbar/index.native.js +19 -16
  1146. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  1147. package/build-module/components/floating-toolbar/nav-up-icon.js +15 -13
  1148. package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
  1149. package/build-module/components/font-appearance-control/index.js +2 -2
  1150. package/build-module/components/font-appearance-control/index.js.map +1 -1
  1151. package/build-module/components/font-family/index.js +2 -2
  1152. package/build-module/components/font-family/index.js.map +1 -1
  1153. package/build-module/components/font-sizes/font-size-picker.js +2 -2
  1154. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  1155. package/build-module/components/font-sizes/utils.js +3 -3
  1156. package/build-module/components/font-sizes/utils.js.map +1 -1
  1157. package/build-module/components/font-sizes/with-font-sizes.js +3 -3
  1158. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  1159. package/build-module/components/global-styles/advanced-panel.js +18 -15
  1160. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  1161. package/build-module/components/global-styles/background-panel.js +190 -123
  1162. package/build-module/components/global-styles/background-panel.js.map +1 -1
  1163. package/build-module/components/global-styles/border-panel.js +63 -56
  1164. package/build-module/components/global-styles/border-panel.js.map +1 -1
  1165. package/build-module/components/global-styles/color-panel.js +114 -89
  1166. package/build-module/components/global-styles/color-panel.js.map +1 -1
  1167. package/build-module/components/global-styles/color-panel.native.js +13 -10
  1168. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  1169. package/build-module/components/global-styles/dimensions-panel.js +185 -172
  1170. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  1171. package/build-module/components/global-styles/filters-panel.js +80 -66
  1172. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  1173. package/build-module/components/global-styles/hooks.js +13 -2
  1174. package/build-module/components/global-styles/hooks.js.map +1 -1
  1175. package/build-module/components/global-styles/image-settings-panel.js +27 -22
  1176. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  1177. package/build-module/components/global-styles/index.js +2 -2
  1178. package/build-module/components/global-styles/index.js.map +1 -1
  1179. package/build-module/components/global-styles/shadow-panel-components.js +78 -67
  1180. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  1181. package/build-module/components/global-styles/theme-file-uri-utils.js +73 -0
  1182. package/build-module/components/global-styles/theme-file-uri-utils.js.map +1 -0
  1183. package/build-module/components/global-styles/typography-panel.js +177 -135
  1184. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  1185. package/build-module/components/global-styles/use-global-styles-context.native.js +431 -0
  1186. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -0
  1187. package/build-module/components/global-styles/use-global-styles-output.js +115 -79
  1188. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  1189. package/build-module/components/gradients/with-gradient.js +2 -2
  1190. package/build-module/components/gradients/with-gradient.js.map +1 -1
  1191. package/build-module/components/grid-visualizer/grid-item-resizer.js +161 -43
  1192. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  1193. package/build-module/components/grid-visualizer/grid-visualizer.js +31 -20
  1194. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
  1195. package/build-module/components/height-control/index.js +40 -32
  1196. package/build-module/components/height-control/index.js.map +1 -1
  1197. package/build-module/components/iframe/index.js +121 -72
  1198. package/build-module/components/iframe/index.js.map +1 -1
  1199. package/build-module/components/image-editor/aspect-ratio-dropdown.js +96 -74
  1200. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  1201. package/build-module/components/image-editor/context.js +5 -4
  1202. package/build-module/components/image-editor/context.js.map +1 -1
  1203. package/build-module/components/image-editor/cropper.js +28 -23
  1204. package/build-module/components/image-editor/cropper.js.map +1 -1
  1205. package/build-module/components/image-editor/form-controls.js +13 -7
  1206. package/build-module/components/image-editor/form-controls.js.map +1 -1
  1207. package/build-module/components/image-editor/index.js +24 -14
  1208. package/build-module/components/image-editor/index.js.map +1 -1
  1209. package/build-module/components/image-editor/rotation-button.js +2 -2
  1210. package/build-module/components/image-editor/rotation-button.js.map +1 -1
  1211. package/build-module/components/image-editor/zoom-dropdown.js +4 -4
  1212. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  1213. package/build-module/components/image-link-destinations/index.native.js +39 -27
  1214. package/build-module/components/image-link-destinations/index.native.js.map +1 -1
  1215. package/build-module/components/image-size-control/index.js +55 -45
  1216. package/build-module/components/image-size-control/index.js.map +1 -1
  1217. package/build-module/components/index.js +1 -0
  1218. package/build-module/components/index.js.map +1 -1
  1219. package/build-module/components/index.native.js +2 -0
  1220. package/build-module/components/index.native.js.map +1 -1
  1221. package/build-module/components/inner-blocks/button-block-appender.js +4 -4
  1222. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  1223. package/build-module/components/inner-blocks/default-block-appender.js +2 -2
  1224. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  1225. package/build-module/components/inner-blocks/index.js +41 -37
  1226. package/build-module/components/inner-blocks/index.js.map +1 -1
  1227. package/build-module/components/inner-blocks/index.native.js +31 -29
  1228. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  1229. package/build-module/components/inner-blocks/use-nested-settings-update.js +11 -14
  1230. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  1231. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +21 -17
  1232. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  1233. package/build-module/components/inner-blocks/with-client-id.js +2 -2
  1234. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  1235. package/build-module/components/inserter/block-patterns-explorer/index.js +23 -20
  1236. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  1237. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +40 -36
  1238. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  1239. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +28 -20
  1240. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  1241. package/build-module/components/inserter/block-patterns-tab/index.js +47 -29
  1242. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  1243. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +21 -5
  1244. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  1245. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +45 -32
  1246. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  1247. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +56 -42
  1248. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  1249. package/build-module/components/inserter/block-types-tab.js +111 -66
  1250. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  1251. package/build-module/components/inserter/block-types-tab.native.js +2 -2
  1252. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  1253. package/build-module/components/inserter/category-tabs/index.js +27 -20
  1254. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  1255. package/build-module/components/inserter/hooks/use-block-types-state.js +9 -4
  1256. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  1257. package/build-module/components/inserter/hooks/use-insertion-point.js +44 -8
  1258. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  1259. package/build-module/components/inserter/hooks/use-patterns-state.js +12 -5
  1260. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  1261. package/build-module/components/inserter/index.js +8 -8
  1262. package/build-module/components/inserter/index.js.map +1 -1
  1263. package/build-module/components/inserter/index.native.js +23 -19
  1264. package/build-module/components/inserter/index.native.js.map +1 -1
  1265. package/build-module/components/inserter/library.js +21 -7
  1266. package/build-module/components/inserter/library.js.map +1 -1
  1267. package/build-module/components/inserter/media-tab/media-list.js +9 -9
  1268. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  1269. package/build-module/components/inserter/media-tab/media-panel.js +20 -17
  1270. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  1271. package/build-module/components/inserter/media-tab/media-preview.js +95 -67
  1272. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  1273. package/build-module/components/inserter/media-tab/media-tab.js +46 -36
  1274. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  1275. package/build-module/components/inserter/media-tab/utils.js +2 -2
  1276. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  1277. package/build-module/components/inserter/menu.js +139 -104
  1278. package/build-module/components/inserter/menu.js.map +1 -1
  1279. package/build-module/components/inserter/menu.native.js +36 -28
  1280. package/build-module/components/inserter/menu.native.js.map +1 -1
  1281. package/build-module/components/inserter/mobile-tab-navigation.js +57 -40
  1282. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  1283. package/build-module/components/inserter/no-results.js +11 -7
  1284. package/build-module/components/inserter/no-results.js.map +1 -1
  1285. package/build-module/components/inserter/no-results.native.js +14 -8
  1286. package/build-module/components/inserter/no-results.native.js.map +1 -1
  1287. package/build-module/components/inserter/panel.js +17 -10
  1288. package/build-module/components/inserter/panel.js.map +1 -1
  1289. package/build-module/components/inserter/preview-panel.js +25 -20
  1290. package/build-module/components/inserter/preview-panel.js.map +1 -1
  1291. package/build-module/components/inserter/quick-inserter.js +38 -33
  1292. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  1293. package/build-module/components/inserter/reusable-block-rename-hint.js +21 -18
  1294. package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -1
  1295. package/build-module/components/inserter/reusable-blocks-tab.native.js +2 -2
  1296. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  1297. package/build-module/components/inserter/search-results.js +53 -41
  1298. package/build-module/components/inserter/search-results.js.map +1 -1
  1299. package/build-module/components/inserter/search-results.native.js +3 -3
  1300. package/build-module/components/inserter/search-results.native.js.map +1 -1
  1301. package/build-module/components/inserter/tabs.js +36 -19
  1302. package/build-module/components/inserter/tabs.js.map +1 -1
  1303. package/build-module/components/inserter/tabs.native.js +20 -18
  1304. package/build-module/components/inserter/tabs.native.js.map +1 -1
  1305. package/build-module/components/inserter/tips.js +7 -5
  1306. package/build-module/components/inserter/tips.js.map +1 -1
  1307. package/build-module/components/inserter-button/index.native.js +29 -23
  1308. package/build-module/components/inserter-button/index.native.js.map +1 -1
  1309. package/build-module/components/inserter-button/sparkles.js +8 -7
  1310. package/build-module/components/inserter-button/sparkles.js.map +1 -1
  1311. package/build-module/components/inserter-draggable-blocks/index.js +14 -13
  1312. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  1313. package/build-module/components/inserter-list-item/index.js +70 -63
  1314. package/build-module/components/inserter-list-item/index.js.map +1 -1
  1315. package/build-module/components/inserter-listbox/group.js +2 -2
  1316. package/build-module/components/inserter-listbox/group.js.map +1 -1
  1317. package/build-module/components/inserter-listbox/index.js +6 -4
  1318. package/build-module/components/inserter-listbox/index.js.map +1 -1
  1319. package/build-module/components/inserter-listbox/item.js +10 -8
  1320. package/build-module/components/inserter-listbox/item.js.map +1 -1
  1321. package/build-module/components/inserter-listbox/row.js +2 -2
  1322. package/build-module/components/inserter-listbox/row.js.map +1 -1
  1323. package/build-module/components/inspector-controls/block-support-slot-container.js +2 -2
  1324. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  1325. package/build-module/components/inspector-controls/block-support-tools-panel.js +5 -5
  1326. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  1327. package/build-module/components/inspector-controls/fill.js +22 -17
  1328. package/build-module/components/inspector-controls/fill.js.map +1 -1
  1329. package/build-module/components/inspector-controls/fill.native.js +14 -5
  1330. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  1331. package/build-module/components/inspector-controls/index.js +3 -3
  1332. package/build-module/components/inspector-controls/index.js.map +1 -1
  1333. package/build-module/components/inspector-controls/slot.js +11 -10
  1334. package/build-module/components/inspector-controls/slot.js.map +1 -1
  1335. package/build-module/components/inspector-controls/slot.native.js +3 -3
  1336. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  1337. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +7 -6
  1338. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  1339. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js +11 -9
  1340. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  1341. package/build-module/components/inspector-controls-tabs/index.js +45 -32
  1342. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  1343. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +8 -7
  1344. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  1345. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +21 -18
  1346. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  1347. package/build-module/components/inspector-controls-tabs/settings-tab.js +8 -2
  1348. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  1349. package/build-module/components/inspector-controls-tabs/styles-tab.js +33 -26
  1350. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  1351. package/build-module/components/inspector-popover-header/index.js +32 -26
  1352. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  1353. package/build-module/components/justify-content-control/index.js +3 -3
  1354. package/build-module/components/justify-content-control/index.js.map +1 -1
  1355. package/build-module/components/justify-content-control/ui.js +2 -2
  1356. package/build-module/components/justify-content-control/ui.js.map +1 -1
  1357. package/build-module/components/keyboard-shortcuts/index.js +9 -0
  1358. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  1359. package/build-module/components/letter-spacing-control/index.js +2 -2
  1360. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  1361. package/build-module/components/line-height-control/index.js +17 -16
  1362. package/build-module/components/line-height-control/index.js.map +1 -1
  1363. package/build-module/components/line-height-control/index.native.js +2 -2
  1364. package/build-module/components/line-height-control/index.native.js.map +1 -1
  1365. package/build-module/components/link-control/index.js +103 -83
  1366. package/build-module/components/link-control/index.js.map +1 -1
  1367. package/build-module/components/link-control/link-preview.js +65 -51
  1368. package/build-module/components/link-control/link-preview.js.map +1 -1
  1369. package/build-module/components/link-control/search-create-button.js +6 -5
  1370. package/build-module/components/link-control/search-create-button.js.map +1 -1
  1371. package/build-module/components/link-control/search-input.js +33 -31
  1372. package/build-module/components/link-control/search-input.js.map +1 -1
  1373. package/build-module/components/link-control/search-item.js +12 -11
  1374. package/build-module/components/link-control/search-item.js.map +1 -1
  1375. package/build-module/components/link-control/search-results.js +53 -48
  1376. package/build-module/components/link-control/search-results.js.map +1 -1
  1377. package/build-module/components/link-control/settings-drawer.js +39 -30
  1378. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  1379. package/build-module/components/link-control/settings.js +11 -9
  1380. package/build-module/components/link-control/settings.js.map +1 -1
  1381. package/build-module/components/list-view/appender.js +25 -22
  1382. package/build-module/components/list-view/appender.js.map +1 -1
  1383. package/build-module/components/list-view/aria-referenced-text.js +5 -4
  1384. package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
  1385. package/build-module/components/list-view/block-contents.js +36 -31
  1386. package/build-module/components/list-view/block-contents.js.map +1 -1
  1387. package/build-module/components/list-view/block-select-button.js +61 -44
  1388. package/build-module/components/list-view/block-select-button.js.map +1 -1
  1389. package/build-module/components/list-view/block.js +134 -97
  1390. package/build-module/components/list-view/block.js.map +1 -1
  1391. package/build-module/components/list-view/branch.js +102 -93
  1392. package/build-module/components/list-view/branch.js.map +1 -1
  1393. package/build-module/components/list-view/drop-indicator.js +40 -32
  1394. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  1395. package/build-module/components/list-view/expander.js +8 -6
  1396. package/build-module/components/list-view/expander.js.map +1 -1
  1397. package/build-module/components/list-view/index.js +44 -39
  1398. package/build-module/components/list-view/index.js.map +1 -1
  1399. package/build-module/components/list-view/leaf.js +7 -6
  1400. package/build-module/components/list-view/leaf.js.map +1 -1
  1401. package/build-module/components/media-placeholder/index.js +103 -81
  1402. package/build-module/components/media-placeholder/index.js.map +1 -1
  1403. package/build-module/components/media-placeholder/index.native.js +65 -52
  1404. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  1405. package/build-module/components/media-replace-flow/index.js +75 -61
  1406. package/build-module/components/media-replace-flow/index.js.map +1 -1
  1407. package/build-module/components/media-replace-flow/index.native.js +2 -2
  1408. package/build-module/components/media-replace-flow/index.native.js.map +1 -1
  1409. package/build-module/components/media-upload/index.native.js +46 -40
  1410. package/build-module/components/media-upload/index.native.js.map +1 -1
  1411. package/build-module/components/media-upload-progress/index.native.js +41 -16
  1412. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  1413. package/build-module/components/multi-selection-inspector/index.js +20 -15
  1414. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  1415. package/build-module/components/navigable-toolbar/index.js +9 -7
  1416. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  1417. package/build-module/components/observe-typing/index.js +5 -4
  1418. package/build-module/components/observe-typing/index.js.map +1 -1
  1419. package/build-module/components/panel-color-settings/index.js +2 -2
  1420. package/build-module/components/panel-color-settings/index.js.map +1 -1
  1421. package/build-module/components/plain-text/index.js +5 -5
  1422. package/build-module/components/plain-text/index.js.map +1 -1
  1423. package/build-module/components/plain-text/index.native.js +3 -3
  1424. package/build-module/components/plain-text/index.native.js.map +1 -1
  1425. package/build-module/components/provider/block-refs-provider.js +5 -4
  1426. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1427. package/build-module/components/provider/index.js +12 -8
  1428. package/build-module/components/provider/index.js.map +1 -1
  1429. package/build-module/components/provider/index.native.js +4 -3
  1430. package/build-module/components/provider/index.native.js.map +1 -1
  1431. package/build-module/components/provider/use-block-sync.js +19 -1
  1432. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1433. package/build-module/components/provider/with-registry-provider.js +32 -28
  1434. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1435. package/build-module/components/publish-date-time-picker/index.js +37 -17
  1436. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  1437. package/build-module/components/recursion-provider/index.js +6 -5
  1438. package/build-module/components/recursion-provider/index.js.map +1 -1
  1439. package/build-module/components/resizable-box-popover/index.js +7 -6
  1440. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  1441. package/build-module/components/resolution-tool/index.js +12 -11
  1442. package/build-module/components/resolution-tool/index.js.map +1 -1
  1443. package/build-module/components/responsive-block-control/index.js +32 -27
  1444. package/build-module/components/responsive-block-control/index.js.map +1 -1
  1445. package/build-module/components/responsive-block-control/label.js +13 -7
  1446. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1447. package/build-module/components/rich-text/content.js +8 -5
  1448. package/build-module/components/rich-text/content.js.map +1 -1
  1449. package/build-module/components/rich-text/embed-handler-picker.native.js +2 -2
  1450. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1451. package/build-module/components/rich-text/event-listeners/enter.js +33 -43
  1452. package/build-module/components/rich-text/event-listeners/enter.js.map +1 -1
  1453. package/build-module/components/rich-text/event-listeners/paste-handler.js +23 -43
  1454. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  1455. package/build-module/components/rich-text/format-edit.js +5 -5
  1456. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1457. package/build-module/components/rich-text/format-toolbar/index.js +40 -34
  1458. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1459. package/build-module/components/rich-text/format-toolbar/index.native.js +10 -7
  1460. package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
  1461. package/build-module/components/rich-text/format-toolbar-container.js +17 -12
  1462. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1463. package/build-module/components/rich-text/format-toolbar-container.native.js +5 -4
  1464. package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
  1465. package/build-module/components/rich-text/get-rich-text-values.js +3 -2
  1466. package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
  1467. package/build-module/components/rich-text/index.js +98 -78
  1468. package/build-module/components/rich-text/index.js.map +1 -1
  1469. package/build-module/components/rich-text/index.native.js +54 -48
  1470. package/build-module/components/rich-text/index.native.js.map +1 -1
  1471. package/build-module/components/rich-text/multiline.js +69 -41
  1472. package/build-module/components/rich-text/multiline.js.map +1 -1
  1473. package/build-module/components/rich-text/native/format-edit.js +3 -4
  1474. package/build-module/components/rich-text/native/format-edit.js.map +1 -1
  1475. package/build-module/components/rich-text/native/index.native.js +89 -80
  1476. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  1477. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +20 -14
  1478. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  1479. package/build-module/components/rich-text/toolbar-button.js +8 -7
  1480. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1481. package/build-module/components/rich-text/utils.js +5 -4
  1482. package/build-module/components/rich-text/utils.js.map +1 -1
  1483. package/build-module/components/rich-text/with-deprecations.js +2 -2
  1484. package/build-module/components/rich-text/with-deprecations.js.map +1 -1
  1485. package/build-module/components/segmented-text-control/index.js +21 -18
  1486. package/build-module/components/segmented-text-control/index.js.map +1 -1
  1487. package/build-module/components/skip-to-selected-block/index.js +5 -4
  1488. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1489. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +29 -14
  1490. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  1491. package/build-module/components/spacing-sizes-control/index.js +24 -19
  1492. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  1493. package/build-module/components/spacing-sizes-control/input-controls/axial.js +20 -18
  1494. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  1495. package/build-module/components/spacing-sizes-control/input-controls/separated.js +19 -17
  1496. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  1497. package/build-module/components/spacing-sizes-control/input-controls/single.js +2 -2
  1498. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  1499. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +106 -101
  1500. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  1501. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +44 -34
  1502. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  1503. package/build-module/components/spacing-sizes-control/utils.js +1 -0
  1504. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  1505. package/build-module/components/text-alignment-control/index.js +4 -4
  1506. package/build-module/components/text-alignment-control/index.js.map +1 -1
  1507. package/build-module/components/text-decoration-control/index.js +4 -4
  1508. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1509. package/build-module/components/text-transform-control/index.js +4 -4
  1510. package/build-module/components/text-transform-control/index.js.map +1 -1
  1511. package/build-module/components/tool-selector/index.js +37 -26
  1512. package/build-module/components/tool-selector/index.js.map +1 -1
  1513. package/build-module/components/typewriter/index.js +5 -4
  1514. package/build-module/components/typewriter/index.js.map +1 -1
  1515. package/build-module/components/ungroup-button/index.native.js +8 -6
  1516. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1517. package/build-module/components/unit-control/index.js +2 -2
  1518. package/build-module/components/unit-control/index.js.map +1 -1
  1519. package/build-module/components/unsupported-block-details/index.native.js +32 -28
  1520. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  1521. package/build-module/components/url-input/button.js +32 -28
  1522. package/build-module/components/url-input/button.js.map +1 -1
  1523. package/build-module/components/url-input/index.js +30 -22
  1524. package/build-module/components/url-input/index.js.map +1 -1
  1525. package/build-module/components/url-input/index.native.js +2 -2
  1526. package/build-module/components/url-input/index.native.js.map +1 -1
  1527. package/build-module/components/url-popover/image-url-input-ui.js +106 -91
  1528. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1529. package/build-module/components/url-popover/index.js +25 -19
  1530. package/build-module/components/url-popover/index.js.map +1 -1
  1531. package/build-module/components/url-popover/link-editor.js +18 -16
  1532. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1533. package/build-module/components/url-popover/link-viewer-url.js +8 -7
  1534. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1535. package/build-module/components/url-popover/link-viewer.js +17 -15
  1536. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1537. package/build-module/components/use-block-commands/index.js +2 -2
  1538. package/build-module/components/use-block-commands/index.js.map +1 -1
  1539. package/build-module/components/video-player/gridicon-play.native.js +8 -7
  1540. package/build-module/components/video-player/gridicon-play.native.js.map +1 -1
  1541. package/build-module/components/video-player/index.native.js +44 -40
  1542. package/build-module/components/video-player/index.native.js.map +1 -1
  1543. package/build-module/components/warning/index.js +36 -27
  1544. package/build-module/components/warning/index.js.map +1 -1
  1545. package/build-module/components/warning/index.native.js +18 -13
  1546. package/build-module/components/warning/index.native.js.map +1 -1
  1547. package/build-module/components/writing-flow/index.js +12 -7
  1548. package/build-module/components/writing-flow/index.js.map +1 -1
  1549. package/build-module/components/writing-flow/use-clipboard-handler.js +65 -15
  1550. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  1551. package/build-module/components/writing-flow/use-input.js +45 -3
  1552. package/build-module/components/writing-flow/use-input.js.map +1 -1
  1553. package/build-module/components/writing-flow/use-tab-nav.js +9 -4
  1554. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  1555. package/build-module/components/writing-mode-control/index.js +4 -4
  1556. package/build-module/components/writing-mode-control/index.js.map +1 -1
  1557. package/build-module/hooks/align.js +11 -10
  1558. package/build-module/hooks/align.js.map +1 -1
  1559. package/build-module/hooks/anchor.js +30 -22
  1560. package/build-module/hooks/anchor.js.map +1 -1
  1561. package/build-module/hooks/background.js +7 -6
  1562. package/build-module/hooks/background.js.map +1 -1
  1563. package/build-module/hooks/block-bindings.js +81 -0
  1564. package/build-module/hooks/block-bindings.js.map +1 -0
  1565. package/build-module/hooks/block-hooks.js +42 -33
  1566. package/build-module/hooks/block-hooks.js.map +1 -1
  1567. package/build-module/hooks/block-style-variation.js +136 -0
  1568. package/build-module/hooks/block-style-variation.js.map +1 -0
  1569. package/build-module/hooks/border.js +9 -8
  1570. package/build-module/hooks/border.js.map +1 -1
  1571. package/build-module/hooks/color.js +14 -12
  1572. package/build-module/hooks/color.js.map +1 -1
  1573. package/build-module/hooks/content-lock-ui.js +27 -40
  1574. package/build-module/hooks/content-lock-ui.js.map +1 -1
  1575. package/build-module/hooks/contrast-checker.js +2 -2
  1576. package/build-module/hooks/contrast-checker.js.map +1 -1
  1577. package/build-module/hooks/custom-class-name.js +19 -18
  1578. package/build-module/hooks/custom-class-name.js.map +1 -1
  1579. package/build-module/hooks/custom-class-name.native.js +2 -2
  1580. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  1581. package/build-module/hooks/dimensions.js +28 -23
  1582. package/build-module/hooks/dimensions.js.map +1 -1
  1583. package/build-module/hooks/duotone.js +51 -45
  1584. package/build-module/hooks/duotone.js.map +1 -1
  1585. package/build-module/hooks/font-family.js +3 -3
  1586. package/build-module/hooks/font-family.js.map +1 -1
  1587. package/build-module/hooks/font-size.js +2 -2
  1588. package/build-module/hooks/font-size.js.map +1 -1
  1589. package/build-module/hooks/index.js +4 -2
  1590. package/build-module/hooks/index.js.map +1 -1
  1591. package/build-module/hooks/layout-child.js +37 -25
  1592. package/build-module/hooks/layout-child.js.map +1 -1
  1593. package/build-module/hooks/layout.js +65 -57
  1594. package/build-module/hooks/layout.js.map +1 -1
  1595. package/build-module/hooks/line-height.js +2 -2
  1596. package/build-module/hooks/line-height.js.map +1 -1
  1597. package/build-module/hooks/position.js +30 -28
  1598. package/build-module/hooks/position.js.map +1 -1
  1599. package/build-module/hooks/spacing-visualizer.js +10 -9
  1600. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  1601. package/build-module/hooks/style.js +25 -13
  1602. package/build-module/hooks/style.js.map +1 -1
  1603. package/build-module/hooks/text-align.js +23 -22
  1604. package/build-module/hooks/text-align.js.map +1 -1
  1605. package/build-module/hooks/typography.js +6 -5
  1606. package/build-module/hooks/typography.js.map +1 -1
  1607. package/build-module/hooks/typography.native.js +12 -8
  1608. package/build-module/hooks/typography.native.js.map +1 -1
  1609. package/build-module/hooks/use-bindings-attributes.js +85 -25
  1610. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  1611. package/build-module/hooks/use-color-props.js +2 -2
  1612. package/build-module/hooks/use-color-props.js.map +1 -1
  1613. package/build-module/hooks/use-typography-props.js +5 -5
  1614. package/build-module/hooks/use-typography-props.js.map +1 -1
  1615. package/build-module/hooks/use-zoom-out.js +2 -2
  1616. package/build-module/hooks/use-zoom-out.js.map +1 -1
  1617. package/build-module/hooks/utils.js +20 -19
  1618. package/build-module/hooks/utils.js.map +1 -1
  1619. package/build-module/layouts/constrained.js +68 -58
  1620. package/build-module/layouts/constrained.js.map +1 -1
  1621. package/build-module/layouts/flex.js +77 -61
  1622. package/build-module/layouts/flex.js.map +1 -1
  1623. package/build-module/layouts/grid.js +154 -130
  1624. package/build-module/layouts/grid.js.map +1 -1
  1625. package/build-module/private-apis.js +11 -2
  1626. package/build-module/private-apis.js.map +1 -1
  1627. package/build-module/store/actions.js +172 -46
  1628. package/build-module/store/actions.js.map +1 -1
  1629. package/build-module/store/get-block-settings.js +2 -46
  1630. package/build-module/store/get-block-settings.js.map +1 -1
  1631. package/build-module/store/private-actions.js +24 -0
  1632. package/build-module/store/private-actions.js.map +1 -1
  1633. package/build-module/store/private-keys.js +1 -0
  1634. package/build-module/store/private-keys.js.map +1 -1
  1635. package/build-module/store/private-selectors.js +5 -0
  1636. package/build-module/store/private-selectors.js.map +1 -1
  1637. package/build-module/store/reducer.js +21 -14
  1638. package/build-module/store/reducer.js.map +1 -1
  1639. package/build-module/store/selectors.js +33 -3
  1640. package/build-module/store/selectors.js.map +1 -1
  1641. package/build-module/store/utils.js +1 -0
  1642. package/build-module/store/utils.js.map +1 -1
  1643. package/build-module/utils/selection.js +7 -0
  1644. package/build-module/utils/selection.js.map +1 -1
  1645. package/build-module/utils/transform-styles/index.js +12 -7
  1646. package/build-module/utils/transform-styles/index.js.map +1 -1
  1647. package/build-style/content-rtl.css +93 -96
  1648. package/build-style/content.css +93 -96
  1649. package/build-style/style-rtl.css +105 -76
  1650. package/build-style/style.css +105 -76
  1651. package/build-types/components/block-context/index.d.ts +1 -1
  1652. package/build-types/components/block-context/index.d.ts.map +1 -1
  1653. package/package.json +34 -33
  1654. package/src/components/alignment-control/test/index.js +1 -1
  1655. package/src/components/audio-player/audio-url-parser.native.js +20 -0
  1656. package/src/components/audio-player/index.native.js +221 -0
  1657. package/src/components/audio-player/styles.native.scss +114 -0
  1658. package/src/components/audio-player/test/audio-url-parser.native.js +53 -0
  1659. package/src/components/block-actions/index.js +5 -1
  1660. package/src/components/block-alignment-control/ui.js +2 -2
  1661. package/src/components/block-bindings-toolbar-indicator/index.js +125 -10
  1662. package/src/components/block-bindings-toolbar-indicator/style.scss +7 -8
  1663. package/src/components/block-canvas/style.scss +1 -5
  1664. package/src/components/block-card/index.js +11 -7
  1665. package/src/components/block-card/style.scss +0 -11
  1666. package/src/components/block-compare/index.js +2 -2
  1667. package/src/components/block-content-overlay/content.scss +4 -37
  1668. package/src/components/block-draggable/test/helpers.native.js +8 -8
  1669. package/src/components/block-edit/edit.js +2 -2
  1670. package/src/components/block-edit/index.js +13 -2
  1671. package/src/components/block-edit/multiple-usage-warning.js +46 -0
  1672. package/src/components/block-icon/index.js +2 -2
  1673. package/src/components/block-inspector/index.js +4 -5
  1674. package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -5
  1675. package/src/components/block-list/block-invalid-warning.native.js +1 -1
  1676. package/src/components/block-list/block.js +67 -21
  1677. package/src/components/block-list/block.native.js +19 -11
  1678. package/src/components/block-list/content.scss +46 -73
  1679. package/src/components/block-list/index.js +2 -2
  1680. package/src/components/block-list/use-block-props/index.js +4 -2
  1681. package/src/components/block-list/use-block-props/use-scroll-into-view.js +38 -0
  1682. package/src/components/block-list-appender/index.js +2 -2
  1683. package/src/components/block-mover/button.js +2 -2
  1684. package/src/components/block-mover/index.js +2 -2
  1685. package/src/components/block-patterns-list/index.js +33 -5
  1686. package/src/components/block-patterns-list/style.scss +23 -20
  1687. package/src/components/block-popover/README.md +1 -1
  1688. package/src/components/block-popover/cover.js +22 -7
  1689. package/src/components/block-popover/inbetween.js +2 -2
  1690. package/src/components/block-popover/index.js +24 -6
  1691. package/src/components/block-preview/index.js +2 -2
  1692. package/src/components/block-preview/style.scss +0 -26
  1693. package/src/components/block-settings/container.native.js +2 -0
  1694. package/src/components/block-settings-menu/block-settings-dropdown.js +14 -6
  1695. package/src/components/block-settings-menu-controls/index.js +25 -16
  1696. package/src/components/block-styles/index.js +2 -2
  1697. package/src/components/block-toolbar/index.js +4 -4
  1698. package/src/components/block-tools/block-selection-button.js +2 -2
  1699. package/src/components/block-tools/block-toolbar-breadcrumb.js +5 -5
  1700. package/src/components/block-tools/block-toolbar-popover.js +4 -7
  1701. package/src/components/block-tools/empty-block-inserter.js +2 -2
  1702. package/src/components/block-tools/index.js +30 -8
  1703. package/src/components/block-tools/insertion-point.js +4 -4
  1704. package/src/components/block-tools/style.scss +10 -2
  1705. package/src/components/block-tools/zoom-out-mode-inserters.js +75 -22
  1706. package/src/components/block-variation-picker/index.js +2 -2
  1707. package/src/components/border-radius-control/all-input-control.js +1 -1
  1708. package/src/components/border-radius-control/input-controls.js +1 -1
  1709. package/src/components/button-block-appender/index.js +2 -2
  1710. package/src/components/child-layout-control/index.js +26 -14
  1711. package/src/components/colors/utils.js +2 -2
  1712. package/src/components/colors/with-colors.js +2 -1
  1713. package/src/components/colors-gradients/control.js +6 -14
  1714. package/src/components/colors-gradients/dropdown.js +2 -2
  1715. package/src/components/colors-gradients/panel-color-gradient-settings.js +2 -2
  1716. package/src/components/colors-gradients/test/control.js +3 -3
  1717. package/src/components/contrast-checker/test/index.js +8 -8
  1718. package/src/components/convert-to-group-buttons/index.js +10 -1
  1719. package/src/components/default-block-appender/index.js +2 -2
  1720. package/src/components/dimensions-tool/aspect-ratio-tool.js +41 -68
  1721. package/src/components/dimensions-tool/scale-tool.js +1 -1
  1722. package/src/components/dimensions-tool/test/index.js +10 -0
  1723. package/src/components/dimensions-tool/width-height-tool.js +2 -2
  1724. package/src/components/editable-text/README.md +0 -4
  1725. package/src/components/font-sizes/utils.js +2 -1
  1726. package/src/components/global-styles/background-panel.js +119 -49
  1727. package/src/components/global-styles/border-panel.js +8 -5
  1728. package/src/components/global-styles/color-panel.js +30 -25
  1729. package/src/components/global-styles/color-panel.native.js +1 -1
  1730. package/src/components/global-styles/dimensions-panel.js +11 -12
  1731. package/src/components/global-styles/filters-panel.js +2 -2
  1732. package/src/components/global-styles/hooks.js +13 -1
  1733. package/src/components/global-styles/index.js +3 -0
  1734. package/src/components/global-styles/shadow-panel-components.js +17 -14
  1735. package/src/components/global-styles/test/get-global-styles-changes.js +0 -2
  1736. package/src/components/global-styles/test/theme-file-uri-utils.js +66 -0
  1737. package/src/components/global-styles/test/use-global-styles-context.native.js +434 -0
  1738. package/src/components/global-styles/test/use-global-styles-output.js +13 -12
  1739. package/src/components/global-styles/theme-file-uri-utils.js +77 -0
  1740. package/src/components/global-styles/typography-panel.js +50 -5
  1741. package/src/components/global-styles/use-global-styles-context.native.js +586 -0
  1742. package/src/components/global-styles/use-global-styles-output.js +200 -102
  1743. package/src/components/grid-visualizer/grid-item-resizer.js +169 -40
  1744. package/src/components/grid-visualizer/grid-visualizer.js +27 -7
  1745. package/src/components/grid-visualizer/style.scss +2 -1
  1746. package/src/components/height-control/index.js +1 -1
  1747. package/src/components/iframe/content.scss +67 -0
  1748. package/src/components/iframe/index.js +119 -39
  1749. package/src/components/image-editor/aspect-ratio-dropdown.js +91 -59
  1750. package/src/components/image-editor/cropper.js +2 -2
  1751. package/src/components/image-editor/index.js +1 -1
  1752. package/src/components/image-editor/test/index.js +22 -0
  1753. package/src/components/index.js +1 -0
  1754. package/src/components/index.native.js +7 -0
  1755. package/src/components/inner-blocks/button-block-appender.js +2 -2
  1756. package/src/components/inner-blocks/index.js +19 -17
  1757. package/src/components/inner-blocks/use-nested-settings-update.js +9 -16
  1758. package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -1
  1759. package/src/components/inserter/block-patterns-explorer/pattern-list.js +3 -2
  1760. package/src/components/inserter/block-patterns-tab/index.js +17 -1
  1761. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +16 -2
  1762. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +8 -2
  1763. package/src/components/inserter/block-patterns-tab/patterns-filter.js +3 -2
  1764. package/src/components/inserter/block-types-tab.js +119 -79
  1765. package/src/components/inserter/category-tabs/index.js +1 -1
  1766. package/src/components/inserter/hooks/use-block-types-state.js +21 -5
  1767. package/src/components/inserter/hooks/use-insertion-point.js +68 -8
  1768. package/src/components/inserter/hooks/use-patterns-state.js +18 -5
  1769. package/src/components/inserter/index.js +4 -5
  1770. package/src/components/inserter/library.js +23 -7
  1771. package/src/components/inserter/media-tab/media-preview.js +2 -2
  1772. package/src/components/inserter/menu.js +135 -116
  1773. package/src/components/inserter/quick-inserter.js +5 -3
  1774. package/src/components/inserter/search-results.js +2 -1
  1775. package/src/components/inserter/style.scss +47 -26
  1776. package/src/components/inserter/tabs.js +29 -15
  1777. package/src/components/inserter-list-item/index.js +3 -3
  1778. package/src/components/inspector-controls/fill.native.js +3 -5
  1779. package/src/components/inspector-controls-tabs/index.js +15 -3
  1780. package/src/components/inspector-controls-tabs/style.scss +2 -10
  1781. package/src/components/keyboard-shortcuts/index.js +12 -0
  1782. package/src/components/line-height-control/test/index.js +16 -14
  1783. package/src/components/link-control/index.js +12 -3
  1784. package/src/components/link-control/link-preview.js +3 -3
  1785. package/src/components/link-control/search-results.js +2 -2
  1786. package/src/components/link-control/style.scss +9 -3
  1787. package/src/components/list-view/block-contents.js +3 -3
  1788. package/src/components/list-view/block-select-button.js +14 -3
  1789. package/src/components/list-view/block.js +54 -30
  1790. package/src/components/list-view/drop-indicator.js +3 -3
  1791. package/src/components/list-view/index.js +2 -2
  1792. package/src/components/list-view/leaf.js +2 -5
  1793. package/src/components/media-placeholder/index.js +5 -5
  1794. package/src/components/media-placeholder/index.native.js +2 -2
  1795. package/src/components/media-replace-flow/index.js +2 -2
  1796. package/src/components/media-upload-progress/index.native.js +22 -2
  1797. package/src/components/plain-text/index.js +2 -2
  1798. package/src/components/provider/use-block-sync.js +27 -1
  1799. package/src/components/provider/with-registry-provider.js +33 -38
  1800. package/src/components/publish-date-time-picker/index.js +43 -15
  1801. package/src/components/resolution-tool/index.js +1 -1
  1802. package/src/components/responsive-block-control/index.js +2 -2
  1803. package/src/components/rich-text/README.md +0 -8
  1804. package/src/components/rich-text/event-listeners/enter.js +28 -48
  1805. package/src/components/rich-text/event-listeners/paste-handler.js +21 -58
  1806. package/src/components/rich-text/format-toolbar/index.js +2 -2
  1807. package/src/components/rich-text/index.js +21 -8
  1808. package/src/components/rich-text/index.native.js +2 -2
  1809. package/src/components/rich-text/multiline.js +31 -3
  1810. package/src/components/rich-text/native/index.native.js +3 -2
  1811. package/src/components/rich-text/native/test/index.native.js +13 -13
  1812. package/src/components/segmented-text-control/index.js +2 -2
  1813. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +48 -16
  1814. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -3
  1815. package/src/components/spacing-sizes-control/utils.js +2 -0
  1816. package/src/components/text-alignment-control/index.js +2 -2
  1817. package/src/components/text-decoration-control/index.js +2 -2
  1818. package/src/components/text-transform-control/index.js +2 -2
  1819. package/src/components/url-input/index.js +4 -4
  1820. package/src/components/url-popover/link-editor.js +2 -2
  1821. package/src/components/url-popover/link-viewer-url.js +2 -2
  1822. package/src/components/url-popover/link-viewer.js +2 -2
  1823. package/src/components/video-player/index.native.js +1 -1
  1824. package/src/components/warning/index.js +2 -2
  1825. package/src/components/writing-flow/index.js +2 -2
  1826. package/src/components/writing-flow/use-clipboard-handler.js +96 -33
  1827. package/src/components/writing-flow/use-input.js +75 -1
  1828. package/src/components/writing-flow/use-tab-nav.js +10 -1
  1829. package/src/components/writing-mode-control/index.js +2 -5
  1830. package/src/content.scss +1 -0
  1831. package/src/hooks/align.js +2 -2
  1832. package/src/hooks/background.js +1 -1
  1833. package/src/hooks/block-bindings.js +92 -0
  1834. package/src/hooks/block-bindings.scss +3 -0
  1835. package/src/hooks/block-style-variation.js +156 -0
  1836. package/src/hooks/border.js +3 -3
  1837. package/src/hooks/color.js +12 -19
  1838. package/src/hooks/color.scss +1 -0
  1839. package/src/hooks/content-lock-ui.js +16 -33
  1840. package/src/hooks/custom-class-name.js +2 -2
  1841. package/src/hooks/custom-class-name.native.js +2 -2
  1842. package/src/hooks/dimensions.js +2 -2
  1843. package/src/hooks/font-family.js +1 -1
  1844. package/src/hooks/index.js +4 -0
  1845. package/src/hooks/layout-child.js +34 -20
  1846. package/src/hooks/layout.js +3 -4
  1847. package/src/hooks/position.js +3 -3
  1848. package/src/hooks/style.js +9 -1
  1849. package/src/hooks/text-align.js +20 -14
  1850. package/src/hooks/use-bindings-attributes.js +93 -18
  1851. package/src/hooks/use-color-props.js +2 -2
  1852. package/src/hooks/use-typography-props.js +4 -3
  1853. package/src/hooks/use-zoom-out.js +9 -2
  1854. package/src/hooks/utils.js +23 -6
  1855. package/src/layouts/flex.js +2 -2
  1856. package/src/layouts/grid.js +8 -12
  1857. package/src/private-apis.js +10 -0
  1858. package/src/store/actions.js +261 -73
  1859. package/src/store/get-block-settings.js +1 -46
  1860. package/src/store/private-actions.js +24 -0
  1861. package/src/store/private-keys.js +1 -0
  1862. package/src/store/private-selectors.js +15 -0
  1863. package/src/store/reducer.js +24 -11
  1864. package/src/store/selectors.js +65 -8
  1865. package/src/store/utils.js +2 -0
  1866. package/src/style.scss +1 -0
  1867. package/src/utils/selection.js +8 -0
  1868. package/src/utils/test/__snapshots__/transform-styles.js.snap +6 -0
  1869. package/src/utils/test/transform-styles.js +14 -0
  1870. package/src/utils/transform-styles/index.js +14 -9
  1871. package/tsconfig.tsbuildinfo +1 -1
  1872. package/build/components/rich-text/split-value.js +0 -81
  1873. package/build/components/rich-text/split-value.js.map +0 -1
  1874. package/build-module/components/rich-text/split-value.js +0 -75
  1875. package/build-module/components/rich-text/split-value.js.map +0 -1
  1876. package/src/components/rich-text/split-value.js +0 -64
@@ -4,7 +4,7 @@
4
4
  import { useSelect, useDispatch } from '@wordpress/data';
5
5
  import { useRefEffect } from '@wordpress/compose';
6
6
  import { ENTER, BACKSPACE, DELETE } from '@wordpress/keycodes';
7
- import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
7
+ import { createBlock, getDefaultBlockName, hasBlockSupport, getBlockTransforms, findTransform } from '@wordpress/blocks';
8
8
 
9
9
  /**
10
10
  * Internal dependencies
@@ -18,15 +18,23 @@ export default function useInput() {
18
18
  const {
19
19
  __unstableIsFullySelected,
20
20
  getSelectedBlockClientIds,
21
+ getSelectedBlockClientId,
21
22
  __unstableIsSelectionMergeable,
22
- hasMultiSelection
23
+ hasMultiSelection,
24
+ getBlockName,
25
+ canInsertBlockType,
26
+ getBlockRootClientId,
27
+ getSelectionStart,
28
+ getSelectionEnd,
29
+ getBlockAttributes
23
30
  } = useSelect(blockEditorStore);
24
31
  const {
25
32
  replaceBlocks,
26
33
  __unstableSplitSelection,
27
34
  removeBlocks,
28
35
  __unstableDeleteSelection,
29
- __unstableExpandSelection
36
+ __unstableExpandSelection,
37
+ __unstableMarkAutomaticChange
30
38
  } = useDispatch(blockEditorStore);
31
39
  return useRefEffect(node => {
32
40
  function onBeforeInput(event) {
@@ -42,6 +50,40 @@ export default function useInput() {
42
50
  return;
43
51
  }
44
52
  if (!hasMultiSelection()) {
53
+ if (event.keyCode === ENTER) {
54
+ if (event.shiftKey || __unstableIsFullySelected()) {
55
+ return;
56
+ }
57
+ const clientId = getSelectedBlockClientId();
58
+ const blockName = getBlockName(clientId);
59
+ const selectionStart = getSelectionStart();
60
+ const selectionEnd = getSelectionEnd();
61
+ if (selectionStart.attributeKey === selectionEnd.attributeKey) {
62
+ const selectedAttributeValue = getBlockAttributes(clientId)[selectionStart.attributeKey];
63
+ const transforms = getBlockTransforms('from').filter(({
64
+ type
65
+ }) => type === 'enter');
66
+ const transformation = findTransform(transforms, item => {
67
+ return item.regExp.test(selectedAttributeValue);
68
+ });
69
+ if (transformation) {
70
+ replaceBlocks(clientId, transformation.transform({
71
+ content: selectedAttributeValue
72
+ }));
73
+ __unstableMarkAutomaticChange();
74
+ return;
75
+ }
76
+ }
77
+ if (!hasBlockSupport(blockName, 'splitting', false) && !event.__deprecatedOnSplit) {
78
+ return;
79
+ }
80
+
81
+ // Ensure template is not locked.
82
+ if (canInsertBlockType(blockName, getBlockRootClientId(clientId))) {
83
+ __unstableSplitSelection();
84
+ event.preventDefault();
85
+ }
86
+ }
45
87
  return;
46
88
  }
47
89
  if (event.keyCode === ENTER) {
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","useRefEffect","ENTER","BACKSPACE","DELETE","createBlock","getDefaultBlockName","store","blockEditorStore","useInput","__unstableIsFullySelected","getSelectedBlockClientIds","__unstableIsSelectionMergeable","hasMultiSelection","replaceBlocks","__unstableSplitSelection","removeBlocks","__unstableDeleteSelection","__unstableExpandSelection","node","onBeforeInput","event","contentEditable","preventDefault","onKeyDown","defaultPrevented","keyCode","key","length","metaKey","ctrlKey","ownerDocument","defaultView","getSelection","removeAllRanges","onCompositionStart","addEventListener","removeEventListener"],"sources":["@wordpress/block-editor/src/components/writing-flow/use-input.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\nimport { ENTER, BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Handles input for selections across blocks.\n */\nexport default function useInput() {\n\tconst {\n\t\t__unstableIsFullySelected,\n\t\tgetSelectedBlockClientIds,\n\t\t__unstableIsSelectionMergeable,\n\t\thasMultiSelection,\n\t} = useSelect( blockEditorStore );\n\tconst {\n\t\treplaceBlocks,\n\t\t__unstableSplitSelection,\n\t\tremoveBlocks,\n\t\t__unstableDeleteSelection,\n\t\t__unstableExpandSelection,\n\t} = useDispatch( blockEditorStore );\n\n\treturn useRefEffect( ( node ) => {\n\t\tfunction onBeforeInput( event ) {\n\t\t\t// If writing flow is editable, NEVER allow the browser to alter the\n\t\t\t// DOM. This will cause React errors (and the DOM should only be\n\t\t\t// altered in a controlled fashion).\n\t\t\tif ( node.contentEditable === 'true' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\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 ( ! hasMultiSelection() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.keyCode === ENTER ) {\n\t\t\t\tnode.contentEditable = false;\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif ( __unstableIsFullySelected() ) {\n\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\tgetSelectedBlockClientIds(),\n\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t__unstableSplitSelection();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tevent.keyCode === BACKSPACE ||\n\t\t\t\tevent.keyCode === DELETE\n\t\t\t) {\n\t\t\t\tnode.contentEditable = false;\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif ( __unstableIsFullySelected() ) {\n\t\t\t\t\tremoveBlocks( getSelectedBlockClientIds() );\n\t\t\t\t} else if ( __unstableIsSelectionMergeable() ) {\n\t\t\t\t\t__unstableDeleteSelection( event.keyCode === DELETE );\n\t\t\t\t} else {\n\t\t\t\t\t__unstableExpandSelection();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t// If key.length is longer than 1, it's a control key that doesn't\n\t\t\t\t// input anything.\n\t\t\t\tevent.key.length === 1 &&\n\t\t\t\t! ( event.metaKey || event.ctrlKey )\n\t\t\t) {\n\t\t\t\tnode.contentEditable = false;\n\t\t\t\tif ( __unstableIsSelectionMergeable() ) {\n\t\t\t\t\t__unstableDeleteSelection( event.keyCode === DELETE );\n\t\t\t\t} else {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t// Safari does not stop default behaviour with either\n\t\t\t\t\t// event.preventDefault() or node.contentEditable = false, so\n\t\t\t\t\t// remove the selection to stop browser manipulation.\n\t\t\t\t\tnode.ownerDocument.defaultView\n\t\t\t\t\t\t.getSelection()\n\t\t\t\t\t\t.removeAllRanges();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction onCompositionStart( event ) {\n\t\t\tif ( ! hasMultiSelection() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tnode.contentEditable = false;\n\n\t\t\tif ( __unstableIsSelectionMergeable() ) {\n\t\t\t\t__unstableDeleteSelection();\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t// Safari does not stop default behaviour with either\n\t\t\t\t// event.preventDefault() or node.contentEditable = false, so\n\t\t\t\t// remove the selection to stop browser manipulation.\n\t\t\t\tnode.ownerDocument.defaultView.getSelection().removeAllRanges();\n\t\t\t}\n\t\t}\n\n\t\tnode.addEventListener( 'beforeinput', onBeforeInput );\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\tnode.addEventListener( 'compositionstart', onCompositionStart );\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'beforeinput', onBeforeInput );\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\tnode.removeEventListener( 'compositionstart', onCompositionStart );\n\t\t};\n\t}, [] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","useDispatch","useRefEffect","ENTER","BACKSPACE","DELETE","createBlock","getDefaultBlockName","hasBlockSupport","getBlockTransforms","findTransform","store","blockEditorStore","useInput","__unstableIsFullySelected","getSelectedBlockClientIds","getSelectedBlockClientId","__unstableIsSelectionMergeable","hasMultiSelection","getBlockName","canInsertBlockType","getBlockRootClientId","getSelectionStart","getSelectionEnd","getBlockAttributes","replaceBlocks","__unstableSplitSelection","removeBlocks","__unstableDeleteSelection","__unstableExpandSelection","__unstableMarkAutomaticChange","node","onBeforeInput","event","contentEditable","preventDefault","onKeyDown","defaultPrevented","keyCode","shiftKey","clientId","blockName","selectionStart","selectionEnd","attributeKey","selectedAttributeValue","transforms","filter","type","transformation","item","regExp","test","transform","content","__deprecatedOnSplit","key","length","metaKey","ctrlKey","ownerDocument","defaultView","getSelection","removeAllRanges","onCompositionStart","addEventListener","removeEventListener"],"sources":["@wordpress/block-editor/src/components/writing-flow/use-input.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\nimport { ENTER, BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport {\n\tcreateBlock,\n\tgetDefaultBlockName,\n\thasBlockSupport,\n\tgetBlockTransforms,\n\tfindTransform,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Handles input for selections across blocks.\n */\nexport default function useInput() {\n\tconst {\n\t\t__unstableIsFullySelected,\n\t\tgetSelectedBlockClientIds,\n\t\tgetSelectedBlockClientId,\n\t\t__unstableIsSelectionMergeable,\n\t\thasMultiSelection,\n\t\tgetBlockName,\n\t\tcanInsertBlockType,\n\t\tgetBlockRootClientId,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t\tgetBlockAttributes,\n\t} = useSelect( blockEditorStore );\n\tconst {\n\t\treplaceBlocks,\n\t\t__unstableSplitSelection,\n\t\tremoveBlocks,\n\t\t__unstableDeleteSelection,\n\t\t__unstableExpandSelection,\n\t\t__unstableMarkAutomaticChange,\n\t} = useDispatch( blockEditorStore );\n\n\treturn useRefEffect( ( node ) => {\n\t\tfunction onBeforeInput( event ) {\n\t\t\t// If writing flow is editable, NEVER allow the browser to alter the\n\t\t\t// DOM. This will cause React errors (and the DOM should only be\n\t\t\t// altered in a controlled fashion).\n\t\t\tif ( node.contentEditable === 'true' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\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 ( ! hasMultiSelection() ) {\n\t\t\t\tif ( event.keyCode === ENTER ) {\n\t\t\t\t\tif ( event.shiftKey || __unstableIsFullySelected() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\t\t\tconst blockName = getBlockName( clientId );\n\t\t\t\t\tconst selectionStart = getSelectionStart();\n\t\t\t\t\tconst selectionEnd = getSelectionEnd();\n\n\t\t\t\t\tif (\n\t\t\t\t\t\tselectionStart.attributeKey ===\n\t\t\t\t\t\tselectionEnd.attributeKey\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst selectedAttributeValue =\n\t\t\t\t\t\t\tgetBlockAttributes( clientId )[\n\t\t\t\t\t\t\t\tselectionStart.attributeKey\n\t\t\t\t\t\t\t];\n\t\t\t\t\t\tconst transforms = getBlockTransforms( 'from' ).filter(\n\t\t\t\t\t\t\t( { type } ) => type === 'enter'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst transformation = findTransform(\n\t\t\t\t\t\t\ttransforms,\n\t\t\t\t\t\t\t( item ) => {\n\t\t\t\t\t\t\t\treturn item.regExp.test(\n\t\t\t\t\t\t\t\t\tselectedAttributeValue\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\n\t\t\t\t\t\tif ( transformation ) {\n\t\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\ttransformation.transform( {\n\t\t\t\t\t\t\t\t\tcontent: selectedAttributeValue,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t__unstableMarkAutomaticChange();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! hasBlockSupport( blockName, 'splitting', false ) &&\n\t\t\t\t\t\t! event.__deprecatedOnSplit\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Ensure template is not locked.\n\t\t\t\t\tif (\n\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\t__unstableSplitSelection();\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.keyCode === ENTER ) {\n\t\t\t\tnode.contentEditable = false;\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif ( __unstableIsFullySelected() ) {\n\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\tgetSelectedBlockClientIds(),\n\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t__unstableSplitSelection();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tevent.keyCode === BACKSPACE ||\n\t\t\t\tevent.keyCode === DELETE\n\t\t\t) {\n\t\t\t\tnode.contentEditable = false;\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif ( __unstableIsFullySelected() ) {\n\t\t\t\t\tremoveBlocks( getSelectedBlockClientIds() );\n\t\t\t\t} else if ( __unstableIsSelectionMergeable() ) {\n\t\t\t\t\t__unstableDeleteSelection( event.keyCode === DELETE );\n\t\t\t\t} else {\n\t\t\t\t\t__unstableExpandSelection();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t// If key.length is longer than 1, it's a control key that doesn't\n\t\t\t\t// input anything.\n\t\t\t\tevent.key.length === 1 &&\n\t\t\t\t! ( event.metaKey || event.ctrlKey )\n\t\t\t) {\n\t\t\t\tnode.contentEditable = false;\n\t\t\t\tif ( __unstableIsSelectionMergeable() ) {\n\t\t\t\t\t__unstableDeleteSelection( event.keyCode === DELETE );\n\t\t\t\t} else {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t// Safari does not stop default behaviour with either\n\t\t\t\t\t// event.preventDefault() or node.contentEditable = false, so\n\t\t\t\t\t// remove the selection to stop browser manipulation.\n\t\t\t\t\tnode.ownerDocument.defaultView\n\t\t\t\t\t\t.getSelection()\n\t\t\t\t\t\t.removeAllRanges();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction onCompositionStart( event ) {\n\t\t\tif ( ! hasMultiSelection() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tnode.contentEditable = false;\n\n\t\t\tif ( __unstableIsSelectionMergeable() ) {\n\t\t\t\t__unstableDeleteSelection();\n\t\t\t} else {\n\t\t\t\tevent.preventDefault();\n\t\t\t\t// Safari does not stop default behaviour with either\n\t\t\t\t// event.preventDefault() or node.contentEditable = false, so\n\t\t\t\t// remove the selection to stop browser manipulation.\n\t\t\t\tnode.ownerDocument.defaultView.getSelection().removeAllRanges();\n\t\t\t}\n\t\t}\n\n\t\tnode.addEventListener( 'beforeinput', onBeforeInput );\n\t\tnode.addEventListener( 'keydown', onKeyDown );\n\t\tnode.addEventListener( 'compositionstart', onCompositionStart );\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'beforeinput', onBeforeInput );\n\t\t\tnode.removeEventListener( 'keydown', onKeyDown );\n\t\t\tnode.removeEventListener( 'compositionstart', onCompositionStart );\n\t\t};\n\t}, [] );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import { createElement } from "react";
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -14,6 +13,7 @@ import { useRef } from '@wordpress/element';
14
13
  import { store as blockEditorStore } from '../../store';
15
14
  import { isInSameBlock, isInsideRootBlock } from '../../utils/dom';
16
15
  import { unlock } from '../../lock-unlock';
16
+ import { jsx as _jsx } from "react/jsx-runtime";
17
17
  export default function useTabNav() {
18
18
  const container = useRef();
19
19
  const focusCaptureBeforeRef = useRef();
@@ -45,7 +45,12 @@ export default function useTabNav() {
45
45
  } else if (hasMultiSelection()) {
46
46
  container.current.focus();
47
47
  } else if (getSelectedBlockClientId()) {
48
- getLastFocus()?.current.focus();
48
+ if (getLastFocus()?.current) {
49
+ getLastFocus().current.focus();
50
+ } else {
51
+ // Handles when the last focus has not been set yet, or has been cleared by new blocks being added via the inserter.
52
+ container.current.querySelector(`[data-block="${getSelectedBlockClientId()}"]`).focus();
53
+ }
49
54
  } else {
50
55
  setNavigationMode(true);
51
56
  const canvasElement = container.current.ownerDocument === event.target.ownerDocument ? container.current : container.current.ownerDocument.defaultView.frameElement;
@@ -59,12 +64,12 @@ export default function useTabNav() {
59
64
  }
60
65
  }
61
66
  }
62
- const before = createElement("div", {
67
+ const before = /*#__PURE__*/_jsx("div", {
63
68
  ref: focusCaptureBeforeRef,
64
69
  tabIndex: focusCaptureTabIndex,
65
70
  onFocus: onFocusCapture
66
71
  });
67
- const after = createElement("div", {
72
+ const after = /*#__PURE__*/_jsx("div", {
68
73
  ref: focusCaptureAfterRef,
69
74
  tabIndex: focusCaptureTabIndex,
70
75
  onFocus: onFocusCapture
@@ -1 +1 @@
1
- {"version":3,"names":["focus","isFormElement","TAB","ESCAPE","useSelect","useDispatch","useRefEffect","useMergeRefs","useRef","store","blockEditorStore","isInSameBlock","isInsideRootBlock","unlock","useTabNav","container","focusCaptureBeforeRef","focusCaptureAfterRef","hasMultiSelection","getSelectedBlockClientId","getBlockCount","setNavigationMode","setLastFocus","isNavigationMode","select","getLastFocus","focusCaptureTabIndex","undefined","noCapture","onFocusCapture","event","current","canvasElement","ownerDocument","target","defaultView","frameElement","isBefore","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","tabbables","tabbable","find","length","next","before","createElement","ref","tabIndex","onFocus","after","node","onKeyDown","defaultPrevented","keyCode","preventDefault","isShift","shiftKey","direction","nextTabbable","currentBlock","closest","isElementPartOfSelectedBlock","preventScroll","onFocusOut","relatedTarget","activeElement","body","preventScrollOnTab","getAttribute","addEventListener","removeEventListener","mergedRefs"],"sources":["@wordpress/block-editor/src/components/writing-flow/use-tab-nav.js"],"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';\nimport { isInSameBlock, isInsideRootBlock } from '../../utils/dom';\nimport { unlock } from '../../lock-unlock';\n\nexport default function useTabNav() {\n\tconst container = useRef();\n\tconst focusCaptureBeforeRef = useRef();\n\tconst focusCaptureAfterRef = useRef();\n\n\tconst { hasMultiSelection, getSelectedBlockClientId, getBlockCount } =\n\t\tuseSelect( blockEditorStore );\n\tconst { setNavigationMode, setLastFocus } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tconst isNavigationMode = useSelect(\n\t\t( select ) => select( blockEditorStore ).isNavigationMode(),\n\t\t[]\n\t);\n\n\tconst { getLastFocus } = unlock( useSelect( blockEditorStore ) );\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\tgetLastFocus()?.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 ) {\n\t\t\t\t\tsetNavigationMode( true );\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst nextTabbable = focus.tabbable[ direction ]( event.target );\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\tconst currentBlock = event.target.closest( '[data-block]' );\n\t\t\tconst isElementPartOfSelectedBlock =\n\t\t\t\tcurrentBlock &&\n\t\t\t\tnextTabbable &&\n\t\t\t\t( isInSameBlock( currentBlock, nextTabbable ) ||\n\t\t\t\t\tisInsideRootBlock( currentBlock, nextTabbable ) );\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 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) {\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\tsetLastFocus( { ...getLastFocus(), 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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["focus","isFormElement","TAB","ESCAPE","useSelect","useDispatch","useRefEffect","useMergeRefs","useRef","store","blockEditorStore","isInSameBlock","isInsideRootBlock","unlock","jsx","_jsx","useTabNav","container","focusCaptureBeforeRef","focusCaptureAfterRef","hasMultiSelection","getSelectedBlockClientId","getBlockCount","setNavigationMode","setLastFocus","isNavigationMode","select","getLastFocus","focusCaptureTabIndex","undefined","noCapture","onFocusCapture","event","current","querySelector","canvasElement","ownerDocument","target","defaultView","frameElement","isBefore","compareDocumentPosition","DOCUMENT_POSITION_FOLLOWING","tabbables","tabbable","find","length","next","before","ref","tabIndex","onFocus","after","node","onKeyDown","defaultPrevented","keyCode","preventDefault","isShift","shiftKey","direction","nextTabbable","currentBlock","closest","isElementPartOfSelectedBlock","preventScroll","onFocusOut","relatedTarget","activeElement","body","preventScrollOnTab","getAttribute","addEventListener","removeEventListener","mergedRefs"],"sources":["@wordpress/block-editor/src/components/writing-flow/use-tab-nav.js"],"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';\nimport { isInSameBlock, isInsideRootBlock } from '../../utils/dom';\nimport { unlock } from '../../lock-unlock';\n\nexport default function useTabNav() {\n\tconst container = useRef();\n\tconst focusCaptureBeforeRef = useRef();\n\tconst focusCaptureAfterRef = useRef();\n\n\tconst { hasMultiSelection, getSelectedBlockClientId, getBlockCount } =\n\t\tuseSelect( blockEditorStore );\n\tconst { setNavigationMode, setLastFocus } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tconst isNavigationMode = useSelect(\n\t\t( select ) => select( blockEditorStore ).isNavigationMode(),\n\t\t[]\n\t);\n\n\tconst { getLastFocus } = unlock( useSelect( blockEditorStore ) );\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\tif ( getLastFocus()?.current ) {\n\t\t\t\tgetLastFocus().current.focus();\n\t\t\t} else {\n\t\t\t\t// Handles when the last focus has not been set yet, or has been cleared by new blocks being added via the inserter.\n\t\t\t\tcontainer.current\n\t\t\t\t\t.querySelector(\n\t\t\t\t\t\t`[data-block=\"${ getSelectedBlockClientId() }\"]`\n\t\t\t\t\t)\n\t\t\t\t\t.focus();\n\t\t\t}\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 ) {\n\t\t\t\t\tsetNavigationMode( true );\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst nextTabbable = focus.tabbable[ direction ]( event.target );\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\tconst currentBlock = event.target.closest( '[data-block]' );\n\t\t\tconst isElementPartOfSelectedBlock =\n\t\t\t\tcurrentBlock &&\n\t\t\t\tnextTabbable &&\n\t\t\t\t( isInSameBlock( currentBlock, nextTabbable ) ||\n\t\t\t\t\tisInsideRootBlock( currentBlock, nextTabbable ) );\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 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) {\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\tsetLastFocus( { ...getLastFocus(), 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"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,7 @@
1
- import { createElement } from "react";
2
1
  /**
3
2
  * External dependencies
4
3
  */
5
- import classnames from 'classnames';
4
+ import clsx from 'clsx';
6
5
 
7
6
  /**
8
7
  * WordPress dependencies
@@ -14,6 +13,7 @@ import { textHorizontal, textVertical } from '@wordpress/icons';
14
13
  * Internal dependencies
15
14
  */
16
15
  import SegmentedTextControl from '../segmented-text-control';
16
+ import { jsx as _jsx } from "react/jsx-runtime";
17
17
  const WRITING_MODES = [{
18
18
  label: __('Horizontal'),
19
19
  value: 'horizontal-tb',
@@ -39,10 +39,10 @@ export default function WritingModeControl({
39
39
  value,
40
40
  onChange
41
41
  }) {
42
- return createElement(SegmentedTextControl, {
42
+ return /*#__PURE__*/_jsx(SegmentedTextControl, {
43
43
  label: __('Orientation'),
44
44
  options: WRITING_MODES,
45
- className: classnames('block-editor-writing-mode-control', className),
45
+ className: clsx('block-editor-writing-mode-control', className),
46
46
  value: value,
47
47
  onChange: newValue => {
48
48
  onChange(newValue === value ? undefined : newValue);
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__","isRTL","textHorizontal","textVertical","SegmentedTextControl","WRITING_MODES","label","value","icon","WritingModeControl","className","onChange","createElement","options","newValue","undefined"],"sources":["@wordpress/block-editor/src/components/writing-mode-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { textHorizontal, textVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport SegmentedTextControl from '../segmented-text-control';\n\nconst WRITING_MODES = [\n\t{\n\t\tlabel: __( 'Horizontal' ),\n\t\tvalue: 'horizontal-tb',\n\t\ticon: textHorizontal,\n\t},\n\t{\n\t\tlabel: __( 'Vertical' ),\n\t\tvalue: isRTL() ? 'vertical-lr' : 'vertical-rl',\n\t\ticon: textVertical,\n\t},\n];\n\n/**\n * Control to facilitate writing mode selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.className Class name to add to the control.\n * @param {string} props.value Currently selected writing mode.\n * @param {Function} props.onChange Handles change in the writing mode selection.\n *\n * @return {Element} Writing Mode control.\n */\nexport default function WritingModeControl( { className, value, onChange } ) {\n\treturn (\n\t\t<SegmentedTextControl\n\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\toptions={ WRITING_MODES }\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-editor-writing-mode-control',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newValue ) => {\n\t\t\t\tonChange( newValue === value ? undefined : newValue );\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,EAAE,EAAEC,KAAK,QAAQ,iBAAiB;AAC3C,SAASC,cAAc,EAAEC,YAAY,QAAQ,kBAAkB;;AAE/D;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,2BAA2B;AAE5D,MAAMC,aAAa,GAAG,CACrB;EACCC,KAAK,EAAEN,EAAE,CAAE,YAAa,CAAC;EACzBO,KAAK,EAAE,eAAe;EACtBC,IAAI,EAAEN;AACP,CAAC,EACD;EACCI,KAAK,EAAEN,EAAE,CAAE,UAAW,CAAC;EACvBO,KAAK,EAAEN,KAAK,CAAC,CAAC,GAAG,aAAa,GAAG,aAAa;EAC9CO,IAAI,EAAEL;AACP,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASM,kBAAkBA,CAAE;EAAEC,SAAS;EAAEH,KAAK;EAAEI;AAAS,CAAC,EAAG;EAC5E,OACCC,aAAA,CAACR,oBAAoB;IACpBE,KAAK,EAAGN,EAAE,CAAE,aAAc,CAAG;IAC7Ba,OAAO,EAAGR,aAAe;IACzBK,SAAS,EAAGX,UAAU,CACrB,mCAAmC,EACnCW,SACD,CAAG;IACHH,KAAK,EAAGA,KAAO;IACfI,QAAQ,EAAKG,QAAQ,IAAM;MAC1BH,QAAQ,CAAEG,QAAQ,KAAKP,KAAK,GAAGQ,SAAS,GAAGD,QAAS,CAAC;IACtD;EAAG,CACH,CAAC;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","isRTL","textHorizontal","textVertical","SegmentedTextControl","jsx","_jsx","WRITING_MODES","label","value","icon","WritingModeControl","className","onChange","options","newValue","undefined"],"sources":["@wordpress/block-editor/src/components/writing-mode-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { textHorizontal, textVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport SegmentedTextControl from '../segmented-text-control';\n\nconst WRITING_MODES = [\n\t{\n\t\tlabel: __( 'Horizontal' ),\n\t\tvalue: 'horizontal-tb',\n\t\ticon: textHorizontal,\n\t},\n\t{\n\t\tlabel: __( 'Vertical' ),\n\t\tvalue: isRTL() ? 'vertical-lr' : 'vertical-rl',\n\t\ticon: textVertical,\n\t},\n];\n\n/**\n * Control to facilitate writing mode selections.\n *\n * @param {Object} props Component props.\n * @param {string} props.className Class name to add to the control.\n * @param {string} props.value Currently selected writing mode.\n * @param {Function} props.onChange Handles change in the writing mode selection.\n *\n * @return {Element} Writing Mode control.\n */\nexport default function WritingModeControl( { className, value, onChange } ) {\n\treturn (\n\t\t<SegmentedTextControl\n\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\toptions={ WRITING_MODES }\n\t\t\tclassName={ clsx( 'block-editor-writing-mode-control', className ) }\n\t\t\tvalue={ value }\n\t\t\tonChange={ ( newValue ) => {\n\t\t\t\tonChange( newValue === value ? undefined : newValue );\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,EAAEC,KAAK,QAAQ,iBAAiB;AAC3C,SAASC,cAAc,EAAEC,YAAY,QAAQ,kBAAkB;;AAE/D;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7D,MAAMC,aAAa,GAAG,CACrB;EACCC,KAAK,EAAER,EAAE,CAAE,YAAa,CAAC;EACzBS,KAAK,EAAE,eAAe;EACtBC,IAAI,EAAER;AACP,CAAC,EACD;EACCM,KAAK,EAAER,EAAE,CAAE,UAAW,CAAC;EACvBS,KAAK,EAAER,KAAK,CAAC,CAAC,GAAG,aAAa,GAAG,aAAa;EAC9CS,IAAI,EAAEP;AACP,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASQ,kBAAkBA,CAAE;EAAEC,SAAS;EAAEH,KAAK;EAAEI;AAAS,CAAC,EAAG;EAC5E,oBACCP,IAAA,CAACF,oBAAoB;IACpBI,KAAK,EAAGR,EAAE,CAAE,aAAc,CAAG;IAC7Bc,OAAO,EAAGP,aAAe;IACzBK,SAAS,EAAGb,IAAI,CAAE,mCAAmC,EAAEa,SAAU,CAAG;IACpEH,KAAK,EAAGA,KAAO;IACfI,QAAQ,EAAKE,QAAQ,IAAM;MAC1BF,QAAQ,CAAEE,QAAQ,KAAKN,KAAK,GAAGO,SAAS,GAAGD,QAAS,CAAC;IACtD;EAAG,CACH,CAAC;AAEJ","ignoreList":[]}
@@ -1,8 +1,7 @@
1
- import { createElement } from "react";
2
1
  /**
3
2
  * External dependencies
4
3
  */
5
- import classnames from 'classnames';
4
+ import clsx from 'clsx';
6
5
 
7
6
  /**
8
7
  * WordPress dependencies
@@ -24,6 +23,7 @@ import { useBlockEditingMode } from '../components/block-editing-mode';
24
23
  * @constant
25
24
  * @type {string[]}
26
25
  */
26
+ import { jsx as _jsx } from "react/jsx-runtime";
27
27
  const ALL_ALIGNMENTS = ['left', 'center', 'right', 'wide', 'full'];
28
28
 
29
29
  /**
@@ -119,14 +119,15 @@ function BlockEditAlignmentToolbarControlsPure({
119
119
  align: nextAlign
120
120
  });
121
121
  };
122
- return createElement(BlockControls, {
122
+ return /*#__PURE__*/_jsx(BlockControls, {
123
123
  group: "block",
124
- __experimentalShareWithChildBlocks: true
125
- }, createElement(BlockAlignmentControl, {
126
- value: align,
127
- onChange: updateAlignment,
128
- controls: validAlignments
129
- }));
124
+ __experimentalShareWithChildBlocks: true,
125
+ children: /*#__PURE__*/_jsx(BlockAlignmentControl, {
126
+ value: align,
127
+ onChange: updateAlignment,
128
+ controls: validAlignments
129
+ })
130
+ });
130
131
  }
131
132
  export default {
132
133
  shareWithChildBlocks: true,
@@ -174,7 +175,7 @@ export function addAssignedAlign(props, blockType, attributes) {
174
175
  // This way changing themes does not impact the block save.
175
176
  const isAlignValid = getValidAlignments(blockAlign, hasWideBlockSupport).includes(align);
176
177
  if (isAlignValid) {
177
- props.className = classnames(`align${align}`, props.className);
178
+ props.className = clsx(`align${align}`, props.className);
178
179
  }
179
180
  return props;
180
181
  }
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","addFilter","getBlockSupport","getBlockType","hasBlockSupport","BlockControls","BlockAlignmentControl","useAvailableAlignments","useBlockEditingMode","ALL_ALIGNMENTS","WIDE_ALIGNMENTS","getValidAlignments","blockAlign","hasWideBlockSupport","hasWideEnabled","validAlignments","Array","isArray","filter","value","includes","alignment","addAttribute","settings","_settings$attributes$","attributes","align","type","enum","BlockEditAlignmentToolbarControlsPure","name","blockName","setAttributes","blockAllowedAlignments","map","blockEditingMode","length","updateAlignment","nextAlign","blockType","blockDefaultAlign","default","createElement","group","__experimentalShareWithChildBlocks","onChange","controls","shareWithChildBlocks","edit","useBlockProps","addSaveProps","addAssignedAlign","attributeKeys","hasSupport","some","props","isAlignValid","className"],"sources":["@wordpress/block-editor/src/hooks/align.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\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 the `updateAlignment` function\n\t\t\t\t// in toolbar controls 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\nfunction BlockEditAlignmentToolbarControlsPure( {\n\tname: blockName,\n\talign,\n\tsetAttributes,\n} ) {\n\t// Compute the block valid alignments by taking into account,\n\t// if the theme supports wide alignments or not and the layout's\n\t// available alignments. We do that for conditionally rendering\n\t// Slot.\n\tconst blockAllowedAlignments = getValidAlignments(\n\t\tgetBlockSupport( blockName, 'align' ),\n\t\thasBlockSupport( blockName, 'alignWide', true )\n\t);\n\n\tconst validAlignments = useAvailableAlignments(\n\t\tblockAllowedAlignments\n\t).map( ( { name } ) => name );\n\tconst blockEditingMode = useBlockEditingMode();\n\tif ( ! validAlignments.length || blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst updateAlignment = ( nextAlign ) => {\n\t\tif ( ! nextAlign ) {\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst blockDefaultAlign = blockType?.attributes?.align?.default;\n\t\t\tif ( blockDefaultAlign ) {\n\t\t\t\tnextAlign = '';\n\t\t\t}\n\t\t}\n\t\tsetAttributes( { align: nextAlign } );\n\t};\n\n\treturn (\n\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t<BlockAlignmentControl\n\t\t\t\tvalue={ align }\n\t\t\t\tonChange={ updateAlignment }\n\t\t\t\tcontrols={ validAlignments }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: BlockEditAlignmentToolbarControlsPure,\n\tuseBlockProps,\n\taddSaveProps: addAssignedAlign,\n\tattributeKeys: [ 'align' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'align', false );\n\t},\n};\n\nfunction useBlockProps( { name, align } ) {\n\tconst blockAllowedAlignments = getValidAlignments(\n\t\tgetBlockSupport( name, 'align' ),\n\t\thasBlockSupport( name, 'alignWide', true )\n\t);\n\tconst validAlignments = useAvailableAlignments( blockAllowedAlignments );\n\n\tif ( validAlignments.some( ( alignment ) => alignment.name === align ) ) {\n\t\treturn { 'data-align': align };\n\t}\n\n\treturn {};\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/editor/align/addAttribute',\n\taddAttribute\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","addFilter","getBlockSupport","getBlockType","hasBlockSupport","BlockControls","BlockAlignmentControl","useAvailableAlignments","useBlockEditingMode","jsx","_jsx","ALL_ALIGNMENTS","WIDE_ALIGNMENTS","getValidAlignments","blockAlign","hasWideBlockSupport","hasWideEnabled","validAlignments","Array","isArray","filter","value","includes","alignment","addAttribute","settings","_settings$attributes$","attributes","align","type","enum","BlockEditAlignmentToolbarControlsPure","name","blockName","setAttributes","blockAllowedAlignments","map","blockEditingMode","length","updateAlignment","nextAlign","blockType","blockDefaultAlign","default","group","__experimentalShareWithChildBlocks","children","onChange","controls","shareWithChildBlocks","edit","useBlockProps","addSaveProps","addAssignedAlign","attributeKeys","hasSupport","some","props","isAlignValid","className"],"sources":["@wordpress/block-editor/src/hooks/align.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\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 the `updateAlignment` function\n\t\t\t\t// in toolbar controls 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\nfunction BlockEditAlignmentToolbarControlsPure( {\n\tname: blockName,\n\talign,\n\tsetAttributes,\n} ) {\n\t// Compute the block valid alignments by taking into account,\n\t// if the theme supports wide alignments or not and the layout's\n\t// available alignments. We do that for conditionally rendering\n\t// Slot.\n\tconst blockAllowedAlignments = getValidAlignments(\n\t\tgetBlockSupport( blockName, 'align' ),\n\t\thasBlockSupport( blockName, 'alignWide', true )\n\t);\n\n\tconst validAlignments = useAvailableAlignments(\n\t\tblockAllowedAlignments\n\t).map( ( { name } ) => name );\n\tconst blockEditingMode = useBlockEditingMode();\n\tif ( ! validAlignments.length || blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst updateAlignment = ( nextAlign ) => {\n\t\tif ( ! nextAlign ) {\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst blockDefaultAlign = blockType?.attributes?.align?.default;\n\t\t\tif ( blockDefaultAlign ) {\n\t\t\t\tnextAlign = '';\n\t\t\t}\n\t\t}\n\t\tsetAttributes( { align: nextAlign } );\n\t};\n\n\treturn (\n\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t<BlockAlignmentControl\n\t\t\t\tvalue={ align }\n\t\t\t\tonChange={ updateAlignment }\n\t\t\t\tcontrols={ validAlignments }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: BlockEditAlignmentToolbarControlsPure,\n\tuseBlockProps,\n\taddSaveProps: addAssignedAlign,\n\tattributeKeys: [ 'align' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'align', false );\n\t},\n};\n\nfunction useBlockProps( { name, align } ) {\n\tconst blockAllowedAlignments = getValidAlignments(\n\t\tgetBlockSupport( name, 'align' ),\n\t\thasBlockSupport( name, 'alignWide', true )\n\t);\n\tconst validAlignments = useAvailableAlignments( blockAllowedAlignments );\n\n\tif ( validAlignments.some( ( alignment ) => alignment.name === align ) ) {\n\t\treturn { 'data-align': align };\n\t}\n\n\treturn {};\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 = clsx( `align${ align }`, props.className );\n\t}\n\n\treturn props;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/align/addAttribute',\n\taddAttribute\n);\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import { createElement, Fragment } from "react";
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -19,6 +18,9 @@ import { useBlockEditingMode } from '../components/block-editing-mode';
19
18
  *
20
19
  * @type {RegExp}
21
20
  */
21
+ import { jsx as _jsx } from "react/jsx-runtime";
22
+ import { Fragment as _Fragment } from "react/jsx-runtime";
23
+ import { jsxs as _jsxs } from "react/jsx-runtime";
22
24
  const ANCHOR_REGEX = /[\s#]/g;
23
25
  const ANCHOR_SCHEMA = {
24
26
  type: 'string',
@@ -59,27 +61,33 @@ function BlockEditAnchorControlPure({
59
61
  return null;
60
62
  }
61
63
  const isWeb = Platform.OS === 'web';
62
- return createElement(InspectorControls, {
63
- group: "advanced"
64
- }, createElement(TextControl, {
65
- __nextHasNoMarginBottom: true,
66
- __next40pxDefaultSize: true,
67
- className: "html-anchor-control",
68
- label: __('HTML anchor'),
69
- help: createElement(Fragment, null, __('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.'), isWeb && createElement(Fragment, null, ' ', createElement(ExternalLink, {
70
- href: __('https://wordpress.org/documentation/article/page-jumps/')
71
- }, __('Learn more about anchors')))),
72
- value: anchor || '',
73
- placeholder: !isWeb ? __('Add an anchor') : null,
74
- onChange: nextValue => {
75
- nextValue = nextValue.replace(ANCHOR_REGEX, '-');
76
- setAttributes({
77
- anchor: nextValue
78
- });
79
- },
80
- autoCapitalize: "none",
81
- autoComplete: "off"
82
- }));
64
+ return /*#__PURE__*/_jsx(InspectorControls, {
65
+ group: "advanced",
66
+ children: /*#__PURE__*/_jsx(TextControl, {
67
+ __nextHasNoMarginBottom: true,
68
+ __next40pxDefaultSize: true,
69
+ className: "html-anchor-control",
70
+ label: __('HTML anchor'),
71
+ help: /*#__PURE__*/_jsxs(_Fragment, {
72
+ children: [__('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.'), isWeb && /*#__PURE__*/_jsxs(_Fragment, {
73
+ children: [' ', /*#__PURE__*/_jsx(ExternalLink, {
74
+ href: __('https://wordpress.org/documentation/article/page-jumps/'),
75
+ children: __('Learn more about anchors')
76
+ })]
77
+ })]
78
+ }),
79
+ value: anchor || '',
80
+ placeholder: !isWeb ? __('Add an anchor') : null,
81
+ onChange: nextValue => {
82
+ nextValue = nextValue.replace(ANCHOR_REGEX, '-');
83
+ setAttributes({
84
+ anchor: nextValue
85
+ });
86
+ },
87
+ autoCapitalize: "none",
88
+ autoComplete: "off"
89
+ })
90
+ });
83
91
  }
84
92
  export default {
85
93
  addSaveProps,
@@ -1 +1 @@
1
- {"version":3,"names":["addFilter","TextControl","ExternalLink","__","hasBlockSupport","Platform","InspectorControls","useBlockEditingMode","ANCHOR_REGEX","ANCHOR_SCHEMA","type","source","attribute","selector","addAttribute","settings","_settings$attributes$","attributes","anchor","BlockEditAnchorControlPure","setAttributes","blockEditingMode","isWeb","OS","createElement","group","__nextHasNoMarginBottom","__next40pxDefaultSize","className","label","help","Fragment","href","value","placeholder","onChange","nextValue","replace","autoCapitalize","autoComplete","addSaveProps","edit","attributeKeys","hasSupport","name","extraProps","blockType","id"],"sources":["@wordpress/block-editor/src/hooks/anchor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { TextControl, ExternalLink } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\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\nfunction BlockEditAnchorControlPure( { anchor, setAttributes } ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst isWeb = Platform.OS === 'web';\n\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<TextControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"html-anchor-control\"\n\t\t\t\tlabel={ __( 'HTML anchor' ) }\n\t\t\t\thelp={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ __(\n\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) }\n\t\t\t\t\t\t{ isWeb && (\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<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\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) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Learn more about anchors' ) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tvalue={ anchor || '' }\n\t\t\t\tplaceholder={ ! isWeb ? __( 'Add an anchor' ) : null }\n\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\tnextValue = nextValue.replace( ANCHOR_REGEX, '-' );\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tanchor: nextValue,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\tautoComplete=\"off\"\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nexport default {\n\taddSaveProps,\n\tedit: BlockEditAnchorControlPure,\n\tattributeKeys: [ 'anchor' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'anchor' );\n\t},\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 );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["addFilter","TextControl","ExternalLink","__","hasBlockSupport","Platform","InspectorControls","useBlockEditingMode","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ANCHOR_REGEX","ANCHOR_SCHEMA","type","source","attribute","selector","addAttribute","settings","_settings$attributes$","attributes","anchor","BlockEditAnchorControlPure","setAttributes","blockEditingMode","isWeb","OS","group","children","__nextHasNoMarginBottom","__next40pxDefaultSize","className","label","help","href","value","placeholder","onChange","nextValue","replace","autoCapitalize","autoComplete","addSaveProps","edit","attributeKeys","hasSupport","name","extraProps","blockType","id"],"sources":["@wordpress/block-editor/src/hooks/anchor.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { TextControl, ExternalLink } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\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\nfunction BlockEditAnchorControlPure( { anchor, setAttributes } ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst isWeb = Platform.OS === 'web';\n\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<TextControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"html-anchor-control\"\n\t\t\t\tlabel={ __( 'HTML anchor' ) }\n\t\t\t\thelp={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ __(\n\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) }\n\t\t\t\t\t\t{ isWeb && (\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<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\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) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Learn more about anchors' ) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tvalue={ anchor || '' }\n\t\t\t\tplaceholder={ ! isWeb ? __( 'Add an anchor' ) : null }\n\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\tnextValue = nextValue.replace( ANCHOR_REGEX, '-' );\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tanchor: nextValue,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\tautoComplete=\"off\"\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nexport default {\n\taddSaveProps,\n\tedit: BlockEditAnchorControlPure,\n\tattributeKeys: [ 'anchor' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'anchor' );\n\t},\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 );\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import { createElement } from "react";
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -13,6 +12,7 @@ import InspectorControls from '../components/inspector-controls';
13
12
  import { cleanEmptyObject } from './utils';
14
13
  import { store as blockEditorStore } from '../store';
15
14
  import { default as StylesBackgroundPanel, useHasBackgroundPanel, hasBackgroundImageValue } from '../components/global-styles/background-panel';
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
16
  export const BACKGROUND_SUPPORT_KEY = 'background';
17
17
 
18
18
  // Initial control values where no block style is set.
@@ -46,7 +46,7 @@ export function setBackgroundStyleDefaults(backgroundStyle) {
46
46
  let backgroundStylesWithDefaults;
47
47
 
48
48
  // Set block background defaults.
49
- if (backgroundImage?.source === 'file' && !!backgroundImage?.url) {
49
+ if (!!backgroundImage?.url) {
50
50
  if (!backgroundStyle?.backgroundSize) {
51
51
  backgroundStylesWithDefaults = {
52
52
  backgroundSize: 'cover'
@@ -100,10 +100,11 @@ function BackgroundInspectorControl({
100
100
  }
101
101
  };
102
102
  }, []);
103
- return createElement(InspectorControls, {
103
+ return /*#__PURE__*/_jsx(InspectorControls, {
104
104
  group: "background",
105
- resetAllFilter: resetAllFilter
106
- }, children);
105
+ resetAllFilter: resetAllFilter,
106
+ children: children
107
+ });
107
108
  }
108
109
  export function BackgroundImagePanel({
109
110
  clientId,
@@ -128,7 +129,7 @@ export function BackgroundImagePanel({
128
129
  backgroundSize: settings?.background?.backgroundSize && hasBackgroundSupport(name, 'backgroundSize')
129
130
  }
130
131
  };
131
- return createElement(StylesBackgroundPanel, {
132
+ return /*#__PURE__*/_jsx(StylesBackgroundPanel, {
132
133
  as: BackgroundInspectorControl,
133
134
  panelId: clientId,
134
135
  defaultControls: defaultControls,
@@ -1 +1 @@
1
- {"version":3,"names":["getBlockSupport","useSelect","useCallback","InspectorControls","cleanEmptyObject","store","blockEditorStore","default","StylesBackgroundPanel","useHasBackgroundPanel","hasBackgroundImageValue","BACKGROUND_SUPPORT_KEY","BACKGROUND_DEFAULT_VALUES","backgroundSize","hasBackgroundSupport","blockName","feature","support","backgroundImage","backgroundRepeat","setBackgroundStyleDefaults","backgroundStyle","backgroundStylesWithDefaults","source","url","backgroundPosition","useBlockProps","name","style","background","backgroundStyles","getBackgroundImageClasses","BackgroundInspectorControl","children","resetAllFilter","attributes","undefined","createElement","group","BackgroundImagePanel","clientId","setAttributes","settings","select","getBlockAttributes","defaultControls","onChange","newStyle","updatedSettings","as","panelId","defaultValues","value","attributeKeys","hasSupport"],"sources":["@wordpress/block-editor/src/hooks/background.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport { cleanEmptyObject } from './utils';\nimport { store as blockEditorStore } from '../store';\nimport {\n\tdefault as StylesBackgroundPanel,\n\tuseHasBackgroundPanel,\n\thasBackgroundImageValue,\n} from '../components/global-styles/background-panel';\n\nexport const BACKGROUND_SUPPORT_KEY = 'background';\n\n// Initial control values where no block style is set.\nconst BACKGROUND_DEFAULT_VALUES = {\n\tbackgroundSize: 'cover',\n};\n\n/**\n * Determine whether there is block support for background.\n *\n * @param {string} blockName Block name.\n * @param {string} feature Background image feature to check for.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasBackgroundSupport( blockName, feature = 'any' ) {\n\tconst support = getBlockSupport( blockName, BACKGROUND_SUPPORT_KEY );\n\n\tif ( support === true ) {\n\t\treturn true;\n\t}\n\n\tif ( feature === 'any' ) {\n\t\treturn (\n\t\t\t!! support?.backgroundImage ||\n\t\t\t!! support?.backgroundSize ||\n\t\t\t!! support?.backgroundRepeat\n\t\t);\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\nexport function setBackgroundStyleDefaults( backgroundStyle ) {\n\tif ( ! backgroundStyle ) {\n\t\treturn;\n\t}\n\n\tconst backgroundImage = backgroundStyle?.backgroundImage;\n\tlet backgroundStylesWithDefaults;\n\n\t// Set block background defaults.\n\tif ( backgroundImage?.source === 'file' && !! backgroundImage?.url ) {\n\t\tif ( ! backgroundStyle?.backgroundSize ) {\n\t\t\tbackgroundStylesWithDefaults = {\n\t\t\t\tbackgroundSize: 'cover',\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\t'contain' === backgroundStyle?.backgroundSize &&\n\t\t\t! backgroundStyle?.backgroundPosition\n\t\t) {\n\t\t\tbackgroundStylesWithDefaults = {\n\t\t\t\tbackgroundPosition: 'center',\n\t\t\t};\n\t\t}\n\t}\n\n\treturn backgroundStylesWithDefaults;\n}\n\nfunction useBlockProps( { name, style } ) {\n\tif (\n\t\t! hasBackgroundSupport( name ) ||\n\t\t! style?.background?.backgroundImage\n\t) {\n\t\treturn;\n\t}\n\n\tconst backgroundStyles = setBackgroundStyleDefaults( style?.background );\n\n\tif ( ! backgroundStyles ) {\n\t\treturn;\n\t}\n\n\treturn {\n\t\tstyle: {\n\t\t\t...backgroundStyles,\n\t\t},\n\t};\n}\n\n/**\n * Generates a CSS class name if an background image is set.\n *\n * @param {Object} style A block's style attribute.\n *\n * @return {string} CSS class name.\n */\nexport function getBackgroundImageClasses( style ) {\n\treturn hasBackgroundImageValue( style ) ? 'has-background' : '';\n}\n\nfunction BackgroundInspectorControl( { children } ) {\n\tconst resetAllFilter = useCallback( ( attributes ) => {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tstyle: {\n\t\t\t\t...attributes.style,\n\t\t\t\tbackground: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<InspectorControls group=\"background\" resetAllFilter={ resetAllFilter }>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function BackgroundImagePanel( {\n\tclientId,\n\tname,\n\tsetAttributes,\n\tsettings,\n} ) {\n\tconst style = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId )?.style,\n\t\t[ clientId ]\n\t);\n\n\tif (\n\t\t! useHasBackgroundPanel( settings ) ||\n\t\t! hasBackgroundSupport( name, 'backgroundImage' )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst defaultControls = getBlockSupport( name, [\n\t\tBACKGROUND_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tconst updatedSettings = {\n\t\t...settings,\n\t\tbackground: {\n\t\t\t...settings.background,\n\t\t\tbackgroundSize:\n\t\t\t\tsettings?.background?.backgroundSize &&\n\t\t\t\thasBackgroundSupport( name, 'backgroundSize' ),\n\t\t},\n\t};\n\n\treturn (\n\t\t<StylesBackgroundPanel\n\t\t\tas={ BackgroundInspectorControl }\n\t\t\tpanelId={ clientId }\n\t\t\tdefaultControls={ defaultControls }\n\t\t\tdefaultValues={ BACKGROUND_DEFAULT_VALUES }\n\t\t\tsettings={ updatedSettings }\n\t\t\tonChange={ onChange }\n\t\t\tvalue={ style }\n\t\t/>\n\t);\n}\n\nexport default {\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport: hasBackgroundSupport,\n};\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,mBAAmB;AACnD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,WAAW,QAAQ,oBAAoB;;AAEhD;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,kCAAkC;AAChE,SAASC,gBAAgB,QAAQ,SAAS;AAC1C,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,UAAU;AACpD,SACCC,OAAO,IAAIC,qBAAqB,EAChCC,qBAAqB,EACrBC,uBAAuB,QACjB,8CAA8C;AAErD,OAAO,MAAMC,sBAAsB,GAAG,YAAY;;AAElD;AACA,MAAMC,yBAAyB,GAAG;EACjCC,cAAc,EAAE;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAEC,SAAS,EAAEC,OAAO,GAAG,KAAK,EAAG;EAClE,MAAMC,OAAO,GAAGjB,eAAe,CAAEe,SAAS,EAAEJ,sBAAuB,CAAC;EAEpE,IAAKM,OAAO,KAAK,IAAI,EAAG;IACvB,OAAO,IAAI;EACZ;EAEA,IAAKD,OAAO,KAAK,KAAK,EAAG;IACxB,OACC,CAAC,CAAEC,OAAO,EAAEC,eAAe,IAC3B,CAAC,CAAED,OAAO,EAAEJ,cAAc,IAC1B,CAAC,CAAEI,OAAO,EAAEE,gBAAgB;EAE9B;EAEA,OAAO,CAAC,CAAEF,OAAO,GAAID,OAAO,CAAE;AAC/B;AAEA,OAAO,SAASI,0BAA0BA,CAAEC,eAAe,EAAG;EAC7D,IAAK,CAAEA,eAAe,EAAG;IACxB;EACD;EAEA,MAAMH,eAAe,GAAGG,eAAe,EAAEH,eAAe;EACxD,IAAII,4BAA4B;;EAEhC;EACA,IAAKJ,eAAe,EAAEK,MAAM,KAAK,MAAM,IAAI,CAAC,CAAEL,eAAe,EAAEM,GAAG,EAAG;IACpE,IAAK,CAAEH,eAAe,EAAER,cAAc,EAAG;MACxCS,4BAA4B,GAAG;QAC9BT,cAAc,EAAE;MACjB,CAAC;IACF;IAEA,IACC,SAAS,KAAKQ,eAAe,EAAER,cAAc,IAC7C,CAAEQ,eAAe,EAAEI,kBAAkB,EACpC;MACDH,4BAA4B,GAAG;QAC9BG,kBAAkB,EAAE;MACrB,CAAC;IACF;EACD;EAEA,OAAOH,4BAA4B;AACpC;AAEA,SAASI,aAAaA,CAAE;EAAEC,IAAI;EAAEC;AAAM,CAAC,EAAG;EACzC,IACC,CAAEd,oBAAoB,CAAEa,IAAK,CAAC,IAC9B,CAAEC,KAAK,EAAEC,UAAU,EAAEX,eAAe,EACnC;IACD;EACD;EAEA,MAAMY,gBAAgB,GAAGV,0BAA0B,CAAEQ,KAAK,EAAEC,UAAW,CAAC;EAExE,IAAK,CAAEC,gBAAgB,EAAG;IACzB;EACD;EAEA,OAAO;IACNF,KAAK,EAAE;MACN,GAAGE;IACJ;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CAAEH,KAAK,EAAG;EAClD,OAAOlB,uBAAuB,CAAEkB,KAAM,CAAC,GAAG,gBAAgB,GAAG,EAAE;AAChE;AAEA,SAASI,0BAA0BA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACnD,MAAMC,cAAc,GAAGhC,WAAW,CAAIiC,UAAU,IAAM;IACrD,OAAO;MACN,GAAGA,UAAU;MACbP,KAAK,EAAE;QACN,GAAGO,UAAU,CAACP,KAAK;QACnBC,UAAU,EAAEO;MACb;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,OACCC,aAAA,CAAClC,iBAAiB;IAACmC,KAAK,EAAC,YAAY;IAACJ,cAAc,EAAGA;EAAgB,GACpED,QACgB,CAAC;AAEtB;AAEA,OAAO,SAASM,oBAAoBA,CAAE;EACrCC,QAAQ;EACRb,IAAI;EACJc,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAMd,KAAK,GAAG3B,SAAS,CACpB0C,MAAM,IACPA,MAAM,CAAErC,gBAAiB,CAAC,CAACsC,kBAAkB,CAAEJ,QAAS,CAAC,EAAEZ,KAAK,EACjE,CAAEY,QAAQ,CACX,CAAC;EAED,IACC,CAAE/B,qBAAqB,CAAEiC,QAAS,CAAC,IACnC,CAAE5B,oBAAoB,CAAEa,IAAI,EAAE,iBAAkB,CAAC,EAChD;IACD,OAAO,IAAI;EACZ;EAEA,MAAMkB,eAAe,GAAG7C,eAAe,CAAE2B,IAAI,EAAE,CAC9ChB,sBAAsB,EACtB,+BAA+B,CAC9B,CAAC;EAEH,MAAMmC,QAAQ,GAAKC,QAAQ,IAAM;IAChCN,aAAa,CAAE;MACdb,KAAK,EAAExB,gBAAgB,CAAE2C,QAAS;IACnC,CAAE,CAAC;EACJ,CAAC;EAED,MAAMC,eAAe,GAAG;IACvB,GAAGN,QAAQ;IACXb,UAAU,EAAE;MACX,GAAGa,QAAQ,CAACb,UAAU;MACtBhB,cAAc,EACb6B,QAAQ,EAAEb,UAAU,EAAEhB,cAAc,IACpCC,oBAAoB,CAAEa,IAAI,EAAE,gBAAiB;IAC/C;EACD,CAAC;EAED,OACCU,aAAA,CAAC7B,qBAAqB;IACrByC,EAAE,EAAGjB,0BAA4B;IACjCkB,OAAO,EAAGV,QAAU;IACpBK,eAAe,EAAGA,eAAiB;IACnCM,aAAa,EAAGvC,yBAA2B;IAC3C8B,QAAQ,EAAGM,eAAiB;IAC5BF,QAAQ,EAAGA,QAAU;IACrBM,KAAK,EAAGxB;EAAO,CACf,CAAC;AAEJ;AAEA,eAAe;EACdF,aAAa;EACb2B,aAAa,EAAE,CAAE,OAAO,CAAE;EAC1BC,UAAU,EAAExC;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getBlockSupport","useSelect","useCallback","InspectorControls","cleanEmptyObject","store","blockEditorStore","default","StylesBackgroundPanel","useHasBackgroundPanel","hasBackgroundImageValue","jsx","_jsx","BACKGROUND_SUPPORT_KEY","BACKGROUND_DEFAULT_VALUES","backgroundSize","hasBackgroundSupport","blockName","feature","support","backgroundImage","backgroundRepeat","setBackgroundStyleDefaults","backgroundStyle","backgroundStylesWithDefaults","url","backgroundPosition","useBlockProps","name","style","background","backgroundStyles","getBackgroundImageClasses","BackgroundInspectorControl","children","resetAllFilter","attributes","undefined","group","BackgroundImagePanel","clientId","setAttributes","settings","select","getBlockAttributes","defaultControls","onChange","newStyle","updatedSettings","as","panelId","defaultValues","value","attributeKeys","hasSupport"],"sources":["@wordpress/block-editor/src/hooks/background.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport { cleanEmptyObject } from './utils';\nimport { store as blockEditorStore } from '../store';\nimport {\n\tdefault as StylesBackgroundPanel,\n\tuseHasBackgroundPanel,\n\thasBackgroundImageValue,\n} from '../components/global-styles/background-panel';\n\nexport const BACKGROUND_SUPPORT_KEY = 'background';\n\n// Initial control values where no block style is set.\nconst BACKGROUND_DEFAULT_VALUES = {\n\tbackgroundSize: 'cover',\n};\n\n/**\n * Determine whether there is block support for background.\n *\n * @param {string} blockName Block name.\n * @param {string} feature Background image feature to check for.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasBackgroundSupport( blockName, feature = 'any' ) {\n\tconst support = getBlockSupport( blockName, BACKGROUND_SUPPORT_KEY );\n\n\tif ( support === true ) {\n\t\treturn true;\n\t}\n\n\tif ( feature === 'any' ) {\n\t\treturn (\n\t\t\t!! support?.backgroundImage ||\n\t\t\t!! support?.backgroundSize ||\n\t\t\t!! support?.backgroundRepeat\n\t\t);\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\nexport function setBackgroundStyleDefaults( backgroundStyle ) {\n\tif ( ! backgroundStyle ) {\n\t\treturn;\n\t}\n\n\tconst backgroundImage = backgroundStyle?.backgroundImage;\n\tlet backgroundStylesWithDefaults;\n\n\t// Set block background defaults.\n\tif ( !! backgroundImage?.url ) {\n\t\tif ( ! backgroundStyle?.backgroundSize ) {\n\t\t\tbackgroundStylesWithDefaults = {\n\t\t\t\tbackgroundSize: 'cover',\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\t'contain' === backgroundStyle?.backgroundSize &&\n\t\t\t! backgroundStyle?.backgroundPosition\n\t\t) {\n\t\t\tbackgroundStylesWithDefaults = {\n\t\t\t\tbackgroundPosition: 'center',\n\t\t\t};\n\t\t}\n\t}\n\n\treturn backgroundStylesWithDefaults;\n}\n\nfunction useBlockProps( { name, style } ) {\n\tif (\n\t\t! hasBackgroundSupport( name ) ||\n\t\t! style?.background?.backgroundImage\n\t) {\n\t\treturn;\n\t}\n\n\tconst backgroundStyles = setBackgroundStyleDefaults( style?.background );\n\n\tif ( ! backgroundStyles ) {\n\t\treturn;\n\t}\n\n\treturn {\n\t\tstyle: {\n\t\t\t...backgroundStyles,\n\t\t},\n\t};\n}\n\n/**\n * Generates a CSS class name if an background image is set.\n *\n * @param {Object} style A block's style attribute.\n *\n * @return {string} CSS class name.\n */\nexport function getBackgroundImageClasses( style ) {\n\treturn hasBackgroundImageValue( style ) ? 'has-background' : '';\n}\n\nfunction BackgroundInspectorControl( { children } ) {\n\tconst resetAllFilter = useCallback( ( attributes ) => {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tstyle: {\n\t\t\t\t...attributes.style,\n\t\t\t\tbackground: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<InspectorControls group=\"background\" resetAllFilter={ resetAllFilter }>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function BackgroundImagePanel( {\n\tclientId,\n\tname,\n\tsetAttributes,\n\tsettings,\n} ) {\n\tconst style = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId )?.style,\n\t\t[ clientId ]\n\t);\n\n\tif (\n\t\t! useHasBackgroundPanel( settings ) ||\n\t\t! hasBackgroundSupport( name, 'backgroundImage' )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst defaultControls = getBlockSupport( name, [\n\t\tBACKGROUND_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tconst updatedSettings = {\n\t\t...settings,\n\t\tbackground: {\n\t\t\t...settings.background,\n\t\t\tbackgroundSize:\n\t\t\t\tsettings?.background?.backgroundSize &&\n\t\t\t\thasBackgroundSupport( name, 'backgroundSize' ),\n\t\t},\n\t};\n\n\treturn (\n\t\t<StylesBackgroundPanel\n\t\t\tas={ BackgroundInspectorControl }\n\t\t\tpanelId={ clientId }\n\t\t\tdefaultControls={ defaultControls }\n\t\t\tdefaultValues={ BACKGROUND_DEFAULT_VALUES }\n\t\t\tsettings={ updatedSettings }\n\t\t\tonChange={ onChange }\n\t\t\tvalue={ style }\n\t\t/>\n\t);\n}\n\nexport default {\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport: hasBackgroundSupport,\n};\n"],"mappings":"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","ignoreList":[]}