@wordpress/block-editor 16.2.0 → 17.0.2-next.v.202608281122.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 (1804) hide show
  1. package/CHANGELOG.md +56 -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 +1 -1
  11. package/build/components/background-image-control/index.cjs.map +1 -1
  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 +1 -1
  21. package/build/components/block-allowed-blocks/modal.cjs.map +1 -1
  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 +1 -1
  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 +14 -10
  67. package/build/components/block-inspector/index.cjs.map +3 -3
  68. package/build/components/block-keyboard-shortcuts/index.cjs +201 -0
  69. package/build/components/block-keyboard-shortcuts/index.cjs.map +7 -0
  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 +11 -4
  77. package/build/components/block-list/block.cjs.map +3 -3
  78. package/build/components/block-list/index.cjs +7 -2
  79. package/build/components/block-list/index.cjs.map +3 -3
  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-focus-first-element.cjs +4 -0
  85. package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
  86. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs +6 -7
  87. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.cjs.map +2 -2
  88. package/build/components/block-list/zoom-out-separator.cjs +1 -1
  89. package/build/components/block-list/zoom-out-separator.cjs.map +1 -1
  90. package/build/components/block-list-appender/index.cjs +1 -1
  91. package/build/components/block-list-appender/index.cjs.map +1 -1
  92. package/build/components/block-lock/menu-item.cjs +1 -1
  93. package/build/components/block-lock/menu-item.cjs.map +1 -1
  94. package/build/components/block-lock/modal.cjs +1 -1
  95. package/build/components/block-lock/modal.cjs.map +1 -1
  96. package/build/components/block-lock/toolbar.cjs +1 -1
  97. package/build/components/block-lock/toolbar.cjs.map +1 -1
  98. package/build/components/block-manager/category.cjs +1 -1
  99. package/build/components/block-manager/category.cjs.map +1 -1
  100. package/build/components/block-manager/checklist.cjs +1 -1
  101. package/build/components/block-manager/checklist.cjs.map +1 -1
  102. package/build/components/block-manager/index.cjs +1 -1
  103. package/build/components/block-manager/index.cjs.map +1 -1
  104. package/build/components/block-mover/button.cjs +1 -1
  105. package/build/components/block-mover/button.cjs.map +1 -1
  106. package/build/components/block-mover/index.cjs +1 -1
  107. package/build/components/block-mover/index.cjs.map +1 -1
  108. package/build/components/block-navigation/dropdown.cjs +1 -1
  109. package/build/components/block-navigation/dropdown.cjs.map +1 -1
  110. package/build/components/block-parent-selector/index.cjs +99 -30
  111. package/build/components/block-parent-selector/index.cjs.map +4 -4
  112. package/build/components/block-pattern-setup/index.cjs +1 -1
  113. package/build/components/block-pattern-setup/index.cjs.map +1 -1
  114. package/build/components/block-pattern-setup/setup-toolbar.cjs +1 -1
  115. package/build/components/block-pattern-setup/setup-toolbar.cjs.map +1 -1
  116. package/build/components/block-patterns-list/index.cjs +1 -1
  117. package/build/components/block-patterns-list/index.cjs.map +1 -1
  118. package/build/components/block-patterns-paging/index.cjs +1 -1
  119. package/build/components/block-patterns-paging/index.cjs.map +1 -1
  120. package/build/components/block-popover/cover.cjs +1 -1
  121. package/build/components/block-popover/cover.cjs.map +1 -1
  122. package/build/components/block-popover/drop-zone.cjs +1 -1
  123. package/build/components/block-popover/drop-zone.cjs.map +1 -1
  124. package/build/components/block-popover/inbetween.cjs +3 -3
  125. package/build/components/block-popover/inbetween.cjs.map +3 -3
  126. package/build/components/block-popover/index.cjs +1 -1
  127. package/build/components/block-popover/index.cjs.map +1 -1
  128. package/build/components/block-preview/auto.cjs +1 -1
  129. package/build/components/block-preview/auto.cjs.map +1 -1
  130. package/build/components/block-preview/index.cjs +1 -5
  131. package/build/components/block-preview/index.cjs.map +3 -3
  132. package/build/components/block-quick-navigation/index.cjs +1 -1
  133. package/build/components/block-quick-navigation/index.cjs.map +1 -1
  134. package/build/components/block-removal-warning-modal/index.cjs +1 -1
  135. package/build/components/block-removal-warning-modal/index.cjs.map +1 -1
  136. package/build/components/block-rename/modal.cjs +1 -1
  137. package/build/components/block-rename/modal.cjs.map +1 -1
  138. package/build/components/block-rename/rename-control.cjs +1 -1
  139. package/build/components/block-rename/rename-control.cjs.map +1 -1
  140. package/build/components/block-selection-clearer/index.cjs +1 -1
  141. package/build/components/block-selection-clearer/index.cjs.map +1 -1
  142. package/build/components/block-settings-menu/block-html-convert-button.cjs +1 -1
  143. package/build/components/block-settings-menu/block-html-convert-button.cjs.map +1 -1
  144. package/build/components/block-settings-menu/block-mode-toggle.cjs +1 -1
  145. package/build/components/block-settings-menu/block-mode-toggle.cjs.map +1 -1
  146. package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs +1 -1
  147. package/build/components/block-settings-menu/block-parent-selector-menu-item.cjs.map +1 -1
  148. package/build/components/block-settings-menu/block-settings-dropdown.cjs +1 -1
  149. package/build/components/block-settings-menu/block-settings-dropdown.cjs.map +1 -1
  150. package/build/components/block-settings-menu/index.cjs +1 -1
  151. package/build/components/block-settings-menu/index.cjs.map +1 -1
  152. package/build/components/block-settings-menu-controls/index.cjs +1 -1
  153. package/build/components/block-settings-menu-controls/index.cjs.map +1 -1
  154. package/build/components/block-styles/index.cjs +78 -34
  155. package/build/components/block-styles/index.cjs.map +4 -4
  156. package/build/components/block-styles/menu-items.cjs +1 -1
  157. package/build/components/block-styles/menu-items.cjs.map +1 -1
  158. package/build/components/block-switcher/block-styles-menu.cjs +1 -1
  159. package/build/components/block-switcher/block-styles-menu.cjs.map +1 -1
  160. package/build/components/block-switcher/block-transformations-menu.cjs +1 -1
  161. package/build/components/block-switcher/block-transformations-menu.cjs.map +1 -1
  162. package/build/components/block-switcher/block-variation-transformations.cjs +1 -1
  163. package/build/components/block-switcher/block-variation-transformations.cjs.map +1 -1
  164. package/build/components/block-switcher/index.cjs +1 -1
  165. package/build/components/block-switcher/index.cjs.map +1 -1
  166. package/build/components/block-switcher/pattern-transformations-menu.cjs +1 -1
  167. package/build/components/block-switcher/pattern-transformations-menu.cjs.map +1 -1
  168. package/build/components/block-switcher/preview-block-popover.cjs +1 -1
  169. package/build/components/block-switcher/preview-block-popover.cjs.map +1 -1
  170. package/build/components/block-toolbar/block-styles-dropdown.cjs +1 -1
  171. package/build/components/block-toolbar/block-styles-dropdown.cjs.map +1 -1
  172. package/build/components/block-toolbar/block-toolbar-icon.cjs +1 -1
  173. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +1 -1
  174. package/build/components/block-toolbar/change-design.cjs +1 -1
  175. package/build/components/block-toolbar/change-design.cjs.map +1 -1
  176. package/build/components/block-toolbar/edit-section-button.cjs +1 -1
  177. package/build/components/block-toolbar/edit-section-button.cjs.map +1 -1
  178. package/build/components/block-toolbar/index.cjs +1 -1
  179. package/build/components/block-toolbar/index.cjs.map +1 -1
  180. package/build/components/block-toolbar/pattern-overrides-dropdown.cjs +1 -1
  181. package/build/components/block-toolbar/pattern-overrides-dropdown.cjs.map +1 -1
  182. package/build/components/block-toolbar/switch-section-style.cjs +1 -1
  183. package/build/components/block-toolbar/switch-section-style.cjs.map +1 -1
  184. package/build/components/block-tools/block-toolbar-popover.cjs +1 -1
  185. package/build/components/block-tools/block-toolbar-popover.cjs.map +1 -1
  186. package/build/components/block-tools/empty-block-inserter.cjs +1 -1
  187. package/build/components/block-tools/empty-block-inserter.cjs.map +1 -1
  188. package/build/components/block-tools/index.cjs +1 -1
  189. package/build/components/block-tools/index.cjs.map +1 -1
  190. package/build/components/block-tools/insertion-point.cjs +1 -1
  191. package/build/components/block-tools/insertion-point.cjs.map +1 -1
  192. package/build/components/block-tools/zoom-out-mode-inserter-button.cjs +1 -1
  193. package/build/components/block-tools/zoom-out-mode-inserter-button.cjs.map +1 -1
  194. package/build/components/block-tools/zoom-out-mode-inserters.cjs +1 -1
  195. package/build/components/block-tools/zoom-out-mode-inserters.cjs.map +1 -1
  196. package/build/components/block-types-list/index.cjs +1 -1
  197. package/build/components/block-types-list/index.cjs.map +1 -1
  198. package/build/components/block-variation-picker/index.cjs +1 -1
  199. package/build/components/block-variation-picker/index.cjs.map +1 -1
  200. package/build/components/block-variation-transforms/index.cjs +1 -1
  201. package/build/components/block-variation-transforms/index.cjs.map +1 -1
  202. package/build/components/block-vertical-alignment-control/index.cjs +1 -1
  203. package/build/components/block-vertical-alignment-control/index.cjs.map +1 -1
  204. package/build/components/block-vertical-alignment-control/ui.cjs +1 -1
  205. package/build/components/block-vertical-alignment-control/ui.cjs.map +1 -1
  206. package/build/components/block-visibility/constants.cjs.map +2 -2
  207. package/build/components/block-visibility/modal.cjs +1 -1
  208. package/build/components/block-visibility/modal.cjs.map +1 -1
  209. package/build/components/block-visibility/viewport-menu-item.cjs +1 -1
  210. package/build/components/block-visibility/viewport-menu-item.cjs.map +1 -1
  211. package/build/components/block-visibility/viewport-toolbar.cjs +1 -1
  212. package/build/components/block-visibility/viewport-toolbar.cjs.map +1 -1
  213. package/build/components/block-visibility/viewport-visibility-info.cjs +1 -1
  214. package/build/components/block-visibility/viewport-visibility-info.cjs.map +1 -1
  215. package/build/components/border-radius-control/index.cjs +1 -1
  216. package/build/components/border-radius-control/index.cjs.map +1 -1
  217. package/build/components/border-radius-control/linked-button.cjs +1 -1
  218. package/build/components/border-radius-control/linked-button.cjs.map +1 -1
  219. package/build/components/button-block-appender/index.cjs +1 -1
  220. package/build/components/button-block-appender/index.cjs.map +1 -1
  221. package/build/components/child-layout-control/index.cjs +1 -1
  222. package/build/components/child-layout-control/index.cjs.map +3 -3
  223. package/build/components/color-palette/control.cjs +1 -1
  224. package/build/components/color-palette/control.cjs.map +1 -1
  225. package/build/components/color-palette/with-color-context.cjs +1 -1
  226. package/build/components/color-palette/with-color-context.cjs.map +1 -1
  227. package/build/components/color-style-selector/index.cjs +1 -1
  228. package/build/components/color-style-selector/index.cjs.map +1 -1
  229. package/build/components/colors/with-colors.cjs +56 -72
  230. package/build/components/colors/with-colors.cjs.map +3 -3
  231. package/build/components/colors-gradients/control.cjs +1 -1
  232. package/build/components/colors-gradients/control.cjs.map +1 -1
  233. package/build/components/colors-gradients/dropdown.cjs +1 -1
  234. package/build/components/colors-gradients/dropdown.cjs.map +1 -1
  235. package/build/components/colors-gradients/panel-color-gradient-settings.cjs +1 -1
  236. package/build/components/colors-gradients/panel-color-gradient-settings.cjs.map +1 -1
  237. package/build/components/contrast-checker/index.cjs +1 -1
  238. package/build/components/contrast-checker/index.cjs.map +1 -1
  239. package/build/components/convert-to-group-buttons/index.cjs +1 -1
  240. package/build/components/convert-to-group-buttons/index.cjs.map +1 -1
  241. package/build/components/convert-to-group-buttons/toolbar.cjs +1 -1
  242. package/build/components/convert-to-group-buttons/toolbar.cjs.map +1 -1
  243. package/build/components/copy-handler/index.cjs +1 -1
  244. package/build/components/copy-handler/index.cjs.map +1 -1
  245. package/build/components/date-format-picker/index.cjs +1 -1
  246. package/build/components/date-format-picker/index.cjs.map +1 -1
  247. package/build/components/default-block-appender/index.cjs +1 -1
  248. package/build/components/default-block-appender/index.cjs.map +1 -1
  249. package/build/components/dimension-control/index.cjs +1 -1
  250. package/build/components/dimension-control/index.cjs.map +1 -1
  251. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +5 -3
  252. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +3 -3
  253. package/build/components/dimensions-tool/index.cjs +19 -17
  254. package/build/components/dimensions-tool/index.cjs.map +3 -3
  255. package/build/components/dimensions-tool/scale-tool.cjs +1 -1
  256. package/build/components/dimensions-tool/scale-tool.cjs.map +1 -1
  257. package/build/components/dimensions-tool/utils.cjs +61 -0
  258. package/build/components/dimensions-tool/utils.cjs.map +7 -0
  259. package/build/components/dimensions-tool/width-height-tool.cjs +1 -1
  260. package/build/components/dimensions-tool/width-height-tool.cjs.map +1 -1
  261. package/build/components/duotone-control/index.cjs +3 -1
  262. package/build/components/duotone-control/index.cjs.map +3 -3
  263. package/build/components/editable-text/index.cjs +1 -1
  264. package/build/components/editable-text/index.cjs.map +1 -1
  265. package/build/components/editor-styles/index.cjs +1 -1
  266. package/build/components/editor-styles/index.cjs.map +1 -1
  267. package/build/components/fit-text-size-warning/index.cjs +1 -1
  268. package/build/components/fit-text-size-warning/index.cjs.map +1 -1
  269. package/build/components/font-appearance-control/index.cjs +1 -1
  270. package/build/components/font-appearance-control/index.cjs.map +1 -1
  271. package/build/components/font-family/index.cjs +1 -1
  272. package/build/components/font-family/index.cjs.map +1 -1
  273. package/build/components/font-sizes/font-size-picker.cjs +1 -1
  274. package/build/components/font-sizes/font-size-picker.cjs.map +1 -1
  275. package/build/components/font-sizes/with-font-sizes.cjs +1 -1
  276. package/build/components/font-sizes/with-font-sizes.cjs.map +1 -1
  277. package/build/components/global-styles/advanced-panel.cjs +1 -1
  278. package/build/components/global-styles/advanced-panel.cjs.map +4 -4
  279. package/build/components/global-styles/background-panel.cjs +1 -1
  280. package/build/components/global-styles/background-panel.cjs.map +2 -2
  281. package/build/components/global-styles/border-panel.cjs +3 -6
  282. package/build/components/global-styles/border-panel.cjs.map +3 -3
  283. package/build/components/global-styles/color-gradient-dropdown-item.cjs +1 -1
  284. package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +1 -1
  285. package/build/components/global-styles/color-panel.cjs +15 -3
  286. package/build/components/global-styles/color-panel.cjs.map +3 -3
  287. package/build/components/global-styles/dimensions-panel.cjs +10 -6
  288. package/build/components/global-styles/dimensions-panel.cjs.map +3 -3
  289. package/build/components/global-styles/filters-panel.cjs +13 -9
  290. package/build/components/global-styles/filters-panel.cjs.map +3 -3
  291. package/build/components/global-styles/image-settings-panel.cjs +1 -1
  292. package/build/components/global-styles/image-settings-panel.cjs.map +1 -1
  293. package/build/components/global-styles/inheritance/index.cjs +1 -1
  294. package/build/components/global-styles/inheritance/index.cjs.map +1 -1
  295. package/build/components/global-styles/shadow-panel-components.cjs +17 -12
  296. package/build/components/global-styles/shadow-panel-components.cjs.map +3 -3
  297. package/build/components/global-styles/state-control-badges.cjs +1 -1
  298. package/build/components/global-styles/state-control-badges.cjs.map +1 -1
  299. package/build/components/global-styles/state-control.cjs +1 -1
  300. package/build/components/global-styles/state-control.cjs.map +1 -1
  301. package/build/components/global-styles/typography-panel.cjs +1 -1
  302. package/build/components/global-styles/typography-panel.cjs.map +1 -1
  303. package/build/components/global-styles/utils.cjs +9 -0
  304. package/build/components/global-styles/utils.cjs.map +2 -2
  305. package/build/components/grid/grid-item-movers.cjs +1 -1
  306. package/build/components/grid/grid-item-movers.cjs.map +1 -1
  307. package/build/components/grid/grid-item-resizer.cjs +1 -1
  308. package/build/components/grid/grid-item-resizer.cjs.map +1 -1
  309. package/build/components/grid/grid-visualizer.cjs +1 -1
  310. package/build/components/grid/grid-visualizer.cjs.map +1 -1
  311. package/build/components/height-control/index.cjs +1 -1
  312. package/build/components/height-control/index.cjs.map +1 -1
  313. package/build/components/html-element-control/index.cjs +1 -1
  314. package/build/components/html-element-control/index.cjs.map +1 -1
  315. package/build/components/iframe/index.cjs +1 -1
  316. package/build/components/iframe/index.cjs.map +1 -1
  317. package/build/components/image-editor/aspect-ratio-dropdown.cjs +1 -1
  318. package/build/components/image-editor/aspect-ratio-dropdown.cjs.map +1 -1
  319. package/build/components/image-editor/context.cjs +1 -1
  320. package/build/components/image-editor/context.cjs.map +1 -1
  321. package/build/components/image-editor/cropper.cjs +1 -1
  322. package/build/components/image-editor/cropper.cjs.map +1 -1
  323. package/build/components/image-editor/form-controls.cjs +1 -1
  324. package/build/components/image-editor/form-controls.cjs.map +1 -1
  325. package/build/components/image-editor/index.cjs +1 -1
  326. package/build/components/image-editor/index.cjs.map +1 -1
  327. package/build/components/image-editor/rotation-button.cjs +1 -1
  328. package/build/components/image-editor/rotation-button.cjs.map +1 -1
  329. package/build/components/image-editor/zoom-dropdown.cjs +1 -1
  330. package/build/components/image-editor/zoom-dropdown.cjs.map +1 -1
  331. package/build/components/image-size-control/index.cjs +1 -1
  332. package/build/components/image-size-control/index.cjs.map +1 -1
  333. package/build/components/inner-blocks/button-block-appender.cjs +1 -1
  334. package/build/components/inner-blocks/button-block-appender.cjs.map +1 -1
  335. package/build/components/inner-blocks/default-block-appender.cjs +1 -1
  336. package/build/components/inner-blocks/default-block-appender.cjs.map +1 -1
  337. package/build/components/inner-blocks/index.cjs +6 -4
  338. package/build/components/inner-blocks/index.cjs.map +3 -3
  339. package/build/components/inner-content/index.cjs +1 -1
  340. package/build/components/inner-content/index.cjs.map +1 -1
  341. package/build/components/inserter/block-patterns-explorer/index.cjs +40 -23
  342. package/build/components/inserter/block-patterns-explorer/index.cjs.map +3 -3
  343. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs +22 -56
  344. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.cjs.map +3 -3
  345. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs +20 -45
  346. package/build/components/inserter/block-patterns-explorer/pattern-list.cjs.map +4 -4
  347. package/build/components/inserter/block-patterns-tab/index.cjs +1 -1
  348. package/build/components/inserter/block-patterns-tab/index.cjs.map +1 -1
  349. package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs +1 -1
  350. package/build/components/inserter/block-patterns-tab/pattern-category-previews.cjs.map +1 -1
  351. package/build/components/inserter/block-patterns-tab/patterns-filter.cjs +1 -1
  352. package/build/components/inserter/block-patterns-tab/patterns-filter.cjs.map +1 -1
  353. package/build/components/inserter/block-types-tab.cjs +1 -1
  354. package/build/components/inserter/block-types-tab.cjs.map +1 -1
  355. package/build/components/inserter/category-tabs/index.cjs +1 -1
  356. package/build/components/inserter/category-tabs/index.cjs.map +1 -1
  357. package/build/components/inserter/hooks/use-insertion-point.cjs +4 -4
  358. package/build/components/inserter/hooks/use-insertion-point.cjs.map +2 -2
  359. package/build/components/inserter/index.cjs +1 -1
  360. package/build/components/inserter/index.cjs.map +1 -1
  361. package/build/components/inserter/library.cjs +1 -1
  362. package/build/components/inserter/library.cjs.map +1 -1
  363. package/build/components/inserter/media-tab/media-list.cjs +1 -1
  364. package/build/components/inserter/media-tab/media-list.cjs.map +1 -1
  365. package/build/components/inserter/media-tab/media-panel.cjs +1 -1
  366. package/build/components/inserter/media-tab/media-panel.cjs.map +1 -1
  367. package/build/components/inserter/media-tab/media-preview.cjs +1 -1
  368. package/build/components/inserter/media-tab/media-preview.cjs.map +1 -1
  369. package/build/components/inserter/media-tab/media-tab.cjs +1 -1
  370. package/build/components/inserter/media-tab/media-tab.cjs.map +1 -1
  371. package/build/components/inserter/media-tab/utils.cjs +1 -1
  372. package/build/components/inserter/media-tab/utils.cjs.map +1 -1
  373. package/build/components/inserter/menu.cjs +20 -9
  374. package/build/components/inserter/menu.cjs.map +3 -3
  375. package/build/components/inserter/mobile-tab-navigation.cjs +1 -1
  376. package/build/components/inserter/mobile-tab-navigation.cjs.map +1 -1
  377. package/build/components/inserter/no-results.cjs +1 -1
  378. package/build/components/inserter/no-results.cjs.map +1 -1
  379. package/build/components/inserter/panel.cjs +1 -1
  380. package/build/components/inserter/panel.cjs.map +1 -1
  381. package/build/components/inserter/preview-panel.cjs +1 -1
  382. package/build/components/inserter/preview-panel.cjs.map +1 -1
  383. package/build/components/inserter/quick-inserter.cjs +31 -28
  384. package/build/components/inserter/quick-inserter.cjs.map +3 -3
  385. package/build/components/inserter/search-results.cjs +1 -1
  386. package/build/components/inserter/search-results.cjs.map +1 -1
  387. package/build/components/inserter/tips.cjs +1 -1
  388. package/build/components/inserter/tips.cjs.map +1 -1
  389. package/build/components/inserter-draggable-blocks/index.cjs +1 -1
  390. package/build/components/inserter-draggable-blocks/index.cjs.map +1 -1
  391. package/build/components/inserter-list-item/index.cjs +1 -1
  392. package/build/components/inserter-list-item/index.cjs.map +1 -1
  393. package/build/components/inserter-listbox/group.cjs +1 -1
  394. package/build/components/inserter-listbox/group.cjs.map +1 -1
  395. package/build/components/inserter-listbox/index.cjs +1 -1
  396. package/build/components/inserter-listbox/index.cjs.map +1 -1
  397. package/build/components/inserter-listbox/item.cjs +1 -1
  398. package/build/components/inserter-listbox/item.cjs.map +1 -1
  399. package/build/components/inserter-listbox/row.cjs +1 -1
  400. package/build/components/inserter-listbox/row.cjs.map +1 -1
  401. package/build/components/inspector-controls/block-support-slot-container.cjs +1 -1
  402. package/build/components/inspector-controls/block-support-slot-container.cjs.map +1 -1
  403. package/build/components/inspector-controls/block-support-tools-panel.cjs +1 -1
  404. package/build/components/inspector-controls/block-support-tools-panel.cjs.map +1 -1
  405. package/build/components/inspector-controls/fill.cjs +1 -1
  406. package/build/components/inspector-controls/fill.cjs.map +1 -1
  407. package/build/components/inspector-controls/groups.cjs +3 -1
  408. package/build/components/inspector-controls/groups.cjs.map +2 -2
  409. package/build/components/inspector-controls/index.cjs +1 -1
  410. package/build/components/inspector-controls/index.cjs.map +1 -1
  411. package/build/components/inspector-controls/last-item.cjs +1 -1
  412. package/build/components/inspector-controls/last-item.cjs.map +1 -1
  413. package/build/components/inspector-controls/list-view-content-popover.cjs +1 -1
  414. package/build/components/inspector-controls/list-view-content-popover.cjs.map +1 -1
  415. package/build/components/inspector-controls/slot.cjs +1 -1
  416. package/build/components/inspector-controls/slot.cjs.map +1 -1
  417. package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs +1 -1
  418. package/build/components/inspector-controls-tabs/advanced-controls-panel.cjs.map +1 -1
  419. package/build/components/inspector-controls-tabs/content-tab.cjs +1 -1
  420. package/build/components/inspector-controls-tabs/content-tab.cjs.map +1 -1
  421. package/build/components/inspector-controls-tabs/index.cjs +1 -1
  422. package/build/components/inspector-controls-tabs/index.cjs.map +1 -1
  423. package/build/components/inspector-controls-tabs/position-controls-panel.cjs +1 -1
  424. package/build/components/inspector-controls-tabs/position-controls-panel.cjs.map +1 -1
  425. package/build/components/inspector-controls-tabs/settings-tab.cjs +1 -1
  426. package/build/components/inspector-controls-tabs/settings-tab.cjs.map +1 -1
  427. package/build/components/inspector-controls-tabs/styles-tab.cjs +2 -2
  428. package/build/components/inspector-controls-tabs/styles-tab.cjs.map +3 -3
  429. package/build/components/inspector-popover-header/index.cjs +1 -1
  430. package/build/components/inspector-popover-header/index.cjs.map +1 -1
  431. package/build/components/justify-content-control/index.cjs +1 -1
  432. package/build/components/justify-content-control/index.cjs.map +1 -1
  433. package/build/components/justify-content-control/ui.cjs +1 -1
  434. package/build/components/justify-content-control/ui.cjs.map +1 -1
  435. package/build/components/letter-spacing-control/index.cjs +1 -1
  436. package/build/components/letter-spacing-control/index.cjs.map +1 -1
  437. package/build/components/line-height-control/index.cjs +1 -1
  438. package/build/components/line-height-control/index.cjs.map +1 -1
  439. package/build/components/link-control/index.cjs +1 -1
  440. package/build/components/link-control/index.cjs.map +1 -1
  441. package/build/components/link-control/link-preview.cjs +1 -1
  442. package/build/components/link-control/link-preview.cjs.map +1 -1
  443. package/build/components/link-control/search-create-button.cjs +1 -1
  444. package/build/components/link-control/search-create-button.cjs.map +1 -1
  445. package/build/components/link-control/search-input.cjs +1 -1
  446. package/build/components/link-control/search-input.cjs.map +1 -1
  447. package/build/components/link-control/search-item.cjs +1 -1
  448. package/build/components/link-control/search-item.cjs.map +1 -1
  449. package/build/components/link-control/search-results.cjs +1 -1
  450. package/build/components/link-control/search-results.cjs.map +1 -1
  451. package/build/components/link-control/settings-drawer.cjs +1 -1
  452. package/build/components/link-control/settings-drawer.cjs.map +1 -1
  453. package/build/components/link-control/settings.cjs +1 -1
  454. package/build/components/link-control/settings.cjs.map +1 -1
  455. package/build/components/link-picker/link-picker.cjs +1 -1
  456. package/build/components/link-picker/link-picker.cjs.map +1 -1
  457. package/build/components/link-picker/link-preview.cjs +1 -1
  458. package/build/components/link-picker/link-preview.cjs.map +1 -1
  459. package/build/components/list-view/appender.cjs +1 -1
  460. package/build/components/list-view/appender.cjs.map +1 -1
  461. package/build/components/list-view/aria-referenced-text.cjs +1 -1
  462. package/build/components/list-view/aria-referenced-text.cjs.map +1 -1
  463. package/build/components/list-view/block-contents.cjs +1 -1
  464. package/build/components/list-view/block-contents.cjs.map +1 -1
  465. package/build/components/list-view/block-select-button.cjs +1 -1
  466. package/build/components/list-view/block-select-button.cjs.map +1 -1
  467. package/build/components/list-view/block.cjs +1 -1
  468. package/build/components/list-view/block.cjs.map +1 -1
  469. package/build/components/list-view/branch.cjs +1 -1
  470. package/build/components/list-view/branch.cjs.map +1 -1
  471. package/build/components/list-view/drop-indicator.cjs +1 -1
  472. package/build/components/list-view/drop-indicator.cjs.map +1 -1
  473. package/build/components/list-view/expander.cjs +1 -1
  474. package/build/components/list-view/expander.cjs.map +1 -1
  475. package/build/components/list-view/index.cjs +32 -6
  476. package/build/components/list-view/index.cjs.map +4 -4
  477. package/build/components/list-view/leaf.cjs +1 -1
  478. package/build/components/list-view/leaf.cjs.map +1 -1
  479. package/build/components/list-view/utils.cjs +13 -1
  480. package/build/components/list-view/utils.cjs.map +2 -2
  481. package/build/components/media-placeholder/index.cjs +2 -2
  482. package/build/components/media-placeholder/index.cjs.map +4 -4
  483. package/build/components/media-replace-flow/index.cjs +1 -1
  484. package/build/components/media-replace-flow/index.cjs.map +1 -1
  485. package/build/components/multi-selection-inspector/index.cjs +1 -1
  486. package/build/components/multi-selection-inspector/index.cjs.map +1 -1
  487. package/build/components/navigable-toolbar/index.cjs +1 -1
  488. package/build/components/navigable-toolbar/index.cjs.map +1 -1
  489. package/build/components/observe-typing/index.cjs +1 -1
  490. package/build/components/observe-typing/index.cjs.map +1 -1
  491. package/build/components/panel-color-settings/index.cjs +1 -1
  492. package/build/components/panel-color-settings/index.cjs.map +1 -1
  493. package/build/components/plain-text/index.cjs +1 -1
  494. package/build/components/plain-text/index.cjs.map +1 -1
  495. package/build/components/preset-input-control/custom-value-controls.cjs +1 -1
  496. package/build/components/preset-input-control/custom-value-controls.cjs.map +1 -1
  497. package/build/components/preset-input-control/index.cjs +1 -1
  498. package/build/components/preset-input-control/index.cjs.map +1 -1
  499. package/build/components/provider/block-refs-provider.cjs +1 -1
  500. package/build/components/provider/block-refs-provider.cjs.map +1 -1
  501. package/build/components/provider/index.cjs +26 -5
  502. package/build/components/provider/index.cjs.map +4 -4
  503. package/build/components/provider/with-registry-provider.cjs +1 -1
  504. package/build/components/provider/with-registry-provider.cjs.map +1 -1
  505. package/build/components/publish-date-time-picker/index.cjs +4 -3
  506. package/build/components/publish-date-time-picker/index.cjs.map +3 -3
  507. package/build/components/recursion-provider/index.cjs +1 -1
  508. package/build/components/recursion-provider/index.cjs.map +1 -1
  509. package/build/components/resizable-box-popover/index.cjs +1 -1
  510. package/build/components/resizable-box-popover/index.cjs.map +1 -1
  511. package/build/components/resolution-tool/index.cjs +1 -1
  512. package/build/components/resolution-tool/index.cjs.map +1 -1
  513. package/build/components/responsive-block-control/index.cjs +1 -1
  514. package/build/components/responsive-block-control/index.cjs.map +1 -1
  515. package/build/components/responsive-block-control/label.cjs +1 -1
  516. package/build/components/responsive-block-control/label.cjs.map +1 -1
  517. package/build/components/rich-text/content.cjs +1 -1
  518. package/build/components/rich-text/content.cjs.map +1 -1
  519. package/build/components/rich-text/event-listeners/enter.cjs +46 -39
  520. package/build/components/rich-text/event-listeners/enter.cjs.map +2 -2
  521. package/build/components/rich-text/format-edit.cjs +1 -1
  522. package/build/components/rich-text/format-edit.cjs.map +1 -1
  523. package/build/components/rich-text/format-toolbar/index.cjs +1 -1
  524. package/build/components/rich-text/format-toolbar/index.cjs.map +1 -1
  525. package/build/components/rich-text/format-toolbar-container.cjs +1 -1
  526. package/build/components/rich-text/format-toolbar-container.cjs.map +1 -1
  527. package/build/components/rich-text/get-rich-text-values.cjs +1 -1
  528. package/build/components/rich-text/get-rich-text-values.cjs.map +1 -1
  529. package/build/components/rich-text/index.cjs +8 -6
  530. package/build/components/rich-text/index.cjs.map +3 -3
  531. package/build/components/rich-text/multiline.cjs +106 -71
  532. package/build/components/rich-text/multiline.cjs.map +4 -4
  533. package/build/components/rich-text/toolbar-button.cjs +1 -1
  534. package/build/components/rich-text/toolbar-button.cjs.map +1 -1
  535. package/build/components/rich-text/utils.cjs +1 -1
  536. package/build/components/rich-text/utils.cjs.map +1 -1
  537. package/build/components/rich-text/with-deprecations.cjs +1 -1
  538. package/build/components/rich-text/with-deprecations.cjs.map +1 -1
  539. package/build/components/skip-to-selected-block/index.cjs +1 -1
  540. package/build/components/skip-to-selected-block/index.cjs.map +1 -1
  541. package/build/components/spacing-sizes-control/index.cjs +1 -1
  542. package/build/components/spacing-sizes-control/index.cjs.map +1 -1
  543. package/build/components/spacing-sizes-control/input-controls/axial.cjs +1 -1
  544. package/build/components/spacing-sizes-control/input-controls/axial.cjs.map +1 -1
  545. package/build/components/spacing-sizes-control/input-controls/separated.cjs +1 -1
  546. package/build/components/spacing-sizes-control/input-controls/separated.cjs.map +1 -1
  547. package/build/components/spacing-sizes-control/input-controls/single.cjs +1 -1
  548. package/build/components/spacing-sizes-control/input-controls/single.cjs.map +1 -1
  549. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs +1 -1
  550. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.cjs.map +1 -1
  551. package/build/components/spacing-sizes-control/linked-button.cjs +1 -1
  552. package/build/components/spacing-sizes-control/linked-button.cjs.map +1 -1
  553. package/build/components/tabbed-sidebar/index.cjs +1 -1
  554. package/build/components/tabbed-sidebar/index.cjs.map +1 -1
  555. package/build/components/text-alignment-control/index.cjs +1 -1
  556. package/build/components/text-alignment-control/index.cjs.map +1 -1
  557. package/build/components/text-decoration-control/index.cjs +1 -1
  558. package/build/components/text-decoration-control/index.cjs.map +1 -1
  559. package/build/components/text-indent-control/index.cjs +1 -1
  560. package/build/components/text-indent-control/index.cjs.map +1 -1
  561. package/build/components/text-transform-control/index.cjs +1 -1
  562. package/build/components/text-transform-control/index.cjs.map +1 -1
  563. package/build/components/typewriter/index.cjs +1 -1
  564. package/build/components/typewriter/index.cjs.map +1 -1
  565. package/build/components/unit-control/index.cjs +1 -1
  566. package/build/components/unit-control/index.cjs.map +1 -1
  567. package/build/components/url-input/button.cjs +1 -1
  568. package/build/components/url-input/button.cjs.map +1 -1
  569. package/build/components/url-input/index.cjs +1 -1
  570. package/build/components/url-input/index.cjs.map +3 -3
  571. package/build/components/url-popover/image-url-input-ui.cjs +1 -1
  572. package/build/components/url-popover/image-url-input-ui.cjs.map +1 -1
  573. package/build/components/url-popover/index.cjs +1 -1
  574. package/build/components/url-popover/index.cjs.map +1 -1
  575. package/build/components/url-popover/link-editor.cjs +1 -1
  576. package/build/components/url-popover/link-editor.cjs.map +1 -1
  577. package/build/components/url-popover/link-viewer-url.cjs +1 -1
  578. package/build/components/url-popover/link-viewer-url.cjs.map +1 -1
  579. package/build/components/url-popover/link-viewer.cjs +1 -1
  580. package/build/components/url-popover/link-viewer.cjs.map +1 -1
  581. package/build/components/warning/index.cjs +1 -1
  582. package/build/components/warning/index.cjs.map +1 -1
  583. package/build/components/writing-flow/index.cjs +1 -1
  584. package/build/components/writing-flow/index.cjs.map +1 -1
  585. package/build/components/writing-flow/use-input.cjs +65 -13
  586. package/build/components/writing-flow/use-input.cjs.map +3 -3
  587. package/build/components/writing-flow/use-tab-nav.cjs +1 -1
  588. package/build/components/writing-flow/use-tab-nav.cjs.map +1 -1
  589. package/build/components/writing-mode-control/index.cjs +1 -1
  590. package/build/components/writing-mode-control/index.cjs.map +1 -1
  591. package/build/hooks/align.cjs +1 -1
  592. package/build/hooks/align.cjs.map +1 -1
  593. package/build/hooks/allowed-blocks.cjs +1 -1
  594. package/build/hooks/allowed-blocks.cjs.map +1 -1
  595. package/build/hooks/anchor.cjs +1 -1
  596. package/build/hooks/anchor.cjs.map +1 -1
  597. package/build/hooks/auto-inspector-controls.cjs +1 -1
  598. package/build/hooks/auto-inspector-controls.cjs.map +1 -1
  599. package/build/hooks/background.cjs +1 -1
  600. package/build/hooks/background.cjs.map +1 -1
  601. package/build/hooks/block-bindings.cjs +1 -1
  602. package/build/hooks/block-bindings.cjs.map +1 -1
  603. package/build/hooks/block-fields/fields-dropdown-menu.cjs +1 -1
  604. package/build/hooks/block-fields/fields-dropdown-menu.cjs.map +1 -1
  605. package/build/hooks/block-fields/index.cjs +1 -1
  606. package/build/hooks/block-fields/index.cjs.map +1 -1
  607. package/build/hooks/block-fields/link/index.cjs +1 -1
  608. package/build/hooks/block-fields/link/index.cjs.map +1 -1
  609. package/build/hooks/block-fields/media/index.cjs +1 -1
  610. package/build/hooks/block-fields/media/index.cjs.map +1 -1
  611. package/build/hooks/block-fields/rich-text/index.cjs +1 -1
  612. package/build/hooks/block-fields/rich-text/index.cjs.map +1 -1
  613. package/build/hooks/block-hooks.cjs +1 -1
  614. package/build/hooks/block-hooks.cjs.map +1 -1
  615. package/build/hooks/block-style-variation.cjs +1 -1
  616. package/build/hooks/block-style-variation.cjs.map +1 -1
  617. package/build/hooks/border.cjs +26 -4
  618. package/build/hooks/border.cjs.map +3 -3
  619. package/build/hooks/custom-class-name.cjs +1 -1
  620. package/build/hooks/custom-class-name.cjs.map +1 -1
  621. package/build/hooks/custom-css.cjs +1 -1
  622. package/build/hooks/custom-css.cjs.map +1 -1
  623. package/build/hooks/dimensions.cjs +10 -3
  624. package/build/hooks/dimensions.cjs.map +3 -3
  625. package/build/hooks/duotone.cjs +5 -4
  626. package/build/hooks/duotone.cjs.map +3 -3
  627. package/build/hooks/elements.cjs +1 -1
  628. package/build/hooks/elements.cjs.map +1 -1
  629. package/build/hooks/fit-text.cjs +1 -1
  630. package/build/hooks/fit-text.cjs.map +1 -1
  631. package/build/hooks/font-size.cjs +1 -1
  632. package/build/hooks/font-size.cjs.map +1 -1
  633. package/build/hooks/gap.cjs +8 -2
  634. package/build/hooks/gap.cjs.map +2 -2
  635. package/build/hooks/grid-visualizer.cjs +1 -1
  636. package/build/hooks/grid-visualizer.cjs.map +2 -2
  637. package/build/hooks/layout-child.cjs +36 -14
  638. package/build/hooks/layout-child.cjs.map +3 -3
  639. package/build/hooks/layout.cjs +24 -2
  640. package/build/hooks/layout.cjs.map +3 -3
  641. package/build/hooks/line-height.cjs +1 -1
  642. package/build/hooks/line-height.cjs.map +1 -1
  643. package/build/hooks/list-view.cjs +1 -1
  644. package/build/hooks/list-view.cjs.map +1 -1
  645. package/build/hooks/position.cjs +2 -2
  646. package/build/hooks/position.cjs.map +3 -3
  647. package/build/hooks/spacing-visualizer.cjs +1 -1
  648. package/build/hooks/spacing-visualizer.cjs.map +1 -1
  649. package/build/hooks/states.cjs +8 -5
  650. package/build/hooks/states.cjs.map +3 -3
  651. package/build/hooks/style.cjs +1 -1
  652. package/build/hooks/style.cjs.map +1 -1
  653. package/build/hooks/text-align.cjs +1 -1
  654. package/build/hooks/text-align.cjs.map +1 -1
  655. package/build/hooks/typography.cjs +1 -1
  656. package/build/hooks/typography.cjs.map +1 -1
  657. package/build/hooks/utils.cjs +1 -1
  658. package/build/hooks/utils.cjs.map +1 -1
  659. package/build/layouts/constrained.cjs +9 -2
  660. package/build/layouts/constrained.cjs.map +3 -3
  661. package/build/layouts/flex.cjs +10 -1
  662. package/build/layouts/flex.cjs.map +3 -3
  663. package/build/layouts/flow.cjs +4 -1
  664. package/build/layouts/flow.cjs.map +2 -2
  665. package/build/layouts/grid.cjs +6 -2
  666. package/build/layouts/grid.cjs.map +3 -3
  667. package/build/private-apis.cjs +3 -1
  668. package/build/private-apis.cjs.map +2 -2
  669. package/build/store/actions.cjs +1 -1
  670. package/build/store/actions.cjs.map +2 -2
  671. package/build-module/autocompleters/block.mjs +1 -1
  672. package/build-module/autocompleters/block.mjs.map +1 -1
  673. package/build-module/components/alignment-control/index.mjs +1 -1
  674. package/build-module/components/alignment-control/index.mjs.map +1 -1
  675. package/build-module/components/alignment-control/ui.mjs +1 -1
  676. package/build-module/components/alignment-control/ui.mjs.map +1 -1
  677. package/build-module/components/autocomplete/index.mjs +1 -1
  678. package/build-module/components/autocomplete/index.mjs.map +1 -1
  679. package/build-module/components/background-image-control/index.mjs +1 -1
  680. package/build-module/components/background-image-control/index.mjs.map +1 -1
  681. package/build-module/components/block-alignment-control/index.mjs +1 -1
  682. package/build-module/components/block-alignment-control/index.mjs.map +1 -1
  683. package/build-module/components/block-alignment-control/ui.mjs +1 -1
  684. package/build-module/components/block-alignment-control/ui.mjs.map +1 -1
  685. package/build-module/components/block-alignment-matrix-control/index.mjs +1 -1
  686. package/build-module/components/block-alignment-matrix-control/index.mjs.map +1 -1
  687. package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs +1 -1
  688. package/build-module/components/block-allowed-blocks/allowed-blocks-control.mjs.map +1 -1
  689. package/build-module/components/block-allowed-blocks/modal.mjs +1 -1
  690. package/build-module/components/block-allowed-blocks/modal.mjs.map +1 -1
  691. package/build-module/components/block-bindings/attribute-control.mjs +1 -1
  692. package/build-module/components/block-bindings/attribute-control.mjs.map +1 -1
  693. package/build-module/components/block-bindings/source-fields-list.mjs +1 -1
  694. package/build-module/components/block-bindings/source-fields-list.mjs.map +1 -1
  695. package/build-module/components/block-breadcrumb/index.mjs +1 -1
  696. package/build-module/components/block-breadcrumb/index.mjs.map +1 -1
  697. package/build-module/components/block-canvas/index.mjs +1 -1
  698. package/build-module/components/block-canvas/index.mjs.map +1 -1
  699. package/build-module/components/block-card/index.mjs +1 -1
  700. package/build-module/components/block-card/index.mjs.map +1 -1
  701. package/build-module/components/block-compare/block-view.mjs +1 -1
  702. package/build-module/components/block-compare/block-view.mjs.map +1 -1
  703. package/build-module/components/block-compare/index.mjs +1 -1
  704. package/build-module/components/block-compare/index.mjs.map +1 -1
  705. package/build-module/components/block-context/index.mjs +1 -1
  706. package/build-module/components/block-context/index.mjs.map +1 -1
  707. package/build-module/components/block-controls/fill.mjs +1 -1
  708. package/build-module/components/block-controls/fill.mjs.map +1 -1
  709. package/build-module/components/block-controls/index.mjs +1 -1
  710. package/build-module/components/block-controls/index.mjs.map +1 -1
  711. package/build-module/components/block-controls/slot.mjs +1 -1
  712. package/build-module/components/block-controls/slot.mjs.map +1 -1
  713. package/build-module/components/block-draggable/draggable-chip.mjs +1 -1
  714. package/build-module/components/block-draggable/draggable-chip.mjs.map +1 -1
  715. package/build-module/components/block-draggable/index.mjs +1 -1
  716. package/build-module/components/block-draggable/index.mjs.map +1 -1
  717. package/build-module/components/block-edit/edit.mjs +1 -1
  718. package/build-module/components/block-edit/edit.mjs.map +1 -1
  719. package/build-module/components/block-edit/index.mjs +1 -1
  720. package/build-module/components/block-edit/index.mjs.map +1 -1
  721. package/build-module/components/block-edit/multiple-usage-warning.mjs +1 -1
  722. package/build-module/components/block-edit/multiple-usage-warning.mjs.map +1 -1
  723. package/build-module/components/block-edit-visually-button/index.mjs +1 -1
  724. package/build-module/components/block-edit-visually-button/index.mjs.map +1 -1
  725. package/build-module/components/block-full-height-alignment-control/index.mjs +1 -1
  726. package/build-module/components/block-full-height-alignment-control/index.mjs.map +1 -1
  727. package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs +1 -1
  728. package/build-module/components/block-heading-level-dropdown/heading-level-icon.mjs.map +1 -1
  729. package/build-module/components/block-heading-level-dropdown/index.mjs +1 -1
  730. package/build-module/components/block-heading-level-dropdown/index.mjs.map +1 -1
  731. package/build-module/components/block-icon/index.mjs +1 -1
  732. package/build-module/components/block-icon/index.mjs.map +1 -1
  733. package/build-module/components/block-inspector/edit-contents.mjs +1 -1
  734. package/build-module/components/block-inspector/edit-contents.mjs.map +1 -1
  735. package/build-module/components/block-inspector/index.mjs +14 -10
  736. package/build-module/components/block-inspector/index.mjs.map +3 -3
  737. package/build-module/components/block-keyboard-shortcuts/index.mjs +173 -0
  738. package/build-module/components/block-keyboard-shortcuts/index.mjs.map +7 -0
  739. package/build-module/components/block-list/block-crash-warning.mjs +1 -1
  740. package/build-module/components/block-list/block-crash-warning.mjs.map +1 -1
  741. package/build-module/components/block-list/block-html.mjs +1 -1
  742. package/build-module/components/block-list/block-html.mjs.map +1 -1
  743. package/build-module/components/block-list/block-invalid-warning.mjs +1 -1
  744. package/build-module/components/block-list/block-invalid-warning.mjs.map +1 -1
  745. package/build-module/components/block-list/block.mjs +11 -4
  746. package/build-module/components/block-list/block.mjs.map +3 -3
  747. package/build-module/components/block-list/index.mjs +7 -2
  748. package/build-module/components/block-list/index.mjs.map +3 -3
  749. package/build-module/components/block-list/layout.mjs +1 -1
  750. package/build-module/components/block-list/layout.mjs.map +1 -1
  751. package/build-module/components/block-list/subdirectory-icon.mjs +1 -1
  752. package/build-module/components/block-list/subdirectory-icon.mjs.map +1 -1
  753. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +4 -0
  754. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
  755. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs +6 -7
  756. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.mjs.map +2 -2
  757. package/build-module/components/block-list/zoom-out-separator.mjs +1 -1
  758. package/build-module/components/block-list/zoom-out-separator.mjs.map +1 -1
  759. package/build-module/components/block-list-appender/index.mjs +1 -1
  760. package/build-module/components/block-list-appender/index.mjs.map +1 -1
  761. package/build-module/components/block-lock/menu-item.mjs +1 -1
  762. package/build-module/components/block-lock/menu-item.mjs.map +1 -1
  763. package/build-module/components/block-lock/modal.mjs +1 -1
  764. package/build-module/components/block-lock/modal.mjs.map +1 -1
  765. package/build-module/components/block-lock/toolbar.mjs +1 -1
  766. package/build-module/components/block-lock/toolbar.mjs.map +1 -1
  767. package/build-module/components/block-manager/category.mjs +1 -1
  768. package/build-module/components/block-manager/category.mjs.map +1 -1
  769. package/build-module/components/block-manager/checklist.mjs +1 -1
  770. package/build-module/components/block-manager/checklist.mjs.map +1 -1
  771. package/build-module/components/block-manager/index.mjs +1 -1
  772. package/build-module/components/block-manager/index.mjs.map +1 -1
  773. package/build-module/components/block-mover/button.mjs +1 -1
  774. package/build-module/components/block-mover/button.mjs.map +1 -1
  775. package/build-module/components/block-mover/index.mjs +1 -1
  776. package/build-module/components/block-mover/index.mjs.map +1 -1
  777. package/build-module/components/block-navigation/dropdown.mjs +1 -1
  778. package/build-module/components/block-navigation/dropdown.mjs.map +1 -1
  779. package/build-module/components/block-parent-selector/index.mjs +102 -33
  780. package/build-module/components/block-parent-selector/index.mjs.map +3 -3
  781. package/build-module/components/block-pattern-setup/index.mjs +1 -1
  782. package/build-module/components/block-pattern-setup/index.mjs.map +1 -1
  783. package/build-module/components/block-pattern-setup/setup-toolbar.mjs +1 -1
  784. package/build-module/components/block-pattern-setup/setup-toolbar.mjs.map +1 -1
  785. package/build-module/components/block-patterns-list/index.mjs +1 -1
  786. package/build-module/components/block-patterns-list/index.mjs.map +1 -1
  787. package/build-module/components/block-patterns-paging/index.mjs +1 -1
  788. package/build-module/components/block-patterns-paging/index.mjs.map +1 -1
  789. package/build-module/components/block-popover/cover.mjs +1 -1
  790. package/build-module/components/block-popover/cover.mjs.map +1 -1
  791. package/build-module/components/block-popover/drop-zone.mjs +1 -1
  792. package/build-module/components/block-popover/drop-zone.mjs.map +1 -1
  793. package/build-module/components/block-popover/inbetween.mjs +3 -3
  794. package/build-module/components/block-popover/inbetween.mjs.map +3 -3
  795. package/build-module/components/block-popover/index.mjs +1 -1
  796. package/build-module/components/block-popover/index.mjs.map +1 -1
  797. package/build-module/components/block-preview/auto.mjs +1 -1
  798. package/build-module/components/block-preview/auto.mjs.map +1 -1
  799. package/build-module/components/block-preview/index.mjs +1 -5
  800. package/build-module/components/block-preview/index.mjs.map +3 -3
  801. package/build-module/components/block-quick-navigation/index.mjs +1 -1
  802. package/build-module/components/block-quick-navigation/index.mjs.map +1 -1
  803. package/build-module/components/block-removal-warning-modal/index.mjs +1 -1
  804. package/build-module/components/block-removal-warning-modal/index.mjs.map +1 -1
  805. package/build-module/components/block-rename/modal.mjs +1 -1
  806. package/build-module/components/block-rename/modal.mjs.map +1 -1
  807. package/build-module/components/block-rename/rename-control.mjs +1 -1
  808. package/build-module/components/block-rename/rename-control.mjs.map +1 -1
  809. package/build-module/components/block-selection-clearer/index.mjs +1 -1
  810. package/build-module/components/block-selection-clearer/index.mjs.map +1 -1
  811. package/build-module/components/block-settings-menu/block-html-convert-button.mjs +1 -1
  812. package/build-module/components/block-settings-menu/block-html-convert-button.mjs.map +1 -1
  813. package/build-module/components/block-settings-menu/block-mode-toggle.mjs +1 -1
  814. package/build-module/components/block-settings-menu/block-mode-toggle.mjs.map +1 -1
  815. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs +1 -1
  816. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.mjs.map +1 -1
  817. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs +1 -1
  818. package/build-module/components/block-settings-menu/block-settings-dropdown.mjs.map +1 -1
  819. package/build-module/components/block-settings-menu/index.mjs +1 -1
  820. package/build-module/components/block-settings-menu/index.mjs.map +1 -1
  821. package/build-module/components/block-settings-menu-controls/index.mjs +1 -1
  822. package/build-module/components/block-settings-menu-controls/index.mjs.map +1 -1
  823. package/build-module/components/block-styles/index.mjs +80 -36
  824. package/build-module/components/block-styles/index.mjs.map +3 -3
  825. package/build-module/components/block-styles/menu-items.mjs +1 -1
  826. package/build-module/components/block-styles/menu-items.mjs.map +1 -1
  827. package/build-module/components/block-switcher/block-styles-menu.mjs +1 -1
  828. package/build-module/components/block-switcher/block-styles-menu.mjs.map +1 -1
  829. package/build-module/components/block-switcher/block-transformations-menu.mjs +1 -1
  830. package/build-module/components/block-switcher/block-transformations-menu.mjs.map +1 -1
  831. package/build-module/components/block-switcher/block-variation-transformations.mjs +1 -1
  832. package/build-module/components/block-switcher/block-variation-transformations.mjs.map +1 -1
  833. package/build-module/components/block-switcher/index.mjs +1 -1
  834. package/build-module/components/block-switcher/index.mjs.map +1 -1
  835. package/build-module/components/block-switcher/pattern-transformations-menu.mjs +1 -1
  836. package/build-module/components/block-switcher/pattern-transformations-menu.mjs.map +1 -1
  837. package/build-module/components/block-switcher/preview-block-popover.mjs +1 -1
  838. package/build-module/components/block-switcher/preview-block-popover.mjs.map +1 -1
  839. package/build-module/components/block-toolbar/block-styles-dropdown.mjs +1 -1
  840. package/build-module/components/block-toolbar/block-styles-dropdown.mjs.map +1 -1
  841. package/build-module/components/block-toolbar/block-toolbar-icon.mjs +1 -1
  842. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +1 -1
  843. package/build-module/components/block-toolbar/change-design.mjs +1 -1
  844. package/build-module/components/block-toolbar/change-design.mjs.map +1 -1
  845. package/build-module/components/block-toolbar/edit-section-button.mjs +1 -1
  846. package/build-module/components/block-toolbar/edit-section-button.mjs.map +1 -1
  847. package/build-module/components/block-toolbar/index.mjs +1 -1
  848. package/build-module/components/block-toolbar/index.mjs.map +1 -1
  849. package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs +1 -1
  850. package/build-module/components/block-toolbar/pattern-overrides-dropdown.mjs.map +1 -1
  851. package/build-module/components/block-toolbar/switch-section-style.mjs +1 -1
  852. package/build-module/components/block-toolbar/switch-section-style.mjs.map +1 -1
  853. package/build-module/components/block-tools/block-toolbar-popover.mjs +1 -1
  854. package/build-module/components/block-tools/block-toolbar-popover.mjs.map +1 -1
  855. package/build-module/components/block-tools/empty-block-inserter.mjs +1 -1
  856. package/build-module/components/block-tools/empty-block-inserter.mjs.map +1 -1
  857. package/build-module/components/block-tools/index.mjs +1 -1
  858. package/build-module/components/block-tools/index.mjs.map +1 -1
  859. package/build-module/components/block-tools/insertion-point.mjs +1 -1
  860. package/build-module/components/block-tools/insertion-point.mjs.map +1 -1
  861. package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs +1 -1
  862. package/build-module/components/block-tools/zoom-out-mode-inserter-button.mjs.map +1 -1
  863. package/build-module/components/block-tools/zoom-out-mode-inserters.mjs +1 -1
  864. package/build-module/components/block-tools/zoom-out-mode-inserters.mjs.map +1 -1
  865. package/build-module/components/block-types-list/index.mjs +1 -1
  866. package/build-module/components/block-types-list/index.mjs.map +1 -1
  867. package/build-module/components/block-variation-picker/index.mjs +1 -1
  868. package/build-module/components/block-variation-picker/index.mjs.map +1 -1
  869. package/build-module/components/block-variation-transforms/index.mjs +1 -1
  870. package/build-module/components/block-variation-transforms/index.mjs.map +1 -1
  871. package/build-module/components/block-vertical-alignment-control/index.mjs +1 -1
  872. package/build-module/components/block-vertical-alignment-control/index.mjs.map +1 -1
  873. package/build-module/components/block-vertical-alignment-control/ui.mjs +1 -1
  874. package/build-module/components/block-vertical-alignment-control/ui.mjs.map +1 -1
  875. package/build-module/components/block-visibility/constants.mjs.map +2 -2
  876. package/build-module/components/block-visibility/modal.mjs +1 -1
  877. package/build-module/components/block-visibility/modal.mjs.map +1 -1
  878. package/build-module/components/block-visibility/viewport-menu-item.mjs +1 -1
  879. package/build-module/components/block-visibility/viewport-menu-item.mjs.map +1 -1
  880. package/build-module/components/block-visibility/viewport-toolbar.mjs +1 -1
  881. package/build-module/components/block-visibility/viewport-toolbar.mjs.map +1 -1
  882. package/build-module/components/block-visibility/viewport-visibility-info.mjs +1 -1
  883. package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +1 -1
  884. package/build-module/components/border-radius-control/index.mjs +1 -1
  885. package/build-module/components/border-radius-control/index.mjs.map +1 -1
  886. package/build-module/components/border-radius-control/linked-button.mjs +1 -1
  887. package/build-module/components/border-radius-control/linked-button.mjs.map +1 -1
  888. package/build-module/components/button-block-appender/index.mjs +1 -1
  889. package/build-module/components/button-block-appender/index.mjs.map +1 -1
  890. package/build-module/components/child-layout-control/index.mjs +6 -6
  891. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  892. package/build-module/components/color-palette/control.mjs +1 -1
  893. package/build-module/components/color-palette/control.mjs.map +1 -1
  894. package/build-module/components/color-palette/with-color-context.mjs +1 -1
  895. package/build-module/components/color-palette/with-color-context.mjs.map +1 -1
  896. package/build-module/components/color-style-selector/index.mjs +1 -1
  897. package/build-module/components/color-style-selector/index.mjs.map +1 -1
  898. package/build-module/components/colors/with-colors.mjs +57 -73
  899. package/build-module/components/colors/with-colors.mjs.map +3 -3
  900. package/build-module/components/colors-gradients/control.mjs +1 -1
  901. package/build-module/components/colors-gradients/control.mjs.map +1 -1
  902. package/build-module/components/colors-gradients/dropdown.mjs +1 -1
  903. package/build-module/components/colors-gradients/dropdown.mjs.map +1 -1
  904. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs +1 -1
  905. package/build-module/components/colors-gradients/panel-color-gradient-settings.mjs.map +1 -1
  906. package/build-module/components/contrast-checker/index.mjs +1 -1
  907. package/build-module/components/contrast-checker/index.mjs.map +1 -1
  908. package/build-module/components/convert-to-group-buttons/index.mjs +1 -1
  909. package/build-module/components/convert-to-group-buttons/index.mjs.map +1 -1
  910. package/build-module/components/convert-to-group-buttons/toolbar.mjs +1 -1
  911. package/build-module/components/convert-to-group-buttons/toolbar.mjs.map +1 -1
  912. package/build-module/components/copy-handler/index.mjs +1 -1
  913. package/build-module/components/copy-handler/index.mjs.map +1 -1
  914. package/build-module/components/date-format-picker/index.mjs +1 -1
  915. package/build-module/components/date-format-picker/index.mjs.map +1 -1
  916. package/build-module/components/default-block-appender/index.mjs +1 -1
  917. package/build-module/components/default-block-appender/index.mjs.map +1 -1
  918. package/build-module/components/dimension-control/index.mjs +1 -1
  919. package/build-module/components/dimension-control/index.mjs.map +1 -1
  920. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +5 -3
  921. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +3 -3
  922. package/build-module/components/dimensions-tool/index.mjs +20 -18
  923. package/build-module/components/dimensions-tool/index.mjs.map +3 -3
  924. package/build-module/components/dimensions-tool/scale-tool.mjs +1 -1
  925. package/build-module/components/dimensions-tool/scale-tool.mjs.map +1 -1
  926. package/build-module/components/dimensions-tool/utils.mjs +35 -0
  927. package/build-module/components/dimensions-tool/utils.mjs.map +7 -0
  928. package/build-module/components/dimensions-tool/width-height-tool.mjs +1 -1
  929. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +1 -1
  930. package/build-module/components/duotone-control/index.mjs +3 -1
  931. package/build-module/components/duotone-control/index.mjs.map +3 -3
  932. package/build-module/components/editable-text/index.mjs +1 -1
  933. package/build-module/components/editable-text/index.mjs.map +1 -1
  934. package/build-module/components/editor-styles/index.mjs +1 -1
  935. package/build-module/components/editor-styles/index.mjs.map +1 -1
  936. package/build-module/components/fit-text-size-warning/index.mjs +1 -1
  937. package/build-module/components/fit-text-size-warning/index.mjs.map +1 -1
  938. package/build-module/components/font-appearance-control/index.mjs +1 -1
  939. package/build-module/components/font-appearance-control/index.mjs.map +1 -1
  940. package/build-module/components/font-family/index.mjs +1 -1
  941. package/build-module/components/font-family/index.mjs.map +1 -1
  942. package/build-module/components/font-sizes/font-size-picker.mjs +1 -1
  943. package/build-module/components/font-sizes/font-size-picker.mjs.map +1 -1
  944. package/build-module/components/font-sizes/with-font-sizes.mjs +1 -1
  945. package/build-module/components/font-sizes/with-font-sizes.mjs.map +1 -1
  946. package/build-module/components/global-styles/advanced-panel.mjs +6 -3
  947. package/build-module/components/global-styles/advanced-panel.mjs.map +3 -3
  948. package/build-module/components/global-styles/background-panel.mjs +1 -1
  949. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  950. package/build-module/components/global-styles/border-panel.mjs +3 -6
  951. package/build-module/components/global-styles/border-panel.mjs.map +3 -3
  952. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +1 -1
  953. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +1 -1
  954. package/build-module/components/global-styles/color-panel.mjs +15 -3
  955. package/build-module/components/global-styles/color-panel.mjs.map +3 -3
  956. package/build-module/components/global-styles/dimensions-panel.mjs +10 -6
  957. package/build-module/components/global-styles/dimensions-panel.mjs.map +3 -3
  958. package/build-module/components/global-styles/filters-panel.mjs +17 -10
  959. package/build-module/components/global-styles/filters-panel.mjs.map +3 -3
  960. package/build-module/components/global-styles/image-settings-panel.mjs +1 -1
  961. package/build-module/components/global-styles/image-settings-panel.mjs.map +1 -1
  962. package/build-module/components/global-styles/inheritance/index.mjs +1 -1
  963. package/build-module/components/global-styles/inheritance/index.mjs.map +1 -1
  964. package/build-module/components/global-styles/shadow-panel-components.mjs +17 -12
  965. package/build-module/components/global-styles/shadow-panel-components.mjs.map +3 -3
  966. package/build-module/components/global-styles/state-control-badges.mjs +1 -1
  967. package/build-module/components/global-styles/state-control-badges.mjs.map +1 -1
  968. package/build-module/components/global-styles/state-control.mjs +1 -1
  969. package/build-module/components/global-styles/state-control.mjs.map +1 -1
  970. package/build-module/components/global-styles/typography-panel.mjs +1 -1
  971. package/build-module/components/global-styles/typography-panel.mjs.map +1 -1
  972. package/build-module/components/global-styles/utils.mjs +8 -0
  973. package/build-module/components/global-styles/utils.mjs.map +2 -2
  974. package/build-module/components/grid/grid-item-movers.mjs +1 -1
  975. package/build-module/components/grid/grid-item-movers.mjs.map +1 -1
  976. package/build-module/components/grid/grid-item-resizer.mjs +1 -1
  977. package/build-module/components/grid/grid-item-resizer.mjs.map +1 -1
  978. package/build-module/components/grid/grid-visualizer.mjs +1 -1
  979. package/build-module/components/grid/grid-visualizer.mjs.map +1 -1
  980. package/build-module/components/height-control/index.mjs +1 -1
  981. package/build-module/components/height-control/index.mjs.map +1 -1
  982. package/build-module/components/html-element-control/index.mjs +1 -1
  983. package/build-module/components/html-element-control/index.mjs.map +1 -1
  984. package/build-module/components/iframe/index.mjs +1 -1
  985. package/build-module/components/iframe/index.mjs.map +1 -1
  986. package/build-module/components/image-editor/aspect-ratio-dropdown.mjs +1 -1
  987. package/build-module/components/image-editor/aspect-ratio-dropdown.mjs.map +1 -1
  988. package/build-module/components/image-editor/context.mjs +1 -1
  989. package/build-module/components/image-editor/context.mjs.map +1 -1
  990. package/build-module/components/image-editor/cropper.mjs +1 -1
  991. package/build-module/components/image-editor/cropper.mjs.map +1 -1
  992. package/build-module/components/image-editor/form-controls.mjs +1 -1
  993. package/build-module/components/image-editor/form-controls.mjs.map +1 -1
  994. package/build-module/components/image-editor/index.mjs +1 -1
  995. package/build-module/components/image-editor/index.mjs.map +1 -1
  996. package/build-module/components/image-editor/rotation-button.mjs +1 -1
  997. package/build-module/components/image-editor/rotation-button.mjs.map +1 -1
  998. package/build-module/components/image-editor/zoom-dropdown.mjs +1 -1
  999. package/build-module/components/image-editor/zoom-dropdown.mjs.map +1 -1
  1000. package/build-module/components/image-size-control/index.mjs +1 -1
  1001. package/build-module/components/image-size-control/index.mjs.map +1 -1
  1002. package/build-module/components/inner-blocks/button-block-appender.mjs +1 -1
  1003. package/build-module/components/inner-blocks/button-block-appender.mjs.map +1 -1
  1004. package/build-module/components/inner-blocks/default-block-appender.mjs +1 -1
  1005. package/build-module/components/inner-blocks/default-block-appender.mjs.map +1 -1
  1006. package/build-module/components/inner-blocks/index.mjs +6 -4
  1007. package/build-module/components/inner-blocks/index.mjs.map +3 -3
  1008. package/build-module/components/inner-content/index.mjs +1 -1
  1009. package/build-module/components/inner-content/index.mjs.map +1 -1
  1010. package/build-module/components/inserter/block-patterns-explorer/index.mjs +40 -23
  1011. package/build-module/components/inserter/block-patterns-explorer/index.mjs.map +3 -3
  1012. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs +23 -57
  1013. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.mjs.map +3 -3
  1014. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs +21 -46
  1015. package/build-module/components/inserter/block-patterns-explorer/pattern-list.mjs.map +3 -3
  1016. package/build-module/components/inserter/block-patterns-tab/index.mjs +1 -1
  1017. package/build-module/components/inserter/block-patterns-tab/index.mjs.map +1 -1
  1018. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs +1 -1
  1019. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.mjs.map +1 -1
  1020. package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs +1 -1
  1021. package/build-module/components/inserter/block-patterns-tab/patterns-filter.mjs.map +1 -1
  1022. package/build-module/components/inserter/block-types-tab.mjs +1 -1
  1023. package/build-module/components/inserter/block-types-tab.mjs.map +1 -1
  1024. package/build-module/components/inserter/category-tabs/index.mjs +1 -1
  1025. package/build-module/components/inserter/category-tabs/index.mjs.map +1 -1
  1026. package/build-module/components/inserter/hooks/use-insertion-point.mjs +4 -4
  1027. package/build-module/components/inserter/hooks/use-insertion-point.mjs.map +2 -2
  1028. package/build-module/components/inserter/index.mjs +1 -1
  1029. package/build-module/components/inserter/index.mjs.map +1 -1
  1030. package/build-module/components/inserter/library.mjs +1 -1
  1031. package/build-module/components/inserter/library.mjs.map +1 -1
  1032. package/build-module/components/inserter/media-tab/media-list.mjs +1 -1
  1033. package/build-module/components/inserter/media-tab/media-list.mjs.map +1 -1
  1034. package/build-module/components/inserter/media-tab/media-panel.mjs +1 -1
  1035. package/build-module/components/inserter/media-tab/media-panel.mjs.map +1 -1
  1036. package/build-module/components/inserter/media-tab/media-preview.mjs +1 -1
  1037. package/build-module/components/inserter/media-tab/media-preview.mjs.map +1 -1
  1038. package/build-module/components/inserter/media-tab/media-tab.mjs +1 -1
  1039. package/build-module/components/inserter/media-tab/media-tab.mjs.map +1 -1
  1040. package/build-module/components/inserter/media-tab/utils.mjs +1 -1
  1041. package/build-module/components/inserter/media-tab/utils.mjs.map +1 -1
  1042. package/build-module/components/inserter/menu.mjs +21 -10
  1043. package/build-module/components/inserter/menu.mjs.map +3 -3
  1044. package/build-module/components/inserter/mobile-tab-navigation.mjs +1 -1
  1045. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +1 -1
  1046. package/build-module/components/inserter/no-results.mjs +1 -1
  1047. package/build-module/components/inserter/no-results.mjs.map +1 -1
  1048. package/build-module/components/inserter/panel.mjs +1 -1
  1049. package/build-module/components/inserter/panel.mjs.map +1 -1
  1050. package/build-module/components/inserter/preview-panel.mjs +1 -1
  1051. package/build-module/components/inserter/preview-panel.mjs.map +1 -1
  1052. package/build-module/components/inserter/quick-inserter.mjs +31 -28
  1053. package/build-module/components/inserter/quick-inserter.mjs.map +3 -3
  1054. package/build-module/components/inserter/search-results.mjs +1 -1
  1055. package/build-module/components/inserter/search-results.mjs.map +1 -1
  1056. package/build-module/components/inserter/tips.mjs +1 -1
  1057. package/build-module/components/inserter/tips.mjs.map +1 -1
  1058. package/build-module/components/inserter-draggable-blocks/index.mjs +1 -1
  1059. package/build-module/components/inserter-draggable-blocks/index.mjs.map +1 -1
  1060. package/build-module/components/inserter-list-item/index.mjs +1 -1
  1061. package/build-module/components/inserter-list-item/index.mjs.map +1 -1
  1062. package/build-module/components/inserter-listbox/group.mjs +1 -1
  1063. package/build-module/components/inserter-listbox/group.mjs.map +1 -1
  1064. package/build-module/components/inserter-listbox/index.mjs +1 -1
  1065. package/build-module/components/inserter-listbox/index.mjs.map +1 -1
  1066. package/build-module/components/inserter-listbox/item.mjs +1 -1
  1067. package/build-module/components/inserter-listbox/item.mjs.map +1 -1
  1068. package/build-module/components/inserter-listbox/row.mjs +1 -1
  1069. package/build-module/components/inserter-listbox/row.mjs.map +1 -1
  1070. package/build-module/components/inspector-controls/block-support-slot-container.mjs +1 -1
  1071. package/build-module/components/inspector-controls/block-support-slot-container.mjs.map +1 -1
  1072. package/build-module/components/inspector-controls/block-support-tools-panel.mjs +1 -1
  1073. package/build-module/components/inspector-controls/block-support-tools-panel.mjs.map +1 -1
  1074. package/build-module/components/inspector-controls/fill.mjs +1 -1
  1075. package/build-module/components/inspector-controls/fill.mjs.map +1 -1
  1076. package/build-module/components/inspector-controls/groups.mjs +3 -1
  1077. package/build-module/components/inspector-controls/groups.mjs.map +2 -2
  1078. package/build-module/components/inspector-controls/index.mjs +1 -1
  1079. package/build-module/components/inspector-controls/index.mjs.map +1 -1
  1080. package/build-module/components/inspector-controls/last-item.mjs +1 -1
  1081. package/build-module/components/inspector-controls/last-item.mjs.map +1 -1
  1082. package/build-module/components/inspector-controls/list-view-content-popover.mjs +1 -1
  1083. package/build-module/components/inspector-controls/list-view-content-popover.mjs.map +1 -1
  1084. package/build-module/components/inspector-controls/slot.mjs +1 -1
  1085. package/build-module/components/inspector-controls/slot.mjs.map +1 -1
  1086. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs +1 -1
  1087. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.mjs.map +1 -1
  1088. package/build-module/components/inspector-controls-tabs/content-tab.mjs +1 -1
  1089. package/build-module/components/inspector-controls-tabs/content-tab.mjs.map +1 -1
  1090. package/build-module/components/inspector-controls-tabs/index.mjs +1 -1
  1091. package/build-module/components/inspector-controls-tabs/index.mjs.map +1 -1
  1092. package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs +1 -1
  1093. package/build-module/components/inspector-controls-tabs/position-controls-panel.mjs.map +1 -1
  1094. package/build-module/components/inspector-controls-tabs/settings-tab.mjs +1 -1
  1095. package/build-module/components/inspector-controls-tabs/settings-tab.mjs.map +1 -1
  1096. package/build-module/components/inspector-controls-tabs/styles-tab.mjs +2 -2
  1097. package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +3 -3
  1098. package/build-module/components/inspector-popover-header/index.mjs +1 -1
  1099. package/build-module/components/inspector-popover-header/index.mjs.map +1 -1
  1100. package/build-module/components/justify-content-control/index.mjs +1 -1
  1101. package/build-module/components/justify-content-control/index.mjs.map +1 -1
  1102. package/build-module/components/justify-content-control/ui.mjs +1 -1
  1103. package/build-module/components/justify-content-control/ui.mjs.map +1 -1
  1104. package/build-module/components/letter-spacing-control/index.mjs +1 -1
  1105. package/build-module/components/letter-spacing-control/index.mjs.map +1 -1
  1106. package/build-module/components/line-height-control/index.mjs +1 -1
  1107. package/build-module/components/line-height-control/index.mjs.map +1 -1
  1108. package/build-module/components/link-control/index.mjs +1 -1
  1109. package/build-module/components/link-control/index.mjs.map +1 -1
  1110. package/build-module/components/link-control/link-preview.mjs +1 -1
  1111. package/build-module/components/link-control/link-preview.mjs.map +1 -1
  1112. package/build-module/components/link-control/search-create-button.mjs +1 -1
  1113. package/build-module/components/link-control/search-create-button.mjs.map +1 -1
  1114. package/build-module/components/link-control/search-input.mjs +1 -1
  1115. package/build-module/components/link-control/search-input.mjs.map +1 -1
  1116. package/build-module/components/link-control/search-item.mjs +1 -1
  1117. package/build-module/components/link-control/search-item.mjs.map +1 -1
  1118. package/build-module/components/link-control/search-results.mjs +1 -1
  1119. package/build-module/components/link-control/search-results.mjs.map +1 -1
  1120. package/build-module/components/link-control/settings-drawer.mjs +1 -1
  1121. package/build-module/components/link-control/settings-drawer.mjs.map +1 -1
  1122. package/build-module/components/link-control/settings.mjs +1 -1
  1123. package/build-module/components/link-control/settings.mjs.map +1 -1
  1124. package/build-module/components/link-picker/link-picker.mjs +1 -1
  1125. package/build-module/components/link-picker/link-picker.mjs.map +1 -1
  1126. package/build-module/components/link-picker/link-preview.mjs +1 -1
  1127. package/build-module/components/link-picker/link-preview.mjs.map +1 -1
  1128. package/build-module/components/list-view/appender.mjs +1 -1
  1129. package/build-module/components/list-view/appender.mjs.map +1 -1
  1130. package/build-module/components/list-view/aria-referenced-text.mjs +1 -1
  1131. package/build-module/components/list-view/aria-referenced-text.mjs.map +1 -1
  1132. package/build-module/components/list-view/block-contents.mjs +1 -1
  1133. package/build-module/components/list-view/block-contents.mjs.map +1 -1
  1134. package/build-module/components/list-view/block-select-button.mjs +1 -1
  1135. package/build-module/components/list-view/block-select-button.mjs.map +1 -1
  1136. package/build-module/components/list-view/block.mjs +1 -1
  1137. package/build-module/components/list-view/block.mjs.map +1 -1
  1138. package/build-module/components/list-view/branch.mjs +1 -1
  1139. package/build-module/components/list-view/branch.mjs.map +1 -1
  1140. package/build-module/components/list-view/drop-indicator.mjs +1 -1
  1141. package/build-module/components/list-view/drop-indicator.mjs.map +1 -1
  1142. package/build-module/components/list-view/expander.mjs +1 -1
  1143. package/build-module/components/list-view/expander.mjs.map +1 -1
  1144. package/build-module/components/list-view/index.mjs +33 -6
  1145. package/build-module/components/list-view/index.mjs.map +4 -4
  1146. package/build-module/components/list-view/leaf.mjs +1 -1
  1147. package/build-module/components/list-view/leaf.mjs.map +1 -1
  1148. package/build-module/components/list-view/utils.mjs +13 -1
  1149. package/build-module/components/list-view/utils.mjs.map +2 -2
  1150. package/build-module/components/media-placeholder/index.mjs +4 -4
  1151. package/build-module/components/media-placeholder/index.mjs.map +3 -3
  1152. package/build-module/components/media-replace-flow/index.mjs +1 -1
  1153. package/build-module/components/media-replace-flow/index.mjs.map +1 -1
  1154. package/build-module/components/multi-selection-inspector/index.mjs +1 -1
  1155. package/build-module/components/multi-selection-inspector/index.mjs.map +1 -1
  1156. package/build-module/components/navigable-toolbar/index.mjs +1 -1
  1157. package/build-module/components/navigable-toolbar/index.mjs.map +1 -1
  1158. package/build-module/components/observe-typing/index.mjs +1 -1
  1159. package/build-module/components/observe-typing/index.mjs.map +1 -1
  1160. package/build-module/components/panel-color-settings/index.mjs +1 -1
  1161. package/build-module/components/panel-color-settings/index.mjs.map +1 -1
  1162. package/build-module/components/plain-text/index.mjs +1 -1
  1163. package/build-module/components/plain-text/index.mjs.map +1 -1
  1164. package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -1
  1165. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +1 -1
  1166. package/build-module/components/preset-input-control/index.mjs +1 -1
  1167. package/build-module/components/preset-input-control/index.mjs.map +1 -1
  1168. package/build-module/components/provider/block-refs-provider.mjs +1 -1
  1169. package/build-module/components/provider/block-refs-provider.mjs.map +1 -1
  1170. package/build-module/components/provider/index.mjs +27 -6
  1171. package/build-module/components/provider/index.mjs.map +3 -3
  1172. package/build-module/components/provider/with-registry-provider.mjs +1 -1
  1173. package/build-module/components/provider/with-registry-provider.mjs.map +1 -1
  1174. package/build-module/components/publish-date-time-picker/index.mjs +4 -3
  1175. package/build-module/components/publish-date-time-picker/index.mjs.map +3 -3
  1176. package/build-module/components/recursion-provider/index.mjs +1 -1
  1177. package/build-module/components/recursion-provider/index.mjs.map +1 -1
  1178. package/build-module/components/resizable-box-popover/index.mjs +1 -1
  1179. package/build-module/components/resizable-box-popover/index.mjs.map +1 -1
  1180. package/build-module/components/resolution-tool/index.mjs +1 -1
  1181. package/build-module/components/resolution-tool/index.mjs.map +1 -1
  1182. package/build-module/components/responsive-block-control/index.mjs +1 -1
  1183. package/build-module/components/responsive-block-control/index.mjs.map +1 -1
  1184. package/build-module/components/responsive-block-control/label.mjs +1 -1
  1185. package/build-module/components/responsive-block-control/label.mjs.map +1 -1
  1186. package/build-module/components/rich-text/content.mjs +1 -1
  1187. package/build-module/components/rich-text/content.mjs.map +1 -1
  1188. package/build-module/components/rich-text/event-listeners/enter.mjs +46 -39
  1189. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  1190. package/build-module/components/rich-text/format-edit.mjs +1 -1
  1191. package/build-module/components/rich-text/format-edit.mjs.map +1 -1
  1192. package/build-module/components/rich-text/format-toolbar/index.mjs +1 -1
  1193. package/build-module/components/rich-text/format-toolbar/index.mjs.map +1 -1
  1194. package/build-module/components/rich-text/format-toolbar-container.mjs +1 -1
  1195. package/build-module/components/rich-text/format-toolbar-container.mjs.map +1 -1
  1196. package/build-module/components/rich-text/get-rich-text-values.mjs +1 -1
  1197. package/build-module/components/rich-text/get-rich-text-values.mjs.map +1 -1
  1198. package/build-module/components/rich-text/index.mjs +8 -6
  1199. package/build-module/components/rich-text/index.mjs.map +3 -3
  1200. package/build-module/components/rich-text/multiline.mjs +113 -73
  1201. package/build-module/components/rich-text/multiline.mjs.map +3 -3
  1202. package/build-module/components/rich-text/toolbar-button.mjs +1 -1
  1203. package/build-module/components/rich-text/toolbar-button.mjs.map +1 -1
  1204. package/build-module/components/rich-text/utils.mjs +1 -1
  1205. package/build-module/components/rich-text/utils.mjs.map +1 -1
  1206. package/build-module/components/rich-text/with-deprecations.mjs +1 -1
  1207. package/build-module/components/rich-text/with-deprecations.mjs.map +1 -1
  1208. package/build-module/components/skip-to-selected-block/index.mjs +1 -1
  1209. package/build-module/components/skip-to-selected-block/index.mjs.map +1 -1
  1210. package/build-module/components/spacing-sizes-control/index.mjs +1 -1
  1211. package/build-module/components/spacing-sizes-control/index.mjs.map +1 -1
  1212. package/build-module/components/spacing-sizes-control/input-controls/axial.mjs +1 -1
  1213. package/build-module/components/spacing-sizes-control/input-controls/axial.mjs.map +1 -1
  1214. package/build-module/components/spacing-sizes-control/input-controls/separated.mjs +1 -1
  1215. package/build-module/components/spacing-sizes-control/input-controls/separated.mjs.map +1 -1
  1216. package/build-module/components/spacing-sizes-control/input-controls/single.mjs +1 -1
  1217. package/build-module/components/spacing-sizes-control/input-controls/single.mjs.map +1 -1
  1218. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs +1 -1
  1219. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.mjs.map +1 -1
  1220. package/build-module/components/spacing-sizes-control/linked-button.mjs +1 -1
  1221. package/build-module/components/spacing-sizes-control/linked-button.mjs.map +1 -1
  1222. package/build-module/components/tabbed-sidebar/index.mjs +1 -1
  1223. package/build-module/components/tabbed-sidebar/index.mjs.map +1 -1
  1224. package/build-module/components/text-alignment-control/index.mjs +1 -1
  1225. package/build-module/components/text-alignment-control/index.mjs.map +1 -1
  1226. package/build-module/components/text-decoration-control/index.mjs +1 -1
  1227. package/build-module/components/text-decoration-control/index.mjs.map +1 -1
  1228. package/build-module/components/text-indent-control/index.mjs +1 -1
  1229. package/build-module/components/text-indent-control/index.mjs.map +1 -1
  1230. package/build-module/components/text-transform-control/index.mjs +1 -1
  1231. package/build-module/components/text-transform-control/index.mjs.map +1 -1
  1232. package/build-module/components/typewriter/index.mjs +1 -1
  1233. package/build-module/components/typewriter/index.mjs.map +1 -1
  1234. package/build-module/components/unit-control/index.mjs +1 -1
  1235. package/build-module/components/unit-control/index.mjs.map +1 -1
  1236. package/build-module/components/url-input/button.mjs +1 -1
  1237. package/build-module/components/url-input/button.mjs.map +1 -1
  1238. package/build-module/components/url-input/index.mjs +3 -3
  1239. package/build-module/components/url-input/index.mjs.map +2 -2
  1240. package/build-module/components/url-popover/image-url-input-ui.mjs +1 -1
  1241. package/build-module/components/url-popover/image-url-input-ui.mjs.map +1 -1
  1242. package/build-module/components/url-popover/index.mjs +1 -1
  1243. package/build-module/components/url-popover/index.mjs.map +1 -1
  1244. package/build-module/components/url-popover/link-editor.mjs +1 -1
  1245. package/build-module/components/url-popover/link-editor.mjs.map +1 -1
  1246. package/build-module/components/url-popover/link-viewer-url.mjs +1 -1
  1247. package/build-module/components/url-popover/link-viewer-url.mjs.map +1 -1
  1248. package/build-module/components/url-popover/link-viewer.mjs +1 -1
  1249. package/build-module/components/url-popover/link-viewer.mjs.map +1 -1
  1250. package/build-module/components/warning/index.mjs +1 -1
  1251. package/build-module/components/warning/index.mjs.map +1 -1
  1252. package/build-module/components/writing-flow/index.mjs +1 -1
  1253. package/build-module/components/writing-flow/index.mjs.map +1 -1
  1254. package/build-module/components/writing-flow/use-input.mjs +66 -14
  1255. package/build-module/components/writing-flow/use-input.mjs.map +3 -3
  1256. package/build-module/components/writing-flow/use-tab-nav.mjs +1 -1
  1257. package/build-module/components/writing-flow/use-tab-nav.mjs.map +1 -1
  1258. package/build-module/components/writing-mode-control/index.mjs +1 -1
  1259. package/build-module/components/writing-mode-control/index.mjs.map +1 -1
  1260. package/build-module/hooks/align.mjs +1 -1
  1261. package/build-module/hooks/align.mjs.map +1 -1
  1262. package/build-module/hooks/allowed-blocks.mjs +1 -1
  1263. package/build-module/hooks/allowed-blocks.mjs.map +1 -1
  1264. package/build-module/hooks/anchor.mjs +1 -1
  1265. package/build-module/hooks/anchor.mjs.map +1 -1
  1266. package/build-module/hooks/auto-inspector-controls.mjs +1 -1
  1267. package/build-module/hooks/auto-inspector-controls.mjs.map +1 -1
  1268. package/build-module/hooks/background.mjs +1 -1
  1269. package/build-module/hooks/background.mjs.map +1 -1
  1270. package/build-module/hooks/block-bindings.mjs +1 -1
  1271. package/build-module/hooks/block-bindings.mjs.map +1 -1
  1272. package/build-module/hooks/block-fields/fields-dropdown-menu.mjs +1 -1
  1273. package/build-module/hooks/block-fields/fields-dropdown-menu.mjs.map +1 -1
  1274. package/build-module/hooks/block-fields/index.mjs +1 -1
  1275. package/build-module/hooks/block-fields/index.mjs.map +1 -1
  1276. package/build-module/hooks/block-fields/link/index.mjs +1 -1
  1277. package/build-module/hooks/block-fields/link/index.mjs.map +1 -1
  1278. package/build-module/hooks/block-fields/media/index.mjs +1 -1
  1279. package/build-module/hooks/block-fields/media/index.mjs.map +1 -1
  1280. package/build-module/hooks/block-fields/rich-text/index.mjs +1 -1
  1281. package/build-module/hooks/block-fields/rich-text/index.mjs.map +1 -1
  1282. package/build-module/hooks/block-hooks.mjs +1 -1
  1283. package/build-module/hooks/block-hooks.mjs.map +1 -1
  1284. package/build-module/hooks/block-style-variation.mjs +1 -1
  1285. package/build-module/hooks/block-style-variation.mjs.map +1 -1
  1286. package/build-module/hooks/border.mjs +27 -9
  1287. package/build-module/hooks/border.mjs.map +3 -3
  1288. package/build-module/hooks/custom-class-name.mjs +1 -1
  1289. package/build-module/hooks/custom-class-name.mjs.map +1 -1
  1290. package/build-module/hooks/custom-css.mjs +1 -1
  1291. package/build-module/hooks/custom-css.mjs.map +1 -1
  1292. package/build-module/hooks/dimensions.mjs +10 -3
  1293. package/build-module/hooks/dimensions.mjs.map +3 -3
  1294. package/build-module/hooks/duotone.mjs +9 -5
  1295. package/build-module/hooks/duotone.mjs.map +3 -3
  1296. package/build-module/hooks/elements.mjs +1 -1
  1297. package/build-module/hooks/elements.mjs.map +1 -1
  1298. package/build-module/hooks/fit-text.mjs +1 -1
  1299. package/build-module/hooks/fit-text.mjs.map +1 -1
  1300. package/build-module/hooks/font-size.mjs +1 -1
  1301. package/build-module/hooks/font-size.mjs.map +1 -1
  1302. package/build-module/hooks/gap.mjs +6 -1
  1303. package/build-module/hooks/gap.mjs.map +2 -2
  1304. package/build-module/hooks/grid-visualizer.mjs +1 -1
  1305. package/build-module/hooks/grid-visualizer.mjs.map +2 -2
  1306. package/build-module/hooks/layout-child.mjs +37 -14
  1307. package/build-module/hooks/layout-child.mjs.map +3 -3
  1308. package/build-module/hooks/layout.mjs +23 -2
  1309. package/build-module/hooks/layout.mjs.map +3 -3
  1310. package/build-module/hooks/line-height.mjs +1 -1
  1311. package/build-module/hooks/line-height.mjs.map +1 -1
  1312. package/build-module/hooks/list-view.mjs +1 -1
  1313. package/build-module/hooks/list-view.mjs.map +1 -1
  1314. package/build-module/hooks/position.mjs +2 -2
  1315. package/build-module/hooks/position.mjs.map +3 -3
  1316. package/build-module/hooks/spacing-visualizer.mjs +1 -1
  1317. package/build-module/hooks/spacing-visualizer.mjs.map +1 -1
  1318. package/build-module/hooks/states.mjs +9 -6
  1319. package/build-module/hooks/states.mjs.map +3 -3
  1320. package/build-module/hooks/style.mjs +1 -1
  1321. package/build-module/hooks/style.mjs.map +1 -1
  1322. package/build-module/hooks/text-align.mjs +1 -1
  1323. package/build-module/hooks/text-align.mjs.map +1 -1
  1324. package/build-module/hooks/typography.mjs +1 -1
  1325. package/build-module/hooks/typography.mjs.map +1 -1
  1326. package/build-module/hooks/utils.mjs +1 -1
  1327. package/build-module/hooks/utils.mjs.map +1 -1
  1328. package/build-module/layouts/constrained.mjs +9 -2
  1329. package/build-module/layouts/constrained.mjs.map +3 -3
  1330. package/build-module/layouts/flex.mjs +10 -1
  1331. package/build-module/layouts/flex.mjs.map +3 -3
  1332. package/build-module/layouts/flow.mjs +4 -1
  1333. package/build-module/layouts/flow.mjs.map +2 -2
  1334. package/build-module/layouts/grid.mjs +6 -2
  1335. package/build-module/layouts/grid.mjs.map +3 -3
  1336. package/build-module/private-apis.mjs +3 -1
  1337. package/build-module/private-apis.mjs.map +2 -2
  1338. package/build-module/store/actions.mjs +1 -1
  1339. package/build-module/store/actions.mjs.map +2 -2
  1340. package/build-style/content-rtl.css +6 -0
  1341. package/build-style/content.css +6 -0
  1342. package/build-style/style-rtl.css +108 -83
  1343. package/build-style/style.css +108 -83
  1344. package/build-types/components/block-context/index.d.ts.map +1 -1
  1345. package/build-types/components/block-visibility/constants.d.ts +4 -3
  1346. package/build-types/components/block-visibility/constants.d.ts.map +1 -1
  1347. package/package.json +41 -44
  1348. package/src/components/background-image-control/README.md +122 -0
  1349. package/src/components/block-edit-visually-button/README.md +39 -0
  1350. package/src/components/block-editing-mode/README.md +72 -0
  1351. package/src/components/block-inspector/{index.js → index.jsx} +11 -8
  1352. package/src/components/block-keyboard-shortcuts/index.jsx +256 -0
  1353. package/src/components/block-list/{block.js → block.jsx} +7 -0
  1354. package/src/components/block-list/{index.js → index.jsx} +7 -1
  1355. package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -0
  1356. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +6 -8
  1357. package/src/components/block-parent-selector/index.jsx +147 -0
  1358. package/src/components/block-popover/README.md +10 -3
  1359. package/src/components/block-popover/{inbetween.js → inbetween.jsx} +8 -2
  1360. package/src/components/block-popover/stories/index.story.jsx +143 -0
  1361. package/src/components/block-preview/{index.js → index.jsx} +0 -2
  1362. package/src/components/block-styles/{index.js → index.jsx} +95 -43
  1363. package/src/components/block-styles/style.scss +5 -34
  1364. package/src/components/block-tools/style.scss +94 -0
  1365. package/src/components/block-visibility/constants.ts +4 -3
  1366. package/src/components/child-layout-control/{index.js → index.jsx} +5 -5
  1367. package/src/components/color-palette/test/__snapshots__/{control.js.snap → control.jsx.snap} +3 -29
  1368. package/src/components/colors/test/{with-colors.js → with-colors.jsx} +6 -7
  1369. package/src/components/colors/{with-colors.js → with-colors.jsx} +79 -105
  1370. package/src/components/dimensions-tool/{aspect-ratio-tool.js → aspect-ratio-tool.jsx} +16 -4
  1371. package/src/components/dimensions-tool/{index.js → index.jsx} +34 -22
  1372. package/src/components/dimensions-tool/test/{index.js → index.jsx} +166 -2
  1373. package/src/components/dimensions-tool/test/utils.js +51 -0
  1374. package/src/components/dimensions-tool/utils.js +67 -0
  1375. package/src/components/duotone-control/{index.js → index.jsx} +2 -0
  1376. package/src/components/duotone-control/test/index.jsx +100 -0
  1377. package/src/components/global-styles/{advanced-panel.js → advanced-panel.jsx} +5 -2
  1378. package/src/components/global-styles/{background-panel.js → background-panel.jsx} +2 -2
  1379. package/src/components/global-styles/{border-panel.js → border-panel.jsx} +11 -9
  1380. package/src/components/global-styles/{color-panel.js → color-panel.jsx} +13 -1
  1381. package/src/components/global-styles/{dimensions-panel.js → dimensions-panel.jsx} +17 -5
  1382. package/src/components/global-styles/{filters-panel.js → filters-panel.jsx} +24 -10
  1383. package/src/components/global-styles/{shadow-panel-components.js → shadow-panel-components.jsx} +38 -11
  1384. package/src/components/global-styles/test/{background-panel.js → background-panel.jsx} +1 -1
  1385. package/src/components/global-styles/test/{border-panel.js → border-panel.jsx} +230 -0
  1386. package/src/components/global-styles/test/{color-panel.js → color-panel.jsx} +24 -0
  1387. package/src/components/global-styles/test/{dimensions-panel.js → dimensions-panel.jsx} +98 -7
  1388. package/src/components/global-styles/test/{filters-panel.js → filters-panel.jsx} +84 -0
  1389. package/src/components/global-styles/test/inherited-value-context-core.js +1 -1
  1390. package/src/components/global-styles/test/{inherited-value-context.js → inherited-value-context.jsx} +1 -1
  1391. package/src/components/global-styles/test/{typography-panel.js → typography-panel.jsx} +1 -1
  1392. package/src/components/global-styles/test/utils.js +30 -0
  1393. package/src/components/global-styles/utils.js +23 -0
  1394. package/src/components/inner-blocks/{index.js → index.jsx} +11 -2
  1395. package/src/components/inner-blocks/stories/index.story.jsx +246 -0
  1396. package/src/components/inserter/block-patterns-explorer/{index.js → index.jsx} +24 -11
  1397. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.jsx +33 -0
  1398. package/src/components/inserter/block-patterns-explorer/{pattern-list.js → pattern-list.jsx} +22 -47
  1399. package/src/components/inserter/hooks/use-insertion-point.js +9 -4
  1400. package/src/components/inserter/{menu.js → menu.jsx} +24 -11
  1401. package/src/components/inserter/{quick-inserter.js → quick-inserter.jsx} +15 -13
  1402. package/src/components/inserter/style.scss +44 -66
  1403. package/src/components/inspector-controls/groups.js +2 -0
  1404. package/src/components/inspector-controls-tabs/README.md +92 -0
  1405. package/src/components/inspector-controls-tabs/{styles-tab.js → styles-tab.jsx} +1 -1
  1406. package/src/components/link-control/test/{index.js → index.jsx} +5 -0
  1407. package/src/components/list-view/{index.js → index.jsx} +50 -7
  1408. package/src/components/list-view/utils.js +16 -1
  1409. package/src/components/media-placeholder/{index.js → index.jsx} +9 -4
  1410. package/src/components/plain-text/stories/index.story.jsx +3 -0
  1411. package/src/components/provider/{index.js → index.jsx} +45 -1
  1412. package/src/components/publish-date-time-picker/README.md +10 -0
  1413. package/src/components/publish-date-time-picker/{index.js → index.jsx} +17 -14
  1414. package/src/components/rich-text/content.scss +6 -0
  1415. package/src/components/rich-text/event-listeners/enter.js +58 -45
  1416. package/src/components/rich-text/{index.js → index.jsx} +9 -4
  1417. package/src/components/rich-text/multiline.jsx +186 -0
  1418. package/src/components/url-input/{index.js → index.jsx} +2 -2
  1419. package/src/components/url-input/test/fixtures/validated-input-control-deprecation.js +27 -0
  1420. package/src/components/url-input/test/{index.js → index.jsx} +5 -0
  1421. package/src/components/url-popover/README.md +7 -0
  1422. package/src/components/url-popover/stories/index.story.jsx +133 -47
  1423. package/src/components/writing-flow/use-input.js +105 -15
  1424. package/src/hooks/block-hooks.scss +0 -9
  1425. package/src/hooks/{border.js → border.jsx} +27 -8
  1426. package/src/hooks/{dimensions.js → dimensions.jsx} +8 -1
  1427. package/src/hooks/{duotone.js → duotone.jsx} +23 -7
  1428. package/src/hooks/gap.js +16 -0
  1429. package/src/hooks/{grid-visualizer.js → grid-visualizer.jsx} +1 -1
  1430. package/src/hooks/{layout-child.js → layout-child.jsx} +41 -9
  1431. package/src/hooks/{layout.js → layout.jsx} +117 -71
  1432. package/src/hooks/{position.js → position.jsx} +1 -1
  1433. package/src/hooks/{states.js → states.jsx} +8 -5
  1434. package/src/hooks/test/gap.js +31 -1
  1435. package/src/hooks/test/layout-child.js +60 -1
  1436. package/src/hooks/test/layout.js +27 -0
  1437. package/src/layouts/{constrained.js → constrained.jsx} +9 -1
  1438. package/src/layouts/{flex.js → flex.jsx} +15 -0
  1439. package/src/layouts/flow.js +4 -1
  1440. package/src/layouts/{grid.js → grid.jsx} +9 -1
  1441. package/src/layouts/test/{constrained.js → constrained.jsx} +26 -0
  1442. package/src/layouts/test/flow.js +26 -0
  1443. package/src/layouts/test/{grid.js → grid.jsx} +46 -0
  1444. package/src/private-apis.js +2 -0
  1445. package/src/store/actions.js +14 -1
  1446. package/build/components/floating-toolbar/nav-up-icon.cjs +0 -52
  1447. package/build/components/floating-toolbar/nav-up-icon.cjs.map +0 -7
  1448. package/build/components/gradients/with-gradient.cjs +0 -36
  1449. package/build/components/gradients/with-gradient.cjs.map +0 -7
  1450. package/build/components/inserter-button/sparkles.cjs +0 -36
  1451. package/build/components/inserter-button/sparkles.cjs.map +0 -7
  1452. package/build-module/components/floating-toolbar/nav-up-icon.mjs +0 -31
  1453. package/build-module/components/floating-toolbar/nav-up-icon.mjs.map +0 -7
  1454. package/build-module/components/gradients/with-gradient.mjs +0 -11
  1455. package/build-module/components/gradients/with-gradient.mjs.map +0 -7
  1456. package/build-module/components/inserter-button/sparkles.mjs +0 -15
  1457. package/build-module/components/inserter-button/sparkles.mjs.map +0 -7
  1458. package/build-style/default-editor-styles-rtl.css +0 -68
  1459. package/build-style/default-editor-styles.css +0 -68
  1460. package/src/components/block-parent-selector/index.js +0 -66
  1461. package/src/components/floating-toolbar/nav-up-icon.js +0 -22
  1462. package/src/components/gradients/with-gradient.js +0 -9
  1463. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +0 -71
  1464. package/src/components/inserter-button/README.md +0 -62
  1465. package/src/components/inserter-button/sparkles.js +0 -12
  1466. package/src/components/rich-text/multiline.js +0 -146
  1467. package/src/default-editor-styles.scss +0 -25
  1468. /package/src/autocompleters/{block.js → block.jsx} +0 -0
  1469. /package/src/components/alignment-control/{index.js → index.jsx} +0 -0
  1470. /package/src/components/alignment-control/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1471. /package/src/components/alignment-control/test/{index.js → index.jsx} +0 -0
  1472. /package/src/components/alignment-control/{ui.js → ui.jsx} +0 -0
  1473. /package/src/components/autocomplete/{index.js → index.jsx} +0 -0
  1474. /package/src/components/background-image-control/{index.js → index.jsx} +0 -0
  1475. /package/src/components/block-alignment-control/{index.js → index.jsx} +0 -0
  1476. /package/src/components/block-alignment-control/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1477. /package/src/components/block-alignment-control/test/{index.js → index.jsx} +0 -0
  1478. /package/src/components/block-alignment-control/{ui.js → ui.jsx} +0 -0
  1479. /package/src/components/block-alignment-matrix-control/{index.js → index.jsx} +0 -0
  1480. /package/src/components/block-allowed-blocks/{allowed-blocks-control.js → allowed-blocks-control.jsx} +0 -0
  1481. /package/src/components/block-allowed-blocks/{modal.js → modal.jsx} +0 -0
  1482. /package/src/components/block-bindings/{attribute-control.js → attribute-control.jsx} +0 -0
  1483. /package/src/components/block-bindings/{source-fields-list.js → source-fields-list.jsx} +0 -0
  1484. /package/src/components/block-breadcrumb/{index.js → index.jsx} +0 -0
  1485. /package/src/components/block-breadcrumb/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1486. /package/src/components/block-breadcrumb/test/{index.js → index.jsx} +0 -0
  1487. /package/src/components/block-canvas/{index.js → index.jsx} +0 -0
  1488. /package/src/components/block-card/{index.js → index.jsx} +0 -0
  1489. /package/src/components/block-compare/{block-view.js → block-view.jsx} +0 -0
  1490. /package/src/components/block-compare/{index.js → index.jsx} +0 -0
  1491. /package/src/components/block-compare/test/__snapshots__/{block-view.js.snap → block-view.jsx.snap} +0 -0
  1492. /package/src/components/block-compare/test/{block-view.js → block-view.jsx} +0 -0
  1493. /package/src/components/block-context/{index.js → index.jsx} +0 -0
  1494. /package/src/components/block-controls/{fill.js → fill.jsx} +0 -0
  1495. /package/src/components/block-controls/{index.js → index.jsx} +0 -0
  1496. /package/src/components/block-controls/{slot.js → slot.jsx} +0 -0
  1497. /package/src/components/block-controls/test/{index.js → index.jsx} +0 -0
  1498. /package/src/components/block-draggable/{draggable-chip.js → draggable-chip.jsx} +0 -0
  1499. /package/src/components/block-draggable/{index.js → index.jsx} +0 -0
  1500. /package/src/components/block-edit/{edit.js → edit.jsx} +0 -0
  1501. /package/src/components/block-edit/{index.js → index.jsx} +0 -0
  1502. /package/src/components/block-edit/{multiple-usage-warning.js → multiple-usage-warning.jsx} +0 -0
  1503. /package/src/components/block-edit/test/{edit.js → edit.jsx} +0 -0
  1504. /package/src/components/block-edit-visually-button/{index.js → index.jsx} +0 -0
  1505. /package/src/components/block-full-height-alignment-control/{index.js → index.jsx} +0 -0
  1506. /package/src/components/block-heading-level-dropdown/{heading-level-icon.js → heading-level-icon.jsx} +0 -0
  1507. /package/src/components/block-heading-level-dropdown/{index.js → index.jsx} +0 -0
  1508. /package/src/components/block-icon/{index.js → index.jsx} +0 -0
  1509. /package/src/components/block-icon/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1510. /package/src/components/block-icon/test/{index.js → index.jsx} +0 -0
  1511. /package/src/components/block-inspector/{edit-contents.js → edit-contents.jsx} +0 -0
  1512. /package/src/components/block-list/{block-crash-warning.js → block-crash-warning.jsx} +0 -0
  1513. /package/src/components/block-list/{block-html.js → block-html.jsx} +0 -0
  1514. /package/src/components/block-list/{block-invalid-warning.js → block-invalid-warning.jsx} +0 -0
  1515. /package/src/components/block-list/{layout.js → layout.jsx} +0 -0
  1516. /package/src/components/block-list/{subdirectory-icon.js → subdirectory-icon.jsx} +0 -0
  1517. /package/src/components/block-list/{zoom-out-separator.js → zoom-out-separator.jsx} +0 -0
  1518. /package/src/components/block-list-appender/{index.js → index.jsx} +0 -0
  1519. /package/src/components/block-lock/{menu-item.js → menu-item.jsx} +0 -0
  1520. /package/src/components/block-lock/{modal.js → modal.jsx} +0 -0
  1521. /package/src/components/block-lock/{toolbar.js → toolbar.jsx} +0 -0
  1522. /package/src/components/block-manager/{category.js → category.jsx} +0 -0
  1523. /package/src/components/block-manager/{checklist.js → checklist.jsx} +0 -0
  1524. /package/src/components/block-manager/{index.js → index.jsx} +0 -0
  1525. /package/src/components/block-mover/{button.js → button.jsx} +0 -0
  1526. /package/src/components/block-mover/{index.js → index.jsx} +0 -0
  1527. /package/src/components/block-navigation/{dropdown.js → dropdown.jsx} +0 -0
  1528. /package/src/components/block-pattern-setup/{index.js → index.jsx} +0 -0
  1529. /package/src/components/block-pattern-setup/{setup-toolbar.js → setup-toolbar.jsx} +0 -0
  1530. /package/src/components/block-patterns-list/{index.js → index.jsx} +0 -0
  1531. /package/src/components/block-patterns-paging/{index.js → index.jsx} +0 -0
  1532. /package/src/components/block-popover/{cover.js → cover.jsx} +0 -0
  1533. /package/src/components/block-popover/{drop-zone.js → drop-zone.jsx} +0 -0
  1534. /package/src/components/block-popover/{index.js → index.jsx} +0 -0
  1535. /package/src/components/block-preview/{auto.js → auto.jsx} +0 -0
  1536. /package/src/components/block-preview/test/{index.js → index.jsx} +0 -0
  1537. /package/src/components/block-quick-navigation/{index.js → index.jsx} +0 -0
  1538. /package/src/components/block-removal-warning-modal/{index.js → index.jsx} +0 -0
  1539. /package/src/components/block-rename/{modal.js → modal.jsx} +0 -0
  1540. /package/src/components/block-rename/{rename-control.js → rename-control.jsx} +0 -0
  1541. /package/src/components/block-selection-clearer/{index.js → index.jsx} +0 -0
  1542. /package/src/components/block-selection-clearer/test/{index.js → index.jsx} +0 -0
  1543. /package/src/components/block-settings-menu/{block-html-convert-button.js → block-html-convert-button.jsx} +0 -0
  1544. /package/src/components/block-settings-menu/{block-mode-toggle.js → block-mode-toggle.jsx} +0 -0
  1545. /package/src/components/block-settings-menu/{block-parent-selector-menu-item.js → block-parent-selector-menu-item.jsx} +0 -0
  1546. /package/src/components/block-settings-menu/{block-settings-dropdown.js → block-settings-dropdown.jsx} +0 -0
  1547. /package/src/components/block-settings-menu/{index.js → index.jsx} +0 -0
  1548. /package/src/components/block-settings-menu/test/{block-mode-toggle.js → block-mode-toggle.jsx} +0 -0
  1549. /package/src/components/block-settings-menu-controls/{index.js → index.jsx} +0 -0
  1550. /package/src/components/block-styles/{menu-items.js → menu-items.jsx} +0 -0
  1551. /package/src/components/block-switcher/{block-styles-menu.js → block-styles-menu.jsx} +0 -0
  1552. /package/src/components/block-switcher/{block-transformations-menu.js → block-transformations-menu.jsx} +0 -0
  1553. /package/src/components/block-switcher/{block-variation-transformations.js → block-variation-transformations.jsx} +0 -0
  1554. /package/src/components/block-switcher/{index.js → index.jsx} +0 -0
  1555. /package/src/components/block-switcher/{pattern-transformations-menu.js → pattern-transformations-menu.jsx} +0 -0
  1556. /package/src/components/block-switcher/{preview-block-popover.js → preview-block-popover.jsx} +0 -0
  1557. /package/src/components/block-switcher/test/{index.js → index.jsx} +0 -0
  1558. /package/src/components/block-title/test/{index.js → index.jsx} +0 -0
  1559. /package/src/components/block-toolbar/{block-styles-dropdown.js → block-styles-dropdown.jsx} +0 -0
  1560. /package/src/components/block-toolbar/{block-toolbar-icon.js → block-toolbar-icon.jsx} +0 -0
  1561. /package/src/components/block-toolbar/{change-design.js → change-design.jsx} +0 -0
  1562. /package/src/components/block-toolbar/{edit-section-button.js → edit-section-button.jsx} +0 -0
  1563. /package/src/components/block-toolbar/{index.js → index.jsx} +0 -0
  1564. /package/src/components/block-toolbar/{pattern-overrides-dropdown.js → pattern-overrides-dropdown.jsx} +0 -0
  1565. /package/src/components/block-toolbar/{switch-section-style.js → switch-section-style.jsx} +0 -0
  1566. /package/src/components/block-toolbar/test/{block-toolbar-icon.js → block-toolbar-icon.jsx} +0 -0
  1567. /package/src/components/block-tools/{block-toolbar-popover.js → block-toolbar-popover.jsx} +0 -0
  1568. /package/src/components/block-tools/{empty-block-inserter.js → empty-block-inserter.jsx} +0 -0
  1569. /package/src/components/block-tools/{index.js → index.jsx} +0 -0
  1570. /package/src/components/block-tools/{insertion-point.js → insertion-point.jsx} +0 -0
  1571. /package/src/components/block-tools/{zoom-out-mode-inserter-button.js → zoom-out-mode-inserter-button.jsx} +0 -0
  1572. /package/src/components/block-tools/{zoom-out-mode-inserters.js → zoom-out-mode-inserters.jsx} +0 -0
  1573. /package/src/components/block-types-list/{index.js → index.jsx} +0 -0
  1574. /package/src/components/block-variation-picker/{index.js → index.jsx} +0 -0
  1575. /package/src/components/block-variation-transforms/{index.js → index.jsx} +0 -0
  1576. /package/src/components/block-vertical-alignment-control/{index.js → index.jsx} +0 -0
  1577. /package/src/components/block-vertical-alignment-control/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1578. /package/src/components/block-vertical-alignment-control/test/{index.js → index.jsx} +0 -0
  1579. /package/src/components/block-vertical-alignment-control/{ui.js → ui.jsx} +0 -0
  1580. /package/src/components/block-visibility/{modal.js → modal.jsx} +0 -0
  1581. /package/src/components/block-visibility/{viewport-menu-item.js → viewport-menu-item.jsx} +0 -0
  1582. /package/src/components/block-visibility/{viewport-toolbar.js → viewport-toolbar.jsx} +0 -0
  1583. /package/src/components/block-visibility/{viewport-visibility-info.js → viewport-visibility-info.jsx} +0 -0
  1584. /package/src/components/border-radius-control/{index.js → index.jsx} +0 -0
  1585. /package/src/components/border-radius-control/{linked-button.js → linked-button.jsx} +0 -0
  1586. /package/src/components/border-radius-control/test/{index.js → index.jsx} +0 -0
  1587. /package/src/components/button-block-appender/{index.js → index.jsx} +0 -0
  1588. /package/src/components/child-layout-control/test/{index.js → index.jsx} +0 -0
  1589. /package/src/components/color-palette/{control.js → control.jsx} +0 -0
  1590. /package/src/components/color-palette/test/{control.js → control.jsx} +0 -0
  1591. /package/src/components/color-palette/{with-color-context.js → with-color-context.jsx} +0 -0
  1592. /package/src/components/color-style-selector/{index.js → index.jsx} +0 -0
  1593. /package/src/components/colors-gradients/{control.js → control.jsx} +0 -0
  1594. /package/src/components/colors-gradients/{dropdown.js → dropdown.jsx} +0 -0
  1595. /package/src/components/colors-gradients/{panel-color-gradient-settings.js → panel-color-gradient-settings.jsx} +0 -0
  1596. /package/src/components/colors-gradients/test/{control.js → control.jsx} +0 -0
  1597. /package/src/components/contrast-checker/{index.js → index.jsx} +0 -0
  1598. /package/src/components/contrast-checker/test/{index.js → index.jsx} +0 -0
  1599. /package/src/components/convert-to-group-buttons/{index.js → index.jsx} +0 -0
  1600. /package/src/components/convert-to-group-buttons/{toolbar.js → toolbar.jsx} +0 -0
  1601. /package/src/components/copy-handler/{index.js → index.jsx} +0 -0
  1602. /package/src/components/date-format-picker/{index.js → index.jsx} +0 -0
  1603. /package/src/components/default-block-appender/{index.js → index.jsx} +0 -0
  1604. /package/src/components/default-block-appender/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1605. /package/src/components/default-block-appender/test/{index.js → index.jsx} +0 -0
  1606. /package/src/components/dimension-control/{index.js → index.jsx} +0 -0
  1607. /package/src/components/dimensions-tool/{scale-tool.js → scale-tool.jsx} +0 -0
  1608. /package/src/components/dimensions-tool/{width-height-tool.js → width-height-tool.jsx} +0 -0
  1609. /package/src/components/editable-text/{index.js → index.jsx} +0 -0
  1610. /package/src/components/editor-styles/{index.js → index.jsx} +0 -0
  1611. /package/src/components/fit-text-size-warning/{index.js → index.jsx} +0 -0
  1612. /package/src/components/font-appearance-control/{index.js → index.jsx} +0 -0
  1613. /package/src/components/font-family/{index.js → index.jsx} +0 -0
  1614. /package/src/components/font-sizes/{font-size-picker.js → font-size-picker.jsx} +0 -0
  1615. /package/src/components/font-sizes/{with-font-sizes.js → with-font-sizes.jsx} +0 -0
  1616. /package/src/components/global-styles/{color-gradient-dropdown-item.js → color-gradient-dropdown-item.jsx} +0 -0
  1617. /package/src/components/global-styles/{image-settings-panel.js → image-settings-panel.jsx} +0 -0
  1618. /package/src/components/global-styles/inheritance/{index.js → index.jsx} +0 -0
  1619. /package/src/components/global-styles/inheritance/test/{index.js → index.jsx} +0 -0
  1620. /package/src/components/global-styles/{state-control-badges.js → state-control-badges.jsx} +0 -0
  1621. /package/src/components/global-styles/{state-control.js → state-control.jsx} +0 -0
  1622. /package/src/components/global-styles/test/{state-control-badges.js → state-control-badges.jsx} +0 -0
  1623. /package/src/components/global-styles/test/{typography-panel-core.js → typography-panel-core.jsx} +0 -0
  1624. /package/src/components/global-styles/{typography-panel.js → typography-panel.jsx} +0 -0
  1625. /package/src/components/grid/{grid-item-movers.js → grid-item-movers.jsx} +0 -0
  1626. /package/src/components/grid/{grid-item-resizer.js → grid-item-resizer.jsx} +0 -0
  1627. /package/src/components/grid/{grid-visualizer.js → grid-visualizer.jsx} +0 -0
  1628. /package/src/components/height-control/{index.js → index.jsx} +0 -0
  1629. /package/src/components/html-element-control/{index.js → index.jsx} +0 -0
  1630. /package/src/components/iframe/{index.js → index.jsx} +0 -0
  1631. /package/src/components/image-editor/{aspect-ratio-dropdown.js → aspect-ratio-dropdown.jsx} +0 -0
  1632. /package/src/components/image-editor/{context.js → context.jsx} +0 -0
  1633. /package/src/components/image-editor/{cropper.js → cropper.jsx} +0 -0
  1634. /package/src/components/image-editor/{form-controls.js → form-controls.jsx} +0 -0
  1635. /package/src/components/image-editor/{index.js → index.jsx} +0 -0
  1636. /package/src/components/image-editor/{rotation-button.js → rotation-button.jsx} +0 -0
  1637. /package/src/components/image-editor/{zoom-dropdown.js → zoom-dropdown.jsx} +0 -0
  1638. /package/src/components/image-size-control/{index.js → index.jsx} +0 -0
  1639. /package/src/components/image-size-control/test/{index.js → index.jsx} +0 -0
  1640. /package/src/components/inner-blocks/{button-block-appender.js → button-block-appender.jsx} +0 -0
  1641. /package/src/components/inner-blocks/{default-block-appender.js → default-block-appender.jsx} +0 -0
  1642. /package/src/components/inner-blocks/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1643. /package/src/components/inner-blocks/test/{index.js → index.jsx} +0 -0
  1644. /package/src/components/inner-content/{index.js → index.jsx} +0 -0
  1645. /package/src/components/inner-content/test/{index.js → index.jsx} +0 -0
  1646. /package/src/components/inserter/block-patterns-tab/{index.js → index.jsx} +0 -0
  1647. /package/src/components/inserter/block-patterns-tab/{pattern-category-previews.js → pattern-category-previews.jsx} +0 -0
  1648. /package/src/components/inserter/block-patterns-tab/{patterns-filter.js → patterns-filter.jsx} +0 -0
  1649. /package/src/components/inserter/{block-types-tab.js → block-types-tab.jsx} +0 -0
  1650. /package/src/components/inserter/category-tabs/{index.js → index.jsx} +0 -0
  1651. /package/src/components/inserter/{index.js → index.jsx} +0 -0
  1652. /package/src/components/inserter/{library.js → library.jsx} +0 -0
  1653. /package/src/components/inserter/media-tab/{media-list.js → media-list.jsx} +0 -0
  1654. /package/src/components/inserter/media-tab/{media-panel.js → media-panel.jsx} +0 -0
  1655. /package/src/components/inserter/media-tab/{media-preview.js → media-preview.jsx} +0 -0
  1656. /package/src/components/inserter/media-tab/{media-tab.js → media-tab.jsx} +0 -0
  1657. /package/src/components/inserter/media-tab/test/{media-panel.js → media-panel.jsx} +0 -0
  1658. /package/src/components/inserter/media-tab/{utils.js → utils.jsx} +0 -0
  1659. /package/src/components/inserter/{mobile-tab-navigation.js → mobile-tab-navigation.jsx} +0 -0
  1660. /package/src/components/inserter/{no-results.js → no-results.jsx} +0 -0
  1661. /package/src/components/inserter/{panel.js → panel.jsx} +0 -0
  1662. /package/src/components/inserter/{preview-panel.js → preview-panel.jsx} +0 -0
  1663. /package/src/components/inserter/{search-results.js → search-results.jsx} +0 -0
  1664. /package/src/components/inserter/{tips.js → tips.jsx} +0 -0
  1665. /package/src/components/inserter-draggable-blocks/{index.js → index.jsx} +0 -0
  1666. /package/src/components/inserter-list-item/{index.js → index.jsx} +0 -0
  1667. /package/src/components/inserter-listbox/{group.js → group.jsx} +0 -0
  1668. /package/src/components/inserter-listbox/{index.js → index.jsx} +0 -0
  1669. /package/src/components/inserter-listbox/{item.js → item.jsx} +0 -0
  1670. /package/src/components/inserter-listbox/{row.js → row.jsx} +0 -0
  1671. /package/src/components/inspector-controls/{block-support-slot-container.js → block-support-slot-container.jsx} +0 -0
  1672. /package/src/components/inspector-controls/{block-support-tools-panel.js → block-support-tools-panel.jsx} +0 -0
  1673. /package/src/components/inspector-controls/{fill.js → fill.jsx} +0 -0
  1674. /package/src/components/inspector-controls/{index.js → index.jsx} +0 -0
  1675. /package/src/components/inspector-controls/{last-item.js → last-item.jsx} +0 -0
  1676. /package/src/components/inspector-controls/{list-view-content-popover.js → list-view-content-popover.jsx} +0 -0
  1677. /package/src/components/inspector-controls/{slot.js → slot.jsx} +0 -0
  1678. /package/src/components/inspector-controls-tabs/{advanced-controls-panel.js → advanced-controls-panel.jsx} +0 -0
  1679. /package/src/components/inspector-controls-tabs/{content-tab.js → content-tab.jsx} +0 -0
  1680. /package/src/components/inspector-controls-tabs/{index.js → index.jsx} +0 -0
  1681. /package/src/components/inspector-controls-tabs/{position-controls-panel.js → position-controls-panel.jsx} +0 -0
  1682. /package/src/components/inspector-controls-tabs/{settings-tab.js → settings-tab.jsx} +0 -0
  1683. /package/src/components/inspector-popover-header/{index.js → index.jsx} +0 -0
  1684. /package/src/components/justify-content-control/{index.js → index.jsx} +0 -0
  1685. /package/src/components/justify-content-control/{ui.js → ui.jsx} +0 -0
  1686. /package/src/components/letter-spacing-control/{index.js → index.jsx} +0 -0
  1687. /package/src/components/line-height-control/{index.js → index.jsx} +0 -0
  1688. /package/src/components/line-height-control/test/{index.js → index.jsx} +0 -0
  1689. /package/src/components/link-control/{index.js → index.jsx} +0 -0
  1690. /package/src/components/link-control/{link-preview.js → link-preview.jsx} +0 -0
  1691. /package/src/components/link-control/{search-create-button.js → search-create-button.jsx} +0 -0
  1692. /package/src/components/link-control/{search-input.js → search-input.jsx} +0 -0
  1693. /package/src/components/link-control/{search-item.js → search-item.jsx} +0 -0
  1694. /package/src/components/link-control/{search-results.js → search-results.jsx} +0 -0
  1695. /package/src/components/link-control/{settings-drawer.js → settings-drawer.jsx} +0 -0
  1696. /package/src/components/link-control/{settings.js → settings.jsx} +0 -0
  1697. /package/src/components/link-control/test/{url-normalization.test.js → url-normalization.test.jsx} +0 -0
  1698. /package/src/components/link-picker/{link-picker.js → link-picker.jsx} +0 -0
  1699. /package/src/components/link-picker/{link-preview.js → link-preview.jsx} +0 -0
  1700. /package/src/components/link-picker/test/{index.js → index.jsx} +0 -0
  1701. /package/src/components/list-view/{appender.js → appender.jsx} +0 -0
  1702. /package/src/components/list-view/{aria-referenced-text.js → aria-referenced-text.jsx} +0 -0
  1703. /package/src/components/list-view/{block-contents.js → block-contents.jsx} +0 -0
  1704. /package/src/components/list-view/{block-select-button.js → block-select-button.jsx} +0 -0
  1705. /package/src/components/list-view/{block.js → block.jsx} +0 -0
  1706. /package/src/components/list-view/{branch.js → branch.jsx} +0 -0
  1707. /package/src/components/list-view/{drop-indicator.js → drop-indicator.jsx} +0 -0
  1708. /package/src/components/list-view/{expander.js → expander.jsx} +0 -0
  1709. /package/src/components/list-view/{leaf.js → leaf.jsx} +0 -0
  1710. /package/src/components/media-placeholder/test/{index.js → index.jsx} +0 -0
  1711. /package/src/components/media-replace-flow/{index.js → index.jsx} +0 -0
  1712. /package/src/components/media-replace-flow/test/{index.js → index.jsx} +0 -0
  1713. /package/src/components/multi-selection-inspector/{index.js → index.jsx} +0 -0
  1714. /package/src/components/navigable-toolbar/{index.js → index.jsx} +0 -0
  1715. /package/src/components/observe-typing/{index.js → index.jsx} +0 -0
  1716. /package/src/components/panel-color-settings/{index.js → index.jsx} +0 -0
  1717. /package/src/components/panel-color-settings/test/{index.js → index.jsx} +0 -0
  1718. /package/src/components/plain-text/{index.js → index.jsx} +0 -0
  1719. /package/src/components/preset-input-control/{custom-value-controls.js → custom-value-controls.jsx} +0 -0
  1720. /package/src/components/preset-input-control/{index.js → index.jsx} +0 -0
  1721. /package/src/components/preset-input-control/test/{index.js → index.jsx} +0 -0
  1722. /package/src/components/provider/{block-refs-provider.js → block-refs-provider.jsx} +0 -0
  1723. /package/src/components/provider/test/{experimental-provider.js → experimental-provider.jsx} +0 -0
  1724. /package/src/components/provider/test/{use-block-sync.js → use-block-sync.jsx} +0 -0
  1725. /package/src/components/provider/{with-registry-provider.js → with-registry-provider.jsx} +0 -0
  1726. /package/src/components/recursion-provider/{index.js → index.jsx} +0 -0
  1727. /package/src/components/recursion-provider/test/{index.js → index.jsx} +0 -0
  1728. /package/src/components/resizable-box-popover/{index.js → index.jsx} +0 -0
  1729. /package/src/components/resolution-tool/{index.js → index.jsx} +0 -0
  1730. /package/src/components/responsive-block-control/{index.js → index.jsx} +0 -0
  1731. /package/src/components/responsive-block-control/{label.js → label.jsx} +0 -0
  1732. /package/src/components/responsive-block-control/test/{index.js → index.jsx} +0 -0
  1733. /package/src/components/rich-text/{content.js → content.jsx} +0 -0
  1734. /package/src/components/rich-text/{format-edit.js → format-edit.jsx} +0 -0
  1735. /package/src/components/rich-text/format-toolbar/{index.js → index.jsx} +0 -0
  1736. /package/src/components/rich-text/{format-toolbar-container.js → format-toolbar-container.jsx} +0 -0
  1737. /package/src/components/rich-text/{get-rich-text-values.js → get-rich-text-values.jsx} +0 -0
  1738. /package/src/components/rich-text/{toolbar-button.js → toolbar-button.jsx} +0 -0
  1739. /package/src/components/rich-text/{utils.js → utils.jsx} +0 -0
  1740. /package/src/components/rich-text/{with-deprecations.js → with-deprecations.jsx} +0 -0
  1741. /package/src/components/skip-to-selected-block/{index.js → index.jsx} +0 -0
  1742. /package/src/components/spacing-sizes-control/{index.js → index.jsx} +0 -0
  1743. /package/src/components/spacing-sizes-control/input-controls/{axial.js → axial.jsx} +0 -0
  1744. /package/src/components/spacing-sizes-control/input-controls/{separated.js → separated.jsx} +0 -0
  1745. /package/src/components/spacing-sizes-control/input-controls/{single.js → single.jsx} +0 -0
  1746. /package/src/components/spacing-sizes-control/input-controls/{spacing-input-control.js → spacing-input-control.jsx} +0 -0
  1747. /package/src/components/spacing-sizes-control/{linked-button.js → linked-button.jsx} +0 -0
  1748. /package/src/components/spacing-sizes-control/test/{index.js → index.jsx} +0 -0
  1749. /package/src/components/tabbed-sidebar/{index.js → index.jsx} +0 -0
  1750. /package/src/components/text-alignment-control/{index.js → index.jsx} +0 -0
  1751. /package/src/components/text-decoration-control/{index.js → index.jsx} +0 -0
  1752. /package/src/components/text-indent-control/{index.js → index.jsx} +0 -0
  1753. /package/src/components/text-transform-control/{index.js → index.jsx} +0 -0
  1754. /package/src/components/typewriter/{index.js → index.jsx} +0 -0
  1755. /package/src/components/unit-control/{index.js → index.jsx} +0 -0
  1756. /package/src/components/url-input/{button.js → button.jsx} +0 -0
  1757. /package/src/components/url-input/test/{button.js → button.jsx} +0 -0
  1758. /package/src/components/url-popover/{image-url-input-ui.js → image-url-input-ui.jsx} +0 -0
  1759. /package/src/components/url-popover/{index.js → index.jsx} +0 -0
  1760. /package/src/components/url-popover/{link-editor.js → link-editor.jsx} +0 -0
  1761. /package/src/components/url-popover/{link-viewer-url.js → link-viewer-url.jsx} +0 -0
  1762. /package/src/components/url-popover/{link-viewer.js → link-viewer.jsx} +0 -0
  1763. /package/src/components/use-block-display-information/test/{index.js → index.jsx} +0 -0
  1764. /package/src/components/warning/{index.js → index.jsx} +0 -0
  1765. /package/src/components/warning/test/__snapshots__/{index.js.snap → index.jsx.snap} +0 -0
  1766. /package/src/components/warning/test/{index.js → index.jsx} +0 -0
  1767. /package/src/components/writing-flow/{index.js → index.jsx} +0 -0
  1768. /package/src/components/writing-flow/{use-tab-nav.js → use-tab-nav.jsx} +0 -0
  1769. /package/src/components/writing-mode-control/{index.js → index.jsx} +0 -0
  1770. /package/src/hooks/{align.js → align.jsx} +0 -0
  1771. /package/src/hooks/{allowed-blocks.js → allowed-blocks.jsx} +0 -0
  1772. /package/src/hooks/{anchor.js → anchor.jsx} +0 -0
  1773. /package/src/hooks/{auto-inspector-controls.js → auto-inspector-controls.jsx} +0 -0
  1774. /package/src/hooks/{background.js → background.jsx} +0 -0
  1775. /package/src/hooks/{block-bindings.js → block-bindings.jsx} +0 -0
  1776. /package/src/hooks/block-fields/{fields-dropdown-menu.js → fields-dropdown-menu.jsx} +0 -0
  1777. /package/src/hooks/block-fields/{index.js → index.jsx} +0 -0
  1778. /package/src/hooks/block-fields/link/{index.js → index.jsx} +0 -0
  1779. /package/src/hooks/block-fields/media/{index.js → index.jsx} +0 -0
  1780. /package/src/hooks/block-fields/rich-text/{index.js → index.jsx} +0 -0
  1781. /package/src/hooks/{block-hooks.js → block-hooks.jsx} +0 -0
  1782. /package/src/hooks/{block-style-variation.js → block-style-variation.jsx} +0 -0
  1783. /package/src/hooks/{custom-class-name.js → custom-class-name.jsx} +0 -0
  1784. /package/src/hooks/{custom-css.js → custom-css.jsx} +0 -0
  1785. /package/src/hooks/{elements.js → elements.jsx} +0 -0
  1786. /package/src/hooks/{fit-text.js → fit-text.jsx} +0 -0
  1787. /package/src/hooks/{font-size.js → font-size.jsx} +0 -0
  1788. /package/src/hooks/{line-height.js → line-height.jsx} +0 -0
  1789. /package/src/hooks/{list-view.js → list-view.jsx} +0 -0
  1790. /package/src/hooks/{spacing-visualizer.js → spacing-visualizer.jsx} +0 -0
  1791. /package/src/hooks/{style.js → style.jsx} +0 -0
  1792. /package/src/hooks/test/{align.js → align.jsx} +0 -0
  1793. /package/src/hooks/test/{background.js → background.jsx} +0 -0
  1794. /package/src/hooks/test/{custom-class-name.js → custom-class-name.jsx} +0 -0
  1795. /package/src/hooks/test/{inherited-value-wiring.js → inherited-value-wiring.jsx} +0 -0
  1796. /package/src/hooks/test/{settings.js → settings.jsx} +0 -0
  1797. /package/src/hooks/test/{style.js → style.jsx} +0 -0
  1798. /package/src/hooks/test/{text-align.js → text-align.jsx} +0 -0
  1799. /package/src/hooks/{text-align.js → text-align.jsx} +0 -0
  1800. /package/src/hooks/{typography.js → typography.jsx} +0 -0
  1801. /package/src/hooks/{utils.js → utils.jsx} +0 -0
  1802. /package/src/layouts/test/{flex.js → flex.jsx} +0 -0
  1803. /package/src/store/test/{selectors.js → selectors.jsx} +0 -0
  1804. /package/src/utils/test/{dom.js → dom.jsx} +0 -0
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/layout.js
1
+ // packages/block-editor/src/hooks/layout.jsx
2
2
  import clsx from "clsx";
3
3
  import { createHigherOrderComponent, useInstanceId } from "@wordpress/compose";
4
4
  import { addFilter } from "@wordpress/hooks";
@@ -75,6 +75,18 @@ function getLayoutStateOverrides(layout = {}, baseLayout = {}, existingLayout =
75
75
  ...overrides
76
76
  });
77
77
  }
78
+ function hasLayoutPanelControls({
79
+ layoutType,
80
+ constrainedType,
81
+ layoutBlockSupport,
82
+ showInheritToggle,
83
+ showLayoutTypeSwitcher,
84
+ displayControlsForLegacyLayouts
85
+ }) {
86
+ const hasActiveLayoutControls = layoutType?.name !== "default" && layoutType?.hasInspectorControls(layoutBlockSupport);
87
+ const hasLegacyLayoutControls = displayControlsForLegacyLayouts && constrainedType?.hasInspectorControls(layoutBlockSupport);
88
+ return !!(showInheritToggle || showLayoutTypeSwitcher || hasActiveLayoutControls || hasLegacyLayoutControls);
89
+ }
78
90
  function getLayoutContainerValues(layout = {}) {
79
91
  return Object.fromEntries(
80
92
  Object.entries(layout || {}).filter(
@@ -300,6 +312,14 @@ function LayoutPanelPure({
300
312
  const displayControlsForLegacyLayouts = !usedLayout.type && (contentSize || inherit);
301
313
  const hasContentSizeOrLegacySettings = !!inherit || !!contentSize;
302
314
  const showLayoutTypeSwitcher = isDefaultBlockStyleState(selectedState) && !inherit && allowSwitching;
315
+ const showLayoutPanel = hasLayoutPanelControls({
316
+ layoutType,
317
+ constrainedType,
318
+ layoutBlockSupport: blockSupportAndThemeSettings,
319
+ showInheritToggle,
320
+ showLayoutTypeSwitcher,
321
+ displayControlsForLegacyLayouts
322
+ });
303
323
  const onChangeLayout = (newLayout) => {
304
324
  if (isViewportLayoutState) {
305
325
  const nextStateStyle = cleanEmptyObject({
@@ -324,7 +344,7 @@ function LayoutPanelPure({
324
344
  const hasInheritToggleValue = () => isViewportLayoutState ? (usedLayout?.type ?? "default") !== (resetLayoutDefaults?.type ?? "default") : layout?.type === "constrained";
325
345
  const hasLayoutTypeValue = () => (usedLayout?.type ?? "default") !== (resetLayoutDefaults?.type ?? "default");
326
346
  return /* @__PURE__ */ jsxs(Fragment, { children: [
327
- /* @__PURE__ */ jsxs(
347
+ showLayoutPanel && /* @__PURE__ */ jsxs(
328
348
  InspectorControls,
329
349
  {
330
350
  group: "layout",
@@ -588,6 +608,7 @@ export {
588
608
  getLayoutStateOverrides,
589
609
  getResetLayout,
590
610
  getResponsiveLayoutStyles,
611
+ hasLayoutPanelControls,
591
612
  useLayoutClasses,
592
613
  useLayoutStyles,
593
614
  withLayoutStyles
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/layout.js"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useCallback } from '@wordpress/element';\nimport {\n\tgetBlockSupport,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { privateApis as globalStylesEnginePrivateApis } from '@wordpress/global-styles-engine';\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { kebabCase } from '@wordpress/kebab-case';\nimport { store as blockEditorStore } from '../store';\nimport { InspectorControls } from '../components';\nimport { useSettings } from '../components/use-settings';\nimport { getLayoutType, getLayoutTypes } from '../layouts';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { LAYOUT_DEFINITIONS } from '../layouts/definitions';\nimport { cleanEmptyObject, useBlockSettings, useStyleOverride } from './utils';\nimport { unlock } from '../lock-unlock';\nimport { globalStylesDataKey } from '../store/private-keys';\nimport { getVariationNameFromClass } from './block-style-variation';\nimport {\n\tDEFAULT_BLOCK_STYLE_STATE,\n\tgetStyleForState,\n\thasPseudoBlockStyleState,\n\thasViewportBlockStyleState,\n\tisDefaultBlockStyleState,\n\tsetStyleForState,\n} from './block-style-state';\n\nconst VARIATION_PREFIX = 'is-style-';\n\nconst layoutBlockSupportKey = 'layout';\nconst CHILD_LAYOUT_KEYS = [\n\t'selfStretch',\n\t'flexSize',\n\t'columnStart',\n\t'columnSpan',\n\t'rowStart',\n\t'rowSpan',\n];\nconst { getResponsiveMediaQueries } = unlock( globalStylesEnginePrivateApis );\n\nfunction getDefaultLayout( layoutBlockSupport = {}, blockVariation ) {\n\tconst defaultBlockLayout = layoutBlockSupport?.default;\n\n\treturn blockVariation?.attributes?.layout ?? defaultBlockLayout;\n}\n\n/**\n * Returns the layout values to use when resetting layout controls.\n *\n * @param { Object } layoutBlockSupport Block layout support settings.\n * @param { Object|undefined } blockVariation Block variation settings.\n *\n * @return { Object|undefined } Reset layout values.\n */\nexport function getResetLayout( layoutBlockSupport = {}, blockVariation ) {\n\treturn cleanEmptyObject( {\n\t\t...getDefaultLayout( layoutBlockSupport, blockVariation ),\n\t} );\n}\n\nexport function getLayoutStateOverrides(\n\tlayout = {},\n\tbaseLayout = {},\n\texistingLayout = {}\n) {\n\tconst overrides = {};\n\tconst childLayoutValues = Object.fromEntries(\n\t\tCHILD_LAYOUT_KEYS.filter( ( key ) =>\n\t\t\tObject.hasOwn( existingLayout || {}, key )\n\t\t).map( ( key ) => [ key, existingLayout[ key ] ] )\n\t);\n\n\tObject.entries( layout || {} ).forEach( ( [ key, value ] ) => {\n\t\tconst baseHasValue = Object.hasOwn( baseLayout || {}, key );\n\t\tif (\n\t\t\t! CHILD_LAYOUT_KEYS.includes( key ) &&\n\t\t\tvalue !== baseLayout?.[ key ]\n\t\t) {\n\t\t\toverrides[ key ] =\n\t\t\t\tvalue === undefined && baseHasValue ? null : value;\n\t\t}\n\t} );\n\n\treturn cleanEmptyObject( {\n\t\t...childLayoutValues,\n\t\t...overrides,\n\t} );\n}\n\nfunction getLayoutContainerValues( layout = {} ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( layout || {} ).filter(\n\t\t\t( [ key ] ) => ! CHILD_LAYOUT_KEYS.includes( key )\n\t\t)\n\t);\n}\n\nfunction hasLayoutBlockSupport( blockName ) {\n\treturn (\n\t\thasBlockSupport( blockName, 'layout' ) ||\n\t\thasBlockSupport( blockName, '__experimentalLayout' )\n\t);\n}\n\n/**\n * Generates the utility classnames for the given block's layout attributes.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n *\n * @return { Array } Array of CSS classname strings.\n */\nexport function useLayoutClasses( blockAttributes = {}, blockName = '' ) {\n\tconst { layout } = blockAttributes;\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( blockName, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\n\tconst layoutClassnames = [];\n\n\tif ( LAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className ) {\n\t\tconst baseClassName =\n\t\t\tLAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className;\n\t\tconst splitBlockName = blockName.split( '/' );\n\t\tconst fullBlockName =\n\t\t\tsplitBlockName[ 0 ] === 'core'\n\t\t\t\t? splitBlockName.pop()\n\t\t\t\t: splitBlockName.join( '-' );\n\t\tconst compoundClassName = `wp-block-${ fullBlockName }-${ baseClassName }`;\n\t\tlayoutClassnames.push( baseClassName, compoundClassName );\n\t}\n\n\tconst hasGlobalPadding = useSelect(\n\t\t( select ) => {\n\t\t\t// Early return to avoid subscription when layout doesn't use global padding\n\t\t\tif (\n\t\t\t\t! usedLayout?.inherit &&\n\t\t\t\t! usedLayout?.contentSize &&\n\t\t\t\tusedLayout?.type !== 'constrained'\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn select( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalFeatures?.useRootPaddingAwareAlignments;\n\t\t},\n\t\t[ usedLayout?.contentSize, usedLayout?.inherit, usedLayout?.type ]\n\t);\n\n\tif ( hasGlobalPadding ) {\n\t\tlayoutClassnames.push( 'has-global-padding' );\n\t}\n\n\tif ( usedLayout?.orientation ) {\n\t\tlayoutClassnames.push( `is-${ kebabCase( usedLayout.orientation ) }` );\n\t}\n\n\tif ( usedLayout?.justifyContent ) {\n\t\tlayoutClassnames.push(\n\t\t\t`is-content-justification-${ kebabCase(\n\t\t\t\tusedLayout.justifyContent\n\t\t\t) }`\n\t\t);\n\t}\n\n\tif ( usedLayout?.flexWrap && usedLayout.flexWrap === 'nowrap' ) {\n\t\tlayoutClassnames.push( 'is-nowrap' );\n\t}\n\n\treturn layoutClassnames;\n}\n\n/**\n * Generates a CSS rule with the given block's layout styles.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n * @param { string } selector A selector to use in generating the CSS rule.\n *\n * @return { string } CSS rule.\n */\nexport function useLayoutStyles( blockAttributes = {}, blockName, selector ) {\n\tconst { layout = {}, style = {} } = blockAttributes;\n\t// Update type for blocks using legacy layouts.\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || {};\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\treturn fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName,\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\thasBlockGapSupport,\n\t} );\n}\n\n/**\n * Generates responsive layout CSS for viewport state styles.\n *\n * Viewport state blockGap values need to go through the layout definitions\n * because flow/constrained layouts use child margins while flex/grid use gap.\n *\n * @param { Object } options Options.\n * @param { Object } options.attributes Block attributes.\n * @param { string } options.blockName Block name.\n * @param { string } options.selector CSS selector.\n * @param { Object } options.layout Active block layout.\n * @param { boolean } options.hasBlockGapSupport Whether block gap is supported.\n * @param { * } options.globalBlockGapValue Global block gap fallback.\n * @param { Object } options.viewportSettings Viewport breakpoint settings.\n *\n * @return { string } CSS rule.\n */\nexport function getResponsiveLayoutStyles( {\n\tattributes = {},\n\tblockName,\n\tselector,\n\tlayout = {},\n\thasBlockGapSupport,\n\tglobalBlockGapValue,\n\tviewportSettings,\n} ) {\n\treturn Object.entries( getResponsiveMediaQueries( viewportSettings ) )\n\t\t.map( ( [ viewport, mediaQuery ] ) => {\n\t\t\tconst viewportStyle = getStyleForState( attributes?.style, {\n\t\t\t\tviewport,\n\t\t\t\tpseudo: DEFAULT_BLOCK_STYLE_STATE.pseudo,\n\t\t\t} );\n\t\t\tconst viewportLayout = getLayoutContainerValues(\n\t\t\t\tviewportStyle?.layout\n\t\t\t);\n\t\t\tconst hasViewportLayout = Object.keys( viewportLayout ).length > 0;\n\t\t\tconst hasViewportBlockGap =\n\t\t\t\tviewportStyle?.spacing &&\n\t\t\t\tObject.hasOwn( viewportStyle.spacing, 'blockGap' );\n\t\t\tconst hasViewportPadding =\n\t\t\t\tviewportStyle?.spacing &&\n\t\t\t\tObject.hasOwn( viewportStyle.spacing, 'padding' );\n\t\t\tif (\n\t\t\t\t! hasViewportLayout &&\n\t\t\t\t! hasViewportBlockGap &&\n\t\t\t\t! hasViewportPadding\n\t\t\t) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tconst layoutType = getLayoutType( layout?.type || 'default' );\n\t\t\tconst viewportCSS = layoutType?.getLayoutStyle?.( {\n\t\t\t\tblockName,\n\t\t\t\tselector,\n\t\t\t\tlayout,\n\t\t\t\tviewportOverrides: viewportLayout,\n\t\t\t\tstyle: viewportStyle,\n\t\t\t\thasBlockGapSupport,\n\t\t\t\tglobalBlockGapValue,\n\t\t\t} );\n\n\t\t\treturn viewportCSS ? `${ mediaQuery }{${ viewportCSS }}` : '';\n\t\t} )\n\t\t.filter( Boolean )\n\t\t.join( '' );\n}\n\nfunction LayoutPanelPure( {\n\tlayout,\n\tstyle,\n\tsetAttributes,\n\tname: blockName,\n\tclientId,\n} ) {\n\tconst settings = useBlockSettings( blockName );\n\t// Block settings come from theme.json under settings.[blockName].\n\tconst { layout: layoutSettings } = settings;\n\tconst {\n\t\tthemeSupportsLayout,\n\t\tactiveBlockVariation,\n\t\tselectedState,\n\t\tisResponsiveEditing,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetSettings,\n\t\t\t\tgetSelectedBlockStyleState,\n\t\t\t\tisResponsiveEditing: getIsResponsiveEditing,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\treturn {\n\t\t\t\tactiveBlockVariation: select(\n\t\t\t\t\tblocksStore\n\t\t\t\t).getActiveBlockVariation(\n\t\t\t\t\tblockName,\n\t\t\t\t\tgetBlockAttributes( clientId ) || {},\n\t\t\t\t\t'block'\n\t\t\t\t),\n\t\t\t\tthemeSupportsLayout: getSettings().supportsLayout,\n\t\t\t\tselectedState: getSelectedBlockStyleState( clientId ),\n\t\t\t\tisResponsiveEditing: getIsResponsiveEditing(),\n\t\t\t};\n\t\t},\n\t\t[ blockName, clientId ]\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isViewportLayoutState =\n\t\thasViewportBlockStyleState( selectedState ) &&\n\t\t! hasPseudoBlockStyleState( selectedState );\n\tconst resetLayoutFilter = useCallback(\n\t\t( ...resetArgs ) => {\n\t\t\tconst attributes = resetArgs[ 0 ] || {};\n\t\t\tconst context = resetArgs[ 1 ] || {};\n\n\t\t\tif ( isViewportLayoutState ) {\n\t\t\t\tconst existingStateStyle =\n\t\t\t\t\tgetStyleForState(\n\t\t\t\t\t\tattributes.style ?? style,\n\t\t\t\t\t\tselectedState\n\t\t\t\t\t) || {};\n\t\t\t\tconst nextStateStyle = cleanEmptyObject( {\n\t\t\t\t\t...existingStateStyle,\n\t\t\t\t\tlayout: undefined,\n\t\t\t\t} );\n\n\t\t\t\treturn {\n\t\t\t\t\tstyle: setStyleForState(\n\t\t\t\t\t\tattributes.style ?? style,\n\t\t\t\t\t\tselectedState,\n\t\t\t\t\t\tnextStateStyle\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst resetBlockName = context.name || blockName;\n\t\t\tconst resetLayoutBlockSupport = getBlockSupport(\n\t\t\t\tresetBlockName,\n\t\t\t\tlayoutBlockSupportKey,\n\t\t\t\t{}\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlayout: getResetLayout(\n\t\t\t\t\tresetLayoutBlockSupport,\n\t\t\t\t\tactiveBlockVariation\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tblockName,\n\t\t\tactiveBlockVariation,\n\t\t\tisViewportLayoutState,\n\t\t\tselectedState,\n\t\t\tstyle,\n\t\t]\n\t);\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\t// Layout block support comes from the block's block.json.\n\tconst layoutBlockSupport = getBlockSupport(\n\t\tblockName,\n\t\tlayoutBlockSupportKey,\n\t\t{}\n\t);\n\tconst blockSupportAndThemeSettings = {\n\t\t...layoutSettings,\n\t\t...layoutBlockSupport,\n\t};\n\tconst {\n\t\tallowSwitching,\n\t\tallowEditing = true,\n\t\tallowInheriting = true,\n\t\tdefault: defaultBlockLayout,\n\t} = blockSupportAndThemeSettings;\n\n\tif ( ! allowEditing ) {\n\t\treturn null;\n\t}\n\n\t/*\n\t * Try to find the layout type from either the\n\t * block's layout settings or any saved layout config.\n\t */\n\tconst baseLayout = layout || defaultBlockLayout || {};\n\tconst stateStyle = isViewportLayoutState\n\t\t? getStyleForState( style, selectedState )\n\t\t: undefined;\n\tconst stateLayout = stateStyle?.layout;\n\tconst usedLayout = isViewportLayoutState\n\t\t? cleanEmptyObject( {\n\t\t\t\t...baseLayout,\n\t\t\t\t...stateLayout,\n\t\t } ) || {}\n\t\t: baseLayout;\n\tconst resetLayoutDefaults = isViewportLayoutState\n\t\t? baseLayout\n\t\t: getResetLayout( layoutBlockSupport, activeBlockVariation );\n\tconst blockSupportAndLayout = {\n\t\t...layoutBlockSupport,\n\t\t...usedLayout,\n\t};\n\tconst { type, default: { type: defaultType = 'default' } = {} } =\n\t\tblockSupportAndLayout;\n\tconst blockLayoutType = type || defaultType;\n\n\t// Only show the inherit toggle if it's supported,\n\t// and either the default / flow or the constrained layout type is in use, as the toggle switches from one to the other.\n\tconst showInheritToggle = !! (\n\t\tallowInheriting &&\n\t\t( ! blockLayoutType ||\n\t\t\tblockLayoutType === 'default' ||\n\t\t\tblockLayoutType === 'constrained' ||\n\t\t\tblockSupportAndLayout.inherit )\n\t);\n\n\tconst { inherit = false, contentSize = null } = usedLayout;\n\t/**\n\t * `themeSupportsLayout` is only relevant to the `default/flow` or\n\t * `constrained` layouts and it should not be taken into account when other\n\t * `layout` types are used.\n\t */\n\tif (\n\t\t( blockLayoutType === 'default' ||\n\t\t\tblockLayoutType === 'constrained' ) &&\n\t\t! themeSupportsLayout\n\t) {\n\t\treturn null;\n\t}\n\tconst layoutType = getLayoutType( blockLayoutType );\n\tconst constrainedType = getLayoutType( 'constrained' );\n\tconst displayControlsForLegacyLayouts =\n\t\t! usedLayout.type && ( contentSize || inherit );\n\tconst hasContentSizeOrLegacySettings = !! inherit || !! contentSize;\n\tconst showLayoutTypeSwitcher =\n\t\tisDefaultBlockStyleState( selectedState ) &&\n\t\t! inherit &&\n\t\tallowSwitching;\n\n\tconst onChangeLayout = ( newLayout ) => {\n\t\tif ( isViewportLayoutState ) {\n\t\t\tconst nextStateStyle = cleanEmptyObject( {\n\t\t\t\t...stateStyle,\n\t\t\t\tlayout: getLayoutStateOverrides(\n\t\t\t\t\tnewLayout,\n\t\t\t\t\tbaseLayout,\n\t\t\t\t\tstateStyle?.layout\n\t\t\t\t),\n\t\t\t} );\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: setStyleForState( style, selectedState, nextStateStyle ),\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( { layout: cleanEmptyObject( newLayout ) } );\n\t};\n\tconst onChangeType = ( newType ) => onChangeLayout( { type: newType } );\n\tconst resetLayout = () => onChangeLayout( resetLayoutDefaults );\n\tconst resetInheritToggle = () => onChangeLayout( { type: 'default' } );\n\tconst isUsingContentWidth = () =>\n\t\tlayoutType?.name === 'constrained' || hasContentSizeOrLegacySettings;\n\tconst hasInheritToggleValue = () =>\n\t\tisViewportLayoutState\n\t\t\t? ( usedLayout?.type ?? 'default' ) !==\n\t\t\t ( resetLayoutDefaults?.type ?? 'default' )\n\t\t\t: layout?.type === 'constrained';\n\tconst hasLayoutTypeValue = () =>\n\t\t( usedLayout?.type ?? 'default' ) !==\n\t\t( resetLayoutDefaults?.type ?? 'default' );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls\n\t\t\t\tgroup=\"layout\"\n\t\t\t\tresetAllFilter={ resetLayoutFilter }\n\t\t\t>\n\t\t\t\t{ showInheritToggle && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Use content width' ) }\n\t\t\t\t\t\thasValue={ hasInheritToggleValue }\n\t\t\t\t\t\tonDeselect={ resetInheritToggle }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Inner blocks use content width' ) }\n\t\t\t\t\t\t\tchecked={ isUsingContentWidth() }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tonChangeLayout( {\n\t\t\t\t\t\t\t\t\ttype: isUsingContentWidth()\n\t\t\t\t\t\t\t\t\t\t? 'default'\n\t\t\t\t\t\t\t\t\t\t: 'constrained',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tisUsingContentWidth()\n\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t'Nested blocks use content width with options for full and wide widths.'\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'Nested blocks will fill the width of this container.'\n\t\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</ToolsPanelItem>\n\t\t\t\t) }\n\n\t\t\t\t{ showLayoutTypeSwitcher && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Layout type' ) }\n\t\t\t\t\t\thasValue={ hasLayoutTypeValue }\n\t\t\t\t\t\tonDeselect={ resetLayout }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<LayoutTypeSwitcher\n\t\t\t\t\t\t\ttype={ blockLayoutType }\n\t\t\t\t\t\t\tonChange={ onChangeType }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\n\t\t\t\t{ layoutType && layoutType.name !== 'default' && (\n\t\t\t\t\t<layoutType.inspectorControls\n\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\tresetLayout={ resetLayoutDefaults }\n\t\t\t\t\t\tname={ blockName }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ constrainedType && displayControlsForLegacyLayouts && (\n\t\t\t\t\t<constrainedType.inspectorControls\n\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\tresetLayout={ resetLayoutDefaults }\n\t\t\t\t\t\tname={ blockName }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ ! inherit && layoutType && (\n\t\t\t\t<layoutType.toolBarControls\n\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t\tcontrolsGroup={\n\t\t\t\t\t\tisResponsiveEditing &&\n\t\t\t\t\t\thasViewportBlockStyleState( selectedState ) &&\n\t\t\t\t\t\t! hasPseudoBlockStyleState( selectedState )\n\t\t\t\t\t\t\t? 'style-state'\n\t\t\t\t\t\t\t: 'block'\n\t\t\t\t\t}\n\t\t\t\t\tname={ blockName }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: LayoutPanelPure,\n\tattributeKeys: [ 'layout', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasLayoutBlockSupport( name );\n\t},\n};\n\nfunction LayoutTypeSwitcher( { type, onChange } ) {\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Layout type' ) }\n\t\t\thideLabelFromVision\n\t\t\tisAdaptiveWidth\n\t\t\tvalue={ type }\n\t\t\tonChange={ onChange }\n\t\t>\n\t\t\t{ getLayoutTypes().map( ( { name, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ name }\n\t\t\t\t\t\tvalue={ name }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\n/**\n * Filters registered block settings, extending attributes to include `layout`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( 'type' in ( settings.attributes?.layout ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasLayoutBlockSupport( settings ) ) {\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tlayout: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\nfunction BlockWithLayoutStyles( {\n\tblock: BlockListBlock,\n\tprops,\n\tblockGapSupport,\n\tglobalBlockGapValue,\n\tviewportSettings,\n\tlayoutClasses,\n} ) {\n\tconst { name, attributes } = props;\n\tconst id = useInstanceId( BlockListBlock );\n\tconst { layout } = attributes;\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( name, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\n\tconst selectorPrefix = `wp-container-${ kebabCase( name ) }-is-layout-`;\n\t// Higher specificity to override defaults from theme.json.\n\tconst selector = `.${ selectorPrefix }${ id }`;\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\n\t// Get CSS string for the current layout type.\n\t// The CSS and `style` element is only output if it is not empty.\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst baseLayoutCSS = fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName: name,\n\t\tselector,\n\t\tlayout: usedLayout,\n\t\tstyle: attributes?.style,\n\t\thasBlockGapSupport,\n\t\tglobalBlockGapValue,\n\t} );\n\tconst responsiveLayoutCSS = getResponsiveLayoutStyles( {\n\t\tattributes,\n\t\tblockName: name,\n\t\tselector,\n\t\tlayout: usedLayout,\n\t\thasBlockGapSupport,\n\t\tglobalBlockGapValue,\n\t\tviewportSettings,\n\t} );\n\tconst css = [ baseLayoutCSS, responsiveLayoutCSS ]\n\t\t.filter( Boolean )\n\t\t.join( '' );\n\n\t// Attach a `wp-container-` id-based class name as well as a layout class name such as `is-layout-flex`.\n\tconst layoutClassNames = clsx(\n\t\t{\n\t\t\t[ `${ selectorPrefix }${ id }` ]: !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t},\n\t\tlayoutClasses\n\t);\n\n\tuseStyleOverride( { css } );\n\n\treturn (\n\t\t<BlockListBlock\n\t\t\t{ ...props }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t/>\n\t);\n}\n\n/**\n * Override the default block element to add the layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) =>\n\t\tfunction WithLayoutStyles( props ) {\n\t\t\tconst { clientId, name, attributes } = props;\n\t\t\tconst blockSupportsLayout = hasLayoutBlockSupport( name );\n\t\t\tconst layoutClasses = useLayoutClasses( attributes, name );\n\t\t\tconst extraProps = useSelect(\n\t\t\t\t( select ) => {\n\t\t\t\t\t// The callback returns early to avoid block editor subscription.\n\t\t\t\t\tif ( ! blockSupportsLayout ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst { getSettings, getBlockSettings } = unlock(\n\t\t\t\t\t\tselect( blockEditorStore )\n\t\t\t\t\t);\n\t\t\t\t\tconst settings = getSettings();\n\t\t\t\t\tconst { disableLayoutStyles } = settings;\n\n\t\t\t\t\tif ( disableLayoutStyles ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst [ blockGapSupport ] = getBlockSettings(\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t'spacing.blockGap'\n\t\t\t\t\t);\n\n\t\t\t\t\t// Get default blockGap value from global styles for use in layouts like grid.\n\t\t\t\t\t// Check style variation first, then block-specific styles, then fall back to root styles.\n\t\t\t\t\tconst globalStyles = settings[ globalStylesDataKey ];\n\n\t\t\t\t\t// Check if the block has an active style variation with a blockGap value.\n\t\t\t\t\t// Only check the registry if the className contains a variation class to avoid unnecessary lookups.\n\t\t\t\t\tlet variationBlockGapValue;\n\t\t\t\t\tconst className = attributes?.className;\n\t\t\t\t\tif ( className?.includes( VARIATION_PREFIX ) ) {\n\t\t\t\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\t\t\t\tconst registeredStyles = getBlockStyles( name );\n\t\t\t\t\t\tconst variationName = getVariationNameFromClass(\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\tregisteredStyles\n\t\t\t\t\t\t);\n\t\t\t\t\t\tvariationBlockGapValue = variationName\n\t\t\t\t\t\t\t? globalStyles?.blocks?.[ name ]?.variations?.[\n\t\t\t\t\t\t\t\t\tvariationName\n\t\t\t\t\t\t\t ]?.spacing?.blockGap\n\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst globalBlockGapValue =\n\t\t\t\t\t\tvariationBlockGapValue ??\n\t\t\t\t\t\tglobalStyles?.blocks?.[ name ]?.spacing?.blockGap ??\n\t\t\t\t\t\tglobalStyles?.spacing?.blockGap;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblockGapSupport,\n\t\t\t\t\t\tglobalBlockGapValue,\n\t\t\t\t\t\tviewportSettings:\n\t\t\t\t\t\t\tsettings?.__experimentalFeatures?.viewport,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t[ blockSupportsLayout, clientId, attributes?.className, name ]\n\t\t\t);\n\n\t\t\tif ( ! extraProps ) {\n\t\t\t\treturn (\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t__unstableLayoutClassNames={\n\t\t\t\t\t\t\tblockSupportsLayout ? layoutClasses : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<BlockWithLayoutStyles\n\t\t\t\t\tblock={ BlockListBlock }\n\t\t\t\t\tprops={ props }\n\t\t\t\t\tlayoutClasses={ layoutClasses }\n\t\t\t\t\t{ ...extraProps }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t'withLayoutStyles'\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/layout/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-layout-styles',\n\twithLayoutStyles\n);\n"],
5
- "mappings": "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",
3
+ "sources": ["../../src/hooks/layout.jsx"],
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useCallback } from '@wordpress/element';\nimport {\n\tgetBlockSupport,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { privateApis as globalStylesEnginePrivateApis } from '@wordpress/global-styles-engine';\nimport { useSelect } from '@wordpress/data';\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToggleControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { kebabCase } from '@wordpress/kebab-case';\nimport { store as blockEditorStore } from '../store';\nimport { InspectorControls } from '../components';\nimport { useSettings } from '../components/use-settings';\nimport { getLayoutType, getLayoutTypes } from '../layouts';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { LAYOUT_DEFINITIONS } from '../layouts/definitions';\nimport { cleanEmptyObject, useBlockSettings, useStyleOverride } from './utils';\nimport { unlock } from '../lock-unlock';\nimport { globalStylesDataKey } from '../store/private-keys';\nimport { getVariationNameFromClass } from './block-style-variation';\nimport {\n\tDEFAULT_BLOCK_STYLE_STATE,\n\tgetStyleForState,\n\thasPseudoBlockStyleState,\n\thasViewportBlockStyleState,\n\tisDefaultBlockStyleState,\n\tsetStyleForState,\n} from './block-style-state';\n\nconst VARIATION_PREFIX = 'is-style-';\n\nconst layoutBlockSupportKey = 'layout';\nconst CHILD_LAYOUT_KEYS = [\n\t'selfStretch',\n\t'flexSize',\n\t'columnStart',\n\t'columnSpan',\n\t'rowStart',\n\t'rowSpan',\n];\nconst { getResponsiveMediaQueries } = unlock( globalStylesEnginePrivateApis );\n\nfunction getDefaultLayout( layoutBlockSupport = {}, blockVariation ) {\n\tconst defaultBlockLayout = layoutBlockSupport?.default;\n\n\treturn blockVariation?.attributes?.layout ?? defaultBlockLayout;\n}\n\n/**\n * Returns the layout values to use when resetting layout controls.\n *\n * @param { Object } layoutBlockSupport Block layout support settings.\n * @param { Object|undefined } blockVariation Block variation settings.\n *\n * @return { Object|undefined } Reset layout values.\n */\nexport function getResetLayout( layoutBlockSupport = {}, blockVariation ) {\n\treturn cleanEmptyObject( {\n\t\t...getDefaultLayout( layoutBlockSupport, blockVariation ),\n\t} );\n}\n\nexport function getLayoutStateOverrides(\n\tlayout = {},\n\tbaseLayout = {},\n\texistingLayout = {}\n) {\n\tconst overrides = {};\n\tconst childLayoutValues = Object.fromEntries(\n\t\tCHILD_LAYOUT_KEYS.filter( ( key ) =>\n\t\t\tObject.hasOwn( existingLayout || {}, key )\n\t\t).map( ( key ) => [ key, existingLayout[ key ] ] )\n\t);\n\n\tObject.entries( layout || {} ).forEach( ( [ key, value ] ) => {\n\t\tconst baseHasValue = Object.hasOwn( baseLayout || {}, key );\n\t\tif (\n\t\t\t! CHILD_LAYOUT_KEYS.includes( key ) &&\n\t\t\tvalue !== baseLayout?.[ key ]\n\t\t) {\n\t\t\toverrides[ key ] =\n\t\t\t\tvalue === undefined && baseHasValue ? null : value;\n\t\t}\n\t} );\n\n\treturn cleanEmptyObject( {\n\t\t...childLayoutValues,\n\t\t...overrides,\n\t} );\n}\n\n/**\n * Checks whether the layout panel has any controls to display.\n *\n * @param {Object} options Options.\n * @param {Object} options.layoutType Active layout type.\n * @param {Object} options.constrainedType Constrained layout type.\n * @param {Object} options.layoutBlockSupport Layout support settings.\n * @param {boolean} options.showInheritToggle Whether to show the inherit toggle.\n * @param {boolean} options.showLayoutTypeSwitcher Whether to show the layout type switcher.\n * @param {boolean} options.displayControlsForLegacyLayouts Whether to show legacy layout controls.\n *\n * @return {boolean} Whether the layout panel has controls.\n */\nexport function hasLayoutPanelControls( {\n\tlayoutType,\n\tconstrainedType,\n\tlayoutBlockSupport,\n\tshowInheritToggle,\n\tshowLayoutTypeSwitcher,\n\tdisplayControlsForLegacyLayouts,\n} ) {\n\tconst hasActiveLayoutControls =\n\t\tlayoutType?.name !== 'default' &&\n\t\tlayoutType?.hasInspectorControls( layoutBlockSupport );\n\tconst hasLegacyLayoutControls =\n\t\tdisplayControlsForLegacyLayouts &&\n\t\tconstrainedType?.hasInspectorControls( layoutBlockSupport );\n\n\treturn !! (\n\t\tshowInheritToggle ||\n\t\tshowLayoutTypeSwitcher ||\n\t\thasActiveLayoutControls ||\n\t\thasLegacyLayoutControls\n\t);\n}\n\nfunction getLayoutContainerValues( layout = {} ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( layout || {} ).filter(\n\t\t\t( [ key ] ) => ! CHILD_LAYOUT_KEYS.includes( key )\n\t\t)\n\t);\n}\n\nfunction hasLayoutBlockSupport( blockName ) {\n\treturn (\n\t\thasBlockSupport( blockName, 'layout' ) ||\n\t\thasBlockSupport( blockName, '__experimentalLayout' )\n\t);\n}\n\n/**\n * Generates the utility classnames for the given block's layout attributes.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n *\n * @return { Array } Array of CSS classname strings.\n */\nexport function useLayoutClasses( blockAttributes = {}, blockName = '' ) {\n\tconst { layout } = blockAttributes;\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( blockName, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\n\tconst layoutClassnames = [];\n\n\tif ( LAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className ) {\n\t\tconst baseClassName =\n\t\t\tLAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className;\n\t\tconst splitBlockName = blockName.split( '/' );\n\t\tconst fullBlockName =\n\t\t\tsplitBlockName[ 0 ] === 'core'\n\t\t\t\t? splitBlockName.pop()\n\t\t\t\t: splitBlockName.join( '-' );\n\t\tconst compoundClassName = `wp-block-${ fullBlockName }-${ baseClassName }`;\n\t\tlayoutClassnames.push( baseClassName, compoundClassName );\n\t}\n\n\tconst hasGlobalPadding = useSelect(\n\t\t( select ) => {\n\t\t\t// Early return to avoid subscription when layout doesn't use global padding\n\t\t\tif (\n\t\t\t\t! usedLayout?.inherit &&\n\t\t\t\t! usedLayout?.contentSize &&\n\t\t\t\tusedLayout?.type !== 'constrained'\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn select( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalFeatures?.useRootPaddingAwareAlignments;\n\t\t},\n\t\t[ usedLayout?.contentSize, usedLayout?.inherit, usedLayout?.type ]\n\t);\n\n\tif ( hasGlobalPadding ) {\n\t\tlayoutClassnames.push( 'has-global-padding' );\n\t}\n\n\tif ( usedLayout?.orientation ) {\n\t\tlayoutClassnames.push( `is-${ kebabCase( usedLayout.orientation ) }` );\n\t}\n\n\tif ( usedLayout?.justifyContent ) {\n\t\tlayoutClassnames.push(\n\t\t\t`is-content-justification-${ kebabCase(\n\t\t\t\tusedLayout.justifyContent\n\t\t\t) }`\n\t\t);\n\t}\n\n\tif ( usedLayout?.flexWrap && usedLayout.flexWrap === 'nowrap' ) {\n\t\tlayoutClassnames.push( 'is-nowrap' );\n\t}\n\n\treturn layoutClassnames;\n}\n\n/**\n * Generates a CSS rule with the given block's layout styles.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n * @param { string } selector A selector to use in generating the CSS rule.\n *\n * @return { string } CSS rule.\n */\nexport function useLayoutStyles( blockAttributes = {}, blockName, selector ) {\n\tconst { layout = {}, style = {} } = blockAttributes;\n\t// Update type for blocks using legacy layouts.\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || {};\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\treturn fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName,\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\thasBlockGapSupport,\n\t} );\n}\n\n/**\n * Generates responsive layout CSS for viewport state styles.\n *\n * Viewport state blockGap values need to go through the layout definitions\n * because flow/constrained layouts use child margins while flex/grid use gap.\n *\n * @param { Object } options Options.\n * @param { Object } options.attributes Block attributes.\n * @param { string } options.blockName Block name.\n * @param { string } options.selector CSS selector.\n * @param { Object } options.layout Active block layout.\n * @param { boolean } options.hasBlockGapSupport Whether block gap is supported.\n * @param { * } options.globalBlockGapValue Global block gap fallback.\n * @param { Object } options.viewportSettings Viewport breakpoint settings.\n *\n * @return { string } CSS rule.\n */\nexport function getResponsiveLayoutStyles( {\n\tattributes = {},\n\tblockName,\n\tselector,\n\tlayout = {},\n\thasBlockGapSupport,\n\tglobalBlockGapValue,\n\tviewportSettings,\n} ) {\n\treturn Object.entries( getResponsiveMediaQueries( viewportSettings ) )\n\t\t.map( ( [ viewport, mediaQuery ] ) => {\n\t\t\tconst viewportStyle = getStyleForState( attributes?.style, {\n\t\t\t\tviewport,\n\t\t\t\tpseudo: DEFAULT_BLOCK_STYLE_STATE.pseudo,\n\t\t\t} );\n\t\t\tconst viewportLayout = getLayoutContainerValues(\n\t\t\t\tviewportStyle?.layout\n\t\t\t);\n\t\t\tconst hasViewportLayout = Object.keys( viewportLayout ).length > 0;\n\t\t\tconst hasViewportBlockGap =\n\t\t\t\tviewportStyle?.spacing &&\n\t\t\t\tObject.hasOwn( viewportStyle.spacing, 'blockGap' );\n\t\t\tconst hasViewportPadding =\n\t\t\t\tviewportStyle?.spacing &&\n\t\t\t\tObject.hasOwn( viewportStyle.spacing, 'padding' );\n\t\t\tif (\n\t\t\t\t! hasViewportLayout &&\n\t\t\t\t! hasViewportBlockGap &&\n\t\t\t\t! hasViewportPadding\n\t\t\t) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tconst layoutType = getLayoutType( layout?.type || 'default' );\n\t\t\tconst viewportCSS = layoutType?.getLayoutStyle?.( {\n\t\t\t\tblockName,\n\t\t\t\tselector,\n\t\t\t\tlayout,\n\t\t\t\tviewportOverrides: viewportLayout,\n\t\t\t\tstyle: viewportStyle,\n\t\t\t\thasBlockGapSupport,\n\t\t\t\tglobalBlockGapValue,\n\t\t\t} );\n\n\t\t\treturn viewportCSS ? `${ mediaQuery }{${ viewportCSS }}` : '';\n\t\t} )\n\t\t.filter( Boolean )\n\t\t.join( '' );\n}\n\nfunction LayoutPanelPure( {\n\tlayout,\n\tstyle,\n\tsetAttributes,\n\tname: blockName,\n\tclientId,\n} ) {\n\tconst settings = useBlockSettings( blockName );\n\t// Block settings come from theme.json under settings.[blockName].\n\tconst { layout: layoutSettings } = settings;\n\tconst {\n\t\tthemeSupportsLayout,\n\t\tactiveBlockVariation,\n\t\tselectedState,\n\t\tisResponsiveEditing,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetSettings,\n\t\t\t\tgetSelectedBlockStyleState,\n\t\t\t\tisResponsiveEditing: getIsResponsiveEditing,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\treturn {\n\t\t\t\tactiveBlockVariation: select(\n\t\t\t\t\tblocksStore\n\t\t\t\t).getActiveBlockVariation(\n\t\t\t\t\tblockName,\n\t\t\t\t\tgetBlockAttributes( clientId ) || {},\n\t\t\t\t\t'block'\n\t\t\t\t),\n\t\t\t\tthemeSupportsLayout: getSettings().supportsLayout,\n\t\t\t\tselectedState: getSelectedBlockStyleState( clientId ),\n\t\t\t\tisResponsiveEditing: getIsResponsiveEditing(),\n\t\t\t};\n\t\t},\n\t\t[ blockName, clientId ]\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isViewportLayoutState =\n\t\thasViewportBlockStyleState( selectedState ) &&\n\t\t! hasPseudoBlockStyleState( selectedState );\n\tconst resetLayoutFilter = useCallback(\n\t\t( ...resetArgs ) => {\n\t\t\tconst attributes = resetArgs[ 0 ] || {};\n\t\t\tconst context = resetArgs[ 1 ] || {};\n\n\t\t\tif ( isViewportLayoutState ) {\n\t\t\t\tconst existingStateStyle =\n\t\t\t\t\tgetStyleForState(\n\t\t\t\t\t\tattributes.style ?? style,\n\t\t\t\t\t\tselectedState\n\t\t\t\t\t) || {};\n\t\t\t\tconst nextStateStyle = cleanEmptyObject( {\n\t\t\t\t\t...existingStateStyle,\n\t\t\t\t\tlayout: undefined,\n\t\t\t\t} );\n\n\t\t\t\treturn {\n\t\t\t\t\tstyle: setStyleForState(\n\t\t\t\t\t\tattributes.style ?? style,\n\t\t\t\t\t\tselectedState,\n\t\t\t\t\t\tnextStateStyle\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst resetBlockName = context.name || blockName;\n\t\t\tconst resetLayoutBlockSupport = getBlockSupport(\n\t\t\t\tresetBlockName,\n\t\t\t\tlayoutBlockSupportKey,\n\t\t\t\t{}\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlayout: getResetLayout(\n\t\t\t\t\tresetLayoutBlockSupport,\n\t\t\t\t\tactiveBlockVariation\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tblockName,\n\t\t\tactiveBlockVariation,\n\t\t\tisViewportLayoutState,\n\t\t\tselectedState,\n\t\t\tstyle,\n\t\t]\n\t);\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\t// Layout block support comes from the block's block.json.\n\tconst layoutBlockSupport = getBlockSupport(\n\t\tblockName,\n\t\tlayoutBlockSupportKey,\n\t\t{}\n\t);\n\tconst blockSupportAndThemeSettings = {\n\t\t...layoutSettings,\n\t\t...layoutBlockSupport,\n\t};\n\tconst {\n\t\tallowSwitching,\n\t\tallowEditing = true,\n\t\tallowInheriting = true,\n\t\tdefault: defaultBlockLayout,\n\t} = blockSupportAndThemeSettings;\n\n\tif ( ! allowEditing ) {\n\t\treturn null;\n\t}\n\n\t/*\n\t * Try to find the layout type from either the\n\t * block's layout settings or any saved layout config.\n\t */\n\tconst baseLayout = layout || defaultBlockLayout || {};\n\tconst stateStyle = isViewportLayoutState\n\t\t? getStyleForState( style, selectedState )\n\t\t: undefined;\n\tconst stateLayout = stateStyle?.layout;\n\tconst usedLayout = isViewportLayoutState\n\t\t? cleanEmptyObject( {\n\t\t\t\t...baseLayout,\n\t\t\t\t...stateLayout,\n\t\t } ) || {}\n\t\t: baseLayout;\n\tconst resetLayoutDefaults = isViewportLayoutState\n\t\t? baseLayout\n\t\t: getResetLayout( layoutBlockSupport, activeBlockVariation );\n\tconst blockSupportAndLayout = {\n\t\t...layoutBlockSupport,\n\t\t...usedLayout,\n\t};\n\tconst { type, default: { type: defaultType = 'default' } = {} } =\n\t\tblockSupportAndLayout;\n\tconst blockLayoutType = type || defaultType;\n\n\t// Only show the inherit toggle if it's supported,\n\t// and either the default / flow or the constrained layout type is in use, as the toggle switches from one to the other.\n\tconst showInheritToggle = !! (\n\t\tallowInheriting &&\n\t\t( ! blockLayoutType ||\n\t\t\tblockLayoutType === 'default' ||\n\t\t\tblockLayoutType === 'constrained' ||\n\t\t\tblockSupportAndLayout.inherit )\n\t);\n\n\tconst { inherit = false, contentSize = null } = usedLayout;\n\t/**\n\t * `themeSupportsLayout` is only relevant to the `default/flow` or\n\t * `constrained` layouts and it should not be taken into account when other\n\t * `layout` types are used.\n\t */\n\tif (\n\t\t( blockLayoutType === 'default' ||\n\t\t\tblockLayoutType === 'constrained' ) &&\n\t\t! themeSupportsLayout\n\t) {\n\t\treturn null;\n\t}\n\tconst layoutType = getLayoutType( blockLayoutType );\n\tconst constrainedType = getLayoutType( 'constrained' );\n\tconst displayControlsForLegacyLayouts =\n\t\t! usedLayout.type && ( contentSize || inherit );\n\tconst hasContentSizeOrLegacySettings = !! inherit || !! contentSize;\n\tconst showLayoutTypeSwitcher =\n\t\tisDefaultBlockStyleState( selectedState ) &&\n\t\t! inherit &&\n\t\tallowSwitching;\n\tconst showLayoutPanel = hasLayoutPanelControls( {\n\t\tlayoutType,\n\t\tconstrainedType,\n\t\tlayoutBlockSupport: blockSupportAndThemeSettings,\n\t\tshowInheritToggle,\n\t\tshowLayoutTypeSwitcher,\n\t\tdisplayControlsForLegacyLayouts,\n\t} );\n\n\tconst onChangeLayout = ( newLayout ) => {\n\t\tif ( isViewportLayoutState ) {\n\t\t\tconst nextStateStyle = cleanEmptyObject( {\n\t\t\t\t...stateStyle,\n\t\t\t\tlayout: getLayoutStateOverrides(\n\t\t\t\t\tnewLayout,\n\t\t\t\t\tbaseLayout,\n\t\t\t\t\tstateStyle?.layout\n\t\t\t\t),\n\t\t\t} );\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: setStyleForState( style, selectedState, nextStateStyle ),\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( { layout: cleanEmptyObject( newLayout ) } );\n\t};\n\tconst onChangeType = ( newType ) => onChangeLayout( { type: newType } );\n\tconst resetLayout = () => onChangeLayout( resetLayoutDefaults );\n\tconst resetInheritToggle = () => onChangeLayout( { type: 'default' } );\n\tconst isUsingContentWidth = () =>\n\t\tlayoutType?.name === 'constrained' || hasContentSizeOrLegacySettings;\n\tconst hasInheritToggleValue = () =>\n\t\tisViewportLayoutState\n\t\t\t? ( usedLayout?.type ?? 'default' ) !==\n\t\t\t ( resetLayoutDefaults?.type ?? 'default' )\n\t\t\t: layout?.type === 'constrained';\n\tconst hasLayoutTypeValue = () =>\n\t\t( usedLayout?.type ?? 'default' ) !==\n\t\t( resetLayoutDefaults?.type ?? 'default' );\n\n\treturn (\n\t\t<>\n\t\t\t{ showLayoutPanel && (\n\t\t\t\t<InspectorControls\n\t\t\t\t\tgroup=\"layout\"\n\t\t\t\t\tresetAllFilter={ resetLayoutFilter }\n\t\t\t\t>\n\t\t\t\t\t{ showInheritToggle && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Use content width' ) }\n\t\t\t\t\t\t\thasValue={ hasInheritToggleValue }\n\t\t\t\t\t\t\tonDeselect={ resetInheritToggle }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Inner blocks use content width' ) }\n\t\t\t\t\t\t\t\tchecked={ isUsingContentWidth() }\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tonChangeLayout( {\n\t\t\t\t\t\t\t\t\t\ttype: isUsingContentWidth()\n\t\t\t\t\t\t\t\t\t\t\t? 'default'\n\t\t\t\t\t\t\t\t\t\t\t: 'constrained',\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\thelp={\n\t\t\t\t\t\t\t\t\tisUsingContentWidth()\n\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks use content width with options for full and wide widths.'\n\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\t'Nested blocks will fill the width of this container.'\n\t\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</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ showLayoutTypeSwitcher && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Layout type' ) }\n\t\t\t\t\t\t\thasValue={ hasLayoutTypeValue }\n\t\t\t\t\t\t\tonDeselect={ resetLayout }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LayoutTypeSwitcher\n\t\t\t\t\t\t\t\ttype={ blockLayoutType }\n\t\t\t\t\t\t\t\tonChange={ onChangeType }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ layoutType && layoutType.name !== 'default' && (\n\t\t\t\t\t\t<layoutType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\t\tresetLayout={ resetLayoutDefaults }\n\t\t\t\t\t\t\tname={ blockName }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ constrainedType && displayControlsForLegacyLayouts && (\n\t\t\t\t\t\t<constrainedType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tvalue={ layout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\t\tresetLayout={ resetLayoutDefaults }\n\t\t\t\t\t\t\tname={ blockName }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! inherit && layoutType && (\n\t\t\t\t<layoutType.toolBarControls\n\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t\tcontrolsGroup={\n\t\t\t\t\t\tisResponsiveEditing &&\n\t\t\t\t\t\thasViewportBlockStyleState( selectedState ) &&\n\t\t\t\t\t\t! hasPseudoBlockStyleState( selectedState )\n\t\t\t\t\t\t\t? 'style-state'\n\t\t\t\t\t\t\t: 'block'\n\t\t\t\t\t}\n\t\t\t\t\tname={ blockName }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: LayoutPanelPure,\n\tattributeKeys: [ 'layout', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasLayoutBlockSupport( name );\n\t},\n};\n\nfunction LayoutTypeSwitcher( { type, onChange } ) {\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tisBlock\n\t\t\tlabel={ __( 'Layout type' ) }\n\t\t\thideLabelFromVision\n\t\t\tisAdaptiveWidth\n\t\t\tvalue={ type }\n\t\t\tonChange={ onChange }\n\t\t>\n\t\t\t{ getLayoutTypes().map( ( { name, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tkey={ name }\n\t\t\t\t\t\tvalue={ name }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\n/**\n * Filters registered block settings, extending attributes to include `layout`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( 'type' in ( settings.attributes?.layout ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasLayoutBlockSupport( settings ) ) {\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tlayout: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\nfunction BlockWithLayoutStyles( {\n\tblock: BlockListBlock,\n\tprops,\n\tblockGapSupport,\n\tglobalBlockGapValue,\n\tviewportSettings,\n\tlayoutClasses,\n} ) {\n\tconst { name, attributes } = props;\n\tconst id = useInstanceId( BlockListBlock );\n\tconst { layout } = attributes;\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( name, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\n\tconst selectorPrefix = `wp-container-${ kebabCase( name ) }-is-layout-`;\n\t// Higher specificity to override defaults from theme.json.\n\tconst selector = `.${ selectorPrefix }${ id }`;\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\n\t// Get CSS string for the current layout type.\n\t// The CSS and `style` element is only output if it is not empty.\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst baseLayoutCSS = fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName: name,\n\t\tselector,\n\t\tlayout: usedLayout,\n\t\tstyle: attributes?.style,\n\t\thasBlockGapSupport,\n\t\tglobalBlockGapValue,\n\t} );\n\tconst responsiveLayoutCSS = getResponsiveLayoutStyles( {\n\t\tattributes,\n\t\tblockName: name,\n\t\tselector,\n\t\tlayout: usedLayout,\n\t\thasBlockGapSupport,\n\t\tglobalBlockGapValue,\n\t\tviewportSettings,\n\t} );\n\tconst css = [ baseLayoutCSS, responsiveLayoutCSS ]\n\t\t.filter( Boolean )\n\t\t.join( '' );\n\n\t// Attach a `wp-container-` id-based class name as well as a layout class name such as `is-layout-flex`.\n\tconst layoutClassNames = clsx(\n\t\t{\n\t\t\t[ `${ selectorPrefix }${ id }` ]: !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t},\n\t\tlayoutClasses\n\t);\n\n\tuseStyleOverride( { css } );\n\n\treturn (\n\t\t<BlockListBlock\n\t\t\t{ ...props }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t/>\n\t);\n}\n\n/**\n * Override the default block element to add the layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) =>\n\t\tfunction WithLayoutStyles( props ) {\n\t\t\tconst { clientId, name, attributes } = props;\n\t\t\tconst blockSupportsLayout = hasLayoutBlockSupport( name );\n\t\t\tconst layoutClasses = useLayoutClasses( attributes, name );\n\t\t\tconst extraProps = useSelect(\n\t\t\t\t( select ) => {\n\t\t\t\t\t// The callback returns early to avoid block editor subscription.\n\t\t\t\t\tif ( ! blockSupportsLayout ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst { getSettings, getBlockSettings } = unlock(\n\t\t\t\t\t\tselect( blockEditorStore )\n\t\t\t\t\t);\n\t\t\t\t\tconst settings = getSettings();\n\t\t\t\t\tconst { disableLayoutStyles } = settings;\n\n\t\t\t\t\tif ( disableLayoutStyles ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst [ blockGapSupport ] = getBlockSettings(\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t'spacing.blockGap'\n\t\t\t\t\t);\n\n\t\t\t\t\t// Get default blockGap value from global styles for use in layouts like grid.\n\t\t\t\t\t// Check style variation first, then block-specific styles, then fall back to root styles.\n\t\t\t\t\tconst globalStyles = settings[ globalStylesDataKey ];\n\n\t\t\t\t\t// Check if the block has an active style variation with a blockGap value.\n\t\t\t\t\t// Only check the registry if the className contains a variation class to avoid unnecessary lookups.\n\t\t\t\t\tlet variationBlockGapValue;\n\t\t\t\t\tconst className = attributes?.className;\n\t\t\t\t\tif ( className?.includes( VARIATION_PREFIX ) ) {\n\t\t\t\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\t\t\t\tconst registeredStyles = getBlockStyles( name );\n\t\t\t\t\t\tconst variationName = getVariationNameFromClass(\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\tregisteredStyles\n\t\t\t\t\t\t);\n\t\t\t\t\t\tvariationBlockGapValue = variationName\n\t\t\t\t\t\t\t? globalStyles?.blocks?.[ name ]?.variations?.[\n\t\t\t\t\t\t\t\t\tvariationName\n\t\t\t\t\t\t\t ]?.spacing?.blockGap\n\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst globalBlockGapValue =\n\t\t\t\t\t\tvariationBlockGapValue ??\n\t\t\t\t\t\tglobalStyles?.blocks?.[ name ]?.spacing?.blockGap ??\n\t\t\t\t\t\tglobalStyles?.spacing?.blockGap;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblockGapSupport,\n\t\t\t\t\t\tglobalBlockGapValue,\n\t\t\t\t\t\tviewportSettings:\n\t\t\t\t\t\t\tsettings?.__experimentalFeatures?.viewport,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t[ blockSupportsLayout, clientId, attributes?.className, name ]\n\t\t\t);\n\n\t\t\tif ( ! extraProps ) {\n\t\t\t\treturn (\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t__unstableLayoutClassNames={\n\t\t\t\t\t\t\tblockSupportsLayout ? layoutClasses : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<BlockWithLayoutStyles\n\t\t\t\t\tblock={ BlockListBlock }\n\t\t\t\t\tprops={ props }\n\t\t\t\t\tlayoutClasses={ layoutClasses }\n\t\t\t\t\t{ ...extraProps }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t'withLayoutStyles'\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/layout/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-layout-styles',\n\twithLayoutStyles\n);\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/line-height.js
1
+ // packages/block-editor/src/hooks/line-height.jsx
2
2
  import { hasBlockSupport } from "@wordpress/blocks";
3
3
  import LineHeightControl from "../components/line-height-control/index.mjs";
4
4
  import { cleanEmptyObject } from "./utils.mjs";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/line-height.js"],
3
+ "sources": ["../../src/hooks/line-height.jsx"],
4
4
  "sourcesContent": ["import { hasBlockSupport } from '@wordpress/blocks';\nimport LineHeightControl from '../components/line-height-control';\nimport { cleanEmptyObject } from './utils';\nimport { useSettings } from '../components/use-settings';\n\nexport const LINE_HEIGHT_SUPPORT_KEY = 'typography.lineHeight';\n\n/**\n * Inspector control panel containing the line height related configuration\n *\n * @param {Object} props\n *\n * @return {Element} Line height edit element.\n */\nexport function LineHeightEdit( props ) {\n\tconst {\n\t\tattributes: { style },\n\t\tsetAttributes,\n\t} = props;\n\n\tconst onChange = ( newLineHeightValue ) => {\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\ttypography: {\n\t\t\t\t...style?.typography,\n\t\t\t\tlineHeight: newLineHeightValue,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( { style: cleanEmptyObject( newStyle ) } );\n\t};\n\treturn (\n\t\t<LineHeightControl\n\t\t\t__unstableInputWidth=\"100%\"\n\t\t\tvalue={ style?.typography?.lineHeight }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/**\n * Custom hook that checks if line-height settings have been disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether setting is disabled.\n */\nexport function useIsLineHeightDisabled( { name: blockName } = {} ) {\n\tconst [ isEnabled ] = useSettings( 'typography.lineHeight' );\n\n\treturn (\n\t\t! isEnabled || ! hasBlockSupport( blockName, LINE_HEIGHT_SUPPORT_KEY )\n\t);\n}\n"],
5
5
  "mappings": ";AAAA,SAAS,uBAAuB;AAChC,OAAO,uBAAuB;AAC9B,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AA6B1B;AA3BK,IAAM,0BAA0B;AAShC,SAAS,eAAgB,OAAQ;AACvC,QAAM;AAAA,IACL,YAAY,EAAE,MAAM;AAAA,IACpB;AAAA,EACD,IAAI;AAEJ,QAAM,WAAW,CAAE,uBAAwB;AAC1C,UAAM,WAAW;AAAA,MAChB,GAAG;AAAA,MACH,YAAY;AAAA,QACX,GAAG,OAAO;AAAA,QACV,YAAY;AAAA,MACb;AAAA,IACD;AAEA,kBAAe,EAAE,OAAO,iBAAkB,QAAS,EAAE,CAAE;AAAA,EACxD;AACA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,sBAAqB;AAAA,MACrB,OAAQ,OAAO,YAAY;AAAA,MAC3B;AAAA;AAAA,EACD;AAEF;AAQO,SAAS,wBAAyB,EAAE,MAAM,UAAU,IAAI,CAAC,GAAI;AACnE,QAAM,CAAE,SAAU,IAAI,YAAa,uBAAwB;AAE3D,SACC,CAAE,aAAa,CAAE,gBAAiB,WAAW,uBAAwB;AAEvE;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/list-view.js
1
+ // packages/block-editor/src/hooks/list-view.jsx
2
2
  import { __ } from "@wordpress/i18n";
3
3
  import { PanelBody } from "@wordpress/components";
4
4
  import { useDispatch, useSelect } from "@wordpress/data";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/list-view.js"],
3
+ "sources": ["../../src/hooks/list-view.jsx"],
4
4
  "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { PanelBody } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { hasBlockSupport, getBlockType } from '@wordpress/blocks';\nimport { useContext } from '@wordpress/element';\nimport { store as blockEditorStore } from '../store';\nimport { PrivateListView } from '../components/list-view';\nimport InspectorControls from '../components/inspector-controls/fill';\nimport { PrivateBlockContext } from '../components/block-list/private-block-context';\nimport useListViewPanelState from '../components/use-list-view-panel-state';\nimport { unlock } from '../lock-unlock';\n\nexport const LIST_VIEW_SUPPORT_KEY = 'listView';\n\n/**\n * Check if the block has list view support.\n *\n * @param {string|Object} nameOrType Block name or block type object.\n * @return {boolean} Whether the block has list view support.\n */\nexport function hasListViewSupport( nameOrType ) {\n\treturn hasBlockSupport( nameOrType, LIST_VIEW_SUPPORT_KEY );\n}\n\n/**\n * Inspector controls panel for list view.\n *\n * @param {Object} props Component props.\n * @param {string} props.clientId Block client ID.\n * @param {string} props.name Block name.\n * @return {Element|null} List view inspector controls or null.\n */\nexport function ListViewPanel( { clientId, name } ) {\n\tconst { isSelectionWithinCurrentSection } =\n\t\tuseContext( PrivateBlockContext );\n\n\tconst { isOpened, expandRevision, handleToggle } =\n\t\tuseListViewPanelState( clientId );\n\n\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\tconst { openListViewContentPanel } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tconst { isEnabled, hasChildren, isNestedListView } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockParents,\n\t\t\t\tshouldRenderBlockListView,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\t// Avoid showing List Views for both parent and child blocks that have support.\n\t\t\t// In this situation the parent will show the child in its list already.\n\t\t\t// Search parents to see if there's one that also has support, and if so skip rendering.\n\t\t\t// This matches closely the logic in the `BlockCard` component.\n\t\t\tconst parents = getBlockParents( clientId, false );\n\t\t\tconst _isNestedListView = parents.find( ( parentId ) =>\n\t\t\t\tshouldRenderBlockListView( parentId )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tisEnabled: shouldRenderBlockListView( clientId ),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tisNestedListView: _isNestedListView,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockType = getBlockType( name );\n\tconst title = blockType?.title || name;\n\n\tif ( ! isEnabled || isNestedListView ) {\n\t\treturn null;\n\t}\n\n\tconst showBlockTitle = isSelectionWithinCurrentSection;\n\n\treturn (\n\t\t<InspectorControls group=\"list\">\n\t\t\t<PanelBody\n\t\t\t\ttitle={ showBlockTitle ? title : undefined }\n\t\t\t\topened={ isOpened }\n\t\t\t\tonToggle={ handleToggle }\n\t\t\t>\n\t\t\t\t{ ! hasChildren && (\n\t\t\t\t\t<p className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t\t{ __( 'No items yet.' ) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t\t<PrivateListView\n\t\t\t\t\tkey={ `${ clientId }-${ expandRevision }` }\n\t\t\t\t\trootClientId={ clientId }\n\t\t\t\t\tisExpanded\n\t\t\t\t\tdescription={ title }\n\t\t\t\t\tshowAppender\n\t\t\t\t\tonSelect={ openListViewContentPanel }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n\n/**\n * Export block support definition.\n */\nexport default {\n\tedit: ListViewPanel,\n\thasSupport: hasListViewSupport,\n\tattributeKeys: [],\n\tsupportsPatternEditing: true,\n};\n"],
5
5
  "mappings": ";AAAA,SAAS,UAAU;AACnB,SAAS,iBAAiB;AAC1B,SAAS,aAAa,iBAAiB;AACvC,SAAS,iBAAiB,oBAAoB;AAC9C,SAAS,kBAAkB;AAC3B,SAAS,SAAS,wBAAwB;AAC1C,SAAS,uBAAuB;AAChC,OAAO,uBAAuB;AAC9B,SAAS,2BAA2B;AACpC,OAAO,2BAA2B;AAClC,SAAS,cAAc;AAuEpB,SAME,KANF;AArEI,IAAM,wBAAwB;AAQ9B,SAAS,mBAAoB,YAAa;AAChD,SAAO,gBAAiB,YAAY,qBAAsB;AAC3D;AAUO,SAAS,cAAe,EAAE,UAAU,KAAK,GAAI;AACnD,QAAM,EAAE,gCAAgC,IACvC,WAAY,mBAAoB;AAEjC,QAAM,EAAE,UAAU,gBAAgB,aAAa,IAC9C,sBAAuB,QAAS;AAGjC,QAAM,EAAE,yBAAyB,IAAI;AAAA,IACpC,YAAa,gBAAiB;AAAA,EAC/B;AAEA,QAAM,EAAE,WAAW,aAAa,iBAAiB,IAAI;AAAA,IACpD,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,OAAQ,gBAAiB,CAAE;AAMvC,YAAM,UAAU,gBAAiB,UAAU,KAAM;AACjD,YAAM,oBAAoB,QAAQ;AAAA,QAAM,CAAE,aACzC,0BAA2B,QAAS;AAAA,MACrC;AAEA,aAAO;AAAA,QACN,WAAW,0BAA2B,QAAS;AAAA,QAC/C,aAAa,CAAC,CAAE,cAAe,QAAS;AAAA,QACxC,kBAAkB;AAAA,MACnB;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAEA,QAAM,YAAY,aAAc,IAAK;AACrC,QAAM,QAAQ,WAAW,SAAS;AAElC,MAAK,CAAE,aAAa,kBAAmB;AACtC,WAAO;AAAA,EACR;AAEA,QAAM,iBAAiB;AAEvB,SACC,oBAAC,qBAAkB,OAAM,QACxB;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,iBAAiB,QAAQ;AAAA,MACjC,QAAS;AAAA,MACT,UAAW;AAAA,MAET;AAAA,SAAE,eACH,oBAAC,OAAE,WAAU,2CACV,aAAI,eAAgB,GACvB;AAAA,QAED;AAAA,UAAC;AAAA;AAAA,YAEA,cAAe;AAAA,YACf,YAAU;AAAA,YACV,aAAc;AAAA,YACd,cAAY;AAAA,YACZ,UAAW;AAAA;AAAA,UALL,GAAI,QAAS,IAAK,cAAe;AAAA,QAMxC;AAAA;AAAA;AAAA,EACD,GACD;AAEF;AAKA,IAAO,oBAAQ;AAAA,EACd,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,eAAe,CAAC;AAAA,EAChB,wBAAwB;AACzB;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/position.js
1
+ // packages/block-editor/src/hooks/position.jsx
2
2
  import clsx from "clsx";
3
3
  import { __, _x, sprintf } from "@wordpress/i18n";
4
4
  import { getBlockSupport, hasBlockSupport } from "@wordpress/blocks";
@@ -153,6 +153,7 @@ function PositionPanelPure({
153
153
  label: __("Position"),
154
154
  hideLabelFromVision: true,
155
155
  description: stickyHelpText,
156
+ popupWidth: "anchor",
156
157
  items: options,
157
158
  value: selectedOption,
158
159
  onValueChange: (selectedItem) => {
@@ -165,7 +166,6 @@ function PositionPanelPure({
165
166
  {
166
167
  value: option,
167
168
  label: option.label,
168
- className: "block-editor-hooks__position-control-item",
169
169
  "aria-describedby": hintId,
170
170
  children: [
171
171
  /* @__PURE__ */ jsx("div", { children: option.label }),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/position.js"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useId, useMemo } from '@wordpress/element';\n// eslint-disable-next-line @wordpress/use-recommended-components -- Use the portal-based popup to avoid inspector clipping.\nimport { SelectControl } from '@wordpress/ui';\nimport { useSettings } from '../components/use-settings';\nimport InspectorControls from '../components/inspector-controls';\nimport useBlockDisplayInformation from '../components/use-block-display-information';\nimport { cleanEmptyObject, useStyleOverride } from './utils';\nimport { store as blockEditorStore } from '../store';\n\nconst POSITION_SUPPORT_KEY = 'position';\n\nconst DEFAULT_OPTION = {\n\tkey: 'default',\n\tvalue: '',\n\tlabel: __( 'Default' ),\n};\n\nconst STICKY_OPTION = {\n\tkey: 'sticky',\n\tvalue: 'sticky',\n\tlabel: _x( 'Sticky', 'Name for the value of the CSS position property' ),\n\thint: __(\n\t\t'The block will stick to the top of the window instead of scrolling.'\n\t),\n};\n\nconst FIXED_OPTION = {\n\tkey: 'fixed',\n\tvalue: 'fixed',\n\tlabel: _x( 'Fixed', 'Name for the value of the CSS position property' ),\n\thint: __( 'The block will not move when the page is scrolled.' ),\n};\n\nconst POSITION_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nconst VALID_POSITION_TYPES = [ 'sticky', 'fixed' ];\n\n/**\n * Get calculated position CSS.\n *\n * @param {Object} props Component props.\n * @param {string} props.selector Selector to use.\n * @param {Object} props.style Style object.\n * @return {string} The generated CSS rules.\n */\nexport function getPositionCSS( { selector, style } ) {\n\tlet output = '';\n\n\tconst { type: positionType } = style?.position || {};\n\n\tif ( ! VALID_POSITION_TYPES.includes( positionType ) ) {\n\t\treturn output;\n\t}\n\n\toutput += `${ selector } {`;\n\toutput += `position: ${ positionType };`;\n\n\tPOSITION_SIDES.forEach( ( side ) => {\n\t\tif ( style?.position?.[ side ] !== undefined ) {\n\t\t\toutput += `${ side }: ${ style.position[ side ] };`;\n\t\t}\n\t} );\n\n\tif ( positionType === 'sticky' || positionType === 'fixed' ) {\n\t\t// TODO: Replace hard-coded z-index value with a z-index preset approach in theme.json.\n\t\toutput += `z-index: 10`;\n\t}\n\toutput += `}`;\n\n\treturn output;\n}\n\n/**\n * Determines if there is sticky position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasStickyPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.sticky );\n}\n\n/**\n * Determines if there is fixed position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasFixedPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.fixed );\n}\n\n/**\n * Determines if there is position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! support;\n}\n\n/**\n * Checks if there is a current value in the position block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a position value set.\n */\nexport function hasPositionValue( props ) {\n\treturn props.attributes.style?.position?.type !== undefined;\n}\n\n/**\n * Checks if the block is currently set to a sticky or fixed position.\n * This check is helpful for determining how to position block toolbars or other elements.\n *\n * @param {Object} attributes Block attributes.\n * @return {boolean} Whether or not the block is set to a sticky or fixed position.\n */\nexport function hasStickyOrFixedPositionValue( attributes ) {\n\tconst positionType = attributes?.style?.position?.type;\n\treturn positionType === 'sticky' || positionType === 'fixed';\n}\n\n/**\n * Resets the position block support attributes. This can be used when disabling\n * the position support controls for a block via a `ToolsPanel`.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetPosition( { attributes = {}, setAttributes } ) {\n\tconst { style = {} } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: undefined,\n\t\t\t\ttop: undefined,\n\t\t\t\tright: undefined,\n\t\t\t\tbottom: undefined,\n\t\t\t\tleft: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\n/**\n * Custom hook that checks if position settings have been disabled.\n *\n * @param {string} name The name of the block.\n *\n * @return {boolean} Whether padding setting is disabled.\n */\nexport function useIsPositionDisabled( { name: blockName } = {} ) {\n\tconst [ allowFixed, allowSticky ] = useSettings(\n\t\t'position.fixed',\n\t\t'position.sticky'\n\t);\n\tconst isDisabled = ! allowFixed && ! allowSticky;\n\n\treturn ! hasPositionSupport( blockName ) || isDisabled;\n}\n\n/*\n * Position controls rendered in an inspector control panel.\n *\n * @param {Object} props\n *\n * @return {Element} Position panel.\n */\nexport function PositionPanelPure( {\n\tstyle = {},\n\tclientId,\n\tname: blockName,\n\tsetAttributes,\n} ) {\n\tconst allowFixed = hasFixedPositionSupport( blockName );\n\tconst allowSticky = hasStickyPositionSupport( blockName );\n\tconst value = style?.position?.type;\n\n\tconst { firstParentClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParents } = select( blockEditorStore );\n\t\t\tconst parents = getBlockParents( clientId );\n\t\t\treturn { firstParentClientId: parents[ parents.length - 1 ] };\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockInformation = useBlockDisplayInformation( firstParentClientId );\n\tconst stickyHelpText =\n\t\tallowSticky && value === STICKY_OPTION.value && blockInformation\n\t\t\t? sprintf(\n\t\t\t\t\t/* translators: %s: the name of the parent block. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'The block will stick to the scrollable area of the parent %s block.'\n\t\t\t\t\t),\n\t\t\t\t\tblockInformation.title\n\t\t\t )\n\t\t\t: null;\n\n\tconst options = useMemo( () => {\n\t\tconst availableOptions = [ DEFAULT_OPTION ];\n\t\t// Display options if they are allowed, or if a block already has a valid value set.\n\t\t// This allows for a block to be switched off from a position type that is not allowed.\n\t\tif ( allowSticky || value === STICKY_OPTION.value ) {\n\t\t\tavailableOptions.push( STICKY_OPTION );\n\t\t}\n\t\tif ( allowFixed || value === FIXED_OPTION.value ) {\n\t\t\tavailableOptions.push( FIXED_OPTION );\n\t\t}\n\t\treturn availableOptions;\n\t}, [ allowFixed, allowSticky, value ] );\n\n\tconst onChangeType = ( next ) => {\n\t\t// For now, use a hard-coded `0px` value for the position.\n\t\t// `0px` is preferred over `0` as it can be used in `calc()` functions.\n\t\t// In the future, it could be useful to allow for an offset value.\n\t\tconst placementValue = '0px';\n\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: next,\n\t\t\t\ttop:\n\t\t\t\t\tnext === 'sticky' || next === 'fixed'\n\t\t\t\t\t\t? placementValue\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tconst selectedOption = value\n\t\t? options.find( ( option ) => option.value === value ) || DEFAULT_OPTION\n\t\t: DEFAULT_OPTION;\n\tconst hintIdPrefix = useId();\n\n\t// Only display position controls if there is at least one option to choose from.\n\treturn options.length > 1 ? (\n\t\t<InspectorControls group=\"position\">\n\t\t\t<SelectControl\n\t\t\t\tlabel={ __( 'Position' ) }\n\t\t\t\thideLabelFromVision\n\t\t\t\tdescription={ stickyHelpText }\n\t\t\t\titems={ options }\n\t\t\t\tvalue={ selectedOption }\n\t\t\t\tonValueChange={ ( selectedItem ) => {\n\t\t\t\t\tonChangeType( selectedItem.value );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ options.map( ( option ) => {\n\t\t\t\t\tconst hintId = option.hint\n\t\t\t\t\t\t? `${ hintIdPrefix }-${ option.key }`\n\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SelectControl.Item\n\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\tvalue={ option }\n\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__position-control-item\"\n\t\t\t\t\t\t\taria-describedby={ hintId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div>{ option.label }</div>\n\t\t\t\t\t\t\t{ option.hint && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tid={ hintId }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__position-control-item-hint\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ option.hint }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</SelectControl.Item>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</SelectControl>\n\t\t</InspectorControls>\n\t) : null;\n}\n\nexport default {\n\tedit: function Edit( props ) {\n\t\tconst isPositionDisabled = useIsPositionDisabled( props );\n\t\tif ( isPositionDisabled ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <PositionPanelPure { ...props } />;\n\t},\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, POSITION_SUPPORT_KEY );\n\t},\n};\n\n// Used for generating the instance ID\nconst POSITION_BLOCK_PROPS_REFERENCE = {};\n\nfunction useBlockProps( { name, style } ) {\n\tconst hasPositionBlockSupport = hasBlockSupport(\n\t\tname,\n\t\tPOSITION_SUPPORT_KEY\n\t);\n\tconst isPositionDisabled = useIsPositionDisabled( { name } );\n\tconst allowPositionStyles = hasPositionBlockSupport && ! isPositionDisabled;\n\n\tconst id = useInstanceId( POSITION_BLOCK_PROPS_REFERENCE );\n\n\t// Higher specificity to override defaults in editor UI.\n\tconst positionSelector = `.wp-container-${ id }.wp-container-${ id }`;\n\n\t// Get CSS string for the current position values.\n\tlet css;\n\tif ( allowPositionStyles ) {\n\t\tcss =\n\t\t\tgetPositionCSS( {\n\t\t\t\tselector: positionSelector,\n\t\t\t\tstyle,\n\t\t\t} ) || '';\n\t}\n\n\t// Attach a `wp-container-` id-based class name.\n\tconst className = clsx( {\n\t\t[ `wp-container-${ id }` ]: allowPositionStyles && !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t[ `is-position-${ style?.position?.type }` ]:\n\t\t\tallowPositionStyles && !! css && !! style?.position?.type,\n\t} );\n\n\tuseStyleOverride( { css } );\n\n\treturn { className };\n}\n"],
5
- "mappings": "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",
3
+ "sources": ["../../src/hooks/position.jsx"],
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useId, useMemo } from '@wordpress/element';\n// eslint-disable-next-line @wordpress/use-recommended-components -- Use the portal-based popup to avoid inspector clipping.\nimport { SelectControl } from '@wordpress/ui';\nimport { useSettings } from '../components/use-settings';\nimport InspectorControls from '../components/inspector-controls';\nimport useBlockDisplayInformation from '../components/use-block-display-information';\nimport { cleanEmptyObject, useStyleOverride } from './utils';\nimport { store as blockEditorStore } from '../store';\n\nconst POSITION_SUPPORT_KEY = 'position';\n\nconst DEFAULT_OPTION = {\n\tkey: 'default',\n\tvalue: '',\n\tlabel: __( 'Default' ),\n};\n\nconst STICKY_OPTION = {\n\tkey: 'sticky',\n\tvalue: 'sticky',\n\tlabel: _x( 'Sticky', 'Name for the value of the CSS position property' ),\n\thint: __(\n\t\t'The block will stick to the top of the window instead of scrolling.'\n\t),\n};\n\nconst FIXED_OPTION = {\n\tkey: 'fixed',\n\tvalue: 'fixed',\n\tlabel: _x( 'Fixed', 'Name for the value of the CSS position property' ),\n\thint: __( 'The block will not move when the page is scrolled.' ),\n};\n\nconst POSITION_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nconst VALID_POSITION_TYPES = [ 'sticky', 'fixed' ];\n\n/**\n * Get calculated position CSS.\n *\n * @param {Object} props Component props.\n * @param {string} props.selector Selector to use.\n * @param {Object} props.style Style object.\n * @return {string} The generated CSS rules.\n */\nexport function getPositionCSS( { selector, style } ) {\n\tlet output = '';\n\n\tconst { type: positionType } = style?.position || {};\n\n\tif ( ! VALID_POSITION_TYPES.includes( positionType ) ) {\n\t\treturn output;\n\t}\n\n\toutput += `${ selector } {`;\n\toutput += `position: ${ positionType };`;\n\n\tPOSITION_SIDES.forEach( ( side ) => {\n\t\tif ( style?.position?.[ side ] !== undefined ) {\n\t\t\toutput += `${ side }: ${ style.position[ side ] };`;\n\t\t}\n\t} );\n\n\tif ( positionType === 'sticky' || positionType === 'fixed' ) {\n\t\t// TODO: Replace hard-coded z-index value with a z-index preset approach in theme.json.\n\t\toutput += `z-index: 10`;\n\t}\n\toutput += `}`;\n\n\treturn output;\n}\n\n/**\n * Determines if there is sticky position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasStickyPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.sticky );\n}\n\n/**\n * Determines if there is fixed position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasFixedPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.fixed );\n}\n\n/**\n * Determines if there is position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! support;\n}\n\n/**\n * Checks if there is a current value in the position block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a position value set.\n */\nexport function hasPositionValue( props ) {\n\treturn props.attributes.style?.position?.type !== undefined;\n}\n\n/**\n * Checks if the block is currently set to a sticky or fixed position.\n * This check is helpful for determining how to position block toolbars or other elements.\n *\n * @param {Object} attributes Block attributes.\n * @return {boolean} Whether or not the block is set to a sticky or fixed position.\n */\nexport function hasStickyOrFixedPositionValue( attributes ) {\n\tconst positionType = attributes?.style?.position?.type;\n\treturn positionType === 'sticky' || positionType === 'fixed';\n}\n\n/**\n * Resets the position block support attributes. This can be used when disabling\n * the position support controls for a block via a `ToolsPanel`.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetPosition( { attributes = {}, setAttributes } ) {\n\tconst { style = {} } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: undefined,\n\t\t\t\ttop: undefined,\n\t\t\t\tright: undefined,\n\t\t\t\tbottom: undefined,\n\t\t\t\tleft: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\n/**\n * Custom hook that checks if position settings have been disabled.\n *\n * @param {string} name The name of the block.\n *\n * @return {boolean} Whether padding setting is disabled.\n */\nexport function useIsPositionDisabled( { name: blockName } = {} ) {\n\tconst [ allowFixed, allowSticky ] = useSettings(\n\t\t'position.fixed',\n\t\t'position.sticky'\n\t);\n\tconst isDisabled = ! allowFixed && ! allowSticky;\n\n\treturn ! hasPositionSupport( blockName ) || isDisabled;\n}\n\n/*\n * Position controls rendered in an inspector control panel.\n *\n * @param {Object} props\n *\n * @return {Element} Position panel.\n */\nexport function PositionPanelPure( {\n\tstyle = {},\n\tclientId,\n\tname: blockName,\n\tsetAttributes,\n} ) {\n\tconst allowFixed = hasFixedPositionSupport( blockName );\n\tconst allowSticky = hasStickyPositionSupport( blockName );\n\tconst value = style?.position?.type;\n\n\tconst { firstParentClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParents } = select( blockEditorStore );\n\t\t\tconst parents = getBlockParents( clientId );\n\t\t\treturn { firstParentClientId: parents[ parents.length - 1 ] };\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockInformation = useBlockDisplayInformation( firstParentClientId );\n\tconst stickyHelpText =\n\t\tallowSticky && value === STICKY_OPTION.value && blockInformation\n\t\t\t? sprintf(\n\t\t\t\t\t/* translators: %s: the name of the parent block. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'The block will stick to the scrollable area of the parent %s block.'\n\t\t\t\t\t),\n\t\t\t\t\tblockInformation.title\n\t\t\t )\n\t\t\t: null;\n\n\tconst options = useMemo( () => {\n\t\tconst availableOptions = [ DEFAULT_OPTION ];\n\t\t// Display options if they are allowed, or if a block already has a valid value set.\n\t\t// This allows for a block to be switched off from a position type that is not allowed.\n\t\tif ( allowSticky || value === STICKY_OPTION.value ) {\n\t\t\tavailableOptions.push( STICKY_OPTION );\n\t\t}\n\t\tif ( allowFixed || value === FIXED_OPTION.value ) {\n\t\t\tavailableOptions.push( FIXED_OPTION );\n\t\t}\n\t\treturn availableOptions;\n\t}, [ allowFixed, allowSticky, value ] );\n\n\tconst onChangeType = ( next ) => {\n\t\t// For now, use a hard-coded `0px` value for the position.\n\t\t// `0px` is preferred over `0` as it can be used in `calc()` functions.\n\t\t// In the future, it could be useful to allow for an offset value.\n\t\tconst placementValue = '0px';\n\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: next,\n\t\t\t\ttop:\n\t\t\t\t\tnext === 'sticky' || next === 'fixed'\n\t\t\t\t\t\t? placementValue\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tconst selectedOption = value\n\t\t? options.find( ( option ) => option.value === value ) || DEFAULT_OPTION\n\t\t: DEFAULT_OPTION;\n\tconst hintIdPrefix = useId();\n\n\t// Only display position controls if there is at least one option to choose from.\n\treturn options.length > 1 ? (\n\t\t<InspectorControls group=\"position\">\n\t\t\t<SelectControl\n\t\t\t\tlabel={ __( 'Position' ) }\n\t\t\t\thideLabelFromVision\n\t\t\t\tdescription={ stickyHelpText }\n\t\t\t\tpopupWidth=\"anchor\"\n\t\t\t\titems={ options }\n\t\t\t\tvalue={ selectedOption }\n\t\t\t\tonValueChange={ ( selectedItem ) => {\n\t\t\t\t\tonChangeType( selectedItem.value );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ options.map( ( option ) => {\n\t\t\t\t\tconst hintId = option.hint\n\t\t\t\t\t\t? `${ hintIdPrefix }-${ option.key }`\n\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SelectControl.Item\n\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\tvalue={ option }\n\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\taria-describedby={ hintId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div>{ option.label }</div>\n\t\t\t\t\t\t\t{ option.hint && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tid={ hintId }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__position-control-item-hint\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ option.hint }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</SelectControl.Item>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</SelectControl>\n\t\t</InspectorControls>\n\t) : null;\n}\n\nexport default {\n\tedit: function Edit( props ) {\n\t\tconst isPositionDisabled = useIsPositionDisabled( props );\n\t\tif ( isPositionDisabled ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <PositionPanelPure { ...props } />;\n\t},\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, POSITION_SUPPORT_KEY );\n\t},\n};\n\n// Used for generating the instance ID\nconst POSITION_BLOCK_PROPS_REFERENCE = {};\n\nfunction useBlockProps( { name, style } ) {\n\tconst hasPositionBlockSupport = hasBlockSupport(\n\t\tname,\n\t\tPOSITION_SUPPORT_KEY\n\t);\n\tconst isPositionDisabled = useIsPositionDisabled( { name } );\n\tconst allowPositionStyles = hasPositionBlockSupport && ! isPositionDisabled;\n\n\tconst id = useInstanceId( POSITION_BLOCK_PROPS_REFERENCE );\n\n\t// Higher specificity to override defaults in editor UI.\n\tconst positionSelector = `.wp-container-${ id }.wp-container-${ id }`;\n\n\t// Get CSS string for the current position values.\n\tlet css;\n\tif ( allowPositionStyles ) {\n\t\tcss =\n\t\t\tgetPositionCSS( {\n\t\t\t\tselector: positionSelector,\n\t\t\t\tstyle,\n\t\t\t} ) || '';\n\t}\n\n\t// Attach a `wp-container-` id-based class name.\n\tconst className = clsx( {\n\t\t[ `wp-container-${ id }` ]: allowPositionStyles && !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t[ `is-position-${ style?.position?.type }` ]:\n\t\t\tallowPositionStyles && !! css && !! style?.position?.type,\n\t} );\n\n\tuseStyleOverride( { css } );\n\n\treturn { className };\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/spacing-visualizer.js
1
+ // packages/block-editor/src/hooks/spacing-visualizer.jsx
2
2
  import { useState, useRef, useEffect, useReducer } from "@wordpress/element";
3
3
  import { isShallowEqual } from "@wordpress/is-shallow-equal";
4
4
  import BlockPopoverCover from "../components/block-popover/cover.mjs";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/spacing-visualizer.js"],
3
+ "sources": ["../../src/hooks/spacing-visualizer.jsx"],
4
4
  "sourcesContent": ["import { useState, useRef, useEffect, useReducer } from '@wordpress/element';\nimport { isShallowEqual } from '@wordpress/is-shallow-equal';\nimport BlockPopoverCover from '../components/block-popover/cover';\nimport { useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\n\nfunction SpacingVisualizer( { clientId, value, computeStyle, forceShow } ) {\n\tconst blockElement = useBlockElement( clientId );\n\tconst [ style, updateStyle ] = useReducer( () =>\n\t\tcomputeStyle( blockElement )\n\t);\n\n\t// Force style computation when forceShow becomes true (e.g., when hovering control)\n\t// to ensure visualizer displays correct dimensions on first render.\n\tuseEffect( () => {\n\t\tif ( blockElement && forceShow ) {\n\t\t\tupdateStyle();\n\t\t}\n\t}, [ blockElement, forceShow ] );\n\n\t// It's not sufficient to read the block's computed style when `value` changes because\n\t// the effect would run before the block’s style has updated. Thus observing mutations\n\t// to the block’s attributes is used to trigger updates to the visualizer’s styles.\n\tuseEffect( () => {\n\t\tif ( ! blockElement ) {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new window.MutationObserver( updateStyle );\n\t\tobserver.observe( blockElement, {\n\t\t\tattributes: true,\n\t\t\tattributeFilter: [ 'style', 'class' ],\n\t\t} );\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ blockElement ] );\n\n\tconst previousValueRef = useRef( value );\n\tconst [ isActive, setIsActive ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( isShallowEqual( value, previousValueRef.current ) || forceShow ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsActive( true );\n\t\tpreviousValueRef.current = value;\n\n\t\tconst timeout = setTimeout( () => {\n\t\t\tsetIsActive( false );\n\t\t}, 400 );\n\n\t\treturn () => {\n\t\t\tsetIsActive( false );\n\t\t\tclearTimeout( timeout );\n\t\t};\n\t}, [ value, forceShow ] );\n\n\tif ( ! isActive && ! forceShow ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockPopoverCover\n\t\t\tclientId={ clientId }\n\t\t\t__unstablePopoverSlot=\"block-toolbar\"\n\t\t>\n\t\t\t<div className=\"block-editor__spacing-visualizer\" style={ style } />\n\t\t</BlockPopoverCover>\n\t);\n}\n\nfunction getComputedCSS( element, property ) {\n\treturn element.ownerDocument.defaultView\n\t\t.getComputedStyle( element )\n\t\t.getPropertyValue( property );\n}\n\nexport function MarginVisualizer( { clientId, value, forceShow } ) {\n\treturn (\n\t\t<SpacingVisualizer\n\t\t\tclientId={ clientId }\n\t\t\tvalue={ value?.spacing?.margin }\n\t\t\tcomputeStyle={ ( blockElement ) => {\n\t\t\t\tconst top = getComputedCSS( blockElement, 'margin-top' );\n\t\t\t\tconst right = getComputedCSS( blockElement, 'margin-right' );\n\t\t\t\tconst bottom = getComputedCSS( blockElement, 'margin-bottom' );\n\t\t\t\tconst left = getComputedCSS( blockElement, 'margin-left' );\n\t\t\t\treturn {\n\t\t\t\t\tborderTopWidth: top,\n\t\t\t\t\tborderRightWidth: right,\n\t\t\t\t\tborderBottomWidth: bottom,\n\t\t\t\t\tborderLeftWidth: left,\n\t\t\t\t\ttop: top ? `-${ top }` : 0,\n\t\t\t\t\tright: right ? `-${ right }` : 0,\n\t\t\t\t\tbottom: bottom ? `-${ bottom }` : 0,\n\t\t\t\t\tleft: left ? `-${ left }` : 0,\n\t\t\t\t};\n\t\t\t} }\n\t\t\tforceShow={ forceShow }\n\t\t/>\n\t);\n}\n\nexport function PaddingVisualizer( { clientId, value, forceShow } ) {\n\treturn (\n\t\t<SpacingVisualizer\n\t\t\tclientId={ clientId }\n\t\t\tvalue={ value?.spacing?.padding }\n\t\t\tcomputeStyle={ ( blockElement ) => ( {\n\t\t\t\tborderTopWidth: getComputedCSS( blockElement, 'padding-top' ),\n\t\t\t\tborderRightWidth: getComputedCSS(\n\t\t\t\t\tblockElement,\n\t\t\t\t\t'padding-right'\n\t\t\t\t),\n\t\t\t\tborderBottomWidth: getComputedCSS(\n\t\t\t\t\tblockElement,\n\t\t\t\t\t'padding-bottom'\n\t\t\t\t),\n\t\t\t\tborderLeftWidth: getComputedCSS( blockElement, 'padding-left' ),\n\t\t\t} ) }\n\t\t\tforceShow={ forceShow }\n\t\t/>\n\t);\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,7 +1,7 @@
1
- // packages/block-editor/src/hooks/states.js
1
+ // packages/block-editor/src/hooks/states.jsx
2
2
  import { useMemo } from "@wordpress/element";
3
3
  import { privateApis as globalStylesEnginePrivateApis } from "@wordpress/global-styles-engine";
4
- import { __ } from "@wordpress/i18n";
4
+ import { __, _x } from "@wordpress/i18n";
5
5
  import StateControl from "../components/global-styles/state-control.mjs";
6
6
  import StateControlBadges from "../components/global-styles/state-control-badges.mjs";
7
7
  import { useToolsPanelDropdownMenuProps } from "../components/global-styles/utils.mjs";
@@ -10,10 +10,13 @@ import { unlock } from "../lock-unlock.mjs";
10
10
  import { jsx } from "react/jsx-runtime";
11
11
  var { getViewportBreakpoints } = unlock(globalStylesEnginePrivateApis);
12
12
  var PSEUDO_STATE_LABELS = {
13
- ":hover": __("Hover"),
14
- ":focus": __("Focus"),
15
- ":focus-visible": __("Focus-visible"),
16
- ":active": __("Active")
13
+ ":hover": _x("Hover", "Name for the CSS pseudo-class selector"),
14
+ ":focus": _x("Focus", "Name for the CSS pseudo-class selector"),
15
+ ":focus-visible": _x(
16
+ "Focus-visible",
17
+ "Name for the CSS pseudo-class selector"
18
+ ),
19
+ ":active": _x("Active", "Name for the CSS pseudo-class selector")
17
20
  };
18
21
  var RESPONSIVE_STATE_LABELS = {
19
22
  "@tablet": __("Tablet"),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/states.js"],
4
- "sourcesContent": ["import { useMemo } from '@wordpress/element';\nimport { privateApis as globalStylesEnginePrivateApis } from '@wordpress/global-styles-engine';\nimport { __ } from '@wordpress/i18n';\nimport StateControl from '../components/global-styles/state-control';\nimport StateControlBadges from '../components/global-styles/state-control-badges';\nimport { useToolsPanelDropdownMenuProps } from '../components/global-styles/utils';\nimport { useSettings } from '../components/use-settings';\nimport { unlock } from '../lock-unlock';\n\nconst { getViewportBreakpoints } = unlock( globalStylesEnginePrivateApis );\n\nexport const PSEUDO_STATE_LABELS = {\n\t':hover': __( 'Hover' ),\n\t':focus': __( 'Focus' ),\n\t':focus-visible': __( 'Focus-visible' ),\n\t':active': __( 'Active' ),\n};\n\nexport const RESPONSIVE_STATE_LABELS = {\n\t'@tablet': __( 'Tablet' ),\n\t'@mobile': __( 'Mobile' ),\n};\n\n// Viewport states are selected globally via the editor's device preview.\nfunction getDeviceStateOptions( viewportSettings ) {\n\tconst breakpoints = getViewportBreakpoints( viewportSettings );\n\n\treturn Object.entries( RESPONSIVE_STATE_LABELS )\n\t\t.filter(\n\t\t\t( [ value ] ) =>\n\t\t\t\t( value !== '@tablet' || breakpoints.tablet !== undefined ) &&\n\t\t\t\t( value !== '@mobile' || breakpoints.mobile !== undefined )\n\t\t)\n\t\t.map( ( [ value, label ] ) => ( {\n\t\t\tvalue,\n\t\t\tlabel,\n\t\t} ) );\n}\n\n// Keep in sync with WP_Theme_JSON_Gutenberg::VALID_BLOCK_PSEUDO_SELECTORS\n// and packages/global-styles-engine/src/core/render.tsx.\nexport const VALID_BLOCK_PSEUDO_STATES = {\n\t'core/button': [ ':hover', ':focus', ':focus-visible', ':active' ],\n\t'core/navigation-link': [ ':hover', ':focus', ':focus-visible', ':active' ],\n};\n\nfunction getPseudoStateOptions( name ) {\n\tconst validStates = VALID_BLOCK_PSEUDO_STATES[ name ] ?? [];\n\n\treturn validStates\n\t\t.filter( ( state ) => PSEUDO_STATE_LABELS[ state ] )\n\t\t.map( ( state ) => ( {\n\t\t\tvalue: state,\n\t\t\tlabel: PSEUDO_STATE_LABELS[ state ],\n\t\t} ) );\n}\n\nconst DEFAULT_STATE_VALUE = 'default';\nconst EMPTY_STATE_OPTIONS = [];\n\n/**\n * Renders a pseudo-state selector in the block card header.\n *\n * Viewport states are selected globally via the editor's device preview\n * (Responsive editing), so only pseudo-states are exposed here.\n *\n * @param {Object} props Component props.\n * @param {string} props.name Block name.\n * @param {Object} props.value Currently selected style-state value.\n * @param {Function} props.onChange Callback when style-state selection changes.\n * @return {Element|null} State control component, or null if not applicable.\n */\nexport function BlockStatesControl( { name, value, onChange } ) {\n\tconst pseudoStateOptions = useMemo(\n\t\t() => getPseudoStateOptions( name ),\n\t\t[ name ]\n\t);\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tif ( ! pseudoStateOptions.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StateControl\n\t\t\tpseudoStates={ pseudoStateOptions }\n\t\t\tpseudoStateValue={ value?.pseudo ?? DEFAULT_STATE_VALUE }\n\t\t\tonChangePseudoState={ ( pseudo ) => onChange( { pseudo } ) }\n\t\t\tpopoverProps={ dropdownMenuProps.popoverProps }\n\t\t\tshowText={ false }\n\t\t/>\n\t);\n}\n\n/**\n * Renders badges for the active style states of a block.\n *\n * @param {Object} props Component props.\n * @param {string} props.name Block name.\n * @param {Object} props.value Currently selected style-state value.\n * @param {boolean} props.isResponsiveEditing Whether Responsive editing is enabled.\n * @return {Element|null} Badges component, or null if there is nothing to show.\n */\nexport function BlockStateBadges( { name, value, isResponsiveEditing } ) {\n\tconst pseudoStateOptions = useMemo(\n\t\t() => getPseudoStateOptions( name ),\n\t\t[ name ]\n\t);\n\tconst [ viewportSettings ] = useSettings( 'viewport' );\n\tconst deviceStateOptions = useMemo(\n\t\t() => getDeviceStateOptions( viewportSettings ),\n\t\t[ viewportSettings ]\n\t);\n\n\tif ( ! pseudoStateOptions.length && ! isResponsiveEditing ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StateControlBadges\n\t\t\tviewportStates={\n\t\t\t\tisResponsiveEditing ? deviceStateOptions : EMPTY_STATE_OPTIONS\n\t\t\t}\n\t\t\tpseudoStates={ pseudoStateOptions }\n\t\t\tviewportValue={ value?.viewport ?? DEFAULT_STATE_VALUE }\n\t\t\tpseudoStateValue={ value?.pseudo ?? DEFAULT_STATE_VALUE }\n\t\t/>\n\t);\n}\n"],
5
- "mappings": ";AAAA,SAAS,eAAe;AACxB,SAAS,eAAe,qCAAqC;AAC7D,SAAS,UAAU;AACnB,OAAO,kBAAkB;AACzB,OAAO,wBAAwB;AAC/B,SAAS,sCAAsC;AAC/C,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AA6ErB;AA3EF,IAAM,EAAE,uBAAuB,IAAI,OAAQ,6BAA8B;AAElE,IAAM,sBAAsB;AAAA,EAClC,UAAU,GAAI,OAAQ;AAAA,EACtB,UAAU,GAAI,OAAQ;AAAA,EACtB,kBAAkB,GAAI,eAAgB;AAAA,EACtC,WAAW,GAAI,QAAS;AACzB;AAEO,IAAM,0BAA0B;AAAA,EACtC,WAAW,GAAI,QAAS;AAAA,EACxB,WAAW,GAAI,QAAS;AACzB;AAGA,SAAS,sBAAuB,kBAAmB;AAClD,QAAM,cAAc,uBAAwB,gBAAiB;AAE7D,SAAO,OAAO,QAAS,uBAAwB,EAC7C;AAAA,IACA,CAAE,CAAE,KAAM,OACP,UAAU,aAAa,YAAY,WAAW,YAC9C,UAAU,aAAa,YAAY,WAAW;AAAA,EAClD,EACC,IAAK,CAAE,CAAE,OAAO,KAAM,OAAS;AAAA,IAC/B;AAAA,IACA;AAAA,EACD,EAAI;AACN;AAIO,IAAM,4BAA4B;AAAA,EACxC,eAAe,CAAE,UAAU,UAAU,kBAAkB,SAAU;AAAA,EACjE,wBAAwB,CAAE,UAAU,UAAU,kBAAkB,SAAU;AAC3E;AAEA,SAAS,sBAAuB,MAAO;AACtC,QAAM,cAAc,0BAA2B,IAAK,KAAK,CAAC;AAE1D,SAAO,YACL,OAAQ,CAAE,UAAW,oBAAqB,KAAM,CAAE,EAClD,IAAK,CAAE,WAAa;AAAA,IACpB,OAAO;AAAA,IACP,OAAO,oBAAqB,KAAM;AAAA,EACnC,EAAI;AACN;AAEA,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB,CAAC;AActB,SAAS,mBAAoB,EAAE,MAAM,OAAO,SAAS,GAAI;AAC/D,QAAM,qBAAqB;AAAA,IAC1B,MAAM,sBAAuB,IAAK;AAAA,IAClC,CAAE,IAAK;AAAA,EACR;AACA,QAAM,oBAAoB,+BAA+B;AAEzD,MAAK,CAAE,mBAAmB,QAAS;AAClC,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,cAAe;AAAA,MACf,kBAAmB,OAAO,UAAU;AAAA,MACpC,qBAAsB,CAAE,WAAY,SAAU,EAAE,OAAO,CAAE;AAAA,MACzD,cAAe,kBAAkB;AAAA,MACjC,UAAW;AAAA;AAAA,EACZ;AAEF;AAWO,SAAS,iBAAkB,EAAE,MAAM,OAAO,oBAAoB,GAAI;AACxE,QAAM,qBAAqB;AAAA,IAC1B,MAAM,sBAAuB,IAAK;AAAA,IAClC,CAAE,IAAK;AAAA,EACR;AACA,QAAM,CAAE,gBAAiB,IAAI,YAAa,UAAW;AACrD,QAAM,qBAAqB;AAAA,IAC1B,MAAM,sBAAuB,gBAAiB;AAAA,IAC9C,CAAE,gBAAiB;AAAA,EACpB;AAEA,MAAK,CAAE,mBAAmB,UAAU,CAAE,qBAAsB;AAC3D,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,gBACC,sBAAsB,qBAAqB;AAAA,MAE5C,cAAe;AAAA,MACf,eAAgB,OAAO,YAAY;AAAA,MACnC,kBAAmB,OAAO,UAAU;AAAA;AAAA,EACrC;AAEF;",
3
+ "sources": ["../../src/hooks/states.jsx"],
4
+ "sourcesContent": ["import { useMemo } from '@wordpress/element';\nimport { privateApis as globalStylesEnginePrivateApis } from '@wordpress/global-styles-engine';\nimport { __, _x } from '@wordpress/i18n';\nimport StateControl from '../components/global-styles/state-control';\nimport StateControlBadges from '../components/global-styles/state-control-badges';\nimport { useToolsPanelDropdownMenuProps } from '../components/global-styles/utils';\nimport { useSettings } from '../components/use-settings';\nimport { unlock } from '../lock-unlock';\n\nconst { getViewportBreakpoints } = unlock( globalStylesEnginePrivateApis );\n\nexport const PSEUDO_STATE_LABELS = {\n\t':hover': _x( 'Hover', 'Name for the CSS pseudo-class selector' ),\n\t':focus': _x( 'Focus', 'Name for the CSS pseudo-class selector' ),\n\t':focus-visible': _x(\n\t\t'Focus-visible',\n\t\t'Name for the CSS pseudo-class selector'\n\t),\n\t':active': _x( 'Active', 'Name for the CSS pseudo-class selector' ),\n};\n\nexport const RESPONSIVE_STATE_LABELS = {\n\t'@tablet': __( 'Tablet' ),\n\t'@mobile': __( 'Mobile' ),\n};\n\n// Viewport states are selected globally via the editor's device preview.\nfunction getDeviceStateOptions( viewportSettings ) {\n\tconst breakpoints = getViewportBreakpoints( viewportSettings );\n\n\treturn Object.entries( RESPONSIVE_STATE_LABELS )\n\t\t.filter(\n\t\t\t( [ value ] ) =>\n\t\t\t\t( value !== '@tablet' || breakpoints.tablet !== undefined ) &&\n\t\t\t\t( value !== '@mobile' || breakpoints.mobile !== undefined )\n\t\t)\n\t\t.map( ( [ value, label ] ) => ( {\n\t\t\tvalue,\n\t\t\tlabel,\n\t\t} ) );\n}\n\n// Keep in sync with WP_Theme_JSON_Gutenberg::VALID_BLOCK_PSEUDO_SELECTORS\n// and packages/global-styles-engine/src/core/render.tsx.\nexport const VALID_BLOCK_PSEUDO_STATES = {\n\t'core/button': [ ':hover', ':focus', ':focus-visible', ':active' ],\n\t'core/navigation-link': [ ':hover', ':focus', ':focus-visible', ':active' ],\n};\n\nfunction getPseudoStateOptions( name ) {\n\tconst validStates = VALID_BLOCK_PSEUDO_STATES[ name ] ?? [];\n\n\treturn validStates\n\t\t.filter( ( state ) => PSEUDO_STATE_LABELS[ state ] )\n\t\t.map( ( state ) => ( {\n\t\t\tvalue: state,\n\t\t\tlabel: PSEUDO_STATE_LABELS[ state ],\n\t\t} ) );\n}\n\nconst DEFAULT_STATE_VALUE = 'default';\nconst EMPTY_STATE_OPTIONS = [];\n\n/**\n * Renders a pseudo-state selector in the block card header.\n *\n * Viewport states are selected globally via the editor's device preview\n * (Responsive editing), so only pseudo-states are exposed here.\n *\n * @param {Object} props Component props.\n * @param {string} props.name Block name.\n * @param {Object} props.value Currently selected style-state value.\n * @param {Function} props.onChange Callback when style-state selection changes.\n * @return {Element|null} State control component, or null if not applicable.\n */\nexport function BlockStatesControl( { name, value, onChange } ) {\n\tconst pseudoStateOptions = useMemo(\n\t\t() => getPseudoStateOptions( name ),\n\t\t[ name ]\n\t);\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tif ( ! pseudoStateOptions.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StateControl\n\t\t\tpseudoStates={ pseudoStateOptions }\n\t\t\tpseudoStateValue={ value?.pseudo ?? DEFAULT_STATE_VALUE }\n\t\t\tonChangePseudoState={ ( pseudo ) => onChange( { pseudo } ) }\n\t\t\tpopoverProps={ dropdownMenuProps.popoverProps }\n\t\t\tshowText={ false }\n\t\t/>\n\t);\n}\n\n/**\n * Renders badges for the active style states of a block.\n *\n * @param {Object} props Component props.\n * @param {string} props.name Block name.\n * @param {Object} props.value Currently selected style-state value.\n * @param {boolean} props.isResponsiveEditing Whether Responsive editing is enabled.\n * @return {Element|null} Badges component, or null if there is nothing to show.\n */\nexport function BlockStateBadges( { name, value, isResponsiveEditing } ) {\n\tconst pseudoStateOptions = useMemo(\n\t\t() => getPseudoStateOptions( name ),\n\t\t[ name ]\n\t);\n\tconst [ viewportSettings ] = useSettings( 'viewport' );\n\tconst deviceStateOptions = useMemo(\n\t\t() => getDeviceStateOptions( viewportSettings ),\n\t\t[ viewportSettings ]\n\t);\n\n\tif ( ! pseudoStateOptions.length && ! isResponsiveEditing ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StateControlBadges\n\t\t\tviewportStates={\n\t\t\t\tisResponsiveEditing ? deviceStateOptions : EMPTY_STATE_OPTIONS\n\t\t\t}\n\t\t\tpseudoStates={ pseudoStateOptions }\n\t\t\tviewportValue={ value?.viewport ?? DEFAULT_STATE_VALUE }\n\t\t\tpseudoStateValue={ value?.pseudo ?? DEFAULT_STATE_VALUE }\n\t\t/>\n\t);\n}\n"],
5
+ "mappings": ";AAAA,SAAS,eAAe;AACxB,SAAS,eAAe,qCAAqC;AAC7D,SAAS,IAAI,UAAU;AACvB,OAAO,kBAAkB;AACzB,OAAO,wBAAwB;AAC/B,SAAS,sCAAsC;AAC/C,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AAgFrB;AA9EF,IAAM,EAAE,uBAAuB,IAAI,OAAQ,6BAA8B;AAElE,IAAM,sBAAsB;AAAA,EAClC,UAAU,GAAI,SAAS,wCAAyC;AAAA,EAChE,UAAU,GAAI,SAAS,wCAAyC;AAAA,EAChE,kBAAkB;AAAA,IACjB;AAAA,IACA;AAAA,EACD;AAAA,EACA,WAAW,GAAI,UAAU,wCAAyC;AACnE;AAEO,IAAM,0BAA0B;AAAA,EACtC,WAAW,GAAI,QAAS;AAAA,EACxB,WAAW,GAAI,QAAS;AACzB;AAGA,SAAS,sBAAuB,kBAAmB;AAClD,QAAM,cAAc,uBAAwB,gBAAiB;AAE7D,SAAO,OAAO,QAAS,uBAAwB,EAC7C;AAAA,IACA,CAAE,CAAE,KAAM,OACP,UAAU,aAAa,YAAY,WAAW,YAC9C,UAAU,aAAa,YAAY,WAAW;AAAA,EAClD,EACC,IAAK,CAAE,CAAE,OAAO,KAAM,OAAS;AAAA,IAC/B;AAAA,IACA;AAAA,EACD,EAAI;AACN;AAIO,IAAM,4BAA4B;AAAA,EACxC,eAAe,CAAE,UAAU,UAAU,kBAAkB,SAAU;AAAA,EACjE,wBAAwB,CAAE,UAAU,UAAU,kBAAkB,SAAU;AAC3E;AAEA,SAAS,sBAAuB,MAAO;AACtC,QAAM,cAAc,0BAA2B,IAAK,KAAK,CAAC;AAE1D,SAAO,YACL,OAAQ,CAAE,UAAW,oBAAqB,KAAM,CAAE,EAClD,IAAK,CAAE,WAAa;AAAA,IACpB,OAAO;AAAA,IACP,OAAO,oBAAqB,KAAM;AAAA,EACnC,EAAI;AACN;AAEA,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB,CAAC;AActB,SAAS,mBAAoB,EAAE,MAAM,OAAO,SAAS,GAAI;AAC/D,QAAM,qBAAqB;AAAA,IAC1B,MAAM,sBAAuB,IAAK;AAAA,IAClC,CAAE,IAAK;AAAA,EACR;AACA,QAAM,oBAAoB,+BAA+B;AAEzD,MAAK,CAAE,mBAAmB,QAAS;AAClC,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,cAAe;AAAA,MACf,kBAAmB,OAAO,UAAU;AAAA,MACpC,qBAAsB,CAAE,WAAY,SAAU,EAAE,OAAO,CAAE;AAAA,MACzD,cAAe,kBAAkB;AAAA,MACjC,UAAW;AAAA;AAAA,EACZ;AAEF;AAWO,SAAS,iBAAkB,EAAE,MAAM,OAAO,oBAAoB,GAAI;AACxE,QAAM,qBAAqB;AAAA,IAC1B,MAAM,sBAAuB,IAAK;AAAA,IAClC,CAAE,IAAK;AAAA,EACR;AACA,QAAM,CAAE,gBAAiB,IAAI,YAAa,UAAW;AACrD,QAAM,qBAAqB;AAAA,IAC1B,MAAM,sBAAuB,gBAAiB;AAAA,IAC9C,CAAE,gBAAiB;AAAA,EACpB;AAEA,MAAK,CAAE,mBAAmB,UAAU,CAAE,qBAAsB;AAC3D,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,gBACC,sBAAsB,qBAAqB;AAAA,MAE5C,cAAe;AAAA,MACf,eAAgB,OAAO,YAAY;AAAA,MACnC,kBAAmB,OAAO,UAAU;AAAA;AAAA,EACrC;AAEF;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/style.js
1
+ // packages/block-editor/src/hooks/style.jsx
2
2
  import { useMemo } from "@wordpress/element";
3
3
  import { addFilter } from "@wordpress/hooks";
4
4
  import { useSelect } from "@wordpress/data";