@wordpress/block-editor 14.3.4 → 14.4.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 (392) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +4 -0
  3. package/build/autocompleters/link.js +2 -1
  4. package/build/autocompleters/link.js.map +1 -1
  5. package/build/components/block-actions/index.js +1 -13
  6. package/build/components/block-actions/index.js.map +1 -1
  7. package/build/components/block-inspector/index.js +56 -75
  8. package/build/components/block-inspector/index.js.map +1 -1
  9. package/build/components/block-list/block.js +5 -19
  10. package/build/components/block-list/block.js.map +1 -1
  11. package/build/components/block-list/index.js +5 -8
  12. package/build/components/block-list/index.js.map +1 -1
  13. package/build/components/block-list/use-block-props/index.js +3 -11
  14. package/build/components/block-list/use-block-props/index.js.map +1 -1
  15. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +9 -12
  16. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
  17. package/build/components/block-list/use-in-between-inserter.js +5 -3
  18. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  19. package/build/components/block-list/zoom-out-separator.js +14 -6
  20. package/build/components/block-list/zoom-out-separator.js.map +1 -1
  21. package/build/components/block-navigation/dropdown.js +2 -4
  22. package/build/components/block-navigation/dropdown.js.map +1 -1
  23. package/build/components/block-parent-selector/index.js +13 -10
  24. package/build/components/block-parent-selector/index.js.map +1 -1
  25. package/build/components/block-pattern-setup/setup-toolbar.js +10 -20
  26. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  27. package/build/components/block-patterns-paging/index.js +11 -13
  28. package/build/components/block-patterns-paging/index.js.map +1 -1
  29. package/build/components/block-quick-navigation/index.js +2 -4
  30. package/build/components/block-quick-navigation/index.js.map +1 -1
  31. package/build/components/block-settings-menu/block-settings-dropdown.js +79 -76
  32. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  33. package/build/components/block-settings-menu-controls/index.js +1 -6
  34. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  35. package/build/components/block-switcher/index.js +17 -14
  36. package/build/components/block-switcher/index.js.map +1 -1
  37. package/build/components/block-toolbar/index.js +16 -19
  38. package/build/components/block-toolbar/index.js.map +1 -1
  39. package/build/components/block-toolbar/use-has-block-toolbar.js +3 -5
  40. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  41. package/build/components/block-tools/index.js +8 -11
  42. package/build/components/block-tools/index.js.map +1 -1
  43. package/build/components/block-tools/insertion-point.js +1 -4
  44. package/build/components/block-tools/insertion-point.js.map +1 -1
  45. package/build/components/block-tools/use-show-block-tools.js +2 -5
  46. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  47. package/build/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
  48. package/build/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
  49. package/build/components/block-tools/zoom-out-mode-inserters.js +14 -17
  50. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  51. package/build/components/block-tools/zoom-out-toolbar.js +2 -12
  52. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  53. package/build/components/block-variation-picker/index.js +2 -4
  54. package/build/components/block-variation-picker/index.js.map +1 -1
  55. package/build/components/block-variation-transforms/index.js +3 -4
  56. package/build/components/block-variation-transforms/index.js.map +1 -1
  57. package/build/components/button-block-appender/index.js +2 -4
  58. package/build/components/button-block-appender/index.js.map +1 -1
  59. package/build/components/colors-gradients/dropdown.js +2 -4
  60. package/build/components/colors-gradients/dropdown.js.map +1 -1
  61. package/build/components/global-styles/border-panel.js +1 -1
  62. package/build/components/global-styles/border-panel.js.map +1 -1
  63. package/build/components/global-styles/color-panel.js +2 -4
  64. package/build/components/global-styles/color-panel.js.map +1 -1
  65. package/build/components/global-styles/dimensions-panel.js +3 -3
  66. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  67. package/build/components/global-styles/filters-panel.js +2 -4
  68. package/build/components/global-styles/filters-panel.js.map +1 -1
  69. package/build/components/global-styles/shadow-panel-components.js +24 -29
  70. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  71. package/build/components/inner-blocks/index.js +1 -9
  72. package/build/components/inner-blocks/index.js.map +1 -1
  73. package/build/components/inserter/block-types-tab.js +1 -1
  74. package/build/components/inserter/block-types-tab.js.map +1 -1
  75. package/build/components/inserter/hooks/use-block-types-state.js +24 -5
  76. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  77. package/build/components/inserter/hooks/use-insertion-point.js +22 -12
  78. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  79. package/build/components/inserter/hooks/use-patterns-state.js +23 -10
  80. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  81. package/build/components/inserter/media-tab/media-preview.js +35 -13
  82. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  83. package/build/components/inserter/menu.js +2 -2
  84. package/build/components/inserter/menu.js.map +1 -1
  85. package/build/components/inserter/mobile-tab-navigation.js +5 -5
  86. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  87. package/build/components/inserter/quick-inserter.js +4 -4
  88. package/build/components/inserter/quick-inserter.js.map +1 -1
  89. package/build/components/inspector-controls-tabs/index.js +11 -8
  90. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  91. package/build/components/inspector-popover-header/index.js +4 -8
  92. package/build/components/inspector-popover-header/index.js.map +1 -1
  93. package/build/components/link-control/index.js +5 -10
  94. package/build/components/link-control/index.js.map +1 -1
  95. package/build/components/link-control/settings-drawer.js +2 -4
  96. package/build/components/link-control/settings-drawer.js.map +1 -1
  97. package/build/components/list-view/block-contents.js +1 -25
  98. package/build/components/list-view/block-contents.js.map +1 -1
  99. package/build/components/list-view/block-select-button.js +1 -4
  100. package/build/components/list-view/block-select-button.js.map +1 -1
  101. package/build/components/media-placeholder/index.js +12 -24
  102. package/build/components/media-placeholder/index.js.map +1 -1
  103. package/build/components/skip-to-selected-block/index.js +2 -4
  104. package/build/components/skip-to-selected-block/index.js.map +1 -1
  105. package/build/components/tool-selector/index.js +13 -12
  106. package/build/components/tool-selector/index.js.map +1 -1
  107. package/build/components/url-input/button.js +14 -16
  108. package/build/components/url-input/button.js.map +1 -1
  109. package/build/components/url-input/index.js +2 -4
  110. package/build/components/url-input/index.js.map +1 -1
  111. package/build/components/use-block-commands/index.js +0 -61
  112. package/build/components/use-block-commands/index.js.map +1 -1
  113. package/build/components/writing-flow/use-tab-nav.js +2 -25
  114. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  115. package/build/hooks/duotone.js +4 -1
  116. package/build/hooks/duotone.js.map +1 -1
  117. package/build/hooks/layout-child.js +3 -1
  118. package/build/hooks/layout-child.js.map +1 -1
  119. package/build/hooks/position.js +3 -2
  120. package/build/hooks/position.js.map +1 -1
  121. package/build/layouts/flex.js +6 -38
  122. package/build/layouts/flex.js.map +1 -1
  123. package/build/store/actions.js +13 -14
  124. package/build/store/actions.js.map +1 -1
  125. package/build/store/private-actions.js +15 -0
  126. package/build/store/private-actions.js.map +1 -1
  127. package/build/store/private-selectors.js +104 -7
  128. package/build/store/private-selectors.js.map +1 -1
  129. package/build/store/reducer.js +22 -26
  130. package/build/store/reducer.js.map +1 -1
  131. package/build/store/selectors.js +127 -56
  132. package/build/store/selectors.js.map +1 -1
  133. package/build/store/utils.js +4 -3
  134. package/build/store/utils.js.map +1 -1
  135. package/build/utils/block-bindings.js +2 -0
  136. package/build/utils/block-bindings.js.map +1 -1
  137. package/build-module/autocompleters/link.js +2 -1
  138. package/build-module/autocompleters/link.js.map +1 -1
  139. package/build-module/components/block-actions/index.js +1 -13
  140. package/build-module/components/block-actions/index.js.map +1 -1
  141. package/build-module/components/block-inspector/index.js +57 -76
  142. package/build-module/components/block-inspector/index.js.map +1 -1
  143. package/build-module/components/block-list/block.js +5 -19
  144. package/build-module/components/block-list/block.js.map +1 -1
  145. package/build-module/components/block-list/index.js +5 -8
  146. package/build-module/components/block-list/index.js.map +1 -1
  147. package/build-module/components/block-list/use-block-props/index.js +3 -11
  148. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  149. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +9 -12
  150. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
  151. package/build-module/components/block-list/use-in-between-inserter.js +5 -3
  152. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  153. package/build-module/components/block-list/zoom-out-separator.js +14 -6
  154. package/build-module/components/block-list/zoom-out-separator.js.map +1 -1
  155. package/build-module/components/block-navigation/dropdown.js +2 -4
  156. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  157. package/build-module/components/block-parent-selector/index.js +13 -10
  158. package/build-module/components/block-parent-selector/index.js.map +1 -1
  159. package/build-module/components/block-pattern-setup/setup-toolbar.js +10 -20
  160. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  161. package/build-module/components/block-patterns-paging/index.js +11 -13
  162. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  163. package/build-module/components/block-quick-navigation/index.js +2 -4
  164. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  165. package/build-module/components/block-settings-menu/block-settings-dropdown.js +79 -76
  166. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  167. package/build-module/components/block-settings-menu-controls/index.js +2 -7
  168. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  169. package/build-module/components/block-switcher/index.js +17 -14
  170. package/build-module/components/block-switcher/index.js.map +1 -1
  171. package/build-module/components/block-toolbar/index.js +17 -20
  172. package/build-module/components/block-toolbar/index.js.map +1 -1
  173. package/build-module/components/block-toolbar/use-has-block-toolbar.js +3 -5
  174. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
  175. package/build-module/components/block-tools/index.js +8 -11
  176. package/build-module/components/block-tools/index.js.map +1 -1
  177. package/build-module/components/block-tools/insertion-point.js +1 -4
  178. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  179. package/build-module/components/block-tools/use-show-block-tools.js +2 -5
  180. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  181. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
  182. package/build-module/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
  183. package/build-module/components/block-tools/zoom-out-mode-inserters.js +14 -17
  184. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  185. package/build-module/components/block-tools/zoom-out-toolbar.js +2 -12
  186. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  187. package/build-module/components/block-variation-picker/index.js +2 -4
  188. package/build-module/components/block-variation-picker/index.js.map +1 -1
  189. package/build-module/components/block-variation-transforms/index.js +3 -4
  190. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  191. package/build-module/components/button-block-appender/index.js +2 -4
  192. package/build-module/components/button-block-appender/index.js.map +1 -1
  193. package/build-module/components/colors-gradients/dropdown.js +2 -4
  194. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  195. package/build-module/components/global-styles/border-panel.js +1 -1
  196. package/build-module/components/global-styles/border-panel.js.map +1 -1
  197. package/build-module/components/global-styles/color-panel.js +2 -4
  198. package/build-module/components/global-styles/color-panel.js.map +1 -1
  199. package/build-module/components/global-styles/dimensions-panel.js +1 -1
  200. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  201. package/build-module/components/global-styles/filters-panel.js +2 -4
  202. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  203. package/build-module/components/global-styles/shadow-panel-components.js +25 -30
  204. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  205. package/build-module/components/inner-blocks/index.js +1 -9
  206. package/build-module/components/inner-blocks/index.js.map +1 -1
  207. package/build-module/components/inserter/block-types-tab.js +1 -1
  208. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  209. package/build-module/components/inserter/hooks/use-block-types-state.js +27 -8
  210. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  211. package/build-module/components/inserter/hooks/use-insertion-point.js +22 -12
  212. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  213. package/build-module/components/inserter/hooks/use-patterns-state.js +23 -10
  214. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  215. package/build-module/components/inserter/media-tab/media-preview.js +35 -13
  216. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  217. package/build-module/components/inserter/menu.js +2 -2
  218. package/build-module/components/inserter/menu.js.map +1 -1
  219. package/build-module/components/inserter/mobile-tab-navigation.js +6 -6
  220. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  221. package/build-module/components/inserter/quick-inserter.js +4 -4
  222. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  223. package/build-module/components/inspector-controls-tabs/index.js +12 -9
  224. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  225. package/build-module/components/inspector-popover-header/index.js +4 -8
  226. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  227. package/build-module/components/link-control/index.js +5 -10
  228. package/build-module/components/link-control/index.js.map +1 -1
  229. package/build-module/components/link-control/settings-drawer.js +2 -4
  230. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  231. package/build-module/components/list-view/block-contents.js +1 -25
  232. package/build-module/components/list-view/block-contents.js.map +1 -1
  233. package/build-module/components/list-view/block-select-button.js +2 -5
  234. package/build-module/components/list-view/block-select-button.js.map +1 -1
  235. package/build-module/components/media-placeholder/index.js +12 -24
  236. package/build-module/components/media-placeholder/index.js.map +1 -1
  237. package/build-module/components/skip-to-selected-block/index.js +2 -4
  238. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  239. package/build-module/components/tool-selector/index.js +13 -12
  240. package/build-module/components/tool-selector/index.js.map +1 -1
  241. package/build-module/components/url-input/button.js +15 -17
  242. package/build-module/components/url-input/button.js.map +1 -1
  243. package/build-module/components/url-input/index.js +2 -4
  244. package/build-module/components/url-input/index.js.map +1 -1
  245. package/build-module/components/use-block-commands/index.js +1 -62
  246. package/build-module/components/use-block-commands/index.js.map +1 -1
  247. package/build-module/components/writing-flow/use-tab-nav.js +3 -26
  248. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  249. package/build-module/hooks/duotone.js +4 -1
  250. package/build-module/hooks/duotone.js.map +1 -1
  251. package/build-module/hooks/layout-child.js +4 -1
  252. package/build-module/hooks/layout-child.js.map +1 -1
  253. package/build-module/hooks/position.js +4 -1
  254. package/build-module/hooks/position.js.map +1 -1
  255. package/build-module/layouts/flex.js +7 -39
  256. package/build-module/layouts/flex.js.map +1 -1
  257. package/build-module/store/actions.js +12 -12
  258. package/build-module/store/actions.js.map +1 -1
  259. package/build-module/store/private-actions.js +14 -0
  260. package/build-module/store/private-actions.js.map +1 -1
  261. package/build-module/store/private-selectors.js +98 -7
  262. package/build-module/store/private-selectors.js.map +1 -1
  263. package/build-module/store/reducer.js +21 -25
  264. package/build-module/store/reducer.js.map +1 -1
  265. package/build-module/store/selectors.js +129 -58
  266. package/build-module/store/selectors.js.map +1 -1
  267. package/build-module/store/utils.js +3 -2
  268. package/build-module/store/utils.js.map +1 -1
  269. package/build-module/utils/block-bindings.js +2 -0
  270. package/build-module/utils/block-bindings.js.map +1 -1
  271. package/build-style/content-rtl.css +14 -56
  272. package/build-style/content.css +14 -56
  273. package/build-style/default-editor-styles-rtl.css +10 -1
  274. package/build-style/default-editor-styles.css +10 -1
  275. package/build-style/style-rtl.css +51 -149
  276. package/build-style/style.css +51 -149
  277. package/package.json +32 -32
  278. package/src/autocompleters/link.js +2 -1
  279. package/src/components/block-actions/index.js +1 -13
  280. package/src/components/block-draggable/style.scss +2 -2
  281. package/src/components/block-inspector/index.js +79 -95
  282. package/src/components/block-inspector/style.scss +2 -0
  283. package/src/components/block-list/block.js +7 -28
  284. package/src/components/block-list/content.scss +1 -61
  285. package/src/components/block-list/index.js +21 -29
  286. package/src/components/block-list/use-block-props/index.js +3 -10
  287. package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +19 -11
  288. package/src/components/block-list/use-in-between-inserter.js +5 -2
  289. package/src/components/block-list/zoom-out-separator.js +24 -8
  290. package/src/components/block-navigation/dropdown.js +1 -2
  291. package/src/components/block-parent-selector/index.js +13 -10
  292. package/src/components/block-pattern-setup/setup-toolbar.js +5 -10
  293. package/src/components/block-patterns-paging/index.js +8 -7
  294. package/src/components/block-patterns-paging/style.scss +10 -27
  295. package/src/components/block-quick-navigation/index.js +1 -2
  296. package/src/components/block-settings-menu/block-settings-dropdown.js +120 -106
  297. package/src/components/block-settings-menu-controls/index.js +0 -15
  298. package/src/components/block-switcher/index.js +37 -30
  299. package/src/components/block-toolbar/index.js +22 -34
  300. package/src/components/block-toolbar/style.scss +10 -1
  301. package/src/components/block-toolbar/use-has-block-toolbar.js +19 -31
  302. package/src/components/block-tools/index.js +7 -16
  303. package/src/components/block-tools/insertion-point.js +1 -4
  304. package/src/components/block-tools/style.scss +3 -88
  305. package/src/components/block-tools/use-show-block-tools.js +2 -12
  306. package/src/components/block-tools/zoom-out-mode-inserter-button.js +2 -17
  307. package/src/components/block-tools/zoom-out-mode-inserters.js +11 -19
  308. package/src/components/block-tools/zoom-out-toolbar.js +2 -13
  309. package/src/components/block-variation-picker/index.js +1 -2
  310. package/src/components/block-variation-transforms/index.js +2 -2
  311. package/src/components/button-block-appender/content.scss +0 -5
  312. package/src/components/button-block-appender/index.js +1 -2
  313. package/src/components/colors-gradients/dropdown.js +1 -5
  314. package/src/components/font-family/README.md +5 -1
  315. package/src/components/global-styles/border-panel.js +1 -1
  316. package/src/components/global-styles/color-panel.js +1 -5
  317. package/src/components/global-styles/dimensions-panel.js +1 -1
  318. package/src/components/global-styles/filters-panel.js +1 -2
  319. package/src/components/global-styles/shadow-panel-components.js +28 -33
  320. package/src/components/global-styles/style.scss +5 -0
  321. package/src/components/inner-blocks/index.js +1 -16
  322. package/src/components/inserter/block-types-tab.js +1 -1
  323. package/src/components/inserter/hooks/use-block-types-state.js +34 -14
  324. package/src/components/inserter/hooks/use-insertion-point.js +35 -13
  325. package/src/components/inserter/hooks/use-patterns-state.js +46 -9
  326. package/src/components/inserter/media-tab/media-preview.js +38 -12
  327. package/src/components/inserter/menu.js +2 -2
  328. package/src/components/inserter/mobile-tab-navigation.js +10 -13
  329. package/src/components/inserter/quick-inserter.js +5 -4
  330. package/src/components/inserter/style.scss +0 -28
  331. package/src/components/inspector-controls-tabs/index.js +21 -20
  332. package/src/components/inspector-controls-tabs/style.scss +2 -6
  333. package/src/components/inspector-popover-header/index.js +2 -4
  334. package/src/components/inspector-popover-header/style.scss +0 -13
  335. package/src/components/link-control/index.js +2 -5
  336. package/src/components/link-control/settings-drawer.js +1 -2
  337. package/src/components/list-view/block-contents.js +1 -28
  338. package/src/components/list-view/block-select-button.js +2 -5
  339. package/src/components/list-view/style.scss +18 -14
  340. package/src/components/media-placeholder/index.js +6 -12
  341. package/src/components/skip-to-selected-block/index.js +1 -2
  342. package/src/components/skip-to-selected-block/style.scss +0 -9
  343. package/src/components/tool-selector/index.js +14 -9
  344. package/src/components/tool-selector/style.scss +5 -0
  345. package/src/components/url-input/button.js +16 -12
  346. package/src/components/url-input/index.js +1 -2
  347. package/src/components/url-input/style.scss +0 -6
  348. package/src/components/use-block-commands/index.js +0 -58
  349. package/src/components/writing-flow/use-tab-nav.js +4 -36
  350. package/src/content.scss +0 -1
  351. package/src/hooks/duotone.js +4 -1
  352. package/src/hooks/layout-child.js +4 -1
  353. package/src/hooks/position.js +4 -1
  354. package/src/layouts/flex.js +10 -53
  355. package/src/store/actions.js +14 -13
  356. package/src/store/private-actions.js +14 -0
  357. package/src/store/private-selectors.js +120 -16
  358. package/src/store/reducer.js +22 -28
  359. package/src/store/selectors.js +203 -114
  360. package/src/store/test/private-actions.js +15 -0
  361. package/src/store/test/private-selectors.js +34 -0
  362. package/src/store/test/reducer.js +40 -4
  363. package/src/store/test/selectors.js +183 -20
  364. package/src/store/utils.js +4 -2
  365. package/src/utils/block-bindings.js +2 -0
  366. package/build/components/block-controls/use-has-block-controls.js +0 -43
  367. package/build/components/block-controls/use-has-block-controls.js.map +0 -1
  368. package/build/components/block-list/use-block-props/use-nav-mode-exit.js +0 -54
  369. package/build/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
  370. package/build/components/block-tools/block-selection-button.js +0 -259
  371. package/build/components/block-tools/block-selection-button.js.map +0 -1
  372. package/build/components/block-tools/block-toolbar-breadcrumb.js +0 -57
  373. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
  374. package/build/components/inserter/tabs.js +0 -78
  375. package/build/components/inserter/tabs.js.map +0 -1
  376. package/build-module/components/block-controls/use-has-block-controls.js +0 -34
  377. package/build-module/components/block-controls/use-has-block-controls.js.map +0 -1
  378. package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js +0 -48
  379. package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
  380. package/build-module/components/block-tools/block-selection-button.js +0 -254
  381. package/build-module/components/block-tools/block-selection-button.js.map +0 -1
  382. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +0 -49
  383. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
  384. package/build-module/components/inserter/tabs.js +0 -72
  385. package/build-module/components/inserter/tabs.js.map +0 -1
  386. package/src/components/block-controls/use-has-block-controls.js +0 -35
  387. package/src/components/block-list/use-block-props/use-nav-mode-exit.js +0 -46
  388. package/src/components/block-tools/block-selection-button.js +0 -302
  389. package/src/components/block-tools/block-toolbar-breadcrumb.js +0 -51
  390. package/src/components/inner-blocks/content.scss +0 -13
  391. package/src/components/inserter/tabs.js +0 -78
  392. package/src/components/inserter/test/block-types-tab.native.js +0 -67
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","_x","sprintf","getBlockSupport","hasBlockSupport","BaseControl","CustomSelectControl","useInstanceId","useSelect","useMemo","Platform","useSettings","InspectorControls","useBlockDisplayInformation","cleanEmptyObject","useStyleOverride","store","blockEditorStore","jsx","_jsx","POSITION_SUPPORT_KEY","DEFAULT_OPTION","key","value","name","STICKY_OPTION","hint","FIXED_OPTION","POSITION_SIDES","VALID_POSITION_TYPES","getPositionCSS","selector","style","output","type","positionType","position","includes","forEach","side","undefined","hasStickyPositionSupport","blockType","support","sticky","hasFixedPositionSupport","fixed","hasPositionSupport","hasPositionValue","props","attributes","hasStickyOrFixedPositionValue","resetPosition","setAttributes","top","right","bottom","left","useIsPositionDisabled","blockName","allowFixed","allowSticky","isDisabled","PositionPanelPure","clientId","firstParentClientId","select","getBlockParents","parents","length","blockInformation","stickyHelpText","title","options","availableOptions","push","onChangeType","next","placementValue","newStyle","selectedOption","find","option","web","group","children","__nextHasNoMarginBottom","help","__next40pxDefaultSize","label","hideLabelFromVision","describedBy","onChange","selectedItem","size","native","edit","Edit","isPositionDisabled","useBlockProps","attributeKeys","hasSupport","hasPositionBlockSupport","allowPositionStyles","id","positionSelector","css","className"],"sources":["@wordpress/block-editor/src/hooks/position.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { BaseControl, CustomSelectControl } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../components/use-settings';\nimport InspectorControls from '../components/inspector-controls';\nimport useBlockDisplayInformation from '../components/use-block-display-information';\nimport { cleanEmptyObject, useStyleOverride } from './utils';\nimport { store as blockEditorStore } from '../store';\n\nconst POSITION_SUPPORT_KEY = 'position';\n\nconst DEFAULT_OPTION = {\n\tkey: 'default',\n\tvalue: '',\n\tname: __( 'Default' ),\n};\n\nconst STICKY_OPTION = {\n\tkey: 'sticky',\n\tvalue: 'sticky',\n\tname: _x( 'Sticky', 'Name for the value of the CSS position property' ),\n\thint: __(\n\t\t'The block will stick to the top of the window instead of scrolling.'\n\t),\n};\n\nconst FIXED_OPTION = {\n\tkey: 'fixed',\n\tvalue: 'fixed',\n\tname: _x( 'Fixed', 'Name for the value of the CSS position property' ),\n\thint: __( 'The block will not move when the page is scrolled.' ),\n};\n\nconst POSITION_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nconst VALID_POSITION_TYPES = [ 'sticky', 'fixed' ];\n\n/**\n * Get calculated position CSS.\n *\n * @param {Object} props Component props.\n * @param {string} props.selector Selector to use.\n * @param {Object} props.style Style object.\n * @return {string} The generated CSS rules.\n */\nexport function getPositionCSS( { selector, style } ) {\n\tlet output = '';\n\n\tconst { type: positionType } = style?.position || {};\n\n\tif ( ! VALID_POSITION_TYPES.includes( positionType ) ) {\n\t\treturn output;\n\t}\n\n\toutput += `${ selector } {`;\n\toutput += `position: ${ positionType };`;\n\n\tPOSITION_SIDES.forEach( ( side ) => {\n\t\tif ( style?.position?.[ side ] !== undefined ) {\n\t\t\toutput += `${ side }: ${ style.position[ side ] };`;\n\t\t}\n\t} );\n\n\tif ( positionType === 'sticky' || positionType === 'fixed' ) {\n\t\t// TODO: Replace hard-coded z-index value with a z-index preset approach in theme.json.\n\t\toutput += `z-index: 10`;\n\t}\n\toutput += `}`;\n\n\treturn output;\n}\n\n/**\n * Determines if there is sticky position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasStickyPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.sticky );\n}\n\n/**\n * Determines if there is fixed position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasFixedPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.fixed );\n}\n\n/**\n * Determines if there is position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! support;\n}\n\n/**\n * Checks if there is a current value in the position block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a position value set.\n */\nexport function hasPositionValue( props ) {\n\treturn props.attributes.style?.position?.type !== undefined;\n}\n\n/**\n * Checks if the block is currently set to a sticky or fixed position.\n * This check is helpful for determining how to position block toolbars or other elements.\n *\n * @param {Object} attributes Block attributes.\n * @return {boolean} Whether or not the block is set to a sticky or fixed position.\n */\nexport function hasStickyOrFixedPositionValue( attributes ) {\n\tconst positionType = attributes?.style?.position?.type;\n\treturn positionType === 'sticky' || positionType === 'fixed';\n}\n\n/**\n * Resets the position block support attributes. This can be used when disabling\n * the position support controls for a block via a `ToolsPanel`.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetPosition( { attributes = {}, setAttributes } ) {\n\tconst { style = {} } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: undefined,\n\t\t\t\ttop: undefined,\n\t\t\t\tright: undefined,\n\t\t\t\tbottom: undefined,\n\t\t\t\tleft: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\n/**\n * Custom hook that checks if position settings have been disabled.\n *\n * @param {string} name The name of the block.\n *\n * @return {boolean} Whether padding setting is disabled.\n */\nexport function useIsPositionDisabled( { name: blockName } = {} ) {\n\tconst [ allowFixed, allowSticky ] = useSettings(\n\t\t'position.fixed',\n\t\t'position.sticky'\n\t);\n\tconst isDisabled = ! allowFixed && ! allowSticky;\n\n\treturn ! hasPositionSupport( blockName ) || isDisabled;\n}\n\n/*\n * Position controls rendered in an inspector control panel.\n *\n * @param {Object} props\n *\n * @return {Element} Position panel.\n */\nexport function PositionPanelPure( {\n\tstyle = {},\n\tclientId,\n\tname: blockName,\n\tsetAttributes,\n} ) {\n\tconst allowFixed = hasFixedPositionSupport( blockName );\n\tconst allowSticky = hasStickyPositionSupport( blockName );\n\tconst value = style?.position?.type;\n\n\tconst { firstParentClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParents } = select( blockEditorStore );\n\t\t\tconst parents = getBlockParents( clientId );\n\t\t\treturn { firstParentClientId: parents[ parents.length - 1 ] };\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockInformation = useBlockDisplayInformation( firstParentClientId );\n\tconst stickyHelpText =\n\t\tallowSticky && value === STICKY_OPTION.value && blockInformation\n\t\t\t? sprintf(\n\t\t\t\t\t/* translators: %s: the name of the parent block. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'The block will stick to the scrollable area of the parent %s block.'\n\t\t\t\t\t),\n\t\t\t\t\tblockInformation.title\n\t\t\t )\n\t\t\t: null;\n\n\tconst options = useMemo( () => {\n\t\tconst availableOptions = [ DEFAULT_OPTION ];\n\t\t// Display options if they are allowed, or if a block already has a valid value set.\n\t\t// This allows for a block to be switched off from a position type that is not allowed.\n\t\tif ( allowSticky || value === STICKY_OPTION.value ) {\n\t\t\tavailableOptions.push( STICKY_OPTION );\n\t\t}\n\t\tif ( allowFixed || value === FIXED_OPTION.value ) {\n\t\t\tavailableOptions.push( FIXED_OPTION );\n\t\t}\n\t\treturn availableOptions;\n\t}, [ allowFixed, allowSticky, value ] );\n\n\tconst onChangeType = ( next ) => {\n\t\t// For now, use a hard-coded `0px` value for the position.\n\t\t// `0px` is preferred over `0` as it can be used in `calc()` functions.\n\t\t// In the future, it could be useful to allow for an offset value.\n\t\tconst placementValue = '0px';\n\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: next,\n\t\t\t\ttop:\n\t\t\t\t\tnext === 'sticky' || next === 'fixed'\n\t\t\t\t\t\t? placementValue\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tconst selectedOption = value\n\t\t? options.find( ( option ) => option.value === value ) || DEFAULT_OPTION\n\t\t: DEFAULT_OPTION;\n\n\t// Only display position controls if there is at least one option to choose from.\n\treturn Platform.select( {\n\t\tweb:\n\t\t\toptions.length > 1 ? (\n\t\t\t\t<InspectorControls group=\"position\">\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\thelp={ stickyHelpText }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Position' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tdescribedBy={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Currently selected position.\n\t\t\t\t\t\t\t\t__( 'Currently selected position: %s' ),\n\t\t\t\t\t\t\t\tselectedOption.name\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tvalue={ selectedOption }\n\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\tonChangeType( selectedItem.value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</InspectorControls>\n\t\t\t) : null,\n\t\tnative: null,\n\t} );\n}\n\nexport default {\n\tedit: function Edit( props ) {\n\t\tconst isPositionDisabled = useIsPositionDisabled( props );\n\t\tif ( isPositionDisabled ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <PositionPanelPure { ...props } />;\n\t},\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, POSITION_SUPPORT_KEY );\n\t},\n};\n\nfunction useBlockProps( { name, style } ) {\n\tconst hasPositionBlockSupport = hasBlockSupport(\n\t\tname,\n\t\tPOSITION_SUPPORT_KEY\n\t);\n\tconst isPositionDisabled = useIsPositionDisabled( { name } );\n\tconst allowPositionStyles = hasPositionBlockSupport && ! isPositionDisabled;\n\n\tconst id = useInstanceId( useBlockProps );\n\n\t// Higher specificity to override defaults in editor UI.\n\tconst positionSelector = `.wp-container-${ id }.wp-container-${ id }`;\n\n\t// Get CSS string for the current position values.\n\tlet css;\n\tif ( allowPositionStyles ) {\n\t\tcss =\n\t\t\tgetPositionCSS( {\n\t\t\t\tselector: positionSelector,\n\t\t\t\tstyle,\n\t\t\t} ) || '';\n\t}\n\n\t// Attach a `wp-container-` id-based class name.\n\tconst className = clsx( {\n\t\t[ `wp-container-${ id }` ]: allowPositionStyles && !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t[ `is-position-${ style?.position?.type }` ]:\n\t\t\tallowPositionStyles && !! css && !! style?.position?.type,\n\t} );\n\n\tuseStyleOverride( { css } );\n\n\treturn { className };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SAASC,eAAe,EAAEC,eAAe,QAAQ,mBAAmB;AACpE,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,uBAAuB;AACxE,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,SAASC,WAAW,QAAQ,4BAA4B;AACxD,OAAOC,iBAAiB,MAAM,kCAAkC;AAChE,OAAOC,0BAA0B,MAAM,6CAA6C;AACpF,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,SAAS;AAC5D,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErD,MAAMC,oBAAoB,GAAG,UAAU;AAEvC,MAAMC,cAAc,GAAG;EACtBC,GAAG,EAAE,SAAS;EACdC,KAAK,EAAE,EAAE;EACTC,IAAI,EAAExB,EAAE,CAAE,SAAU;AACrB,CAAC;AAED,MAAMyB,aAAa,GAAG;EACrBH,GAAG,EAAE,QAAQ;EACbC,KAAK,EAAE,QAAQ;EACfC,IAAI,EAAEvB,EAAE,CAAE,QAAQ,EAAE,iDAAkD,CAAC;EACvEyB,IAAI,EAAE1B,EAAE,CACP,qEACD;AACD,CAAC;AAED,MAAM2B,YAAY,GAAG;EACpBL,GAAG,EAAE,OAAO;EACZC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAEvB,EAAE,CAAE,OAAO,EAAE,iDAAkD,CAAC;EACtEyB,IAAI,EAAE1B,EAAE,CAAE,oDAAqD;AAChE,CAAC;AAED,MAAM4B,cAAc,GAAG,CAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAE;AAC3D,MAAMC,oBAAoB,GAAG,CAAE,QAAQ,EAAE,OAAO,CAAE;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAAE;EAAEC,QAAQ;EAAEC;AAAM,CAAC,EAAG;EACrD,IAAIC,MAAM,GAAG,EAAE;EAEf,MAAM;IAAEC,IAAI,EAAEC;EAAa,CAAC,GAAGH,KAAK,EAAEI,QAAQ,IAAI,CAAC,CAAC;EAEpD,IAAK,CAAEP,oBAAoB,CAACQ,QAAQ,CAAEF,YAAa,CAAC,EAAG;IACtD,OAAOF,MAAM;EACd;EAEAA,MAAM,IAAK,GAAGF,QAAU,IAAG;EAC3BE,MAAM,IAAK,aAAaE,YAAc,GAAE;EAExCP,cAAc,CAACU,OAAO,CAAIC,IAAI,IAAM;IACnC,IAAKP,KAAK,EAAEI,QAAQ,GAAIG,IAAI,CAAE,KAAKC,SAAS,EAAG;MAC9CP,MAAM,IAAK,GAAGM,IAAM,KAAKP,KAAK,CAACI,QAAQ,CAAEG,IAAI,CAAI,GAAE;IACpD;EACD,CAAE,CAAC;EAEH,IAAKJ,YAAY,KAAK,QAAQ,IAAIA,YAAY,KAAK,OAAO,EAAG;IAC5D;IACAF,MAAM,IAAK,aAAY;EACxB;EACAA,MAAM,IAAK,GAAE;EAEb,OAAOA,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,wBAAwBA,CAAEC,SAAS,EAAG;EACrD,MAAMC,OAAO,GAAGxC,eAAe,CAAEuC,SAAS,EAAEtB,oBAAqB,CAAC;EAClE,OAAO,CAAC,EAAI,IAAI,KAAKuB,OAAO,IAAIA,OAAO,EAAEC,MAAM,CAAE;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CAAEH,SAAS,EAAG;EACpD,MAAMC,OAAO,GAAGxC,eAAe,CAAEuC,SAAS,EAAEtB,oBAAqB,CAAC;EAClE,OAAO,CAAC,EAAI,IAAI,KAAKuB,OAAO,IAAIA,OAAO,EAAEG,KAAK,CAAE;AACjD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAAEL,SAAS,EAAG;EAC/C,MAAMC,OAAO,GAAGxC,eAAe,CAAEuC,SAAS,EAAEtB,oBAAqB,CAAC;EAClE,OAAO,CAAC,CAAEuB,OAAO;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,gBAAgBA,CAAEC,KAAK,EAAG;EACzC,OAAOA,KAAK,CAACC,UAAU,CAAClB,KAAK,EAAEI,QAAQ,EAAEF,IAAI,KAAKM,SAAS;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASW,6BAA6BA,CAAED,UAAU,EAAG;EAC3D,MAAMf,YAAY,GAAGe,UAAU,EAAElB,KAAK,EAAEI,QAAQ,EAAEF,IAAI;EACtD,OAAOC,YAAY,KAAK,QAAQ,IAAIA,YAAY,KAAK,OAAO;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASiB,aAAaA,CAAE;EAAEF,UAAU,GAAG,CAAC,CAAC;EAAEG;AAAc,CAAC,EAAG;EACnE,MAAM;IAAErB,KAAK,GAAG,CAAC;EAAE,CAAC,GAAGkB,UAAU;EAEjCG,aAAa,CAAE;IACdrB,KAAK,EAAElB,gBAAgB,CAAE;MACxB,GAAGkB,KAAK;MACRI,QAAQ,EAAE;QACT,GAAGJ,KAAK,EAAEI,QAAQ;QAClBF,IAAI,EAAEM,SAAS;QACfc,GAAG,EAAEd,SAAS;QACde,KAAK,EAAEf,SAAS;QAChBgB,MAAM,EAAEhB,SAAS;QACjBiB,IAAI,EAAEjB;MACP;IACD,CAAE;EACH,CAAE,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASkB,qBAAqBA,CAAE;EAAElC,IAAI,EAAEmC;AAAU,CAAC,GAAG,CAAC,CAAC,EAAG;EACjE,MAAM,CAAEC,UAAU,EAAEC,WAAW,CAAE,GAAGlD,WAAW,CAC9C,gBAAgB,EAChB,iBACD,CAAC;EACD,MAAMmD,UAAU,GAAG,CAAEF,UAAU,IAAI,CAAEC,WAAW;EAEhD,OAAO,CAAEd,kBAAkB,CAAEY,SAAU,CAAC,IAAIG,UAAU;AACvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAE;EAClC/B,KAAK,GAAG,CAAC,CAAC;EACVgC,QAAQ;EACRxC,IAAI,EAAEmC,SAAS;EACfN;AACD,CAAC,EAAG;EACH,MAAMO,UAAU,GAAGf,uBAAuB,CAAEc,SAAU,CAAC;EACvD,MAAME,WAAW,GAAGpB,wBAAwB,CAAEkB,SAAU,CAAC;EACzD,MAAMpC,KAAK,GAAGS,KAAK,EAAEI,QAAQ,EAAEF,IAAI;EAEnC,MAAM;IAAE+B;EAAoB,CAAC,GAAGzD,SAAS,CACtC0D,MAAM,IAAM;IACb,MAAM;MAAEC;IAAgB,CAAC,GAAGD,MAAM,CAAEjD,gBAAiB,CAAC;IACtD,MAAMmD,OAAO,GAAGD,eAAe,CAAEH,QAAS,CAAC;IAC3C,OAAO;MAAEC,mBAAmB,EAAEG,OAAO,CAAEA,OAAO,CAACC,MAAM,GAAG,CAAC;IAAG,CAAC;EAC9D,CAAC,EACD,CAAEL,QAAQ,CACX,CAAC;EAED,MAAMM,gBAAgB,GAAGzD,0BAA0B,CAAEoD,mBAAoB,CAAC;EAC1E,MAAMM,cAAc,GACnBV,WAAW,IAAItC,KAAK,KAAKE,aAAa,CAACF,KAAK,IAAI+C,gBAAgB,GAC7DpE,OAAO,EACP;EACAF,EAAE,CACD,qEACD,CAAC,EACDsE,gBAAgB,CAACE,KACjB,CAAC,GACD,IAAI;EAER,MAAMC,OAAO,GAAGhE,OAAO,CAAE,MAAM;IAC9B,MAAMiE,gBAAgB,GAAG,CAAErD,cAAc,CAAE;IAC3C;IACA;IACA,IAAKwC,WAAW,IAAItC,KAAK,KAAKE,aAAa,CAACF,KAAK,EAAG;MACnDmD,gBAAgB,CAACC,IAAI,CAAElD,aAAc,CAAC;IACvC;IACA,IAAKmC,UAAU,IAAIrC,KAAK,KAAKI,YAAY,CAACJ,KAAK,EAAG;MACjDmD,gBAAgB,CAACC,IAAI,CAAEhD,YAAa,CAAC;IACtC;IACA,OAAO+C,gBAAgB;EACxB,CAAC,EAAE,CAAEd,UAAU,EAAEC,WAAW,EAAEtC,KAAK,CAAG,CAAC;EAEvC,MAAMqD,YAAY,GAAKC,IAAI,IAAM;IAChC;IACA;IACA;IACA,MAAMC,cAAc,GAAG,KAAK;IAE5B,MAAMC,QAAQ,GAAG;MAChB,GAAG/C,KAAK;MACRI,QAAQ,EAAE;QACT,GAAGJ,KAAK,EAAEI,QAAQ;QAClBF,IAAI,EAAE2C,IAAI;QACVvB,GAAG,EACFuB,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,OAAO,GAClCC,cAAc,GACdtC;MACL;IACD,CAAC;IAEDa,aAAa,CAAE;MACdrB,KAAK,EAAElB,gBAAgB,CAAEiE,QAAS;IACnC,CAAE,CAAC;EACJ,CAAC;EAED,MAAMC,cAAc,GAAGzD,KAAK,GACzBkD,OAAO,CAACQ,IAAI,CAAIC,MAAM,IAAMA,MAAM,CAAC3D,KAAK,KAAKA,KAAM,CAAC,IAAIF,cAAc,GACtEA,cAAc;;EAEjB;EACA,OAAOX,QAAQ,CAACwD,MAAM,CAAE;IACvBiB,GAAG,EACFV,OAAO,CAACJ,MAAM,GAAG,CAAC,gBACjBlD,IAAA,CAACP,iBAAiB;MAACwE,KAAK,EAAC,UAAU;MAAAC,QAAA,eAClClE,IAAA,CAACd,WAAW;QACXiF,uBAAuB;QACvBC,IAAI,EAAGhB,cAAgB;QAAAc,QAAA,eAEvBlE,IAAA,CAACb,mBAAmB;UACnBkF,qBAAqB;UACrBC,KAAK,EAAGzF,EAAE,CAAE,UAAW,CAAG;UAC1B0F,mBAAmB;UACnBC,WAAW,EAAGzF,OAAO;UACpB;UACAF,EAAE,CAAE,iCAAkC,CAAC,EACvCgF,cAAc,CAACxD,IAChB,CAAG;UACHiD,OAAO,EAAGA,OAAS;UACnBlD,KAAK,EAAGyD,cAAgB;UACxBY,QAAQ,EAAGA,CAAE;YAAEC;UAAa,CAAC,KAAM;YAClCjB,YAAY,CAAEiB,YAAY,CAACtE,KAAM,CAAC;UACnC,CAAG;UACHuE,IAAI,EAAC;QAAkB,CACvB;MAAC,CACU;IAAC,CACI,CAAC,GACjB,IAAI;IACTC,MAAM,EAAE;EACT,CAAE,CAAC;AACJ;AAEA,eAAe;EACdC,IAAI,EAAE,SAASC,IAAIA,CAAEhD,KAAK,EAAG;IAC5B,MAAMiD,kBAAkB,GAAGxC,qBAAqB,CAAET,KAAM,CAAC;IACzD,IAAKiD,kBAAkB,EAAG;MACzB,OAAO,IAAI;IACZ;IACA,oBAAO/E,IAAA,CAAC4C,iBAAiB;MAAA,GAAMd;IAAK,CAAI,CAAC;EAC1C,CAAC;EACDkD,aAAa;EACbC,aAAa,EAAE,CAAE,OAAO,CAAE;EAC1BC,UAAUA,CAAE7E,IAAI,EAAG;IAClB,OAAOpB,eAAe,CAAEoB,IAAI,EAAEJ,oBAAqB,CAAC;EACrD;AACD,CAAC;AAED,SAAS+E,aAAaA,CAAE;EAAE3E,IAAI;EAAEQ;AAAM,CAAC,EAAG;EACzC,MAAMsE,uBAAuB,GAAGlG,eAAe,CAC9CoB,IAAI,EACJJ,oBACD,CAAC;EACD,MAAM8E,kBAAkB,GAAGxC,qBAAqB,CAAE;IAAElC;EAAK,CAAE,CAAC;EAC5D,MAAM+E,mBAAmB,GAAGD,uBAAuB,IAAI,CAAEJ,kBAAkB;EAE3E,MAAMM,EAAE,GAAGjG,aAAa,CAAE4F,aAAc,CAAC;;EAEzC;EACA,MAAMM,gBAAgB,GAAI,iBAAiBD,EAAI,iBAAiBA,EAAI,EAAC;;EAErE;EACA,IAAIE,GAAG;EACP,IAAKH,mBAAmB,EAAG;IAC1BG,GAAG,GACF5E,cAAc,CAAE;MACfC,QAAQ,EAAE0E,gBAAgB;MAC1BzE;IACD,CAAE,CAAC,IAAI,EAAE;EACX;;EAEA;EACA,MAAM2E,SAAS,GAAG5G,IAAI,CAAE;IACvB,CAAG,gBAAgByG,EAAI,EAAC,GAAID,mBAAmB,IAAI,CAAC,CAAEG,GAAG;IAAE;IAC3D,CAAG,eAAe1E,KAAK,EAAEI,QAAQ,EAAEF,IAAM,EAAC,GACzCqE,mBAAmB,IAAI,CAAC,CAAEG,GAAG,IAAI,CAAC,CAAE1E,KAAK,EAAEI,QAAQ,EAAEF;EACvD,CAAE,CAAC;EAEHnB,gBAAgB,CAAE;IAAE2F;EAAI,CAAE,CAAC;EAE3B,OAAO;IAAEC;EAAU,CAAC;AACrB","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","_x","sprintf","getBlockSupport","hasBlockSupport","BaseControl","CustomSelectControl","useInstanceId","useSelect","useMemo","Platform","useSettings","InspectorControls","useBlockDisplayInformation","cleanEmptyObject","useStyleOverride","store","blockEditorStore","jsx","_jsx","POSITION_SUPPORT_KEY","DEFAULT_OPTION","key","value","name","STICKY_OPTION","hint","FIXED_OPTION","POSITION_SIDES","VALID_POSITION_TYPES","getPositionCSS","selector","style","output","type","positionType","position","includes","forEach","side","undefined","hasStickyPositionSupport","blockType","support","sticky","hasFixedPositionSupport","fixed","hasPositionSupport","hasPositionValue","props","attributes","hasStickyOrFixedPositionValue","resetPosition","setAttributes","top","right","bottom","left","useIsPositionDisabled","blockName","allowFixed","allowSticky","isDisabled","PositionPanelPure","clientId","firstParentClientId","select","getBlockParents","parents","length","blockInformation","stickyHelpText","title","options","availableOptions","push","onChangeType","next","placementValue","newStyle","selectedOption","find","option","web","group","children","__nextHasNoMarginBottom","help","__next40pxDefaultSize","label","hideLabelFromVision","describedBy","onChange","selectedItem","size","native","edit","Edit","isPositionDisabled","useBlockProps","attributeKeys","hasSupport","POSITION_BLOCK_PROPS_REFERENCE","hasPositionBlockSupport","allowPositionStyles","id","positionSelector","css","className"],"sources":["@wordpress/block-editor/src/hooks/position.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { BaseControl, CustomSelectControl } from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../components/use-settings';\nimport InspectorControls from '../components/inspector-controls';\nimport useBlockDisplayInformation from '../components/use-block-display-information';\nimport { cleanEmptyObject, useStyleOverride } from './utils';\nimport { store as blockEditorStore } from '../store';\n\nconst POSITION_SUPPORT_KEY = 'position';\n\nconst DEFAULT_OPTION = {\n\tkey: 'default',\n\tvalue: '',\n\tname: __( 'Default' ),\n};\n\nconst STICKY_OPTION = {\n\tkey: 'sticky',\n\tvalue: 'sticky',\n\tname: _x( 'Sticky', 'Name for the value of the CSS position property' ),\n\thint: __(\n\t\t'The block will stick to the top of the window instead of scrolling.'\n\t),\n};\n\nconst FIXED_OPTION = {\n\tkey: 'fixed',\n\tvalue: 'fixed',\n\tname: _x( 'Fixed', 'Name for the value of the CSS position property' ),\n\thint: __( 'The block will not move when the page is scrolled.' ),\n};\n\nconst POSITION_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nconst VALID_POSITION_TYPES = [ 'sticky', 'fixed' ];\n\n/**\n * Get calculated position CSS.\n *\n * @param {Object} props Component props.\n * @param {string} props.selector Selector to use.\n * @param {Object} props.style Style object.\n * @return {string} The generated CSS rules.\n */\nexport function getPositionCSS( { selector, style } ) {\n\tlet output = '';\n\n\tconst { type: positionType } = style?.position || {};\n\n\tif ( ! VALID_POSITION_TYPES.includes( positionType ) ) {\n\t\treturn output;\n\t}\n\n\toutput += `${ selector } {`;\n\toutput += `position: ${ positionType };`;\n\n\tPOSITION_SIDES.forEach( ( side ) => {\n\t\tif ( style?.position?.[ side ] !== undefined ) {\n\t\t\toutput += `${ side }: ${ style.position[ side ] };`;\n\t\t}\n\t} );\n\n\tif ( positionType === 'sticky' || positionType === 'fixed' ) {\n\t\t// TODO: Replace hard-coded z-index value with a z-index preset approach in theme.json.\n\t\toutput += `z-index: 10`;\n\t}\n\toutput += `}`;\n\n\treturn output;\n}\n\n/**\n * Determines if there is sticky position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasStickyPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.sticky );\n}\n\n/**\n * Determines if there is fixed position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasFixedPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! ( true === support || support?.fixed );\n}\n\n/**\n * Determines if there is position support.\n *\n * @param {string|Object} blockType Block name or Block Type object.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasPositionSupport( blockType ) {\n\tconst support = getBlockSupport( blockType, POSITION_SUPPORT_KEY );\n\treturn !! support;\n}\n\n/**\n * Checks if there is a current value in the position block support attributes.\n *\n * @param {Object} props Block props.\n * @return {boolean} Whether or not the block has a position value set.\n */\nexport function hasPositionValue( props ) {\n\treturn props.attributes.style?.position?.type !== undefined;\n}\n\n/**\n * Checks if the block is currently set to a sticky or fixed position.\n * This check is helpful for determining how to position block toolbars or other elements.\n *\n * @param {Object} attributes Block attributes.\n * @return {boolean} Whether or not the block is set to a sticky or fixed position.\n */\nexport function hasStickyOrFixedPositionValue( attributes ) {\n\tconst positionType = attributes?.style?.position?.type;\n\treturn positionType === 'sticky' || positionType === 'fixed';\n}\n\n/**\n * Resets the position block support attributes. This can be used when disabling\n * the position support controls for a block via a `ToolsPanel`.\n *\n * @param {Object} props Block props.\n * @param {Object} props.attributes Block's attributes.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetPosition( { attributes = {}, setAttributes } ) {\n\tconst { style = {} } = attributes;\n\n\tsetAttributes( {\n\t\tstyle: cleanEmptyObject( {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: undefined,\n\t\t\t\ttop: undefined,\n\t\t\t\tright: undefined,\n\t\t\t\tbottom: undefined,\n\t\t\t\tleft: undefined,\n\t\t\t},\n\t\t} ),\n\t} );\n}\n\n/**\n * Custom hook that checks if position settings have been disabled.\n *\n * @param {string} name The name of the block.\n *\n * @return {boolean} Whether padding setting is disabled.\n */\nexport function useIsPositionDisabled( { name: blockName } = {} ) {\n\tconst [ allowFixed, allowSticky ] = useSettings(\n\t\t'position.fixed',\n\t\t'position.sticky'\n\t);\n\tconst isDisabled = ! allowFixed && ! allowSticky;\n\n\treturn ! hasPositionSupport( blockName ) || isDisabled;\n}\n\n/*\n * Position controls rendered in an inspector control panel.\n *\n * @param {Object} props\n *\n * @return {Element} Position panel.\n */\nexport function PositionPanelPure( {\n\tstyle = {},\n\tclientId,\n\tname: blockName,\n\tsetAttributes,\n} ) {\n\tconst allowFixed = hasFixedPositionSupport( blockName );\n\tconst allowSticky = hasStickyPositionSupport( blockName );\n\tconst value = style?.position?.type;\n\n\tconst { firstParentClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParents } = select( blockEditorStore );\n\t\t\tconst parents = getBlockParents( clientId );\n\t\t\treturn { firstParentClientId: parents[ parents.length - 1 ] };\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockInformation = useBlockDisplayInformation( firstParentClientId );\n\tconst stickyHelpText =\n\t\tallowSticky && value === STICKY_OPTION.value && blockInformation\n\t\t\t? sprintf(\n\t\t\t\t\t/* translators: %s: the name of the parent block. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'The block will stick to the scrollable area of the parent %s block.'\n\t\t\t\t\t),\n\t\t\t\t\tblockInformation.title\n\t\t\t )\n\t\t\t: null;\n\n\tconst options = useMemo( () => {\n\t\tconst availableOptions = [ DEFAULT_OPTION ];\n\t\t// Display options if they are allowed, or if a block already has a valid value set.\n\t\t// This allows for a block to be switched off from a position type that is not allowed.\n\t\tif ( allowSticky || value === STICKY_OPTION.value ) {\n\t\t\tavailableOptions.push( STICKY_OPTION );\n\t\t}\n\t\tif ( allowFixed || value === FIXED_OPTION.value ) {\n\t\t\tavailableOptions.push( FIXED_OPTION );\n\t\t}\n\t\treturn availableOptions;\n\t}, [ allowFixed, allowSticky, value ] );\n\n\tconst onChangeType = ( next ) => {\n\t\t// For now, use a hard-coded `0px` value for the position.\n\t\t// `0px` is preferred over `0` as it can be used in `calc()` functions.\n\t\t// In the future, it could be useful to allow for an offset value.\n\t\tconst placementValue = '0px';\n\n\t\tconst newStyle = {\n\t\t\t...style,\n\t\t\tposition: {\n\t\t\t\t...style?.position,\n\t\t\t\ttype: next,\n\t\t\t\ttop:\n\t\t\t\t\tnext === 'sticky' || next === 'fixed'\n\t\t\t\t\t\t? placementValue\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\t};\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tconst selectedOption = value\n\t\t? options.find( ( option ) => option.value === value ) || DEFAULT_OPTION\n\t\t: DEFAULT_OPTION;\n\n\t// Only display position controls if there is at least one option to choose from.\n\treturn Platform.select( {\n\t\tweb:\n\t\t\toptions.length > 1 ? (\n\t\t\t\t<InspectorControls group=\"position\">\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\thelp={ stickyHelpText }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Position' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tdescribedBy={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Currently selected position.\n\t\t\t\t\t\t\t\t__( 'Currently selected position: %s' ),\n\t\t\t\t\t\t\t\tselectedOption.name\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tvalue={ selectedOption }\n\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\tonChangeType( selectedItem.value );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</InspectorControls>\n\t\t\t) : null,\n\t\tnative: null,\n\t} );\n}\n\nexport default {\n\tedit: function Edit( props ) {\n\t\tconst isPositionDisabled = useIsPositionDisabled( props );\n\t\tif ( isPositionDisabled ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn <PositionPanelPure { ...props } />;\n\t},\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, POSITION_SUPPORT_KEY );\n\t},\n};\n\n// Used for generating the instance ID\nconst POSITION_BLOCK_PROPS_REFERENCE = {};\n\nfunction useBlockProps( { name, style } ) {\n\tconst hasPositionBlockSupport = hasBlockSupport(\n\t\tname,\n\t\tPOSITION_SUPPORT_KEY\n\t);\n\tconst isPositionDisabled = useIsPositionDisabled( { name } );\n\tconst allowPositionStyles = hasPositionBlockSupport && ! isPositionDisabled;\n\n\tconst id = useInstanceId( POSITION_BLOCK_PROPS_REFERENCE );\n\n\t// Higher specificity to override defaults in editor UI.\n\tconst positionSelector = `.wp-container-${ id }.wp-container-${ id }`;\n\n\t// Get CSS string for the current position values.\n\tlet css;\n\tif ( allowPositionStyles ) {\n\t\tcss =\n\t\t\tgetPositionCSS( {\n\t\t\t\tselector: positionSelector,\n\t\t\t\tstyle,\n\t\t\t} ) || '';\n\t}\n\n\t// Attach a `wp-container-` id-based class name.\n\tconst className = clsx( {\n\t\t[ `wp-container-${ id }` ]: allowPositionStyles && !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t[ `is-position-${ style?.position?.type }` ]:\n\t\t\tallowPositionStyles && !! css && !! style?.position?.type,\n\t} );\n\n\tuseStyleOverride( { css } );\n\n\treturn { className };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
5
  import { justifyLeft, justifyCenter, justifyRight, justifySpaceBetween, justifyStretch, arrowRight, arrowDown } from '@wordpress/icons';
6
- import { Button, ToggleControl, Flex, FlexItem, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon } from '@wordpress/components';
6
+ import { ToggleControl, Flex, FlexItem, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon } from '@wordpress/components';
7
7
 
8
8
  /**
9
9
  * Internal dependencies
@@ -90,8 +90,7 @@ export default {
90
90
  isToolbar: true
91
91
  }), allowVerticalAlignment && /*#__PURE__*/_jsx(FlexLayoutVerticalAlignmentControl, {
92
92
  layout: layout,
93
- onChange: onChange,
94
- isToolbar: true
93
+ onChange: onChange
95
94
  })]
96
95
  });
97
96
  },
@@ -157,8 +156,7 @@ export default {
157
156
  };
158
157
  function FlexLayoutVerticalAlignmentControl({
159
158
  layout,
160
- onChange,
161
- isToolbar = false
159
+ onChange
162
160
  }) {
163
161
  const {
164
162
  orientation = 'horizontal'
@@ -173,40 +171,10 @@ function FlexLayoutVerticalAlignmentControl({
173
171
  verticalAlignment: value
174
172
  });
175
173
  };
176
- if (isToolbar) {
177
- return /*#__PURE__*/_jsx(BlockVerticalAlignmentControl, {
178
- onChange: onVerticalAlignmentChange,
179
- value: verticalAlignment,
180
- controls: orientation === 'horizontal' ? ['top', 'center', 'bottom', 'stretch'] : ['top', 'center', 'bottom', 'space-between']
181
- });
182
- }
183
- const verticalAlignmentOptions = [{
184
- value: 'flex-start',
185
- label: __('Align items top')
186
- }, {
187
- value: 'center',
188
- label: __('Align items center')
189
- }, {
190
- value: 'flex-end',
191
- label: __('Align items bottom')
192
- }];
193
- return /*#__PURE__*/_jsxs("fieldset", {
194
- className: "block-editor-hooks__flex-layout-vertical-alignment-control",
195
- children: [/*#__PURE__*/_jsx("legend", {
196
- children: __('Vertical alignment')
197
- }), /*#__PURE__*/_jsx("div", {
198
- children: verticalAlignmentOptions.map((value, icon, label) => {
199
- return /*#__PURE__*/_jsx(Button
200
- // TODO: Switch to `true` (40px size) if possible
201
- , {
202
- __next40pxDefaultSize: false,
203
- label: label,
204
- icon: icon,
205
- isPressed: verticalAlignment === value,
206
- onClick: () => onVerticalAlignmentChange(value)
207
- }, value);
208
- })
209
- })]
174
+ return /*#__PURE__*/_jsx(BlockVerticalAlignmentControl, {
175
+ onChange: onVerticalAlignmentChange,
176
+ value: verticalAlignment,
177
+ controls: orientation === 'horizontal' ? ['top', 'center', 'bottom', 'stretch'] : ['top', 'center', 'bottom', 'space-between']
210
178
  });
211
179
  }
212
180
  const POPOVER_PROPS = {
@@ -1 +1 @@
1
- {"version":3,"names":["__","justifyLeft","justifyCenter","justifyRight","justifySpaceBetween","justifyStretch","arrowRight","arrowDown","Button","ToggleControl","Flex","FlexItem","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","appendSelectors","getBlockGapCSS","getGapCSSValue","BlockControls","JustifyContentControl","BlockVerticalAlignmentControl","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","justifyContentMap","left","right","center","alignItemsMap","stretch","verticalAlignmentMap","top","bottom","flexWrapOptions","name","label","inspectorControls","FlexLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowOrientation","children","FlexLayoutJustifyContentControl","OrientationControl","FlexWrapControl","toolBarControls","FlexLayoutToolbarControls","allowSwitching","allowVerticalAlignment","group","__experimentalShareWithChildBlocks","isToolbar","FlexLayoutVerticalAlignmentControl","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","orientation","blockGapValue","spacing","blockGap","undefined","justifyContent","flexWrap","includes","verticalAlignment","alignItems","output","rules","push","length","join","getOrientation","getAlignments","defaultVerticalAlignment","onVerticalAlignmentChange","value","controls","verticalAlignmentOptions","className","map","icon","__next40pxDefaultSize","isPressed","onClick","POPOVER_PROPS","placement","onJustificationChange","allowedControls","popoverProps","justificationOptions","__nextHasNoMarginBottom","checked","newVerticalAlignment","newJustification"],"sources":["@wordpress/block-editor/src/layouts/flex.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n\tjustifySpaceBetween,\n\tjustifyStretch,\n\tarrowRight,\n\tarrowDown,\n} from '@wordpress/icons';\nimport {\n\tButton,\n\tToggleControl,\n\tFlex,\n\tFlexItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport {\n\tBlockControls,\n\tJustifyContentControl,\n\tBlockVerticalAlignmentControl,\n} from '../components';\nimport { 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 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} ) {\n\t\tconst { allowOrientation = true } = layoutBlockSupport;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<FlexLayoutJustifyContentControl\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</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t{ allowOrientation && (\n\t\t\t\t\t\t\t<OrientationControl\n\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t\t<FlexWrapControl layout={ layout } onChange={ onChange } />\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function FlexLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t} ) {\n\t\tif ( layoutBlockSupport?.allowSwitching ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { allowVerticalAlignment = true } = layoutBlockSupport;\n\t\treturn (\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tisToolbar\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\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst { orientation = 'horizontal' } = layout;\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, '0.5em' )\n\t\t\t\t: undefined;\n\t\tconst justifyContent = justifyContentMap[ layout.justifyContent ];\n\t\tconst flexWrap = flexWrapOptions.includes( layout.flexWrap )\n\t\t\t? layout.flexWrap\n\t\t\t: 'wrap';\n\t\tconst verticalAlignment =\n\t\t\tverticalAlignmentMap[ layout.verticalAlignment ];\n\t\tconst alignItems =\n\t\t\talignItemsMap[ layout.justifyContent ] || alignItemsMap.left;\n\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tif ( flexWrap && flexWrap !== 'wrap' ) {\n\t\t\trules.push( `flex-wrap: ${ flexWrap }` );\n\t\t}\n\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tif ( verticalAlignment ) {\n\t\t\t\trules.push( `align-items: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\tif ( justifyContent ) {\n\t\t\t\trules.push( `justify-content: ${ justifyContent }` );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( verticalAlignment ) {\n\t\t\t\trules.push( `justify-content: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\trules.push( 'flex-direction: column' );\n\t\t\trules.push( `align-items: ${ alignItems }` );\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 && 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 FlexLayoutVerticalAlignmentControl( {\n\tlayout,\n\tonChange,\n\tisToolbar = false,\n} ) {\n\tconst { orientation = 'horizontal' } = layout;\n\n\tconst defaultVerticalAlignment =\n\t\torientation === 'horizontal'\n\t\t\t? verticalAlignmentMap.center\n\t\t\t: verticalAlignmentMap.top;\n\n\tconst { verticalAlignment = defaultVerticalAlignment } = layout;\n\n\tconst onVerticalAlignmentChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tverticalAlignment: value,\n\t\t} );\n\t};\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={\n\t\t\t\t\torientation === 'horizontal'\n\t\t\t\t\t\t? [ 'top', 'center', 'bottom', 'stretch' ]\n\t\t\t\t\t\t: [ 'top', 'center', 'bottom', 'space-between' ]\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst verticalAlignmentOptions = [\n\t\t{\n\t\t\tvalue: 'flex-start',\n\t\t\tlabel: __( 'Align items top' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\tlabel: __( 'Align items center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'flex-end',\n\t\t\tlabel: __( 'Align items bottom' ),\n\t\t},\n\t];\n\n\treturn (\n\t\t<fieldset className=\"block-editor-hooks__flex-layout-vertical-alignment-control\">\n\t\t\t<legend>{ __( 'Vertical alignment' ) }</legend>\n\t\t\t<div>\n\t\t\t\t{ verticalAlignmentOptions.map( ( value, icon, label ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisPressed={ verticalAlignment === value }\n\t\t\t\t\t\t\tonClick={ () => onVerticalAlignmentChange( value ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</fieldset>\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\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\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\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\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"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","justifyLeft","justifyCenter","justifyRight","justifySpaceBetween","justifyStretch","arrowRight","arrowDown","ToggleControl","Flex","FlexItem","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","appendSelectors","getBlockGapCSS","getGapCSSValue","BlockControls","JustifyContentControl","BlockVerticalAlignmentControl","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","justifyContentMap","left","right","center","alignItemsMap","stretch","verticalAlignmentMap","top","bottom","flexWrapOptions","name","label","inspectorControls","FlexLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowOrientation","children","FlexLayoutJustifyContentControl","OrientationControl","FlexWrapControl","toolBarControls","FlexLayoutToolbarControls","allowSwitching","allowVerticalAlignment","group","__experimentalShareWithChildBlocks","isToolbar","FlexLayoutVerticalAlignmentControl","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","orientation","blockGapValue","spacing","blockGap","undefined","justifyContent","flexWrap","includes","verticalAlignment","alignItems","output","rules","push","length","join","getOrientation","getAlignments","defaultVerticalAlignment","onVerticalAlignmentChange","value","controls","POPOVER_PROPS","placement","onJustificationChange","allowedControls","popoverProps","justificationOptions","icon","__next40pxDefaultSize","__nextHasNoMarginBottom","className","map","checked","newVerticalAlignment","newJustification"],"sources":["@wordpress/block-editor/src/layouts/flex.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n\tjustifySpaceBetween,\n\tjustifyStretch,\n\tarrowRight,\n\tarrowDown,\n} from '@wordpress/icons';\nimport {\n\tToggleControl,\n\tFlex,\n\tFlexItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport {\n\tBlockControls,\n\tJustifyContentControl,\n\tBlockVerticalAlignmentControl,\n} from '../components';\nimport { 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 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} ) {\n\t\tconst { allowOrientation = true } = layoutBlockSupport;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<FlexLayoutJustifyContentControl\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</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t{ allowOrientation && (\n\t\t\t\t\t\t\t<OrientationControl\n\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t\t<FlexWrapControl layout={ layout } onChange={ onChange } />\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function FlexLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t} ) {\n\t\tif ( layoutBlockSupport?.allowSwitching ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { allowVerticalAlignment = true } = layoutBlockSupport;\n\t\treturn (\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tisToolbar\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/>\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\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst { orientation = 'horizontal' } = layout;\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, '0.5em' )\n\t\t\t\t: undefined;\n\t\tconst justifyContent = justifyContentMap[ layout.justifyContent ];\n\t\tconst flexWrap = flexWrapOptions.includes( layout.flexWrap )\n\t\t\t? layout.flexWrap\n\t\t\t: 'wrap';\n\t\tconst verticalAlignment =\n\t\t\tverticalAlignmentMap[ layout.verticalAlignment ];\n\t\tconst alignItems =\n\t\t\talignItemsMap[ layout.justifyContent ] || alignItemsMap.left;\n\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tif ( flexWrap && flexWrap !== 'wrap' ) {\n\t\t\trules.push( `flex-wrap: ${ flexWrap }` );\n\t\t}\n\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tif ( verticalAlignment ) {\n\t\t\t\trules.push( `align-items: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\tif ( justifyContent ) {\n\t\t\t\trules.push( `justify-content: ${ justifyContent }` );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( verticalAlignment ) {\n\t\t\t\trules.push( `justify-content: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\trules.push( 'flex-direction: column' );\n\t\t\trules.push( `align-items: ${ alignItems }` );\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 && 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 FlexLayoutVerticalAlignmentControl( { layout, onChange } ) {\n\tconst { orientation = 'horizontal' } = layout;\n\n\tconst defaultVerticalAlignment =\n\t\torientation === 'horizontal'\n\t\t\t? verticalAlignmentMap.center\n\t\t\t: verticalAlignmentMap.top;\n\n\tconst { verticalAlignment = defaultVerticalAlignment } = layout;\n\n\tconst onVerticalAlignmentChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tverticalAlignment: value,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<BlockVerticalAlignmentControl\n\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\tvalue={ verticalAlignment }\n\t\t\tcontrols={\n\t\t\t\torientation === 'horizontal'\n\t\t\t\t\t? [ 'top', 'center', 'bottom', 'stretch' ]\n\t\t\t\t\t: [ 'top', 'center', 'bottom', 'space-between' ]\n\t\t\t}\n\t\t/>\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\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\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\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\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"],"mappings":"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","ignoreList":[]}
@@ -1444,21 +1444,21 @@ export const __unstableSetEditorMode = mode => ({
1444
1444
  };
1445
1445
 
1446
1446
  /**
1447
- * Action that enables or disables the block moving mode.
1447
+ * Set the block moving client ID.
1448
1448
  *
1449
- * @param {string|null} hasBlockMovingClientId Enable/Disable block moving mode.
1449
+ * @deprecated
1450
+ *
1451
+ * @return {Object} Action object.
1450
1452
  */
1451
- export const setBlockMovingClientId = (hasBlockMovingClientId = null) => ({
1452
- dispatch
1453
- }) => {
1454
- dispatch({
1455
- type: 'SET_BLOCK_MOVING_MODE',
1456
- hasBlockMovingClientId
1453
+ export function setBlockMovingClientId() {
1454
+ deprecated('wp.data.dispatch( "core/block-editor" ).setBlockMovingClientId', {
1455
+ since: '6.7',
1456
+ hint: 'Block moving mode feature has been removed'
1457
1457
  });
1458
- if (hasBlockMovingClientId) {
1459
- speak(__('Use the Tab key and Arrow keys to choose new block location. Use Left and Right Arrow keys to move between nesting levels. Once location is selected press Enter or Space to move the block.'));
1460
- }
1461
- };
1458
+ return {
1459
+ type: 'DO_NOTHING'
1460
+ };
1461
+ }
1462
1462
 
1463
1463
  /**
1464
1464
  * Action that duplicates a list of blocks.