@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/list-view/use-list-view-drop-zone.js"],
4
- "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { useState, useCallback, useEffect } from '@wordpress/element';\nimport {\n\tuseThrottle,\n\t__experimentalUseDropZone as useDropZone,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { isRTL } from '@wordpress/i18n';\nimport {\n\tgetDistanceToNearestEdge,\n\tisPointContainedByRect,\n} from '../../utils/math';\nimport useOnBlockDrop from '../use-on-block-drop';\nimport { store as blockEditorStore } from '../../store';\n\n/** @typedef {import('../../utils/math').WPPoint} WPPoint */\n\n/**\n * The type of a drag event.\n *\n * @typedef {'default'|'file'|'html'} WPDragEventType\n */\n\n/**\n * An object representing data for blocks in the DOM used by drag and drop.\n *\n * @typedef {Object} WPListViewDropZoneBlock\n * @property {string} clientId The client id for the block.\n * @property {string} rootClientId The root client id for the block.\n * @property {number} blockIndex The block's index.\n * @property {Element} element The DOM element representing the block.\n * @property {number} innerBlockCount The number of inner blocks the block has.\n * @property {boolean} isDraggedBlock Whether the block is currently being dragged.\n * @property {boolean} isExpanded Whether the block is expanded in the UI.\n * @property {boolean} canInsertDraggedBlocksAsSibling Whether the dragged block can be a sibling of this block.\n * @property {boolean} canInsertDraggedBlocksAsChild Whether the dragged block can be a child of this block.\n */\n\n/**\n * An array representing data for blocks in the DOM used by drag and drop.\n *\n * @typedef {WPListViewDropZoneBlock[]} WPListViewDropZoneBlocks\n */\n\n/**\n * An object containing details of a drop target.\n *\n * @typedef {Object} WPListViewDropZoneTarget\n * @property {string} blockIndex The insertion index.\n * @property {string} rootClientId The root client id for the block.\n * @property {string|undefined} clientId The client id for the block.\n * @property {'top'|'bottom'|'inside'} dropPosition The position relative to the block that the user is dropping to.\n * 'inside' refers to nesting as an inner block.\n */\n\n// When the indentation level, the corresponding left margin in `style.scss`\n// must be updated as well to ensure the drop zone is aligned with the indentation.\nexport const NESTING_LEVEL_INDENTATION = 24;\n\n/**\n * Determines whether the user is positioning the dragged block to be\n * moved up to a parent level.\n *\n * Determined based on nesting level indentation of the current block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n * @return {boolean} Whether the gesture is an upward gesture.\n */\nfunction isUpGesture( point, rect, nestingLevel = 1, rtl = false ) {\n\t// If the block is nested, and the user is dragging to the bottom\n\t// left of the block (or bottom right in RTL languages), then it is an upward gesture.\n\tconst blockIndentPosition = rtl\n\t\t? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION\n\t\t: rect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\treturn rtl ? point.x > blockIndentPosition : point.x < blockIndentPosition;\n}\n\n/**\n * Returns how many nesting levels up the user is attempting to drag to.\n *\n * The relative parent level is calculated based on how far\n * the cursor is from the provided nesting level (e.g. of a candidate block\n * that the user is hovering over). The nesting level is considered \"desired\"\n * because it is not guaranteed that the user will be able to drag to the desired level.\n *\n * The returned integer can be used to access an ascending array\n * of parent blocks, where the first item is the block the user\n * is hovering over, and the last item is the root block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n * @return {number} The desired relative parent level.\n */\nfunction getDesiredRelativeParentLevel(\n\tpoint,\n\trect,\n\tnestingLevel = 1,\n\trtl = false\n) {\n\t// In RTL languages, the block indent position is from the right edge of the block.\n\t// In LTR languages, the block indent position is from the left edge of the block.\n\tconst blockIndentPosition = rtl\n\t\t? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION\n\t\t: rect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\n\tconst distanceBetweenPointAndBlockIndentPosition = rtl\n\t\t? blockIndentPosition - point.x\n\t\t: point.x - blockIndentPosition;\n\n\tconst desiredParentLevel = Math.round(\n\t\tdistanceBetweenPointAndBlockIndentPosition / NESTING_LEVEL_INDENTATION\n\t);\n\n\treturn Math.abs( desiredParentLevel );\n}\n\n/**\n * Returns an array of the parent blocks of the block the user is dropping to.\n *\n * @param {WPListViewDropZoneBlock} candidateBlockData The block the user is dropping to.\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @return {WPListViewDropZoneBlocks} An array of block parents, including the block the user is dropping to.\n */\nfunction getCandidateBlockParents( candidateBlockData, blocksData ) {\n\tconst candidateBlockParents = [];\n\tlet currentBlockData = candidateBlockData;\n\n\twhile ( currentBlockData ) {\n\t\tcandidateBlockParents.push( { ...currentBlockData } );\n\t\tcurrentBlockData = blocksData.find(\n\t\t\t( blockData ) =>\n\t\t\t\tblockData.clientId === currentBlockData.rootClientId\n\t\t);\n\t}\n\n\treturn candidateBlockParents;\n}\n\n/**\n * Given a list of blocks data and a block index, return the next non-dragged\n * block. This is used to determine the block that the user is dropping to,\n * while ignoring the dragged block.\n *\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @param {number} index The index to begin searching from.\n * @return {WPListViewDropZoneBlock | undefined} The next non-dragged block.\n */\nfunction getNextNonDraggedBlock( blocksData, index ) {\n\tconst nextBlockData = blocksData[ index + 1 ];\n\tif ( nextBlockData && nextBlockData.isDraggedBlock ) {\n\t\treturn getNextNonDraggedBlock( blocksData, index + 1 );\n\t}\n\n\treturn nextBlockData;\n}\n\n/**\n * Determines whether the user positioning the dragged block to nest as an\n * inner block.\n *\n * Determined based on nesting level indentation of the current block, plus\n * the indentation of the next level of nesting. The vertical position of the\n * cursor must also be within the block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n */\nfunction isNestingGesture( point, rect, nestingLevel = 1, rtl = false ) {\n\tconst blockIndentPosition = rtl\n\t\t? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION\n\t\t: rect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\n\tconst isNestingHorizontalGesture = rtl\n\t\t? point.x < blockIndentPosition - NESTING_LEVEL_INDENTATION\n\t\t: point.x > blockIndentPosition + NESTING_LEVEL_INDENTATION;\n\n\treturn isNestingHorizontalGesture && point.y < rect.bottom;\n}\n\n// Block navigation is always a vertical list, so only allow dropping\n// to the above or below a block.\nconst ALLOWED_DROP_EDGES = [ 'top', 'bottom' ];\n\n/**\n * Given blocks data and the cursor position, compute the drop target.\n *\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @param {WPPoint} position The point representing the cursor position when dragging.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n *\n * @return {WPListViewDropZoneTarget | undefined} An object containing data about the drop target.\n */\nexport function getListViewDropTarget( blocksData, position, rtl = false ) {\n\tlet candidateEdge;\n\tlet candidateBlockData;\n\tlet candidateDistance;\n\tlet candidateRect;\n\tlet candidateBlockIndex;\n\n\tfor ( let i = 0; i < blocksData.length; i++ ) {\n\t\tconst blockData = blocksData[ i ];\n\t\tif ( blockData.isDraggedBlock ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst rect = blockData.element.getBoundingClientRect();\n\t\tconst [ distance, edge ] = getDistanceToNearestEdge(\n\t\t\tposition,\n\t\t\trect,\n\t\t\tALLOWED_DROP_EDGES\n\t\t);\n\n\t\tconst isCursorWithinBlock = isPointContainedByRect( position, rect );\n\t\tif (\n\t\t\tcandidateDistance === undefined ||\n\t\t\tdistance < candidateDistance ||\n\t\t\tisCursorWithinBlock\n\t\t) {\n\t\t\tcandidateDistance = distance;\n\n\t\t\tconst index = blocksData.indexOf( blockData );\n\t\t\tconst previousBlockData = blocksData[ index - 1 ];\n\n\t\t\t// If dragging near the top of a block and the preceding block\n\t\t\t// is at the same level, use the preceding block as the candidate\n\t\t\t// instead, as later it makes determining a nesting drop easier.\n\t\t\tif (\n\t\t\t\tedge === 'top' &&\n\t\t\t\tpreviousBlockData &&\n\t\t\t\tpreviousBlockData.rootClientId === blockData.rootClientId &&\n\t\t\t\t! previousBlockData.isDraggedBlock\n\t\t\t) {\n\t\t\t\tcandidateBlockData = previousBlockData;\n\t\t\t\tcandidateEdge = 'bottom';\n\t\t\t\tcandidateRect =\n\t\t\t\t\tpreviousBlockData.element.getBoundingClientRect();\n\t\t\t\tcandidateBlockIndex = index - 1;\n\t\t\t} else {\n\t\t\t\tcandidateBlockData = blockData;\n\t\t\t\tcandidateEdge = edge;\n\t\t\t\tcandidateRect = rect;\n\t\t\t\tcandidateBlockIndex = index;\n\t\t\t}\n\n\t\t\t// If the mouse position is within the block, break early\n\t\t\t// as the user would intend to drop either before or after\n\t\t\t// this block.\n\t\t\t//\n\t\t\t// This solves an issue where some rows in the list view\n\t\t\t// tree overlap slightly due to sub-pixel rendering.\n\t\t\tif ( isCursorWithinBlock ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( ! candidateBlockData ) {\n\t\treturn;\n\t}\n\n\tconst candidateBlockParents = getCandidateBlockParents(\n\t\tcandidateBlockData,\n\t\tblocksData\n\t);\n\n\tconst isDraggingBelow = candidateEdge === 'bottom';\n\n\t// If the user is dragging towards the bottom of the block check whether\n\t// they might be trying to nest the block as a child.\n\t// If the block already has inner blocks, and is expanded, this should be treated\n\t// as nesting since the next block in the tree will be the first child.\n\t// However, if the block is collapsed, dragging beneath the block should\n\t// still be allowed, as the next visible block in the tree will be a sibling.\n\tif (\n\t\tisDraggingBelow &&\n\t\tcandidateBlockData.canInsertDraggedBlocksAsChild &&\n\t\t( ( candidateBlockData.innerBlockCount > 0 &&\n\t\t\tcandidateBlockData.isExpanded ) ||\n\t\t\tisNestingGesture(\n\t\t\t\tposition,\n\t\t\t\tcandidateRect,\n\t\t\t\tcandidateBlockParents.length,\n\t\t\t\trtl\n\t\t\t) )\n\t) {\n\t\t// If the block is expanded, insert the block as the first child.\n\t\t// Otherwise, for collapsed blocks, insert the block as the last child.\n\t\tconst newBlockIndex = candidateBlockData.isExpanded\n\t\t\t? 0\n\t\t\t: candidateBlockData.innerBlockCount || 0;\n\n\t\treturn {\n\t\t\trootClientId: candidateBlockData.clientId,\n\t\t\tclientId: candidateBlockData.clientId,\n\t\t\tblockIndex: newBlockIndex,\n\t\t\tdropPosition: 'inside',\n\t\t};\n\t}\n\n\t// If the user is dragging towards the bottom of the block check whether\n\t// they might be trying to move the block to be at a parent level.\n\tif (\n\t\tisDraggingBelow &&\n\t\tcandidateBlockData.rootClientId &&\n\t\tisUpGesture(\n\t\t\tposition,\n\t\t\tcandidateRect,\n\t\t\tcandidateBlockParents.length,\n\t\t\trtl\n\t\t)\n\t) {\n\t\tconst nextBlock = getNextNonDraggedBlock(\n\t\t\tblocksData,\n\t\t\tcandidateBlockIndex\n\t\t);\n\t\tconst currentLevel = candidateBlockData.nestingLevel;\n\t\tconst nextLevel = nextBlock ? nextBlock.nestingLevel : 1;\n\n\t\tif ( currentLevel && nextLevel ) {\n\t\t\t// Determine the desired relative level of the block to be dropped.\n\t\t\tconst desiredRelativeLevel = getDesiredRelativeParentLevel(\n\t\t\t\tposition,\n\t\t\t\tcandidateRect,\n\t\t\t\tcandidateBlockParents.length,\n\t\t\t\trtl\n\t\t\t);\n\n\t\t\tconst targetParentIndex = Math.max(\n\t\t\t\tMath.min( desiredRelativeLevel, currentLevel - nextLevel ),\n\t\t\t\t0\n\t\t\t);\n\n\t\t\tif ( candidateBlockParents[ targetParentIndex ] ) {\n\t\t\t\t// Default to the block index of the candidate block.\n\t\t\t\tlet newBlockIndex = candidateBlockData.blockIndex;\n\n\t\t\t\t// If the next block is at the same level, use that as the default\n\t\t\t\t// block index. This ensures that the block is dropped in the correct\n\t\t\t\t// position when dragging to the bottom of a block.\n\t\t\t\tif (\n\t\t\t\t\tcandidateBlockParents[ targetParentIndex ].nestingLevel ===\n\t\t\t\t\tnextBlock?.nestingLevel\n\t\t\t\t) {\n\t\t\t\t\tnewBlockIndex = nextBlock?.blockIndex;\n\t\t\t\t} else {\n\t\t\t\t\t// Otherwise, search from the current block index back\n\t\t\t\t\t// to find the last block index within the same target parent.\n\t\t\t\t\tfor ( let i = candidateBlockIndex; i >= 0; i-- ) {\n\t\t\t\t\t\tconst blockData = blocksData[ i ];\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tblockData.rootClientId ===\n\t\t\t\t\t\t\tcandidateBlockParents[ targetParentIndex ]\n\t\t\t\t\t\t\t\t.rootClientId\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tnewBlockIndex = blockData.blockIndex + 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\trootClientId:\n\t\t\t\t\t\tcandidateBlockParents[ targetParentIndex ].rootClientId,\n\t\t\t\t\tclientId: candidateBlockData.clientId,\n\t\t\t\t\tblockIndex: newBlockIndex,\n\t\t\t\t\tdropPosition: candidateEdge,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t// If dropping as a sibling, but block cannot be inserted in\n\t// this context, return early.\n\tif ( ! candidateBlockData.canInsertDraggedBlocksAsSibling ) {\n\t\treturn;\n\t}\n\n\tconst offset = isDraggingBelow ? 1 : 0;\n\treturn {\n\t\trootClientId: candidateBlockData.rootClientId,\n\t\tclientId: candidateBlockData.clientId,\n\t\tblockIndex: candidateBlockData.blockIndex + offset,\n\t\tdropPosition: candidateEdge,\n\t};\n}\n\n// Throttle options need to be defined outside of the hook to avoid\n// re-creating the object on every render. This is due to a limitation\n// of the `useThrottle` hook, where the options object is included\n// in the dependency array for memoization.\nconst EXPAND_THROTTLE_OPTIONS = {\n\tleading: false, // Don't call the function immediately on the first call.\n\ttrailing: true, // Do call the function on the last call.\n};\n\n/**\n * A react hook for implementing a drop zone in list view.\n *\n * @param {Object} props Named parameters.\n * @param {?HTMLElement} [props.dropZoneElement] Optional element to be used as the drop zone.\n * @param {Function} [props.updateExpansion] Dispatch to update the expansion state of a list of block clientIds.\n *\n * @return {WPListViewDropZoneTarget} The drop target.\n */\nexport default function useListViewDropZone( {\n\tdropZoneElement,\n\tupdateExpansion,\n} ) {\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t\tgetBlockCount,\n\t\tgetDraggedBlockClientIds,\n\t\tcanInsertBlocks,\n\t} = useSelect( blockEditorStore );\n\tconst [ target, setTarget ] = useState();\n\tconst { rootClientId: targetRootClientId, blockIndex: targetBlockIndex } =\n\t\ttarget || {};\n\n\tconst onBlockDrop = useOnBlockDrop( targetRootClientId, targetBlockIndex );\n\n\tconst rtl = isRTL();\n\n\tconst previousRootClientId = usePrevious( targetRootClientId );\n\n\tconst maybeExpandBlock = useCallback(\n\t\t( _target ) => {\n\t\t\t// If the user is attempting to drop a block inside a collapsed block,\n\t\t\t// that is, using a nesting gesture flagged by 'inside' dropPosition,\n\t\t\t// expand the block within the list view.\n\t\t\tconst { rootClientId } = _target || {};\n\t\t\tif ( ! rootClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( _target?.dropPosition === 'inside' ) {\n\t\t\t\tupdateExpansion( {\n\t\t\t\t\ttype: 'expand',\n\t\t\t\t\tclientIds: [ rootClientId ],\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ updateExpansion ]\n\t);\n\n\t// Throttle the maybeExpandBlock function to avoid expanding the block\n\t// too quickly when the user is dragging over the block. This is to\n\t// avoid expanding the block when the user is just passing over it.\n\tconst throttledMaybeExpandBlock = useThrottle(\n\t\tmaybeExpandBlock,\n\t\t500,\n\t\tEXPAND_THROTTLE_OPTIONS\n\t);\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\ttarget?.dropPosition !== 'inside' ||\n\t\t\tpreviousRootClientId !== target?.rootClientId\n\t\t) {\n\t\t\tthrottledMaybeExpandBlock.cancel();\n\t\t\treturn;\n\t\t}\n\t\tthrottledMaybeExpandBlock( target );\n\t}, [ previousRootClientId, target, throttledMaybeExpandBlock ] );\n\n\tconst draggedBlockClientIds = getDraggedBlockClientIds();\n\tconst throttled = useThrottle(\n\t\tuseCallback(\n\t\t\t( event, currentTarget ) => {\n\t\t\t\tconst position = { x: event.clientX, y: event.clientY };\n\t\t\t\tconst isBlockDrag = !! draggedBlockClientIds?.length;\n\n\t\t\t\tconst blockElements = Array.from(\n\t\t\t\t\tcurrentTarget.querySelectorAll( '[data-block]' )\n\t\t\t\t);\n\n\t\t\t\tconst blocksData = blockElements.map( ( blockElement ) => {\n\t\t\t\t\tconst clientId = blockElement.dataset.block;\n\t\t\t\t\tconst isExpanded = blockElement.dataset.expanded === 'true';\n\t\t\t\t\tconst isDraggedBlock =\n\t\t\t\t\t\tblockElement.classList.contains( 'is-dragging' );\n\n\t\t\t\t\t// Get nesting level from `aria-level` attribute because Firefox does not support `element.ariaLevel`.\n\t\t\t\t\tconst nestingLevel = parseInt(\n\t\t\t\t\t\tblockElement.getAttribute( 'aria-level' ),\n\t\t\t\t\t\t10\n\t\t\t\t\t);\n\t\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\tisExpanded,\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tblockIndex: getBlockIndex( clientId ),\n\t\t\t\t\t\telement: blockElement,\n\t\t\t\t\t\tnestingLevel: nestingLevel || undefined,\n\t\t\t\t\t\tisDraggedBlock: isBlockDrag ? isDraggedBlock : false,\n\t\t\t\t\t\tinnerBlockCount: getBlockCount( clientId ),\n\t\t\t\t\t\tcanInsertDraggedBlocksAsSibling: isBlockDrag\n\t\t\t\t\t\t\t? canInsertBlocks(\n\t\t\t\t\t\t\t\t\tdraggedBlockClientIds,\n\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: true,\n\t\t\t\t\t\tcanInsertDraggedBlocksAsChild: isBlockDrag\n\t\t\t\t\t\t\t? canInsertBlocks( draggedBlockClientIds, clientId )\n\t\t\t\t\t\t\t: true,\n\t\t\t\t\t};\n\t\t\t\t} );\n\n\t\t\t\tconst newTarget = getListViewDropTarget(\n\t\t\t\t\tblocksData,\n\t\t\t\t\tposition,\n\t\t\t\t\trtl\n\t\t\t\t);\n\n\t\t\t\tif ( newTarget ) {\n\t\t\t\t\tsetTarget( newTarget );\n\t\t\t\t}\n\t\t\t},\n\t\t\t[\n\t\t\t\tcanInsertBlocks,\n\t\t\t\tdraggedBlockClientIds,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\trtl,\n\t\t\t]\n\t\t),\n\t\t50\n\t);\n\n\tconst ref = useDropZone( {\n\t\tdropZoneElement,\n\t\tonDrop( event ) {\n\t\t\tthrottled.cancel();\n\t\t\tif ( target ) {\n\t\t\t\tonBlockDrop( event );\n\t\t\t}\n\t\t\t// Use `undefined` value to indicate that the drag has concluded.\n\t\t\t// This allows styling rules that are active only when a user is\n\t\t\t// dragging to be removed.\n\t\t\tsetTarget( undefined );\n\t\t},\n\t\tonDragLeave() {\n\t\t\tthrottled.cancel();\n\t\t\t// Use `null` value to indicate that the drop target is not valid,\n\t\t\t// but that the drag is still active. This allows for styling rules\n\t\t\t// that are active only when a user drags outside of the list view.\n\t\t\tsetTarget( null );\n\t\t},\n\t\tonDragOver( event ) {\n\t\t\t// `currentTarget` is only available while the event is being\n\t\t\t// handled, so get it now and pass it to the thottled function.\n\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget\n\t\t\tthrottled( event, event.currentTarget );\n\t\t},\n\t\tonDragEnd() {\n\t\t\tthrottled.cancel();\n\t\t\t// Use `undefined` value to indicate that the drag has concluded.\n\t\t\t// This allows styling rules that are active only when a user is\n\t\t\t// dragging to be removed.\n\t\t\tsetTarget( undefined );\n\t\t},\n\t} );\n\n\treturn { ref, target };\n}\n"],
4
+ "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { useState, useCallback, useEffect } from '@wordpress/element';\nimport {\n\tuseThrottle,\n\t__experimentalUseDropZone as useDropZone,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { isRTL } from '@wordpress/i18n';\nimport {\n\tgetDistanceToNearestEdge,\n\tisPointContainedByRect,\n} from '../../utils/math';\nimport useOnBlockDrop from '../use-on-block-drop';\nimport { store as blockEditorStore } from '../../store';\n\n/** @typedef {import('../../utils/math').WPPoint} WPPoint */\n\n/**\n * The type of a drag event.\n *\n * @typedef {'default'|'file'|'html'} WPDragEventType\n */\n\n/**\n * An object representing data for blocks in the DOM used by drag and drop.\n *\n * @typedef {Object} WPListViewDropZoneBlock\n * @property {string} clientId The client id for the block.\n * @property {string} rootClientId The root client id for the block.\n * @property {number} blockIndex The block's index.\n * @property {Element} element The DOM element representing the block.\n * @property {number} innerBlockCount The number of inner blocks the block has.\n * @property {boolean} isDraggedBlock Whether the block is currently being dragged.\n * @property {boolean} isExpanded Whether the block is expanded in the UI.\n * @property {boolean} canInsertDraggedBlocksAsSibling Whether the dragged block can be a sibling of this block.\n * @property {boolean} canInsertDraggedBlocksAsChild Whether the dragged block can be a child of this block.\n */\n\n/**\n * An array representing data for blocks in the DOM used by drag and drop.\n *\n * @typedef {WPListViewDropZoneBlock[]} WPListViewDropZoneBlocks\n */\n\n/**\n * An object containing details of a drop target.\n *\n * @typedef {Object} WPListViewDropZoneTarget\n * @property {string} blockIndex The insertion index.\n * @property {string} rootClientId The root client id for the block.\n * @property {string|undefined} clientId The client id for the block.\n * @property {'top'|'bottom'|'inside'} dropPosition The position relative to the block that the user is dropping to.\n * 'inside' refers to nesting as an inner block.\n */\n\n// When the indentation level, the corresponding left margin in `style.scss`\n// must be updated as well to ensure the drop zone is aligned with the indentation.\nexport const NESTING_LEVEL_INDENTATION = 24;\n\n/**\n * Determines whether the user is positioning the dragged block to be\n * moved up to a parent level.\n *\n * Determined based on nesting level indentation of the current block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n * @return {boolean} Whether the gesture is an upward gesture.\n */\nfunction isUpGesture( point, rect, nestingLevel = 1, rtl = false ) {\n\t// If the block is nested, and the user is dragging to the bottom\n\t// left of the block (or bottom right in RTL languages), then it is an upward gesture.\n\tconst blockIndentPosition = rtl\n\t\t? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION\n\t\t: rect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\treturn rtl ? point.x > blockIndentPosition : point.x < blockIndentPosition;\n}\n\n/**\n * Returns how many nesting levels up the user is attempting to drag to.\n *\n * The relative parent level is calculated based on how far\n * the cursor is from the provided nesting level (e.g. of a candidate block\n * that the user is hovering over). The nesting level is considered \"desired\"\n * because it is not guaranteed that the user will be able to drag to the desired level.\n *\n * The returned integer can be used to access an ascending array\n * of parent blocks, where the first item is the block the user\n * is hovering over, and the last item is the root block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n * @return {number} The desired relative parent level.\n */\nfunction getDesiredRelativeParentLevel(\n\tpoint,\n\trect,\n\tnestingLevel = 1,\n\trtl = false\n) {\n\t// In RTL languages, the block indent position is from the right edge of the block.\n\t// In LTR languages, the block indent position is from the left edge of the block.\n\tconst blockIndentPosition = rtl\n\t\t? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION\n\t\t: rect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\n\tconst distanceBetweenPointAndBlockIndentPosition = rtl\n\t\t? blockIndentPosition - point.x\n\t\t: point.x - blockIndentPosition;\n\n\tconst desiredParentLevel = Math.round(\n\t\tdistanceBetweenPointAndBlockIndentPosition / NESTING_LEVEL_INDENTATION\n\t);\n\n\treturn Math.abs( desiredParentLevel );\n}\n\n/**\n * Returns an array of the parent blocks of the block the user is dropping to.\n *\n * @param {WPListViewDropZoneBlock} candidateBlockData The block the user is dropping to.\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @return {WPListViewDropZoneBlocks} An array of block parents, including the block the user is dropping to.\n */\nfunction getCandidateBlockParents( candidateBlockData, blocksData ) {\n\tconst candidateBlockParents = [];\n\tlet currentBlockData = candidateBlockData;\n\n\twhile ( currentBlockData ) {\n\t\tcandidateBlockParents.push( { ...currentBlockData } );\n\t\tcurrentBlockData = blocksData.find(\n\t\t\t( blockData ) =>\n\t\t\t\tblockData.clientId === currentBlockData.rootClientId\n\t\t);\n\t}\n\n\treturn candidateBlockParents;\n}\n\n/**\n * Given a list of blocks data and a block index, return the next non-dragged\n * block. This is used to determine the block that the user is dropping to,\n * while ignoring the dragged block.\n *\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @param {number} index The index to begin searching from.\n * @return {WPListViewDropZoneBlock | undefined} The next non-dragged block.\n */\nfunction getNextNonDraggedBlock( blocksData, index ) {\n\tconst nextBlockData = blocksData[ index + 1 ];\n\tif ( nextBlockData && nextBlockData.isDraggedBlock ) {\n\t\treturn getNextNonDraggedBlock( blocksData, index + 1 );\n\t}\n\n\treturn nextBlockData;\n}\n\n/**\n * Determines whether the user positioning the dragged block to nest as an\n * inner block.\n *\n * Determined based on nesting level indentation of the current block, plus\n * the indentation of the next level of nesting. The vertical position of the\n * cursor must also be within the block.\n *\n * @param {WPPoint} point The point representing the cursor position when dragging.\n * @param {DOMRect} rect The rectangle.\n * @param {number} nestingLevel The nesting level of the block.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n */\nfunction isNestingGesture( point, rect, nestingLevel = 1, rtl = false ) {\n\tconst blockIndentPosition = rtl\n\t\t? rect.right - nestingLevel * NESTING_LEVEL_INDENTATION\n\t\t: rect.left + nestingLevel * NESTING_LEVEL_INDENTATION;\n\n\tconst isNestingHorizontalGesture = rtl\n\t\t? point.x < blockIndentPosition - NESTING_LEVEL_INDENTATION\n\t\t: point.x > blockIndentPosition + NESTING_LEVEL_INDENTATION;\n\n\treturn isNestingHorizontalGesture && point.y < rect.bottom;\n}\n\n// Block navigation is always a vertical list, so only allow dropping\n// to the above or below a block.\nconst ALLOWED_DROP_EDGES = [ 'top', 'bottom' ];\n\n/**\n * Given blocks data and the cursor position, compute the drop target.\n *\n * @param {WPListViewDropZoneBlocks} blocksData Data about the blocks in list view.\n * @param {WPPoint} position The point representing the cursor position when dragging.\n * @param {boolean} rtl Whether the editor is in RTL mode.\n *\n * @return {WPListViewDropZoneTarget | undefined} An object containing data about the drop target.\n */\nexport function getListViewDropTarget( blocksData, position, rtl = false ) {\n\tlet candidateEdge;\n\tlet candidateBlockData;\n\tlet candidateDistance;\n\tlet candidateRect;\n\tlet candidateBlockIndex;\n\n\tfor ( let i = 0; i < blocksData.length; i++ ) {\n\t\tconst blockData = blocksData[ i ];\n\t\tif ( blockData.isDraggedBlock ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst rect = blockData.element.getBoundingClientRect();\n\t\tconst [ distance, edge ] = getDistanceToNearestEdge(\n\t\t\tposition,\n\t\t\trect,\n\t\t\tALLOWED_DROP_EDGES\n\t\t);\n\n\t\tconst isCursorWithinBlock = isPointContainedByRect( position, rect );\n\t\tif (\n\t\t\tcandidateDistance === undefined ||\n\t\t\tdistance < candidateDistance ||\n\t\t\tisCursorWithinBlock\n\t\t) {\n\t\t\tcandidateDistance = distance;\n\n\t\t\tconst index = blocksData.indexOf( blockData );\n\t\t\tconst previousBlockData = blocksData[ index - 1 ];\n\n\t\t\t// If dragging near the top of a block and the preceding block\n\t\t\t// is at the same level, use the preceding block as the candidate\n\t\t\t// instead, as later it makes determining a nesting drop easier.\n\t\t\tif (\n\t\t\t\tedge === 'top' &&\n\t\t\t\tpreviousBlockData &&\n\t\t\t\tpreviousBlockData.rootClientId === blockData.rootClientId &&\n\t\t\t\t! previousBlockData.isDraggedBlock\n\t\t\t) {\n\t\t\t\tcandidateBlockData = previousBlockData;\n\t\t\t\tcandidateEdge = 'bottom';\n\t\t\t\tcandidateRect =\n\t\t\t\t\tpreviousBlockData.element.getBoundingClientRect();\n\t\t\t\tcandidateBlockIndex = index - 1;\n\t\t\t} else {\n\t\t\t\tcandidateBlockData = blockData;\n\t\t\t\tcandidateEdge = edge;\n\t\t\t\tcandidateRect = rect;\n\t\t\t\tcandidateBlockIndex = index;\n\t\t\t}\n\n\t\t\t// If the mouse position is within the block, break early\n\t\t\t// as the user would intend to drop either before or after\n\t\t\t// this block.\n\t\t\t//\n\t\t\t// This solves an issue where some rows in the list view\n\t\t\t// tree overlap slightly due to sub-pixel rendering.\n\t\t\tif ( isCursorWithinBlock ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( ! candidateBlockData ) {\n\t\treturn;\n\t}\n\n\tconst candidateBlockParents = getCandidateBlockParents(\n\t\tcandidateBlockData,\n\t\tblocksData\n\t);\n\n\tconst isDraggingBelow = candidateEdge === 'bottom';\n\n\t// If the user is dragging towards the bottom of the block check whether\n\t// they might be trying to nest the block as a child.\n\t// If the block already has inner blocks, and is expanded, this should be treated\n\t// as nesting since the next block in the tree will be the first child.\n\t// However, if the block is collapsed, dragging beneath the block should\n\t// still be allowed, as the next visible block in the tree will be a sibling.\n\tif (\n\t\tisDraggingBelow &&\n\t\tcandidateBlockData.canInsertDraggedBlocksAsChild &&\n\t\t( ( candidateBlockData.innerBlockCount > 0 &&\n\t\t\tcandidateBlockData.isExpanded ) ||\n\t\t\tisNestingGesture(\n\t\t\t\tposition,\n\t\t\t\tcandidateRect,\n\t\t\t\tcandidateBlockParents.length,\n\t\t\t\trtl\n\t\t\t) )\n\t) {\n\t\t// If the block is expanded, insert the block as the first child.\n\t\t// Otherwise, for collapsed blocks, insert the block as the last child.\n\t\tconst newBlockIndex = candidateBlockData.isExpanded\n\t\t\t? 0\n\t\t\t: candidateBlockData.innerBlockCount || 0;\n\n\t\treturn {\n\t\t\trootClientId: candidateBlockData.clientId,\n\t\t\tclientId: candidateBlockData.clientId,\n\t\t\tblockIndex: newBlockIndex,\n\t\t\tdropPosition: 'inside',\n\t\t};\n\t}\n\n\t// If the user is dragging towards the bottom of the block check whether\n\t// they might be trying to move the block to be at a parent level.\n\tif (\n\t\tisDraggingBelow &&\n\t\tcandidateBlockData.rootClientId &&\n\t\tisUpGesture(\n\t\t\tposition,\n\t\t\tcandidateRect,\n\t\t\tcandidateBlockParents.length,\n\t\t\trtl\n\t\t)\n\t) {\n\t\tconst nextBlock = getNextNonDraggedBlock(\n\t\t\tblocksData,\n\t\t\tcandidateBlockIndex\n\t\t);\n\t\tconst currentLevel = candidateBlockData.nestingLevel;\n\t\tconst nextLevel = nextBlock ? nextBlock.nestingLevel : 1;\n\n\t\tif ( currentLevel && nextLevel ) {\n\t\t\t// Determine the desired relative level of the block to be dropped.\n\t\t\tconst desiredRelativeLevel = getDesiredRelativeParentLevel(\n\t\t\t\tposition,\n\t\t\t\tcandidateRect,\n\t\t\t\tcandidateBlockParents.length,\n\t\t\t\trtl\n\t\t\t);\n\n\t\t\tconst targetParentIndex = Math.max(\n\t\t\t\tMath.min( desiredRelativeLevel, currentLevel - nextLevel ),\n\t\t\t\t0\n\t\t\t);\n\n\t\t\tif ( candidateBlockParents[ targetParentIndex ] ) {\n\t\t\t\t// Default to the block index of the candidate block.\n\t\t\t\tlet newBlockIndex = candidateBlockData.blockIndex;\n\n\t\t\t\t// If the next block is at the same level, use that as the default\n\t\t\t\t// block index. This ensures that the block is dropped in the correct\n\t\t\t\t// position when dragging to the bottom of a block.\n\t\t\t\tif (\n\t\t\t\t\tcandidateBlockParents[ targetParentIndex ].nestingLevel ===\n\t\t\t\t\tnextBlock?.nestingLevel\n\t\t\t\t) {\n\t\t\t\t\tnewBlockIndex = nextBlock?.blockIndex;\n\t\t\t\t} else {\n\t\t\t\t\t// Otherwise, search from the current block index back\n\t\t\t\t\t// to find the last block index within the same target parent.\n\t\t\t\t\tfor ( let i = candidateBlockIndex; i >= 0; i-- ) {\n\t\t\t\t\t\tconst blockData = blocksData[ i ];\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tblockData.rootClientId ===\n\t\t\t\t\t\t\tcandidateBlockParents[ targetParentIndex ]\n\t\t\t\t\t\t\t\t.rootClientId\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tnewBlockIndex = blockData.blockIndex + 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\trootClientId:\n\t\t\t\t\t\tcandidateBlockParents[ targetParentIndex ].rootClientId,\n\t\t\t\t\tclientId: candidateBlockData.clientId,\n\t\t\t\t\tblockIndex: newBlockIndex,\n\t\t\t\t\tdropPosition: candidateEdge,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\t// If dropping as a sibling, but block cannot be inserted in\n\t// this context, return early.\n\tif ( ! candidateBlockData.canInsertDraggedBlocksAsSibling ) {\n\t\treturn;\n\t}\n\n\tconst offset = isDraggingBelow ? 1 : 0;\n\treturn {\n\t\trootClientId: candidateBlockData.rootClientId,\n\t\tclientId: candidateBlockData.clientId,\n\t\tblockIndex: candidateBlockData.blockIndex + offset,\n\t\tdropPosition: candidateEdge,\n\t};\n}\n\n// Throttle options need to be defined outside of the hook to avoid\n// re-creating the object on every render. This is due to a limitation\n// of the `useThrottle` hook, where the options object is included\n// in the dependency array for memoization.\nconst EXPAND_THROTTLE_OPTIONS = {\n\tleading: false, // Don't call the function immediately on the first call.\n\ttrailing: true, // Do call the function on the last call.\n};\n\n/**\n * A react hook for implementing a drop zone in list view.\n *\n * @param {Object} props Named parameters.\n * @param {?HTMLElement} [props.dropZoneElement] Optional element to be used as the drop zone.\n * @param {Function} [props.updateExpansion] Dispatch to update the expansion state of a list of block clientIds.\n *\n * @return {WPListViewDropZoneTarget} The drop target.\n */\nexport default function useListViewDropZone( {\n\tdropZoneElement,\n\tupdateExpansion,\n} ) {\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockIndex,\n\t\tgetBlockCount,\n\t\tgetDraggedBlockClientIds,\n\t\tcanInsertBlocks,\n\t} = useSelect( blockEditorStore );\n\tconst [ target, setTarget ] = useState();\n\tconst { rootClientId: targetRootClientId, blockIndex: targetBlockIndex } =\n\t\ttarget || {};\n\n\tconst onBlockDrop = useOnBlockDrop( targetRootClientId, targetBlockIndex );\n\n\tconst rtl = isRTL();\n\n\tconst previousRootClientId = usePrevious( targetRootClientId );\n\n\tconst maybeExpandBlock = useCallback(\n\t\t( _target ) => {\n\t\t\t// If the user is attempting to drop a block inside a collapsed block,\n\t\t\t// that is, using a nesting gesture flagged by 'inside' dropPosition,\n\t\t\t// expand the block within the list view.\n\t\t\tconst { rootClientId } = _target || {};\n\t\t\tif ( ! rootClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( _target?.dropPosition === 'inside' ) {\n\t\t\t\tupdateExpansion( {\n\t\t\t\t\ttype: 'expand',\n\t\t\t\t\tclientIds: [ rootClientId ],\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ updateExpansion ]\n\t);\n\n\t// Throttle the maybeExpandBlock function to avoid expanding the block\n\t// too quickly when the user is dragging over the block. This is to\n\t// avoid expanding the block when the user is just passing over it.\n\tconst throttledMaybeExpandBlock = useThrottle(\n\t\tmaybeExpandBlock,\n\t\t500,\n\t\tEXPAND_THROTTLE_OPTIONS\n\t);\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\ttarget?.dropPosition !== 'inside' ||\n\t\t\tpreviousRootClientId !== target?.rootClientId\n\t\t) {\n\t\t\tthrottledMaybeExpandBlock.cancel();\n\t\t\treturn;\n\t\t}\n\t\tthrottledMaybeExpandBlock( target );\n\t}, [ previousRootClientId, target, throttledMaybeExpandBlock ] );\n\n\tconst draggedBlockClientIds = getDraggedBlockClientIds();\n\tconst throttled = useThrottle(\n\t\tuseCallback(\n\t\t\t( event, currentTarget ) => {\n\t\t\t\tconst position = { x: event.clientX, y: event.clientY };\n\t\t\t\tconst isBlockDrag = !! draggedBlockClientIds?.length;\n\n\t\t\t\tconst blockElements = Array.from(\n\t\t\t\t\tcurrentTarget.querySelectorAll( '[data-block]' )\n\t\t\t\t);\n\n\t\t\t\tconst blocksData = blockElements.map( ( blockElement ) => {\n\t\t\t\t\tconst clientId = blockElement.dataset.block;\n\t\t\t\t\tconst isExpanded = blockElement.dataset.expanded === 'true';\n\t\t\t\t\tconst isDraggedBlock =\n\t\t\t\t\t\tblockElement.classList.contains( 'is-dragging' );\n\n\t\t\t\t\t// Get nesting level from `aria-level` attribute because Firefox does not support `element.ariaLevel`.\n\t\t\t\t\tconst nestingLevel = parseInt(\n\t\t\t\t\t\tblockElement.getAttribute( 'aria-level' ),\n\t\t\t\t\t\t10\n\t\t\t\t\t);\n\t\t\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\tisExpanded,\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tblockIndex: getBlockIndex( clientId ),\n\t\t\t\t\t\telement: blockElement,\n\t\t\t\t\t\tnestingLevel: nestingLevel || undefined,\n\t\t\t\t\t\tisDraggedBlock: isBlockDrag ? isDraggedBlock : false,\n\t\t\t\t\t\tinnerBlockCount: getBlockCount( clientId ),\n\t\t\t\t\t\tcanInsertDraggedBlocksAsSibling: isBlockDrag\n\t\t\t\t\t\t\t? canInsertBlocks(\n\t\t\t\t\t\t\t\t\tdraggedBlockClientIds,\n\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: true,\n\t\t\t\t\t\tcanInsertDraggedBlocksAsChild: isBlockDrag\n\t\t\t\t\t\t\t? canInsertBlocks( draggedBlockClientIds, clientId )\n\t\t\t\t\t\t\t: true,\n\t\t\t\t\t};\n\t\t\t\t} );\n\n\t\t\t\tconst newTarget = getListViewDropTarget(\n\t\t\t\t\tblocksData,\n\t\t\t\t\tposition,\n\t\t\t\t\trtl\n\t\t\t\t);\n\n\t\t\t\tif ( newTarget ) {\n\t\t\t\t\tsetTarget( newTarget );\n\t\t\t\t}\n\t\t\t},\n\t\t\t[\n\t\t\t\tcanInsertBlocks,\n\t\t\t\tdraggedBlockClientIds,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\trtl,\n\t\t\t]\n\t\t),\n\t\t50\n\t);\n\n\tconst ref = useDropZone( {\n\t\tdropZoneElement,\n\t\tonDrop( event ) {\n\t\t\tthrottled.cancel();\n\t\t\tif ( target ) {\n\t\t\t\tonBlockDrop( event );\n\t\t\t}\n\t\t\t// Use `undefined` value to indicate that the drag has concluded.\n\t\t\t// This allows styling rules that are active only when a user is\n\t\t\t// dragging to be removed.\n\t\t\tsetTarget( undefined );\n\t\t},\n\t\tonDragLeave() {\n\t\t\tthrottled.cancel();\n\t\t\t// Use `null` value to indicate that the drop target is not valid,\n\t\t\t// but that the drag is still active. This allows for styling rules\n\t\t\t// that are active only when a user drags outside of the list view.\n\t\t\tsetTarget( null );\n\t\t},\n\t\tonDragOver( event ) {\n\t\t\t// `currentTarget` is only available while the event is being\n\t\t\t// handled, so get it now and pass it to the throttled function.\n\t\t\t// https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget\n\t\t\tthrottled( event, event.currentTarget );\n\t\t},\n\t\tonDragEnd() {\n\t\t\tthrottled.cancel();\n\t\t\t// Use `undefined` value to indicate that the drag has concluded.\n\t\t\t// This allows styling rules that are active only when a user is\n\t\t\t// dragging to be removed.\n\t\t\tsetTarget( undefined );\n\t\t},\n\t} );\n\n\treturn { ref, target };\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/media-placeholder/index.js
1
+ // packages/block-editor/src/components/media-placeholder/index.jsx
2
2
  import clsx from "clsx";
3
3
  import {
4
4
  Button,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/media-placeholder/index.js"],
3
+ "sources": ["../../../src/components/media-placeholder/index.jsx"],
4
4
  "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\t__experimentalInputControl as WCInputControl,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\twithFilters,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\nimport { parseDropEvent } from '../use-on-block-drop';\nimport { getComputedAcceptAttribute } from './utils';\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<WCInputControl\n\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\ttype=\"text\" // Use text instead of URL to allow relative paths (e.g., /image/image.jpg)\n\t\t\t\thideLabelFromVision\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t\tsuffix={\n\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t}\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst { mediaUpload, allowedMimeTypes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\t\treturn {\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\tallowedMimeTypes: settings.allowedMimeTypes,\n\t\t};\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst computedAccept = useMemo(\n\t\t() =>\n\t\t\tgetComputedAcceptAttribute(\n\t\t\t\tallowedTypes,\n\t\t\t\tallowedMimeTypes,\n\t\t\t\taccept\n\t\t\t),\n\t\t[ allowedTypes, allowedMimeTypes, accept ]\n\t);\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif (\n\t\t\t! handleUpload ||\n\t\t\t( typeof handleUpload === 'function' && ! handleUpload( files ) )\n\t\t) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t\tmultiple,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( event ) {\n\t\tconst { blocks } = parseDropEvent( event );\n\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tblocks.map( ( block ) => {\n\t\t\t\tconst blockType = block.name.split( '/' )[ 1 ];\n\t\t\t\tif ( block.attributes.id ) {\n\t\t\t\t\tblock.attributes.type = blockType;\n\t\t\t\t\treturn block.attributes;\n\t\t\t\t}\n\t\t\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\t\t\twindow\n\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\ttype: blockType,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tallowedTypes,\n\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t} );\n\t\t\t} )\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( ! uploadedMediaList?.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonSelect( multiple ? uploadedMediaList : uploadedMediaList[ 0 ] );\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Drag and drop an image or video, upload, or choose from your library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an audio file, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Drag and drop a video, upload, or choose from your library.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone\n\t\t\t\tonFilesDrop={ onFilesUpload }\n\t\t\t\tonDrop={ handleBlocksDrop }\n\t\t\t\tisEligible={ ( dataTransfer ) => {\n\t\t\t\t\t// This dropzone only accepts block drags from the inserter, not\n\t\t\t\t\t// canvas block drags. Only the inserter publishes the dragged\n\t\t\t\t\t// blocks' names, as wp-block:core/{name}, so no matches means it\n\t\t\t\t\t// isn't an inserter drag.\n\t\t\t\t\tconst prefix = 'wp-block:core/';\n\t\t\t\t\tconst types = [];\n\t\t\t\t\tfor ( const type of dataTransfer.types ) {\n\t\t\t\t\t\tif ( type.startsWith( prefix ) ) {\n\t\t\t\t\t\t\ttypes.push( type.slice( prefix.length ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypes.length > 0 &&\n\t\t\t\t\t\ttypes.every( ( type ) =>\n\t\t\t\t\t\t\tallowedTypes.includes( type )\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\t( multiple ? true : types.length === 1 )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ setSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode=\"browse\"\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ computedAccept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ computedAccept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t/>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/media-replace-flow/index.js
1
+ // packages/block-editor/src/components/media-replace-flow/index.jsx
2
2
  import clsx from "clsx";
3
3
  import { __, _x } from "@wordpress/i18n";
4
4
  import { speak } from "@wordpress/a11y";
@@ -87,12 +87,15 @@ var MediaReplaceFlow = ({
87
87
  }, 1e3);
88
88
  };
89
89
  const selectMedia = (media, closeMenu) => {
90
+ const hasMedia = !!(mediaURL || mediaId || mediaIds?.length);
90
91
  if (useFeaturedImage && onToggleFeaturedImage) {
91
92
  onToggleFeaturedImage();
92
93
  }
93
94
  closeMenu();
94
95
  onSelect(media);
95
- speak(__("The media file has been replaced"));
96
+ speak(
97
+ hasMedia ? __("The media file has been replaced") : __("The media file has been added")
98
+ );
96
99
  removeNotice(errorNoticeID);
97
100
  };
98
101
  const uploadFiles = (event, closeMenu) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/media-replace-flow/index.js"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport { __, _x } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tDropdown,\n\twithFilters,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\nimport { getComputedAcceptAttribute } from '../media-placeholder/utils';\n\nconst noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tvariant,\n\tpopoverProps,\n\trenderToggle,\n\tclassName,\n} ) => {\n\tconst { mediaUpload, allowedMimeTypes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\t\treturn {\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\tallowedMimeTypes: settings.allowedMimeTypes,\n\t\t};\n\t}, [] );\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst computedAccept = useMemo(\n\t\t() =>\n\t\t\tgetComputedAcceptAttribute(\n\t\t\t\tallowedTypes,\n\t\t\t\tallowedMimeTypes,\n\t\t\t\taccept\n\t\t\t),\n\t\t[ allowedTypes, allowedMimeTypes, accept ]\n\t);\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error after the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', safeMessage, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak( __( 'The media file has been replaced' ) );\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\tconst mergedPopoverProps = {\n\t\t...popoverProps,\n\t\tvariant,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ mergedPopoverProps }\n\t\t\tclassName={ className }\n\t\t\tcontentClassName={ clsx(\n\t\t\t\t'block-editor-media-replace-flow__options',\n\t\t\t\tvariant && `is-variant-${ variant }`\n\t\t\t) }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tif ( renderToggle ) {\n\t\t\t\t\treturn renderToggle( {\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tonKeyDown: openOnArrowDown,\n\t\t\t\t\t\tchildren: name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ name }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\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<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ computedAccept }\n\t\t\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t: children }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t<form className=\"block-editor-media-flow__url-input\">\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tsearchInputPlaceholder={ __(\n\t\t\t\t\t\t\t\t\t'Paste or type URL'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\n */\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"],
