@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,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/style.js"],
3
+ "sources": ["../../src/hooks/style.jsx"],
4
4
  "sourcesContent": ["import { useMemo } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tmergeGlobalStyles,\n\tprivateApis as globalStylesEnginePrivateApis,\n} from '@wordpress/global-styles-engine';\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n} from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tgetCSSRules,\n\tcompileCSS,\n\tgetCSSValueFromRawStyle,\n} from '@wordpress/style-engine';\nimport { BACKGROUND_SUPPORT_KEY, BackgroundImagePanel } from './background';\nimport { BORDER_SUPPORT_KEY, BorderPanel, SHADOW_SUPPORT_KEY } from './border';\nimport { COLOR_SUPPORT_KEY } from './color';\nimport { ElementsEdit } from './elements';\nimport {\n\tTypographyPanel,\n\tTYPOGRAPHY_SUPPORT_KEY,\n\tTYPOGRAPHY_SUPPORT_KEYS,\n} from './typography';\nimport {\n\tDIMENSIONS_SUPPORT_KEY,\n\tSPACING_SUPPORT_KEY,\n\tDimensionsPanel,\n\tisExplicitAspectRatio,\n} from './dimensions';\nimport {\n\tcleanEmptyObject,\n\tshouldSkipSerialization,\n\tuseStyleOverride,\n\tuseBlockSettings,\n} from './utils';\nimport {\n\tBlockStyleStateProvider,\n\tDEFAULT_BLOCK_STYLE_STATE,\n\tgetStyleForState,\n\thasViewportBlockStyleState,\n\thasPseudoBlockStyleState,\n} from './block-style-state';\nimport { VALID_BLOCK_PSEUDO_STATES } from './states';\nimport { buildScopedBlockSelector } from './state-utils';\nimport { scopeSelector } from '../components/global-styles/utils';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { useSettings } from '../components/use-settings';\nimport { store as blockEditorStore } from '../store';\nimport { globalStylesDataKey } from '../store/private-keys';\nimport { unlock } from '../lock-unlock';\n\nconst { getResponsiveMediaQueries } = unlock( globalStylesEnginePrivateApis );\n\nconst BORDER_SIDES = [ 'Top', 'Right', 'Bottom', 'Left' ];\n\nconst styleSupportKeys = [\n\t...TYPOGRAPHY_SUPPORT_KEYS,\n\tBORDER_SUPPORT_KEY,\n\tCOLOR_SUPPORT_KEY,\n\tDIMENSIONS_SUPPORT_KEY,\n\tBACKGROUND_SUPPORT_KEY,\n\tSPACING_SUPPORT_KEY,\n\tSHADOW_SUPPORT_KEY,\n];\n\nconst hasStyleSupport = ( nameOrType ) =>\n\tstyleSupportKeys.some( ( key ) => hasBlockSupport( nameOrType, key ) );\n\n/**\n * Returns the inline styles to add depending on the style object\n *\n * @param {Object} styles Styles configuration.\n *\n * @return {Object} Flattened CSS variables declaration.\n */\nexport function getInlineStyles( styles = {} ) {\n\tconst output = {};\n\t// The goal is to move everything to server side generated engine styles\n\t// This is temporary as we absorb more and more styles into the engine.\n\tgetCSSRules( styles ).forEach( ( rule ) => {\n\t\toutput[ rule.key ] = rule.value;\n\t} );\n\n\treturn output;\n}\n\n/**\n * Returns fallback border styles for visible state border styles.\n *\n * State styles are emitted as stylesheet rules rather than inline styles, so\n * they cannot rely on the block-library inline-style attribute fallback rules.\n *\n * @param {Object} stateStyles State style object.\n * @return {Object|undefined} Style object containing fallback border styles.\n */\nfunction getStateFallbackBorderStyles( stateStyles ) {\n\tconst border = stateStyles?.border;\n\tif ( ! border ) {\n\t\treturn undefined;\n\t}\n\n\tconst hasBorderStyle = !! border.style;\n\tconst hasBorderColor = !! border.color;\n\tconst hasBorderWidth = !! border.width;\n\tconst fallbackBorder = {};\n\n\tif ( ! hasBorderStyle && ( hasBorderColor || hasBorderWidth ) ) {\n\t\tfallbackBorder.style = 'solid';\n\t}\n\n\tBORDER_SIDES.forEach( ( side ) => {\n\t\tconst sideKey = side.toLowerCase();\n\t\tconst sideBorder = border[ sideKey ];\n\t\tconst hasSideStyle = !! sideBorder?.style;\n\t\tconst hasSideColor = !! sideBorder?.color;\n\t\tconst hasSideWidth = !! sideBorder?.width;\n\n\t\tif (\n\t\t\t! hasBorderStyle &&\n\t\t\t! hasSideStyle &&\n\t\t\t( hasSideColor || hasSideWidth )\n\t\t) {\n\t\t\tfallbackBorder[ sideKey ] = { style: 'solid' };\n\t\t}\n\t} );\n\n\treturn cleanEmptyObject( { border: cleanEmptyObject( fallbackBorder ) } );\n}\n\n/**\n * Returns background reset CSS for a state that sets a solid background color.\n *\n * When a state sets `color.background` (a solid color) without also setting a\n * gradient (`color.gradient` or `background.gradient`), any gradient applied to\n * the default state via an inline `background` shorthand or `background-image`\n * declaration must be explicitly cleared. Without this, the gradient image layer\n * remains visible even though the solid hover color wins `background-color`.\n *\n * @param {Object} stateStyles State style object.\n * @param {string} selector CSS selector for the generated style.\n * @return {string|undefined} CSS string with background-image reset, or undefined.\n */\nfunction getStateBackgroundResetCSS( stateStyles, selector ) {\n\tconst hasSolidBackground = !! stateStyles?.color?.background;\n\n\tif ( ! hasSolidBackground ) {\n\t\treturn undefined;\n\t}\n\n\tconst hasColorGradient = !! stateStyles?.color?.gradient;\n\tconst hasBackgroundGradient =\n\t\t!! stateStyles?.background?.gradient ||\n\t\t!! stateStyles?.background?.backgroundImage;\n\n\tif ( hasColorGradient || hasBackgroundGradient ) {\n\t\treturn undefined;\n\t}\n\n\tconst declaration = 'background-image: unset !important';\n\treturn selector\n\t\t? `${ selector } { ${ declaration }; }`\n\t\t: `${ declaration };`;\n}\n\n/**\n * Returns fallback dimension styles that keep state styles aligned with the\n * default dimensions block-support output.\n *\n * @param {Object} stateStyles State style object.\n * @return {Object|undefined} Style object containing fallback dimension styles.\n */\nfunction getStateFallbackDimensionStyles( stateStyles ) {\n\tconst dimensions = stateStyles?.dimensions;\n\tif ( ! dimensions ) {\n\t\treturn undefined;\n\t}\n\n\tif ( isExplicitAspectRatio( dimensions.aspectRatio ) ) {\n\t\treturn {\n\t\t\tdimensions: {\n\t\t\t\tminHeight: 'unset',\n\t\t\t\theight: 'unset',\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( dimensions.minHeight || dimensions.height ) {\n\t\treturn {\n\t\t\tdimensions: {\n\t\t\t\taspectRatio: 'unset',\n\t\t\t},\n\t\t};\n\t}\n}\n\n/**\n * Returns CSS for text alignment in a block instance state style object.\n *\n * Text alignment is not generated by the style engine because base block\n * alignment is serialized as a class name. State styles need a declaration\n * instead so viewport and pseudo-state values can override the default class.\n *\n * @param {Object} stateStyles State style object.\n * @param {string} selector CSS selector for the generated style.\n * @return {string|undefined} CSS string with the text alignment declaration.\n */\nfunction getStateTextAlignCSS( stateStyles, selector ) {\n\tconst textAlign = stateStyles?.typography?.textAlign;\n\n\tif ( typeof textAlign !== 'string' || ! textAlign ) {\n\t\treturn undefined;\n\t}\n\n\tconst declaration = `text-align: ${ getCSSValueFromRawStyle(\n\t\ttextAlign\n\t) } !important`;\n\treturn selector\n\t\t? `${ selector } { ${ declaration }; }`\n\t\t: `${ declaration };`;\n}\n\n/**\n * Generates CSS for a block instance state style object.\n *\n * State declarations need to win over preset utility classes, but fallback\n * border styles should not become important because they must not override\n * explicitly authored default border styles.\n *\n * @param {Object} stateStyles State style object.\n * @param {string} selector CSS selector for the generated style.\n * @return {string} Generated stylesheet.\n */\nexport function getStateStylesCSS( stateStyles, selector ) {\n\tconst fallbackDimensionStyles =\n\t\tgetStateFallbackDimensionStyles( stateStyles );\n\tconst stylesWithDimensionFallbacks = fallbackDimensionStyles\n\t\t? mergeStyleObjects( stateStyles, fallbackDimensionStyles )\n\t\t: stateStyles;\n\tconst css = compileCSS( stylesWithDimensionFallbacks, { selector } );\n\tconst importantCSS = css ? css.replace( /;/g, ' !important;' ) : undefined;\n\tconst fallbackBorderStyles = getStateFallbackBorderStyles( stateStyles );\n\tconst fallbackCSS = fallbackBorderStyles\n\t\t? compileCSS( fallbackBorderStyles, { selector } )\n\t\t: undefined;\n\tconst textAlignCSS = getStateTextAlignCSS( stateStyles, selector );\n\tconst backgroundResetCSS = getStateBackgroundResetCSS(\n\t\tstateStyles,\n\t\tselector\n\t);\n\n\treturn [ importantCSS, textAlignCSS, fallbackCSS, backgroundResetCSS ]\n\t\t.filter( Boolean )\n\t\t.join( '\\n' );\n}\n\nfunction isPlainObject( value ) {\n\treturn !! value && typeof value === 'object' && ! Array.isArray( value );\n}\n\nfunction mergeStyleObjects( target = {}, source = {} ) {\n\tconst merged = { ...target };\n\n\tObject.entries( source ).forEach( ( [ key, value ] ) => {\n\t\tmerged[ key ] =\n\t\t\tisPlainObject( value ) && isPlainObject( merged[ key ] )\n\t\t\t\t? mergeStyleObjects( merged[ key ], value )\n\t\t\t\t: value;\n\t} );\n\n\treturn merged;\n}\n\nfunction addStyleGroup( groups, selector, style ) {\n\tconst key = selector || '';\n\tconst existing = groups.get( key ) || { selector, style: {} };\n\n\tgroups.set( key, {\n\t\tselector,\n\t\tstyle: mergeStyleObjects( existing.style, style ),\n\t} );\n}\n\nfunction getStateStyleGroups( stateStyles, name ) {\n\tconst blockSelectors = getBlockType( name )?.selectors || {};\n\tconst groups = new Map();\n\n\tObject.entries( stateStyles || {} ).forEach(\n\t\t( [ feature, featureStyles ] ) => {\n\t\t\tconst featureSelectors = blockSelectors[ feature ];\n\n\t\t\tif ( typeof featureSelectors === 'string' ) {\n\t\t\t\taddStyleGroup( groups, featureSelectors, {\n\t\t\t\t\t[ feature ]: featureStyles,\n\t\t\t\t} );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tisPlainObject( featureSelectors ) &&\n\t\t\t\tisPlainObject( featureStyles )\n\t\t\t) {\n\t\t\t\tconst remainingStyles = { ...featureStyles };\n\n\t\t\t\tObject.entries( featureSelectors ).forEach(\n\t\t\t\t\t( [ subfeature, subfeatureSelector ] ) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tsubfeature === 'root' ||\n\t\t\t\t\t\t\ttypeof subfeatureSelector !== 'string' ||\n\t\t\t\t\t\t\t! Object.hasOwn( featureStyles, subfeature )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\taddStyleGroup( groups, subfeatureSelector, {\n\t\t\t\t\t\t\t[ feature ]: {\n\t\t\t\t\t\t\t\t[ subfeature ]: featureStyles[ subfeature ],\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tdelete remainingStyles[ subfeature ];\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tif ( Object.keys( remainingStyles ).length ) {\n\t\t\t\t\taddStyleGroup(\n\t\t\t\t\t\tgroups,\n\t\t\t\t\t\tfeatureSelectors.root || blockSelectors.root,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ feature ]: remainingStyles,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\taddStyleGroup( groups, blockSelectors.root, {\n\t\t\t\t[ feature ]: featureStyles,\n\t\t\t} );\n\t\t}\n\t);\n\n\treturn Array.from( groups.values() );\n}\n\n/**\n * Generates CSS for block instance state styles, honoring feature selectors.\n *\n * @param {Object} stateStyles State style object.\n * @param {Object} options Generation options.\n * @param {string} options.name Block name.\n * @param {string} options.baseSelector Block-instance scoping selector.\n * @param {string=} options.state Optional pseudo-state, e.g. \":hover\".\n * @return {string|undefined} Generated stylesheet.\n */\nexport function getBlockStateStylesCSS( stateStyles, options ) {\n\tconst { name, baseSelector, state = '' } = options;\n\tconst rules = getStateStyleGroups( stateStyles, name )\n\t\t.map( ( { selector: blockSelector, style } ) =>\n\t\t\tgetStateStylesCSS(\n\t\t\t\tstyle,\n\t\t\t\tbuildScopedBlockSelector( baseSelector, blockSelector, state )\n\t\t\t)\n\t\t)\n\t\t.filter( Boolean );\n\n\treturn rules.length ? rules.join( '\\n' ) : undefined;\n}\n\n/**\n * Returns a style object with nested state/element keys removed.\n *\n * Viewport state objects can contain root declarations alongside nested\n * `elements` and pseudo-state styles. Only root declarations should be passed\n * to the style engine for the viewport root selector.\n *\n * @param {Object} stateStyles Style object for a selected state.\n * @param {string[]} nestedKeys Keys to remove from the root style object.\n * @return {Object|undefined} Root-only style object.\n */\nfunction getRootStateStyles( stateStyles, nestedKeys ) {\n\tif ( ! stateStyles ) {\n\t\treturn stateStyles;\n\t}\n\n\tconst rootStyles = { ...stateStyles };\n\tnestedKeys.forEach( ( key ) => {\n\t\tdelete rootStyles[ key ];\n\t} );\n\treturn rootStyles;\n}\n\n/**\n * Generates CSS rules for supported pseudo-state styles.\n *\n * @param {Object} style Block style object containing pseudo-state styles.\n * @param {string} name Block name.\n * @param {string} baseSelector Base selector used to scope generated CSS.\n * @return {string[]} Generated CSS rule strings.\n */\nfunction getPseudoStateCSSRules( style, name, baseSelector ) {\n\tconst validPseudoStates = VALID_BLOCK_PSEUDO_STATES[ name ];\n\tif ( ! validPseudoStates ) {\n\t\treturn [];\n\t}\n\n\tconst cssRules = [];\n\tvalidPseudoStates.forEach( ( pseudoState ) => {\n\t\tconst stateStyles = style?.[ pseudoState ];\n\t\tif ( stateStyles ) {\n\t\t\tconst css = getBlockStateStylesCSS( stateStyles, {\n\t\t\t\tname,\n\t\t\t\tbaseSelector,\n\t\t\t\tstate: pseudoState,\n\t\t\t} );\n\t\t\tif ( css ) {\n\t\t\t\tcssRules.push( css );\n\t\t\t}\n\t\t}\n\t} );\n\treturn cssRules;\n}\n\n/**\n * Generates CSS rules for responsive block instance style states.\n *\n * Each responsive state can contain root styles, element styles, and nested\n * pseudo-state styles. Generated rules are wrapped in the matching breakpoint\n * media query.\n *\n * @param {Object} style Block style object containing responsive states.\n * @param {string} name Block name.\n * @param {string} baseSelector Base selector used to scope generated CSS.\n * @param {Object} viewportSettings Viewport breakpoint settings.\n * @return {string[]} Generated CSS rule strings.\n */\nexport function getResponsiveStateCSSRules(\n\tstyle,\n\tname,\n\tbaseSelector,\n\tviewportSettings\n) {\n\tconst cssRules = [];\n\tconst validPseudoStates = VALID_BLOCK_PSEUDO_STATES[ name ] ?? [];\n\tconst nestedStateKeys = [ 'elements', ...validPseudoStates ];\n\tconst responsiveMediaQueries =\n\t\tgetResponsiveMediaQueries( viewportSettings );\n\n\tObject.entries( responsiveMediaQueries ).forEach(\n\t\t( [ viewport, mediaQuery ] ) => {\n\t\t\tconst viewportStyles = getStyleForState( style, {\n\t\t\t\tviewport,\n\t\t\t\tpseudo: DEFAULT_BLOCK_STYLE_STATE.pseudo,\n\t\t\t} );\n\t\t\tif ( ! viewportStyles ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst viewportCSSRules = [];\n\t\t\tconst rootCSS = getBlockStateStylesCSS(\n\t\t\t\tgetRootStateStyles( viewportStyles, nestedStateKeys ),\n\t\t\t\t{\n\t\t\t\t\tname,\n\t\t\t\t\tbaseSelector,\n\t\t\t\t}\n\t\t\t);\n\t\t\tif ( rootCSS ) {\n\t\t\t\tviewportCSSRules.push( rootCSS );\n\t\t\t}\n\n\t\t\tconst elementCSS = getElementCSSRules(\n\t\t\t\tviewportStyles.elements,\n\t\t\t\tname,\n\t\t\t\tbaseSelector\n\t\t\t);\n\t\t\tif ( elementCSS ) {\n\t\t\t\tviewportCSSRules.push( elementCSS );\n\t\t\t}\n\n\t\t\tviewportCSSRules.push(\n\t\t\t\t...getPseudoStateCSSRules( viewportStyles, name, baseSelector )\n\t\t\t);\n\n\t\t\tif ( viewportCSSRules.length ) {\n\t\t\t\tcssRules.push(\n\t\t\t\t\t`${ mediaQuery }{${ viewportCSSRules.join( '' ) }}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t);\n\n\treturn cssRules;\n}\n\n/**\n * Returns the style value used to force-preview a selected state on canvas.\n *\n * Responsive pseudo states inherit from their default-viewport pseudo state.\n * For example, selecting `@mobile + :hover` should preview styles from\n * `:hover`, with `@mobile.:hover` values layered on top when present.\n *\n * @param {Object} style Block style object.\n * @param {Object} selectedState Selected block style state.\n * @return {Object|undefined} Style value for the canvas preview.\n */\nexport function getCanvasStateStyleValue( style, selectedState ) {\n\tconst stateValue = getStyleForState( style, selectedState );\n\tif ( ! hasViewportBlockStyleState( selectedState ) ) {\n\t\treturn stateValue;\n\t}\n\n\tconst defaultViewportState = {\n\t\t...selectedState,\n\t\tviewport: DEFAULT_BLOCK_STYLE_STATE.viewport,\n\t};\n\tconst defaultViewportStateValue = getStyleForState(\n\t\tstyle,\n\t\tdefaultViewportState\n\t);\n\n\tif ( defaultViewportStateValue && stateValue ) {\n\t\treturn mergeGlobalStyles( defaultViewportStateValue, stateValue );\n\t}\n\treturn stateValue || defaultViewportStateValue;\n}\n\n/**\n * Filters registered block settings, extending attributes to include `style` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttribute( settings ) {\n\tif (\n\t\t! hasStyleSupport( settings ) &&\n\t\t! hasBlockSupport( settings, 'customCSS', true )\n\t) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( ! settings.attributes.style ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * A dictionary of paths to flag skipping block support serialization as the key,\n * with values providing the style paths to be omitted from serialization.\n *\n * @constant\n * @type {Record<string, string[]>}\n */\nconst skipSerializationPathsEdit = {\n\t[ `${ BORDER_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [ 'border' ],\n\t[ `${ COLOR_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tCOLOR_SUPPORT_KEY,\n\t],\n\t[ `${ TYPOGRAPHY_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t],\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tDIMENSIONS_SUPPORT_KEY,\n\t],\n\t[ `${ SPACING_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tSPACING_SUPPORT_KEY,\n\t],\n\t[ `${ SHADOW_SUPPORT_KEY }.__experimentalSkipSerialization` ]: [\n\t\tSHADOW_SUPPORT_KEY,\n\t],\n};\n\n/**\n * A dictionary of paths to flag skipping block support serialization as the key,\n * with values providing the style paths to be omitted from serialization.\n *\n * Extends the Edit skip paths to enable skipping additional paths in just\n * the Save component. This allows a block support to be serialized within the\n * editor, while using an alternate approach, such as server-side rendering, when\n * the support is saved.\n *\n * @constant\n * @type {Record<string, string[]>}\n */\nconst skipSerializationPathsSave = {\n\t...skipSerializationPathsEdit,\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.aspectRatio` ]: [\n\t\t`${ DIMENSIONS_SUPPORT_KEY }.aspectRatio`,\n\t], // Skip serialization of aspect ratio in save mode.\n\t[ `${ BACKGROUND_SUPPORT_KEY }` ]: [ BACKGROUND_SUPPORT_KEY ], // Skip serialization of background support in save mode.\n};\n\nconst skipSerializationPathsSaveChecks = {\n\t[ `${ DIMENSIONS_SUPPORT_KEY }.aspectRatio` ]: true,\n\t[ `${ BACKGROUND_SUPPORT_KEY }` ]: true,\n};\n\n/**\n * A dictionary used to normalize feature names between support flags, style\n * object properties and __experimentSkipSerialization configuration arrays.\n *\n * This allows not having to provide a migration for a support flag and possible\n * backwards compatibility bridges, while still achieving consistency between\n * the support flag and the skip serialization array.\n *\n * @constant\n * @type {Record<string, string>}\n */\nconst renamedFeatures = { gradients: 'gradient' };\n\n/**\n * A utility function used to remove one or more paths from a style object.\n * Works in a way similar to Lodash's `omit()`. See unit tests and examples below.\n *\n * It supports a single string path:\n *\n * ```\n * omitStyle( { color: 'red' }, 'color' ); // {}\n * ```\n *\n * or an array of paths:\n *\n * ```\n * omitStyle( { color: 'red', background: '#fff' }, [ 'color', 'background' ] ); // {}\n * ```\n *\n * It also allows you to specify paths at multiple levels in a string.\n *\n * ```\n * omitStyle( { typography: { textDecoration: 'underline' } }, 'typography.textDecoration' ); // {}\n * ```\n *\n * You can remove multiple paths at the same time:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\ttypography: {\n * \t\t\t\ttextDecoration: 'underline',\n * \t\t\t\ttextTransform: 'uppercase',\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t'typography.textDecoration',\n * \t\t\t'typography.textTransform',\n *\t\t]\n * );\n * // {}\n * ```\n *\n * You can also specify nested paths as arrays:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\ttypography: {\n * \t\t\t\ttextDecoration: 'underline',\n * \t\t\t\ttextTransform: 'uppercase',\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t[ 'typography', 'textDecoration' ],\n * \t\t\t[ 'typography', 'textTransform' ],\n *\t\t]\n * );\n * // {}\n * ```\n *\n * With regards to nesting of styles, infinite depth is supported:\n *\n * ```\n * omitStyle(\n * \t\t{\n * \t\t\tborder: {\n * \t\t\t\tradius: {\n * \t\t\t\t\ttopLeft: '10px',\n * \t\t\t\t\ttopRight: '0.5rem',\n * \t\t\t\t}\n * \t\t\t}\n *\t\t},\n *\t\t[\n * \t\t\t[ 'border', 'radius', 'topRight' ],\n *\t\t]\n * );\n * // { border: { radius: { topLeft: '10px' } } }\n * ```\n *\n * The third argument, `preserveReference`, defines how to treat the input style object.\n * It is mostly necessary to properly handle mutation when recursively handling the style object.\n * Defaulting to `false`, this will always create a new object, avoiding to mutate `style`.\n * However, when recursing, we change that value to `true` in order to work with a single copy\n * of the original style object.\n *\n * @see https://lodash.com/docs/4.17.15#omit\n *\n * @param {Object} style Styles object.\n * @param {Array|string} paths Paths to remove.\n * @param {boolean} preserveReference True to mutate the `style` object, false otherwise.\n * @return {Object} Styles object with the specified paths removed.\n */\nexport function omitStyle( style, paths, preserveReference = false ) {\n\tif ( ! style ) {\n\t\treturn style;\n\t}\n\n\tlet newStyle = style;\n\tif ( ! preserveReference ) {\n\t\tnewStyle = JSON.parse( JSON.stringify( style ) );\n\t}\n\n\tif ( ! Array.isArray( paths ) ) {\n\t\tpaths = [ paths ];\n\t}\n\n\tpaths.forEach( ( path ) => {\n\t\tif ( ! Array.isArray( path ) ) {\n\t\t\tpath = path.split( '.' );\n\t\t}\n\n\t\tif ( path.length > 1 ) {\n\t\t\tconst [ firstSubpath, ...restPath ] = path;\n\t\t\tomitStyle( newStyle[ firstSubpath ], [ restPath ], true );\n\t\t} else if ( path.length === 1 ) {\n\t\t\tdelete newStyle[ path[ 0 ] ];\n\t\t}\n\t} );\n\n\treturn newStyle;\n}\n\n/**\n * Override props assigned to save component to inject the CSS variables definition.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object|string} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n * @param {?Record<string, string[]>} skipPaths An object of keys and paths to skip serialization.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps(\n\tprops,\n\tblockNameOrType,\n\tattributes,\n\tskipPaths = skipSerializationPathsSave\n) {\n\tif ( ! hasStyleSupport( blockNameOrType ) ) {\n\t\treturn props;\n\t}\n\n\tlet { style } = attributes;\n\tObject.entries( skipPaths ).forEach( ( [ indicator, path ] ) => {\n\t\tconst skipSerialization =\n\t\t\tskipSerializationPathsSaveChecks[ indicator ] ||\n\t\t\tgetBlockSupport( blockNameOrType, indicator );\n\n\t\tif ( skipSerialization === true ) {\n\t\t\tstyle = omitStyle( style, path );\n\t\t}\n\n\t\tif ( Array.isArray( skipSerialization ) ) {\n\t\t\tskipSerialization.forEach( ( featureName ) => {\n\t\t\t\tconst feature = renamedFeatures[ featureName ] || featureName;\n\t\t\t\tstyle = omitStyle( style, [ [ ...path, feature ] ] );\n\t\t\t} );\n\t\t}\n\t} );\n\n\tprops.style = {\n\t\t...getInlineStyles( style ),\n\t\t...props.style,\n\t};\n\n\treturn props;\n}\n\nfunction BlockStyleControls( {\n\tclientId,\n\tname,\n\tsetAttributes,\n\tstyle,\n\t__unstableParentLayout,\n} ) {\n\tconst settings = useBlockSettings( name, __unstableParentLayout );\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst { globalBlockStyles, selectedState, showStateOnCanvas } = useSelect(\n\t\t( select ) => {\n\t\t\tconst blockEditorSelect = select( blockEditorStore );\n\t\t\tconst {\n\t\t\t\tgetSelectedBlockStyleState,\n\t\t\t\tisSelectedBlockStyleStateShownOnCanvas,\n\t\t\t} = unlock( blockEditorSelect );\n\t\t\tconst editorSettings = blockEditorSelect.getSettings();\n\t\t\treturn {\n\t\t\t\tglobalBlockStyles:\n\t\t\t\t\teditorSettings?.[ globalStylesDataKey ]?.blocks?.[ name ],\n\t\t\t\tselectedState: getSelectedBlockStyleState( clientId ),\n\t\t\t\tshowStateOnCanvas:\n\t\t\t\t\tisSelectedBlockStyleStateShownOnCanvas( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, name ]\n\t);\n\tconst isPseudoSelectorState = hasPseudoBlockStyleState( selectedState );\n\n\t// Inject state styles onto the editor canvas so the selected state is\n\t// visible while editing. Scoped to this block instance via data-block so\n\t// other blocks of the same type are not affected. Must be called before\n\t// any early returns because it is a hook.\n\tconst canvasStateCSS = useMemo( () => {\n\t\tif ( ! showStateOnCanvas || ! isPseudoSelectorState ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst globalStateValue = getCanvasStateStyleValue(\n\t\t\tglobalBlockStyles,\n\t\t\tselectedState\n\t\t);\n\t\tconst instanceStateValue = getCanvasStateStyleValue(\n\t\t\tstyle,\n\t\t\tselectedState\n\t\t);\n\t\tlet stateValue;\n\n\t\tif ( globalStateValue && instanceStateValue ) {\n\t\t\tstateValue = mergeGlobalStyles(\n\t\t\t\tglobalStateValue,\n\t\t\t\tinstanceStateValue\n\t\t\t);\n\t\t} else if ( instanceStateValue ) {\n\t\t\tstateValue = instanceStateValue;\n\t\t} else if ( globalStateValue ) {\n\t\t\tstateValue = globalStateValue;\n\t\t} else {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn getBlockStateStylesCSS( stateValue, {\n\t\t\tname,\n\t\t\tbaseSelector: `[data-block=\"${ clientId }\"]`,\n\t\t} );\n\t}, [\n\t\tshowStateOnCanvas,\n\t\tisPseudoSelectorState,\n\t\tglobalBlockStyles,\n\t\tstyle,\n\t\tselectedState,\n\t\tclientId,\n\t\tname,\n\t] );\n\tuseStyleOverride( { css: canvasStateCSS } );\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst panelSettings = {\n\t\t...settings,\n\t\ttypography: {\n\t\t\t...settings.typography,\n\t\t\t// The text alignment UI for individual blocks is rendered in\n\t\t\t// the block toolbar, so disable it here.\n\t\t\ttextAlign: false,\n\t\t},\n\t};\n\n\tconst passedProps = {\n\t\tclientId,\n\t\tname,\n\t\tsetAttributes,\n\t\tsettings: panelSettings,\n\t};\n\n\treturn (\n\t\t<BlockStyleStateProvider value={ selectedState }>\n\t\t\t<ElementsEdit { ...passedProps } />\n\t\t\t<BackgroundImagePanel { ...passedProps } />\n\t\t\t<TypographyPanel { ...passedProps } />\n\t\t\t<BorderPanel { ...passedProps } />\n\t\t\t<DimensionsPanel { ...passedProps } />\n\t\t</BlockStyleStateProvider>\n\t);\n}\n\nexport default {\n\tedit: BlockStyleControls,\n\thasSupport: hasStyleSupport,\n\taddSaveProps,\n\tattributeKeys: [ 'style' ],\n\tuseBlockProps,\n};\n\n// Defines which element types are supported, including their hover styles or\n// any other elements that have been included under a single element type\n// e.g. heading and h1-h6.\nconst elementTypes = [\n\t{ elementType: 'button' },\n\t{ elementType: 'link', pseudo: [ ':hover' ] },\n\t{\n\t\telementType: 'heading',\n\t\telements: [ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ],\n\t},\n];\n\n// Used for generating the instance ID\nconst STYLE_BLOCK_PROPS_REFERENCE = {};\n\n/**\n * Generates CSS rules for block element styles (buttons, links, headings, etc.).\n *\n * Iterates over supported element types and compiles their styles, including\n * pseudo-selectors (e.g. :hover) and related sub-elements (e.g. h1-h6 for headings),\n * into scoped CSS rule strings.\n *\n * @param {Object} blockElementStyles The block's `style.elements` object.\n * @param {string} blockName The block name, used for skip-serialization checks.\n * @param {string} baseSelector The base CSS selector to scope rules under.\n * @return {string|undefined} Concatenated CSS rules string, or undefined if none.\n */\nfunction getElementCSSRules( blockElementStyles, blockName, baseSelector ) {\n\tif ( ! blockElementStyles ) {\n\t\treturn;\n\t}\n\n\tconst rules = [];\n\n\telementTypes.forEach( ( { elementType, pseudo, elements } ) => {\n\t\tconst skipSerialization = shouldSkipSerialization(\n\t\t\tblockName,\n\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\telementType\n\t\t);\n\n\t\tif ( skipSerialization ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elementStyles = blockElementStyles?.[ elementType ];\n\n\t\t// Process primary element type styles.\n\t\tif ( elementStyles ) {\n\t\t\tconst selector = scopeSelector(\n\t\t\t\tbaseSelector,\n\t\t\t\tELEMENTS[ elementType ]\n\t\t\t);\n\n\t\t\trules.push( compileCSS( elementStyles, { selector } ) );\n\n\t\t\t// Process any interactive states for the element type.\n\t\t\tif ( pseudo ) {\n\t\t\t\tpseudo.forEach( ( pseudoSelector ) => {\n\t\t\t\t\tif ( elementStyles[ pseudoSelector ] ) {\n\t\t\t\t\t\trules.push(\n\t\t\t\t\t\t\tcompileCSS( elementStyles[ pseudoSelector ], {\n\t\t\t\t\t\t\t\tselector: scopeSelector(\n\t\t\t\t\t\t\t\t\tbaseSelector,\n\t\t\t\t\t\t\t\t\t`${ ELEMENTS[ elementType ] }${ pseudoSelector }`\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\t// Process related elements e.g. h1-h6 for headings\n\t\tif ( elements ) {\n\t\t\telements.forEach( ( element ) => {\n\t\t\t\tif ( blockElementStyles[ element ] ) {\n\t\t\t\t\trules.push(\n\t\t\t\t\t\tcompileCSS( blockElementStyles[ element ], {\n\t\t\t\t\t\t\tselector: scopeSelector(\n\t\t\t\t\t\t\t\tbaseSelector,\n\t\t\t\t\t\t\t\tELEMENTS[ element ]\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn rules.length > 0 ? rules.join( '' ) : undefined;\n}\n\nfunction useBlockProps( { name, style } ) {\n\tconst blockElementsContainerIdentifier = useInstanceId(\n\t\tSTYLE_BLOCK_PROPS_REFERENCE,\n\t\t'wp-elements'\n\t);\n\n\tconst baseElementSelector = `.${ blockElementsContainerIdentifier }`;\n\tconst blockElementStyles = style?.elements;\n\tconst [ viewportSettings ] = useSettings( 'viewport' );\n\n\tconst styles = useMemo( () => {\n\t\tconst cssRules = [];\n\n\t\tconst elementCSS = getElementCSSRules(\n\t\t\tblockElementStyles,\n\t\t\tname,\n\t\t\tbaseElementSelector\n\t\t);\n\t\tif ( elementCSS ) {\n\t\t\tcssRules.push( elementCSS );\n\t\t}\n\n\t\tcssRules.push(\n\t\t\t...getPseudoStateCSSRules( style, name, baseElementSelector )\n\t\t);\n\n\t\tcssRules.push(\n\t\t\t...getResponsiveStateCSSRules(\n\t\t\t\tstyle,\n\t\t\t\tname,\n\t\t\t\tbaseElementSelector,\n\t\t\t\tviewportSettings\n\t\t\t)\n\t\t);\n\n\t\treturn cssRules.length > 0 ? cssRules.join( '' ) : undefined;\n\t}, [\n\t\tbaseElementSelector,\n\t\tblockElementStyles,\n\t\tname,\n\t\tstyle,\n\t\tviewportSettings,\n\t] );\n\n\tuseStyleOverride( { css: styles } );\n\n\treturn addSaveProps(\n\t\t{ className: blockElementsContainerIdentifier },\n\t\tname,\n\t\t{ style },\n\t\tskipSerializationPathsEdit\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/style/addAttribute',\n\taddAttribute\n);\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/text-align.js
1
+ // packages/block-editor/src/hooks/text-align.jsx
2
2
  import clsx from "clsx";
3
3
  import { __ } from "@wordpress/i18n";
4
4
  import { getBlockSupport, hasBlockSupport } from "@wordpress/blocks";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/text-align.js"],
3
+ "sources": ["../../src/hooks/text-align.jsx"],
4
4
  "sourcesContent": ["import clsx from 'clsx';\nimport { __ } from '@wordpress/i18n';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { alignLeft, alignRight, alignCenter } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { AlignmentControl, BlockControls } from '../components';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport {\n\tgetStyleForState,\n\thasViewportBlockStyleState,\n\tsetStyleForState,\n} from './block-style-state';\nimport { shouldSkipSerialization, useBlockSettings } from './utils';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n\nexport const TEXT_ALIGN_SUPPORT_KEY = 'typography.textAlign';\n\nconst TEXT_ALIGNMENT_OPTIONS = [\n\t{\n\t\ticon: alignLeft,\n\t\ttitle: __( 'Align text left' ),\n\t\talign: 'left',\n\t},\n\t{\n\t\ticon: alignCenter,\n\t\ttitle: __( 'Align text center' ),\n\t\talign: 'center',\n\t},\n\t{\n\t\ticon: alignRight,\n\t\ttitle: __( 'Align text right' ),\n\t\talign: 'right',\n\t},\n];\n\nconst VALID_TEXT_ALIGNMENTS = [ 'left', 'center', 'right' ];\nconst NO_TEXT_ALIGNMENTS = [];\n\n/**\n * Returns the valid text alignments.\n * Takes into consideration the text aligns supported by a block.\n * Exported just for testing purposes, not exported outside the module.\n *\n * @param {?boolean|string[]} blockTextAlign Text aligns supported by the block.\n *\n * @return {string[]} Valid text alignments.\n */\nexport function getValidTextAlignments( blockTextAlign ) {\n\tif ( Array.isArray( blockTextAlign ) ) {\n\t\treturn VALID_TEXT_ALIGNMENTS.filter( ( textAlign ) =>\n\t\t\tblockTextAlign.includes( textAlign )\n\t\t);\n\t}\n\n\treturn blockTextAlign === true ? VALID_TEXT_ALIGNMENTS : NO_TEXT_ALIGNMENTS;\n}\n\nexport function getTextAlignControlGroup( isResponsiveEditing, selectedState ) {\n\treturn isResponsiveEditing && hasViewportBlockStyleState( selectedState )\n\t\t? 'style-state'\n\t\t: 'block';\n}\n\nfunction BlockEditTextAlignmentToolbarControlsPure( {\n\tclientId,\n\tstyle,\n\tname: blockName,\n\tsetAttributes,\n} ) {\n\tconst settings = useBlockSettings( blockName );\n\tconst hasTextAlignControl = settings?.typography?.textAlign;\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst { selectedState, isResponsiveEditing } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\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\tselectedState: getSelectedBlockStyleState( clientId ),\n\t\t\t\tisResponsiveEditing: getIsResponsiveEditing(),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tif ( ! hasTextAlignControl || blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst validTextAlignments = getValidTextAlignments(\n\t\tgetBlockSupport( blockName, TEXT_ALIGN_SUPPORT_KEY )\n\t);\n\tif ( ! validTextAlignments.length ) {\n\t\treturn null;\n\t}\n\n\tconst textAlignmentControls = TEXT_ALIGNMENT_OPTIONS.filter( ( control ) =>\n\t\tvalidTextAlignments.includes( control.align )\n\t);\n\tconst stateStyle = getStyleForState( style, selectedState );\n\tconst controlsGroup = getTextAlignControlGroup(\n\t\tisResponsiveEditing,\n\t\tselectedState\n\t);\n\n\tconst onChange = ( newTextAlignValue ) => {\n\t\tconst newStateStyle = {\n\t\t\t...stateStyle,\n\t\t\ttypography: {\n\t\t\t\t...stateStyle?.typography,\n\t\t\t\ttextAlign: newTextAlignValue,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: setStyleForState( style, selectedState, newStateStyle ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<BlockControls group={ controlsGroup }>\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ stateStyle?.typography?.textAlign }\n\t\t\t\tonChange={ onChange }\n\t\t\t\talignmentControls={ textAlignmentControls }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nexport default {\n\tedit: BlockEditTextAlignmentToolbarControlsPure,\n\tuseBlockProps,\n\taddSaveProps: addAssignedTextAlign,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, TEXT_ALIGN_SUPPORT_KEY, false );\n\t},\n};\n\nfunction useBlockProps( { name, style } ) {\n\tif ( ! style?.typography?.textAlign ) {\n\t\treturn null;\n\t}\n\n\tconst validTextAlignments = getValidTextAlignments(\n\t\tgetBlockSupport( name, TEXT_ALIGN_SUPPORT_KEY )\n\t);\n\n\tif ( ! validTextAlignments.length ) {\n\t\treturn null;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization( name, TYPOGRAPHY_SUPPORT_KEY, 'textAlign' )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst textAlign = style.typography.textAlign;\n\n\tconst className = clsx( {\n\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t} );\n\treturn { className };\n}\n\n/**\n * Override props assigned to save component to inject text alignment class\n * name if block supports it.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addAssignedTextAlign( props, blockType, attributes ) {\n\tif ( ! attributes?.style?.typography?.textAlign ) {\n\t\treturn props;\n\t}\n\n\tconst { textAlign } = attributes.style.typography;\n\tconst blockTextAlign = getBlockSupport( blockType, TEXT_ALIGN_SUPPORT_KEY );\n\tconst isTextAlignValid =\n\t\tgetValidTextAlignments( blockTextAlign ).includes( textAlign );\n\tif (\n\t\tisTextAlignValid &&\n\t\t! shouldSkipSerialization(\n\t\t\tblockType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'textAlign'\n\t\t)\n\t) {\n\t\tprops.className = clsx(\n\t\t\t`has-text-align-${ textAlign }`,\n\t\t\tprops.className\n\t\t);\n\t}\n\treturn props;\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/typography.js
1
+ // packages/block-editor/src/hooks/typography.jsx
2
2
  import { getBlockSupport, hasBlockSupport } from "@wordpress/blocks";
3
3
  import { useMemo, useCallback } from "@wordpress/element";
4
4
  import { useSelect } from "@wordpress/data";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/typography.js"],
3
+ "sources": ["../../src/hooks/typography.jsx"],
4
4
  "sourcesContent": ["import { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tdefault as StylesTypographyPanel,\n\tuseHasTypographyPanel,\n} from '../components/global-styles/typography-panel';\nimport { useResolvedStyle } from '../components/global-styles/inherited-value-context';\nimport { LINE_HEIGHT_SUPPORT_KEY } from './line-height';\nimport { FONT_FAMILY_SUPPORT_KEY } from './font-family';\nimport { FONT_SIZE_SUPPORT_KEY } from './font-size';\nimport { TEXT_ALIGN_SUPPORT_KEY } from './text-align';\nimport { FIT_TEXT_SUPPORT_KEY } from './fit-text';\nimport { cleanEmptyObject } from './utils';\nimport { extractPresetSlug } from '../utils/color-values';\nimport { store as blockEditorStore } from '../store';\nimport {\n\tgetStyleForState,\n\tisDefaultBlockStyleState,\n\tsetStyleForState,\n\tuseBlockStyleState,\n} from './block-style-state';\nimport useBlockColorContrastWarning from './contrast-checker';\n\nfunction omit( object, keys ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( object ).filter( ( [ key ] ) => ! keys.includes( key ) )\n\t);\n}\n\nconst LETTER_SPACING_SUPPORT_KEY = 'typography.__experimentalLetterSpacing';\nconst TEXT_TRANSFORM_SUPPORT_KEY = 'typography.__experimentalTextTransform';\nconst TEXT_DECORATION_SUPPORT_KEY = 'typography.__experimentalTextDecoration';\nconst TEXT_INDENT_SUPPORT_KEY = 'typography.textIndent';\nconst TEXT_COLUMNS_SUPPORT_KEY = 'typography.textColumns';\nconst FONT_STYLE_SUPPORT_KEY = 'typography.__experimentalFontStyle';\nconst FONT_WEIGHT_SUPPORT_KEY = 'typography.__experimentalFontWeight';\nconst WRITING_MODE_SUPPORT_KEY = 'typography.__experimentalWritingMode';\nexport const TYPOGRAPHY_SUPPORT_KEY = 'typography';\nexport const TYPOGRAPHY_SUPPORT_KEYS = [\n\tLINE_HEIGHT_SUPPORT_KEY,\n\tFONT_SIZE_SUPPORT_KEY,\n\tFONT_STYLE_SUPPORT_KEY,\n\tFONT_WEIGHT_SUPPORT_KEY,\n\tFONT_FAMILY_SUPPORT_KEY,\n\tTEXT_ALIGN_SUPPORT_KEY,\n\tTEXT_COLUMNS_SUPPORT_KEY,\n\tTEXT_DECORATION_SUPPORT_KEY,\n\tTEXT_INDENT_SUPPORT_KEY,\n\tWRITING_MODE_SUPPORT_KEY,\n\tTEXT_TRANSFORM_SUPPORT_KEY,\n\tLETTER_SPACING_SUPPORT_KEY,\n\tFIT_TEXT_SUPPORT_KEY,\n];\n\nfunction styleToAttributes( style ) {\n\tconst updatedStyle = { ...omit( style, [ 'fontFamily' ] ) };\n\tconst fontSizeValue = style?.typography?.fontSize;\n\tconst fontFamilyValue = style?.typography?.fontFamily;\n\tconst textColorValue = style?.color?.text;\n\tconst fontSizeSlug =\n\t\ttypeof fontSizeValue === 'string' &&\n\t\tfontSizeValue?.startsWith( 'var:preset|font-size|' )\n\t\t\t? fontSizeValue.substring( 'var:preset|font-size|'.length )\n\t\t\t: undefined;\n\tconst fontFamilySlug = fontFamilyValue?.startsWith(\n\t\t'var:preset|font-family|'\n\t)\n\t\t? fontFamilyValue.substring( 'var:preset|font-family|'.length )\n\t\t: undefined;\n\tconst textColorSlug = extractPresetSlug( textColorValue, 'color' );\n\tupdatedStyle.typography = {\n\t\t...omit( updatedStyle.typography, [ 'fontFamily' ] ),\n\t\tfontSize: fontSizeSlug ? undefined : fontSizeValue,\n\t};\n\tupdatedStyle.color = {\n\t\t...updatedStyle.color,\n\t\ttext: textColorSlug ? undefined : textColorValue,\n\t};\n\treturn {\n\t\tstyle: cleanEmptyObject( updatedStyle ),\n\t\tfontFamily: fontFamilySlug,\n\t\tfontSize: fontSizeSlug,\n\t\ttextColor: textColorSlug,\n\t};\n}\n\nfunction attributesToStyle( attributes ) {\n\treturn {\n\t\t...attributes.style,\n\t\ttypography: {\n\t\t\t...attributes.style?.typography,\n\t\t\tfontFamily: attributes.fontFamily\n\t\t\t\t? 'var:preset|font-family|' + attributes.fontFamily\n\t\t\t\t: undefined,\n\t\t\tfontSize: attributes.fontSize\n\t\t\t\t? 'var:preset|font-size|' + attributes.fontSize\n\t\t\t\t: attributes.style?.typography?.fontSize,\n\t\t},\n\t\tcolor: {\n\t\t\t...attributes.style?.color,\n\t\t\ttext: attributes.textColor\n\t\t\t\t? 'var:preset|color|' + attributes.textColor\n\t\t\t\t: attributes.style?.color?.text,\n\t\t},\n\t};\n}\n\nfunction TypographyInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributesToStyle( attributes );\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\t...styleToAttributes( updatedStyle ),\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"typography\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function TypographyPanel( {\n\tclientId,\n\tname,\n\tsetAttributes,\n\tsettings,\n\t// Allows rendering outside the `typography` inspector group (e.g. section\n\t// blocks direct-render this panel because their support fills are gated\n\t// off by editing mode). Defaults to the slot-based wrapper.\n\tasWrapper,\n} ) {\n\tconst selectedState = useBlockStyleState();\n\tconst isEnabled = useHasTypographyPanel( settings );\n\n\tconst { style, fontFamily, fontSize, fitText, textColor, className } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\t// Early return to avoid subscription when disabled.\n\t\t\t\tif ( ! isEnabled ) {\n\t\t\t\t\treturn {};\n\t\t\t\t}\n\t\t\t\tconst {\n\t\t\t\t\tstyle: _style,\n\t\t\t\t\tfontFamily: _fontFamily,\n\t\t\t\t\tfontSize: _fontSize,\n\t\t\t\t\tfitText: _fitText,\n\t\t\t\t\ttextColor: _textColor,\n\t\t\t\t\tclassName: _className,\n\t\t\t\t} = select( blockEditorStore ).getBlockAttributes( clientId ) ||\n\t\t\t\t{};\n\t\t\t\treturn {\n\t\t\t\t\tstyle: _style,\n\t\t\t\t\tfontFamily: _fontFamily,\n\t\t\t\t\tfontSize: _fontSize,\n\t\t\t\t\tfitText: _fitText,\n\t\t\t\t\ttextColor: _textColor,\n\t\t\t\t\tclassName: _className,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId, isEnabled ]\n\t\t);\n\n\tconst isStateSelected = ! isDefaultBlockStyleState( selectedState );\n\n\tconst { value: inheritedValue } = useResolvedStyle(\n\t\tname,\n\t\tclassName,\n\t\tselectedState\n\t);\n\n\tconst value = useMemo( () => {\n\t\tif ( isStateSelected ) {\n\t\t\treturn getStyleForState( style, selectedState );\n\t\t}\n\t\treturn attributesToStyle( { style, fontFamily, fontSize, textColor } );\n\t}, [\n\t\tisStateSelected,\n\t\tselectedState,\n\t\tstyle,\n\t\tfontSize,\n\t\tfontFamily,\n\t\ttextColor,\n\t] );\n\n\tconst onChange = isStateSelected\n\t\t? ( newStyle ) => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tstyle: setStyleForState( style, selectedState, newStyle ),\n\t\t\t\t} );\n\t\t }\n\t\t: ( newStyle ) => {\n\t\t\t\tconst newAttributes = styleToAttributes( newStyle );\n\n\t\t\t\t// If setting a font size and fitText is currently enabled, disable it.\n\t\t\t\tconst hasFontSize =\n\t\t\t\t\tnewAttributes.fontSize ||\n\t\t\t\t\tnewAttributes.style?.typography?.fontSize;\n\t\t\t\tif ( hasFontSize && fitText ) {\n\t\t\t\t\tnewAttributes.fitText = undefined;\n\t\t\t\t}\n\n\t\t\t\tsetAttributes( newAttributes );\n\t\t };\n\n\t// Link color failures are reported by the Elements panel, which owns the\n\t// link color selection.\n\tconst enableContrastChecking =\n\t\t! value?.color?.gradient &&\n\t\t!! value?.color?.text &&\n\t\tsettings?.color?.text &&\n\t\tfalse !== getBlockSupport( name, [ 'color', 'enableContrastChecker' ] );\n\n\tconst contrastWarning = useBlockColorContrastWarning( {\n\t\tclientId,\n\t\tname,\n\t\tenabled: !! enableContrastChecking,\n\t\tcheckLinkColor: false,\n\t\tmessageOverride: __(\n\t\t\t'This color has poor contrast against the background. Consider increasing contrast.'\n\t\t),\n\t} );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst typographyDefaultControls = getBlockSupport( name, [\n\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst colorDefaultControls = getBlockSupport( name, [\n\t\t'color',\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultControls = {\n\t\t...typographyDefaultControls,\n\t\ttextColor: colorDefaultControls?.text,\n\t};\n\n\tconst Wrapper = asWrapper || TypographyInspectorControl;\n\n\treturn (\n\t\t<StylesTypographyPanel\n\t\t\tas={ Wrapper }\n\t\t\tpanelId={ clientId }\n\t\t\tsettings={ settings }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tdefaultControls={ defaultControls }\n\t\t\tcontrastWarning={ contrastWarning }\n\t\t\tinheritedValue={ inheritedValue }\n\t\t/>\n\t);\n}\n\nexport const hasTypographySupport = ( blockName ) => {\n\treturn TYPOGRAPHY_SUPPORT_KEYS.some( ( key ) =>\n\t\thasBlockSupport( blockName, key )\n\t);\n};\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/hooks/utils.js
1
+ // packages/block-editor/src/hooks/utils.jsx
2
2
  import clsx from "clsx";
3
3
  import { getBlockSupport } from "@wordpress/blocks";
4
4
  import { memo, useMemo, useEffect, useId, useState } from "@wordpress/element";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/hooks/utils.js"],
3
+ "sources": ["../../src/hooks/utils.jsx"],
4
4
  "sourcesContent": ["import clsx from 'clsx';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { memo, useMemo, useEffect, useId, useState } from '@wordpress/element';\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport {\n\tuseBlockEditContext,\n\tmayDisplayControlsKey,\n\tmayDisplayParentControlsKey,\n\tmayDisplayPatternEditingControlsKey,\n} from '../components/block-edit/context';\nimport { useSettings } from '../components';\nimport { useSettingsForBlockElement } from '../components/global-styles/hooks';\nimport { getValueFromObjectPath, setImmutably } from '../utils/object';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n\n/**\n * Removed falsy values from nested object.\n *\n * @param {*} object\n * @return {*} Object cleaned from falsy values\n */\nexport const cleanEmptyObject = ( object ) => {\n\tif (\n\t\tobject === null ||\n\t\ttypeof object !== 'object' ||\n\t\tArray.isArray( object )\n\t) {\n\t\treturn object;\n\t}\n\n\tconst cleanedNestedObjects = Object.entries( object )\n\t\t.map( ( [ key, value ] ) => [ key, cleanEmptyObject( value ) ] )\n\t\t.filter( ( [ , value ] ) => value !== undefined );\n\treturn ! cleanedNestedObjects.length\n\t\t? undefined\n\t\t: Object.fromEntries( cleanedNestedObjects );\n};\n\nexport function transformStyles(\n\tactiveSupports,\n\tmigrationPaths,\n\tresult,\n\tsource,\n\tindex,\n\tresults\n) {\n\t// If there are no active supports return early.\n\tif (\n\t\tObject.values( activeSupports ?? {} ).every(\n\t\t\t( isActive ) => ! isActive\n\t\t)\n\t) {\n\t\treturn result;\n\t}\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the styles should not be transformed.\n\tif ( results.length === 1 && result.innerBlocks.length === source.length ) {\n\t\treturn result;\n\t}\n\t// For cases where we have a transform from one block to multiple blocks\n\t// or multiple blocks to one block we apply the styles of the first source block\n\t// to the result(s).\n\tlet referenceBlockAttributes = source[ 0 ]?.attributes;\n\t// If we are in presence of transform between more than one block in the source\n\t// that has more than one block in the result\n\t// we apply the styles on source N to the result N,\n\t// if source N does not exists we do nothing.\n\tif ( results.length > 1 && source.length > 1 ) {\n\t\tif ( source[ index ] ) {\n\t\t\treferenceBlockAttributes = source[ index ]?.attributes;\n\t\t} else {\n\t\t\treturn result;\n\t\t}\n\t}\n\tlet returnBlock = result;\n\tObject.entries( activeSupports ).forEach( ( [ support, isActive ] ) => {\n\t\tif ( isActive ) {\n\t\t\tmigrationPaths[ support ].forEach( ( path ) => {\n\t\t\t\tconst styleValue = getValueFromObjectPath(\n\t\t\t\t\treferenceBlockAttributes,\n\t\t\t\t\tpath\n\t\t\t\t);\n\t\t\t\tif ( styleValue ) {\n\t\t\t\t\treturnBlock = {\n\t\t\t\t\t\t...returnBlock,\n\t\t\t\t\t\tattributes: setImmutably(\n\t\t\t\t\t\t\treturnBlock.attributes,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tstyleValue\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t} );\n\treturn returnBlock;\n}\n\n/**\n * Check whether serialization of specific block support feature or set should\n * be skipped.\n *\n * @param {string|Object} blockNameOrType Block name or block type object.\n * @param {string} featureSet Name of block support feature set.\n * @param {string} feature Name of the individual feature to check.\n *\n * @return {boolean} Whether serialization should occur.\n */\nexport function shouldSkipSerialization(\n\tblockNameOrType,\n\tfeatureSet,\n\tfeature\n) {\n\tconst support = getBlockSupport( blockNameOrType, featureSet );\n\tconst skipSerialization = support?.__experimentalSkipSerialization;\n\n\tif ( Array.isArray( skipSerialization ) ) {\n\t\treturn skipSerialization.includes( feature );\n\t}\n\n\treturn skipSerialization;\n}\n\nconst pendingStyleOverrides = new WeakMap();\n\n/**\n * Override a block editor settings style. Leave the ID blank to create a new\n * style.\n *\n * @param {Object} override Override object.\n * @param {?string} override.id Id of the style override, leave blank to create\n * a new style.\n * @param {string} override.css CSS to apply.\n */\nexport function useStyleOverride( { id, css } ) {\n\treturn usePrivateStyleOverride( { id, css } );\n}\n\nexport function usePrivateStyleOverride( {\n\tid,\n\tcss,\n\tassets,\n\t__unstableType,\n\tvariation,\n\tclientId,\n} = {} ) {\n\tconst { setStyleOverride, deleteStyleOverride } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tconst registry = useRegistry();\n\tconst fallbackId = useId();\n\tuseEffect( () => {\n\t\t// Unmount if there is CSS and assets are empty.\n\t\tif ( ! css && ! assets ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst _id = id || fallbackId;\n\t\tconst override = {\n\t\t\tid,\n\t\t\tcss,\n\t\t\tassets,\n\t\t\t__unstableType,\n\t\t\tvariation,\n\t\t\tclientId,\n\t\t};\n\t\t// Batch updates to style overrides to avoid triggering cascading renders\n\t\t// for each style override block included in a tree and optimize initial render.\n\t\tif ( ! pendingStyleOverrides.get( registry ) ) {\n\t\t\tpendingStyleOverrides.set( registry, [] );\n\t\t}\n\t\tpendingStyleOverrides.get( registry ).push( [ _id, override ] );\n\t\twindow.queueMicrotask( () => {\n\t\t\tif ( pendingStyleOverrides.get( registry )?.length ) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tpendingStyleOverrides.get( registry ).forEach( ( args ) => {\n\t\t\t\t\t\tsetStyleOverride( ...args );\n\t\t\t\t\t} );\n\t\t\t\t\tpendingStyleOverrides.set( registry, [] );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\treturn () => {\n\t\t\tconst isPending = pendingStyleOverrides\n\t\t\t\t.get( registry )\n\t\t\t\t?.find( ( [ currentId ] ) => currentId === _id );\n\t\t\tif ( isPending ) {\n\t\t\t\tpendingStyleOverrides.set(\n\t\t\t\t\tregistry,\n\t\t\t\t\tpendingStyleOverrides\n\t\t\t\t\t\t.get( registry )\n\t\t\t\t\t\t.filter( ( [ currentId ] ) => currentId !== _id )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tdeleteStyleOverride( _id );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tid,\n\t\tcss,\n\t\tclientId,\n\t\tassets,\n\t\t__unstableType,\n\t\tfallbackId,\n\t\tsetStyleOverride,\n\t\tdeleteStyleOverride,\n\t\tregistry,\n\t\tvariation,\n\t] );\n}\n\n/**\n * Based on the block and its context, returns an object of all the block settings.\n * This object can be passed as a prop to all the Styles UI components\n * (TypographyPanel, DimensionsPanel...).\n *\n * @param {string} name Block name.\n * @param {*} parentLayout Parent layout.\n *\n * @return {Object} Settings object.\n */\nexport function useBlockSettings( name, parentLayout ) {\n\tconst [\n\t\tbackgroundImage,\n\t\tbackgroundSize,\n\t\tgradient,\n\t\tcustomFontFamilies,\n\t\tdefaultFontFamilies,\n\t\tthemeFontFamilies,\n\t\tdefaultFontSizesEnabled,\n\t\tcustomFontSizes,\n\t\tdefaultFontSizes,\n\t\tthemeFontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextAlign,\n\t\ttextColumns,\n\t\ttextDecoration,\n\t\ttextIndent,\n\t\twritingMode,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\tpadding,\n\t\tmargin,\n\t\tblockGap,\n\t\tdefaultSpacingSizesEnabled,\n\t\tcustomSpacingSize,\n\t\tuserSpacingSizes,\n\t\tdefaultSpacingSizes,\n\t\tthemeSpacingSizes,\n\t\tunits,\n\t\taspectRatio,\n\t\theight,\n\t\tminHeight,\n\t\tminWidth,\n\t\twidth,\n\t\tdimensionSizes,\n\t\tlayout,\n\t\tborderColor,\n\t\tborderRadius,\n\t\tborderStyle,\n\t\tborderWidth,\n\t\tborderRadiusSizes,\n\t\tcustomColorsEnabled,\n\t\tcustomColors,\n\t\tcustomDuotone,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tdefaultPalette,\n\t\tdefaultDuotone,\n\t\tuserDuotonePalette,\n\t\tthemeDuotonePalette,\n\t\tdefaultDuotonePalette,\n\t\tuserGradientPalette,\n\t\tthemeGradientPalette,\n\t\tdefaultGradientPalette,\n\t\tdefaultGradients,\n\t\tareCustomGradientsEnabled,\n\t\tisBackgroundEnabled,\n\t\tisLinkEnabled,\n\t\tisTextEnabled,\n\t\tisHeadingEnabled,\n\t\tisButtonEnabled,\n\t\tshadow,\n\t] = useSettings(\n\t\t'background.backgroundImage',\n\t\t'background.backgroundSize',\n\t\t'background.gradient',\n\t\t'typography.fontFamilies.custom',\n\t\t'typography.fontFamilies.default',\n\t\t'typography.fontFamilies.theme',\n\t\t'typography.defaultFontSizes',\n\t\t'typography.fontSizes.custom',\n\t\t'typography.fontSizes.default',\n\t\t'typography.fontSizes.theme',\n\t\t'typography.customFontSize',\n\t\t'typography.fontStyle',\n\t\t'typography.fontWeight',\n\t\t'typography.lineHeight',\n\t\t'typography.textAlign',\n\t\t'typography.textColumns',\n\t\t'typography.textDecoration',\n\t\t'typography.textIndent',\n\t\t'typography.writingMode',\n\t\t'typography.textTransform',\n\t\t'typography.letterSpacing',\n\t\t'spacing.padding',\n\t\t'spacing.margin',\n\t\t'spacing.blockGap',\n\t\t'spacing.defaultSpacingSizes',\n\t\t'spacing.customSpacingSize',\n\t\t'spacing.spacingSizes.custom',\n\t\t'spacing.spacingSizes.default',\n\t\t'spacing.spacingSizes.theme',\n\t\t'spacing.units',\n\t\t'dimensions.aspectRatio',\n\t\t'dimensions.height',\n\t\t'dimensions.minHeight',\n\t\t'dimensions.minWidth',\n\t\t'dimensions.width',\n\t\t'dimensions.dimensionSizes',\n\t\t'layout',\n\t\t'border.color',\n\t\t'border.radius',\n\t\t'border.style',\n\t\t'border.width',\n\t\t'border.radiusSizes',\n\t\t'color.custom',\n\t\t'color.palette.custom',\n\t\t'color.customDuotone',\n\t\t'color.palette.theme',\n\t\t'color.palette.default',\n\t\t'color.defaultPalette',\n\t\t'color.defaultDuotone',\n\t\t'color.duotone.custom',\n\t\t'color.duotone.theme',\n\t\t'color.duotone.default',\n\t\t'color.gradients.custom',\n\t\t'color.gradients.theme',\n\t\t'color.gradients.default',\n\t\t'color.defaultGradients',\n\t\t'color.customGradient',\n\t\t'color.background',\n\t\t'color.link',\n\t\t'color.text',\n\t\t'color.heading',\n\t\t'color.button',\n\t\t'shadow'\n\t);\n\n\tconst rawSettings = useMemo( () => {\n\t\treturn {\n\t\t\tbackground: {\n\t\t\t\tbackgroundImage,\n\t\t\t\tbackgroundSize,\n\t\t\t\tgradient,\n\t\t\t},\n\t\t\tcolor: {\n\t\t\t\tpalette: {\n\t\t\t\t\tcustom: customColors,\n\t\t\t\t\ttheme: themeColors,\n\t\t\t\t\tdefault: defaultColors,\n\t\t\t\t},\n\t\t\t\tgradients: {\n\t\t\t\t\tcustom: userGradientPalette,\n\t\t\t\t\ttheme: themeGradientPalette,\n\t\t\t\t\tdefault: defaultGradientPalette,\n\t\t\t\t},\n\t\t\t\tduotone: {\n\t\t\t\t\tcustom: userDuotonePalette,\n\t\t\t\t\ttheme: themeDuotonePalette,\n\t\t\t\t\tdefault: defaultDuotonePalette,\n\t\t\t\t},\n\t\t\t\tdefaultGradients,\n\t\t\t\tdefaultPalette,\n\t\t\t\tdefaultDuotone,\n\t\t\t\tcustom: customColorsEnabled,\n\t\t\t\tcustomGradient: areCustomGradientsEnabled,\n\t\t\t\tcustomDuotone,\n\t\t\t\tbackground: isBackgroundEnabled,\n\t\t\t\tlink: isLinkEnabled,\n\t\t\t\theading: isHeadingEnabled,\n\t\t\t\tbutton: isButtonEnabled,\n\t\t\t\ttext: isTextEnabled,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontFamilies: {\n\t\t\t\t\tcustom: customFontFamilies,\n\t\t\t\t\tdefault: defaultFontFamilies,\n\t\t\t\t\ttheme: themeFontFamilies,\n\t\t\t\t},\n\t\t\t\tfontSizes: {\n\t\t\t\t\tcustom: customFontSizes,\n\t\t\t\t\tdefault: defaultFontSizes,\n\t\t\t\t\ttheme: themeFontSizes,\n\t\t\t\t},\n\t\t\t\tcustomFontSize,\n\t\t\t\tdefaultFontSizes: defaultFontSizesEnabled,\n\t\t\t\tfontStyle,\n\t\t\t\tfontWeight,\n\t\t\t\tlineHeight,\n\t\t\t\ttextAlign,\n\t\t\t\ttextColumns,\n\t\t\t\ttextDecoration,\n\t\t\t\ttextIndent,\n\t\t\t\ttextTransform,\n\t\t\t\tletterSpacing,\n\t\t\t\twritingMode,\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tspacingSizes: {\n\t\t\t\t\tcustom: userSpacingSizes,\n\t\t\t\t\tdefault: defaultSpacingSizes,\n\t\t\t\t\ttheme: themeSpacingSizes,\n\t\t\t\t},\n\t\t\t\tcustomSpacingSize,\n\t\t\t\tdefaultSpacingSizes: defaultSpacingSizesEnabled,\n\t\t\t\tpadding,\n\t\t\t\tmargin,\n\t\t\t\tblockGap,\n\t\t\t\tunits,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tcolor: borderColor,\n\t\t\t\tradius: borderRadius,\n\t\t\t\tstyle: borderStyle,\n\t\t\t\twidth: borderWidth,\n\t\t\t\tradiusSizes: borderRadiusSizes,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\taspectRatio,\n\t\t\t\theight,\n\t\t\t\tminHeight,\n\t\t\t\tminWidth,\n\t\t\t\twidth,\n\t\t\t\tdimensionSizes,\n\t\t\t},\n\t\t\tlayout,\n\t\t\tparentLayout,\n\t\t\tshadow,\n\t\t};\n\t}, [\n\t\tbackgroundImage,\n\t\tbackgroundSize,\n\t\tgradient,\n\t\tcustomFontFamilies,\n\t\tdefaultFontFamilies,\n\t\tthemeFontFamilies,\n\t\tdefaultFontSizesEnabled,\n\t\tcustomFontSizes,\n\t\tdefaultFontSizes,\n\t\tthemeFontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextAlign,\n\t\ttextColumns,\n\t\ttextDecoration,\n\t\ttextIndent,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\twritingMode,\n\t\tpadding,\n\t\tmargin,\n\t\tblockGap,\n\t\tdefaultSpacingSizesEnabled,\n\t\tcustomSpacingSize,\n\t\tuserSpacingSizes,\n\t\tdefaultSpacingSizes,\n\t\tthemeSpacingSizes,\n\t\tunits,\n\t\taspectRatio,\n\t\theight,\n\t\tminHeight,\n\t\tminWidth,\n\t\twidth,\n\t\tdimensionSizes,\n\t\tlayout,\n\t\tparentLayout,\n\t\tborderColor,\n\t\tborderRadius,\n\t\tborderStyle,\n\t\tborderWidth,\n\t\tborderRadiusSizes,\n\t\tcustomColorsEnabled,\n\t\tcustomColors,\n\t\tcustomDuotone,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tdefaultPalette,\n\t\tdefaultDuotone,\n\t\tuserDuotonePalette,\n\t\tthemeDuotonePalette,\n\t\tdefaultDuotonePalette,\n\t\tuserGradientPalette,\n\t\tthemeGradientPalette,\n\t\tdefaultGradientPalette,\n\t\tdefaultGradients,\n\t\tareCustomGradientsEnabled,\n\t\tisBackgroundEnabled,\n\t\tisLinkEnabled,\n\t\tisTextEnabled,\n\t\tisHeadingEnabled,\n\t\tisButtonEnabled,\n\t\tshadow,\n\t] );\n\n\treturn useSettingsForBlockElement( rawSettings, name );\n}\n\nexport function createBlockEditFilter( features ) {\n\t// We don't want block controls to re-render when typing inside a block.\n\t// `memo` will prevent re-renders unless props change, so only pass the\n\t// needed props and not the whole attributes object.\n\tfeatures = features.map( ( settings ) => {\n\t\treturn { ...settings, Edit: memo( settings.edit ) };\n\t} );\n\tconst withBlockEditHooks = createHigherOrderComponent(\n\t\t( OriginalBlockEdit ) =>\n\t\t\tfunction WithBlockEditHooks( props ) {\n\t\t\t\tconst context = useBlockEditContext();\n\t\t\t\t// CAUTION: code added before this line will be executed for all\n\t\t\t\t// blocks, not just those that support the feature! Code added\n\t\t\t\t// above this line should be carefully evaluated for its impact on\n\t\t\t\t// performance.\n\t\t\t\treturn [\n\t\t\t\t\t...features.map( ( feature, i ) => {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tEdit,\n\t\t\t\t\t\t\thasSupport,\n\t\t\t\t\t\t\tattributeKeys = [],\n\t\t\t\t\t\t\tshareWithChildBlocks,\n\t\t\t\t\t\t\tsupportsPatternEditing,\n\t\t\t\t\t\t} = feature;\n\t\t\t\t\t\tconst shouldDisplayControls =\n\t\t\t\t\t\t\t( supportsPatternEditing &&\n\t\t\t\t\t\t\t\tcontext[\n\t\t\t\t\t\t\t\t\tmayDisplayPatternEditingControlsKey\n\t\t\t\t\t\t\t\t] ) ||\n\t\t\t\t\t\t\tcontext[ mayDisplayControlsKey ] ||\n\t\t\t\t\t\t\t( context[ mayDisplayParentControlsKey ] &&\n\t\t\t\t\t\t\t\tshareWithChildBlocks );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! shouldDisplayControls ||\n\t\t\t\t\t\t\t! hasSupport( props.name )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst neededProps = {};\n\t\t\t\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\t\t\t\tif ( props.attributes[ key ] ) {\n\t\t\t\t\t\t\t\tneededProps[ key ] = props.attributes[ key ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Edit\n\t\t\t\t\t\t\t\t// We can use the index because the array length\n\t\t\t\t\t\t\t\t// is fixed per page load right now.\n\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\tname={ props.name }\n\t\t\t\t\t\t\t\tisSelected={ props.isSelected }\n\t\t\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\t\t\tsetAttributes={ props.setAttributes }\n\t\t\t\t\t\t\t\t__unstableParentLayout={\n\t\t\t\t\t\t\t\t\tprops.__unstableParentLayout\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// This component is pure, so only pass needed\n\t\t\t\t\t\t\t\t// props!!!\n\t\t\t\t\t\t\t\t{ ...neededProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ),\n\t\t\t\t\t<OriginalBlockEdit key=\"edit\" { ...props } />,\n\t\t\t\t];\n\t\t\t},\n\t\t'withBlockEditHooks'\n\t);\n\taddFilter( 'editor.BlockEdit', 'core/editor/hooks', withBlockEditHooks );\n}\n\nfunction BlockProps( {\n\tindex,\n\tuseBlockProps: hook,\n\tsetAllWrapperProps,\n\t...props\n} ) {\n\tconst wrapperProps = hook( props );\n\tconst setWrapperProps = ( next ) =>\n\t\tsetAllWrapperProps( ( prev ) => {\n\t\t\tconst nextAll = [ ...prev ];\n\t\t\tnextAll[ index ] = next;\n\t\t\treturn nextAll;\n\t\t} );\n\t// Setting state after every render is fine because this component is\n\t// pure and will only re-render when needed props change.\n\tuseEffect( () => {\n\t\t// We could shallow compare the props, but since this component only\n\t\t// changes when needed attributes change, the benefit is probably small.\n\t\tsetWrapperProps( wrapperProps );\n\t\treturn () => {\n\t\t\tsetWrapperProps( undefined );\n\t\t};\n\t} );\n\treturn null;\n}\n\nconst BlockPropsPure = memo( BlockProps );\n\nexport function createBlockListBlockFilter( features ) {\n\tconst withBlockListBlockHooks = createHigherOrderComponent(\n\t\t( BlockListBlock ) =>\n\t\t\tfunction WithBlockListBlockHooks( props ) {\n\t\t\t\tconst [ allWrapperProps, setAllWrapperProps ] = useState(\n\t\t\t\t\tArray( features.length ).fill( undefined )\n\t\t\t\t);\n\t\t\t\treturn [\n\t\t\t\t\t...features.map( ( feature, i ) => {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\thasSupport,\n\t\t\t\t\t\t\tattributeKeys = [],\n\t\t\t\t\t\t\tuseBlockProps,\n\t\t\t\t\t\t\tisMatch,\n\t\t\t\t\t\t} = feature;\n\n\t\t\t\t\t\tconst neededProps = {};\n\t\t\t\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\t\t\t\tif ( props.attributes[ key ] ) {\n\t\t\t\t\t\t\t\tneededProps[ key ] = props.attributes[ key ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t// Skip rendering if none of the needed attributes are\n\t\t\t\t\t\t\t// set.\n\t\t\t\t\t\t\t! Object.keys( neededProps ).length ||\n\t\t\t\t\t\t\t! hasSupport( props.name ) ||\n\t\t\t\t\t\t\t( isMatch && ! isMatch( neededProps ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<BlockPropsPure\n\t\t\t\t\t\t\t\t// We can use the index because the array length\n\t\t\t\t\t\t\t\t// is fixed per page load right now.\n\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\tindex={ i }\n\t\t\t\t\t\t\t\tuseBlockProps={ useBlockProps }\n\t\t\t\t\t\t\t\t// This component is pure, so we must pass a stable\n\t\t\t\t\t\t\t\t// function reference.\n\t\t\t\t\t\t\t\tsetAllWrapperProps={ setAllWrapperProps }\n\t\t\t\t\t\t\t\tname={ props.name }\n\t\t\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\t\t\t// This component is pure, so only pass needed\n\t\t\t\t\t\t\t\t// props!!!\n\t\t\t\t\t\t\t\t{ ...neededProps }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ),\n\t\t\t\t\t<BlockListBlock\n\t\t\t\t\t\tkey=\"edit\"\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\twrapperProps={ allWrapperProps\n\t\t\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t\t\t.reduce( ( acc, wrapperProps ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t\t...wrapperProps,\n\t\t\t\t\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t\t\t\t\tacc.className,\n\t\t\t\t\t\t\t\t\t\twrapperProps.className\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\t...acc.style,\n\t\t\t\t\t\t\t\t\t\t...wrapperProps.style,\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}, props.wrapperProps || {} ) }\n\t\t\t\t\t/>,\n\t\t\t\t];\n\t\t\t},\n\t\t'withBlockListBlockHooks'\n\t);\n\taddFilter(\n\t\t'editor.BlockListBlock',\n\t\t'core/editor/hooks',\n\t\twithBlockListBlockHooks\n\t);\n}\n\nexport function createBlockSaveFilter( features ) {\n\tfunction extraPropsFromHooks( props, name, attributes ) {\n\t\treturn features.reduce( ( accu, feature ) => {\n\t\t\tconst { hasSupport, attributeKeys = [], addSaveProps } = feature;\n\n\t\t\tconst neededAttributes = {};\n\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\tif ( attributes[ key ] ) {\n\t\t\t\t\tneededAttributes[ key ] = attributes[ key ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// Skip rendering if none of the needed attributes are\n\t\t\t\t// set.\n\t\t\t\t! Object.keys( neededAttributes ).length ||\n\t\t\t\t! hasSupport( name )\n\t\t\t) {\n\t\t\t\treturn accu;\n\t\t\t}\n\n\t\t\treturn addSaveProps( accu, name, neededAttributes );\n\t\t}, props );\n\t}\n\taddFilter(\n\t\t'blocks.getSaveContent.extraProps',\n\t\t'core/editor/hooks',\n\t\textraPropsFromHooks,\n\t\t0\n\t);\n\taddFilter(\n\t\t'blocks.getSaveContent.extraProps',\n\t\t'core/editor/hooks',\n\t\t( props ) => {\n\t\t\t// Previously we had a filter deleting the className if it was an empty\n\t\t\t// string. That filter is no longer running, so now we need to delete it\n\t\t\t// here.\n\t\t\tif ( props.hasOwnProperty( 'className' ) && ! props.className ) {\n\t\t\t\tdelete props.className;\n\t\t\t}\n\n\t\t\treturn props;\n\t\t}\n\t);\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/layouts/constrained.js
1
+ // packages/block-editor/src/layouts/constrained.jsx
2
2
  import {
3
3
  __experimentalUseCustomUnits as useCustomUnits,
4
4
  __experimentalUnitControl as UnitControl,
@@ -29,6 +29,13 @@ var GLOBAL_WIDE_SIZE = "var(--wp--style--global--wide-size, none)";
29
29
  var constrained_default = {
30
30
  name: "constrained",
31
31
  label: __("Constrained"),
32
+ hasInspectorControls(layoutBlockSupport = {}) {
33
+ const {
34
+ allowJustification = true,
35
+ allowCustomContentAndWideSize = true
36
+ } = layoutBlockSupport;
37
+ return allowJustification || allowCustomContentAndWideSize;
38
+ },
32
39
  inspectorControls: function DefaultLayoutInspectorControls({
33
40
  layout,
34
41
  onChange,
@@ -220,7 +227,7 @@ var constrained_default = {
220
227
  const effectiveLayout = hasViewportOverrides ? { ...layout, ...viewportOverrides } : layout;
221
228
  const hasViewportOverride = (key) => Object.hasOwn(viewportOverrides || {}, key);
222
229
  const { contentSize, wideSize, justifyContent } = effectiveLayout;
223
- const blockGapStyleValue = getGapCSSValue(style?.spacing?.blockGap);
230
+ const blockGapStyleValue = style?.spacing?.blockGap;
224
231
  const hasBlockGapOverride = !hasViewportOverrides || Object.hasOwn(style?.spacing || {}, "blockGap");
225
232
  const hasBlockSpacingOverride = !hasViewportOverrides || Object.hasOwn(style?.spacing || {}, "padding");
226
233
  let blockGapValue = "";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/layouts/constrained.js"],
4
- "sourcesContent": ["import {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\talignNone,\n\tstretchWide,\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n} from '@wordpress/icons';\nimport { getCSSRules } from '@wordpress/style-engine';\nimport { useSettings } from '../components/use-settings';\nimport { appendSelectors, getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { BlockControls, JustifyContentControl } from '../components';\nimport { cleanEmptyObject, shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nconst GLOBAL_CONTENT_SIZE = 'var(--wp--style--global--content-size, none)';\nconst GLOBAL_WIDE_SIZE = 'var(--wp--style--global--wide-size, none)';\n\nexport default {\n\tname: 'constrained',\n\tlabel: __( 'Constrained' ),\n\tinspectorControls: function DefaultLayoutInspectorControls( {\n\t\tlayout,\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t\tresetLayout = {},\n\t\tclientId,\n\t} ) {\n\t\tconst { wideSize, contentSize, justifyContent = 'center' } = layout;\n\t\tconst {\n\t\t\tallowJustification = true,\n\t\t\tallowCustomContentAndWideSize = true,\n\t\t} = layoutBlockSupport;\n\t\tconst onJustificationChange = ( value ) => {\n\t\t\tonChange( {\n\t\t\t\t...layout,\n\t\t\t\tjustifyContent: value,\n\t\t\t} );\n\t\t};\n\t\tconst justificationOptions = [\n\t\t\t{\n\t\t\t\tvalue: 'left',\n\t\t\t\ticon: justifyLeft,\n\t\t\t\tlabel: __( 'Justify items left' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'center',\n\t\t\t\ticon: justifyCenter,\n\t\t\t\tlabel: __( 'Justify items center' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'right',\n\t\t\t\ticon: justifyRight,\n\t\t\t\tlabel: __( 'Justify items right' ),\n\t\t\t},\n\t\t];\n\t\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\t\tconst units = useCustomUnits( {\n\t\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t\t} );\n\t\tconst hasLayoutValue = ( key, defaultValue ) =>\n\t\t\t( layout?.[ key ] ?? defaultValue ) !==\n\t\t\t( resetLayout?.[ key ] ?? defaultValue );\n\t\tconst resetContentSize = () =>\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tcontentSize: resetLayout?.contentSize,\n\t\t\t\t} )\n\t\t\t);\n\t\tconst resetWideSize = () =>\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\twideSize: resetLayout?.wideSize,\n\t\t\t\t} )\n\t\t\t);\n\t\tconst resetJustification = () =>\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tjustifyContent: resetLayout?.justifyContent,\n\t\t\t\t} )\n\t\t\t);\n\t\tconst hasContentSizeValue = () => hasLayoutValue( 'contentSize' );\n\t\tconst hasWideSizeValue = () => hasLayoutValue( 'wideSize' );\n\t\tconst hasJustificationValue = () =>\n\t\t\thasLayoutValue( 'justifyContent', 'center' );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ allowCustomContentAndWideSize && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\t\t\thasValue={ hasContentSizeValue }\n\t\t\t\t\t\t\tonDeselect={ resetContentSize }\n\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tcontentSize === null\n\t\t\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t\t\t: contentSize || wideSize || ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\tcontentSize:\n\t\t\t\t\t\t\t\t\t\t\tnextWidth !== ''\n\t\t\t\t\t\t\t\t\t\t\t\t? nextWidth\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\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\tunits={ units }\n\t\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ alignNone } />\n\t\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\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\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\t\t\thasValue={ hasWideSizeValue }\n\t\t\t\t\t\t\tonDeselect={ resetWideSize }\n\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\twideSize === null\n\t\t\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t\t\t: wideSize || contentSize || ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\twideSize:\n\t\t\t\t\t\t\t\t\t\t\tnextWidth !== ''\n\t\t\t\t\t\t\t\t\t\t\t\t? nextWidth\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\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\tunits={ units }\n\t\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"block-editor-hooks__layout-constrained-helptext\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Customize the width for all elements that are assigned to the center or wide columns.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\thasValue={ hasJustificationValue }\n\t\t\t\t\t\tonDeselect={ resetJustification }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ justificationOptions.map(\n\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t\tcontrolsGroup = 'block',\n\t} ) {\n\t\tconst { allowJustification = true } = layoutBlockSupport;\n\n\t\tif ( ! allowJustification ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<BlockControls\n\t\t\t\tgroup={ controlsGroup }\n\t\t\t\t__experimentalShareWithChildBlocks\n\t\t\t>\n\t\t\t\t<DefaultLayoutJustifyContentControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t);\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tviewportOverrides,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst hasViewportOverrides = viewportOverrides !== undefined;\n\t\tconst effectiveLayout = hasViewportOverrides\n\t\t\t? { ...layout, ...viewportOverrides }\n\t\t\t: layout;\n\t\tconst hasViewportOverride = ( key ) =>\n\t\t\tObject.hasOwn( viewportOverrides || {}, key );\n\t\tconst { contentSize, wideSize, justifyContent } = effectiveLayout;\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\n\t\tconst hasBlockGapOverride =\n\t\t\t! hasViewportOverrides ||\n\t\t\tObject.hasOwn( style?.spacing || {}, 'blockGap' );\n\t\tconst hasBlockSpacingOverride =\n\t\t\t! hasViewportOverrides ||\n\t\t\tObject.hasOwn( style?.spacing || {}, 'padding' );\n\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tlet blockGapValue = '';\n\t\tif ( ! shouldSkipSerialization( blockName, 'spacing', 'blockGap' ) ) {\n\t\t\t// If an object is provided only use the 'top' value for this kind of gap.\n\t\t\tif ( blockGapStyleValue?.top ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue?.top );\n\t\t\t} else if ( typeof blockGapStyleValue === 'string' ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue );\n\t\t\t}\n\t\t}\n\n\t\tconst marginLeft =\n\t\t\tjustifyContent === 'left' ? '0 !important' : 'auto !important';\n\t\tconst marginRight =\n\t\t\tjustifyContent === 'right' ? '0 !important' : 'auto !important';\n\n\t\tconst hasJustificationOverride =\n\t\t\thasViewportOverrides && hasViewportOverride( 'justifyContent' );\n\t\tconst hasContentSizeOverride =\n\t\t\thasViewportOverrides && hasViewportOverride( 'contentSize' );\n\t\tconst hasWideSizeOverride =\n\t\t\thasViewportOverrides && hasViewportOverride( 'wideSize' );\n\t\tconst shouldOutputConstrainedSizes =\n\t\t\t! hasViewportOverrides ||\n\t\t\thasContentSizeOverride ||\n\t\t\thasWideSizeOverride;\n\t\tconst isResettingConstrainedSizes =\n\t\t\thasViewportOverrides &&\n\t\t\t( ( hasContentSizeOverride && ! contentSize ) ||\n\t\t\t\t( hasWideSizeOverride && ! wideSize ) );\n\t\tconst contentMaxWidth =\n\t\t\tcontentSize ||\n\t\t\t( wideSize && ! hasContentSizeOverride\n\t\t\t\t? wideSize\n\t\t\t\t: GLOBAL_CONTENT_SIZE );\n\t\tconst wideMaxWidth =\n\t\t\twideSize ||\n\t\t\t( contentSize && ! hasWideSizeOverride\n\t\t\t\t? contentSize\n\t\t\t\t: GLOBAL_WIDE_SIZE );\n\t\tconst constrainedSizeDeclarations = [\n\t\t\t`max-width: ${ contentMaxWidth }`,\n\t\t];\n\t\tif ( ! hasViewportOverrides || hasJustificationOverride ) {\n\t\t\tconstrainedSizeDeclarations.push(\n\t\t\t\t`margin-left: ${ marginLeft }`,\n\t\t\t\t`margin-right: ${ marginRight }`\n\t\t\t);\n\t\t}\n\t\tlet output =\n\t\t\tshouldOutputConstrainedSizes &&\n\t\t\t( !! contentSize || !! wideSize || isResettingConstrainedSizes )\n\t\t\t\t? `\n\t\t\t\t\t\t${ appendSelectors(\n\t\t\t\t\t\t\tselector,\n\t\t\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t\t\t) } {\n\t\t\t\t\t\t${ constrainedSizeDeclarations.join( '; ' ) };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignwide' ) } {\n\t\t\t\t\t\tmax-width: ${ wideMaxWidth };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t\t`\n\t\t\t\t: '';\n\n\t\tif ( hasJustificationOverride && ! shouldOutputConstrainedSizes ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t\t{ margin-left: ${ marginLeft }; margin-right: ${ marginRight }; }`;\n\t\t} else if ( ! hasViewportOverrides ) {\n\t\t\tif ( justifyContent === 'left' ) {\n\t\t\t\toutput += `${ appendSelectors(\n\t\t\t\t\tselector,\n\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t) }\n\t\t\t{ margin-left: ${ marginLeft }; }`;\n\t\t\t} else if ( justifyContent === 'right' ) {\n\t\t\t\toutput += `${ appendSelectors(\n\t\t\t\t\tselector,\n\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t) }\n\t\t\t{ margin-right: ${ marginRight }; }`;\n\t\t\t}\n\t\t}\n\n\t\t// If there is custom padding, add negative margins for alignfull blocks.\n\t\tif ( hasBlockSpacingOverride && style?.spacing?.padding ) {\n\t\t\t// The style object might be storing a preset so we need to make sure we get a usable value.\n\t\t\tconst paddingValues = getCSSRules( style );\n\t\t\tpaddingValues.forEach( ( rule ) => {\n\t\t\t\tif ( rule.key === 'paddingRight' ) {\n\t\t\t\t\t// Add unit if 0, to avoid calc(0 * -1) which is invalid.\n\t\t\t\t\tconst paddingRightValue =\n\t\t\t\t\t\trule.value === '0' ? '0px' : rule.value;\n\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-right: calc(${ paddingRightValue } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t} else if ( rule.key === 'paddingLeft' ) {\n\t\t\t\t\t// Add unit if 0, to avoid calc(0 * -1) which is invalid.\n\t\t\t\t\tconst paddingLeftValue =\n\t\t\t\t\t\trule.value === '0' ? '0px' : rule.value;\n\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-left: calc(${ paddingLeftValue } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && hasBlockGapOverride && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'constrained',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\t\tconst { contentSize, wideSize } = layout;\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\tif ( contentSize ) {\n\t\t\talignments.unshift( { name: 'full' } );\n\t\t}\n\n\t\tif ( wideSize ) {\n\t\t\talignments.unshift( { name: 'wide', info: alignmentInfo.wide } );\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nfunction DefaultLayoutJustifyContentControl( { layout, onChange } ) {\n\tconst { justifyContent = 'center' } = layout;\n\tconst onJustificationChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tjustifyContent: value,\n\t\t} );\n\t};\n\tconst allowedControls = [ 'left', 'center', 'right' ];\n\n\treturn (\n\t\t<JustifyContentControl\n\t\t\tallowedControls={ allowedControls }\n\t\t\tvalue={ justifyContent }\n\t\t\tonChange={ onJustificationChange }\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t/>\n\t);\n}\n"],
5
- "mappings": "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",
3
+ "sources": ["../../src/layouts/constrained.jsx"],
4
+ "sourcesContent": ["import {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\talignNone,\n\tstretchWide,\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n} from '@wordpress/icons';\nimport { getCSSRules } from '@wordpress/style-engine';\nimport { useSettings } from '../components/use-settings';\nimport { appendSelectors, getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { BlockControls, JustifyContentControl } from '../components';\nimport { cleanEmptyObject, shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nconst GLOBAL_CONTENT_SIZE = 'var(--wp--style--global--content-size, none)';\nconst GLOBAL_WIDE_SIZE = 'var(--wp--style--global--wide-size, none)';\n\nexport default {\n\tname: 'constrained',\n\tlabel: __( 'Constrained' ),\n\thasInspectorControls( layoutBlockSupport = {} ) {\n\t\tconst {\n\t\t\tallowJustification = true,\n\t\t\tallowCustomContentAndWideSize = true,\n\t\t} = layoutBlockSupport;\n\n\t\treturn allowJustification || allowCustomContentAndWideSize;\n\t},\n\tinspectorControls: function DefaultLayoutInspectorControls( {\n\t\tlayout,\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t\tresetLayout = {},\n\t\tclientId,\n\t} ) {\n\t\tconst { wideSize, contentSize, justifyContent = 'center' } = layout;\n\t\tconst {\n\t\t\tallowJustification = true,\n\t\t\tallowCustomContentAndWideSize = true,\n\t\t} = layoutBlockSupport;\n\t\tconst onJustificationChange = ( value ) => {\n\t\t\tonChange( {\n\t\t\t\t...layout,\n\t\t\t\tjustifyContent: value,\n\t\t\t} );\n\t\t};\n\t\tconst justificationOptions = [\n\t\t\t{\n\t\t\t\tvalue: 'left',\n\t\t\t\ticon: justifyLeft,\n\t\t\t\tlabel: __( 'Justify items left' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'center',\n\t\t\t\ticon: justifyCenter,\n\t\t\t\tlabel: __( 'Justify items center' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'right',\n\t\t\t\ticon: justifyRight,\n\t\t\t\tlabel: __( 'Justify items right' ),\n\t\t\t},\n\t\t];\n\t\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\t\tconst units = useCustomUnits( {\n\t\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t\t} );\n\t\tconst hasLayoutValue = ( key, defaultValue ) =>\n\t\t\t( layout?.[ key ] ?? defaultValue ) !==\n\t\t\t( resetLayout?.[ key ] ?? defaultValue );\n\t\tconst resetContentSize = () =>\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tcontentSize: resetLayout?.contentSize,\n\t\t\t\t} )\n\t\t\t);\n\t\tconst resetWideSize = () =>\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\twideSize: resetLayout?.wideSize,\n\t\t\t\t} )\n\t\t\t);\n\t\tconst resetJustification = () =>\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tjustifyContent: resetLayout?.justifyContent,\n\t\t\t\t} )\n\t\t\t);\n\t\tconst hasContentSizeValue = () => hasLayoutValue( 'contentSize' );\n\t\tconst hasWideSizeValue = () => hasLayoutValue( 'wideSize' );\n\t\tconst hasJustificationValue = () =>\n\t\t\thasLayoutValue( 'justifyContent', 'center' );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ allowCustomContentAndWideSize && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\t\t\thasValue={ hasContentSizeValue }\n\t\t\t\t\t\t\tonDeselect={ resetContentSize }\n\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tcontentSize === null\n\t\t\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t\t\t: contentSize || wideSize || ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\tcontentSize:\n\t\t\t\t\t\t\t\t\t\t\tnextWidth !== ''\n\t\t\t\t\t\t\t\t\t\t\t\t? nextWidth\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\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\tunits={ units }\n\t\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ alignNone } />\n\t\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\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\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\t\t\thasValue={ hasWideSizeValue }\n\t\t\t\t\t\t\tonDeselect={ resetWideSize }\n\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\twideSize === null\n\t\t\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t\t\t: wideSize || contentSize || ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\twideSize:\n\t\t\t\t\t\t\t\t\t\t\tnextWidth !== ''\n\t\t\t\t\t\t\t\t\t\t\t\t? nextWidth\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined,\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\tunits={ units }\n\t\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"block-editor-hooks__layout-constrained-helptext\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Customize the width for all elements that are assigned to the center or wide columns.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\thasValue={ hasJustificationValue }\n\t\t\t\t\t\tonDeselect={ resetJustification }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ justificationOptions.map(\n\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t\tcontrolsGroup = 'block',\n\t} ) {\n\t\tconst { allowJustification = true } = layoutBlockSupport;\n\n\t\tif ( ! allowJustification ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<BlockControls\n\t\t\t\tgroup={ controlsGroup }\n\t\t\t\t__experimentalShareWithChildBlocks\n\t\t\t>\n\t\t\t\t<DefaultLayoutJustifyContentControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t);\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tviewportOverrides,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst hasViewportOverrides = viewportOverrides !== undefined;\n\t\tconst effectiveLayout = hasViewportOverrides\n\t\t\t? { ...layout, ...viewportOverrides }\n\t\t\t: layout;\n\t\tconst hasViewportOverride = ( key ) =>\n\t\t\tObject.hasOwn( viewportOverrides || {}, key );\n\t\tconst { contentSize, wideSize, justifyContent } = effectiveLayout;\n\t\tconst blockGapStyleValue = style?.spacing?.blockGap;\n\t\tconst hasBlockGapOverride =\n\t\t\t! hasViewportOverrides ||\n\t\t\tObject.hasOwn( style?.spacing || {}, 'blockGap' );\n\t\tconst hasBlockSpacingOverride =\n\t\t\t! hasViewportOverrides ||\n\t\t\tObject.hasOwn( style?.spacing || {}, 'padding' );\n\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tlet blockGapValue = '';\n\t\tif ( ! shouldSkipSerialization( blockName, 'spacing', 'blockGap' ) ) {\n\t\t\t// If an object is provided only use the 'top' value for this kind of gap.\n\t\t\tif ( blockGapStyleValue?.top ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue?.top );\n\t\t\t} else if ( typeof blockGapStyleValue === 'string' ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue );\n\t\t\t}\n\t\t}\n\n\t\tconst marginLeft =\n\t\t\tjustifyContent === 'left' ? '0 !important' : 'auto !important';\n\t\tconst marginRight =\n\t\t\tjustifyContent === 'right' ? '0 !important' : 'auto !important';\n\n\t\tconst hasJustificationOverride =\n\t\t\thasViewportOverrides && hasViewportOverride( 'justifyContent' );\n\t\tconst hasContentSizeOverride =\n\t\t\thasViewportOverrides && hasViewportOverride( 'contentSize' );\n\t\tconst hasWideSizeOverride =\n\t\t\thasViewportOverrides && hasViewportOverride( 'wideSize' );\n\t\tconst shouldOutputConstrainedSizes =\n\t\t\t! hasViewportOverrides ||\n\t\t\thasContentSizeOverride ||\n\t\t\thasWideSizeOverride;\n\t\tconst isResettingConstrainedSizes =\n\t\t\thasViewportOverrides &&\n\t\t\t( ( hasContentSizeOverride && ! contentSize ) ||\n\t\t\t\t( hasWideSizeOverride && ! wideSize ) );\n\t\tconst contentMaxWidth =\n\t\t\tcontentSize ||\n\t\t\t( wideSize && ! hasContentSizeOverride\n\t\t\t\t? wideSize\n\t\t\t\t: GLOBAL_CONTENT_SIZE );\n\t\tconst wideMaxWidth =\n\t\t\twideSize ||\n\t\t\t( contentSize && ! hasWideSizeOverride\n\t\t\t\t? contentSize\n\t\t\t\t: GLOBAL_WIDE_SIZE );\n\t\tconst constrainedSizeDeclarations = [\n\t\t\t`max-width: ${ contentMaxWidth }`,\n\t\t];\n\t\tif ( ! hasViewportOverrides || hasJustificationOverride ) {\n\t\t\tconstrainedSizeDeclarations.push(\n\t\t\t\t`margin-left: ${ marginLeft }`,\n\t\t\t\t`margin-right: ${ marginRight }`\n\t\t\t);\n\t\t}\n\t\tlet output =\n\t\t\tshouldOutputConstrainedSizes &&\n\t\t\t( !! contentSize || !! wideSize || isResettingConstrainedSizes )\n\t\t\t\t? `\n\t\t\t\t\t\t${ appendSelectors(\n\t\t\t\t\t\t\tselector,\n\t\t\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t\t\t) } {\n\t\t\t\t\t\t${ constrainedSizeDeclarations.join( '; ' ) };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignwide' ) } {\n\t\t\t\t\t\tmax-width: ${ wideMaxWidth };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t\t`\n\t\t\t\t: '';\n\n\t\tif ( hasJustificationOverride && ! shouldOutputConstrainedSizes ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t\t{ margin-left: ${ marginLeft }; margin-right: ${ marginRight }; }`;\n\t\t} else if ( ! hasViewportOverrides ) {\n\t\t\tif ( justifyContent === 'left' ) {\n\t\t\t\toutput += `${ appendSelectors(\n\t\t\t\t\tselector,\n\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t) }\n\t\t\t{ margin-left: ${ marginLeft }; }`;\n\t\t\t} else if ( justifyContent === 'right' ) {\n\t\t\t\toutput += `${ appendSelectors(\n\t\t\t\t\tselector,\n\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t) }\n\t\t\t{ margin-right: ${ marginRight }; }`;\n\t\t\t}\n\t\t}\n\n\t\t// If there is custom padding, add negative margins for alignfull blocks.\n\t\tif ( hasBlockSpacingOverride && style?.spacing?.padding ) {\n\t\t\t// The style object might be storing a preset so we need to make sure we get a usable value.\n\t\t\tconst paddingValues = getCSSRules( style );\n\t\t\tpaddingValues.forEach( ( rule ) => {\n\t\t\t\tif ( rule.key === 'paddingRight' ) {\n\t\t\t\t\t// Add unit if 0, to avoid calc(0 * -1) which is invalid.\n\t\t\t\t\tconst paddingRightValue =\n\t\t\t\t\t\trule.value === '0' ? '0px' : rule.value;\n\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-right: calc(${ paddingRightValue } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t} else if ( rule.key === 'paddingLeft' ) {\n\t\t\t\t\t// Add unit if 0, to avoid calc(0 * -1) which is invalid.\n\t\t\t\t\tconst paddingLeftValue =\n\t\t\t\t\t\trule.value === '0' ? '0px' : rule.value;\n\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-left: calc(${ paddingLeftValue } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && hasBlockGapOverride && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'constrained',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\t\tconst { contentSize, wideSize } = layout;\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\tif ( contentSize ) {\n\t\t\talignments.unshift( { name: 'full' } );\n\t\t}\n\n\t\tif ( wideSize ) {\n\t\t\talignments.unshift( { name: 'wide', info: alignmentInfo.wide } );\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nfunction DefaultLayoutJustifyContentControl( { layout, onChange } ) {\n\tconst { justifyContent = 'center' } = layout;\n\tconst onJustificationChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tjustifyContent: value,\n\t\t} );\n\t};\n\tconst allowedControls = [ 'left', 'center', 'right' ];\n\n\treturn (\n\t\t<JustifyContentControl\n\t\t\tallowedControls={ allowedControls }\n\t\t\tvalue={ justifyContent }\n\t\t\tonChange={ onJustificationChange }\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t/>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
- // packages/block-editor/src/layouts/flex.js
1
+ // packages/block-editor/src/layouts/flex.jsx
2
2
  import { __, _x } from "@wordpress/i18n";
3
3
  import {
4
4
  justifyLeft,
@@ -81,6 +81,15 @@ var flexWrapOptions = ["wrap", "nowrap"];
81
81
  var flex_default = {
82
82
  name: "flex",
83
83
  label: __("Flex"),
84
+ hasInspectorControls(layoutBlockSupport = {}) {
85
+ const {
86
+ allowOrientation = true,
87
+ allowJustification = true,
88
+ allowVerticalAlignment = true,
89
+ allowWrap = true
90
+ } = layoutBlockSupport;
91
+ return allowOrientation || allowJustification || allowVerticalAlignment || allowWrap;
92
+ },
84
93
  inspectorControls: function FlexLayoutInspectorControls({
85
94
  layout = {},
86
95
  onChange,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/layouts/flex.js"],
4
- "sourcesContent": ["import { __, _x } from '@wordpress/i18n';\nimport {\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n\tjustifySpaceBetween,\n\tjustifyStretch,\n\tjustifyTop,\n\tjustifyCenterVertical,\n\tjustifyBottom,\n\tjustifyStretchVertical,\n\tjustifySpaceBetweenVertical,\n\tarrowRight,\n\tarrowDown,\n} from '@wordpress/icons';\nimport {\n\tFlex,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue, getGapBoxControlValueFromStyle } from '../hooks/gap';\nimport { getSpacingPresetCssVar } from '../components/spacing-sizes-control/utils';\nimport {\n\tBlockControls,\n\tJustifyContentControl,\n\tBlockVerticalAlignmentControl,\n} from '../components';\nimport { cleanEmptyObject, shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\n// Used with the default, horizontal flex orientation.\nconst justifyContentMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\t'space-between': 'space-between',\n};\n\n// Used with the vertical (column) flex orientation.\nconst alignItemsMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\tstretch: 'stretch',\n};\n\nconst verticalAlignmentMap = {\n\ttop: 'flex-start',\n\tcenter: 'center',\n\tbottom: 'flex-end',\n\tstretch: 'stretch',\n\t'space-between': 'space-between',\n};\n\nconst defaultAlignments = {\n\thorizontal: 'center',\n\tvertical: 'top',\n};\n\nconst verticalAlignmentOptions = {\n\ttop: {\n\t\ticon: justifyTop,\n\t\tlabel: _x( 'Align top', 'Block vertical alignment setting' ),\n\t},\n\tcenter: {\n\t\ticon: justifyCenterVertical,\n\t\tlabel: _x( 'Align middle', 'Block vertical alignment setting' ),\n\t},\n\tbottom: {\n\t\ticon: justifyBottom,\n\t\tlabel: _x( 'Align bottom', 'Block vertical alignment setting' ),\n\t},\n\tstretch: {\n\t\ticon: justifyStretchVertical,\n\t\tlabel: _x( 'Stretch to fill', 'Block vertical alignment setting' ),\n\t},\n\t'space-between': {\n\t\ticon: justifySpaceBetweenVertical,\n\t\tlabel: _x( 'Space between', 'Block vertical alignment setting' ),\n\t},\n};\n\nconst flexWrapOptions = [ 'wrap', 'nowrap' ];\n\nexport default {\n\tname: 'flex',\n\tlabel: __( 'Flex' ),\n\tinspectorControls: function FlexLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t\tresetLayout = {},\n\t\tclientId,\n\t} ) {\n\t\tconst {\n\t\t\tallowOrientation = true,\n\t\t\tallowJustification = true,\n\t\t\tallowVerticalAlignment = true,\n\t\t\tallowWrap = true,\n\t\t} = layoutBlockSupport;\n\t\tconst hasLayoutValue = ( key, defaultValue ) =>\n\t\t\t( layout?.[ key ] ?? defaultValue ) !==\n\t\t\t( resetLayout?.[ key ] ?? defaultValue );\n\t\tconst hasJustificationValue = () =>\n\t\t\thasLayoutValue( 'justifyContent', 'left' );\n\t\tconst hasVerticalAlignmentValue = () =>\n\t\t\thasLayoutValue(\n\t\t\t\t'verticalAlignment',\n\t\t\t\tgetDefaultVerticalAlignment( layout )\n\t\t\t);\n\t\tconst hasOrientationValue = () =>\n\t\t\thasLayoutValue( 'orientation', 'horizontal' );\n\t\tconst hasWrapValue = () => hasLayoutValue( 'flexWrap', 'wrap' );\n\t\tconst resetJustification = () =>\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tjustifyContent: resetLayout?.justifyContent,\n\t\t\t\t} )\n\t\t\t);\n\t\tconst resetVerticalAlignment = () =>\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tverticalAlignment: getCompatibleVerticalAlignment(\n\t\t\t\t\t\tresetLayout?.verticalAlignment,\n\t\t\t\t\t\tlayout?.orientation\n\t\t\t\t\t),\n\t\t\t\t} )\n\t\t\t);\n\t\tconst resetOrientation = () => {\n\t\t\tconst { verticalAlignment, justifyContent } = layout;\n\t\t\tconst nextOrientation = resetLayout?.orientation;\n\t\t\tconst isHorizontal =\n\t\t\t\t! nextOrientation || nextOrientation === 'horizontal';\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\torientation: nextOrientation,\n\t\t\t\t\tverticalAlignment:\n\t\t\t\t\t\tresetLayout?.verticalAlignment ??\n\t\t\t\t\t\t( isHorizontal && verticalAlignment === 'space-between'\n\t\t\t\t\t\t\t? 'center'\n\t\t\t\t\t\t\t: verticalAlignment ),\n\t\t\t\t\tjustifyContent:\n\t\t\t\t\t\tresetLayout?.justifyContent ??\n\t\t\t\t\t\t( isHorizontal && justifyContent === 'stretch'\n\t\t\t\t\t\t\t? 'left'\n\t\t\t\t\t\t\t: justifyContent ),\n\t\t\t\t} )\n\t\t\t);\n\t\t};\n\t\tconst resetWrap = () =>\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tflexWrap: resetLayout?.flexWrap,\n\t\t\t\t} )\n\t\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ ( allowJustification || allowOrientation ) && (\n\t\t\t\t\t<Flex\n\t\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\t\tclassName=\"block-editor-hooks__flex-layout-controls\"\n\t\t\t\t\t\tgap={ 4 }\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ allowJustification && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\t\t\thasValue={ hasJustificationValue }\n\t\t\t\t\t\t\t\tonDeselect={ resetJustification }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ allowOrientation && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\t\t\t\t\t\thasValue={ hasOrientationValue }\n\t\t\t\t\t\t\t\tonDeselect={ resetOrientation }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<OrientationControl\n\t\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t) }\n\t\t\t\t{ allowVerticalAlignment && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Alignment' ) }\n\t\t\t\t\t\thasValue={ hasVerticalAlignmentValue }\n\t\t\t\t\t\tonDeselect={ resetVerticalAlignment }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexLayoutVerticalAlignmentControl\n\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ allowWrap && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Wrapping' ) }\n\t\t\t\t\t\thasValue={ hasWrapValue }\n\t\t\t\t\t\tonDeselect={ resetWrap }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexWrapControl\n\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function FlexLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t\tcontrolsGroup = 'block',\n\t} ) {\n\t\tconst { allowVerticalAlignment = true, allowJustification = true } =\n\t\t\tlayoutBlockSupport;\n\n\t\tif ( ! allowJustification && ! allowVerticalAlignment ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockControls\n\t\t\t\tgroup={ controlsGroup }\n\t\t\t\t__experimentalShareWithChildBlocks\n\t\t\t>\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tisToolbar\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowVerticalAlignment && (\n\t\t\t\t\t<FlexLayoutVerticalAlignmentControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tisToolbar\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t);\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tviewportOverrides,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tglobalBlockGapValue,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst hasViewportOverrides = viewportOverrides !== undefined;\n\t\tconst effectiveLayout = hasViewportOverrides\n\t\t\t? { ...layout, ...viewportOverrides }\n\t\t\t: layout;\n\t\tconst hasViewportOverride = ( key ) =>\n\t\t\tObject.hasOwn( viewportOverrides || {}, key );\n\t\tconst { orientation = 'horizontal' } = effectiveLayout;\n\n\t\t// Determine the fallback gap value using global styles (theme.json),\n\t\t// falling back to '0.5em' for backwards compatibility.\n\t\tlet fallbackGapValue = '0.5em';\n\t\tif ( globalBlockGapValue ) {\n\t\t\tconst gapBox =\n\t\t\t\tgetGapBoxControlValueFromStyle( globalBlockGapValue );\n\t\t\tfallbackGapValue =\n\t\t\t\tgetSpacingPresetCssVar( gapBox?.left ) ||\n\t\t\t\tgetSpacingPresetCssVar( gapBox?.top ) ||\n\t\t\t\t'0.5em';\n\t\t}\n\n\t\t// If a block's block.json skips serialization for spacing or spacing.blockGap,\n\t\t// don't apply the user-defined value to the styles.\n\t\tconst blockGapValue =\n\t\t\tstyle?.spacing?.blockGap &&\n\t\t\t! shouldSkipSerialization( blockName, 'spacing', 'blockGap' )\n\t\t\t\t? getGapCSSValue( style?.spacing?.blockGap, fallbackGapValue )\n\t\t\t\t: undefined;\n\t\tconst hasBlockGapOverride =\n\t\t\t! hasViewportOverrides ||\n\t\t\tObject.hasOwn( style?.spacing || {}, 'blockGap' );\n\t\tconst justifyContent =\n\t\t\tjustifyContentMap[ effectiveLayout.justifyContent ];\n\t\tconst flexWrap = flexWrapOptions.includes( effectiveLayout.flexWrap )\n\t\t\t? effectiveLayout.flexWrap\n\t\t\t: 'wrap';\n\t\tconst verticalAlignment =\n\t\t\tverticalAlignmentMap[ effectiveLayout.verticalAlignment ];\n\t\tconst alignItems =\n\t\t\talignItemsMap[ effectiveLayout.justifyContent ] ||\n\t\t\talignItemsMap.left;\n\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tconst shouldOutputFlexWrap =\n\t\t\t! hasViewportOverrides || hasViewportOverride( 'flexWrap' );\n\t\tconst shouldOutputFlexOrientation =\n\t\t\t! hasViewportOverrides || hasViewportOverride( 'orientation' );\n\t\tconst shouldOutputFlexJustification =\n\t\t\t! hasViewportOverrides ||\n\t\t\thasViewportOverride( 'justifyContent' ) ||\n\t\t\thasViewportOverride( 'orientation' );\n\t\tconst shouldOutputFlexAlignment =\n\t\t\t! hasViewportOverrides ||\n\t\t\thasViewportOverride( 'verticalAlignment' ) ||\n\t\t\thasViewportOverride( 'orientation' );\n\n\t\tif ( shouldOutputFlexWrap && flexWrap && flexWrap !== 'wrap' ) {\n\t\t\trules.push( `flex-wrap: ${ flexWrap }` );\n\t\t}\n\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tif ( shouldOutputFlexAlignment && verticalAlignment ) {\n\t\t\t\trules.push( `align-items: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\tif ( shouldOutputFlexJustification && justifyContent ) {\n\t\t\t\trules.push( `justify-content: ${ justifyContent }` );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( shouldOutputFlexAlignment && verticalAlignment ) {\n\t\t\t\trules.push( `justify-content: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\tif ( shouldOutputFlexOrientation ) {\n\t\t\t\trules.push( 'flex-direction: column' );\n\t\t\t}\n\t\t\tif ( shouldOutputFlexJustification ) {\n\t\t\t\trules.push( `align-items: ${ alignItems }` );\n\t\t\t}\n\t\t}\n\n\t\tif ( rules.length ) {\n\t\t\toutput = `${ appendSelectors( selector ) } {\n\t\t\t\t${ rules.join( '; ' ) };\n\t\t\t}`;\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && hasBlockGapOverride && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'flex',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation( layout ) {\n\t\tconst { orientation = 'horizontal' } = layout;\n\t\treturn orientation;\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\nfunction getDefaultVerticalAlignment( { orientation = 'horizontal' } = {} ) {\n\treturn orientation === 'horizontal'\n\t\t? defaultAlignments.horizontal\n\t\t: defaultAlignments.vertical;\n}\n\nfunction getCompatibleVerticalAlignment( verticalAlignment, orientation ) {\n\tif (\n\t\t( orientation === 'horizontal' &&\n\t\t\tverticalAlignment === 'space-between' ) ||\n\t\t( orientation === 'vertical' && verticalAlignment === 'stretch' )\n\t) {\n\t\treturn undefined;\n\t}\n\n\treturn verticalAlignment;\n}\n\nfunction getVerticalAlignmentControls( orientation ) {\n\treturn orientation === 'horizontal'\n\t\t? [ 'top', 'center', 'bottom', 'stretch' ]\n\t\t: [ 'top', 'center', 'bottom', 'space-between' ];\n}\n\nfunction FlexLayoutVerticalAlignmentControl( {\n\tlayout,\n\tonChange,\n\tisToolbar = false,\n} ) {\n\tconst { orientation = 'horizontal' } = layout;\n\n\tconst { verticalAlignment = getDefaultVerticalAlignment( layout ) } =\n\t\tlayout;\n\n\tconst onVerticalAlignmentChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tverticalAlignment: value,\n\t\t} );\n\t};\n\tconst controls = getVerticalAlignmentControls( orientation );\n\n\tif ( isToolbar ) {\n\t\treturn (\n\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\tcontrols={ controls }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tlabel={ __( 'Alignment' ) }\n\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\tvalue={ verticalAlignment }\n\t\t\tclassName=\"block-editor-hooks__flex-layout-alignment-controls\"\n\t\t>\n\t\t\t{ controls.map( ( control ) => {\n\t\t\t\tconst { icon, label } = verticalAlignmentOptions[ control ];\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ control }\n\t\t\t\t\t\tvalue={ control }\n\t\t\t\t\t\ticon={ icon }\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\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nfunction FlexLayoutJustifyContentControl( {\n\tlayout,\n\tonChange,\n\tisToolbar = false,\n} ) {\n\tconst { justifyContent = 'left', orientation = 'horizontal' } = layout;\n\tconst onJustificationChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tjustifyContent: value,\n\t\t} );\n\t};\n\tconst allowedControls = [ 'left', 'center', 'right' ];\n\tif ( orientation === 'horizontal' ) {\n\t\tallowedControls.push( 'space-between' );\n\t} else {\n\t\tallowedControls.push( 'stretch' );\n\t}\n\tif ( isToolbar ) {\n\t\treturn (\n\t\t\t<JustifyContentControl\n\t\t\t\tallowedControls={ allowedControls }\n\t\t\t\tvalue={ justifyContent }\n\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst justificationOptions = [\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: justifyLeft,\n\t\t\tlabel: __( 'Justify items left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: justifyCenter,\n\t\t\tlabel: __( 'Justify items center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: justifyRight,\n\t\t\tlabel: __( 'Justify items right' ),\n\t\t},\n\t];\n\tif ( orientation === 'horizontal' ) {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'space-between',\n\t\t\ticon: justifySpaceBetween,\n\t\t\tlabel: __( 'Space between items' ),\n\t\t} );\n\t} else {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'stretch',\n\t\t\ticon: justifyStretch,\n\t\t\tlabel: __( 'Stretch items' ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tlabel={ __( 'Justification' ) }\n\t\t\tvalue={ justifyContent }\n\t\t\tonChange={ onJustificationChange }\n\t\t\tclassName=\"block-editor-hooks__flex-layout-justification-controls\"\n\t\t>\n\t\t\t{ justificationOptions.map( ( { value, icon, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\ticon={ icon }\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\nfunction FlexWrapControl( { layout, onChange } ) {\n\tconst { flexWrap = 'wrap' } = layout;\n\treturn (\n\t\t<ToggleControl\n\t\t\tlabel={ __( 'Allow to wrap to multiple lines' ) }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tonChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tflexWrap: value ? 'wrap' : 'nowrap',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tchecked={ flexWrap === 'wrap' }\n\t\t/>\n\t);\n}\n\nfunction OrientationControl( { layout, onChange } ) {\n\tconst {\n\t\torientation = 'horizontal',\n\t\tverticalAlignment,\n\t\tjustifyContent,\n\t} = layout;\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tclassName=\"block-editor-hooks__flex-layout-orientation-controls\"\n\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\tvalue={ orientation }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\t// Make sure the vertical alignment and justification are compatible with the new orientation.\n\t\t\t\tlet newVerticalAlignment = verticalAlignment;\n\t\t\t\tlet newJustification = justifyContent;\n\t\t\t\tif ( value === 'horizontal' ) {\n\t\t\t\t\tif ( verticalAlignment === 'space-between' ) {\n\t\t\t\t\t\tnewVerticalAlignment = 'center';\n\t\t\t\t\t}\n\t\t\t\t\tif ( justifyContent === 'stretch' ) {\n\t\t\t\t\t\tnewJustification = 'left';\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif ( verticalAlignment === 'stretch' ) {\n\t\t\t\t\t\tnewVerticalAlignment = 'top';\n\t\t\t\t\t}\n\t\t\t\t\tif ( justifyContent === 'space-between' ) {\n\t\t\t\t\t\tnewJustification = 'left';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn onChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\torientation: value,\n\t\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t\t\tjustifyContent: newJustification,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\ticon={ arrowRight }\n\t\t\t\tvalue=\"horizontal\"\n\t\t\t\tlabel={ __( 'Horizontal' ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\ticon={ arrowDown }\n\t\t\t\tvalue=\"vertical\"\n\t\t\t\tlabel={ __( 'Vertical' ) }\n\t\t\t/>\n\t\t</ToggleGroupControl>\n\t);\n}\n"],
5
- "mappings": "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",
3
+ "sources": ["../../src/layouts/flex.jsx"],
4
+ "sourcesContent": ["import { __, _x } from '@wordpress/i18n';\nimport {\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n\tjustifySpaceBetween,\n\tjustifyStretch,\n\tjustifyTop,\n\tjustifyCenterVertical,\n\tjustifyBottom,\n\tjustifyStretchVertical,\n\tjustifySpaceBetweenVertical,\n\tarrowRight,\n\tarrowDown,\n} from '@wordpress/icons';\nimport {\n\tFlex,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue, getGapBoxControlValueFromStyle } from '../hooks/gap';\nimport { getSpacingPresetCssVar } from '../components/spacing-sizes-control/utils';\nimport {\n\tBlockControls,\n\tJustifyContentControl,\n\tBlockVerticalAlignmentControl,\n} from '../components';\nimport { cleanEmptyObject, shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\n// Used with the default, horizontal flex orientation.\nconst justifyContentMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\t'space-between': 'space-between',\n};\n\n// Used with the vertical (column) flex orientation.\nconst alignItemsMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\tstretch: 'stretch',\n};\n\nconst verticalAlignmentMap = {\n\ttop: 'flex-start',\n\tcenter: 'center',\n\tbottom: 'flex-end',\n\tstretch: 'stretch',\n\t'space-between': 'space-between',\n};\n\nconst defaultAlignments = {\n\thorizontal: 'center',\n\tvertical: 'top',\n};\n\nconst verticalAlignmentOptions = {\n\ttop: {\n\t\ticon: justifyTop,\n\t\tlabel: _x( 'Align top', 'Block vertical alignment setting' ),\n\t},\n\tcenter: {\n\t\ticon: justifyCenterVertical,\n\t\tlabel: _x( 'Align middle', 'Block vertical alignment setting' ),\n\t},\n\tbottom: {\n\t\ticon: justifyBottom,\n\t\tlabel: _x( 'Align bottom', 'Block vertical alignment setting' ),\n\t},\n\tstretch: {\n\t\ticon: justifyStretchVertical,\n\t\tlabel: _x( 'Stretch to fill', 'Block vertical alignment setting' ),\n\t},\n\t'space-between': {\n\t\ticon: justifySpaceBetweenVertical,\n\t\tlabel: _x( 'Space between', 'Block vertical alignment setting' ),\n\t},\n};\n\nconst flexWrapOptions = [ 'wrap', 'nowrap' ];\n\nexport default {\n\tname: 'flex',\n\tlabel: __( 'Flex' ),\n\thasInspectorControls( layoutBlockSupport = {} ) {\n\t\tconst {\n\t\t\tallowOrientation = true,\n\t\t\tallowJustification = true,\n\t\t\tallowVerticalAlignment = true,\n\t\t\tallowWrap = true,\n\t\t} = layoutBlockSupport;\n\n\t\treturn (\n\t\t\tallowOrientation ||\n\t\t\tallowJustification ||\n\t\t\tallowVerticalAlignment ||\n\t\t\tallowWrap\n\t\t);\n\t},\n\tinspectorControls: function FlexLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t\tresetLayout = {},\n\t\tclientId,\n\t} ) {\n\t\tconst {\n\t\t\tallowOrientation = true,\n\t\t\tallowJustification = true,\n\t\t\tallowVerticalAlignment = true,\n\t\t\tallowWrap = true,\n\t\t} = layoutBlockSupport;\n\t\tconst hasLayoutValue = ( key, defaultValue ) =>\n\t\t\t( layout?.[ key ] ?? defaultValue ) !==\n\t\t\t( resetLayout?.[ key ] ?? defaultValue );\n\t\tconst hasJustificationValue = () =>\n\t\t\thasLayoutValue( 'justifyContent', 'left' );\n\t\tconst hasVerticalAlignmentValue = () =>\n\t\t\thasLayoutValue(\n\t\t\t\t'verticalAlignment',\n\t\t\t\tgetDefaultVerticalAlignment( layout )\n\t\t\t);\n\t\tconst hasOrientationValue = () =>\n\t\t\thasLayoutValue( 'orientation', 'horizontal' );\n\t\tconst hasWrapValue = () => hasLayoutValue( 'flexWrap', 'wrap' );\n\t\tconst resetJustification = () =>\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tjustifyContent: resetLayout?.justifyContent,\n\t\t\t\t} )\n\t\t\t);\n\t\tconst resetVerticalAlignment = () =>\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tverticalAlignment: getCompatibleVerticalAlignment(\n\t\t\t\t\t\tresetLayout?.verticalAlignment,\n\t\t\t\t\t\tlayout?.orientation\n\t\t\t\t\t),\n\t\t\t\t} )\n\t\t\t);\n\t\tconst resetOrientation = () => {\n\t\t\tconst { verticalAlignment, justifyContent } = layout;\n\t\t\tconst nextOrientation = resetLayout?.orientation;\n\t\t\tconst isHorizontal =\n\t\t\t\t! nextOrientation || nextOrientation === 'horizontal';\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\torientation: nextOrientation,\n\t\t\t\t\tverticalAlignment:\n\t\t\t\t\t\tresetLayout?.verticalAlignment ??\n\t\t\t\t\t\t( isHorizontal && verticalAlignment === 'space-between'\n\t\t\t\t\t\t\t? 'center'\n\t\t\t\t\t\t\t: verticalAlignment ),\n\t\t\t\t\tjustifyContent:\n\t\t\t\t\t\tresetLayout?.justifyContent ??\n\t\t\t\t\t\t( isHorizontal && justifyContent === 'stretch'\n\t\t\t\t\t\t\t? 'left'\n\t\t\t\t\t\t\t: justifyContent ),\n\t\t\t\t} )\n\t\t\t);\n\t\t};\n\t\tconst resetWrap = () =>\n\t\t\tonChange(\n\t\t\t\tcleanEmptyObject( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tflexWrap: resetLayout?.flexWrap,\n\t\t\t\t} )\n\t\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ ( allowJustification || allowOrientation ) && (\n\t\t\t\t\t<Flex\n\t\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\t\tclassName=\"block-editor-hooks__flex-layout-controls\"\n\t\t\t\t\t\tgap={ 4 }\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ allowJustification && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\t\t\thasValue={ hasJustificationValue }\n\t\t\t\t\t\t\t\tonDeselect={ resetJustification }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ allowOrientation && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\t\t\t\t\t\thasValue={ hasOrientationValue }\n\t\t\t\t\t\t\t\tonDeselect={ resetOrientation }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<OrientationControl\n\t\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t) }\n\t\t\t\t{ allowVerticalAlignment && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Alignment' ) }\n\t\t\t\t\t\thasValue={ hasVerticalAlignmentValue }\n\t\t\t\t\t\tonDeselect={ resetVerticalAlignment }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexLayoutVerticalAlignmentControl\n\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t\t{ allowWrap && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Wrapping' ) }\n\t\t\t\t\t\thasValue={ hasWrapValue }\n\t\t\t\t\t\tonDeselect={ resetWrap }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexWrapControl\n\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function FlexLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t\tcontrolsGroup = 'block',\n\t} ) {\n\t\tconst { allowVerticalAlignment = true, allowJustification = true } =\n\t\t\tlayoutBlockSupport;\n\n\t\tif ( ! allowJustification && ! allowVerticalAlignment ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockControls\n\t\t\t\tgroup={ controlsGroup }\n\t\t\t\t__experimentalShareWithChildBlocks\n\t\t\t>\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tisToolbar\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowVerticalAlignment && (\n\t\t\t\t\t<FlexLayoutVerticalAlignmentControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tisToolbar\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t);\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tviewportOverrides,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tglobalBlockGapValue,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst hasViewportOverrides = viewportOverrides !== undefined;\n\t\tconst effectiveLayout = hasViewportOverrides\n\t\t\t? { ...layout, ...viewportOverrides }\n\t\t\t: layout;\n\t\tconst hasViewportOverride = ( key ) =>\n\t\t\tObject.hasOwn( viewportOverrides || {}, key );\n\t\tconst { orientation = 'horizontal' } = effectiveLayout;\n\n\t\t// Determine the fallback gap value using global styles (theme.json),\n\t\t// falling back to '0.5em' for backwards compatibility.\n\t\tlet fallbackGapValue = '0.5em';\n\t\tif ( globalBlockGapValue ) {\n\t\t\tconst gapBox =\n\t\t\t\tgetGapBoxControlValueFromStyle( globalBlockGapValue );\n\t\t\tfallbackGapValue =\n\t\t\t\tgetSpacingPresetCssVar( gapBox?.left ) ||\n\t\t\t\tgetSpacingPresetCssVar( gapBox?.top ) ||\n\t\t\t\t'0.5em';\n\t\t}\n\n\t\t// If a block's block.json skips serialization for spacing or spacing.blockGap,\n\t\t// don't apply the user-defined value to the styles.\n\t\tconst blockGapValue =\n\t\t\tstyle?.spacing?.blockGap &&\n\t\t\t! shouldSkipSerialization( blockName, 'spacing', 'blockGap' )\n\t\t\t\t? getGapCSSValue( style?.spacing?.blockGap, fallbackGapValue )\n\t\t\t\t: undefined;\n\t\tconst hasBlockGapOverride =\n\t\t\t! hasViewportOverrides ||\n\t\t\tObject.hasOwn( style?.spacing || {}, 'blockGap' );\n\t\tconst justifyContent =\n\t\t\tjustifyContentMap[ effectiveLayout.justifyContent ];\n\t\tconst flexWrap = flexWrapOptions.includes( effectiveLayout.flexWrap )\n\t\t\t? effectiveLayout.flexWrap\n\t\t\t: 'wrap';\n\t\tconst verticalAlignment =\n\t\t\tverticalAlignmentMap[ effectiveLayout.verticalAlignment ];\n\t\tconst alignItems =\n\t\t\talignItemsMap[ effectiveLayout.justifyContent ] ||\n\t\t\talignItemsMap.left;\n\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tconst shouldOutputFlexWrap =\n\t\t\t! hasViewportOverrides || hasViewportOverride( 'flexWrap' );\n\t\tconst shouldOutputFlexOrientation =\n\t\t\t! hasViewportOverrides || hasViewportOverride( 'orientation' );\n\t\tconst shouldOutputFlexJustification =\n\t\t\t! hasViewportOverrides ||\n\t\t\thasViewportOverride( 'justifyContent' ) ||\n\t\t\thasViewportOverride( 'orientation' );\n\t\tconst shouldOutputFlexAlignment =\n\t\t\t! hasViewportOverrides ||\n\t\t\thasViewportOverride( 'verticalAlignment' ) ||\n\t\t\thasViewportOverride( 'orientation' );\n\n\t\tif ( shouldOutputFlexWrap && flexWrap && flexWrap !== 'wrap' ) {\n\t\t\trules.push( `flex-wrap: ${ flexWrap }` );\n\t\t}\n\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tif ( shouldOutputFlexAlignment && verticalAlignment ) {\n\t\t\t\trules.push( `align-items: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\tif ( shouldOutputFlexJustification && justifyContent ) {\n\t\t\t\trules.push( `justify-content: ${ justifyContent }` );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( shouldOutputFlexAlignment && verticalAlignment ) {\n\t\t\t\trules.push( `justify-content: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\tif ( shouldOutputFlexOrientation ) {\n\t\t\t\trules.push( 'flex-direction: column' );\n\t\t\t}\n\t\t\tif ( shouldOutputFlexJustification ) {\n\t\t\t\trules.push( `align-items: ${ alignItems }` );\n\t\t\t}\n\t\t}\n\n\t\tif ( rules.length ) {\n\t\t\toutput = `${ appendSelectors( selector ) } {\n\t\t\t\t${ rules.join( '; ' ) };\n\t\t\t}`;\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && hasBlockGapOverride && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'flex',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation( layout ) {\n\t\tconst { orientation = 'horizontal' } = layout;\n\t\treturn orientation;\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\nfunction getDefaultVerticalAlignment( { orientation = 'horizontal' } = {} ) {\n\treturn orientation === 'horizontal'\n\t\t? defaultAlignments.horizontal\n\t\t: defaultAlignments.vertical;\n}\n\nfunction getCompatibleVerticalAlignment( verticalAlignment, orientation ) {\n\tif (\n\t\t( orientation === 'horizontal' &&\n\t\t\tverticalAlignment === 'space-between' ) ||\n\t\t( orientation === 'vertical' && verticalAlignment === 'stretch' )\n\t) {\n\t\treturn undefined;\n\t}\n\n\treturn verticalAlignment;\n}\n\nfunction getVerticalAlignmentControls( orientation ) {\n\treturn orientation === 'horizontal'\n\t\t? [ 'top', 'center', 'bottom', 'stretch' ]\n\t\t: [ 'top', 'center', 'bottom', 'space-between' ];\n}\n\nfunction FlexLayoutVerticalAlignmentControl( {\n\tlayout,\n\tonChange,\n\tisToolbar = false,\n} ) {\n\tconst { orientation = 'horizontal' } = layout;\n\n\tconst { verticalAlignment = getDefaultVerticalAlignment( layout ) } =\n\t\tlayout;\n\n\tconst onVerticalAlignmentChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tverticalAlignment: value,\n\t\t} );\n\t};\n\tconst controls = getVerticalAlignmentControls( orientation );\n\n\tif ( isToolbar ) {\n\t\treturn (\n\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\tcontrols={ controls }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tlabel={ __( 'Alignment' ) }\n\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\tvalue={ verticalAlignment }\n\t\t\tclassName=\"block-editor-hooks__flex-layout-alignment-controls\"\n\t\t>\n\t\t\t{ controls.map( ( control ) => {\n\t\t\t\tconst { icon, label } = verticalAlignmentOptions[ control ];\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ control }\n\t\t\t\t\t\tvalue={ control }\n\t\t\t\t\t\ticon={ icon }\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\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nfunction FlexLayoutJustifyContentControl( {\n\tlayout,\n\tonChange,\n\tisToolbar = false,\n} ) {\n\tconst { justifyContent = 'left', orientation = 'horizontal' } = layout;\n\tconst onJustificationChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tjustifyContent: value,\n\t\t} );\n\t};\n\tconst allowedControls = [ 'left', 'center', 'right' ];\n\tif ( orientation === 'horizontal' ) {\n\t\tallowedControls.push( 'space-between' );\n\t} else {\n\t\tallowedControls.push( 'stretch' );\n\t}\n\tif ( isToolbar ) {\n\t\treturn (\n\t\t\t<JustifyContentControl\n\t\t\t\tallowedControls={ allowedControls }\n\t\t\t\tvalue={ justifyContent }\n\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst justificationOptions = [\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: justifyLeft,\n\t\t\tlabel: __( 'Justify items left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: justifyCenter,\n\t\t\tlabel: __( 'Justify items center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: justifyRight,\n\t\t\tlabel: __( 'Justify items right' ),\n\t\t},\n\t];\n\tif ( orientation === 'horizontal' ) {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'space-between',\n\t\t\ticon: justifySpaceBetween,\n\t\t\tlabel: __( 'Space between items' ),\n\t\t} );\n\t} else {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'stretch',\n\t\t\ticon: justifyStretch,\n\t\t\tlabel: __( 'Stretch items' ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tlabel={ __( 'Justification' ) }\n\t\t\tvalue={ justifyContent }\n\t\t\tonChange={ onJustificationChange }\n\t\t\tclassName=\"block-editor-hooks__flex-layout-justification-controls\"\n\t\t>\n\t\t\t{ justificationOptions.map( ( { value, icon, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\ticon={ icon }\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\nfunction FlexWrapControl( { layout, onChange } ) {\n\tconst { flexWrap = 'wrap' } = layout;\n\treturn (\n\t\t<ToggleControl\n\t\t\tlabel={ __( 'Allow to wrap to multiple lines' ) }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tonChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tflexWrap: value ? 'wrap' : 'nowrap',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tchecked={ flexWrap === 'wrap' }\n\t\t/>\n\t);\n}\n\nfunction OrientationControl( { layout, onChange } ) {\n\tconst {\n\t\torientation = 'horizontal',\n\t\tverticalAlignment,\n\t\tjustifyContent,\n\t} = layout;\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\tclassName=\"block-editor-hooks__flex-layout-orientation-controls\"\n\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\tvalue={ orientation }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\t// Make sure the vertical alignment and justification are compatible with the new orientation.\n\t\t\t\tlet newVerticalAlignment = verticalAlignment;\n\t\t\t\tlet newJustification = justifyContent;\n\t\t\t\tif ( value === 'horizontal' ) {\n\t\t\t\t\tif ( verticalAlignment === 'space-between' ) {\n\t\t\t\t\t\tnewVerticalAlignment = 'center';\n\t\t\t\t\t}\n\t\t\t\t\tif ( justifyContent === 'stretch' ) {\n\t\t\t\t\t\tnewJustification = 'left';\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif ( verticalAlignment === 'stretch' ) {\n\t\t\t\t\t\tnewVerticalAlignment = 'top';\n\t\t\t\t\t}\n\t\t\t\t\tif ( justifyContent === 'space-between' ) {\n\t\t\t\t\t\tnewJustification = 'left';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn onChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\torientation: value,\n\t\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t\t\tjustifyContent: newJustification,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\ticon={ arrowRight }\n\t\t\t\tvalue=\"horizontal\"\n\t\t\t\tlabel={ __( 'Horizontal' ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\ticon={ arrowDown }\n\t\t\t\tvalue=\"vertical\"\n\t\t\t\tlabel={ __( 'Vertical' ) }\n\t\t\t/>\n\t\t</ToggleGroupControl>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }