@wordpress/block-editor 17.0.0 → 17.1.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 (1862) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/build/autocompleters/block.cjs +1 -1
  3. package/build/autocompleters/block.cjs.map +1 -1
  4. package/build/components/alignment-control/index.cjs +1 -1
  5. package/build/components/alignment-control/index.cjs.map +1 -1
  6. package/build/components/alignment-control/ui.cjs +1 -1
  7. package/build/components/alignment-control/ui.cjs.map +1 -1
  8. package/build/components/autocomplete/index.cjs +1 -1
  9. package/build/components/autocomplete/index.cjs.map +1 -1
  10. package/build/components/background-image-control/index.cjs +19 -2
  11. package/build/components/background-image-control/index.cjs.map +3 -3
  12. package/build/components/block-alignment-control/index.cjs +1 -1
  13. package/build/components/block-alignment-control/index.cjs.map +1 -1
  14. package/build/components/block-alignment-control/ui.cjs +1 -1
  15. package/build/components/block-alignment-control/ui.cjs.map +1 -1
  16. package/build/components/block-alignment-matrix-control/index.cjs +1 -1
  17. package/build/components/block-alignment-matrix-control/index.cjs.map +1 -1
  18. package/build/components/block-allowed-blocks/allowed-blocks-control.cjs +1 -1
  19. package/build/components/block-allowed-blocks/allowed-blocks-control.cjs.map +1 -1
  20. package/build/components/block-allowed-blocks/modal.cjs +3 -2
  21. package/build/components/block-allowed-blocks/modal.cjs.map +4 -4
  22. package/build/components/block-bindings/attribute-control.cjs +1 -1
  23. package/build/components/block-bindings/attribute-control.cjs.map +1 -1
  24. package/build/components/block-bindings/source-fields-list.cjs +1 -1
  25. package/build/components/block-bindings/source-fields-list.cjs.map +1 -1
  26. package/build/components/block-breadcrumb/index.cjs +1 -1
  27. package/build/components/block-breadcrumb/index.cjs.map +1 -1
  28. package/build/components/block-canvas/index.cjs +1 -1
  29. package/build/components/block-canvas/index.cjs.map +1 -1
  30. package/build/components/block-card/index.cjs +1 -1
  31. package/build/components/block-card/index.cjs.map +1 -1
  32. package/build/components/block-compare/block-view.cjs +1 -1
  33. package/build/components/block-compare/block-view.cjs.map +1 -1
  34. package/build/components/block-compare/index.cjs +1 -1
  35. package/build/components/block-compare/index.cjs.map +1 -1
  36. package/build/components/block-context/index.cjs +1 -1
  37. package/build/components/block-context/index.cjs.map +1 -1
  38. package/build/components/block-controls/fill.cjs +1 -1
  39. package/build/components/block-controls/fill.cjs.map +1 -1
  40. package/build/components/block-controls/index.cjs +1 -1
  41. package/build/components/block-controls/index.cjs.map +1 -1
  42. package/build/components/block-controls/slot.cjs +1 -1
  43. package/build/components/block-controls/slot.cjs.map +1 -1
  44. package/build/components/block-draggable/draggable-chip.cjs +1 -1
  45. package/build/components/block-draggable/draggable-chip.cjs.map +1 -1
  46. package/build/components/block-draggable/index.cjs +1 -1
  47. package/build/components/block-draggable/index.cjs.map +1 -1
  48. package/build/components/block-edit/edit.cjs +1 -1
  49. package/build/components/block-edit/edit.cjs.map +2 -2
  50. package/build/components/block-edit/index.cjs +1 -1
  51. package/build/components/block-edit/index.cjs.map +1 -1
  52. package/build/components/block-edit/multiple-usage-warning.cjs +1 -1
  53. package/build/components/block-edit/multiple-usage-warning.cjs.map +1 -1
  54. package/build/components/block-edit-visually-button/index.cjs +1 -1
  55. package/build/components/block-edit-visually-button/index.cjs.map +1 -1
  56. package/build/components/block-full-height-alignment-control/index.cjs +1 -1
  57. package/build/components/block-full-height-alignment-control/index.cjs.map +1 -1
  58. package/build/components/block-heading-level-dropdown/heading-level-icon.cjs +1 -1
  59. package/build/components/block-heading-level-dropdown/heading-level-icon.cjs.map +1 -1
  60. package/build/components/block-heading-level-dropdown/index.cjs +1 -1
  61. package/build/components/block-heading-level-dropdown/index.cjs.map +1 -1
  62. package/build/components/block-icon/index.cjs +1 -1
  63. package/build/components/block-icon/index.cjs.map +1 -1
  64. package/build/components/block-inspector/edit-contents.cjs +1 -1
  65. package/build/components/block-inspector/edit-contents.cjs.map +1 -1
  66. package/build/components/block-inspector/index.cjs +8 -16
  67. package/build/components/block-inspector/index.cjs.map +3 -3
  68. package/build/components/block-keyboard-shortcuts/index.cjs +1 -1
  69. package/build/components/block-keyboard-shortcuts/index.cjs.map +1 -1
  70. package/build/components/block-list/block-crash-warning.cjs +1 -1
  71. package/build/components/block-list/block-crash-warning.cjs.map +1 -1
  72. package/build/components/block-list/block-html.cjs +1 -1
  73. package/build/components/block-list/block-html.cjs.map +1 -1
  74. package/build/components/block-list/block-invalid-warning.cjs +1 -1
  75. package/build/components/block-list/block-invalid-warning.cjs.map +1 -1
  76. package/build/components/block-list/block.cjs +1 -1
  77. package/build/components/block-list/block.cjs.map +1 -1
  78. package/build/components/block-list/index.cjs +1 -1
  79. package/build/components/block-list/index.cjs.map +1 -1
  80. package/build/components/block-list/layout.cjs +1 -1
  81. package/build/components/block-list/layout.cjs.map +1 -1
  82. package/build/components/block-list/subdirectory-icon.cjs +1 -1
  83. package/build/components/block-list/subdirectory-icon.cjs.map +1 -1
  84. package/build/components/block-list/use-block-props/use-is-hovered.cjs +17 -4
  85. package/build/components/block-list/use-block-props/use-is-hovered.cjs.map +2 -2
  86. package/build/components/block-list/zoom-out-separator.cjs +1 -1
  87. package/build/components/block-list/zoom-out-separator.cjs.map +1 -1
  88. package/build/components/block-list-appender/index.cjs +1 -1
  89. package/build/components/block-list-appender/index.cjs.map +1 -1
  90. package/build/components/block-lock/menu-item.cjs +1 -1
  91. package/build/components/block-lock/menu-item.cjs.map +1 -1
  92. package/build/components/block-lock/modal.cjs +1 -1
  93. package/build/components/block-lock/modal.cjs.map +1 -1
  94. package/build/components/block-lock/toolbar.cjs +1 -1
  95. package/build/components/block-lock/toolbar.cjs.map +1 -1
  96. package/build/components/block-manager/category.cjs +1 -1
  97. package/build/components/block-manager/category.cjs.map +1 -1
  98. package/build/components/block-manager/checklist.cjs +1 -1
  99. package/build/components/block-manager/checklist.cjs.map +1 -1
  100. package/build/components/block-manager/index.cjs +1 -1
  101. package/build/components/block-manager/index.cjs.map +1 -1
  102. package/build/components/block-mover/button.cjs +1 -1
  103. package/build/components/block-mover/button.cjs.map +1 -1
  104. package/build/components/block-mover/index.cjs +1 -1
  105. package/build/components/block-mover/index.cjs.map +1 -1
  106. package/build/components/block-navigation/dropdown.cjs +1 -1
  107. package/build/components/block-navigation/dropdown.cjs.map +1 -1
  108. package/build/components/block-parent-selector/index.cjs +1 -1
  109. package/build/components/block-parent-selector/index.cjs.map +1 -1
  110. package/build/components/block-pattern-setup/index.cjs +1 -1
  111. package/build/components/block-pattern-setup/index.cjs.map +1 -1
  112. package/build/components/block-pattern-setup/setup-toolbar.cjs +1 -1
  113. package/build/components/block-pattern-setup/setup-toolbar.cjs.map +1 -1
  114. package/build/components/block-patterns-list/index.cjs +1 -1
  115. package/build/components/block-patterns-list/index.cjs.map +1 -1
  116. package/build/components/block-patterns-paging/index.cjs +1 -1
  117. package/build/components/block-patterns-paging/index.cjs.map +1 -1
  118. package/build/components/block-popover/cover.cjs +1 -1
  119. package/build/components/block-popover/cover.cjs.map +1 -1
  120. package/build/components/block-popover/drop-zone.cjs +1 -1
  121. package/build/components/block-popover/drop-zone.cjs.map +1 -1
  122. package/build/components/block-popover/inbetween.cjs +1 -1
  123. package/build/components/block-popover/inbetween.cjs.map +1 -1
  124. package/build/components/block-popover/index.cjs +1 -1
  125. package/build/components/block-popover/index.cjs.map +1 -1
  126. package/build/components/block-preview/auto.cjs +1 -1
  127. package/build/components/block-preview/auto.cjs.map +1 -1
  128. package/build/components/block-preview/index.cjs +2 -3
  129. package/build/components/block-preview/index.cjs.map +3 -3
  130. package/build/components/block-quick-navigation/index.cjs +1 -1
  131. package/build/components/block-quick-navigation/index.cjs.map +1 -1
  132. package/build/components/block-removal-warning-modal/index.cjs +1 -1
  133. package/build/components/block-removal-warning-modal/index.cjs.map +1 -1
  134. package/build/components/block-rename/modal.cjs +1 -1
  135. package/build/components/block-rename/modal.cjs.map +1 -1
  136. package/build/components/block-rename/rename-control.cjs +1 -1
  137. package/build/components/block-rename/rename-control.cjs.map +1 -1
  138. package/build/components/block-selection-clearer/index.cjs +1 -1
  139. package/build/components/block-selection-clearer/index.cjs.map +1 -1
  140. package/build/components/block-settings-menu/block-html-convert-button.cjs +1 -1
  141. package/build/components/block-settings-menu/block-html-convert-button.cjs.map +1 -1
  142. package/build/components/block-settings-menu/block-mode-toggle.cjs +1 -1
  143. package/build/components/block-settings-menu/block-mode-toggle.cjs.map +1 -1
  144. package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs +1 -1
  145. package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs.map +1 -1
  146. package/build/components/block-settings-menu/block-settings-dropdown.cjs +1 -1
  147. package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +1 -1
  148. package/build/components/block-settings-menu/index.cjs +1 -1
  149. package/build/components/block-settings-menu/index.cjs.map +1 -1
  150. package/build/components/block-settings-menu-controls/index.cjs +1 -1
  151. package/build/components/block-settings-menu-controls/index.cjs.map +1 -1
  152. package/build/components/block-styles/index.cjs +1 -1
  153. package/build/components/block-styles/index.cjs.map +1 -1
  154. package/build/components/block-styles/menu-items.cjs +1 -1
  155. package/build/components/block-styles/menu-items.cjs.map +1 -1
  156. package/build/components/block-switcher/block-styles-menu.cjs +1 -1
  157. package/build/components/block-switcher/block-styles-menu.cjs.map +1 -1
  158. package/build/components/block-switcher/block-transformations-menu.cjs +1 -1
  159. package/build/components/block-switcher/block-transformations-menu.cjs.map +1 -1
  160. package/build/components/block-switcher/block-variation-transformations.cjs +1 -1
  161. package/build/components/block-switcher/block-variation-transformations.cjs.map +1 -1
  162. package/build/components/block-switcher/index.cjs +3 -2
  163. package/build/components/block-switcher/index.cjs.map +4 -4
  164. package/build/components/block-switcher/pattern-transformations-menu.cjs +1 -1
  165. package/build/components/block-switcher/pattern-transformations-menu.cjs.map +1 -1
  166. package/build/components/block-switcher/preview-block-popover.cjs +1 -1
  167. package/build/components/block-switcher/preview-block-popover.cjs.map +1 -1
  168. package/build/components/block-toolbar/block-styles-dropdown.cjs +1 -1
  169. package/build/components/block-toolbar/block-styles-dropdown.cjs.map +1 -1
  170. package/build/components/block-toolbar/block-toolbar-icon.cjs +1 -1
  171. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +1 -1
  172. package/build/components/block-toolbar/change-design.cjs +1 -1
  173. package/build/components/block-toolbar/change-design.cjs.map +1 -1
  174. package/build/components/block-toolbar/edit-section-button.cjs +1 -1
  175. package/build/components/block-toolbar/edit-section-button.cjs.map +1 -1
  176. package/build/components/block-toolbar/index.cjs +1 -1
  177. package/build/components/block-toolbar/index.cjs.map +1 -1
  178. package/build/components/block-toolbar/pattern-overrides-dropdown.cjs +3 -2
  179. package/build/components/block-toolbar/pattern-overrides-dropdown.cjs.map +4 -4
  180. package/build/components/block-toolbar/switch-section-style.cjs +1 -1
  181. package/build/components/block-toolbar/switch-section-style.cjs.map +1 -1
  182. package/build/components/block-tools/block-toolbar-popover.cjs +1 -1
  183. package/build/components/block-tools/block-toolbar-popover.cjs.map +1 -1
  184. package/build/components/block-tools/empty-block-inserter.cjs +1 -1
  185. package/build/components/block-tools/empty-block-inserter.cjs.map +1 -1
  186. package/build/components/block-tools/index.cjs +1 -1
  187. package/build/components/block-tools/index.cjs.map +1 -1
  188. package/build/components/block-tools/insertion-point.cjs +1 -1
  189. package/build/components/block-tools/insertion-point.cjs.map +1 -1
  190. package/build/components/block-tools/zoom-out-mode-inserter-button.cjs +1 -1
  191. package/build/components/block-tools/zoom-out-mode-inserter-button.cjs.map +1 -1
  192. package/build/components/block-tools/zoom-out-mode-inserters.cjs +1 -1
  193. package/build/components/block-tools/zoom-out-mode-inserters.cjs.map +1 -1
  194. package/build/components/block-types-list/index.cjs +1 -1
  195. package/build/components/block-types-list/index.cjs.map +1 -1
  196. package/build/components/block-variation-picker/index.cjs +1 -1
  197. package/build/components/block-variation-picker/index.cjs.map +1 -1
  198. package/build/components/block-variation-transforms/index.cjs +1 -1
  199. package/build/components/block-variation-transforms/index.cjs.map +1 -1
  200. package/build/components/block-vertical-alignment-control/index.cjs +1 -1
  201. package/build/components/block-vertical-alignment-control/index.cjs.map +1 -1
  202. package/build/components/block-vertical-alignment-control/ui.cjs +1 -1
  203. package/build/components/block-vertical-alignment-control/ui.cjs.map +1 -1
  204. package/build/components/block-visibility/constants.cjs.map +1 -1
  205. package/build/components/block-visibility/modal.cjs +1 -1
  206. package/build/components/block-visibility/modal.cjs.map +1 -1
  207. package/build/components/block-visibility/viewport-menu-item.cjs +1 -1
  208. package/build/components/block-visibility/viewport-menu-item.cjs.map +1 -1
  209. package/build/components/block-visibility/viewport-toolbar.cjs +1 -1
  210. package/build/components/block-visibility/viewport-toolbar.cjs.map +1 -1
  211. package/build/components/block-visibility/viewport-visibility-info.cjs +1 -1
  212. package/build/components/block-visibility/viewport-visibility-info.cjs.map +1 -1
  213. package/build/components/border-radius-control/index.cjs +1 -1
  214. package/build/components/border-radius-control/index.cjs.map +1 -1
  215. package/build/components/border-radius-control/linked-button.cjs +1 -1
  216. package/build/components/border-radius-control/linked-button.cjs.map +1 -1
  217. package/build/components/button-block-appender/index.cjs +1 -1
  218. package/build/components/button-block-appender/index.cjs.map +1 -1
  219. package/build/components/child-layout-control/index.cjs +1 -1
  220. package/build/components/child-layout-control/index.cjs.map +1 -1
  221. package/build/components/color-palette/control.cjs +1 -1
  222. package/build/components/color-palette/control.cjs.map +1 -1
  223. package/build/components/color-palette/with-color-context.cjs +1 -1
  224. package/build/components/color-palette/with-color-context.cjs.map +1 -1
  225. package/build/components/color-style-selector/index.cjs +1 -1
  226. package/build/components/color-style-selector/index.cjs.map +1 -1
  227. package/build/components/colors/with-colors.cjs +1 -1
  228. package/build/components/colors/with-colors.cjs.map +1 -1
  229. package/build/components/colors-gradients/control.cjs +1 -1
  230. package/build/components/colors-gradients/control.cjs.map +1 -1
  231. package/build/components/colors-gradients/dropdown.cjs +1 -1
  232. package/build/components/colors-gradients/dropdown.cjs.map +1 -1
  233. package/build/components/colors-gradients/panel-color-gradient-settings.cjs +1 -1
  234. package/build/components/colors-gradients/panel-color-gradient-settings.cjs.map +1 -1
  235. package/build/components/contrast-checker/index.cjs +1 -1
  236. package/build/components/contrast-checker/index.cjs.map +1 -1
  237. package/build/components/convert-to-group-buttons/index.cjs +1 -1
  238. package/build/components/convert-to-group-buttons/index.cjs.map +1 -1
  239. package/build/components/convert-to-group-buttons/toolbar.cjs +1 -1
  240. package/build/components/convert-to-group-buttons/toolbar.cjs.map +1 -1
  241. package/build/components/copy-handler/index.cjs +1 -1
  242. package/build/components/copy-handler/index.cjs.map +1 -1
  243. package/build/components/date-format-picker/index.cjs +1 -1
  244. package/build/components/date-format-picker/index.cjs.map +1 -1
  245. package/build/components/default-block-appender/index.cjs +1 -1
  246. package/build/components/default-block-appender/index.cjs.map +1 -1
  247. package/build/components/dimension-control/index.cjs +1 -1
  248. package/build/components/dimension-control/index.cjs.map +1 -1
  249. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +1 -1
  250. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +1 -1
  251. package/build/components/dimensions-tool/index.cjs +1 -1
  252. package/build/components/dimensions-tool/index.cjs.map +1 -1
  253. package/build/components/dimensions-tool/scale-tool.cjs +1 -1
  254. package/build/components/dimensions-tool/scale-tool.cjs.map +1 -1
  255. package/build/components/dimensions-tool/width-height-tool.cjs +1 -1
  256. package/build/components/dimensions-tool/width-height-tool.cjs.map +1 -1
  257. package/build/components/duotone-control/index.cjs +1 -1
  258. package/build/components/duotone-control/index.cjs.map +1 -1
  259. package/build/components/editable-text/index.cjs +1 -1
  260. package/build/components/editable-text/index.cjs.map +1 -1
  261. package/build/components/editor-styles/index.cjs +1 -1
  262. package/build/components/editor-styles/index.cjs.map +1 -1
  263. package/build/components/fit-text-size-warning/index.cjs +1 -1
  264. package/build/components/fit-text-size-warning/index.cjs.map +1 -1
  265. package/build/components/font-appearance-control/index.cjs +1 -1
  266. package/build/components/font-appearance-control/index.cjs.map +1 -1
  267. package/build/components/font-family/index.cjs +1 -1
  268. package/build/components/font-family/index.cjs.map +1 -1
  269. package/build/components/font-sizes/font-size-picker.cjs +1 -1
  270. package/build/components/font-sizes/font-size-picker.cjs.map +1 -1
  271. package/build/components/font-sizes/with-font-sizes.cjs +1 -1
  272. package/build/components/font-sizes/with-font-sizes.cjs.map +1 -1
  273. package/build/components/global-styles/advanced-panel.cjs +1 -1
  274. package/build/components/global-styles/advanced-panel.cjs.map +1 -1
  275. package/build/components/global-styles/background-panel.cjs +1 -1
  276. package/build/components/global-styles/background-panel.cjs.map +2 -2
  277. package/build/components/global-styles/border-panel.cjs +20 -43
  278. package/build/components/global-styles/border-panel.cjs.map +3 -3
  279. package/build/components/global-styles/color-gradient-dropdown-item.cjs +1 -1
  280. package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +1 -1
  281. package/build/components/global-styles/color-panel.cjs +1 -1
  282. package/build/components/global-styles/color-panel.cjs.map +1 -1
  283. package/build/components/global-styles/dimensions-panel.cjs +1 -1
  284. package/build/components/global-styles/dimensions-panel.cjs.map +1 -1
  285. package/build/components/global-styles/filters-panel.cjs +1 -1
  286. package/build/components/global-styles/filters-panel.cjs.map +1 -1
  287. package/build/components/global-styles/image-settings-panel.cjs +1 -1
  288. package/build/components/global-styles/image-settings-panel.cjs.map +2 -2
  289. package/build/components/global-styles/inheritance/index.cjs +1 -1
  290. package/build/components/global-styles/inheritance/index.cjs.map +1 -1
  291. package/build/components/global-styles/shadow-panel-components.cjs +1 -1
  292. package/build/components/global-styles/shadow-panel-components.cjs.map +1 -1
  293. package/build/components/global-styles/state-control-badges.cjs +1 -1
  294. package/build/components/global-styles/state-control-badges.cjs.map +1 -1
  295. package/build/components/global-styles/state-control.cjs +1 -1
  296. package/build/components/global-styles/state-control.cjs.map +1 -1
  297. package/build/components/global-styles/typography-panel.cjs +1 -1
  298. package/build/components/global-styles/typography-panel.cjs.map +1 -1
  299. package/build/components/grid/grid-item-movers.cjs +1 -1
  300. package/build/components/grid/grid-item-movers.cjs.map +1 -1
  301. package/build/components/grid/grid-item-resizer.cjs +1 -1
  302. package/build/components/grid/grid-item-resizer.cjs.map +1 -1
  303. package/build/components/grid/grid-visualizer.cjs +1 -1
  304. package/build/components/grid/grid-visualizer.cjs.map +1 -1
  305. package/build/components/height-control/index.cjs +1 -1
  306. package/build/components/height-control/index.cjs.map +1 -1
  307. package/build/components/html-element-control/index.cjs +1 -1
  308. package/build/components/html-element-control/index.cjs.map +1 -1
  309. package/build/components/iframe/index.cjs +1 -1
  310. package/build/components/iframe/index.cjs.map +2 -2
  311. package/build/components/image-editor/aspect-ratio-dropdown.cjs +1 -1
  312. package/build/components/image-editor/aspect-ratio-dropdown.cjs.map +1 -1
  313. package/build/components/image-editor/context.cjs +1 -1
  314. package/build/components/image-editor/context.cjs.map +1 -1
  315. package/build/components/image-editor/cropper.cjs +1 -1
  316. package/build/components/image-editor/cropper.cjs.map +1 -1
  317. package/build/components/image-editor/form-controls.cjs +1 -1
  318. package/build/components/image-editor/form-controls.cjs.map +1 -1
  319. package/build/components/image-editor/index.cjs +1 -1
  320. package/build/components/image-editor/index.cjs.map +1 -1
  321. package/build/components/image-editor/rotation-button.cjs +1 -1
  322. package/build/components/image-editor/rotation-button.cjs.map +1 -1
  323. package/build/components/image-editor/zoom-dropdown.cjs +1 -1
  324. package/build/components/image-editor/zoom-dropdown.cjs.map +1 -1
  325. package/build/components/image-size-control/index.cjs +1 -1
  326. package/build/components/image-size-control/index.cjs.map +1 -1
  327. package/build/components/inner-blocks/button-block-appender.cjs +1 -1
  328. package/build/components/inner-blocks/button-block-appender.cjs.map +1 -1
  329. package/build/components/inner-blocks/default-block-appender.cjs +1 -1
  330. package/build/components/inner-blocks/default-block-appender.cjs.map +1 -1
  331. package/build/components/inner-blocks/index.cjs +1 -1
  332. package/build/components/inner-blocks/index.cjs.map +1 -1
  333. package/build/components/inner-content/index.cjs +1 -1
  334. package/build/components/inner-content/index.cjs.map +1 -1
  335. package/build/components/inserter/block-patterns-explorer/index.cjs +1 -1
  336. package/build/components/inserter/block-patterns-explorer/index.cjs.map +1 -1
  337. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs +1 -1
  338. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs.map +1 -1
  339. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs +1 -1
  340. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs.map +1 -1
  341. package/build/components/inserter/block-patterns-tab/index.cjs +1 -1
  342. package/build/components/inserter/block-patterns-tab/index.cjs.map +1 -1
  343. package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs +1 -1
  344. package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs.map +1 -1
  345. package/build/components/inserter/block-patterns-tab/patterns-filter.cjs +1 -1
  346. package/build/components/inserter/block-patterns-tab/patterns-filter.cjs.map +1 -1
  347. package/build/components/inserter/block-types-tab.cjs +1 -1
  348. package/build/components/inserter/block-types-tab.cjs.map +1 -1
  349. package/build/components/inserter/category-tabs/index.cjs +1 -1
  350. package/build/components/inserter/category-tabs/index.cjs.map +1 -1
  351. package/build/components/inserter/hooks/use-patterns-paging.cjs.map +1 -1
  352. package/build/components/inserter/index.cjs +1 -1
  353. package/build/components/inserter/index.cjs.map +1 -1
  354. package/build/components/inserter/library.cjs +1 -1
  355. package/build/components/inserter/library.cjs.map +1 -1
  356. package/build/components/inserter/media-tab/media-list.cjs +1 -1
  357. package/build/components/inserter/media-tab/media-list.cjs.map +1 -1
  358. package/build/components/inserter/media-tab/media-panel.cjs +1 -1
  359. package/build/components/inserter/media-tab/media-panel.cjs.map +1 -1
  360. package/build/components/inserter/media-tab/media-preview.cjs +1 -1
  361. package/build/components/inserter/media-tab/media-preview.cjs.map +1 -1
  362. package/build/components/inserter/media-tab/media-tab.cjs +1 -1
  363. package/build/components/inserter/media-tab/media-tab.cjs.map +1 -1
  364. package/build/components/inserter/media-tab/utils.cjs +1 -1
  365. package/build/components/inserter/media-tab/utils.cjs.map +1 -1
  366. package/build/components/inserter/menu.cjs +2 -2
  367. package/build/components/inserter/menu.cjs.map +3 -3
  368. package/build/components/inserter/mobile-tab-navigation.cjs +1 -1
  369. package/build/components/inserter/mobile-tab-navigation.cjs.map +1 -1
  370. package/build/components/inserter/no-results.cjs +1 -1
  371. package/build/components/inserter/no-results.cjs.map +1 -1
  372. package/build/components/inserter/panel.cjs +1 -1
  373. package/build/components/inserter/panel.cjs.map +1 -1
  374. package/build/components/inserter/preview-panel.cjs +1 -1
  375. package/build/components/inserter/preview-panel.cjs.map +1 -1
  376. package/build/components/inserter/quick-inserter.cjs +1 -1
  377. package/build/components/inserter/quick-inserter.cjs.map +1 -1
  378. package/build/components/inserter/search-results.cjs +1 -1
  379. package/build/components/inserter/search-results.cjs.map +1 -1
  380. package/build/components/inserter/tips.cjs +1 -1
  381. package/build/components/inserter/tips.cjs.map +1 -1
  382. package/build/components/inserter-draggable-blocks/index.cjs +1 -1
  383. package/build/components/inserter-draggable-blocks/index.cjs.map +2 -2
  384. package/build/components/inserter-list-item/index.cjs +1 -1
  385. package/build/components/inserter-list-item/index.cjs.map +1 -1
  386. package/build/components/inserter-listbox/group.cjs +1 -1
  387. package/build/components/inserter-listbox/group.cjs.map +1 -1
  388. package/build/components/inserter-listbox/index.cjs +1 -1
  389. package/build/components/inserter-listbox/index.cjs.map +1 -1
  390. package/build/components/inserter-listbox/item.cjs +1 -1
  391. package/build/components/inserter-listbox/item.cjs.map +1 -1
  392. package/build/components/inserter-listbox/row.cjs +1 -1
  393. package/build/components/inserter-listbox/row.cjs.map +1 -1
  394. package/build/components/inspector-controls/block-support-slot-container.cjs +1 -1
  395. package/build/components/inspector-controls/block-support-slot-container.cjs.map +1 -1
  396. package/build/components/inspector-controls/block-support-tools-panel.cjs +1 -1
  397. package/build/components/inspector-controls/block-support-tools-panel.cjs.map +1 -1
  398. package/build/components/inspector-controls/fill.cjs +1 -1
  399. package/build/components/inspector-controls/fill.cjs.map +1 -1
  400. package/build/components/inspector-controls/groups.cjs +3 -1
  401. package/build/components/inspector-controls/groups.cjs.map +2 -2
  402. package/build/components/inspector-controls/index.cjs +1 -1
  403. package/build/components/inspector-controls/index.cjs.map +1 -1
  404. package/build/components/inspector-controls/last-item.cjs +1 -1
  405. package/build/components/inspector-controls/last-item.cjs.map +1 -1
  406. package/build/components/inspector-controls/list-view-content-popover.cjs +1 -1
  407. package/build/components/inspector-controls/list-view-content-popover.cjs.map +1 -1
  408. package/build/components/inspector-controls/slot.cjs +1 -1
  409. package/build/components/inspector-controls/slot.cjs.map +1 -1
  410. package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs +1 -1
  411. package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs.map +1 -1
  412. package/build/components/inspector-controls-tabs/content-tab.cjs +3 -4
  413. package/build/components/inspector-controls-tabs/content-tab.cjs.map +3 -3
  414. package/build/components/inspector-controls-tabs/index.cjs +1 -1
  415. package/build/components/inspector-controls-tabs/index.cjs.map +1 -1
  416. package/build/components/inspector-controls-tabs/position-controls-panel.cjs +1 -1
  417. package/build/components/inspector-controls-tabs/position-controls-panel.cjs.map +1 -1
  418. package/build/components/inspector-controls-tabs/settings-tab.cjs +1 -1
  419. package/build/components/inspector-controls-tabs/settings-tab.cjs.map +1 -1
  420. package/build/components/inspector-controls-tabs/styles-tab.cjs +2 -4
  421. package/build/components/inspector-controls-tabs/styles-tab.cjs.map +3 -3
  422. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs +1 -2
  423. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.cjs.map +2 -2
  424. package/build/components/inspector-popover-header/index.cjs +6 -5
  425. package/build/components/inspector-popover-header/index.cjs.map +4 -4
  426. package/build/components/justify-content-control/index.cjs +1 -1
  427. package/build/components/justify-content-control/index.cjs.map +1 -1
  428. package/build/components/justify-content-control/ui.cjs +1 -1
  429. package/build/components/justify-content-control/ui.cjs.map +1 -1
  430. package/build/components/letter-spacing-control/index.cjs +1 -1
  431. package/build/components/letter-spacing-control/index.cjs.map +1 -1
  432. package/build/components/line-height-control/index.cjs +1 -1
  433. package/build/components/line-height-control/index.cjs.map +1 -1
  434. package/build/components/link-control/index.cjs +1 -1
  435. package/build/components/link-control/index.cjs.map +3 -3
  436. package/build/components/link-control/link-preview.cjs +1 -1
  437. package/build/components/link-control/link-preview.cjs.map +1 -1
  438. package/build/components/link-control/search-create-button.cjs +1 -1
  439. package/build/components/link-control/search-create-button.cjs.map +1 -1
  440. package/build/components/link-control/search-input.cjs +1 -1
  441. package/build/components/link-control/search-input.cjs.map +2 -2
  442. package/build/components/link-control/search-item.cjs +1 -1
  443. package/build/components/link-control/search-item.cjs.map +1 -1
  444. package/build/components/link-control/search-results.cjs +1 -1
  445. package/build/components/link-control/search-results.cjs.map +1 -1
  446. package/build/components/link-control/settings-drawer.cjs +1 -1
  447. package/build/components/link-control/settings-drawer.cjs.map +1 -1
  448. package/build/components/link-control/settings.cjs +1 -1
  449. package/build/components/link-control/settings.cjs.map +1 -1
  450. package/build/components/link-picker/link-picker.cjs +1 -1
  451. package/build/components/link-picker/link-picker.cjs.map +1 -1
  452. package/build/components/link-picker/link-preview.cjs +1 -1
  453. package/build/components/link-picker/link-preview.cjs.map +1 -1
  454. package/build/components/list-view/appender.cjs +1 -1
  455. package/build/components/list-view/appender.cjs.map +1 -1
  456. package/build/components/list-view/aria-referenced-text.cjs +1 -1
  457. package/build/components/list-view/aria-referenced-text.cjs.map +1 -1
  458. package/build/components/list-view/block-contents.cjs +1 -1
  459. package/build/components/list-view/block-contents.cjs.map +1 -1
  460. package/build/components/list-view/block-select-button.cjs +10 -2
  461. package/build/components/list-view/block-select-button.cjs.map +3 -3
  462. package/build/components/list-view/block.cjs +3 -2
  463. package/build/components/list-view/block.cjs.map +3 -3
  464. package/build/components/list-view/branch.cjs +1 -1
  465. package/build/components/list-view/branch.cjs.map +1 -1
  466. package/build/components/list-view/drop-indicator.cjs +1 -1
  467. package/build/components/list-view/drop-indicator.cjs.map +1 -1
  468. package/build/components/list-view/expander.cjs +1 -1
  469. package/build/components/list-view/expander.cjs.map +1 -1
  470. package/build/components/list-view/index.cjs +1 -1
  471. package/build/components/list-view/index.cjs.map +1 -1
  472. package/build/components/list-view/leaf.cjs +1 -1
  473. package/build/components/list-view/leaf.cjs.map +1 -1
  474. package/build/components/list-view/use-list-view-drop-zone.cjs.map +1 -1
  475. package/build/components/media-placeholder/index.cjs +1 -1
  476. package/build/components/media-placeholder/index.cjs.map +1 -1
  477. package/build/components/media-replace-flow/index.cjs +5 -2
  478. package/build/components/media-replace-flow/index.cjs.map +3 -3
  479. package/build/components/multi-selection-inspector/index.cjs +1 -1
  480. package/build/components/multi-selection-inspector/index.cjs.map +1 -1
  481. package/build/components/navigable-toolbar/index.cjs +4 -1
  482. package/build/components/navigable-toolbar/index.cjs.map +3 -3
  483. package/build/components/observe-typing/index.cjs +1 -1
  484. package/build/components/observe-typing/index.cjs.map +1 -1
  485. package/build/components/panel-color-settings/index.cjs +1 -1
  486. package/build/components/panel-color-settings/index.cjs.map +1 -1
  487. package/build/components/plain-text/index.cjs +1 -1
  488. package/build/components/plain-text/index.cjs.map +1 -1
  489. package/build/components/preset-input-control/custom-value-controls.cjs +1 -1
  490. package/build/components/preset-input-control/custom-value-controls.cjs.map +1 -1
  491. package/build/components/preset-input-control/index.cjs +1 -1
  492. package/build/components/preset-input-control/index.cjs.map +1 -1
  493. package/build/components/provider/block-refs-provider.cjs +1 -1
  494. package/build/components/provider/block-refs-provider.cjs.map +1 -1
  495. package/build/components/provider/index.cjs +21 -4
  496. package/build/components/provider/index.cjs.map +3 -3
  497. package/build/components/provider/with-registry-provider.cjs +1 -1
  498. package/build/components/provider/with-registry-provider.cjs.map +1 -1
  499. package/build/components/publish-date-time-picker/index.cjs +1 -1
  500. package/build/components/publish-date-time-picker/index.cjs.map +1 -1
  501. package/build/components/recursion-provider/index.cjs +1 -1
  502. package/build/components/recursion-provider/index.cjs.map +1 -1
  503. package/build/components/resizable-box-popover/index.cjs +1 -1
  504. package/build/components/resizable-box-popover/index.cjs.map +1 -1
  505. package/build/components/resolution-tool/index.cjs +1 -1
  506. package/build/components/resolution-tool/index.cjs.map +1 -1
  507. package/build/components/responsive-block-control/index.cjs +1 -1
  508. package/build/components/responsive-block-control/index.cjs.map +1 -1
  509. package/build/components/responsive-block-control/label.cjs +1 -1
  510. package/build/components/responsive-block-control/label.cjs.map +1 -1
  511. package/build/components/rich-text/content.cjs +1 -1
  512. package/build/components/rich-text/content.cjs.map +1 -1
  513. package/build/components/rich-text/event-listeners/enter.cjs +23 -11
  514. package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
  515. package/build/components/rich-text/event-listeners/index.cjs +0 -2
  516. package/build/components/rich-text/event-listeners/index.cjs.map +3 -3
  517. package/build/components/rich-text/event-listeners/input-rules.cjs +4 -2
  518. package/build/components/rich-text/event-listeners/input-rules.cjs.map +2 -2
  519. package/build/components/rich-text/format-edit.cjs +1 -1
  520. package/build/components/rich-text/format-edit.cjs.map +1 -1
  521. package/build/components/rich-text/format-toolbar/index.cjs +1 -1
  522. package/build/components/rich-text/format-toolbar/index.cjs.map +1 -1
  523. package/build/components/rich-text/format-toolbar-container.cjs +1 -1
  524. package/build/components/rich-text/format-toolbar-container.cjs.map +1 -1
  525. package/build/components/rich-text/get-rich-text-values.cjs +1 -1
  526. package/build/components/rich-text/get-rich-text-values.cjs.map +1 -1
  527. package/build/components/rich-text/index.cjs +1 -1
  528. package/build/components/rich-text/index.cjs.map +1 -1
  529. package/build/components/rich-text/multiline.cjs +1 -1
  530. package/build/components/rich-text/multiline.cjs.map +1 -1
  531. package/build/components/rich-text/toolbar-button.cjs +1 -1
  532. package/build/components/rich-text/toolbar-button.cjs.map +1 -1
  533. package/build/components/rich-text/utils.cjs +1 -1
  534. package/build/components/rich-text/utils.cjs.map +1 -1
  535. package/build/components/rich-text/with-deprecations.cjs +1 -1
  536. package/build/components/rich-text/with-deprecations.cjs.map +1 -1
  537. package/build/components/skip-to-selected-block/index.cjs +1 -1
  538. package/build/components/skip-to-selected-block/index.cjs.map +1 -1
  539. package/build/components/spacing-sizes-control/index.cjs +1 -1
  540. package/build/components/spacing-sizes-control/index.cjs.map +1 -1
  541. package/build/components/spacing-sizes-control/input-controls/axial.cjs +1 -1
  542. package/build/components/spacing-sizes-control/input-controls/axial.cjs.map +1 -1
  543. package/build/components/spacing-sizes-control/input-controls/separated.cjs +1 -1
  544. package/build/components/spacing-sizes-control/input-controls/separated.cjs.map +1 -1
  545. package/build/components/spacing-sizes-control/input-controls/single.cjs +1 -1
  546. package/build/components/spacing-sizes-control/input-controls/single.cjs.map +1 -1
  547. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs +1 -1
  548. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs.map +1 -1
  549. package/build/components/spacing-sizes-control/linked-button.cjs +1 -1
  550. package/build/components/spacing-sizes-control/linked-button.cjs.map +1 -1
  551. package/build/components/tabbed-sidebar/index.cjs +1 -1
  552. package/build/components/tabbed-sidebar/index.cjs.map +1 -1
  553. package/build/components/text-alignment-control/index.cjs +1 -1
  554. package/build/components/text-alignment-control/index.cjs.map +1 -1
  555. package/build/components/text-decoration-control/index.cjs +1 -1
  556. package/build/components/text-decoration-control/index.cjs.map +1 -1
  557. package/build/components/text-indent-control/index.cjs +1 -1
  558. package/build/components/text-indent-control/index.cjs.map +1 -1
  559. package/build/components/text-transform-control/index.cjs +1 -1
  560. package/build/components/text-transform-control/index.cjs.map +1 -1
  561. package/build/components/typewriter/index.cjs +1 -1
  562. package/build/components/typewriter/index.cjs.map +1 -1
  563. package/build/components/unit-control/index.cjs +1 -1
  564. package/build/components/unit-control/index.cjs.map +1 -1
  565. package/build/components/url-input/button.cjs +1 -1
  566. package/build/components/url-input/button.cjs.map +1 -1
  567. package/build/components/url-input/index.cjs +1 -1
  568. package/build/components/url-input/index.cjs.map +1 -1
  569. package/build/components/url-popover/image-url-input-ui.cjs +1 -1
  570. package/build/components/url-popover/image-url-input-ui.cjs.map +1 -1
  571. package/build/components/url-popover/index.cjs +1 -1
  572. package/build/components/url-popover/index.cjs.map +1 -1
  573. package/build/components/url-popover/link-editor.cjs +1 -1
  574. package/build/components/url-popover/link-editor.cjs.map +1 -1
  575. package/build/components/url-popover/link-viewer-url.cjs +1 -1
  576. package/build/components/url-popover/link-viewer-url.cjs.map +1 -1
  577. package/build/components/url-popover/link-viewer.cjs +1 -1
  578. package/build/components/url-popover/link-viewer.cjs.map +1 -1
  579. package/build/components/use-block-drop-zone/index.cjs.map +1 -1
  580. package/build/components/warning/index.cjs +1 -1
  581. package/build/components/warning/index.cjs.map +1 -1
  582. package/build/components/writing-flow/index.cjs +6 -1
  583. package/build/components/writing-flow/index.cjs.map +4 -4
  584. package/build/components/writing-flow/use-arrow-nav.cjs.map +1 -1
  585. package/build/components/writing-flow/use-input.cjs +12 -2
  586. package/build/components/writing-flow/use-input.cjs.map +2 -2
  587. package/build/components/writing-flow/use-tab-nav.cjs +85 -42
  588. package/build/components/writing-flow/use-tab-nav.cjs.map +4 -4
  589. package/build/components/{rich-text/event-listeners/undo-automatic-change.cjs → writing-flow/use-undo-automatic-change.cjs} +18 -15
  590. package/build/components/writing-flow/use-undo-automatic-change.cjs.map +7 -0
  591. package/build/components/writing-mode-control/index.cjs +1 -1
  592. package/build/components/writing-mode-control/index.cjs.map +1 -1
  593. package/build/hooks/align.cjs +1 -1
  594. package/build/hooks/align.cjs.map +1 -1
  595. package/build/hooks/allowed-blocks.cjs +1 -1
  596. package/build/hooks/allowed-blocks.cjs.map +1 -1
  597. package/build/hooks/anchor.cjs +1 -1
  598. package/build/hooks/anchor.cjs.map +1 -1
  599. package/build/hooks/auto-inspector-controls.cjs +1 -1
  600. package/build/hooks/auto-inspector-controls.cjs.map +1 -1
  601. package/build/hooks/background.cjs +1 -1
  602. package/build/hooks/background.cjs.map +1 -1
  603. package/build/hooks/block-bindings.cjs +1 -1
  604. package/build/hooks/block-bindings.cjs.map +1 -1
  605. package/build/hooks/block-hooks.cjs +1 -1
  606. package/build/hooks/block-hooks.cjs.map +1 -1
  607. package/build/hooks/block-style-variation.cjs +1 -1
  608. package/build/hooks/block-style-variation.cjs.map +1 -1
  609. package/build/hooks/border.cjs +3 -47
  610. package/build/hooks/border.cjs.map +3 -3
  611. package/build/hooks/custom-class-name.cjs +1 -1
  612. package/build/hooks/custom-class-name.cjs.map +1 -1
  613. package/build/hooks/custom-css.cjs +1 -1
  614. package/build/hooks/custom-css.cjs.map +1 -1
  615. package/build/hooks/dimensions.cjs +1 -1
  616. package/build/hooks/dimensions.cjs.map +1 -1
  617. package/build/hooks/duotone.cjs +1 -1
  618. package/build/hooks/duotone.cjs.map +1 -1
  619. package/build/hooks/elements.cjs +1 -1
  620. package/build/hooks/elements.cjs.map +1 -1
  621. package/build/hooks/fit-text.cjs +1 -1
  622. package/build/hooks/fit-text.cjs.map +1 -1
  623. package/build/hooks/font-size.cjs +1 -1
  624. package/build/hooks/font-size.cjs.map +1 -1
  625. package/build/hooks/generate-fields-from-attributes.cjs.map +1 -1
  626. package/build/hooks/grid-visualizer.cjs +1 -1
  627. package/build/hooks/grid-visualizer.cjs.map +2 -2
  628. package/build/hooks/index.cjs +0 -2
  629. package/build/hooks/index.cjs.map +3 -3
  630. package/build/hooks/layout-child.cjs +1 -1
  631. package/build/hooks/layout-child.cjs.map +1 -1
  632. package/build/hooks/layout.cjs +1 -1
  633. package/build/hooks/layout.cjs.map +1 -1
  634. package/build/hooks/line-height.cjs +1 -1
  635. package/build/hooks/line-height.cjs.map +1 -1
  636. package/build/hooks/list-view.cjs +1 -1
  637. package/build/hooks/list-view.cjs.map +1 -1
  638. package/build/hooks/position.cjs +2 -2
  639. package/build/hooks/position.cjs.map +3 -3
  640. package/build/hooks/spacing-visualizer.cjs +1 -1
  641. package/build/hooks/spacing-visualizer.cjs.map +1 -1
  642. package/build/hooks/states.cjs +1 -1
  643. package/build/hooks/states.cjs.map +1 -1
  644. package/build/hooks/style.cjs +3 -3
  645. package/build/hooks/style.cjs.map +3 -3
  646. package/build/hooks/text-align.cjs +1 -1
  647. package/build/hooks/text-align.cjs.map +1 -1
  648. package/build/hooks/typography.cjs +1 -1
  649. package/build/hooks/typography.cjs.map +1 -1
  650. package/build/hooks/utils.cjs +1 -1
  651. package/build/hooks/utils.cjs.map +1 -1
  652. package/build/layouts/constrained.cjs +1 -1
  653. package/build/layouts/constrained.cjs.map +1 -1
  654. package/build/layouts/flex.cjs +4 -1
  655. package/build/layouts/flex.cjs.map +3 -3
  656. package/build/layouts/grid.cjs +1 -1
  657. package/build/layouts/grid.cjs.map +1 -1
  658. package/build/store/actions.cjs +12 -9
  659. package/build/store/actions.cjs.map +3 -3
  660. package/build-module/autocompleters/block.mjs +1 -1
  661. package/build-module/autocompleters/block.mjs.map +1 -1
  662. package/build-module/components/alignment-control/index.mjs +1 -1
  663. package/build-module/components/alignment-control/index.mjs.map +1 -1
  664. package/build-module/components/alignment-control/ui.mjs +1 -1
  665. package/build-module/components/alignment-control/ui.mjs.map +1 -1
  666. package/build-module/components/autocomplete/index.mjs +1 -1
  667. package/build-module/components/autocomplete/index.mjs.map +1 -1
  668. package/build-module/components/background-image-control/index.mjs +19 -2
  669. package/build-module/components/background-image-control/index.mjs.map +3 -3
  670. package/build-module/components/block-alignment-control/index.mjs +1 -1
  671. package/build-module/components/block-alignment-control/index.mjs.map +1 -1
  672. package/build-module/components/block-alignment-control/ui.mjs +1 -1
  673. package/build-module/components/block-alignment-control/ui.mjs.map +1 -1
  674. package/build-module/components/block-alignment-matrix-control/index.mjs +1 -1
  675. package/build-module/components/block-alignment-matrix-control/index.mjs.map +1 -1
  676. package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs +1 -1
  677. package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +1 -1
  678. package/build-module/components/block-allowed-blocks/modal.mjs +3 -3
  679. package/build-module/components/block-allowed-blocks/modal.mjs.map +3 -3
  680. package/build-module/components/block-bindings/attribute-control.mjs +1 -1
  681. package/build-module/components/block-bindings/attribute-control.mjs.map +1 -1
  682. package/build-module/components/block-bindings/source-fields-list.mjs +1 -1
  683. package/build-module/components/block-bindings/source-fields-list.mjs.map +1 -1
  684. package/build-module/components/block-breadcrumb/index.mjs +1 -1
  685. package/build-module/components/block-breadcrumb/index.mjs.map +1 -1
  686. package/build-module/components/block-canvas/index.mjs +1 -1
  687. package/build-module/components/block-canvas/index.mjs.map +1 -1
  688. package/build-module/components/block-card/index.mjs +1 -1
  689. package/build-module/components/block-card/index.mjs.map +1 -1
  690. package/build-module/components/block-compare/block-view.mjs +1 -1
  691. package/build-module/components/block-compare/block-view.mjs.map +1 -1
  692. package/build-module/components/block-compare/index.mjs +1 -1
  693. package/build-module/components/block-compare/index.mjs.map +1 -1
  694. package/build-module/components/block-context/index.mjs +1 -1
  695. package/build-module/components/block-context/index.mjs.map +1 -1
  696. package/build-module/components/block-controls/fill.mjs +1 -1
  697. package/build-module/components/block-controls/fill.mjs.map +1 -1
  698. package/build-module/components/block-controls/index.mjs +1 -1
  699. package/build-module/components/block-controls/index.mjs.map +1 -1
  700. package/build-module/components/block-controls/slot.mjs +1 -1
  701. package/build-module/components/block-controls/slot.mjs.map +1 -1
  702. package/build-module/components/block-draggable/draggable-chip.mjs +1 -1
  703. package/build-module/components/block-draggable/draggable-chip.mjs.map +1 -1
  704. package/build-module/components/block-draggable/index.mjs +1 -1
  705. package/build-module/components/block-draggable/index.mjs.map +1 -1
  706. package/build-module/components/block-edit/edit.mjs +1 -1
  707. package/build-module/components/block-edit/edit.mjs.map +2 -2
  708. package/build-module/components/block-edit/index.mjs +1 -1
  709. package/build-module/components/block-edit/index.mjs.map +1 -1
  710. package/build-module/components/block-edit/multiple-usage-warning.mjs +1 -1
  711. package/build-module/components/block-edit/multiple-usage-warning.mjs.map +1 -1
  712. package/build-module/components/block-edit-visually-button/index.mjs +1 -1
  713. package/build-module/components/block-edit-visually-button/index.mjs.map +1 -1
  714. package/build-module/components/block-full-height-alignment-control/index.mjs +1 -1
  715. package/build-module/components/block-full-height-alignment-control/index.mjs.map +1 -1
  716. package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs +1 -1
  717. package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +1 -1
  718. package/build-module/components/block-heading-level-dropdown/index.mjs +1 -1
  719. package/build-module/components/block-heading-level-dropdown/index.mjs.map +1 -1
  720. package/build-module/components/block-icon/index.mjs +1 -1
  721. package/build-module/components/block-icon/index.mjs.map +1 -1
  722. package/build-module/components/block-inspector/edit-contents.mjs +1 -1
  723. package/build-module/components/block-inspector/edit-contents.mjs.map +1 -1
  724. package/build-module/components/block-inspector/index.mjs +8 -16
  725. package/build-module/components/block-inspector/index.mjs.map +3 -3
  726. package/build-module/components/block-keyboard-shortcuts/index.mjs +1 -1
  727. package/build-module/components/block-keyboard-shortcuts/index.mjs.map +1 -1
  728. package/build-module/components/block-list/block-crash-warning.mjs +1 -1
  729. package/build-module/components/block-list/block-crash-warning.mjs.map +1 -1
  730. package/build-module/components/block-list/block-html.mjs +1 -1
  731. package/build-module/components/block-list/block-html.mjs.map +1 -1
  732. package/build-module/components/block-list/block-invalid-warning.mjs +1 -1
  733. package/build-module/components/block-list/block-invalid-warning.mjs.map +1 -1
  734. package/build-module/components/block-list/block.mjs +1 -1
  735. package/build-module/components/block-list/block.mjs.map +1 -1
  736. package/build-module/components/block-list/index.mjs +1 -1
  737. package/build-module/components/block-list/index.mjs.map +1 -1
  738. package/build-module/components/block-list/layout.mjs +1 -1
  739. package/build-module/components/block-list/layout.mjs.map +1 -1
  740. package/build-module/components/block-list/subdirectory-icon.mjs +1 -1
  741. package/build-module/components/block-list/subdirectory-icon.mjs.map +1 -1
  742. package/build-module/components/block-list/use-block-props/use-is-hovered.mjs +17 -4
  743. package/build-module/components/block-list/use-block-props/use-is-hovered.mjs.map +2 -2
  744. package/build-module/components/block-list/zoom-out-separator.mjs +1 -1
  745. package/build-module/components/block-list/zoom-out-separator.mjs.map +1 -1
  746. package/build-module/components/block-list-appender/index.mjs +1 -1
  747. package/build-module/components/block-list-appender/index.mjs.map +1 -1
  748. package/build-module/components/block-lock/menu-item.mjs +1 -1
  749. package/build-module/components/block-lock/menu-item.mjs.map +1 -1
  750. package/build-module/components/block-lock/modal.mjs +1 -1
  751. package/build-module/components/block-lock/modal.mjs.map +1 -1
  752. package/build-module/components/block-lock/toolbar.mjs +1 -1
  753. package/build-module/components/block-lock/toolbar.mjs.map +1 -1
  754. package/build-module/components/block-manager/category.mjs +1 -1
  755. package/build-module/components/block-manager/category.mjs.map +1 -1
  756. package/build-module/components/block-manager/checklist.mjs +1 -1
  757. package/build-module/components/block-manager/checklist.mjs.map +1 -1
  758. package/build-module/components/block-manager/index.mjs +1 -1
  759. package/build-module/components/block-manager/index.mjs.map +1 -1
  760. package/build-module/components/block-mover/button.mjs +1 -1
  761. package/build-module/components/block-mover/button.mjs.map +1 -1
  762. package/build-module/components/block-mover/index.mjs +1 -1
  763. package/build-module/components/block-mover/index.mjs.map +1 -1
  764. package/build-module/components/block-navigation/dropdown.mjs +1 -1
  765. package/build-module/components/block-navigation/dropdown.mjs.map +1 -1
  766. package/build-module/components/block-parent-selector/index.mjs +1 -1
  767. package/build-module/components/block-parent-selector/index.mjs.map +1 -1
  768. package/build-module/components/block-pattern-setup/index.mjs +1 -1
  769. package/build-module/components/block-pattern-setup/index.mjs.map +1 -1
  770. package/build-module/components/block-pattern-setup/setup-toolbar.mjs +1 -1
  771. package/build-module/components/block-pattern-setup/setup-toolbar.mjs.map +1 -1
  772. package/build-module/components/block-patterns-list/index.mjs +1 -1
  773. package/build-module/components/block-patterns-list/index.mjs.map +1 -1
  774. package/build-module/components/block-patterns-paging/index.mjs +1 -1
  775. package/build-module/components/block-patterns-paging/index.mjs.map +1 -1
  776. package/build-module/components/block-popover/cover.mjs +1 -1
  777. package/build-module/components/block-popover/cover.mjs.map +1 -1
  778. package/build-module/components/block-popover/drop-zone.mjs +1 -1
  779. package/build-module/components/block-popover/drop-zone.mjs.map +1 -1
  780. package/build-module/components/block-popover/inbetween.mjs +1 -1
  781. package/build-module/components/block-popover/inbetween.mjs.map +1 -1
  782. package/build-module/components/block-popover/index.mjs +1 -1
  783. package/build-module/components/block-popover/index.mjs.map +1 -1
  784. package/build-module/components/block-preview/auto.mjs +1 -1
  785. package/build-module/components/block-preview/auto.mjs.map +1 -1
  786. package/build-module/components/block-preview/index.mjs +2 -3
  787. package/build-module/components/block-preview/index.mjs.map +3 -3
  788. package/build-module/components/block-quick-navigation/index.mjs +1 -1
  789. package/build-module/components/block-quick-navigation/index.mjs.map +1 -1
  790. package/build-module/components/block-removal-warning-modal/index.mjs +1 -1
  791. package/build-module/components/block-removal-warning-modal/index.mjs.map +1 -1
  792. package/build-module/components/block-rename/modal.mjs +1 -1
  793. package/build-module/components/block-rename/modal.mjs.map +1 -1
  794. package/build-module/components/block-rename/rename-control.mjs +1 -1
  795. package/build-module/components/block-rename/rename-control.mjs.map +1 -1
  796. package/build-module/components/block-selection-clearer/index.mjs +1 -1
  797. package/build-module/components/block-selection-clearer/index.mjs.map +1 -1
  798. package/build-module/components/block-settings-menu/block-html-convert-button.mjs +1 -1
  799. package/build-module/components/block-settings-menu/block-html-convert-button.mjs.map +1 -1
  800. package/build-module/components/block-settings-menu/block-mode-toggle.mjs +1 -1
  801. package/build-module/components/block-settings-menu/block-mode-toggle.mjs.map +1 -1
  802. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs +1 -1
  803. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs.map +1 -1
  804. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs +1 -1
  805. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +1 -1
  806. package/build-module/components/block-settings-menu/index.mjs +1 -1
  807. package/build-module/components/block-settings-menu/index.mjs.map +1 -1
  808. package/build-module/components/block-settings-menu-controls/index.mjs +1 -1
  809. package/build-module/components/block-settings-menu-controls/index.mjs.map +1 -1
  810. package/build-module/components/block-styles/index.mjs +1 -1
  811. package/build-module/components/block-styles/index.mjs.map +1 -1
  812. package/build-module/components/block-styles/menu-items.mjs +1 -1
  813. package/build-module/components/block-styles/menu-items.mjs.map +1 -1
  814. package/build-module/components/block-switcher/block-styles-menu.mjs +1 -1
  815. package/build-module/components/block-switcher/block-styles-menu.mjs.map +1 -1
  816. package/build-module/components/block-switcher/block-transformations-menu.mjs +1 -1
  817. package/build-module/components/block-switcher/block-transformations-menu.mjs.map +1 -1
  818. package/build-module/components/block-switcher/block-variation-transformations.mjs +1 -1
  819. package/build-module/components/block-switcher/block-variation-transformations.mjs.map +1 -1
  820. package/build-module/components/block-switcher/index.mjs +3 -3
  821. package/build-module/components/block-switcher/index.mjs.map +3 -3
  822. package/build-module/components/block-switcher/pattern-transformations-menu.mjs +1 -1
  823. package/build-module/components/block-switcher/pattern-transformations-menu.mjs.map +1 -1
  824. package/build-module/components/block-switcher/preview-block-popover.mjs +1 -1
  825. package/build-module/components/block-switcher/preview-block-popover.mjs.map +1 -1
  826. package/build-module/components/block-toolbar/block-styles-dropdown.mjs +1 -1
  827. package/build-module/components/block-toolbar/block-styles-dropdown.mjs.map +1 -1
  828. package/build-module/components/block-toolbar/block-toolbar-icon.mjs +1 -1
  829. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +1 -1
  830. package/build-module/components/block-toolbar/change-design.mjs +1 -1
  831. package/build-module/components/block-toolbar/change-design.mjs.map +1 -1
  832. package/build-module/components/block-toolbar/edit-section-button.mjs +1 -1
  833. package/build-module/components/block-toolbar/edit-section-button.mjs.map +1 -1
  834. package/build-module/components/block-toolbar/index.mjs +1 -1
  835. package/build-module/components/block-toolbar/index.mjs.map +1 -1
  836. package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs +4 -7
  837. package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs.map +3 -3
  838. package/build-module/components/block-toolbar/switch-section-style.mjs +1 -1
  839. package/build-module/components/block-toolbar/switch-section-style.mjs.map +1 -1
  840. package/build-module/components/block-tools/block-toolbar-popover.mjs +1 -1
  841. package/build-module/components/block-tools/block-toolbar-popover.mjs.map +1 -1
  842. package/build-module/components/block-tools/empty-block-inserter.mjs +1 -1
  843. package/build-module/components/block-tools/empty-block-inserter.mjs.map +1 -1
  844. package/build-module/components/block-tools/index.mjs +1 -1
  845. package/build-module/components/block-tools/index.mjs.map +1 -1
  846. package/build-module/components/block-tools/insertion-point.mjs +1 -1
  847. package/build-module/components/block-tools/insertion-point.mjs.map +1 -1
  848. package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs +1 -1
  849. package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs.map +1 -1
  850. package/build-module/components/block-tools/zoom-out-mode-inserters.mjs +1 -1
  851. package/build-module/components/block-tools/zoom-out-mode-inserters.mjs.map +1 -1
  852. package/build-module/components/block-types-list/index.mjs +1 -1
  853. package/build-module/components/block-types-list/index.mjs.map +1 -1
  854. package/build-module/components/block-variation-picker/index.mjs +1 -1
  855. package/build-module/components/block-variation-picker/index.mjs.map +1 -1
  856. package/build-module/components/block-variation-transforms/index.mjs +1 -1
  857. package/build-module/components/block-variation-transforms/index.mjs.map +1 -1
  858. package/build-module/components/block-vertical-alignment-control/index.mjs +1 -1
  859. package/build-module/components/block-vertical-alignment-control/index.mjs.map +1 -1
  860. package/build-module/components/block-vertical-alignment-control/ui.mjs +1 -1
  861. package/build-module/components/block-vertical-alignment-control/ui.mjs.map +1 -1
  862. package/build-module/components/block-visibility/constants.mjs.map +1 -1
  863. package/build-module/components/block-visibility/modal.mjs +1 -1
  864. package/build-module/components/block-visibility/modal.mjs.map +1 -1
  865. package/build-module/components/block-visibility/viewport-menu-item.mjs +1 -1
  866. package/build-module/components/block-visibility/viewport-menu-item.mjs.map +1 -1
  867. package/build-module/components/block-visibility/viewport-toolbar.mjs +1 -1
  868. package/build-module/components/block-visibility/viewport-toolbar.mjs.map +1 -1
  869. package/build-module/components/block-visibility/viewport-visibility-info.mjs +1 -1
  870. package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +1 -1
  871. package/build-module/components/border-radius-control/index.mjs +1 -1
  872. package/build-module/components/border-radius-control/index.mjs.map +1 -1
  873. package/build-module/components/border-radius-control/linked-button.mjs +1 -1
  874. package/build-module/components/border-radius-control/linked-button.mjs.map +1 -1
  875. package/build-module/components/button-block-appender/index.mjs +1 -1
  876. package/build-module/components/button-block-appender/index.mjs.map +1 -1
  877. package/build-module/components/child-layout-control/index.mjs +1 -1
  878. package/build-module/components/child-layout-control/index.mjs.map +1 -1
  879. package/build-module/components/color-palette/control.mjs +1 -1
  880. package/build-module/components/color-palette/control.mjs.map +1 -1
  881. package/build-module/components/color-palette/with-color-context.mjs +1 -1
  882. package/build-module/components/color-palette/with-color-context.mjs.map +1 -1
  883. package/build-module/components/color-style-selector/index.mjs +1 -1
  884. package/build-module/components/color-style-selector/index.mjs.map +1 -1
  885. package/build-module/components/colors/with-colors.mjs +1 -1
  886. package/build-module/components/colors/with-colors.mjs.map +1 -1
  887. package/build-module/components/colors-gradients/control.mjs +1 -1
  888. package/build-module/components/colors-gradients/control.mjs.map +1 -1
  889. package/build-module/components/colors-gradients/dropdown.mjs +1 -1
  890. package/build-module/components/colors-gradients/dropdown.mjs.map +1 -1
  891. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs +1 -1
  892. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs.map +1 -1
  893. package/build-module/components/contrast-checker/index.mjs +1 -1
  894. package/build-module/components/contrast-checker/index.mjs.map +1 -1
  895. package/build-module/components/convert-to-group-buttons/index.mjs +1 -1
  896. package/build-module/components/convert-to-group-buttons/index.mjs.map +1 -1
  897. package/build-module/components/convert-to-group-buttons/toolbar.mjs +1 -1
  898. package/build-module/components/convert-to-group-buttons/toolbar.mjs.map +1 -1
  899. package/build-module/components/copy-handler/index.mjs +1 -1
  900. package/build-module/components/copy-handler/index.mjs.map +1 -1
  901. package/build-module/components/date-format-picker/index.mjs +1 -1
  902. package/build-module/components/date-format-picker/index.mjs.map +1 -1
  903. package/build-module/components/default-block-appender/index.mjs +1 -1
  904. package/build-module/components/default-block-appender/index.mjs.map +1 -1
  905. package/build-module/components/dimension-control/index.mjs +1 -1
  906. package/build-module/components/dimension-control/index.mjs.map +1 -1
  907. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -1
  908. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +1 -1
  909. package/build-module/components/dimensions-tool/index.mjs +1 -1
  910. package/build-module/components/dimensions-tool/index.mjs.map +1 -1
  911. package/build-module/components/dimensions-tool/scale-tool.mjs +1 -1
  912. package/build-module/components/dimensions-tool/scale-tool.mjs.map +1 -1
  913. package/build-module/components/dimensions-tool/width-height-tool.mjs +1 -1
  914. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +1 -1
  915. package/build-module/components/duotone-control/index.mjs +1 -1
  916. package/build-module/components/duotone-control/index.mjs.map +1 -1
  917. package/build-module/components/editable-text/index.mjs +1 -1
  918. package/build-module/components/editable-text/index.mjs.map +1 -1
  919. package/build-module/components/editor-styles/index.mjs +1 -1
  920. package/build-module/components/editor-styles/index.mjs.map +1 -1
  921. package/build-module/components/fit-text-size-warning/index.mjs +1 -1
  922. package/build-module/components/fit-text-size-warning/index.mjs.map +1 -1
  923. package/build-module/components/font-appearance-control/index.mjs +1 -1
  924. package/build-module/components/font-appearance-control/index.mjs.map +1 -1
  925. package/build-module/components/font-family/index.mjs +1 -1
  926. package/build-module/components/font-family/index.mjs.map +1 -1
  927. package/build-module/components/font-sizes/font-size-picker.mjs +1 -1
  928. package/build-module/components/font-sizes/font-size-picker.mjs.map +1 -1
  929. package/build-module/components/font-sizes/with-font-sizes.mjs +1 -1
  930. package/build-module/components/font-sizes/with-font-sizes.mjs.map +1 -1
  931. package/build-module/components/global-styles/advanced-panel.mjs +1 -1
  932. package/build-module/components/global-styles/advanced-panel.mjs.map +1 -1
  933. package/build-module/components/global-styles/background-panel.mjs +1 -1
  934. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  935. package/build-module/components/global-styles/border-panel.mjs +20 -43
  936. package/build-module/components/global-styles/border-panel.mjs.map +3 -3
  937. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +1 -1
  938. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +1 -1
  939. package/build-module/components/global-styles/color-panel.mjs +1 -1
  940. package/build-module/components/global-styles/color-panel.mjs.map +1 -1
  941. package/build-module/components/global-styles/dimensions-panel.mjs +1 -1
  942. package/build-module/components/global-styles/dimensions-panel.mjs.map +1 -1
  943. package/build-module/components/global-styles/filters-panel.mjs +1 -1
  944. package/build-module/components/global-styles/filters-panel.mjs.map +1 -1
  945. package/build-module/components/global-styles/image-settings-panel.mjs +1 -1
  946. package/build-module/components/global-styles/image-settings-panel.mjs.map +2 -2
  947. package/build-module/components/global-styles/inheritance/index.mjs +1 -1
  948. package/build-module/components/global-styles/inheritance/index.mjs.map +1 -1
  949. package/build-module/components/global-styles/shadow-panel-components.mjs +1 -1
  950. package/build-module/components/global-styles/shadow-panel-components.mjs.map +1 -1
  951. package/build-module/components/global-styles/state-control-badges.mjs +1 -1
  952. package/build-module/components/global-styles/state-control-badges.mjs.map +1 -1
  953. package/build-module/components/global-styles/state-control.mjs +1 -1
  954. package/build-module/components/global-styles/state-control.mjs.map +1 -1
  955. package/build-module/components/global-styles/typography-panel.mjs +1 -1
  956. package/build-module/components/global-styles/typography-panel.mjs.map +1 -1
  957. package/build-module/components/grid/grid-item-movers.mjs +1 -1
  958. package/build-module/components/grid/grid-item-movers.mjs.map +1 -1
  959. package/build-module/components/grid/grid-item-resizer.mjs +1 -1
  960. package/build-module/components/grid/grid-item-resizer.mjs.map +1 -1
  961. package/build-module/components/grid/grid-visualizer.mjs +1 -1
  962. package/build-module/components/grid/grid-visualizer.mjs.map +1 -1
  963. package/build-module/components/height-control/index.mjs +1 -1
  964. package/build-module/components/height-control/index.mjs.map +1 -1
  965. package/build-module/components/html-element-control/index.mjs +1 -1
  966. package/build-module/components/html-element-control/index.mjs.map +1 -1
  967. package/build-module/components/iframe/index.mjs +1 -1
  968. package/build-module/components/iframe/index.mjs.map +2 -2
  969. package/build-module/components/image-editor/aspect-ratio-dropdown.mjs +1 -1
  970. package/build-module/components/image-editor/aspect-ratio-dropdown.mjs.map +1 -1
  971. package/build-module/components/image-editor/context.mjs +1 -1
  972. package/build-module/components/image-editor/context.mjs.map +1 -1
  973. package/build-module/components/image-editor/cropper.mjs +1 -1
  974. package/build-module/components/image-editor/cropper.mjs.map +1 -1
  975. package/build-module/components/image-editor/form-controls.mjs +1 -1
  976. package/build-module/components/image-editor/form-controls.mjs.map +1 -1
  977. package/build-module/components/image-editor/index.mjs +1 -1
  978. package/build-module/components/image-editor/index.mjs.map +1 -1
  979. package/build-module/components/image-editor/rotation-button.mjs +1 -1
  980. package/build-module/components/image-editor/rotation-button.mjs.map +1 -1
  981. package/build-module/components/image-editor/zoom-dropdown.mjs +1 -1
  982. package/build-module/components/image-editor/zoom-dropdown.mjs.map +1 -1
  983. package/build-module/components/image-size-control/index.mjs +1 -1
  984. package/build-module/components/image-size-control/index.mjs.map +1 -1
  985. package/build-module/components/inner-blocks/button-block-appender.mjs +1 -1
  986. package/build-module/components/inner-blocks/button-block-appender.mjs.map +1 -1
  987. package/build-module/components/inner-blocks/default-block-appender.mjs +1 -1
  988. package/build-module/components/inner-blocks/default-block-appender.mjs.map +1 -1
  989. package/build-module/components/inner-blocks/index.mjs +1 -1
  990. package/build-module/components/inner-blocks/index.mjs.map +1 -1
  991. package/build-module/components/inner-content/index.mjs +1 -1
  992. package/build-module/components/inner-content/index.mjs.map +1 -1
  993. package/build-module/components/inserter/block-patterns-explorer/index.mjs +1 -1
  994. package/build-module/components/inserter/block-patterns-explorer/index.mjs.map +1 -1
  995. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs +1 -1
  996. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs.map +1 -1
  997. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs +1 -1
  998. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs.map +1 -1
  999. package/build-module/components/inserter/block-patterns-tab/index.mjs +1 -1
  1000. package/build-module/components/inserter/block-patterns-tab/index.mjs.map +1 -1
  1001. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs +1 -1
  1002. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs.map +1 -1
  1003. package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs +1 -1
  1004. package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs.map +1 -1
  1005. package/build-module/components/inserter/block-types-tab.mjs +1 -1
  1006. package/build-module/components/inserter/block-types-tab.mjs.map +1 -1
  1007. package/build-module/components/inserter/category-tabs/index.mjs +1 -1
  1008. package/build-module/components/inserter/category-tabs/index.mjs.map +1 -1
  1009. package/build-module/components/inserter/hooks/use-patterns-paging.mjs.map +1 -1
  1010. package/build-module/components/inserter/index.mjs +1 -1
  1011. package/build-module/components/inserter/index.mjs.map +1 -1
  1012. package/build-module/components/inserter/library.mjs +1 -1
  1013. package/build-module/components/inserter/library.mjs.map +1 -1
  1014. package/build-module/components/inserter/media-tab/media-list.mjs +1 -1
  1015. package/build-module/components/inserter/media-tab/media-list.mjs.map +1 -1
  1016. package/build-module/components/inserter/media-tab/media-panel.mjs +1 -1
  1017. package/build-module/components/inserter/media-tab/media-panel.mjs.map +1 -1
  1018. package/build-module/components/inserter/media-tab/media-preview.mjs +1 -1
  1019. package/build-module/components/inserter/media-tab/media-preview.mjs.map +1 -1
  1020. package/build-module/components/inserter/media-tab/media-tab.mjs +1 -1
  1021. package/build-module/components/inserter/media-tab/media-tab.mjs.map +1 -1
  1022. package/build-module/components/inserter/media-tab/utils.mjs +1 -1
  1023. package/build-module/components/inserter/media-tab/utils.mjs.map +1 -1
  1024. package/build-module/components/inserter/menu.mjs +2 -2
  1025. package/build-module/components/inserter/menu.mjs.map +3 -3
  1026. package/build-module/components/inserter/mobile-tab-navigation.mjs +1 -1
  1027. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +1 -1
  1028. package/build-module/components/inserter/no-results.mjs +1 -1
  1029. package/build-module/components/inserter/no-results.mjs.map +1 -1
  1030. package/build-module/components/inserter/panel.mjs +1 -1
  1031. package/build-module/components/inserter/panel.mjs.map +1 -1
  1032. package/build-module/components/inserter/preview-panel.mjs +1 -1
  1033. package/build-module/components/inserter/preview-panel.mjs.map +1 -1
  1034. package/build-module/components/inserter/quick-inserter.mjs +1 -1
  1035. package/build-module/components/inserter/quick-inserter.mjs.map +1 -1
  1036. package/build-module/components/inserter/search-results.mjs +1 -1
  1037. package/build-module/components/inserter/search-results.mjs.map +1 -1
  1038. package/build-module/components/inserter/tips.mjs +1 -1
  1039. package/build-module/components/inserter/tips.mjs.map +1 -1
  1040. package/build-module/components/inserter-draggable-blocks/index.mjs +1 -1
  1041. package/build-module/components/inserter-draggable-blocks/index.mjs.map +2 -2
  1042. package/build-module/components/inserter-list-item/index.mjs +1 -1
  1043. package/build-module/components/inserter-list-item/index.mjs.map +1 -1
  1044. package/build-module/components/inserter-listbox/group.mjs +1 -1
  1045. package/build-module/components/inserter-listbox/group.mjs.map +1 -1
  1046. package/build-module/components/inserter-listbox/index.mjs +1 -1
  1047. package/build-module/components/inserter-listbox/index.mjs.map +1 -1
  1048. package/build-module/components/inserter-listbox/item.mjs +1 -1
  1049. package/build-module/components/inserter-listbox/item.mjs.map +1 -1
  1050. package/build-module/components/inserter-listbox/row.mjs +1 -1
  1051. package/build-module/components/inserter-listbox/row.mjs.map +1 -1
  1052. package/build-module/components/inspector-controls/block-support-slot-container.mjs +1 -1
  1053. package/build-module/components/inspector-controls/block-support-slot-container.mjs.map +1 -1
  1054. package/build-module/components/inspector-controls/block-support-tools-panel.mjs +1 -1
  1055. package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +1 -1
  1056. package/build-module/components/inspector-controls/fill.mjs +1 -1
  1057. package/build-module/components/inspector-controls/fill.mjs.map +1 -1
  1058. package/build-module/components/inspector-controls/groups.mjs +3 -1
  1059. package/build-module/components/inspector-controls/groups.mjs.map +2 -2
  1060. package/build-module/components/inspector-controls/index.mjs +1 -1
  1061. package/build-module/components/inspector-controls/index.mjs.map +1 -1
  1062. package/build-module/components/inspector-controls/last-item.mjs +1 -1
  1063. package/build-module/components/inspector-controls/last-item.mjs.map +1 -1
  1064. package/build-module/components/inspector-controls/list-view-content-popover.mjs +1 -1
  1065. package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +1 -1
  1066. package/build-module/components/inspector-controls/slot.mjs +1 -1
  1067. package/build-module/components/inspector-controls/slot.mjs.map +1 -1
  1068. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs +1 -1
  1069. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs.map +1 -1
  1070. package/build-module/components/inspector-controls-tabs/content-tab.mjs +4 -5
  1071. package/build-module/components/inspector-controls-tabs/content-tab.mjs.map +3 -3
  1072. package/build-module/components/inspector-controls-tabs/index.mjs +1 -1
  1073. package/build-module/components/inspector-controls-tabs/index.mjs.map +1 -1
  1074. package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs +1 -1
  1075. package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs.map +1 -1
  1076. package/build-module/components/inspector-controls-tabs/settings-tab.mjs +1 -1
  1077. package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +1 -1
  1078. package/build-module/components/inspector-controls-tabs/styles-tab.mjs +2 -4
  1079. package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +3 -3
  1080. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs +1 -2
  1081. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.mjs.map +2 -2
  1082. package/build-module/components/inspector-popover-header/index.mjs +7 -8
  1083. package/build-module/components/inspector-popover-header/index.mjs.map +3 -3
  1084. package/build-module/components/justify-content-control/index.mjs +1 -1
  1085. package/build-module/components/justify-content-control/index.mjs.map +1 -1
  1086. package/build-module/components/justify-content-control/ui.mjs +1 -1
  1087. package/build-module/components/justify-content-control/ui.mjs.map +1 -1
  1088. package/build-module/components/letter-spacing-control/index.mjs +1 -1
  1089. package/build-module/components/letter-spacing-control/index.mjs.map +1 -1
  1090. package/build-module/components/line-height-control/index.mjs +1 -1
  1091. package/build-module/components/line-height-control/index.mjs.map +1 -1
  1092. package/build-module/components/link-control/index.mjs +1 -1
  1093. package/build-module/components/link-control/index.mjs.map +3 -3
  1094. package/build-module/components/link-control/link-preview.mjs +1 -1
  1095. package/build-module/components/link-control/link-preview.mjs.map +1 -1
  1096. package/build-module/components/link-control/search-create-button.mjs +1 -1
  1097. package/build-module/components/link-control/search-create-button.mjs.map +1 -1
  1098. package/build-module/components/link-control/search-input.mjs +1 -1
  1099. package/build-module/components/link-control/search-input.mjs.map +2 -2
  1100. package/build-module/components/link-control/search-item.mjs +1 -1
  1101. package/build-module/components/link-control/search-item.mjs.map +1 -1
  1102. package/build-module/components/link-control/search-results.mjs +1 -1
  1103. package/build-module/components/link-control/search-results.mjs.map +1 -1
  1104. package/build-module/components/link-control/settings-drawer.mjs +1 -1
  1105. package/build-module/components/link-control/settings-drawer.mjs.map +1 -1
  1106. package/build-module/components/link-control/settings.mjs +1 -1
  1107. package/build-module/components/link-control/settings.mjs.map +1 -1
  1108. package/build-module/components/link-picker/link-picker.mjs +1 -1
  1109. package/build-module/components/link-picker/link-picker.mjs.map +1 -1
  1110. package/build-module/components/link-picker/link-preview.mjs +1 -1
  1111. package/build-module/components/link-picker/link-preview.mjs.map +1 -1
  1112. package/build-module/components/list-view/appender.mjs +1 -1
  1113. package/build-module/components/list-view/appender.mjs.map +1 -1
  1114. package/build-module/components/list-view/aria-referenced-text.mjs +1 -1
  1115. package/build-module/components/list-view/aria-referenced-text.mjs.map +1 -1
  1116. package/build-module/components/list-view/block-contents.mjs +1 -1
  1117. package/build-module/components/list-view/block-contents.mjs.map +1 -1
  1118. package/build-module/components/list-view/block-select-button.mjs +10 -2
  1119. package/build-module/components/list-view/block-select-button.mjs.map +3 -3
  1120. package/build-module/components/list-view/block.mjs +3 -2
  1121. package/build-module/components/list-view/block.mjs.map +3 -3
  1122. package/build-module/components/list-view/branch.mjs +1 -1
  1123. package/build-module/components/list-view/branch.mjs.map +1 -1
  1124. package/build-module/components/list-view/drop-indicator.mjs +1 -1
  1125. package/build-module/components/list-view/drop-indicator.mjs.map +1 -1
  1126. package/build-module/components/list-view/expander.mjs +1 -1
  1127. package/build-module/components/list-view/expander.mjs.map +1 -1
  1128. package/build-module/components/list-view/index.mjs +1 -1
  1129. package/build-module/components/list-view/index.mjs.map +1 -1
  1130. package/build-module/components/list-view/leaf.mjs +1 -1
  1131. package/build-module/components/list-view/leaf.mjs.map +1 -1
  1132. package/build-module/components/list-view/use-list-view-drop-zone.mjs.map +1 -1
  1133. package/build-module/components/media-placeholder/index.mjs +1 -1
  1134. package/build-module/components/media-placeholder/index.mjs.map +1 -1
  1135. package/build-module/components/media-replace-flow/index.mjs +5 -2
  1136. package/build-module/components/media-replace-flow/index.mjs.map +3 -3
  1137. package/build-module/components/multi-selection-inspector/index.mjs +1 -1
  1138. package/build-module/components/multi-selection-inspector/index.mjs.map +1 -1
  1139. package/build-module/components/navigable-toolbar/index.mjs +4 -1
  1140. package/build-module/components/navigable-toolbar/index.mjs.map +3 -3
  1141. package/build-module/components/observe-typing/index.mjs +1 -1
  1142. package/build-module/components/observe-typing/index.mjs.map +1 -1
  1143. package/build-module/components/panel-color-settings/index.mjs +1 -1
  1144. package/build-module/components/panel-color-settings/index.mjs.map +1 -1
  1145. package/build-module/components/plain-text/index.mjs +1 -1
  1146. package/build-module/components/plain-text/index.mjs.map +1 -1
  1147. package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -1
  1148. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +1 -1
  1149. package/build-module/components/preset-input-control/index.mjs +1 -1
  1150. package/build-module/components/preset-input-control/index.mjs.map +1 -1
  1151. package/build-module/components/provider/block-refs-provider.mjs +1 -1
  1152. package/build-module/components/provider/block-refs-provider.mjs.map +1 -1
  1153. package/build-module/components/provider/index.mjs +21 -4
  1154. package/build-module/components/provider/index.mjs.map +3 -3
  1155. package/build-module/components/provider/with-registry-provider.mjs +1 -1
  1156. package/build-module/components/provider/with-registry-provider.mjs.map +1 -1
  1157. package/build-module/components/publish-date-time-picker/index.mjs +1 -1
  1158. package/build-module/components/publish-date-time-picker/index.mjs.map +1 -1
  1159. package/build-module/components/recursion-provider/index.mjs +1 -1
  1160. package/build-module/components/recursion-provider/index.mjs.map +1 -1
  1161. package/build-module/components/resizable-box-popover/index.mjs +1 -1
  1162. package/build-module/components/resizable-box-popover/index.mjs.map +1 -1
  1163. package/build-module/components/resolution-tool/index.mjs +1 -1
  1164. package/build-module/components/resolution-tool/index.mjs.map +1 -1
  1165. package/build-module/components/responsive-block-control/index.mjs +1 -1
  1166. package/build-module/components/responsive-block-control/index.mjs.map +1 -1
  1167. package/build-module/components/responsive-block-control/label.mjs +1 -1
  1168. package/build-module/components/responsive-block-control/label.mjs.map +1 -1
  1169. package/build-module/components/rich-text/content.mjs +1 -1
  1170. package/build-module/components/rich-text/content.mjs.map +1 -1
  1171. package/build-module/components/rich-text/event-listeners/enter.mjs +23 -11
  1172. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  1173. package/build-module/components/rich-text/event-listeners/index.mjs +0 -2
  1174. package/build-module/components/rich-text/event-listeners/index.mjs.map +2 -2
  1175. package/build-module/components/rich-text/event-listeners/input-rules.mjs +4 -2
  1176. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  1177. package/build-module/components/rich-text/format-edit.mjs +1 -1
  1178. package/build-module/components/rich-text/format-edit.mjs.map +1 -1
  1179. package/build-module/components/rich-text/format-toolbar/index.mjs +1 -1
  1180. package/build-module/components/rich-text/format-toolbar/index.mjs.map +1 -1
  1181. package/build-module/components/rich-text/format-toolbar-container.mjs +1 -1
  1182. package/build-module/components/rich-text/format-toolbar-container.mjs.map +1 -1
  1183. package/build-module/components/rich-text/get-rich-text-values.mjs +1 -1
  1184. package/build-module/components/rich-text/get-rich-text-values.mjs.map +1 -1
  1185. package/build-module/components/rich-text/index.mjs +1 -1
  1186. package/build-module/components/rich-text/index.mjs.map +1 -1
  1187. package/build-module/components/rich-text/multiline.mjs +1 -1
  1188. package/build-module/components/rich-text/multiline.mjs.map +1 -1
  1189. package/build-module/components/rich-text/toolbar-button.mjs +1 -1
  1190. package/build-module/components/rich-text/toolbar-button.mjs.map +1 -1
  1191. package/build-module/components/rich-text/utils.mjs +1 -1
  1192. package/build-module/components/rich-text/utils.mjs.map +1 -1
  1193. package/build-module/components/rich-text/with-deprecations.mjs +1 -1
  1194. package/build-module/components/rich-text/with-deprecations.mjs.map +1 -1
  1195. package/build-module/components/skip-to-selected-block/index.mjs +1 -1
  1196. package/build-module/components/skip-to-selected-block/index.mjs.map +1 -1
  1197. package/build-module/components/spacing-sizes-control/index.mjs +1 -1
  1198. package/build-module/components/spacing-sizes-control/index.mjs.map +1 -1
  1199. package/build-module/components/spacing-sizes-control/input-controls/axial.mjs +1 -1
  1200. package/build-module/components/spacing-sizes-control/input-controls/axial.mjs.map +1 -1
  1201. package/build-module/components/spacing-sizes-control/input-controls/separated.mjs +1 -1
  1202. package/build-module/components/spacing-sizes-control/input-controls/separated.mjs.map +1 -1
  1203. package/build-module/components/spacing-sizes-control/input-controls/single.mjs +1 -1
  1204. package/build-module/components/spacing-sizes-control/input-controls/single.mjs.map +1 -1
  1205. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs +1 -1
  1206. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs.map +1 -1
  1207. package/build-module/components/spacing-sizes-control/linked-button.mjs +1 -1
  1208. package/build-module/components/spacing-sizes-control/linked-button.mjs.map +1 -1
  1209. package/build-module/components/tabbed-sidebar/index.mjs +1 -1
  1210. package/build-module/components/tabbed-sidebar/index.mjs.map +1 -1
  1211. package/build-module/components/text-alignment-control/index.mjs +1 -1
  1212. package/build-module/components/text-alignment-control/index.mjs.map +1 -1
  1213. package/build-module/components/text-decoration-control/index.mjs +1 -1
  1214. package/build-module/components/text-decoration-control/index.mjs.map +1 -1
  1215. package/build-module/components/text-indent-control/index.mjs +1 -1
  1216. package/build-module/components/text-indent-control/index.mjs.map +1 -1
  1217. package/build-module/components/text-transform-control/index.mjs +1 -1
  1218. package/build-module/components/text-transform-control/index.mjs.map +1 -1
  1219. package/build-module/components/typewriter/index.mjs +1 -1
  1220. package/build-module/components/typewriter/index.mjs.map +1 -1
  1221. package/build-module/components/unit-control/index.mjs +1 -1
  1222. package/build-module/components/unit-control/index.mjs.map +1 -1
  1223. package/build-module/components/url-input/button.mjs +1 -1
  1224. package/build-module/components/url-input/button.mjs.map +1 -1
  1225. package/build-module/components/url-input/index.mjs +1 -1
  1226. package/build-module/components/url-input/index.mjs.map +1 -1
  1227. package/build-module/components/url-popover/image-url-input-ui.mjs +1 -1
  1228. package/build-module/components/url-popover/image-url-input-ui.mjs.map +1 -1
  1229. package/build-module/components/url-popover/index.mjs +1 -1
  1230. package/build-module/components/url-popover/index.mjs.map +1 -1
  1231. package/build-module/components/url-popover/link-editor.mjs +1 -1
  1232. package/build-module/components/url-popover/link-editor.mjs.map +1 -1
  1233. package/build-module/components/url-popover/link-viewer-url.mjs +1 -1
  1234. package/build-module/components/url-popover/link-viewer-url.mjs.map +1 -1
  1235. package/build-module/components/url-popover/link-viewer.mjs +1 -1
  1236. package/build-module/components/url-popover/link-viewer.mjs.map +1 -1
  1237. package/build-module/components/use-block-drop-zone/index.mjs.map +1 -1
  1238. package/build-module/components/warning/index.mjs +1 -1
  1239. package/build-module/components/warning/index.mjs.map +1 -1
  1240. package/build-module/components/writing-flow/index.mjs +6 -1
  1241. package/build-module/components/writing-flow/index.mjs.map +3 -3
  1242. package/build-module/components/writing-flow/use-arrow-nav.mjs.map +1 -1
  1243. package/build-module/components/writing-flow/use-input.mjs +12 -2
  1244. package/build-module/components/writing-flow/use-input.mjs.map +2 -2
  1245. package/build-module/components/writing-flow/use-tab-nav.mjs +87 -44
  1246. package/build-module/components/writing-flow/use-tab-nav.mjs.map +4 -4
  1247. package/build-module/components/writing-flow/use-undo-automatic-change.mjs +36 -0
  1248. package/build-module/components/writing-flow/use-undo-automatic-change.mjs.map +7 -0
  1249. package/build-module/components/writing-mode-control/index.mjs +1 -1
  1250. package/build-module/components/writing-mode-control/index.mjs.map +1 -1
  1251. package/build-module/hooks/align.mjs +1 -1
  1252. package/build-module/hooks/align.mjs.map +1 -1
  1253. package/build-module/hooks/allowed-blocks.mjs +1 -1
  1254. package/build-module/hooks/allowed-blocks.mjs.map +1 -1
  1255. package/build-module/hooks/anchor.mjs +1 -1
  1256. package/build-module/hooks/anchor.mjs.map +1 -1
  1257. package/build-module/hooks/auto-inspector-controls.mjs +1 -1
  1258. package/build-module/hooks/auto-inspector-controls.mjs.map +1 -1
  1259. package/build-module/hooks/background.mjs +1 -1
  1260. package/build-module/hooks/background.mjs.map +1 -1
  1261. package/build-module/hooks/block-bindings.mjs +1 -1
  1262. package/build-module/hooks/block-bindings.mjs.map +1 -1
  1263. package/build-module/hooks/block-hooks.mjs +1 -1
  1264. package/build-module/hooks/block-hooks.mjs.map +1 -1
  1265. package/build-module/hooks/block-style-variation.mjs +1 -1
  1266. package/build-module/hooks/block-style-variation.mjs.map +1 -1
  1267. package/build-module/hooks/border.mjs +2 -46
  1268. package/build-module/hooks/border.mjs.map +3 -3
  1269. package/build-module/hooks/custom-class-name.mjs +1 -1
  1270. package/build-module/hooks/custom-class-name.mjs.map +1 -1
  1271. package/build-module/hooks/custom-css.mjs +1 -1
  1272. package/build-module/hooks/custom-css.mjs.map +1 -1
  1273. package/build-module/hooks/dimensions.mjs +1 -1
  1274. package/build-module/hooks/dimensions.mjs.map +1 -1
  1275. package/build-module/hooks/duotone.mjs +1 -1
  1276. package/build-module/hooks/duotone.mjs.map +1 -1
  1277. package/build-module/hooks/elements.mjs +1 -1
  1278. package/build-module/hooks/elements.mjs.map +1 -1
  1279. package/build-module/hooks/fit-text.mjs +1 -1
  1280. package/build-module/hooks/fit-text.mjs.map +1 -1
  1281. package/build-module/hooks/font-size.mjs +1 -1
  1282. package/build-module/hooks/font-size.mjs.map +1 -1
  1283. package/build-module/hooks/generate-fields-from-attributes.mjs.map +1 -1
  1284. package/build-module/hooks/grid-visualizer.mjs +1 -1
  1285. package/build-module/hooks/grid-visualizer.mjs.map +2 -2
  1286. package/build-module/hooks/index.mjs +0 -2
  1287. package/build-module/hooks/index.mjs.map +2 -2
  1288. package/build-module/hooks/layout-child.mjs +1 -1
  1289. package/build-module/hooks/layout-child.mjs.map +1 -1
  1290. package/build-module/hooks/layout.mjs +1 -1
  1291. package/build-module/hooks/layout.mjs.map +1 -1
  1292. package/build-module/hooks/line-height.mjs +1 -1
  1293. package/build-module/hooks/line-height.mjs.map +1 -1
  1294. package/build-module/hooks/list-view.mjs +1 -1
  1295. package/build-module/hooks/list-view.mjs.map +1 -1
  1296. package/build-module/hooks/position.mjs +2 -2
  1297. package/build-module/hooks/position.mjs.map +3 -3
  1298. package/build-module/hooks/spacing-visualizer.mjs +1 -1
  1299. package/build-module/hooks/spacing-visualizer.mjs.map +1 -1
  1300. package/build-module/hooks/states.mjs +1 -1
  1301. package/build-module/hooks/states.mjs.map +1 -1
  1302. package/build-module/hooks/style.mjs +4 -3
  1303. package/build-module/hooks/style.mjs.map +3 -3
  1304. package/build-module/hooks/text-align.mjs +1 -1
  1305. package/build-module/hooks/text-align.mjs.map +1 -1
  1306. package/build-module/hooks/typography.mjs +1 -1
  1307. package/build-module/hooks/typography.mjs.map +1 -1
  1308. package/build-module/hooks/utils.mjs +1 -1
  1309. package/build-module/hooks/utils.mjs.map +1 -1
  1310. package/build-module/layouts/constrained.mjs +1 -1
  1311. package/build-module/layouts/constrained.mjs.map +1 -1
  1312. package/build-module/layouts/flex.mjs +4 -1
  1313. package/build-module/layouts/flex.mjs.map +3 -3
  1314. package/build-module/layouts/grid.mjs +1 -1
  1315. package/build-module/layouts/grid.mjs.map +1 -1
  1316. package/build-module/store/actions.mjs +12 -9
  1317. package/build-module/store/actions.mjs.map +2 -2
  1318. package/build-style/content-rtl.css +14 -19
  1319. package/build-style/content.css +14 -19
  1320. package/build-style/style-rtl.css +100 -233
  1321. package/build-style/style.css +100 -233
  1322. package/build-types/components/block-context/index.d.ts.map +1 -1
  1323. package/build-types/components/block-visibility/constants.d.ts +1 -1
  1324. package/package.json +42 -44
  1325. package/src/autocompleters/test/block.js +1 -0
  1326. package/src/components/alignment-control/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +34 -16
  1327. package/src/components/alignment-control/test/{index.js → index.jsdom.test.jsx} +2 -1
  1328. package/src/components/background-image-control/README.md +1 -1
  1329. package/src/components/background-image-control/{index.js → index.jsx} +32 -1
  1330. package/src/components/background-image-control/style.scss +5 -3
  1331. package/src/components/background-image-control/test/{index.js → index.jsdom.test.js} +1 -0
  1332. package/src/components/block-alignment-control/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +68 -13
  1333. package/src/components/block-alignment-control/test/{index.js → index.jsdom.test.jsx} +2 -1
  1334. package/src/components/block-allowed-blocks/{modal.js → modal.jsx} +3 -3
  1335. package/src/components/block-bindings/test/{use-block-bindings-utils.js → use-block-bindings-utils.jsdom.test.js} +2 -1
  1336. package/src/components/block-breadcrumb/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +2 -2
  1337. package/src/components/block-breadcrumb/test/{index.js → index.jsdom.test.jsx} +1 -0
  1338. package/src/components/block-compare/test/__snapshots__/{block-view.js.snap → block-view.jsdom.test.jsx.snap} +2 -2
  1339. package/src/components/block-compare/test/{block-view.js → block-view.jsdom.test.jsx} +1 -0
  1340. package/src/components/block-controls/test/{index.js → index.jsdom.test.jsx} +1 -0
  1341. package/src/components/block-edit/{edit.js → edit.jsx} +1 -1
  1342. package/src/components/block-edit/test/{edit.js → edit.jsdom.test.jsx} +1 -0
  1343. package/src/components/block-icon/content.scss +0 -6
  1344. package/src/components/block-icon/style.scss +0 -6
  1345. package/src/components/block-icon/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +6 -2
  1346. package/src/components/block-inspector/{index.js → index.jsx} +8 -13
  1347. package/src/components/block-list/content.scss +4 -1
  1348. package/src/components/block-list/use-block-props/use-is-hovered.js +24 -5
  1349. package/src/components/block-manager/style.scss +2 -0
  1350. package/src/components/block-mover/test/mover-description.js +1 -0
  1351. package/src/components/block-preview/{index.js → index.jsx} +1 -2
  1352. package/src/components/block-preview/test/{index.js → index.jsdom.test.jsx} +10 -6
  1353. package/src/components/block-selection-clearer/test/{index.js → index.jsdom.test.jsx} +24 -19
  1354. package/src/components/block-settings-menu/test/{block-mode-toggle.js → block-mode-toggle.jsdom.test.jsx} +5 -1
  1355. package/src/components/block-styles/test/utils.js +1 -0
  1356. package/src/components/block-switcher/{index.js → index.jsx} +3 -3
  1357. package/src/components/block-switcher/test/{index.js → index.jsdom.test.jsx} +8 -4
  1358. package/src/components/block-switcher/test/use-transformed.patterns.js +1 -0
  1359. package/src/components/block-switcher/test/utils.js +1 -0
  1360. package/src/components/block-title/test/{index.js → index.jsdom.test.jsx} +7 -3
  1361. package/src/components/block-toolbar/{pattern-overrides-dropdown.js → pattern-overrides-dropdown.jsx} +3 -6
  1362. package/src/components/block-toolbar/style.scss +1 -1
  1363. package/src/components/block-toolbar/test/{block-toolbar-icon.js → block-toolbar-icon.jsdom.test.jsx} +25 -21
  1364. package/src/components/block-variation-picker/content.scss +5 -3
  1365. package/src/components/block-vertical-alignment-control/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +55 -11
  1366. package/src/components/block-vertical-alignment-control/test/{index.js → index.jsdom.test.jsx} +2 -1
  1367. package/src/components/block-visibility/constants.ts +1 -1
  1368. package/src/components/block-visibility/test/{use-block-visibility.js → use-block-visibility.jsdom.test.js} +6 -5
  1369. package/src/components/block-visibility/test/utils.js +2 -1
  1370. package/src/components/border-radius-control/test/{index.js → index.jsdom.test.jsx} +8 -1
  1371. package/src/components/border-radius-control/test/utils.js +1 -0
  1372. package/src/components/button-block-appender/content.scss +1 -1
  1373. package/src/components/child-layout-control/test/{index.js → index.jsdom.test.jsx} +18 -15
  1374. package/src/components/color-palette/test/{control.js → control.jsdom.test.jsx} +15 -4
  1375. package/src/components/colors/test/utils.js +1 -0
  1376. package/src/components/colors/test/{with-colors.js → with-colors.jsdom.test.jsx} +4 -3
  1377. package/src/components/colors-gradients/test/{control.js → control.jsdom.test.jsx} +8 -3
  1378. package/src/components/contrast-checker/test/{index.js → index.jsdom.test.jsx} +2 -1
  1379. package/src/components/default-block-appender/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +4 -4
  1380. package/src/components/default-block-appender/test/{index.js → index.jsdom.test.jsx} +8 -7
  1381. package/src/components/dimensions-tool/test/{index.js → index.jsdom.test.jsx} +27 -22
  1382. package/src/components/dimensions-tool/test/utils.js +1 -0
  1383. package/src/components/duotone-control/test/{index.js → index.jsdom.test.jsx} +6 -3
  1384. package/src/components/font-sizes/test/fluid-utils.js +1 -0
  1385. package/src/components/font-sizes/test/utils.js +1 -0
  1386. package/src/components/global-styles/{background-panel.js → background-panel.jsx} +2 -2
  1387. package/src/components/global-styles/{border-panel.js → border-panel.jsx} +17 -40
  1388. package/src/components/global-styles/{image-settings-panel.js → image-settings-panel.jsx} +1 -1
  1389. package/src/components/global-styles/inheritance/test/{index.js → index.jsdom.test.jsx} +5 -2
  1390. package/src/components/global-styles/test/{background-panel.js → background-panel.jsdom.test.jsx} +11 -6
  1391. package/src/components/global-styles/test/{border-panel.js → border-panel.jsdom.test.jsx} +113 -13
  1392. package/src/components/global-styles/test/{color-panel.js → color-panel.jsdom.test.jsx} +5 -0
  1393. package/src/components/global-styles/test/{dimensions-panel.js → dimensions-panel.jsdom.test.jsx} +14 -14
  1394. package/src/components/global-styles/test/{filters-panel.js → filters-panel.jsdom.test.jsx} +7 -4
  1395. package/src/components/global-styles/test/{inherited-value-context-core.js → inherited-value-context-core.jsdom.test.js} +11 -10
  1396. package/src/components/global-styles/test/{inherited-value-context.js → inherited-value-context.jsdom.test.jsx} +19 -18
  1397. package/src/components/global-styles/test/{state-control-badges.js → state-control-badges.jsdom.test.jsx} +3 -2
  1398. package/src/components/global-styles/test/{typography-panel-core.js → typography-panel-core.jsdom.test.jsx} +5 -2
  1399. package/src/components/global-styles/test/{typography-panel.js → typography-panel.jsdom.test.jsx} +18 -13
  1400. package/src/components/global-styles/test/typography-utils.js +1 -0
  1401. package/src/components/global-styles/test/utils.js +1 -0
  1402. package/src/components/grid/style.scss +0 -10
  1403. package/src/components/iframe/{index.js → index.jsx} +3 -3
  1404. package/src/components/image-editor/test/index.js +1 -0
  1405. package/src/components/image-size-control/test/{index.js → index.jsdom.test.jsx} +8 -3
  1406. package/src/components/inner-blocks/test/__snapshots__/index.jsdom.test.jsx.snap +15 -0
  1407. package/src/components/inner-blocks/test/{index.js → index.jsdom.test.jsx} +2 -0
  1408. package/src/components/inner-content/test/{index.js → index.jsdom.test.jsx} +1 -0
  1409. package/src/components/inserter/hooks/use-patterns-paging.js +1 -1
  1410. package/src/components/inserter/media-tab/test/{hooks.js → hooks.jsdom.test.js} +12 -11
  1411. package/src/components/inserter/media-tab/test/{media-panel.js → media-panel.jsdom.test.jsx} +15 -12
  1412. package/src/components/inserter/{menu.js → menu.jsx} +1 -1
  1413. package/src/components/inserter/style.scss +2 -6
  1414. package/src/components/inserter/test/get-appender-label.js +12 -11
  1415. package/src/components/inserter/test/search-items.js +1 -0
  1416. package/src/components/inserter-draggable-blocks/{index.js → index.jsx} +1 -1
  1417. package/src/components/inserter-list-item/style.scss +1 -0
  1418. package/src/components/inspector-controls/groups.js +2 -0
  1419. package/src/components/inspector-controls-tabs/{content-tab.js → content-tab.jsx} +7 -14
  1420. package/src/components/inspector-controls-tabs/{styles-tab.js → styles-tab.jsx} +1 -4
  1421. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +1 -8
  1422. package/src/components/inspector-popover-header/{index.js → index.jsx} +6 -7
  1423. package/src/components/line-height-control/test/{index.js → index.jsdom.test.jsx} +3 -0
  1424. package/src/components/link-control/{index.js → index.jsx} +3 -0
  1425. package/src/components/link-control/{search-input.js → search-input.jsx} +1 -1
  1426. package/src/components/link-control/style.scss +1 -1
  1427. package/src/components/link-control/test/{index.js → index.jsdom.test.jsx} +52 -42
  1428. package/src/components/link-control/test/is-url-like.js +1 -0
  1429. package/src/components/link-control/test/{url-normalization.test.js → url-normalization.jsdom.test.jsx} +21 -20
  1430. package/src/components/link-picker/test/{index.js → index.jsdom.test.jsx} +31 -30
  1431. package/src/components/list-view/{block-select-button.js → block-select-button.jsx} +6 -1
  1432. package/src/components/list-view/{block.js → block.jsx} +6 -4
  1433. package/src/components/list-view/style.scss +55 -35
  1434. package/src/components/list-view/test/use-list-view-drop-zone.js +1 -0
  1435. package/src/components/list-view/test/utils.js +1 -0
  1436. package/src/components/list-view/use-list-view-drop-zone.js +1 -1
  1437. package/src/components/media-placeholder/test/get-computed-accept-attribute.js +1 -0
  1438. package/src/components/media-placeholder/test/{index.js → index.jsdom.test.jsx} +8 -2
  1439. package/src/components/media-replace-flow/{index.js → index.jsx} +6 -1
  1440. package/src/components/media-replace-flow/test/{index.js → index.jsdom.test.jsx} +3 -0
  1441. package/src/components/navigable-toolbar/{index.js → index.jsx} +4 -0
  1442. package/src/components/navigable-toolbar/test/index.browser.test.js +50 -0
  1443. package/src/components/panel-color-settings/test/{index.js → index.jsdom.test.jsx} +3 -0
  1444. package/src/components/preset-input-control/test/{index.js → index.jsdom.test.jsx} +8 -2
  1445. package/src/components/preset-input-control/test/utils.js +1 -0
  1446. package/src/components/provider/{index.js → index.jsx} +38 -0
  1447. package/src/components/provider/test/{experimental-provider.js → experimental-provider.jsdom.test.jsx} +3 -2
  1448. package/src/components/provider/test/{use-block-sync.js → use-block-sync.jsdom.test.jsx} +45 -44
  1449. package/src/components/recursion-provider/test/{index.js → index.jsdom.test.jsx} +1 -0
  1450. package/src/components/responsive-block-control/style.scss +1 -0
  1451. package/src/components/responsive-block-control/test/{index.js → index.jsdom.test.jsx} +6 -3
  1452. package/src/components/rich-text/content.scss +6 -0
  1453. package/src/components/rich-text/event-listeners/enter.js +29 -14
  1454. package/src/components/rich-text/event-listeners/index.js +0 -2
  1455. package/src/components/rich-text/event-listeners/input-rules.js +7 -2
  1456. package/src/components/spacing-sizes-control/test/{index.js → index.jsdom.test.jsx} +23 -20
  1457. package/src/components/spacing-sizes-control/test/utils.js +1 -0
  1458. package/src/components/url-input/test/{button.js → button.jsdom.test.jsx} +4 -1
  1459. package/src/components/url-input/test/fixtures/validated-input-control-deprecation.js +2 -0
  1460. package/src/components/url-input/test/{index.js → index.jsdom.test.jsx} +23 -13
  1461. package/src/components/use-block-display-information/test/{index.js → index.jsdom.test.jsx} +14 -10
  1462. package/src/components/use-block-drop-zone/index.js +2 -2
  1463. package/src/components/use-block-drop-zone/test/index.js +1 -0
  1464. package/src/components/use-on-block-drop/test/index.js +28 -31
  1465. package/src/components/warning/test/__snapshots__/{index.js.snap → index.jsdom.test.jsx.snap} +2 -2
  1466. package/src/components/warning/test/{index.js → index.jsdom.test.jsx} +1 -0
  1467. package/src/components/writing-flow/{index.js → index.jsx} +5 -0
  1468. package/src/components/writing-flow/style.scss +48 -0
  1469. package/src/components/writing-flow/test/{index.js → index.jsdom.test.js} +1 -0
  1470. package/src/components/writing-flow/use-arrow-nav.js +2 -2
  1471. package/src/components/writing-flow/use-input.js +29 -2
  1472. package/src/components/writing-flow/{use-tab-nav.js → use-tab-nav.jsx} +155 -70
  1473. package/src/components/writing-flow/use-undo-automatic-change.js +40 -0
  1474. package/src/elements/test/{index.js → index.jsdom.test.js} +1 -0
  1475. package/src/hooks/block-hooks.scss +0 -9
  1476. package/src/hooks/{border.js → border.jsx} +0 -53
  1477. package/src/hooks/generate-fields-from-attributes.js +1 -1
  1478. package/src/hooks/{grid-visualizer.js → grid-visualizer.jsx} +1 -1
  1479. package/src/hooks/index.js +0 -2
  1480. package/src/hooks/{position.js → position.jsx} +1 -1
  1481. package/src/hooks/{style.js → style.jsx} +3 -2
  1482. package/src/hooks/test/{align.js → align.jsdom.test.jsx} +1 -0
  1483. package/src/hooks/test/allowed-blocks.js +1 -0
  1484. package/src/hooks/test/{anchor.js → anchor.jsdom.test.js} +1 -0
  1485. package/src/hooks/test/{auto-inspector-controls.js → auto-inspector-controls.jsdom.test.js} +1 -0
  1486. package/src/hooks/test/{background.js → background.jsdom.test.jsx} +5 -2
  1487. package/src/hooks/test/{block-style-state.js → block-style-state.jsdom.test.js} +4 -3
  1488. package/src/hooks/test/{cross-origin-isolation.js → cross-origin-isolation.jsdom.test.js} +18 -25
  1489. package/src/hooks/test/{custom-class-name.js → custom-class-name.jsdom.test.jsx} +1 -0
  1490. package/src/hooks/test/{dimensions.js → dimensions.jsdom.test.js} +1 -0
  1491. package/src/hooks/test/{duotone.js → duotone.jsdom.test.js} +1 -0
  1492. package/src/hooks/test/{font-size.js → font-size.jsdom.test.js} +1 -0
  1493. package/src/hooks/test/gap.js +1 -0
  1494. package/src/hooks/test/generate-fields-from-attributes.js +1 -0
  1495. package/src/hooks/test/generated-class-name.js +1 -0
  1496. package/src/hooks/test/{inherited-value-wiring.js → inherited-value-wiring.jsdom.test.jsx} +49 -51
  1497. package/src/hooks/test/{layout-child.js → layout-child.jsdom.test.js} +1 -0
  1498. package/src/hooks/test/{layout.js → layout.jsdom.test.js} +1 -0
  1499. package/src/hooks/test/metadata.js +1 -0
  1500. package/src/hooks/test/preset-round-trip.js +2 -0
  1501. package/src/hooks/test/{settings.js → settings.jsx} +1 -0
  1502. package/src/hooks/test/state-utils.js +1 -0
  1503. package/src/hooks/test/{style.js → style.jsdom.test.jsx} +1 -0
  1504. package/src/hooks/test/{text-align.js → text-align.jsdom.test.jsx} +1 -0
  1505. package/src/hooks/test/{use-typography-props.js → use-typography-props.jsdom.test.js} +1 -0
  1506. package/src/hooks/test/{utils.js → utils.jsdom.test.js} +1 -0
  1507. package/src/layouts/{flex.js → flex.jsx} +7 -0
  1508. package/src/layouts/test/{constrained.js → constrained.jsdom.test.jsx} +6 -3
  1509. package/src/layouts/test/{flex.js → flex.jsdom.test.jsx} +52 -2
  1510. package/src/layouts/test/{flow.js → flow.jsdom.test.js} +1 -0
  1511. package/src/layouts/test/{grid.js → grid.jsdom.test.jsx} +5 -2
  1512. package/src/layouts/test/utils.js +1 -0
  1513. package/src/store/actions.js +14 -12
  1514. package/src/store/test/{actions.js → actions.jsdom.test.js} +50 -49
  1515. package/src/store/test/array.js +1 -0
  1516. package/src/store/test/get-block-settings.js +1 -0
  1517. package/src/store/test/performance.js +2 -1
  1518. package/src/store/test/private-actions.js +1 -0
  1519. package/src/store/test/private-selectors.js +13 -3
  1520. package/src/store/test/reducer.js +37 -8
  1521. package/src/store/test/{registry-selectors.js → registry-selectors.jsdom.test.js} +9 -0
  1522. package/src/store/test/{selectors.js → selectors.jsdom.test.jsx} +13 -3
  1523. package/src/style.scss +1 -1
  1524. package/src/utils/test/block-bindings.js +1 -0
  1525. package/src/utils/test/color-values.js +1 -0
  1526. package/src/utils/test/{dom.js → dom.jsdom.test.jsx} +38 -43
  1527. package/src/utils/test/format-font-style.js +1 -0
  1528. package/src/utils/test/format-font-weight.js +1 -0
  1529. package/src/utils/test/get-font-styles-and-weights.js +1 -0
  1530. package/src/utils/test/math.js +1 -0
  1531. package/src/utils/test/object.js +1 -0
  1532. package/src/utils/test/pasting.js +1 -0
  1533. package/src/utils/test/selection.js +1 -0
  1534. package/src/utils/test/sorting.js +1 -0
  1535. package/src/utils/test/transform-styles.js +2 -1
  1536. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +0 -7
  1537. package/build/hooks/block-fields/fields-dropdown-menu.cjs +0 -67
  1538. package/build/hooks/block-fields/fields-dropdown-menu.cjs.map +0 -7
  1539. package/build/hooks/block-fields/index.cjs +0 -238
  1540. package/build/hooks/block-fields/index.cjs.map +0 -7
  1541. package/build/hooks/block-fields/link/index.cjs +0 -174
  1542. package/build/hooks/block-fields/link/index.cjs.map +0 -7
  1543. package/build/hooks/block-fields/media/index.cjs +0 -262
  1544. package/build/hooks/block-fields/media/index.cjs.map +0 -7
  1545. package/build/hooks/block-fields/rich-text/index.cjs +0 -146
  1546. package/build/hooks/block-fields/rich-text/index.cjs.map +0 -7
  1547. package/build/hooks/block-fields/use-inspector-popover-placement.cjs +0 -41
  1548. package/build/hooks/block-fields/use-inspector-popover-placement.cjs.map +0 -7
  1549. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +0 -33
  1550. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +0 -7
  1551. package/build-module/hooks/block-fields/fields-dropdown-menu.mjs +0 -46
  1552. package/build-module/hooks/block-fields/fields-dropdown-menu.mjs.map +0 -7
  1553. package/build-module/hooks/block-fields/index.mjs +0 -210
  1554. package/build-module/hooks/block-fields/index.mjs.map +0 -7
  1555. package/build-module/hooks/block-fields/link/index.mjs +0 -141
  1556. package/build-module/hooks/block-fields/link/index.mjs.map +0 -7
  1557. package/build-module/hooks/block-fields/media/index.mjs +0 -241
  1558. package/build-module/hooks/block-fields/media/index.mjs.map +0 -7
  1559. package/build-module/hooks/block-fields/rich-text/index.mjs +0 -115
  1560. package/build-module/hooks/block-fields/rich-text/index.mjs.map +0 -7
  1561. package/build-module/hooks/block-fields/use-inspector-popover-placement.mjs +0 -16
  1562. package/build-module/hooks/block-fields/use-inspector-popover-placement.mjs.map +0 -7
  1563. package/src/components/color-palette/test/__snapshots__/control.js.snap +0 -143
  1564. package/src/components/inner-blocks/test/__snapshots__/index.js.snap +0 -15
  1565. package/src/components/rich-text/event-listeners/undo-automatic-change.js +0 -39
  1566. package/src/hooks/block-fields/fields-dropdown-menu.js +0 -47
  1567. package/src/hooks/block-fields/index.js +0 -302
  1568. package/src/hooks/block-fields/link/index.js +0 -155
  1569. package/src/hooks/block-fields/link/styles.scss +0 -18
  1570. package/src/hooks/block-fields/media/index.js +0 -269
  1571. package/src/hooks/block-fields/media/styles.scss +0 -77
  1572. package/src/hooks/block-fields/rich-text/index.js +0 -123
  1573. package/src/hooks/block-fields/rich-text/styles.scss +0 -24
  1574. package/src/hooks/block-fields/styles.scss +0 -33
  1575. package/src/hooks/block-fields/use-inspector-popover-placement.js +0 -16
  1576. /package/src/autocompleters/{block.js → block.jsx} +0 -0
  1577. /package/src/components/alignment-control/{index.js → index.jsx} +0 -0
  1578. /package/src/components/alignment-control/{ui.js → ui.jsx} +0 -0
  1579. /package/src/components/autocomplete/{index.js → index.jsx} +0 -0
  1580. /package/src/components/block-alignment-control/{index.js → index.jsx} +0 -0
  1581. /package/src/components/block-alignment-control/{ui.js → ui.jsx} +0 -0
  1582. /package/src/components/block-alignment-matrix-control/{index.js → index.jsx} +0 -0
  1583. /package/src/components/block-allowed-blocks/{allowed-blocks-control.js → allowed-blocks-control.jsx} +0 -0
  1584. /package/src/components/block-bindings/{attribute-control.js → attribute-control.jsx} +0 -0
  1585. /package/src/components/block-bindings/{source-fields-list.js → source-fields-list.jsx} +0 -0
  1586. /package/src/components/block-breadcrumb/{index.js → index.jsx} +0 -0
  1587. /package/src/components/block-canvas/{index.js → index.jsx} +0 -0
  1588. /package/src/components/block-card/{index.js → index.jsx} +0 -0
  1589. /package/src/components/block-compare/{block-view.js → block-view.jsx} +0 -0
  1590. /package/src/components/block-compare/{index.js → index.jsx} +0 -0
  1591. /package/src/components/block-context/{index.js → index.jsx} +0 -0
  1592. /package/src/components/block-controls/{fill.js → fill.jsx} +0 -0
  1593. /package/src/components/block-controls/{index.js → index.jsx} +0 -0
  1594. /package/src/components/block-controls/{slot.js → slot.jsx} +0 -0
  1595. /package/src/components/block-draggable/{draggable-chip.js → draggable-chip.jsx} +0 -0
  1596. /package/src/components/block-draggable/{index.js → index.jsx} +0 -0
  1597. /package/src/components/block-edit/{index.js → index.jsx} +0 -0
  1598. /package/src/components/block-edit/{multiple-usage-warning.js → multiple-usage-warning.jsx} +0 -0
  1599. /package/src/components/block-edit-visually-button/{index.js → index.jsx} +0 -0
  1600. /package/src/components/block-full-height-alignment-control/{index.js → index.jsx} +0 -0
  1601. /package/src/components/block-heading-level-dropdown/{heading-level-icon.js → heading-level-icon.jsx} +0 -0
  1602. /package/src/components/block-heading-level-dropdown/{index.js → index.jsx} +0 -0
  1603. /package/src/components/block-icon/{index.js → index.jsx} +0 -0
  1604. /package/src/components/block-icon/test/{index.js → index.jsdom.test.jsx} +0 -0
  1605. /package/src/components/block-inspector/{edit-contents.js → edit-contents.jsx} +0 -0
  1606. /package/src/components/block-keyboard-shortcuts/{index.js → index.jsx} +0 -0
  1607. /package/src/components/block-list/{block-crash-warning.js → block-crash-warning.jsx} +0 -0
  1608. /package/src/components/block-list/{block-html.js → block-html.jsx} +0 -0
  1609. /package/src/components/block-list/{block-invalid-warning.js → block-invalid-warning.jsx} +0 -0
  1610. /package/src/components/block-list/{block.js → block.jsx} +0 -0
  1611. /package/src/components/block-list/{index.js → index.jsx} +0 -0
  1612. /package/src/components/block-list/{layout.js → layout.jsx} +0 -0
  1613. /package/src/components/block-list/{subdirectory-icon.js → subdirectory-icon.jsx} +0 -0
  1614. /package/src/components/block-list/{zoom-out-separator.js → zoom-out-separator.jsx} +0 -0
  1615. /package/src/components/block-list-appender/{index.js → index.jsx} +0 -0
  1616. /package/src/components/block-lock/{menu-item.js → menu-item.jsx} +0 -0
  1617. /package/src/components/block-lock/{modal.js → modal.jsx} +0 -0
  1618. /package/src/components/block-lock/{toolbar.js → toolbar.jsx} +0 -0
  1619. /package/src/components/block-manager/{category.js → category.jsx} +0 -0
  1620. /package/src/components/block-manager/{checklist.js → checklist.jsx} +0 -0
  1621. /package/src/components/block-manager/{index.js → index.jsx} +0 -0
  1622. /package/src/components/block-mover/{button.js → button.jsx} +0 -0
  1623. /package/src/components/block-mover/{index.js → index.jsx} +0 -0
  1624. /package/src/components/block-navigation/{dropdown.js → dropdown.jsx} +0 -0
  1625. /package/src/components/block-parent-selector/{index.js → index.jsx} +0 -0
  1626. /package/src/components/block-pattern-setup/{index.js → index.jsx} +0 -0
  1627. /package/src/components/block-pattern-setup/{setup-toolbar.js → setup-toolbar.jsx} +0 -0
  1628. /package/src/components/block-patterns-list/{index.js → index.jsx} +0 -0
  1629. /package/src/components/block-patterns-paging/{index.js → index.jsx} +0 -0
  1630. /package/src/components/block-popover/{cover.js → cover.jsx} +0 -0
  1631. /package/src/components/block-popover/{drop-zone.js → drop-zone.jsx} +0 -0
  1632. /package/src/components/block-popover/{inbetween.js → inbetween.jsx} +0 -0
  1633. /package/src/components/block-popover/{index.js → index.jsx} +0 -0
  1634. /package/src/components/block-preview/{auto.js → auto.jsx} +0 -0
  1635. /package/src/components/block-quick-navigation/{index.js → index.jsx} +0 -0
  1636. /package/src/components/block-removal-warning-modal/{index.js → index.jsx} +0 -0
  1637. /package/src/components/block-rename/{modal.js → modal.jsx} +0 -0
  1638. /package/src/components/block-rename/{rename-control.js → rename-control.jsx} +0 -0
  1639. /package/src/components/block-selection-clearer/{index.js → index.jsx} +0 -0
  1640. /package/src/components/block-settings-menu/{block-html-convert-button.js → block-html-convert-button.jsx} +0 -0
  1641. /package/src/components/block-settings-menu/{block-mode-toggle.js → block-mode-toggle.jsx} +0 -0
  1642. /package/src/components/block-settings-menu/{block-parent-selector-menu-item.js → block-parent-selector-menu-item.jsx} +0 -0
  1643. /package/src/components/block-settings-menu/{block-settings-dropdown.js → block-settings-dropdown.jsx} +0 -0
  1644. /package/src/components/block-settings-menu/{index.js → index.jsx} +0 -0
  1645. /package/src/components/block-settings-menu-controls/{index.js → index.jsx} +0 -0
  1646. /package/src/components/block-styles/{index.js → index.jsx} +0 -0
  1647. /package/src/components/block-styles/{menu-items.js → menu-items.jsx} +0 -0
  1648. /package/src/components/block-switcher/{block-styles-menu.js → block-styles-menu.jsx} +0 -0
  1649. /package/src/components/block-switcher/{block-transformations-menu.js → block-transformations-menu.jsx} +0 -0
  1650. /package/src/components/block-switcher/{block-variation-transformations.js → block-variation-transformations.jsx} +0 -0
  1651. /package/src/components/block-switcher/{pattern-transformations-menu.js → pattern-transformations-menu.jsx} +0 -0
  1652. /package/src/components/block-switcher/{preview-block-popover.js → preview-block-popover.jsx} +0 -0
  1653. /package/src/components/block-toolbar/{block-styles-dropdown.js → block-styles-dropdown.jsx} +0 -0
  1654. /package/src/components/block-toolbar/{block-toolbar-icon.js → block-toolbar-icon.jsx} +0 -0
  1655. /package/src/components/block-toolbar/{change-design.js → change-design.jsx} +0 -0
  1656. /package/src/components/block-toolbar/{edit-section-button.js → edit-section-button.jsx} +0 -0
  1657. /package/src/components/block-toolbar/{index.js → index.jsx} +0 -0
  1658. /package/src/components/block-toolbar/{switch-section-style.js → switch-section-style.jsx} +0 -0
  1659. /package/src/components/block-tools/{block-toolbar-popover.js → block-toolbar-popover.jsx} +0 -0
  1660. /package/src/components/block-tools/{empty-block-inserter.js → empty-block-inserter.jsx} +0 -0
  1661. /package/src/components/block-tools/{index.js → index.jsx} +0 -0
  1662. /package/src/components/block-tools/{insertion-point.js → insertion-point.jsx} +0 -0
  1663. /package/src/components/block-tools/{zoom-out-mode-inserter-button.js → zoom-out-mode-inserter-button.jsx} +0 -0
  1664. /package/src/components/block-tools/{zoom-out-mode-inserters.js → zoom-out-mode-inserters.jsx} +0 -0
  1665. /package/src/components/block-types-list/{index.js → index.jsx} +0 -0
  1666. /package/src/components/block-variation-picker/{index.js → index.jsx} +0 -0
  1667. /package/src/components/block-variation-transforms/{index.js → index.jsx} +0 -0
  1668. /package/src/components/block-vertical-alignment-control/{index.js → index.jsx} +0 -0
  1669. /package/src/components/block-vertical-alignment-control/{ui.js → ui.jsx} +0 -0
  1670. /package/src/components/block-visibility/{modal.js → modal.jsx} +0 -0
  1671. /package/src/components/block-visibility/{viewport-menu-item.js → viewport-menu-item.jsx} +0 -0
  1672. /package/src/components/block-visibility/{viewport-toolbar.js → viewport-toolbar.jsx} +0 -0
  1673. /package/src/components/block-visibility/{viewport-visibility-info.js → viewport-visibility-info.jsx} +0 -0
  1674. /package/src/components/border-radius-control/{index.js → index.jsx} +0 -0
  1675. /package/src/components/border-radius-control/{linked-button.js → linked-button.jsx} +0 -0
  1676. /package/src/components/button-block-appender/{index.js → index.jsx} +0 -0
  1677. /package/src/components/child-layout-control/{index.js → index.jsx} +0 -0
  1678. /package/src/components/color-palette/{control.js → control.jsx} +0 -0
  1679. /package/src/components/color-palette/{with-color-context.js → with-color-context.jsx} +0 -0
  1680. /package/src/components/color-style-selector/{index.js → index.jsx} +0 -0
  1681. /package/src/components/colors/{with-colors.js → with-colors.jsx} +0 -0
  1682. /package/src/components/colors-gradients/{control.js → control.jsx} +0 -0
  1683. /package/src/components/colors-gradients/{dropdown.js → dropdown.jsx} +0 -0
  1684. /package/src/components/colors-gradients/{panel-color-gradient-settings.js → panel-color-gradient-settings.jsx} +0 -0
  1685. /package/src/components/contrast-checker/{index.js → index.jsx} +0 -0
  1686. /package/src/components/convert-to-group-buttons/{index.js → index.jsx} +0 -0
  1687. /package/src/components/convert-to-group-buttons/{toolbar.js → toolbar.jsx} +0 -0
  1688. /package/src/components/copy-handler/{index.js → index.jsx} +0 -0
  1689. /package/src/components/date-format-picker/{index.js → index.jsx} +0 -0
  1690. /package/src/components/default-block-appender/{index.js → index.jsx} +0 -0
  1691. /package/src/components/dimension-control/{index.js → index.jsx} +0 -0
  1692. /package/src/components/dimensions-tool/{aspect-ratio-tool.js → aspect-ratio-tool.jsx} +0 -0
  1693. /package/src/components/dimensions-tool/{index.js → index.jsx} +0 -0
  1694. /package/src/components/dimensions-tool/{scale-tool.js → scale-tool.jsx} +0 -0
  1695. /package/src/components/dimensions-tool/{width-height-tool.js → width-height-tool.jsx} +0 -0
  1696. /package/src/components/duotone-control/{index.js → index.jsx} +0 -0
  1697. /package/src/components/editable-text/{index.js → index.jsx} +0 -0
  1698. /package/src/components/editor-styles/{index.js → index.jsx} +0 -0
  1699. /package/src/components/fit-text-size-warning/{index.js → index.jsx} +0 -0
  1700. /package/src/components/font-appearance-control/{index.js → index.jsx} +0 -0
  1701. /package/src/components/font-family/{index.js → index.jsx} +0 -0
  1702. /package/src/components/font-sizes/{font-size-picker.js → font-size-picker.jsx} +0 -0
  1703. /package/src/components/font-sizes/{with-font-sizes.js → with-font-sizes.jsx} +0 -0
  1704. /package/src/components/global-styles/{advanced-panel.js → advanced-panel.jsx} +0 -0
  1705. /package/src/components/global-styles/{color-gradient-dropdown-item.js → color-gradient-dropdown-item.jsx} +0 -0
  1706. /package/src/components/global-styles/{color-panel.js → color-panel.jsx} +0 -0
  1707. /package/src/components/global-styles/{dimensions-panel.js → dimensions-panel.jsx} +0 -0
  1708. /package/src/components/global-styles/{filters-panel.js → filters-panel.jsx} +0 -0
  1709. /package/src/components/global-styles/inheritance/{index.js → index.jsx} +0 -0
  1710. /package/src/components/global-styles/{shadow-panel-components.js → shadow-panel-components.jsx} +0 -0
  1711. /package/src/components/global-styles/{state-control-badges.js → state-control-badges.jsx} +0 -0
  1712. /package/src/components/global-styles/{state-control.js → state-control.jsx} +0 -0
  1713. /package/src/components/global-styles/{typography-panel.js → typography-panel.jsx} +0 -0
  1714. /package/src/components/grid/{grid-item-movers.js → grid-item-movers.jsx} +0 -0
  1715. /package/src/components/grid/{grid-item-resizer.js → grid-item-resizer.jsx} +0 -0
  1716. /package/src/components/grid/{grid-visualizer.js → grid-visualizer.jsx} +0 -0
  1717. /package/src/components/height-control/{index.js → index.jsx} +0 -0
  1718. /package/src/components/html-element-control/{index.js → index.jsx} +0 -0
  1719. /package/src/components/image-editor/{aspect-ratio-dropdown.js → aspect-ratio-dropdown.jsx} +0 -0
  1720. /package/src/components/image-editor/{context.js → context.jsx} +0 -0
  1721. /package/src/components/image-editor/{cropper.js → cropper.jsx} +0 -0
  1722. /package/src/components/image-editor/{form-controls.js → form-controls.jsx} +0 -0
  1723. /package/src/components/image-editor/{index.js → index.jsx} +0 -0
  1724. /package/src/components/image-editor/{rotation-button.js → rotation-button.jsx} +0 -0
  1725. /package/src/components/image-editor/{zoom-dropdown.js → zoom-dropdown.jsx} +0 -0
  1726. /package/src/components/image-size-control/{index.js → index.jsx} +0 -0
  1727. /package/src/components/inner-blocks/{button-block-appender.js → button-block-appender.jsx} +0 -0
  1728. /package/src/components/inner-blocks/{default-block-appender.js → default-block-appender.jsx} +0 -0
  1729. /package/src/components/inner-blocks/{index.js → index.jsx} +0 -0
  1730. /package/src/components/inner-content/{index.js → index.jsx} +0 -0
  1731. /package/src/components/inserter/block-patterns-explorer/{index.js → index.jsx} +0 -0
  1732. /package/src/components/inserter/block-patterns-explorer/{pattern-explorer-sidebar.js → pattern-explorer-sidebar.jsx} +0 -0
  1733. /package/src/components/inserter/block-patterns-explorer/{pattern-list.js → pattern-list.jsx} +0 -0
  1734. /package/src/components/inserter/block-patterns-tab/{index.js → index.jsx} +0 -0
  1735. /package/src/components/inserter/block-patterns-tab/{pattern-category-previews.js → pattern-category-previews.jsx} +0 -0
  1736. /package/src/components/inserter/block-patterns-tab/{patterns-filter.js → patterns-filter.jsx} +0 -0
  1737. /package/src/components/inserter/{block-types-tab.js → block-types-tab.jsx} +0 -0
  1738. /package/src/components/inserter/category-tabs/{index.js → index.jsx} +0 -0
  1739. /package/src/components/inserter/{index.js → index.jsx} +0 -0
  1740. /package/src/components/inserter/{library.js → library.jsx} +0 -0
  1741. /package/src/components/inserter/media-tab/{media-list.js → media-list.jsx} +0 -0
  1742. /package/src/components/inserter/media-tab/{media-panel.js → media-panel.jsx} +0 -0
  1743. /package/src/components/inserter/media-tab/{media-preview.js → media-preview.jsx} +0 -0
  1744. /package/src/components/inserter/media-tab/{media-tab.js → media-tab.jsx} +0 -0
  1745. /package/src/components/inserter/media-tab/{utils.js → utils.jsx} +0 -0
  1746. /package/src/components/inserter/{mobile-tab-navigation.js → mobile-tab-navigation.jsx} +0 -0
  1747. /package/src/components/inserter/{no-results.js → no-results.jsx} +0 -0
  1748. /package/src/components/inserter/{panel.js → panel.jsx} +0 -0
  1749. /package/src/components/inserter/{preview-panel.js → preview-panel.jsx} +0 -0
  1750. /package/src/components/inserter/{quick-inserter.js → quick-inserter.jsx} +0 -0
  1751. /package/src/components/inserter/{search-results.js → search-results.jsx} +0 -0
  1752. /package/src/components/inserter/{tips.js → tips.jsx} +0 -0
  1753. /package/src/components/inserter-list-item/{index.js → index.jsx} +0 -0
  1754. /package/src/components/inserter-listbox/{group.js → group.jsx} +0 -0
  1755. /package/src/components/inserter-listbox/{index.js → index.jsx} +0 -0
  1756. /package/src/components/inserter-listbox/{item.js → item.jsx} +0 -0
  1757. /package/src/components/inserter-listbox/{row.js → row.jsx} +0 -0
  1758. /package/src/components/inspector-controls/{block-support-slot-container.js → block-support-slot-container.jsx} +0 -0
  1759. /package/src/components/inspector-controls/{block-support-tools-panel.js → block-support-tools-panel.jsx} +0 -0
  1760. /package/src/components/inspector-controls/{fill.js → fill.jsx} +0 -0
  1761. /package/src/components/inspector-controls/{index.js → index.jsx} +0 -0
  1762. /package/src/components/inspector-controls/{last-item.js → last-item.jsx} +0 -0
  1763. /package/src/components/inspector-controls/{list-view-content-popover.js → list-view-content-popover.jsx} +0 -0
  1764. /package/src/components/inspector-controls/{slot.js → slot.jsx} +0 -0
  1765. /package/src/components/inspector-controls-tabs/{advanced-controls-panel.js → advanced-controls-panel.jsx} +0 -0
  1766. /package/src/components/inspector-controls-tabs/{index.js → index.jsx} +0 -0
  1767. /package/src/components/inspector-controls-tabs/{position-controls-panel.js → position-controls-panel.jsx} +0 -0
  1768. /package/src/components/inspector-controls-tabs/{settings-tab.js → settings-tab.jsx} +0 -0
  1769. /package/src/components/justify-content-control/{index.js → index.jsx} +0 -0
  1770. /package/src/components/justify-content-control/{ui.js → ui.jsx} +0 -0
  1771. /package/src/components/letter-spacing-control/{index.js → index.jsx} +0 -0
  1772. /package/src/components/line-height-control/{index.js → index.jsx} +0 -0
  1773. /package/src/components/link-control/{link-preview.js → link-preview.jsx} +0 -0
  1774. /package/src/components/link-control/{search-create-button.js → search-create-button.jsx} +0 -0
  1775. /package/src/components/link-control/{search-item.js → search-item.jsx} +0 -0
  1776. /package/src/components/link-control/{search-results.js → search-results.jsx} +0 -0
  1777. /package/src/components/link-control/{settings-drawer.js → settings-drawer.jsx} +0 -0
  1778. /package/src/components/link-control/{settings.js → settings.jsx} +0 -0
  1779. /package/src/components/link-picker/{link-picker.js → link-picker.jsx} +0 -0
  1780. /package/src/components/link-picker/{link-preview.js → link-preview.jsx} +0 -0
  1781. /package/src/components/list-view/{appender.js → appender.jsx} +0 -0
  1782. /package/src/components/list-view/{aria-referenced-text.js → aria-referenced-text.jsx} +0 -0
  1783. /package/src/components/list-view/{block-contents.js → block-contents.jsx} +0 -0
  1784. /package/src/components/list-view/{branch.js → branch.jsx} +0 -0
  1785. /package/src/components/list-view/{drop-indicator.js → drop-indicator.jsx} +0 -0
  1786. /package/src/components/list-view/{expander.js → expander.jsx} +0 -0
  1787. /package/src/components/list-view/{index.js → index.jsx} +0 -0
  1788. /package/src/components/list-view/{leaf.js → leaf.jsx} +0 -0
  1789. /package/src/components/media-placeholder/{index.js → index.jsx} +0 -0
  1790. /package/src/components/multi-selection-inspector/{index.js → index.jsx} +0 -0
  1791. /package/src/components/observe-typing/{index.js → index.jsx} +0 -0
  1792. /package/src/components/panel-color-settings/{index.js → index.jsx} +0 -0
  1793. /package/src/components/plain-text/{index.js → index.jsx} +0 -0
  1794. /package/src/components/preset-input-control/{custom-value-controls.js → custom-value-controls.jsx} +0 -0
  1795. /package/src/components/preset-input-control/{index.js → index.jsx} +0 -0
  1796. /package/src/components/provider/{block-refs-provider.js → block-refs-provider.jsx} +0 -0
  1797. /package/src/components/provider/{with-registry-provider.js → with-registry-provider.jsx} +0 -0
  1798. /package/src/components/publish-date-time-picker/{index.js → index.jsx} +0 -0
  1799. /package/src/components/recursion-provider/{index.js → index.jsx} +0 -0
  1800. /package/src/components/resizable-box-popover/{index.js → index.jsx} +0 -0
  1801. /package/src/components/resolution-tool/{index.js → index.jsx} +0 -0
  1802. /package/src/components/responsive-block-control/{index.js → index.jsx} +0 -0
  1803. /package/src/components/responsive-block-control/{label.js → label.jsx} +0 -0
  1804. /package/src/components/rich-text/{content.js → content.jsx} +0 -0
  1805. /package/src/components/rich-text/{format-edit.js → format-edit.jsx} +0 -0
  1806. /package/src/components/rich-text/format-toolbar/{index.js → index.jsx} +0 -0
  1807. /package/src/components/rich-text/{format-toolbar-container.js → format-toolbar-container.jsx} +0 -0
  1808. /package/src/components/rich-text/{get-rich-text-values.js → get-rich-text-values.jsx} +0 -0
  1809. /package/src/components/rich-text/{index.js → index.jsx} +0 -0
  1810. /package/src/components/rich-text/{multiline.js → multiline.jsx} +0 -0
  1811. /package/src/components/rich-text/{toolbar-button.js → toolbar-button.jsx} +0 -0
  1812. /package/src/components/rich-text/{utils.js → utils.jsx} +0 -0
  1813. /package/src/components/rich-text/{with-deprecations.js → with-deprecations.jsx} +0 -0
  1814. /package/src/components/skip-to-selected-block/{index.js → index.jsx} +0 -0
  1815. /package/src/components/spacing-sizes-control/{index.js → index.jsx} +0 -0
  1816. /package/src/components/spacing-sizes-control/input-controls/{axial.js → axial.jsx} +0 -0
  1817. /package/src/components/spacing-sizes-control/input-controls/{separated.js → separated.jsx} +0 -0
  1818. /package/src/components/spacing-sizes-control/input-controls/{single.js → single.jsx} +0 -0
  1819. /package/src/components/spacing-sizes-control/input-controls/{spacing-input-control.js → spacing-input-control.jsx} +0 -0
  1820. /package/src/components/spacing-sizes-control/{linked-button.js → linked-button.jsx} +0 -0
  1821. /package/src/components/tabbed-sidebar/{index.js → index.jsx} +0 -0
  1822. /package/src/components/text-alignment-control/{index.js → index.jsx} +0 -0
  1823. /package/src/components/text-decoration-control/{index.js → index.jsx} +0 -0
  1824. /package/src/components/text-indent-control/{index.js → index.jsx} +0 -0
  1825. /package/src/components/text-transform-control/{index.js → index.jsx} +0 -0
  1826. /package/src/components/typewriter/{index.js → index.jsx} +0 -0
  1827. /package/src/components/unit-control/{index.js → index.jsx} +0 -0
  1828. /package/src/components/url-input/{button.js → button.jsx} +0 -0
  1829. /package/src/components/url-input/{index.js → index.jsx} +0 -0
  1830. /package/src/components/url-popover/{image-url-input-ui.js → image-url-input-ui.jsx} +0 -0
  1831. /package/src/components/url-popover/{index.js → index.jsx} +0 -0
  1832. /package/src/components/url-popover/{link-editor.js → link-editor.jsx} +0 -0
  1833. /package/src/components/url-popover/{link-viewer-url.js → link-viewer-url.jsx} +0 -0
  1834. /package/src/components/url-popover/{link-viewer.js → link-viewer.jsx} +0 -0
  1835. /package/src/components/warning/{index.js → index.jsx} +0 -0
  1836. /package/src/components/writing-mode-control/{index.js → index.jsx} +0 -0
  1837. /package/src/hooks/{align.js → align.jsx} +0 -0
  1838. /package/src/hooks/{allowed-blocks.js → allowed-blocks.jsx} +0 -0
  1839. /package/src/hooks/{anchor.js → anchor.jsx} +0 -0
  1840. /package/src/hooks/{auto-inspector-controls.js → auto-inspector-controls.jsx} +0 -0
  1841. /package/src/hooks/{background.js → background.jsx} +0 -0
  1842. /package/src/hooks/{block-bindings.js → block-bindings.jsx} +0 -0
  1843. /package/src/hooks/{block-hooks.js → block-hooks.jsx} +0 -0
  1844. /package/src/hooks/{block-style-variation.js → block-style-variation.jsx} +0 -0
  1845. /package/src/hooks/{custom-class-name.js → custom-class-name.jsx} +0 -0
  1846. /package/src/hooks/{custom-css.js → custom-css.jsx} +0 -0
  1847. /package/src/hooks/{dimensions.js → dimensions.jsx} +0 -0
  1848. /package/src/hooks/{duotone.js → duotone.jsx} +0 -0
  1849. /package/src/hooks/{elements.js → elements.jsx} +0 -0
  1850. /package/src/hooks/{fit-text.js → fit-text.jsx} +0 -0
  1851. /package/src/hooks/{font-size.js → font-size.jsx} +0 -0
  1852. /package/src/hooks/{layout-child.js → layout-child.jsx} +0 -0
  1853. /package/src/hooks/{layout.js → layout.jsx} +0 -0
  1854. /package/src/hooks/{line-height.js → line-height.jsx} +0 -0
  1855. /package/src/hooks/{list-view.js → list-view.jsx} +0 -0
  1856. /package/src/hooks/{spacing-visualizer.js → spacing-visualizer.jsx} +0 -0
  1857. /package/src/hooks/{states.js → states.jsx} +0 -0
  1858. /package/src/hooks/{text-align.js → text-align.jsx} +0 -0
  1859. /package/src/hooks/{typography.js → typography.jsx} +0 -0
  1860. /package/src/hooks/{utils.js → utils.jsx} +0 -0
  1861. /package/src/layouts/{constrained.js → constrained.jsx} +0 -0
  1862. /package/src/layouts/{grid.js → grid.jsx} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/writing-flow/use-input.js"],
4
- "sourcesContent": ["import { 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';\nimport { store as blockEditorStore } from '../../store';\nimport { setContentEditableWrapper } from './utils';\nimport { getBlockClientId, getSelectionEditableElement } from '../../utils/dom';\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\tgetNextBlockClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockEditingMode,\n\t\tgetBlockListSettings,\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\tinsertAfterBlock,\n\t\tinsertBlock,\n\t\tselectBlock,\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\n\t\t\t// the DOM outside of an editable element within a block. This\n\t\t\t// will cause React errors (and the DOM should only be altered in\n\t\t\t// a controlled fashion). The wrapper can be contentEditable with\n\t\t\t// a single selection when the selected block supports\n\t\t\t// `editableRoot`; in that case edits within the block's editable\n\t\t\t// element are handled by its rich text instance.\n\t\t\tif ( node.contentEditable !== 'true' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hasMultiSelection() ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selection = node.ownerDocument.defaultView.getSelection();\n\n\t\t\tif ( ! getSelectionEditableElement( selection, node ) ) {\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 ) {\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\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\t\t\tconst { activeElement } = event.target.ownerDocument;\n\n\t\t\t\t\t// Ensure template is not locked.\n\t\t\t\t\tif (\n\t\t\t\t\t\t! __unstableIsFullySelected() &&\n\t\t\t\t\t\t( canInsertBlockType(\n\t\t\t\t\t\t\tgetDefaultBlockName(),\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\tcanInsertBlockType( blockName, rootClientId ) ) &&\n\t\t\t\t\t\t( hasBlockSupport( blockName, 'splitting', false ) ||\n\t\t\t\t\t\t\tevent.__deprecatedOnSplit )\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t__unstableSplitSelection();\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t// Handle Enter only on the block wrapper itself or\n\t\t\t\t\t\t// an editable element within the block, which may be\n\t\t\t\t\t\t// nested within the wrapper (e.g. Site Title). Other\n\t\t\t\t\t\t// focusable elements (an embed's URL field, an\n\t\t\t\t\t\t// appender button) keep their native Enter behavior.\n\t\t\t\t\t\t( activeElement.getAttribute( 'data-block' ) ===\n\t\t\t\t\t\t\tclientId ||\n\t\t\t\t\t\t\tactiveElement.isContentEditable ) &&\n\t\t\t\t\t\tgetBlockClientId( activeElement ) === clientId\n\t\t\t\t\t) {\n\t\t\t\t\t\t// The default block depends on context: containers\n\t\t\t\t\t\t// such as the gallery define their own default\n\t\t\t\t\t\t// block, which is what insertAfterBlock inserts.\n\t\t\t\t\t\tconst { defaultBlock: directInsertBlock } =\n\t\t\t\t\t\t\t( rootClientId &&\n\t\t\t\t\t\t\t\tgetBlockListSettings( rootClientId ) ) ||\n\t\t\t\t\t\t\t{};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tdirectInsertBlock?.name ??\n\t\t\t\t\t\t\t\t\tgetDefaultBlockName(),\n\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tinsertAfterBlock( clientId );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Descend into an empty container by inserting\n\t\t\t\t\t\t\t// its default block, the same block an appender\n\t\t\t\t\t\t\t// or ghost would insert.\n\t\t\t\t\t\t\tif ( ! getBlockOrder( clientId ).length ) {\n\t\t\t\t\t\t\t\tconst { defaultBlock } =\n\t\t\t\t\t\t\t\t\tgetBlockListSettings( clientId ) ?? {};\n\t\t\t\t\t\t\t\tconst name =\n\t\t\t\t\t\t\t\t\tdefaultBlock?.name ?? getDefaultBlockName();\n\n\t\t\t\t\t\t\t\tif ( canInsertBlockType( name, clientId ) ) {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t\t\tdefaultBlock?.attributes\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\tclientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfunction getNextClientId( id ) {\n\t\t\t\t\t\t\t\tlet nextClientId = null;\n\n\t\t\t\t\t\t\t\twhile (\n\t\t\t\t\t\t\t\t\ttypeof id === 'string' &&\n\t\t\t\t\t\t\t\t\t! ( nextClientId =\n\t\t\t\t\t\t\t\t\t\tgetNextBlockClientId( id ) )\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tid = getBlockRootClientId( id );\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn nextClientId;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet nextClientId =\n\t\t\t\t\t\t\t\tgetBlockOrder( clientId )[ 0 ] ??\n\t\t\t\t\t\t\t\tgetNextClientId( clientId );\n\n\t\t\t\t\t\t\twhile (\n\t\t\t\t\t\t\t\tnextClientId &&\n\t\t\t\t\t\t\t\tgetBlockEditingMode( nextClientId ) ===\n\t\t\t\t\t\t\t\t\t'disabled'\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tnextClientId = getNextClientId( nextClientId );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( nextClientId ) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t// An initial position of `true` is an\n\t\t\t\t\t\t\t\t// internal sentinel: it focuses the block\n\t\t\t\t\t\t\t\t// wrapper instead of a text field within\n\t\t\t\t\t\t\t\t// it. See useFocusFirstElement.\n\t\t\t\t\t\t\t\tselectBlock( nextClientId, true );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.keyCode === ENTER ) {\n\t\t\t\tsetContentEditableWrapper( node, 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\tsetContentEditableWrapper( node, 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\tsetContentEditableWrapper( node, 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\tsetContentEditableWrapper( node, 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"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { 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';\nimport { store as blockEditorStore } from '../../store';\nimport { setContentEditableWrapper } from './utils';\nimport { getBlockClientId, getSelectionEditableElement } from '../../utils/dom';\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\tgetNextBlockClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockEditingMode,\n\t\tgetBlockListSettings,\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\tinsertAfterBlock,\n\t\tinsertBlock,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\n\treturn useRefEffect( ( node ) => {\n\t\tfunction onBeforeInput( event ) {\n\t\t\t// Enter in an editable is handled here instead of on keydown:\n\t\t\t// moving focus while the keydown is still being handled leaves\n\t\t\t// the iOS keyboard's auto-capitalization stale.\n\t\t\tif (\n\t\t\t\tevent.inputType === 'insertParagraph' &&\n\t\t\t\t! event.defaultPrevented &&\n\t\t\t\t! hasMultiSelection()\n\t\t\t) {\n\t\t\t\tonKeyDown( event );\n\t\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If writing flow is editable, never allow the browser to alter\n\t\t\t// the DOM outside of an editable element within a block. This\n\t\t\t// will cause React errors (and the DOM should only be altered in\n\t\t\t// a controlled fashion). The wrapper can be contentEditable with\n\t\t\t// a single selection when the selected block supports\n\t\t\t// `editableRoot`; in that case edits within the block's editable\n\t\t\t// element are handled by its rich text instance.\n\t\t\tif ( node.contentEditable !== 'true' ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hasMultiSelection() ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst selection = node.ownerDocument.defaultView.getSelection();\n\n\t\t\tif ( ! getSelectionEditableElement( selection, node ) ) {\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 (\n\t\t\t\t\tevent.keyCode === ENTER ||\n\t\t\t\t\tevent.inputType === 'insertParagraph'\n\t\t\t\t) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.shiftKey ||\n\t\t\t\t\t\t// Editables are handled on beforeinput.\n\t\t\t\t\t\t( event.type === 'keydown' &&\n\t\t\t\t\t\t\tevent.target.ownerDocument.activeElement\n\t\t\t\t\t\t\t\t.isContentEditable )\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\tconst clientId = getSelectedBlockClientId();\n\t\t\t\t\tif ( ! clientId ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\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\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\t\t\tconst { activeElement } = event.target.ownerDocument;\n\n\t\t\t\t\t// Ensure template is not locked.\n\t\t\t\t\tif (\n\t\t\t\t\t\t! __unstableIsFullySelected() &&\n\t\t\t\t\t\t( canInsertBlockType(\n\t\t\t\t\t\t\tgetDefaultBlockName(),\n\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\tcanInsertBlockType( blockName, rootClientId ) ) &&\n\t\t\t\t\t\t( hasBlockSupport( blockName, 'splitting', false ) ||\n\t\t\t\t\t\t\tevent.__deprecatedOnSplit )\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t__unstableSplitSelection();\n\t\t\t\t\t} else if (\n\t\t\t\t\t\t// Handle Enter only on the block wrapper itself or\n\t\t\t\t\t\t// an editable element within the block, which may be\n\t\t\t\t\t\t// nested within the wrapper (e.g. Site Title). Other\n\t\t\t\t\t\t// focusable elements (an embed's URL field, an\n\t\t\t\t\t\t// appender button) keep their native Enter behavior.\n\t\t\t\t\t\t( activeElement.getAttribute( 'data-block' ) ===\n\t\t\t\t\t\t\tclientId ||\n\t\t\t\t\t\t\tactiveElement.isContentEditable ) &&\n\t\t\t\t\t\tgetBlockClientId( activeElement ) === clientId\n\t\t\t\t\t) {\n\t\t\t\t\t\t// The default block depends on context: containers\n\t\t\t\t\t\t// such as the gallery define their own default\n\t\t\t\t\t\t// block, which is what insertAfterBlock inserts.\n\t\t\t\t\t\tconst { defaultBlock: directInsertBlock } =\n\t\t\t\t\t\t\t( rootClientId &&\n\t\t\t\t\t\t\t\tgetBlockListSettings( rootClientId ) ) ||\n\t\t\t\t\t\t\t{};\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tdirectInsertBlock?.name ??\n\t\t\t\t\t\t\t\t\tgetDefaultBlockName(),\n\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tinsertAfterBlock( clientId );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Descend into an empty container by inserting\n\t\t\t\t\t\t\t// its default block, the same block an appender\n\t\t\t\t\t\t\t// or ghost would insert.\n\t\t\t\t\t\t\tif ( ! getBlockOrder( clientId ).length ) {\n\t\t\t\t\t\t\t\tconst { defaultBlock } =\n\t\t\t\t\t\t\t\t\tgetBlockListSettings( clientId ) ?? {};\n\t\t\t\t\t\t\t\tconst name =\n\t\t\t\t\t\t\t\t\tdefaultBlock?.name ?? getDefaultBlockName();\n\n\t\t\t\t\t\t\t\tif ( canInsertBlockType( name, clientId ) ) {\n\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t\t\tdefaultBlock?.attributes\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\t\t\tclientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfunction getNextClientId( id ) {\n\t\t\t\t\t\t\t\tlet nextClientId = null;\n\n\t\t\t\t\t\t\t\twhile (\n\t\t\t\t\t\t\t\t\ttypeof id === 'string' &&\n\t\t\t\t\t\t\t\t\t! ( nextClientId =\n\t\t\t\t\t\t\t\t\t\tgetNextBlockClientId( id ) )\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tid = getBlockRootClientId( id );\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn nextClientId;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tlet nextClientId =\n\t\t\t\t\t\t\t\tgetBlockOrder( clientId )[ 0 ] ??\n\t\t\t\t\t\t\t\tgetNextClientId( clientId );\n\n\t\t\t\t\t\t\twhile (\n\t\t\t\t\t\t\t\tnextClientId &&\n\t\t\t\t\t\t\t\tgetBlockEditingMode( nextClientId ) ===\n\t\t\t\t\t\t\t\t\t'disabled'\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tnextClientId = getNextClientId( nextClientId );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( nextClientId ) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t// An initial position of `true` is an\n\t\t\t\t\t\t\t\t// internal sentinel: it focuses the block\n\t\t\t\t\t\t\t\t// wrapper instead of a text field within\n\t\t\t\t\t\t\t\t// it. See useFocusFirstElement.\n\t\t\t\t\t\t\t\tselectBlock( nextClientId, true );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( event.keyCode === ENTER ) {\n\t\t\t\tsetContentEditableWrapper( node, 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\tsetContentEditableWrapper( node, 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\tsetContentEditableWrapper( node, 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\tsetContentEditableWrapper( node, 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"],
5
+ "mappings": "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",
6
6
  "names": ["getNextClientId", "nextClientId"]
7
7
  }
@@ -1,13 +1,21 @@
1
- // packages/block-editor/src/components/writing-flow/use-tab-nav.js
1
+ // packages/block-editor/src/components/writing-flow/use-tab-nav.jsx
2
2
  import { focus, isFormElement } from "@wordpress/dom";
3
- import { TAB } from "@wordpress/keycodes";
3
+ import { TAB, withIgnoreIMEEvents } from "@wordpress/keycodes";
4
+ import { __ } from "@wordpress/i18n";
4
5
  import { useSelect, useDispatch } from "@wordpress/data";
5
- import { useRefEffect, useMergeRefs } from "@wordpress/compose";
6
+ import { useRefEffect, useMergeRefs, useInstanceId } from "@wordpress/compose";
6
7
  import { useRef } from "@wordpress/element";
7
8
  import { store as blockEditorStore } from "../../store/index.mjs";
8
9
  import { isInSameBlock, isInsideRootBlock } from "../../utils/dom.mjs";
9
10
  import { unlock } from "../../lock-unlock.mjs";
10
11
  import { jsx } from "react/jsx-runtime";
12
+ var PREVENT_SCROLL_ON_FOCUS = {
13
+ position: "absolute",
14
+ inset: 0,
15
+ pointerEvents: "none",
16
+ outline: "none"
17
+ };
18
+ var ENTRY_KEYS = ["Enter", " ", "F2", "Escape"];
11
19
  function useTabNav() {
12
20
  const containerRef = (
13
21
  /** @type {typeof useRef<HTMLElement>} */
@@ -15,6 +23,10 @@ function useTabNav() {
15
23
  );
16
24
  const focusCaptureBeforeRef = useRef();
17
25
  const focusCaptureAfterRef = useRef();
26
+ const hintId = useInstanceId(
27
+ useTabNav,
28
+ "block-editor-writing-flow__canvas-stop-hint"
29
+ );
18
30
  const {
19
31
  hasMultiSelection,
20
32
  getSelectedBlockClientId,
@@ -22,15 +34,14 @@ function useTabNav() {
22
34
  getBlockOrder,
23
35
  getLastFocus,
24
36
  getSectionRootClientId,
37
+ getEditedContentOnlySection,
25
38
  isZoomOut
26
39
  } = unlock(useSelect(blockEditorStore));
27
40
  const { setLastFocus } = unlock(useDispatch(blockEditorStore));
28
41
  const noCaptureRef = useRef();
29
- function onFocusCapture(event) {
30
- const canvasElement = containerRef.current.ownerDocument === event.target.ownerDocument ? containerRef.current : containerRef.current.ownerDocument.defaultView.frameElement;
31
- if (noCaptureRef.current) {
32
- noCaptureRef.current = null;
33
- } else if (hasMultiSelection()) {
42
+ function enterCanvas() {
43
+ containerRef.current.ownerDocument.defaultView.focus();
44
+ if (hasMultiSelection()) {
34
45
  containerRef.current.focus();
35
46
  } else if (getSelectedBlockClientId()) {
36
47
  if (getLastFocus()?.current) {
@@ -48,34 +59,76 @@ function useTabNav() {
48
59
  } else if (sectionRootClientId) {
49
60
  containerRef.current.querySelector(`[data-block="${sectionRootClientId}"]`).focus();
50
61
  } else {
51
- canvasElement.focus();
62
+ containerRef.current.focus();
52
63
  }
53
64
  } else {
54
- const isBefore = (
55
- // eslint-disable-next-line no-bitwise
56
- event.target.compareDocumentPosition(canvasElement) & event.target.DOCUMENT_POSITION_FOLLOWING
57
- );
58
65
  const tabbables = focus.tabbable.find(containerRef.current);
59
66
  if (tabbables.length) {
60
- const next = isBefore ? tabbables[0] : tabbables[tabbables.length - 1];
61
- next.focus();
67
+ tabbables[0].focus();
68
+ } else {
69
+ containerRef.current.focus();
62
70
  }
63
71
  }
64
72
  }
73
+ function onStopKeyDown(event) {
74
+ if (event.defaultPrevented || event.ctrlKey || event.metaKey || event.altKey) {
75
+ return;
76
+ }
77
+ const { key } = event;
78
+ if (!event.shiftKey && ENTRY_KEYS.includes(key)) {
79
+ event.preventDefault();
80
+ enterCanvas();
81
+ return;
82
+ }
83
+ if (key === "Tab" && !event.shiftKey) {
84
+ event.preventDefault();
85
+ focus.tabbable.findNext(focusCaptureAfterRef.current)?.focus();
86
+ }
87
+ }
88
+ function onStopFocus() {
89
+ if (noCaptureRef.current) {
90
+ noCaptureRef.current = null;
91
+ return;
92
+ }
93
+ enterCanvas();
94
+ }
65
95
  const before = /* @__PURE__ */ jsx(
66
96
  "div",
67
97
  {
68
98
  ref: focusCaptureBeforeRef,
69
99
  tabIndex: "0",
70
- onFocus: onFocusCapture
100
+ role: "button",
101
+ "aria-label": __("Editor canvas"),
102
+ "aria-describedby": hintId,
103
+ className: "block-editor-writing-flow__canvas-stop",
104
+ style: PREVENT_SCROLL_ON_FOCUS,
105
+ onFocus: onStopFocus,
106
+ onKeyDown: onStopKeyDown,
107
+ onClick: enterCanvas,
108
+ children: /* @__PURE__ */ jsx(
109
+ "div",
110
+ {
111
+ className: "block-editor-writing-flow__canvas-stop-hint",
112
+ id: hintId,
113
+ children: __("Press Enter to edit the document")
114
+ }
115
+ )
71
116
  }
72
117
  );
118
+ function onFocusCapture() {
119
+ if (noCaptureRef.current) {
120
+ noCaptureRef.current = null;
121
+ return;
122
+ }
123
+ enterCanvas();
124
+ }
73
125
  const after = /* @__PURE__ */ jsx(
74
126
  "div",
75
127
  {
76
128
  ref: focusCaptureAfterRef,
77
129
  tabIndex: "0",
78
- onFocus: onFocusCapture
130
+ onFocus: onFocusCapture,
131
+ style: PREVENT_SCROLL_ON_FOCUS
79
132
  }
80
133
  );
81
134
  const ref = useRefEffect((node) => {
@@ -83,6 +136,17 @@ function useTabNav() {
83
136
  if (event.defaultPrevented) {
84
137
  return;
85
138
  }
139
+ if (event.key === "Escape" && !event.shiftKey && !event.ctrlKey && !event.metaKey && !event.altKey) {
140
+ if (getEditedContentOnlySection()) {
141
+ return;
142
+ }
143
+ if (focusCaptureBeforeRef.current) {
144
+ event.preventDefault();
145
+ noCaptureRef.current = true;
146
+ focusCaptureBeforeRef.current.focus();
147
+ }
148
+ return;
149
+ }
86
150
  if (event.keyCode !== TAB) {
87
151
  return;
88
152
  }
@@ -104,43 +168,22 @@ function useTabNav() {
104
168
  }
105
169
  const next = isShift ? focusCaptureBeforeRef : focusCaptureAfterRef;
106
170
  noCaptureRef.current = true;
107
- next.current.focus({ preventScroll: true });
171
+ next.current.focus();
108
172
  }
109
173
  function onFocusOut(event) {
110
174
  if (!node.contains(event.relatedTarget)) {
111
175
  setLastFocus({ current: event.target });
112
176
  }
113
- const { ownerDocument: ownerDocument2 } = node;
114
- if (!event.relatedTarget && event.target.hasAttribute("data-block") && ownerDocument2.activeElement === ownerDocument2.body && getBlockCount() === 0) {
177
+ const { ownerDocument } = node;
178
+ if (!event.relatedTarget && event.target.hasAttribute("data-block") && ownerDocument.activeElement === ownerDocument.body && getBlockCount() === 0) {
115
179
  node.focus();
116
180
  }
117
181
  }
118
- function preventScrollOnTab(event) {
119
- if (event.keyCode !== TAB) {
120
- return;
121
- }
122
- if (event.target?.getAttribute("role") === "region") {
123
- return;
124
- }
125
- if (containerRef.current === event.target) {
126
- return;
127
- }
128
- const isShift = event.shiftKey;
129
- const direction = isShift ? "findPrevious" : "findNext";
130
- const target = focus.tabbable[direction](event.target);
131
- if (target === focusCaptureBeforeRef.current || target === focusCaptureAfterRef.current) {
132
- event.preventDefault();
133
- target.focus({ preventScroll: true });
134
- }
135
- }
136
- const { ownerDocument } = node;
137
- const { defaultView } = ownerDocument;
138
- defaultView.addEventListener("keydown", preventScrollOnTab);
139
- node.addEventListener("keydown", onKeyDown);
182
+ const onKeyDownOutsideIME = withIgnoreIMEEvents(onKeyDown);
183
+ node.addEventListener("keydown", onKeyDownOutsideIME);
140
184
  node.addEventListener("focusout", onFocusOut);
141
185
  return () => {
142
- defaultView.removeEventListener("keydown", preventScrollOnTab);
143
- node.removeEventListener("keydown", onKeyDown);
186
+ node.removeEventListener("keydown", onKeyDownOutsideIME);
144
187
  node.removeEventListener("focusout", onFocusOut);
145
188
  };
146
189
  }, []);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/writing-flow/use-tab-nav.js"],
4
- "sourcesContent": ["import { focus, isFormElement } from '@wordpress/dom';\nimport { TAB } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect, useMergeRefs } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\nimport { store as blockEditorStore } from '../../store';\nimport { isInSameBlock, isInsideRootBlock } from '../../utils/dom';\nimport { unlock } from '../../lock-unlock';\n\nexport default function useTabNav() {\n\tconst containerRef = /** @type {typeof useRef<HTMLElement>} */ ( useRef )();\n\tconst focusCaptureBeforeRef = useRef();\n\tconst focusCaptureAfterRef = useRef();\n\n\tconst {\n\t\thasMultiSelection,\n\t\tgetSelectedBlockClientId,\n\t\tgetBlockCount,\n\t\tgetBlockOrder,\n\t\tgetLastFocus,\n\t\tgetSectionRootClientId,\n\t\tisZoomOut,\n\t} = unlock( useSelect( blockEditorStore ) );\n\tconst { setLastFocus } = unlock( useDispatch( blockEditorStore ) );\n\n\t// Reference that holds the a flag for enabling or disabling\n\t// capturing on the focus capture elements.\n\tconst noCaptureRef = useRef();\n\n\tfunction onFocusCapture( event ) {\n\t\tconst canvasElement =\n\t\t\tcontainerRef.current.ownerDocument === event.target.ownerDocument\n\t\t\t\t? containerRef.current\n\t\t\t\t: containerRef.current.ownerDocument.defaultView.frameElement;\n\n\t\t// Do not capture incoming focus if set by us in WritingFlow.\n\t\tif ( noCaptureRef.current ) {\n\t\t\tnoCaptureRef.current = null;\n\t\t} else if ( hasMultiSelection() ) {\n\t\t\tcontainerRef.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\tcontainerRef.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}\n\t\t// In \"compose\" mode without a selected ID, we want to place focus on the section root when tabbing to the canvas.\n\t\telse if ( isZoomOut() ) {\n\t\t\tconst sectionRootClientId = getSectionRootClientId();\n\t\t\tconst sectionBlocks = getBlockOrder( sectionRootClientId );\n\n\t\t\t// If we have section within the section root, focus the first one.\n\t\t\tif ( sectionBlocks.length ) {\n\t\t\t\tcontainerRef.current\n\t\t\t\t\t.querySelector( `[data-block=\"${ sectionBlocks[ 0 ] }\"]` )\n\t\t\t\t\t.focus();\n\t\t\t}\n\t\t\t// If we don't have any section blocks, focus the section root.\n\t\t\telse if ( sectionRootClientId ) {\n\t\t\t\tcontainerRef.current\n\t\t\t\t\t.querySelector( `[data-block=\"${ sectionRootClientId }\"]` )\n\t\t\t\t\t.focus();\n\t\t\t} else {\n\t\t\t\t// If we don't have any section root, focus the canvas.\n\t\t\t\tcanvasElement.focus();\n\t\t\t}\n\t\t} else {\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( containerRef.current );\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\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=\"0\"\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=\"0\"\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\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\tif (\n\t\t\t\t// Bails in case the focus capture elements aren’t present. They\n\t\t\t\t// may be omitted to avoid silent tab stops in preview mode.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/59317\n\t\t\t\t! focusCaptureAfterRef.current ||\n\t\t\t\t! focusCaptureBeforeRef.current\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { target, shiftKey: isShift } = event;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\t\t\tconst nextTabbable = focus.tabbable[ direction ]( 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 = 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\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\tnoCaptureRef.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\t// `focusout` also fires when focus moves between elements within the\n\t\t\t// canvas, but only the element focus left the canvas from is of\n\t\t\t// interest. `contains` is false for a null `relatedTarget`, which is\n\t\t\t// what focus moving to another document reports.\n\t\t\tif ( ! node.contains( event.relatedTarget ) ) {\n\t\t\t\tsetLastFocus( { current: event.target } );\n\t\t\t}\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\tevent.target.hasAttribute( 'data-block' ) &&\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 ( containerRef.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( [ containerRef, ref ] );\n\n\treturn [ before, mergedRefs, after ];\n}\n"],
5
- "mappings": "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",
6
- "names": ["ownerDocument"]
3
+ "sources": ["../../../src/components/writing-flow/use-tab-nav.jsx"],
4
+ "sourcesContent": ["import { focus, isFormElement } from '@wordpress/dom';\nimport { TAB, withIgnoreIMEEvents } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRefEffect, useMergeRefs, useInstanceId } from '@wordpress/compose';\nimport { useRef } from '@wordpress/element';\nimport { store as blockEditorStore } from '../../store';\nimport { isInSameBlock, isInsideRootBlock } from '../../utils/dom';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Spans the element over the canvas, so it is always at least partially in\n * view and focussing it never scrolls the content. Fixed positioning would\n * achieve that too, but makes Safari composite the scrollable canvas on a\n * layer sized to the whole document instead of the visible pane.\n */\nconst PREVENT_SCROLL_ON_FOCUS = {\n\tposition: 'absolute',\n\tinset: 0,\n\tpointerEvents: 'none',\n\toutline: 'none',\n};\n\n// Keys that move focus from the canvas stop into the canvas.\nconst ENTRY_KEYS = [ 'Enter', ' ', 'F2', 'Escape' ];\n\nexport default function useTabNav() {\n\tconst containerRef = /** @type {typeof useRef<HTMLElement>} */ ( useRef )();\n\tconst focusCaptureBeforeRef = useRef();\n\tconst focusCaptureAfterRef = useRef();\n\tconst hintId = useInstanceId(\n\t\tuseTabNav,\n\t\t'block-editor-writing-flow__canvas-stop-hint'\n\t);\n\n\tconst {\n\t\thasMultiSelection,\n\t\tgetSelectedBlockClientId,\n\t\tgetBlockCount,\n\t\tgetBlockOrder,\n\t\tgetLastFocus,\n\t\tgetSectionRootClientId,\n\t\tgetEditedContentOnlySection,\n\t\tisZoomOut,\n\t} = unlock( useSelect( blockEditorStore ) );\n\tconst { setLastFocus } = unlock( useDispatch( blockEditorStore ) );\n\n\t// Reference that holds the a flag for enabling or disabling\n\t// capturing on the focus capture elements.\n\tconst noCaptureRef = useRef();\n\n\t// The canvas is a single stop in the page's tab order, and going in is\n\t// an explicit action on it. Focus returns to the place it last left the\n\t// canvas from.\n\tfunction enterCanvas() {\n\t\t// Focus the canvas window first. The stop is in the parent document,\n\t\t// and when Firefox focuses an element in another document, it does\n\t\t// not move window focus, so the caret would be restored but key\n\t\t// presses would keep going to the parent page.\n\t\tcontainerRef.current.ownerDocument.defaultView.focus();\n\n\t\tif ( hasMultiSelection() ) {\n\t\t\tcontainerRef.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\tcontainerRef.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}\n\t\t// In \"compose\" mode without a selected ID, we want to place focus on the section root when tabbing to the canvas.\n\t\telse if ( isZoomOut() ) {\n\t\t\tconst sectionRootClientId = getSectionRootClientId();\n\t\t\tconst sectionBlocks = getBlockOrder( sectionRootClientId );\n\n\t\t\t// If we have section within the section root, focus the first one.\n\t\t\tif ( sectionBlocks.length ) {\n\t\t\t\tcontainerRef.current\n\t\t\t\t\t.querySelector( `[data-block=\"${ sectionBlocks[ 0 ] }\"]` )\n\t\t\t\t\t.focus();\n\t\t\t}\n\t\t\t// If we don't have any section blocks, focus the section root.\n\t\t\telse if ( sectionRootClientId ) {\n\t\t\t\tcontainerRef.current\n\t\t\t\t\t.querySelector( `[data-block=\"${ sectionRootClientId }\"]` )\n\t\t\t\t\t.focus();\n\t\t\t} else {\n\t\t\t\t// If we don't have any section root, focus the canvas.\n\t\t\t\tcontainerRef.current.focus();\n\t\t\t}\n\t\t} else {\n\t\t\tconst tabbables = focus.tabbable.find( containerRef.current );\n\t\t\tif ( tabbables.length ) {\n\t\t\t\ttabbables[ 0 ].focus();\n\t\t\t} else {\n\t\t\t\t// Nothing in the canvas is tabbable. Entering still enters:\n\t\t\t\t// keys go to the canvas, and a block can be selected with\n\t\t\t\t// the arrow keys or a click.\n\t\t\t\tcontainerRef.current.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onStopKeyDown( event ) {\n\t\tif (\n\t\t\tevent.defaultPrevented ||\n\t\t\tevent.ctrlKey ||\n\t\t\tevent.metaKey ||\n\t\t\tevent.altKey\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { key } = event;\n\n\t\tif ( ! event.shiftKey && ENTRY_KEYS.includes( key ) ) {\n\t\t\tevent.preventDefault();\n\t\t\tenterCanvas();\n\t\t\treturn;\n\t\t}\n\n\t\t// Shift+Tab leaves the canvas on its own, because the stop is the\n\t\t// first element before it. Plain Tab would move into the content,\n\t\t// so move focus to the first tabbable element past the canvas.\n\t\tif ( key === 'Tab' && ! event.shiftKey ) {\n\t\t\tevent.preventDefault();\n\t\t\tfocus.tabbable.findNext( focusCaptureAfterRef.current )?.focus();\n\t\t}\n\t}\n\n\t// Focus arriving on the stop engages the canvas right away, like a\n\t// text field that starts editing when focused. Only Escape parks\n\t// focus on the stop, giving Tab traction again: from a parked stop,\n\t// Tab moves to the interface around the canvas, not the content.\n\tfunction onStopFocus() {\n\t\tif ( noCaptureRef.current ) {\n\t\t\tnoCaptureRef.current = null;\n\t\t\treturn;\n\t\t}\n\t\tenterCanvas();\n\t}\n\n\tconst before = (\n\t\t<div\n\t\t\tref={ focusCaptureBeforeRef }\n\t\t\ttabIndex=\"0\"\n\t\t\trole=\"button\"\n\t\t\taria-label={ __( 'Editor canvas' ) }\n\t\t\taria-describedby={ hintId }\n\t\t\tclassName=\"block-editor-writing-flow__canvas-stop\"\n\t\t\tstyle={ PREVENT_SCROLL_ON_FOCUS }\n\t\t\tonFocus={ onStopFocus }\n\t\t\tonKeyDown={ onStopKeyDown }\n\t\t\t// Assistive technology activates a button with a click event,\n\t\t\t// not a key press. Pointer clicks pass through the element, so\n\t\t\t// a click can only come from such an activation.\n\t\t\tonClick={ enterCanvas }\n\t\t>\n\t\t\t{ /* The hint is also the button's description for assistive\n\t\t\t technology. Content hidden with `display: none` still\n\t\t\t works for `aria-describedby`. */ }\n\t\t\t<div\n\t\t\t\tclassName=\"block-editor-writing-flow__canvas-stop-hint\"\n\t\t\t\tid={ hintId }\n\t\t\t>\n\t\t\t\t{ __( 'Press Enter to edit the document' ) }\n\t\t\t</div>\n\t\t</div>\n\t);\n\n\t// Focus landing on the element after the canvas enters it, the same\n\t// as focus landing on the stop before it.\n\tfunction onFocusCapture() {\n\t\t// Do not act on focus set by the tab handler below, which moves\n\t\t// focus here so that the default behaviour (moving focus to the\n\t\t// next tabbable element) continues from this element.\n\t\tif ( noCaptureRef.current ) {\n\t\t\tnoCaptureRef.current = null;\n\t\t\treturn;\n\t\t}\n\t\tenterCanvas();\n\t}\n\n\tconst after = (\n\t\t<div\n\t\t\tref={ focusCaptureAfterRef }\n\t\t\ttabIndex=\"0\"\n\t\t\tonFocus={ onFocusCapture }\n\t\t\tstyle={ PREVENT_SCROLL_ON_FOCUS }\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\t// Escape steps out of the canvas onto its stop. Everything with\n\t\t\t// a stronger claim on the key runs first: handlers deeper in\n\t\t\t// the tree, capture handlers, and listeners registered earlier\n\t\t\t// on this node, like the automatic change undo. If the key is\n\t\t\t// still unclaimed here, nothing else wants it.\n\t\t\tif (\n\t\t\t\tevent.key === 'Escape' &&\n\t\t\t\t! event.shiftKey &&\n\t\t\t\t! event.ctrlKey &&\n\t\t\t\t! event.metaKey &&\n\t\t\t\t! event.altKey\n\t\t\t) {\n\t\t\t\t// While a content-only section is being edited, Escape first\n\t\t\t\t// stops editing it. That handler lives in the parent\n\t\t\t\t// document and runs after this one, so leave the key to it.\n\t\t\t\tif ( getEditedContentOnlySection() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( focusCaptureBeforeRef.current ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t// Park on the stop instead of engaging the canvas,\n\t\t\t\t\t// which is what focus arriving on it normally does.\n\t\t\t\t\tnoCaptureRef.current = true;\n\t\t\t\t\tfocusCaptureBeforeRef.current.focus();\n\t\t\t\t}\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 to navigate through blocks.\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// Bails in case the focus capture elements aren’t present. They\n\t\t\t\t// may be omitted to avoid silent tab stops in preview mode.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/59317\n\t\t\t\t! focusCaptureAfterRef.current ||\n\t\t\t\t! focusCaptureBeforeRef.current\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { target, shiftKey: isShift } = event;\n\t\t\tconst direction = isShift ? 'findPrevious' : 'findNext';\n\t\t\tconst nextTabbable = focus.tabbable[ direction ]( 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 = 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 the focus forwarding on the focus capture element, so\n\t\t\t// it allows default behaviour (moving focus to the next tabbable\n\t\t\t// element).\n\t\t\tnoCaptureRef.current = true;\n\n\t\t\tnext.current.focus();\n\t\t}\n\n\t\tfunction onFocusOut( event ) {\n\t\t\t// `focusout` also fires when focus moves between elements within the\n\t\t\t// canvas, but only the element focus left the canvas from is of\n\t\t\t// interest. `contains` is false for a null `relatedTarget`, which is\n\t\t\t// what focus moving to another document reports.\n\t\t\tif ( ! node.contains( event.relatedTarget ) ) {\n\t\t\t\tsetLastFocus( { current: event.target } );\n\t\t\t}\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\tevent.target.hasAttribute( 'data-block' ) &&\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// During an IME composition, Escape and Tab control the input\n\t\t// method, not the editor.\n\t\tconst onKeyDownOutsideIME = withIgnoreIMEEvents( onKeyDown );\n\n\t\tnode.addEventListener( 'keydown', onKeyDownOutsideIME );\n\t\tnode.addEventListener( 'focusout', onFocusOut );\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'keydown', onKeyDownOutsideIME );\n\t\t\tnode.removeEventListener( 'focusout', onFocusOut );\n\t\t};\n\t}, [] );\n\n\tconst mergedRefs = useMergeRefs( [ containerRef, ref ] );\n\n\treturn [ before, mergedRefs, after ];\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
7
  }
@@ -0,0 +1,36 @@
1
+ // packages/block-editor/src/components/writing-flow/use-undo-automatic-change.js
2
+ import { BACKSPACE, ESCAPE } from "@wordpress/keycodes";
3
+ import { useSelect } from "@wordpress/data";
4
+ import { useRefEffect } from "@wordpress/compose";
5
+ import { store as blockEditorStore } from "../../store/index.mjs";
6
+ function useUndoAutomaticChange() {
7
+ const { didAutomaticChange, getSettings } = useSelect(blockEditorStore);
8
+ function onKeyDown(event) {
9
+ const { keyCode } = event;
10
+ if (event.defaultPrevented) {
11
+ return;
12
+ }
13
+ if (keyCode !== BACKSPACE && keyCode !== ESCAPE) {
14
+ return;
15
+ }
16
+ const { __experimentalUndo } = getSettings();
17
+ if (!__experimentalUndo) {
18
+ return;
19
+ }
20
+ if (!didAutomaticChange()) {
21
+ return;
22
+ }
23
+ event.preventDefault();
24
+ __experimentalUndo();
25
+ }
26
+ return useRefEffect((element) => {
27
+ element.addEventListener("keydown", onKeyDown);
28
+ return () => {
29
+ element.removeEventListener("keydown", onKeyDown);
30
+ };
31
+ }, []);
32
+ }
33
+ export {
34
+ useUndoAutomaticChange as default
35
+ };
36
+ //# sourceMappingURL=use-undo-automatic-change.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/writing-flow/use-undo-automatic-change.js"],
4
+ "sourcesContent": ["import { BACKSPACE, ESCAPE } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\nimport { useRefEffect } from '@wordpress/compose';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function useUndoAutomaticChange() {\n\tconst { didAutomaticChange, getSettings } = useSelect( blockEditorStore );\n\n\tfunction onKeyDown( event ) {\n\t\tconst { keyCode } = event;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( keyCode !== BACKSPACE && keyCode !== ESCAPE ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { __experimentalUndo } = getSettings();\n\n\t\tif ( ! __experimentalUndo ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! didAutomaticChange() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\t__experimentalUndo();\n\t}\n\n\treturn useRefEffect( ( element ) => {\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n"],
5
+ "mappings": ";AAAA,SAAS,WAAW,cAAc;AAClC,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,SAAS,wBAAwB;AAE3B,SAAR,yBAA0C;AAChD,QAAM,EAAE,oBAAoB,YAAY,IAAI,UAAW,gBAAiB;AAExE,WAAS,UAAW,OAAQ;AAC3B,UAAM,EAAE,QAAQ,IAAI;AAEpB,QAAK,MAAM,kBAAmB;AAC7B;AAAA,IACD;AAEA,QAAK,YAAY,aAAa,YAAY,QAAS;AAClD;AAAA,IACD;AAEA,UAAM,EAAE,mBAAmB,IAAI,YAAY;AAE3C,QAAK,CAAE,oBAAqB;AAC3B;AAAA,IACD;AAEA,QAAK,CAAE,mBAAmB,GAAI;AAC7B;AAAA,IACD;AAEA,UAAM,eAAe;AACrB,uBAAmB;AAAA,EACpB;AAEA,SAAO,aAAc,CAAE,YAAa;AACnC,YAAQ,iBAAkB,WAAW,SAAU;AAC/C,WAAO,MAAM;AACZ,cAAQ,oBAAqB,WAAW,SAAU;AAAA,IACnD;AAAA,EACD,GAAG,CAAC,CAAE;AACP;",
6
+ "names": []
7
+ }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/writing-mode-control/index.js
1
+ // packages/block-editor/src/components/writing-mode-control/index.jsx
2
2
  import clsx from "clsx";
3
3
  import { __, isRTL } from "@wordpress/i18n";
4
4
  import { textHorizontal, textVertical } from "@wordpress/icons";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/writing-mode-control/index.js"],
3
+ "sources": ["../../../src/components/writing-mode-control/index.jsx"],
4
4
  "sourcesContent": ["import clsx from 'clsx';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { textHorizontal, textVertical } from '@wordpress/icons';\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\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<ToggleGroupControl\n\t\t\tisDeselectable\n\t\t\tlabel={ __( 'Orientation' ) }\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\t\t{ WRITING_MODES.map( ( option ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ option.value }\n\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\ticon={ option.icon }\n\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n"],
5
5
  "mappings": ";AAAA,OAAO,UAAU;AACjB,SAAS,IAAI,aAAa;AAC1B,SAAS,gBAAgB,oBAAoB;AAC7C;AAAA,EACC,oCAAoC;AAAA,EACpC,8CAA8C;AAAA,OACxC;AAsCF;AApCL,IAAM,gBAAgB;AAAA,EACrB;AAAA,IACC,OAAO,GAAI,YAAa;AAAA,IACxB,OAAO;AAAA,IACP,MAAM;AAAA,EACP;AAAA,EACA;AAAA,IACC,OAAO,GAAI,UAAW;AAAA,IACtB,OAAO,MAAM,IAAI,gBAAgB;AAAA,IACjC,MAAM;AAAA,EACP;AACD;AAYe,SAAR,mBAAqC,EAAE,WAAW,OAAO,SAAS,GAAI;AAC5E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,gBAAc;AAAA,MACd,OAAQ,GAAI,aAAc;AAAA,MAC1B,WAAY,KAAM,qCAAqC,SAAU;AAAA,MACjE;AAAA,MACA,UAAW,CAAE,aAAc;AAC1B,iBAAU,aAAa,QAAQ,SAAY,QAAS;AAAA,MACrD;AAAA,MAEE,wBAAc,IAAK,CAAE,WAAY;AAClC,eACC;AAAA,UAAC;AAAA;AAAA,YAEA,OAAQ,OAAO;AAAA,YACf,MAAO,OAAO;AAAA,YACd,OAAQ,OAAO;AAAA;AAAA,UAHT,OAAO;AAAA,QAId;AAAA,MAEF,CAAE;AAAA;AAAA,EACH;AAEF;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/align.js
1
+ // packages/block-editor/src/hooks/align.jsx
2
2
  import clsx from "clsx";
3
3
  import { addFilter } from "@wordpress/hooks";
4
4
  import {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/align.js"],
3
+ "sources": ["../../src/hooks/align.jsx"],
4
4
  "sourcesContent": ["import clsx from 'clsx';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\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"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/allowed-blocks.js
1
+ // packages/block-editor/src/hooks/allowed-blocks.jsx
2
2
  import { addFilter } from "@wordpress/hooks";
3
3
  import { hasBlockSupport, getBlockType } from "@wordpress/blocks";
4
4
  import { PrivateInspectorControlsAllowedBlocks } from "../components/inspector-controls/groups.mjs";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/allowed-blocks.js"],
3
+ "sources": ["../../src/hooks/allowed-blocks.jsx"],
4
4
  "sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport, getBlockType } from '@wordpress/blocks';\nimport { PrivateInspectorControlsAllowedBlocks } from '../components/inspector-controls/groups';\nimport BlockAllowedBlocksControl from '../components/block-allowed-blocks/allowed-blocks-control';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\n\nfunction BlockEditAllowedBlocksControlPure( { clientId } ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isContentOnly = blockEditingMode === 'contentOnly';\n\n\tif ( isContentOnly ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PrivateInspectorControlsAllowedBlocks.Fill>\n\t\t\t<BlockAllowedBlocksControl clientId={ clientId } />\n\t\t</PrivateInspectorControlsAllowedBlocks.Fill>\n\t);\n}\n\nexport default {\n\tedit: BlockEditAllowedBlocksControlPure,\n\tattributeKeys: [ 'allowedBlocks' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'allowedBlocks' );\n\t},\n};\n\n/**\n * Filters registered block settings, extending attributes with allowedBlocks.\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 ( settings?.attributes?.allowedBlocks?.type ) {\n\t\treturn settings;\n\t}\n\tif ( hasBlockSupport( settings, 'allowedBlocks' ) ) {\n\t\t// Gracefully handle if settings.attributes is undefined.\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tallowedBlocks: {\n\t\t\t\ttype: 'array',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/allowedBlocks/attribute',\n\taddAttribute\n);\n\n/**\n * Add transforms to preserve allowedBlocks on block transformations.\n *\n * @param {Object} result The transformed block.\n * @param {Array} source Original blocks transformed.\n * @param {number} index Index of the transformed block.\n * @param {Array} results All blocks that resulted from the transformation.\n * @return {Object} Modified transformed block.\n */\nexport function addTransforms( result, source, index, results ) {\n\tif ( ! hasBlockSupport( result.name, 'allowedBlocks' ) ) {\n\t\treturn result;\n\t}\n\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the attribute should not be kept.\n\tif (\n\t\tsource.length !== 1 &&\n\t\tresults.length === 1 &&\n\t\tresult.innerBlocks.length === source.length\n\t) {\n\t\treturn result;\n\t}\n\n\t// If we are transforming one block to multiple blocks or multiple blocks to one block,\n\t// we ignore the attribute during the transform.\n\tif (\n\t\t( results.length === 1 && source.length > 1 ) ||\n\t\t( results.length > 1 && source.length === 1 )\n\t) {\n\t\treturn result;\n\t}\n\n\t// If we are transforming multiple blocks to multiple blocks with different counts,\n\t// we ignore the attribute during the transform.\n\tif (\n\t\tresults.length > 1 &&\n\t\tsource.length > 1 &&\n\t\tresults.length !== source.length\n\t) {\n\t\treturn result;\n\t}\n\n\t// If the target block already has allowedBlocks, we don't need to preserve\n\t// the source allowedBlocks.\n\tif ( result.attributes.allowedBlocks ) {\n\t\treturn result;\n\t}\n\n\tconst sourceAllowedBlocks = source[ index ]?.attributes?.allowedBlocks;\n\n\tif ( ! sourceAllowedBlocks ) {\n\t\treturn result;\n\t}\n\n\tconst blockType = getBlockType( result.name );\n\tconst destinationAllowedBlocks = blockType?.allowedBlocks || [];\n\n\tif ( ! destinationAllowedBlocks.length ) {\n\t\treturn {\n\t\t\t...result,\n\t\t\tattributes: {\n\t\t\t\t...result.attributes,\n\t\t\t\tallowedBlocks: sourceAllowedBlocks,\n\t\t\t},\n\t\t};\n\t}\n\n\t// Filter out any source allowed blocks that are not defined in the destination allowed blocks.\n\tconst filteredSourceAllowedBlocks = sourceAllowedBlocks.filter( ( block ) =>\n\t\tdestinationAllowedBlocks.includes( block )\n\t);\n\n\treturn {\n\t\t...result,\n\t\tattributes: {\n\t\t\t...result.attributes,\n\t\t\tallowedBlocks: filteredSourceAllowedBlocks,\n\t\t},\n\t};\n}\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/allowedBlocks/addTransforms',\n\taddTransforms\n);\n"],
5
5
  "mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB,oBAAoB;AAC9C,SAAS,6CAA6C;AACtD,OAAO,+BAA+B;AACtC,SAAS,2BAA2B;AAYjC;AAVH,SAAS,kCAAmC,EAAE,SAAS,GAAI;AAC1D,QAAM,mBAAmB,oBAAoB;AAC7C,QAAM,gBAAgB,qBAAqB;AAE3C,MAAK,eAAgB;AACpB,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,sCAAsC,MAAtC,EACA,8BAAC,6BAA0B,UAAsB,GAClD;AAEF;AAEA,IAAO,yBAAQ;AAAA,EACd,MAAM;AAAA,EACN,eAAe,CAAE,eAAgB;AAAA,EACjC,WAAY,MAAO;AAClB,WAAO,gBAAiB,MAAM,eAAgB;AAAA,EAC/C;AACD;AASO,SAAS,aAAc,UAAW;AAExC,MAAK,UAAU,YAAY,eAAe,MAAO;AAChD,WAAO;AAAA,EACR;AACA,MAAK,gBAAiB,UAAU,eAAgB,GAAI;AAEnD,aAAS,aAAa;AAAA,MACrB,GAAG,SAAS;AAAA,MACZ,eAAe;AAAA,QACd,MAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;AAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;AAWO,SAAS,cAAe,QAAQ,QAAQ,OAAO,SAAU;AAC/D,MAAK,CAAE,gBAAiB,OAAO,MAAM,eAAgB,GAAI;AACxD,WAAO;AAAA,EACR;AAIA,MACC,OAAO,WAAW,KAClB,QAAQ,WAAW,KACnB,OAAO,YAAY,WAAW,OAAO,QACpC;AACD,WAAO;AAAA,EACR;AAIA,MACG,QAAQ,WAAW,KAAK,OAAO,SAAS,KACxC,QAAQ,SAAS,KAAK,OAAO,WAAW,GACzC;AACD,WAAO;AAAA,EACR;AAIA,MACC,QAAQ,SAAS,KACjB,OAAO,SAAS,KAChB,QAAQ,WAAW,OAAO,QACzB;AACD,WAAO;AAAA,EACR;AAIA,MAAK,OAAO,WAAW,eAAgB;AACtC,WAAO;AAAA,EACR;AAEA,QAAM,sBAAsB,OAAQ,KAAM,GAAG,YAAY;AAEzD,MAAK,CAAE,qBAAsB;AAC5B,WAAO;AAAA,EACR;AAEA,QAAM,YAAY,aAAc,OAAO,IAAK;AAC5C,QAAM,2BAA2B,WAAW,iBAAiB,CAAC;AAE9D,MAAK,CAAE,yBAAyB,QAAS;AACxC,WAAO;AAAA,MACN,GAAG;AAAA,MACH,YAAY;AAAA,QACX,GAAG,OAAO;AAAA,QACV,eAAe;AAAA,MAChB;AAAA,IACD;AAAA,EACD;AAGA,QAAM,8BAA8B,oBAAoB;AAAA,IAAQ,CAAE,UACjE,yBAAyB,SAAU,KAAM;AAAA,EAC1C;AAEA,SAAO;AAAA,IACN,GAAG;AAAA,IACH,YAAY;AAAA,MACX,GAAG,OAAO;AAAA,MACV,eAAe;AAAA,IAChB;AAAA,EACD;AACD;AAEA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AACD;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/anchor.js
1
+ // packages/block-editor/src/hooks/anchor.jsx
2
2
  import { addFilter } from "@wordpress/hooks";
3
3
  import { TextControl, ExternalLink } from "@wordpress/components";
4
4
  import { __ } from "@wordpress/i18n";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/anchor.js"],
3
+ "sources": ["../../src/hooks/anchor.jsx"],
4
4
  "sourcesContent": ["import { addFilter } from '@wordpress/hooks';\nimport { TextControl, ExternalLink } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\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\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: {\n\t\t\t\ttype: 'string',\n\t\t\t},\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\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<TextControl\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<ExternalLink\n\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-jumps/'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Learn more about anchors' ) }\n\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tvalue={ anchor || '' }\n\t\t\t\tplaceholder={ 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 !== '' ? nextValue : undefined,\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"],
5
5
  "mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,aAAa,oBAAoB;AAC1C,SAAS,UAAU;AACnB,SAAS,uBAAuB;AAChC,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AAgD/B,mBAIC,KAJD;AAzCL,IAAM,eAAe;AAUd,SAAS,aAAc,UAAW;AAExC,MAAK,WAAY,SAAS,YAAY,UAAU,CAAC,IAAM;AACtD,WAAO;AAAA,EACR;AACA,MAAK,gBAAiB,UAAU,QAAS,GAAI;AAE5C,aAAS,aAAa;AAAA,MACrB,GAAG,SAAS;AAAA,MACZ,QAAQ;AAAA,QACP,MAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AACR;AAEA,SAAS,2BAA4B,EAAE,QAAQ,cAAc,GAAI;AAChE,QAAM,mBAAmB,oBAAoB;AAE7C,MAAK,qBAAqB,WAAY;AACrC,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,qBAAkB,OAAM,YACxB;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ,GAAI,aAAc;AAAA,MAC1B,MACC,iCACG;AAAA;AAAA,UACD;AAAA,QACD;AAAA,QAAK;AAAA,QACL;AAAA,UAAC;AAAA;AAAA,YACA,MAAO;AAAA,cACN;AAAA,YACD;AAAA,YAEE,aAAI,0BAA2B;AAAA;AAAA,QAClC;AAAA,SACD;AAAA,MAED,OAAQ,UAAU;AAAA,MAClB,aAAc;AAAA,MACd,UAAW,CAAE,cAAe;AAC3B,oBAAY,UAAU,QAAS,cAAc,GAAI;AACjD,sBAAe;AAAA,UACd,QAAQ,cAAc,KAAK,YAAY;AAAA,QACxC,CAAE;AAAA,MACH;AAAA,MACA,gBAAe;AAAA,MACf,cAAa;AAAA;AAAA,EACd,GACD;AAEF;AAEA,IAAO,iBAAQ;AAAA,EACd;AAAA,EACA,MAAM;AAAA,EACN,eAAe,CAAE,QAAS;AAAA,EAC1B,WAAY,MAAO;AAClB,WAAO,gBAAiB,MAAM,QAAS;AAAA,EACxC;AACD;AAaO,SAAS,aAAc,YAAY,WAAW,YAAa;AACjE,MAAK,gBAAiB,WAAW,QAAS,GAAI;AAC7C,eAAW,KAAK,WAAW,WAAW,KAAK,OAAO,WAAW;AAAA,EAC9D;AAEA,SAAO;AACR;AAEA,UAAW,4BAA4B,yBAAyB,YAAa;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/auto-inspector-controls.js
1
+ // packages/block-editor/src/hooks/auto-inspector-controls.jsx
2
2
  import { getBlockType, store as blocksStore } from "@wordpress/blocks";
3
3
  import { PanelBody } from "@wordpress/components";
4
4
  import { useSelect } from "@wordpress/data";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/auto-inspector-controls.js"],
3
+ "sources": ["../../src/hooks/auto-inspector-controls.jsx"],
4
4
  "sourcesContent": ["import { getBlockType, store as blocksStore } from '@wordpress/blocks';\nimport { PanelBody } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { DataForm } from '@wordpress/dataviews';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport InspectorControls from '../components/inspector-controls';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\nimport BlockContext from '../components/block-context';\nimport { generateFieldsFromAttributes } from './generate-fields-from-attributes';\n\n/**\n * Checks if a block has any attributes marked for auto-generated inspector controls.\n *\n * @param {Object} blockTypeAttributes - The block type's attributes object.\n * @return {boolean} True if any attribute has autoGenerateControl marker.\n */\nfunction hasAutoGenerateControl( blockTypeAttributes ) {\n\tif ( ! blockTypeAttributes ) {\n\t\treturn false;\n\t}\n\treturn Object.values( blockTypeAttributes ).some(\n\t\t( attr ) => attr?.autoGenerateControl\n\t);\n}\n\n/**\n * Renders DataForm-based inspector controls for auto-registered PHP-only blocks.\n *\n * Fields are generated on-the-fly from attributes marked with `autoGenerateControl`\n * during PHP registration.\n *\n * @param {Object} props Component props.\n * @param {string} props.name Block name.\n * @param {string} props.clientId Block client ID.\n * @param {Function} props.setAttributes Function to update block attributes.\n */\nfunction AutoRegisterControls( { name, clientId, setAttributes } ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst blockContext = useContext( BlockContext );\n\n\tconst attributes = useSelect(\n\t\t( select ) => {\n\t\t\tconst _attributes =\n\t\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId );\n\t\t\tif ( ! _attributes?.metadata?.bindings ) {\n\t\t\t\treturn _attributes;\n\t\t\t}\n\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\t\t\treturn Object.entries( _attributes.metadata.bindings ).reduce(\n\t\t\t\t( acc, [ attribute, binding ] ) => {\n\t\t\t\t\tconst source = getBlockBindingsSource( binding.source );\n\t\t\t\t\tif ( ! source ) {\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}\n\t\t\t\t\tconst values = source.getValues( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext: blockContext,\n\t\t\t\t\t\tbindings: { [ attribute ]: binding },\n\t\t\t\t\t} );\n\t\t\t\t\treturn { ...acc, ...values };\n\t\t\t\t},\n\t\t\t\t_attributes\n\t\t\t);\n\t\t},\n\t\t[ blockContext, clientId ]\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Generate fields from user-defined attributes marked by PHP.\n\t// The autoGenerateControl marker excludes block support attributes\n\t// (which have their own UI) and internal state (role: 'local').\n\t// Memoized since blockType.attributes don't change after registration.\n\tconst { fields, form } = useMemo( () => {\n\t\tif ( ! blockType?.attributes ) {\n\t\t\treturn { fields: [], form: { fields: [] } };\n\t\t}\n\t\treturn generateFieldsFromAttributes( blockType.attributes );\n\t}, [ blockType?.attributes ] );\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tif ( ! fields || fields.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<DataForm\n\t\t\t\t\tdata={ attributes }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tform={ form }\n\t\t\t\t\tonChange={ setAttributes }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n\nexport default {\n\tedit: AutoRegisterControls,\n\tattributeKeys: [],\n\thasSupport( name ) {\n\t\tconst blockType = getBlockType( name );\n\t\treturn hasAutoGenerateControl( blockType?.attributes );\n\t},\n};\n"],
5
5
  "mappings": ";AAAA,SAAS,cAAc,SAAS,mBAAmB;AACnD,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,gBAAgB;AACzB,SAAS,YAAY,eAAe;AACpC,SAAS,UAAU;AACnB,OAAO,uBAAuB;AAC9B,SAAS,2BAA2B;AACpC,SAAS,SAAS,wBAAwB;AAC1C,SAAS,cAAc;AACvB,OAAO,kBAAkB;AACzB,SAAS,oCAAoC;AAqFzC;AA7EJ,SAAS,uBAAwB,qBAAsB;AACtD,MAAK,CAAE,qBAAsB;AAC5B,WAAO;AAAA,EACR;AACA,SAAO,OAAO,OAAQ,mBAAoB,EAAE;AAAA,IAC3C,CAAE,SAAU,MAAM;AAAA,EACnB;AACD;AAaA,SAAS,qBAAsB,EAAE,MAAM,UAAU,cAAc,GAAI;AAClE,QAAM,mBAAmB,oBAAoB;AAE7C,QAAM,eAAe,WAAY,YAAa;AAE9C,QAAM,aAAa;AAAA,IAClB,CAAE,WAAY;AACb,YAAM,cACL,OAAQ,gBAAiB,EAAE,mBAAoB,QAAS;AACzD,UAAK,CAAE,aAAa,UAAU,UAAW;AACxC,eAAO;AAAA,MACR;AAEA,YAAM,EAAE,uBAAuB,IAAI,OAAQ,OAAQ,WAAY,CAAE;AACjE,aAAO,OAAO,QAAS,YAAY,SAAS,QAAS,EAAE;AAAA,QACtD,CAAE,KAAK,CAAE,WAAW,OAAQ,MAAO;AAClC,gBAAM,SAAS,uBAAwB,QAAQ,MAAO;AACtD,cAAK,CAAE,QAAS;AACf,mBAAO;AAAA,UACR;AACA,gBAAM,SAAS,OAAO,UAAW;AAAA,YAChC;AAAA,YACA,SAAS;AAAA,YACT,UAAU,EAAE,CAAE,SAAU,GAAG,QAAQ;AAAA,UACpC,CAAE;AACF,iBAAO,EAAE,GAAG,KAAK,GAAG,OAAO;AAAA,QAC5B;AAAA,QACA;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,cAAc,QAAS;AAAA,EAC1B;AAEA,QAAM,YAAY,aAAc,IAAK;AAMrC,QAAM,EAAE,QAAQ,KAAK,IAAI,QAAS,MAAM;AACvC,QAAK,CAAE,WAAW,YAAa;AAC9B,aAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE;AAAA,IAC3C;AACA,WAAO,6BAA8B,UAAU,UAAW;AAAA,EAC3D,GAAG,CAAE,WAAW,UAAW,CAAE;AAE7B,MAAK,qBAAqB,WAAY;AACrC,WAAO;AAAA,EACR;AAEA,MAAK,CAAE,UAAU,OAAO,WAAW,GAAI;AACtC,WAAO;AAAA,EACR;AAEA,SACC,oBAAC,qBACA,8BAAC,aAAU,OAAQ,GAAI,UAAW,GACjC;AAAA,IAAC;AAAA;AAAA,MACA,MAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,UAAW;AAAA;AAAA,EACZ,GACD,GACD;AAEF;AAEA,IAAO,kCAAQ;AAAA,EACd,MAAM;AAAA,EACN,eAAe,CAAC;AAAA,EAChB,WAAY,MAAO;AAClB,UAAM,YAAY,aAAc,IAAK;AACrC,WAAO,uBAAwB,WAAW,UAAW;AAAA,EACtD;AACD;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/background.js
1
+ // packages/block-editor/src/hooks/background.jsx
2
2
  import clsx from "clsx";
3
3
  import { getBlockSupport } from "@wordpress/blocks";
4
4
  import { useSelect } from "@wordpress/data";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/background.js"],
3
+ "sources": ["../../src/hooks/background.jsx"],
4
4
  "sourcesContent": ["import clsx from 'clsx';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport InspectorControls from '../components/inspector-controls';\nimport { cleanEmptyObject } from './utils';\nimport { extractPresetSlug } from '../utils/color-values';\nimport { store as blockEditorStore } from '../store';\nimport useBlockColorContrastWarning from './contrast-checker';\nimport {\n\tdefault as StylesBackgroundPanel,\n\tuseHasBackgroundPanel,\n\thasBackgroundImageValue,\n\thasBackgroundGradientValue,\n} from '../components/global-styles/background-panel';\nimport {\n\tgetStyleForState,\n\tisDefaultBlockStyleState,\n\tsetStyleForState,\n\tuseBlockStyleState,\n} from './block-style-state';\nimport { useResolvedStyle } from '../components/global-styles/inherited-value-context';\n\nexport const BACKGROUND_SUPPORT_KEY = 'background';\n\n// Initial control values.\nexport const BACKGROUND_BLOCK_DEFAULT_VALUES = {\n\tbackgroundSize: 'cover',\n\tbackgroundPosition: '50% 50%', // used only when backgroundSize is 'contain'.\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\t!! support?.gradient\n\t\t);\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\nexport function setBackgroundStyleDefaults( backgroundStyle ) {\n\tif ( ! backgroundStyle || ! backgroundStyle?.backgroundImage?.url ) {\n\t\treturn;\n\t}\n\n\tlet backgroundStylesWithDefaults;\n\n\t// Set block background defaults.\n\tif ( ! backgroundStyle?.backgroundSize ) {\n\t\tbackgroundStylesWithDefaults = {\n\t\t\tbackgroundSize: BACKGROUND_BLOCK_DEFAULT_VALUES.backgroundSize,\n\t\t};\n\t}\n\n\tif (\n\t\t'contain' === backgroundStyle?.backgroundSize &&\n\t\t! backgroundStyle?.backgroundPosition\n\t) {\n\t\tbackgroundStylesWithDefaults = {\n\t\t\tbackgroundPosition:\n\t\t\t\tBACKGROUND_BLOCK_DEFAULT_VALUES.backgroundPosition,\n\t\t};\n\t}\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 ) ||\n\t\thasBackgroundGradientValue( style )\n\t\t? 'has-background'\n\t\t: '';\n}\n\n// Clears every control the Background panel owns: the background image,\n// background color, and the gradient. The Background panel owns the gradient\n// control for both the newer `background.gradient` support and the legacy\n// `color.gradient` path, so \"Reset all\" clears the legacy value too,\n// regardless of which path stored it.\nexport function backgroundResetAllFilter( attributes ) {\n\tconst updatedClassName = attributes.className?.includes( 'has-background' )\n\t\t? attributes.className\n\t\t\t\t.split( ' ' )\n\t\t\t\t.filter( ( c ) => c !== 'has-background' )\n\t\t\t\t.join( ' ' ) || undefined\n\t\t: attributes.className;\n\treturn {\n\t\t...attributes,\n\t\tclassName: updatedClassName,\n\t\tbackgroundColor: undefined,\n\t\tgradient: undefined,\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...attributes.style,\n\t\t\tbackground: undefined,\n\t\t\tcolor: {\n\t\t\t\t...attributes.style?.color,\n\t\t\t\tbackground: undefined,\n\t\t\t\tgradient: undefined,\n\t\t\t},\n\t\t} ),\n\t};\n}\n\nfunction BackgroundInspectorControl( { children } ) {\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"background\"\n\t\t\tresetAllFilter={ backgroundResetAllFilter }\n\t\t>\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\t// Allows rendering outside the `background` inspector group (e.g. section\n\t// blocks direct-render this panel because their support fills are gated\n\t// off by editing mode). Defaults to the slot-based wrapper.\n\tasWrapper,\n} ) {\n\tconst selectedState = useBlockStyleState();\n\tconst { style, className, backgroundColor, gradient } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes } = select( blockEditorStore );\n\t\t\tconst blockAttributes = getBlockAttributes( clientId );\n\t\t\treturn {\n\t\t\t\tstyle: blockAttributes?.style,\n\t\t\t\tclassName: blockAttributes?.className,\n\t\t\t\tbackgroundColor: blockAttributes?.backgroundColor,\n\t\t\t\tgradient: blockAttributes?.gradient,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { value: inheritedValue } = useResolvedStyle(\n\t\tname,\n\t\tclassName,\n\t\tselectedState\n\t);\n\n\tconst backgroundGradientSupported =\n\t\thasBackgroundSupport( name, 'gradient' ) &&\n\t\t!! settings?.background?.gradient;\n\n\tconst colorSupport = getBlockSupport( name, 'color' );\n\tconst hasColorBackgroundSupport =\n\t\tcolorSupport && colorSupport.background !== false;\n\tconst hasColorGradientSupport = !! colorSupport?.gradients;\n\n\tconst isStateSelected = ! isDefaultBlockStyleState( selectedState );\n\n\t// Fold the backgroundColor / gradient attribute slugs back into the style\n\t// object the panel consumes. When background.gradient is supported but not\n\t// yet explicitly set, fall back to color.gradient for display.\n\tconst styleValue = {\n\t\t...style,\n\t\tcolor: {\n\t\t\t...style?.color,\n\t\t\tbackground: backgroundColor\n\t\t\t\t? 'var:preset|color|' + backgroundColor\n\t\t\t\t: style?.color?.background,\n\t\t\tgradient:\n\t\t\t\t! backgroundGradientSupported && gradient\n\t\t\t\t\t? 'var:preset|gradient|' + gradient\n\t\t\t\t\t: style?.color?.gradient,\n\t\t},\n\t\t...( backgroundGradientSupported && {\n\t\t\tbackground: {\n\t\t\t\t...style?.background,\n\t\t\t\tgradient: gradient\n\t\t\t\t\t? 'var:preset|gradient|' + gradient\n\t\t\t\t\t: style?.background?.gradient ?? style?.color?.gradient,\n\t\t\t},\n\t\t} ),\n\t};\n\tconst value = isStateSelected\n\t\t? getStyleForState( style, selectedState )\n\t\t: styleValue;\n\n\t// Skipped for gradients, which can't be reliably evaluated for contrast.\n\tconst enableContrastChecking =\n\t\t! value?.color?.gradient &&\n\t\t! value?.background?.gradient &&\n\t\t!! value?.color?.background &&\n\t\t( settings?.color?.text || settings?.color?.link ) &&\n\t\tfalse !== getBlockSupport( name, [ 'color', 'enableContrastChecker' ] );\n\n\tconst contrastWarning = useBlockColorContrastWarning( {\n\t\tclientId,\n\t\tname,\n\t\tenabled: !! enableContrastChecking,\n\t\tmessageOverride: __(\n\t\t\t'This color combination has poor contrast. Consider increasing contrast between background and foreground.'\n\t\t),\n\t} );\n\n\tif (\n\t\t! useHasBackgroundPanel( settings ) ||\n\t\t( ! hasBackgroundSupport( name ) &&\n\t\t\t! hasColorBackgroundSupport &&\n\t\t\t! hasColorGradientSupport )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst onChange = ( newStyle ) => {\n\t\tif ( isStateSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: setStyleForState( style, selectedState, newStyle ),\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Extract background color slug from style.color.background.\n\t\tconst newBackgroundColorValue = newStyle?.color?.background;\n\t\tconst newBackgroundColorSlug = extractPresetSlug(\n\t\t\tnewBackgroundColorValue,\n\t\t\t'color'\n\t\t);\n\n\t\t// Extract gradient slug — prefer the new background.gradient path\n\t\t// when backgroundGradientSupported, fall back to color.gradient.\n\t\tconst newGradientValue = backgroundGradientSupported\n\t\t\t? newStyle?.background?.gradient\n\t\t\t: newStyle?.color?.gradient;\n\t\tconst newGradientSlug = extractPresetSlug(\n\t\t\tnewGradientValue,\n\t\t\t'gradient'\n\t\t);\n\t\tconst cleanedColorGradient = newGradientSlug\n\t\t\t? undefined\n\t\t\t: newStyle?.color?.gradient;\n\n\t\t// Drop slug-resolved values so they aren't persisted inline alongside\n\t\t// the attribute slugs.\n\t\tconst cleanedStyle = {\n\t\t\t...newStyle,\n\t\t\tcolor: {\n\t\t\t\t...newStyle?.color,\n\t\t\t\tbackground: newBackgroundColorSlug\n\t\t\t\t\t? undefined\n\t\t\t\t\t: newBackgroundColorValue,\n\t\t\t\tgradient: backgroundGradientSupported\n\t\t\t\t\t? undefined\n\t\t\t\t\t: cleanedColorGradient,\n\t\t\t},\n\t\t};\n\t\tif ( backgroundGradientSupported ) {\n\t\t\t// Background gradients are kept whole in `style.background.gradient`\n\t\t\t// rather than extracted to the legacy `gradient` attribute.\n\t\t\tcleanedStyle.background = {\n\t\t\t\t...cleanedStyle.background,\n\t\t\t\tgradient: newStyle?.background?.gradient,\n\t\t\t};\n\t\t}\n\n\t\tconst isMigrating =\n\t\t\tbackgroundGradientSupported && !! style?.color?.gradient;\n\t\tconst newAttributes = {\n\t\t\tstyle: cleanEmptyObject( cleanedStyle ),\n\t\t\tbackgroundColor: newBackgroundColorSlug,\n\t\t\t// The legacy `gradient` attribute is only used when the block does\n\t\t\t// not support `background.gradient`; otherwise the gradient is\n\t\t\t// stored in `style.background.gradient` above.\n\t\t\tgradient: backgroundGradientSupported ? undefined : newGradientSlug,\n\t\t};\n\n\t\t// When migrating from color.gradient to background.gradient, preserve\n\t\t// the has-background class so existing styles relying on it (e.g.\n\t\t// theme padding) are not silently broken. Only add the class when a\n\t\t// gradient value is being set — not when it is being cleared/reset.\n\t\t// Conversely, if the gradient is cleared and has-background was added\n\t\t// during a previous migration, remove it so it does not linger.\n\t\tconst hasNewGradient = !! newGradientSlug || !! newGradientValue;\n\t\tif ( isMigrating && hasNewGradient ) {\n\t\t\tnewAttributes.className = clsx( className, 'has-background' );\n\t\t} else if (\n\t\t\t! hasNewGradient &&\n\t\t\tclassName?.includes( 'has-background' )\n\t\t) {\n\t\t\tnewAttributes.className =\n\t\t\t\tclassName\n\t\t\t\t\t.split( ' ' )\n\t\t\t\t\t.filter( ( c ) => c !== 'has-background' )\n\t\t\t\t\t.join( ' ' ) || undefined;\n\t\t}\n\n\t\tsetAttributes( newAttributes );\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\tconst backgroundDefaultControls = getBlockSupport( name, [\n\t\tBACKGROUND_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst colorDefaultControls = getBlockSupport( name, [\n\t\t'color',\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultControls = {\n\t\t...backgroundDefaultControls,\n\t\tbackgroundColor: colorDefaultControls?.background,\n\t\t// Mirror the old combined control: show the gradient item by default\n\t\t// when background color was shown by default.\n\t\tgradient:\n\t\t\tbackgroundDefaultControls?.gradient ??\n\t\t\tcolorDefaultControls?.background,\n\t};\n\n\tconst Wrapper = asWrapper || BackgroundInspectorControl;\n\n\treturn (\n\t\t<StylesBackgroundPanel\n\t\t\tas={ Wrapper }\n\t\t\tpanelId={ clientId }\n\t\t\tdefaultValues={ BACKGROUND_BLOCK_DEFAULT_VALUES }\n\t\t\tsettings={ updatedSettings }\n\t\t\tonChange={ onChange }\n\t\t\tdefaultControls={ defaultControls }\n\t\t\tvalue={\n\t\t\t\tisStateSelected\n\t\t\t\t\t? getStyleForState( style, selectedState )\n\t\t\t\t\t: styleValue\n\t\t\t}\n\t\t\tcontrastWarning={ contrastWarning }\n\t\t\tinheritedValue={ inheritedValue }\n\t\t/>\n\t);\n}\n\nexport default {\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport: hasBackgroundSupport,\n};\n"],
5
5
  "mappings": "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",
6
6
  "names": []