5
- "mappings": "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",
3
+ "sources": ["../../../src/components/media-replace-flow/index.jsx"],
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { __, _x } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tFormFileUpload,\n\tNavigableMenu,\n\tMenuItem,\n\tDropdown,\n\twithFilters,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useSelect, withDispatch } from '@wordpress/data';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tpostFeaturedImage,\n\tupload,\n\tmedia as mediaIcon,\n} from '@wordpress/icons';\nimport { compose } from '@wordpress/compose';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport LinkControl from '../link-control';\nimport { store as blockEditorStore } from '../../store';\nimport { getComputedAcceptAttribute } from '../media-placeholder/utils';\n\nconst noop = () => {};\nlet uniqueId = 0;\n\nconst MediaReplaceFlow = ( {\n\tmediaURL,\n\tmediaId,\n\tmediaIds,\n\tallowedTypes,\n\taccept,\n\tonError,\n\tonSelect,\n\tonSelectURL,\n\tonReset,\n\tonToggleFeaturedImage,\n\tuseFeaturedImage,\n\tonFilesUpload = noop,\n\tname = __( 'Replace' ),\n\tcreateNotice,\n\tremoveNotice,\n\tchildren,\n\tmultiple = false,\n\taddToGallery,\n\thandleUpload = true,\n\tvariant,\n\tpopoverProps,\n\trenderToggle,\n\tclassName,\n} ) => {\n\tconst { mediaUpload, allowedMimeTypes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\t\treturn {\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\tallowedMimeTypes: settings.allowedMimeTypes,\n\t\t};\n\t}, [] );\n\tconst errorNoticeID = `block-editor/media-replace-flow/error-notice/${ ++uniqueId }`;\n\n\tconst computedAccept = useMemo(\n\t\t() =>\n\t\t\tgetComputedAcceptAttribute(\n\t\t\t\tallowedTypes,\n\t\t\t\tallowedMimeTypes,\n\t\t\t\taccept\n\t\t\t),\n\t\t[ allowedTypes, allowedMimeTypes, accept ]\n\t);\n\n\tconst onUploadError = ( message ) => {\n\t\tconst safeMessage = stripHTML( message );\n\t\tif ( onError ) {\n\t\t\tonError( safeMessage );\n\t\t\treturn;\n\t\t}\n\t\t// We need to set a timeout for showing the notice\n\t\t// so that VoiceOver and possibly other screen readers\n\t\t// can announce the error after the toolbar button\n\t\t// regains focus once the upload dialog closes.\n\t\t// Otherwise VO simply skips over the notice and announces\n\t\t// the focused element and the open menu.\n\t\tsetTimeout( () => {\n\t\t\tcreateNotice( 'error', safeMessage, {\n\t\t\t\tspeak: true,\n\t\t\t\tid: errorNoticeID,\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t}, 1000 );\n\t};\n\n\tconst selectMedia = ( media, closeMenu ) => {\n\t\tconst hasMedia = !! ( mediaURL || mediaId || mediaIds?.length );\n\t\tif ( useFeaturedImage && onToggleFeaturedImage ) {\n\t\t\tonToggleFeaturedImage();\n\t\t}\n\t\tcloseMenu();\n\t\t// Calling `onSelect` after the state update since it might unmount the component.\n\t\tonSelect( media );\n\t\tspeak(\n\t\t\thasMedia\n\t\t\t\t? __( 'The media file has been replaced' )\n\t\t\t\t: __( 'The media file has been added' )\n\t\t);\n\t\tremoveNotice( errorNoticeID );\n\t};\n\n\tconst uploadFiles = ( event, closeMenu ) => {\n\t\tconst files = event.target.files;\n\t\tif ( ! handleUpload ) {\n\t\t\tcloseMenu();\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesUpload( files );\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tselectMedia( media, closeMenu );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst openOnArrowDown = ( event ) => {\n\t\tif ( event.keyCode === DOWN ) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.target.click();\n\t\t}\n\t};\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst gallery = multiple && onlyAllowsImages();\n\n\tconst mergedPopoverProps = {\n\t\t...popoverProps,\n\t\tvariant,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ mergedPopoverProps }\n\t\t\tclassName={ className }\n\t\t\tcontentClassName={ clsx(\n\t\t\t\t'block-editor-media-replace-flow__options',\n\t\t\t\tvariant && `is-variant-${ variant }`\n\t\t\t) }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tif ( renderToggle ) {\n\t\t\t\t\treturn renderToggle( {\n\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t'aria-haspopup': 'true',\n\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\tonKeyDown: openOnArrowDown,\n\t\t\t\t\t\tchildren: name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ name }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<NavigableMenu className=\"block-editor-media-replace-flow__media-upload-menu\">\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tgallery={ gallery }\n\t\t\t\t\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\t\t\t\tvalue={ multiple ? mediaIds : mediaId }\n\t\t\t\t\t\t\t\tonSelect={ ( media ) =>\n\t\t\t\t\t\t\t\t\tselectMedia( media, onClose )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={ mediaIcon }\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\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<FormFileUpload\n\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\tuploadFiles( event, onClose );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taccept={ computedAccept }\n\t\t\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ _x( 'Upload', 'verb' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t{ onToggleFeaturedImage && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ typeof children === 'function'\n\t\t\t\t\t\t\t? children( { onClose } )\n\t\t\t\t\t\t\t: children }\n\t\t\t\t\t\t{ mediaURL && onReset && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonReset();\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t{ onSelectURL && (\n\t\t\t\t\t\t<form className=\"block-editor-media-flow__url-input\">\n\t\t\t\t\t\t\t<span className=\"block-editor-media-replace-flow__image-url-label\">\n\t\t\t\t\t\t\t\t{ __( 'Current media URL:' ) }\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\t\tvalue={ { url: mediaURL } }\n\t\t\t\t\t\t\t\tsettings={ [] }\n\t\t\t\t\t\t\t\tshowSuggestions={ false }\n\t\t\t\t\t\t\t\tonChange={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\tonSelectURL( url );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tsearchInputPlaceholder={ __(\n\t\t\t\t\t\t\t\t\t'Paste or type URL'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t/>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-replace-flow/README.md\n */\nexport default compose( [\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createNotice, removeNotice } = dispatch( noticesStore );\n\t\treturn {\n\t\t\tcreateNotice,\n\t\t\tremoveNotice,\n\t\t};\n\t} ),\n\twithFilters( 'editor.MediaReplaceFlow' ),\n] )( MediaReplaceFlow );\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/multi-selection-inspector/index.js
1
+ // packages/block-editor/src/components/multi-selection-inspector/index.jsx
2
2
  import { sprintf, _n } from "@wordpress/i18n";
3
3
  import { useSelect } from "@wordpress/data";
4
4
  import { copy } from "@wordpress/icons";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/multi-selection-inspector/index.js"],
3
+ "sources": ["../../../src/components/multi-selection-inspector/index.jsx"],
4
4
  "sourcesContent": ["import { sprintf, _n } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\nimport { Stack } from '@wordpress/ui';\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function MultiSelectionInspector() {\n\tconst { selectedBlockCount, totalBlockCount } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\tgetClientIdsOfDescendants,\n\t\t} = select( blockEditorStore );\n\t\tconst count = getSelectedBlockCount();\n\t\treturn {\n\t\t\tselectedBlockCount: count,\n\t\t\ttotalBlockCount:\n\t\t\t\tcount +\n\t\t\t\tgetClientIdsOfDescendants( getMultiSelectedBlockClientIds() )\n\t\t\t\t\t.length,\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<Stack\n\t\t\tdirection=\"row\"\n\t\t\talign=\"center\"\n\t\t\tjustify=\"flex-start\"\n\t\t\tgap=\"sm\"\n\t\t\tclassName=\"block-editor-multi-selection-inspector__card\"\n\t\t>\n\t\t\t<BlockIcon icon={ copy } showColors />\n\t\t\t<Stack direction=\"column\">\n\t\t\t\t<div className=\"block-editor-multi-selection-inspector__card-title\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of blocks */\n\t\t\t\t\t\t_n( '%d Block', '%d Blocks', selectedBlockCount ),\n\t\t\t\t\t\tselectedBlockCount\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t{ totalBlockCount > selectedBlockCount && (\n\t\t\t\t\t<div className=\"block-editor-multi-selection-inspector__card-description\">\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %d: number of blocks including nested blocks */\n\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t'%d including nested block',\n\t\t\t\t\t\t\t\t'%d including nested blocks',\n\t\t\t\t\t\t\t\ttotalBlockCount\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttotalBlockCount\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</Stack>\n\t\t</Stack>\n\t);\n}\n"],
5
5
  "mappings": ";AAAA,SAAS,SAAS,UAAU;AAC5B,SAAS,iBAAiB;AAC1B,SAAS,YAAY;AACrB,SAAS,aAAa;AACtB,OAAO,eAAe;AACtB,SAAS,SAAS,wBAAwB;AA0BvC,cACA,YADA;AAxBY,SAAR,0BAA2C;AACjD,QAAM,EAAE,oBAAoB,gBAAgB,IAAI,UAAW,CAAE,WAAY;AACxE,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACD,IAAI,OAAQ,gBAAiB;AAC7B,UAAM,QAAQ,sBAAsB;AACpC,WAAO;AAAA,MACN,oBAAoB;AAAA,MACpB,iBACC,QACA,0BAA2B,+BAA+B,CAAE,EAC1D;AAAA,IACJ;AAAA,EACD,GAAG,CAAC,CAAE;AACN,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,KAAI;AAAA,MACJ,WAAU;AAAA,MAEV;AAAA,4BAAC,aAAU,MAAO,MAAO,YAAU,MAAC;AAAA,QACpC,qBAAC,SAAM,WAAU,UAChB;AAAA,8BAAC,SAAI,WAAU,sDACZ;AAAA;AAAA,YAED,GAAI,YAAY,aAAa,kBAAmB;AAAA,YAChD;AAAA,UACD,GACD;AAAA,UACE,kBAAkB,sBACnB,oBAAC,SAAI,WAAU,4DACZ;AAAA;AAAA,YAED;AAAA,cACC;AAAA,cACA;AAAA,cACA;AAAA,YACD;AAAA,YACA;AAAA,UACD,GACD;AAAA,WAEF;AAAA;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/navigable-toolbar/index.js
1
+ // packages/block-editor/src/components/navigable-toolbar/index.jsx
2
2
  import { NavigableMenu, Toolbar } from "@wordpress/components";
3
3
  import {
4
4
  useState,
@@ -47,6 +47,9 @@ function useIsAccessibleToolbar(toolbarRef) {
47
47
  );
48
48
  const determineIsAccessibleToolbar = useCallback(() => {
49
49
  const tabbables = focus.tabbable.find(toolbarRef.current);
50
+ if (tabbables.length === 0) {
51
+ return;
52
+ }
50
53
  const onlyToolbarItem = hasOnlyToolbarItem(tabbables);
51
54
  if (!onlyToolbarItem) {
52
55
  deprecated("Using custom components as toolbar controls", {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/navigable-toolbar/index.js"],
4
- "sourcesContent": ["import { NavigableMenu, Toolbar } from '@wordpress/components';\nimport {\n\tuseState,\n\tuseRef,\n\tuseContext,\n\tuseLayoutEffect,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { focus } from '@wordpress/dom';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockRefs } from '../provider/block-refs-provider';\nimport { unlock } from '../../lock-unlock';\n\nfunction hasOnlyToolbarItem( elements ) {\n\tconst dataProp = 'toolbarItem';\n\treturn ! elements.some( ( element ) => ! ( dataProp in element.dataset ) );\n}\n\nfunction getAllFocusableToolbarItemsIn( container ) {\n\treturn Array.from(\n\t\tcontainer.querySelectorAll( '[data-toolbar-item]:not([disabled])' )\n\t);\n}\n\nfunction hasFocusWithin( container ) {\n\treturn container.contains( container.ownerDocument.activeElement );\n}\n\nfunction focusFirstTabbableIn( container ) {\n\tconst [ firstTabbable ] = focus.tabbable.find( container );\n\n\tif ( firstTabbable ) {\n\t\tfirstTabbable.focus( {\n\t\t\t// When focusing newly mounted toolbars,\n\t\t\t// the position of the popover is often not right on the first render\n\t\t\t// This prevents the layout shifts when focusing the dialogs.\n\t\t\tpreventScroll: true,\n\t\t} );\n\t}\n}\n\nfunction useIsAccessibleToolbar( toolbarRef ) {\n\t/*\n\t * By default, we'll assume the starting accessible state of the Toolbar\n\t * is true, as it seems to be the most common case.\n\t *\n\t * Transitioning from an (initial) false to true state causes the\n\t * <Toolbar /> component to mount twice, which is causing undesired\n\t * side-effects. These side-effects appear to only affect certain\n\t * E2E tests.\n\t *\n\t * This was initial discovered in this pull-request:\n\t * https://github.com/WordPress/gutenberg/pull/23425\n\t */\n\tconst initialAccessibleToolbarState = true;\n\n\t// By default, it's gonna render NavigableMenu. If all the tabbable elements\n\t// inside the toolbar are ToolbarItem components (or derived components like\n\t// ToolbarButton), then we can wrap them with the accessible Toolbar\n\t// component.\n\tconst [ isAccessibleToolbar, setIsAccessibleToolbar ] = useState(\n\t\tinitialAccessibleToolbarState\n\t);\n\n\tconst determineIsAccessibleToolbar = useCallback( () => {\n\t\tconst tabbables = focus.tabbable.find( toolbarRef.current );\n\t\tconst onlyToolbarItem = hasOnlyToolbarItem( tabbables );\n\t\tif ( ! onlyToolbarItem ) {\n\t\t\tdeprecated( 'Using custom components as toolbar controls', {\n\t\t\t\tsince: '5.6',\n\t\t\t\talternative:\n\t\t\t\t\t'ToolbarItem, ToolbarButton or ToolbarDropdownMenu components',\n\t\t\t\tlink: 'https://developer.wordpress.org/block-editor/components/toolbar-button/#inside-blockcontrols',\n\t\t\t} );\n\t\t}\n\t\tsetIsAccessibleToolbar( onlyToolbarItem );\n\t}, [ toolbarRef ] );\n\n\tuseLayoutEffect( () => {\n\t\t// Toolbar buttons may be rendered asynchronously, so we use\n\t\t// MutationObserver to check if the toolbar subtree has been modified.\n\t\tconst observer = new window.MutationObserver(\n\t\t\tdetermineIsAccessibleToolbar\n\t\t);\n\t\tobserver.observe( toolbarRef.current, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t} );\n\t\treturn () => observer.disconnect();\n\t}, [ determineIsAccessibleToolbar, isAccessibleToolbar, toolbarRef ] );\n\n\treturn isAccessibleToolbar;\n}\n\nfunction useToolbarFocus( {\n\ttoolbarRef,\n\tfocusOnMount,\n\tisAccessibleToolbar,\n\tdefaultIndex,\n\tonIndexChange,\n\tshouldUseKeyboardFocusShortcut,\n\tfocusEditorOnEscape,\n} ) {\n\t// Make sure we don't use modified versions of this prop.\n\tconst [ initialFocusOnMount ] = useState( focusOnMount );\n\tconst [ initialIndex ] = useState( defaultIndex );\n\n\tconst { getLastFocus, getSelectedBlockClientId } = unlock(\n\t\tuseSelect( blockEditorStore )\n\t);\n\tconst { refsMap } = useContext( BlockRefs );\n\n\tconst focusToolbar = useCallback( () => {\n\t\tfocusFirstTabbableIn( toolbarRef.current );\n\t}, [ toolbarRef ] );\n\n\tconst focusToolbarViaShortcut = () => {\n\t\tif ( shouldUseKeyboardFocusShortcut ) {\n\t\t\tfocusToolbar();\n\t\t}\n\t};\n\n\t// Focus on toolbar when pressing alt+F10 when the toolbar is visible.\n\tuseShortcut( 'core/block-editor/focus-toolbar', focusToolbarViaShortcut );\n\n\tuseEffect( () => {\n\t\tif ( initialFocusOnMount ) {\n\t\t\tfocusToolbar();\n\t\t}\n\t}, [ isAccessibleToolbar, initialFocusOnMount, focusToolbar ] );\n\n\tuseEffect( () => {\n\t\t// Store ref so we have access on useEffect cleanup: https://legacy.reactjs.org/blog/2020/08/10/react-v17-rc.html#effect-cleanup-timing\n\t\tconst navigableToolbarRef = toolbarRef.current;\n\t\t// If initialIndex is passed, we focus on that toolbar item when the\n\t\t// toolbar gets mounted and initial focus is not forced.\n\t\t// We have to wait for the next browser paint because block controls aren't\n\t\t// rendered right away when the toolbar gets mounted.\n\t\tlet raf = 0;\n\n\t\t// If the toolbar already had focus before the render, we don't want to move it.\n\t\t// https://github.com/WordPress/gutenberg/issues/58511\n\t\tif (\n\t\t\t! initialFocusOnMount &&\n\t\t\t! hasFocusWithin( navigableToolbarRef )\n\t\t) {\n\t\t\traf = window.requestAnimationFrame( () => {\n\t\t\t\tconst items =\n\t\t\t\t\tgetAllFocusableToolbarItemsIn( navigableToolbarRef );\n\t\t\t\tconst index = initialIndex || 0;\n\t\t\t\tif ( items[ index ] && hasFocusWithin( navigableToolbarRef ) ) {\n\t\t\t\t\titems[ index ].focus( {\n\t\t\t\t\t\t// When focusing newly mounted toolbars,\n\t\t\t\t\t\t// the position of the popover is often not right on the first render\n\t\t\t\t\t\t// This prevents the layout shifts when focusing the dialogs.\n\t\t\t\t\t\tpreventScroll: true,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn () => {\n\t\t\twindow.cancelAnimationFrame( raf );\n\t\t\tif ( ! onIndexChange || ! navigableToolbarRef ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// When the toolbar element is unmounted and onIndexChange is passed, we\n\t\t\t// pass the focused toolbar item index so it can be hydrated later.\n\t\t\tconst items = getAllFocusableToolbarItemsIn( navigableToolbarRef );\n\t\t\tconst index = items.findIndex( ( item ) => item.tabIndex === 0 );\n\t\t\tonIndexChange( index );\n\t\t};\n\t}, [ initialIndex, initialFocusOnMount, onIndexChange, toolbarRef ] );\n\n\t/**\n\t * Handles returning focus to the block editor canvas when pressing escape.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! focusEditorOnEscape ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigableToolbar = toolbarRef.current;\n\t\tconst handleKeyDown = ( event ) => {\n\t\t\tif ( event.keyCode !== ESCAPE ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// The last focused element is only recorded once focus has left\n\t\t\t// the canvas, so fall back to the selected block. Without it\n\t\t\t// escape leaves focus stranded in the toolbar, with no way back\n\t\t\t// to the canvas by keyboard.\n\t\t\tconst target =\n\t\t\t\tgetLastFocus()?.current ??\n\t\t\t\trefsMap.get( getSelectedBlockClientId() );\n\t\t\tif ( target ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttarget.focus();\n\t\t\t}\n\t\t};\n\t\tnavigableToolbar.addEventListener( 'keydown', handleKeyDown );\n\t\treturn () => {\n\t\t\tnavigableToolbar.removeEventListener( 'keydown', handleKeyDown );\n\t\t};\n\t}, [\n\t\tfocusEditorOnEscape,\n\t\tgetLastFocus,\n\t\tgetSelectedBlockClientId,\n\t\trefsMap,\n\t\ttoolbarRef,\n\t] );\n}\n\nexport default function NavigableToolbar( {\n\tchildren,\n\tfocusOnMount,\n\tfocusEditorOnEscape = false,\n\tshouldUseKeyboardFocusShortcut = true,\n\t__experimentalInitialIndex: initialIndex,\n\t__experimentalOnIndexChange: onIndexChange,\n\torientation = 'horizontal',\n\t...props\n} ) {\n\tconst toolbarRef = useRef();\n\tconst isAccessibleToolbar = useIsAccessibleToolbar( toolbarRef );\n\n\tuseToolbarFocus( {\n\t\ttoolbarRef,\n\t\tfocusOnMount,\n\t\tdefaultIndex: initialIndex,\n\t\tonIndexChange,\n\t\tisAccessibleToolbar,\n\t\tshouldUseKeyboardFocusShortcut,\n\t\tfocusEditorOnEscape,\n\t} );\n\n\tif ( isAccessibleToolbar ) {\n\t\treturn (\n\t\t\t<Toolbar\n\t\t\t\tlabel={ props[ 'aria-label' ] }\n\t\t\t\tref={ toolbarRef }\n\t\t\t\torientation={ orientation }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Toolbar>\n\t\t);\n\t}\n\n\treturn (\n\t\t<NavigableMenu\n\t\t\torientation={ orientation }\n\t\t\trole=\"toolbar\"\n\t\t\tref={ toolbarRef }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t</NavigableMenu>\n\t);\n}\n"],
5
- "mappings": "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",
3
+ "sources": ["../../../src/components/navigable-toolbar/index.jsx"],
4
+ "sourcesContent": ["import { NavigableMenu, Toolbar } from '@wordpress/components';\nimport {\n\tuseState,\n\tuseRef,\n\tuseContext,\n\tuseLayoutEffect,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { focus } from '@wordpress/dom';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { store as blockEditorStore } from '../../store';\nimport { BlockRefs } from '../provider/block-refs-provider';\nimport { unlock } from '../../lock-unlock';\n\nfunction hasOnlyToolbarItem( elements ) {\n\tconst dataProp = 'toolbarItem';\n\treturn ! elements.some( ( element ) => ! ( dataProp in element.dataset ) );\n}\n\nfunction getAllFocusableToolbarItemsIn( container ) {\n\treturn Array.from(\n\t\tcontainer.querySelectorAll( '[data-toolbar-item]:not([disabled])' )\n\t);\n}\n\nfunction hasFocusWithin( container ) {\n\treturn container.contains( container.ownerDocument.activeElement );\n}\n\nfunction focusFirstTabbableIn( container ) {\n\tconst [ firstTabbable ] = focus.tabbable.find( container );\n\n\tif ( firstTabbable ) {\n\t\tfirstTabbable.focus( {\n\t\t\t// When focusing newly mounted toolbars,\n\t\t\t// the position of the popover is often not right on the first render\n\t\t\t// This prevents the layout shifts when focusing the dialogs.\n\t\t\tpreventScroll: true,\n\t\t} );\n\t}\n}\n\nfunction useIsAccessibleToolbar( toolbarRef ) {\n\t/*\n\t * By default, we'll assume the starting accessible state of the Toolbar\n\t * is true, as it seems to be the most common case.\n\t *\n\t * Transitioning from an (initial) false to true state causes the\n\t * <Toolbar /> component to mount twice, which is causing undesired\n\t * side-effects. These side-effects appear to only affect certain\n\t * E2E tests.\n\t *\n\t * This was initial discovered in this pull-request:\n\t * https://github.com/WordPress/gutenberg/pull/23425\n\t */\n\tconst initialAccessibleToolbarState = true;\n\n\t// By default, it's gonna render NavigableMenu. If all the tabbable elements\n\t// inside the toolbar are ToolbarItem components (or derived components like\n\t// ToolbarButton), then we can wrap them with the accessible Toolbar\n\t// component.\n\tconst [ isAccessibleToolbar, setIsAccessibleToolbar ] = useState(\n\t\tinitialAccessibleToolbarState\n\t);\n\n\tconst determineIsAccessibleToolbar = useCallback( () => {\n\t\tconst tabbables = focus.tabbable.find( toolbarRef.current );\n\t\t// A hidden toolbar has no tabbables, so keep its current classification.\n\t\tif ( tabbables.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\t\tconst onlyToolbarItem = hasOnlyToolbarItem( tabbables );\n\t\tif ( ! onlyToolbarItem ) {\n\t\t\tdeprecated( 'Using custom components as toolbar controls', {\n\t\t\t\tsince: '5.6',\n\t\t\t\talternative:\n\t\t\t\t\t'ToolbarItem, ToolbarButton or ToolbarDropdownMenu components',\n\t\t\t\tlink: 'https://developer.wordpress.org/block-editor/components/toolbar-button/#inside-blockcontrols',\n\t\t\t} );\n\t\t}\n\t\tsetIsAccessibleToolbar( onlyToolbarItem );\n\t}, [ toolbarRef ] );\n\n\tuseLayoutEffect( () => {\n\t\t// Toolbar buttons may be rendered asynchronously, so we use\n\t\t// MutationObserver to check if the toolbar subtree has been modified.\n\t\tconst observer = new window.MutationObserver(\n\t\t\tdetermineIsAccessibleToolbar\n\t\t);\n\t\tobserver.observe( toolbarRef.current, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t} );\n\t\treturn () => observer.disconnect();\n\t}, [ determineIsAccessibleToolbar, isAccessibleToolbar, toolbarRef ] );\n\n\treturn isAccessibleToolbar;\n}\n\nfunction useToolbarFocus( {\n\ttoolbarRef,\n\tfocusOnMount,\n\tisAccessibleToolbar,\n\tdefaultIndex,\n\tonIndexChange,\n\tshouldUseKeyboardFocusShortcut,\n\tfocusEditorOnEscape,\n} ) {\n\t// Make sure we don't use modified versions of this prop.\n\tconst [ initialFocusOnMount ] = useState( focusOnMount );\n\tconst [ initialIndex ] = useState( defaultIndex );\n\n\tconst { getLastFocus, getSelectedBlockClientId } = unlock(\n\t\tuseSelect( blockEditorStore )\n\t);\n\tconst { refsMap } = useContext( BlockRefs );\n\n\tconst focusToolbar = useCallback( () => {\n\t\tfocusFirstTabbableIn( toolbarRef.current );\n\t}, [ toolbarRef ] );\n\n\tconst focusToolbarViaShortcut = () => {\n\t\tif ( shouldUseKeyboardFocusShortcut ) {\n\t\t\tfocusToolbar();\n\t\t}\n\t};\n\n\t// Focus on toolbar when pressing alt+F10 when the toolbar is visible.\n\tuseShortcut( 'core/block-editor/focus-toolbar', focusToolbarViaShortcut );\n\n\tuseEffect( () => {\n\t\tif ( initialFocusOnMount ) {\n\t\t\tfocusToolbar();\n\t\t}\n\t}, [ isAccessibleToolbar, initialFocusOnMount, focusToolbar ] );\n\n\tuseEffect( () => {\n\t\t// Store ref so we have access on useEffect cleanup: https://legacy.reactjs.org/blog/2020/08/10/react-v17-rc.html#effect-cleanup-timing\n\t\tconst navigableToolbarRef = toolbarRef.current;\n\t\t// If initialIndex is passed, we focus on that toolbar item when the\n\t\t// toolbar gets mounted and initial focus is not forced.\n\t\t// We have to wait for the next browser paint because block controls aren't\n\t\t// rendered right away when the toolbar gets mounted.\n\t\tlet raf = 0;\n\n\t\t// If the toolbar already had focus before the render, we don't want to move it.\n\t\t// https://github.com/WordPress/gutenberg/issues/58511\n\t\tif (\n\t\t\t! initialFocusOnMount &&\n\t\t\t! hasFocusWithin( navigableToolbarRef )\n\t\t) {\n\t\t\traf = window.requestAnimationFrame( () => {\n\t\t\t\tconst items =\n\t\t\t\t\tgetAllFocusableToolbarItemsIn( navigableToolbarRef );\n\t\t\t\tconst index = initialIndex || 0;\n\t\t\t\tif ( items[ index ] && hasFocusWithin( navigableToolbarRef ) ) {\n\t\t\t\t\titems[ index ].focus( {\n\t\t\t\t\t\t// When focusing newly mounted toolbars,\n\t\t\t\t\t\t// the position of the popover is often not right on the first render\n\t\t\t\t\t\t// This prevents the layout shifts when focusing the dialogs.\n\t\t\t\t\t\tpreventScroll: true,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn () => {\n\t\t\twindow.cancelAnimationFrame( raf );\n\t\t\tif ( ! onIndexChange || ! navigableToolbarRef ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// When the toolbar element is unmounted and onIndexChange is passed, we\n\t\t\t// pass the focused toolbar item index so it can be hydrated later.\n\t\t\tconst items = getAllFocusableToolbarItemsIn( navigableToolbarRef );\n\t\t\tconst index = items.findIndex( ( item ) => item.tabIndex === 0 );\n\t\t\tonIndexChange( index );\n\t\t};\n\t}, [ initialIndex, initialFocusOnMount, onIndexChange, toolbarRef ] );\n\n\t/**\n\t * Handles returning focus to the block editor canvas when pressing escape.\n\t */\n\tuseEffect( () => {\n\t\tif ( ! focusEditorOnEscape ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigableToolbar = toolbarRef.current;\n\t\tconst handleKeyDown = ( event ) => {\n\t\t\tif ( event.keyCode !== ESCAPE ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// The last focused element is only recorded once focus has left\n\t\t\t// the canvas, so fall back to the selected block. Without it\n\t\t\t// escape leaves focus stranded in the toolbar, with no way back\n\t\t\t// to the canvas by keyboard.\n\t\t\tconst target =\n\t\t\t\tgetLastFocus()?.current ??\n\t\t\t\trefsMap.get( getSelectedBlockClientId() );\n\t\t\tif ( target ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttarget.focus();\n\t\t\t}\n\t\t};\n\t\tnavigableToolbar.addEventListener( 'keydown', handleKeyDown );\n\t\treturn () => {\n\t\t\tnavigableToolbar.removeEventListener( 'keydown', handleKeyDown );\n\t\t};\n\t}, [\n\t\tfocusEditorOnEscape,\n\t\tgetLastFocus,\n\t\tgetSelectedBlockClientId,\n\t\trefsMap,\n\t\ttoolbarRef,\n\t] );\n}\n\nexport default function NavigableToolbar( {\n\tchildren,\n\tfocusOnMount,\n\tfocusEditorOnEscape = false,\n\tshouldUseKeyboardFocusShortcut = true,\n\t__experimentalInitialIndex: initialIndex,\n\t__experimentalOnIndexChange: onIndexChange,\n\torientation = 'horizontal',\n\t...props\n} ) {\n\tconst toolbarRef = useRef();\n\tconst isAccessibleToolbar = useIsAccessibleToolbar( toolbarRef );\n\n\tuseToolbarFocus( {\n\t\ttoolbarRef,\n\t\tfocusOnMount,\n\t\tdefaultIndex: initialIndex,\n\t\tonIndexChange,\n\t\tisAccessibleToolbar,\n\t\tshouldUseKeyboardFocusShortcut,\n\t\tfocusEditorOnEscape,\n\t} );\n\n\tif ( isAccessibleToolbar ) {\n\t\treturn (\n\t\t\t<Toolbar\n\t\t\t\tlabel={ props[ 'aria-label' ] }\n\t\t\t\tref={ toolbarRef }\n\t\t\t\torientation={ orientation }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Toolbar>\n\t\t);\n\t}\n\n\treturn (\n\t\t<NavigableMenu\n\t\t\torientation={ orientation }\n\t\t\trole=\"toolbar\"\n\t\t\tref={ toolbarRef }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t</NavigableMenu>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/observe-typing/index.js
1
+ // packages/block-editor/src/components/observe-typing/index.jsx
2
2
  import { useRefEffect, useMergeRefs } from "@wordpress/compose";
3
3
  import { useSelect, useDispatch } from "@wordpress/data";
4
4
  import { isTextField } from "@wordpress/dom";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/observe-typing/index.js"],
3
+ "sources": ["../../../src/components/observe-typing/index.jsx"],
4
4
  "sourcesContent": ["import { useRefEffect, useMergeRefs } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isTextField } from '@wordpress/dom';\nimport {\n\tUP,\n\tRIGHT,\n\tDOWN,\n\tLEFT,\n\tENTER,\n\tBACKSPACE,\n\tESCAPE,\n\tTAB,\n} from '@wordpress/keycodes';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Set of key codes upon which typing is to be initiated on a keydown event.\n *\n * @type {Set<number>}\n */\nconst KEY_DOWN_ELIGIBLE_KEY_CODES = new Set( [\n\tUP,\n\tRIGHT,\n\tDOWN,\n\tLEFT,\n\tENTER,\n\tBACKSPACE,\n] );\n\n/**\n * Returns true if a given keydown event can be inferred as intent to start\n * typing, or false otherwise. A keydown is considered eligible if it is a\n * text navigation without shift active.\n *\n * @param {KeyboardEvent} event Keydown event to test.\n *\n * @return {boolean} Whether event is eligible to start typing.\n */\nfunction isKeyDownEligibleForStartTyping( event ) {\n\tconst { keyCode, shiftKey } = event;\n\treturn ! shiftKey && KEY_DOWN_ELIGIBLE_KEY_CODES.has( keyCode );\n}\n\n/**\n * Removes the `isTyping` flag when the mouse moves in the document of the given\n * element.\n */\nexport function useMouseMoveTypingReset() {\n\tconst isTyping = useSelect(\n\t\t( select ) => select( blockEditorStore ).isTyping(),\n\t\t[]\n\t);\n\tconst { stopTyping } = useDispatch( blockEditorStore );\n\n\treturn useRefEffect(\n\t\t( node ) => {\n\t\t\tif ( ! isTyping ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { ownerDocument } = node;\n\t\t\tlet lastClientX;\n\t\t\tlet lastClientY;\n\n\t\t\t/**\n\t\t\t * On mouse move, unset typing flag if user has moved cursor.\n\t\t\t *\n\t\t\t * @param {MouseEvent} event Mousemove event.\n\t\t\t */\n\t\t\tfunction stopTypingOnMouseMove( event ) {\n\t\t\t\tconst { clientX, clientY } = event;\n\n\t\t\t\t// We need to check that the mouse really moved because Safari\n\t\t\t\t// triggers mousemove events when shift or ctrl are pressed.\n\t\t\t\tif (\n\t\t\t\t\tlastClientX &&\n\t\t\t\t\tlastClientY &&\n\t\t\t\t\t( lastClientX !== clientX || lastClientY !== clientY )\n\t\t\t\t) {\n\t\t\t\t\tstopTyping();\n\t\t\t\t}\n\n\t\t\t\tlastClientX = clientX;\n\t\t\t\tlastClientY = clientY;\n\t\t\t}\n\n\t\t\townerDocument.addEventListener(\n\t\t\t\t'mousemove',\n\t\t\t\tstopTypingOnMouseMove\n\t\t\t);\n\n\t\t\treturn () => {\n\t\t\t\townerDocument.removeEventListener(\n\t\t\t\t\t'mousemove',\n\t\t\t\t\tstopTypingOnMouseMove\n\t\t\t\t);\n\t\t\t};\n\t\t},\n\t\t[ isTyping, stopTyping ]\n\t);\n}\n\n/**\n * Sets and removes the `isTyping` flag based on user actions:\n *\n * - Sets the flag if the user types within the given element.\n * - Removes the flag when the user selects some text, focuses a non-text\n * field, presses ESC or TAB, or moves the mouse in the document.\n */\nexport function useTypingObserver() {\n\tconst isTyping = useSelect(\n\t\t( select ) => select( blockEditorStore ).isTyping(),\n\t\t[]\n\t);\n\tconst { startTyping, stopTyping } = useDispatch( blockEditorStore );\n\n\tconst ref1 = useMouseMoveTypingReset();\n\tconst ref2 = useRefEffect(\n\t\t( node ) => {\n\t\t\t// Listeners to stop typing should only be added when typing.\n\t\t\t// Listeners to start typing should only be added when not typing.\n\t\t\tif ( isTyping ) {\n\t\t\t\tlet timerId;\n\n\t\t\t\t// Capture the window reference while the node is still\n\t\t\t\t// attached. Reusing the reference we held at mount keeps the\n\t\t\t\t// cleanup and the handlers working against the same window\n\t\t\t\t// we set things up on.\n\t\t\t\tconst { defaultView } = node.ownerDocument;\n\n\t\t\t\t/**\n\t\t\t\t * Stops typing when focus transitions to a non-text field element.\n\t\t\t\t *\n\t\t\t\t * @param {FocusEvent} event Focus event.\n\t\t\t\t */\n\t\t\t\tfunction stopTypingOnNonTextField( event ) {\n\t\t\t\t\tconst { target } = event;\n\n\t\t\t\t\t// Since focus to a non-text field via arrow key will trigger\n\t\t\t\t\t// before the keydown event, wait until after current stack\n\t\t\t\t\t// before evaluating whether typing is to be stopped. Otherwise,\n\t\t\t\t\t// typing will re-start.\n\t\t\t\t\ttimerId = defaultView.setTimeout( () => {\n\t\t\t\t\t\tif ( ! isTextField( target ) ) {\n\t\t\t\t\t\t\tstopTyping();\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * Unsets typing flag if user presses Escape while typing flag is\n\t\t\t\t * active.\n\t\t\t\t *\n\t\t\t\t * @param {KeyboardEvent} event Keypress or keydown event to\n\t\t\t\t * interpret.\n\t\t\t\t */\n\t\t\t\tfunction stopTypingOnEscapeKey( event ) {\n\t\t\t\t\tconst { keyCode } = event;\n\n\t\t\t\t\tif ( keyCode === ESCAPE || keyCode === TAB ) {\n\t\t\t\t\t\tstopTyping();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/**\n\t\t\t\t * On selection change, unset typing flag if user has made an\n\t\t\t\t * uncollapsed (shift) selection.\n\t\t\t\t */\n\t\t\t\tfunction stopTypingOnSelectionUncollapse() {\n\t\t\t\t\tconst selection = defaultView.getSelection();\n\t\t\t\t\tif ( ! selection.isCollapsed ) {\n\t\t\t\t\t\tstopTyping();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tnode.addEventListener( 'focus', stopTypingOnNonTextField );\n\t\t\t\tnode.addEventListener( 'keydown', stopTypingOnEscapeKey );\n\n\t\t\t\tnode.ownerDocument.addEventListener(\n\t\t\t\t\t'selectionchange',\n\t\t\t\t\tstopTypingOnSelectionUncollapse\n\t\t\t\t);\n\n\t\t\t\treturn () => {\n\t\t\t\t\tdefaultView.clearTimeout( timerId );\n\t\t\t\t\tnode.removeEventListener(\n\t\t\t\t\t\t'focus',\n\t\t\t\t\t\tstopTypingOnNonTextField\n\t\t\t\t\t);\n\t\t\t\t\tnode.removeEventListener(\n\t\t\t\t\t\t'keydown',\n\t\t\t\t\t\tstopTypingOnEscapeKey\n\t\t\t\t\t);\n\t\t\t\t\tnode.ownerDocument.removeEventListener(\n\t\t\t\t\t\t'selectionchange',\n\t\t\t\t\t\tstopTypingOnSelectionUncollapse\n\t\t\t\t\t);\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Handles a keypress or keydown event to infer intention to start\n\t\t\t * typing.\n\t\t\t *\n\t\t\t * @param {KeyboardEvent} event Keypress or keydown event to interpret.\n\t\t\t */\n\t\t\tfunction startTypingInTextField( event ) {\n\t\t\t\tconst { type, target } = event;\n\n\t\t\t\t// Abort early if already typing, or key press is incurred outside a\n\t\t\t\t// text field (e.g. arrow-ing through toolbar buttons).\n\t\t\t\t// Ignore typing if outside the current DOM container\n\t\t\t\tif ( ! isTextField( target ) || ! node.contains( target ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Special-case keydown because certain keys do not emit a keypress\n\t\t\t\t// event. Conversely avoid keydown as the canonical event since\n\t\t\t\t// there are many keydown which are explicitly not targeted for\n\t\t\t\t// typing.\n\t\t\t\tif (\n\t\t\t\t\ttype === 'keydown' &&\n\t\t\t\t\t! isKeyDownEligibleForStartTyping( event )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tstartTyping();\n\t\t\t}\n\n\t\t\tnode.addEventListener( 'keypress', startTypingInTextField );\n\t\t\tnode.addEventListener( 'keydown', startTypingInTextField );\n\n\t\t\treturn () => {\n\t\t\t\tnode.removeEventListener( 'keypress', startTypingInTextField );\n\t\t\t\tnode.removeEventListener( 'keydown', startTypingInTextField );\n\t\t\t};\n\t\t},\n\t\t[ isTyping, startTyping, stopTyping ]\n\t);\n\n\treturn useMergeRefs( [ ref1, ref2 ] );\n}\n\nfunction ObserveTyping( { children } ) {\n\treturn <div ref={ useTypingObserver() }>{ children }</div>;\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/observe-typing/README.md\n */\nexport default ObserveTyping;\n"],
5
5
  "mappings": "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",
6
6
  "names": ["stopTypingOnNonTextField", "stopTypingOnEscapeKey", "stopTypingOnSelectionUncollapse"]
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/panel-color-settings/index.js
1
+ // packages/block-editor/src/components/panel-color-settings/index.jsx
2
2
  import PanelColorGradientSettings from "../colors-gradients/panel-color-gradient-settings.mjs";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  var PanelColorSettings = ({ colorSettings, ...props }) => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/panel-color-settings/index.js"],
3
+ "sources": ["../../../src/components/panel-color-settings/index.jsx"],
4
4
  "sourcesContent": ["import PanelColorGradientSettings from '../colors-gradients/panel-color-gradient-settings';\n\nconst PanelColorSettings = ( { colorSettings, ...props } ) => {\n\tconst settings = colorSettings.map( ( setting ) => {\n\t\tif ( ! setting ) {\n\t\t\treturn setting;\n\t\t}\n\t\tconst { value, onChange, ...otherSettings } = setting;\n\t\treturn {\n\t\t\t...otherSettings,\n\t\t\tcolorValue: value,\n\t\t\tonColorChange: onChange,\n\t\t};\n\t} );\n\treturn (\n\t\t<PanelColorGradientSettings\n\t\t\tsettings={ settings }\n\t\t\tgradients={ [] }\n\t\t\tdisableCustomGradients\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\nexport default PanelColorSettings;\n"],
5
5
  "mappings": ";AAAA,OAAO,gCAAgC;AAerC;AAbF,IAAM,qBAAqB,CAAE,EAAE,eAAe,GAAG,MAAM,MAAO;AAC7D,QAAM,WAAW,cAAc,IAAK,CAAE,YAAa;AAClD,QAAK,CAAE,SAAU;AAChB,aAAO;AAAA,IACR;AACA,UAAM,EAAE,OAAO,UAAU,GAAG,cAAc,IAAI;AAC9C,WAAO;AAAA,MACN,GAAG;AAAA,MACH,YAAY;AAAA,MACZ,eAAe;AAAA,IAChB;AAAA,EACD,CAAE;AACF,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,WAAY,CAAC;AAAA,MACb,wBAAsB;AAAA,MACpB,GAAG;AAAA;AAAA,EACN;AAEF;AACA,IAAO,+BAAQ;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/plain-text/index.js
1
+ // packages/block-editor/src/components/plain-text/index.jsx
2
2
  import TextareaAutosize from "react-autosize-textarea";
3
3
  import clsx from "clsx";
4
4
  import { forwardRef } from "@wordpress/element";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/plain-text/index.js"],
3
+ "sources": ["../../../src/components/plain-text/index.jsx"],
4
4
  "sourcesContent": ["import TextareaAutosize from 'react-autosize-textarea';\nimport clsx from 'clsx';\nimport { forwardRef } from '@wordpress/element';\nimport EditableText from '../editable-text';\n\n/**\n * Render an auto-growing textarea allow users to fill any textual content.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/plain-text/README.md\n *\n * @example\n * ```jsx\n * import { registerBlockType } from '@wordpress/blocks';\n * import { PlainText } from '@wordpress/block-editor';\n *\n * registerBlockType( 'my-plugin/example-block', {\n * // ...\n *\n * attributes: {\n * content: {\n * type: 'string',\n * },\n * },\n *\n * edit( { className, attributes, setAttributes } ) {\n * return (\n * <PlainText\n * className={ className }\n * value={ attributes.content }\n * onChange={ ( content ) => setAttributes( { content } ) }\n * />\n * );\n * },\n * } );\n * ````\n *\n * @param {Object} props Component props.\n * @param {string} props.value String value of the textarea.\n * @param {Function} props.onChange Function called when the text value changes.\n * @param {Object} [props.ref] The component forwards the `ref` property to the `TextareaAutosize` component.\n * @return {Element} Plain text component\n */\nconst PlainText = forwardRef( ( { __experimentalVersion, ...props }, ref ) => {\n\tif ( __experimentalVersion === 2 ) {\n\t\treturn <EditableText ref={ ref } { ...props } />;\n\t}\n\n\tconst { className, onChange, ...remainingProps } = props;\n\n\treturn (\n\t\t<TextareaAutosize\n\t\t\tref={ ref }\n\t\t\tclassName={ clsx( 'block-editor-plain-text', className ) }\n\t\t\tonChange={ ( event ) => onChange( event.target.value ) }\n\t\t\t{ ...remainingProps }\n\t\t/>\n\t);\n} );\n\nexport default PlainText;\n"],
5
5
  "mappings": ";AAAA,OAAO,sBAAsB;AAC7B,OAAO,UAAU;AACjB,SAAS,kBAAkB;AAC3B,OAAO,kBAAkB;AAyChB;AAFT,IAAM,YAAY,WAAY,CAAE,EAAE,uBAAuB,GAAG,MAAM,GAAG,QAAS;AAC7E,MAAK,0BAA0B,GAAI;AAClC,WAAO,oBAAC,gBAAa,KAAc,GAAG,OAAQ;AAAA,EAC/C;AAEA,QAAM,EAAE,WAAW,UAAU,GAAG,eAAe,IAAI;AAEnD,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,WAAY,KAAM,2BAA2B,SAAU;AAAA,MACvD,UAAW,CAAE,UAAW,SAAU,MAAM,OAAO,KAAM;AAAA,MACnD,GAAG;AAAA;AAAA,EACN;AAEF,CAAE;AAEF,IAAO,qBAAQ;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/preset-input-control/custom-value-controls.js
1
+ // packages/block-editor/src/components/preset-input-control/custom-value-controls.jsx
2
2
  import {
3
3
  RangeControl,
4
4
  __experimentalUnitControl as UnitControl
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/preset-input-control/custom-value-controls.js"],
3
+ "sources": ["../../../src/components/preset-input-control/custom-value-controls.jsx"],
4
4
  "sourcesContent": ["import {\n\tRangeControl,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { Tooltip } from '@wordpress/ui';\n\n/**\n * CustomValueControls component for handling custom value input.\n *\n * Renders a UnitControl and RangeControl for custom value input mode.\n * Handles conditional tooltip wrapping and drag event coordination.\n *\n * @param {Object} props\n * @param {boolean} props.allowNegativeOnDrag Whether to allow negative values during drag operations.\n * @param {string} props.ariaLabel Accessible label for the controls.\n * @param {string} props.allPlaceholder Placeholder text (e.g., \"Mixed\").\n * @param {number} props.minValue Minimum allowed value.\n * @param {number} props.parsedQuantity The numeric part of the current value.\n * @param {string} props.computedUnit The unit part of the current value.\n * @param {Array} props.units Array of available unit objects.\n * @param {boolean} props.isMixed Whether the current value is mixed.\n * @param {number} props.step Step value for the range control.\n * @param {number} props.max Maximum value for the range control.\n * @param {boolean} props.showTooltip Whether to wrap UnitControl in a tooltip.\n * @param {string} props.value Current value for drag event checks.\n * @param {number} props.minimumCustomValue Minimum custom value for drag end reset.\n * @param {Function} props.onCustomValueChange Callback when UnitControl value changes.\n * @param {Function} props.onCustomValueSliderChange Callback when RangeControl value changes.\n * @param {Function} props.onUnitChange Callback when unit changes.\n * @param {Function} props.onMouseOut Mouse out event handler.\n * @param {Function} props.onMouseOver Mouse over event handler.\n * @param {Function} props.setMinValue Function to set minimum value state.\n *\n * @return {Element} The CustomValueControls component.\n */\nexport default function CustomValueControls( {\n\tallowNegativeOnDrag,\n\tariaLabel,\n\tallPlaceholder,\n\tminValue,\n\tparsedQuantity,\n\tcomputedUnit,\n\tunits,\n\tisMixed,\n\tstep,\n\tmax,\n\tshowTooltip,\n\tvalue,\n\tminimumCustomValue,\n\tonCustomValueChange,\n\tonCustomValueSliderChange,\n\tonUnitChange,\n\tonMouseOut,\n\tonMouseOver,\n\tsetMinValue,\n} ) {\n\tconst unitControl = (\n\t\t<UnitControl\n\t\t\tclassName=\"preset-input-control__unit-control\"\n\t\t\tdisableUnits={ isMixed }\n\t\t\thideLabelFromVision\n\t\t\tlabel={ ariaLabel }\n\t\t\tmin={ minValue }\n\t\t\tonChange={ onCustomValueChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\tonBlur={ onMouseOut }\n\t\t\tonFocus={ onMouseOver }\n\t\t\tonMouseOut={ onMouseOut }\n\t\t\tonMouseOver={ onMouseOver }\n\t\t\tunits={ units }\n\t\t\tvalue={ [ parsedQuantity, computedUnit ].join( '' ) }\n\t\t\tplaceholder={ allPlaceholder }\n\t\t\tonDragStart={ () => {\n\t\t\t\tif ( allowNegativeOnDrag && value?.charAt( 0 ) === '-' ) {\n\t\t\t\t\tsetMinValue( 0 );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonDrag={ () => {\n\t\t\t\tif ( allowNegativeOnDrag && value?.charAt( 0 ) === '-' ) {\n\t\t\t\t\tsetMinValue( 0 );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonDragEnd={ () => {\n\t\t\t\tif ( allowNegativeOnDrag ) {\n\t\t\t\t\tsetMinValue( minimumCustomValue );\n\t\t\t\t}\n\t\t\t} }\n\t\t/>\n\t);\n\n\tconst wrappedUnitControl = showTooltip ? (\n\t\t<Tooltip.Root>\n\t\t\t<Tooltip.Trigger\n\t\t\t\trender={\n\t\t\t\t\t<div className=\"preset-input-control__tooltip-wrapper\">\n\t\t\t\t\t\t{ unitControl }\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<Tooltip.Popup>{ ariaLabel }</Tooltip.Popup>\n\t\t</Tooltip.Root>\n\t) : (\n\t\tunitControl\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ wrappedUnitControl }\n\t\t\t<RangeControl\n\t\t\t\tclassName=\"preset-input-control__custom-value-range\"\n\t\t\t\thideLabelFromVision\n\t\t\t\tinitialPosition={ 0 }\n\t\t\t\tlabel={ ariaLabel }\n\t\t\t\tmax={ max }\n\t\t\t\tmin={ 0 }\n\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\tonChange={ onCustomValueSliderChange }\n\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\tstep={ step }\n\t\t\t\tvalue={ parsedQuantity }\n\t\t\t\twithInputField={ false }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],
5
5
  "mappings": ";AAAA;AAAA,EACC;AAAA,EACA,6BAA6B;AAAA,OACvB;AACP,SAAS,eAAe;AAqDtB,SAiDA,UAjDA,KAkCA,YAlCA;AAtBa,SAAR,oBAAsC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,cACL;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,cAAe;AAAA,MACf,qBAAmB;AAAA,MACnB,OAAQ;AAAA,MACR,KAAM;AAAA,MACN,UAAW;AAAA,MACX;AAAA,MACA,QAAS;AAAA,MACT,SAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAQ,CAAE,gBAAgB,YAAa,EAAE,KAAM,EAAG;AAAA,MAClD,aAAc;AAAA,MACd,aAAc,MAAM;AACnB,YAAK,uBAAuB,OAAO,OAAQ,CAAE,MAAM,KAAM;AACxD,sBAAa,CAAE;AAAA,QAChB;AAAA,MACD;AAAA,MACA,QAAS,MAAM;AACd,YAAK,uBAAuB,OAAO,OAAQ,CAAE,MAAM,KAAM;AACxD,sBAAa,CAAE;AAAA,QAChB;AAAA,MACD;AAAA,MACA,WAAY,MAAM;AACjB,YAAK,qBAAsB;AAC1B,sBAAa,kBAAmB;AAAA,QACjC;AAAA,MACD;AAAA;AAAA,EACD;AAGD,QAAM,qBAAqB,cAC1B,qBAAC,QAAQ,MAAR,EACA;AAAA;AAAA,MAAC,QAAQ;AAAA,MAAR;AAAA,QACA,QACC,oBAAC,SAAI,WAAU,yCACZ,uBACH;AAAA;AAAA,IAEF;AAAA,IACA,oBAAC,QAAQ,OAAR,EAAgB,qBAAW;AAAA,KAC7B,IAEA;AAGD,SACC,iCACG;AAAA;AAAA,IACF;AAAA,MAAC;AAAA;AAAA,QACA,WAAU;AAAA,QACV,qBAAmB;AAAA,QACnB,iBAAkB;AAAA,QAClB,OAAQ;AAAA,QACR;AAAA,QACA,KAAM;AAAA,QACN,QAAS;AAAA,QACT,UAAW;AAAA,QACX,SAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAQ;AAAA,QACR,gBAAiB;AAAA;AAAA,IAClB;AAAA,KACD;AAEF;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/preset-input-control/index.js
1
+ // packages/block-editor/src/components/preset-input-control/index.jsx
2
2
  import {
3
3
  Button,
4
4
  CustomSelectControl,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/preset-input-control/index.js"],
3
+ "sources": ["../../../src/components/preset-input-control/index.jsx"],
4
4
  "sourcesContent": ["import {\n\tButton,\n\tCustomSelectControl,\n\tIcon as WCIcon,\n\tRangeControl,\n\t__experimentalHStack as HStack,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { usePrevious } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport {\n\tCUSTOM_VALUE_SETTINGS,\n\tICON_SIZE,\n\tRANGE_CONTROL_MAX_SIZE,\n} from './constants';\nimport {\n\tgetCustomValueFromPreset,\n\tgetPresetValueFromCustomValue,\n\tgetSliderValueFromPreset,\n\tisValuePreset,\n} from './utils';\nimport CustomValueControls from './custom-value-controls';\n\n/**\n * PresetInputControl component for selecting preset values or entering custom values.\n *\n * Displays preset values as either a slider (for <= 8 presets) or a select dropdown.\n * Allows toggling to custom value mode with a UnitControl and RangeControl.\n * Handles unit tracking and conversion between preset and custom values.\n *\n * @param {Object} props Component props.\n * @param {boolean} props.allowNegativeOnDrag Whether to allow negative values during drag operations.\n * @param {string} props.ariaLabel Accessible label for the control.\n * @param {string} props.className Optional CSS class name.\n * @param {Object} props.customValueSettings Optional custom value settings for max/steps per unit.\n * @param {boolean} props.disableCustomValues Whether to disable custom value input.\n * @param {Object} props.icon Icon to display alongside the control.\n * @param {boolean} props.isMixed Whether the current value is mixed (multiple values).\n * @param {number} props.minimumCustomValue Minimum allowed custom value.\n * @param {Function} props.onChange Callback when value changes.\n * @param {Function} props.onMouseOut Callback for mouse out events.\n * @param {Function} props.onMouseOver Callback for mouse over events.\n * @param {Function} props.onUnitChange Callback when unit changes.\n * @param {string} props.placeholder Placeholder text forwarded to the inner UnitControl when\n * rendered in custom-value mode.\n * @param {Array} props.presets Array of preset objects with name, slug, and size.\n * @param {string} props.presetType Type of preset (e.g., 'spacing', 'border-radius').\n * @param {string} props.selectedUnit Currently selected unit (e.g., 'px', 'em').\n * @param {boolean} props.showTooltip Whether to show tooltip on custom UnitControl.\n * @param {Array} props.units Array of available unit objects (can include max and step).\n * @param {string} props.value Current value (preset or custom).\n *\n * @return {Element} The PresetInputControl component.\n */\nexport default function PresetInputControl( {\n\tallowNegativeOnDrag = false,\n\tariaLabel,\n\tclassName: classNameProp,\n\tcustomValueSettings = CUSTOM_VALUE_SETTINGS,\n\tdisableCustomValues,\n\ticon,\n\tisMixed,\n\tvalue: valueProp,\n\tminimumCustomValue,\n\tonChange,\n\tonMouseOut,\n\tonMouseOver,\n\tonUnitChange,\n\tplaceholder,\n\tpresets = [],\n\tpresetType,\n\tselectedUnit,\n\tshowTooltip,\n\tunits,\n} ) {\n\tconst value = useMemo(\n\t\t() => getPresetValueFromCustomValue( valueProp, presets, presetType ),\n\t\t[ valueProp, presets, presetType ]\n\t);\n\n\tconst className = classNameProp ?? 'preset-input-control';\n\n\tconst marks = presets\n\t\t.slice( 1, presets.length - 1 )\n\t\t.map( ( _newValue, index ) => ( {\n\t\t\tvalue: index + 1,\n\t\t\tlabel: undefined,\n\t\t} ) );\n\tconst hasPresets = marks.length > 0;\n\tconst showRangeControl = presets.length <= RANGE_CONTROL_MAX_SIZE;\n\n\tconst allPlaceholder = isMixed ? __( 'Mixed' ) : placeholder ?? null;\n\n\tconst [ minValue, setMinValue ] = useState( minimumCustomValue );\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomValues &&\n\t\t\tvalue !== undefined &&\n\t\t\t! isValuePreset( value, presetType )\n\t);\n\n\tlet currentValue = null;\n\n\tconst previousValue = usePrevious( value );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t!! value &&\n\t\t\tpreviousValue !== value &&\n\t\t\t! isValuePreset( value, presetType ) &&\n\t\t\tshowCustomValueControl !== true\n\t\t) {\n\t\t\tsetShowCustomValueControl( true );\n\t\t}\n\t}, [ value, previousValue, presetType, showCustomValueControl ] );\n\n\tconst showCustomValueInSelectList =\n\t\t! showRangeControl &&\n\t\t! showCustomValueControl &&\n\t\tvalue !== undefined &&\n\t\t( ! isValuePreset( value, presetType ) ||\n\t\t\t( isValuePreset( value, presetType ) && isMixed ) );\n\n\tlet selectListOptions = presets;\n\tif ( showCustomValueInSelectList ) {\n\t\tselectListOptions = [\n\t\t\t...presets,\n\t\t\t{\n\t\t\t\tname: ! isMixed\n\t\t\t\t\t? // translators: %s: A custom measurement, e.g. a number followed by a unit like 12px.\n\t\t\t\t\t sprintf( __( 'Custom (%s)' ), value )\n\t\t\t\t\t: __( 'Mixed' ),\n\t\t\t\tslug: 'custom',\n\t\t\t\tsize: value,\n\t\t\t},\n\t\t];\n\t\tcurrentValue = selectListOptions.length - 1;\n\t} else if ( ! isMixed ) {\n\t\tcurrentValue = ! showCustomValueControl\n\t\t\t? getSliderValueFromPreset( value, presets, presetType )\n\t\t\t: getCustomValueFromPreset( value, presets, presetType );\n\t}\n\n\tconst options = selectListOptions.map( ( size, index ) => ( {\n\t\tkey: index,\n\t\tname: size.name,\n\t} ) );\n\n\tconst resolvedPresetValue = isValuePreset( value, presetType )\n\t\t? getCustomValueFromPreset( value, presets, presetType )\n\t\t: value;\n\n\tconst [ parsedQuantity, parsedUnit ] =\n\t\tparseQuantityAndUnitFromRawValue( resolvedPresetValue );\n\n\tconst computedUnit = parsedUnit || selectedUnit || 'px';\n\n\t// Get step and max from units prop, falling back to customValueSettings\n\tconst unitConfig = units?.find( ( item ) => item.value === computedUnit );\n\tconst step =\n\t\tunitConfig?.step ?? customValueSettings[ computedUnit ]?.steps ?? 0.1;\n\tconst max =\n\t\tunitConfig?.max ?? customValueSettings[ computedUnit ]?.max ?? 10;\n\n\tconst handleCustomValueChange = ( newValue ) => {\n\t\t// Treat empty or undefined as an explicit clear and propagate undefined.\n\t\tif ( newValue === undefined || newValue === '' ) {\n\t\t\tonChange( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\t// Ignore non-numeric intermediate input (e.g. just a unit).\n\t\tif ( isNaN( parseFloat( newValue ) ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tonChange( newValue );\n\t};\n\tconst handleCustomValueSliderChange = ( next ) => {\n\t\tonChange( [ next, computedUnit ].join( '' ) );\n\t};\n\tconst customTooltipContent = ( newValue ) =>\n\t\tvalue === undefined ? undefined : presets[ newValue ]?.name;\n\n\tconst getNewPresetValue = ( next, controlType ) => {\n\t\tconst newValue = parseInt( next, 10 );\n\n\t\tif ( controlType === 'selectList' ) {\n\t\t\tif ( newValue === 0 && presets[ 0 ]?.slug === '0' ) {\n\t\t\t\treturn '0';\n\t\t\t}\n\t\t\tif ( newValue === 0 ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t} else if ( newValue === 0 ) {\n\t\t\treturn '0';\n\t\t}\n\t\treturn `var:preset|${ presetType }|${ presets[ next ]?.slug }`;\n\t};\n\n\treturn (\n\t\t<HStack\n\t\t\tclassName={ `preset-input-control__wrapper ${ className }__wrapper` }\n\t\t>\n\t\t\t{ icon && (\n\t\t\t\t<WCIcon\n\t\t\t\t\tclassName=\"preset-input-control__icon\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tsize={ ICON_SIZE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ( ! hasPresets || showCustomValueControl ) && (\n\t\t\t\t<CustomValueControls\n\t\t\t\t\tallowNegativeOnDrag={ allowNegativeOnDrag }\n\t\t\t\t\tariaLabel={ ariaLabel }\n\t\t\t\t\tallPlaceholder={ allPlaceholder }\n\t\t\t\t\tminValue={ minValue }\n\t\t\t\t\tparsedQuantity={ parsedQuantity }\n\t\t\t\t\tcomputedUnit={ computedUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tisMixed={ isMixed }\n\t\t\t\t\tstep={ step }\n\t\t\t\t\tmax={ max }\n\t\t\t\t\tshowTooltip={ showTooltip }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tminimumCustomValue={ minimumCustomValue }\n\t\t\t\t\tonCustomValueChange={ handleCustomValueChange }\n\t\t\t\t\tonCustomValueSliderChange={ handleCustomValueSliderChange }\n\t\t\t\t\tonUnitChange={ onUnitChange }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tsetMinValue={ setMinValue }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasPresets && showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\taria-valuenow={ currentValue }\n\t\t\t\t\taria-valuetext={ presets[ currentValue ]?.name }\n\t\t\t\t\tclassName=\"preset-input-control__preset-range\"\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tinitialPosition={ 0 }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\tmax={ presets.length - 1 }\n\t\t\t\t\tmarks={ marks }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\t\tonChange( getNewPresetValue( newValue ) )\n\t\t\t\t\t}\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\t\t// If mouse down is near start of range set initial value to 0, which\n\t\t\t\t\t\t// prevents the user have to drag right then left to get 0 setting.\n\t\t\t\t\t\tconst nearStart = event?.nativeEvent?.offsetX < 35;\n\t\t\t\t\t\tif ( nearStart && value === undefined ) {\n\t\t\t\t\t\t\tonChange( '0' );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\trenderTooltipContent={ customTooltipContent }\n\t\t\t\t\tstep={ 1 }\n\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\twithInputField={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasPresets && ! showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<CustomSelectControl\n\t\t\t\t\tclassName=\"preset-input-control__custom-select-control\"\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\tonChange={ ( selection ) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tshowCustomValueInSelectList &&\n\t\t\t\t\t\t\tselection.selectedItem.key === options.length - 1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tsetShowCustomValueControl( true );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tgetNewPresetValue(\n\t\t\t\t\t\t\t\t\tselection.selectedItem.key,\n\t\t\t\t\t\t\t\t\t'selectList'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// passing empty string as a fallback to continue using the\n\t\t\t\t\t\t// component in controlled mode\n\t\t\t\t\t\toptions.find(\n\t\t\t\t\t\t\t( option ) => option.key === currentValue\n\t\t\t\t\t\t) || ''\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasPresets && ! disableCustomValues && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"preset-input-control__custom-toggle\"\n\t\t\t\t\ticon={ settings }\n\t\t\t\t\ticonSize={ ICON_SIZE }\n\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t? __( 'Use preset' )\n\t\t\t\t\t\t\t: __( 'Set custom value' )\n\t\t\t\t\t}\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCustomValueControl( ! showCustomValueControl );\n\t\t\t\t\t} }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/components/provider/block-refs-provider.js
1
+ // packages/block-editor/src/components/provider/block-refs-provider.jsx
2
2
  import { createContext, useMemo } from "@wordpress/element";
3
3
  import { observableMap } from "@wordpress/compose";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/components/provider/block-refs-provider.js"],
3
+ "sources": ["../../../src/components/provider/block-refs-provider.jsx"],
4
4
  "sourcesContent": ["import { createContext, useMemo } from '@wordpress/element';\nimport { observableMap } from '@wordpress/compose';\n\n// `eventHandlers` maps a block's client ID to a ref holding its `wrapperProps`\n// event handlers, so the writing flow host can call them for a block that\n// supports `editableRoot` (see `useEditableRootEventHandlers`). It rides in this\n// context, next to `refsMap`, as another per-block registry keyed by client ID.\nexport const BlockRefs = createContext( {\n\trefsMap: observableMap(),\n\teventHandlers: new Map(),\n} );\nBlockRefs.displayName = 'BlockRefsContext';\n\nexport function BlockRefsProvider( { children } ) {\n\tconst value = useMemo(\n\t\t() => ( { refsMap: observableMap(), eventHandlers: new Map() } ),\n\t\t[]\n\t);\n\treturn (\n\t\t<BlockRefs.Provider value={ value }>{ children }</BlockRefs.Provider>\n\t);\n}\n"],
5
5
  "mappings": ";AAAA,SAAS,eAAe,eAAe;AACvC,SAAS,qBAAqB;AAkB5B;AAZK,IAAM,YAAY,cAAe;AAAA,EACvC,SAAS,cAAc;AAAA,EACvB,eAAe,oBAAI,IAAI;AACxB,CAAE;AACF,UAAU,cAAc;AAEjB,SAAS,kBAAmB,EAAE,SAAS,GAAI;AACjD,QAAM,QAAQ;AAAA,IACb,OAAQ,EAAE,SAAS,cAAc,GAAG,eAAe,oBAAI,IAAI,EAAE;AAAA,IAC7D,CAAC;AAAA,EACF;AACA,SACC,oBAAC,UAAU,UAAV,EAAmB,OAAkB,UAAU;AAElD;",
6
6
  "names": []