@wordpress/block-editor 12.3.0 → 12.3.1

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 (897) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +12 -0
  3. package/build/autocompleters/block.js +5 -3
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/alignment-control/index.js +4 -6
  6. package/build/components/alignment-control/index.js.map +1 -1
  7. package/build/components/alignment-control/ui.js +5 -9
  8. package/build/components/alignment-control/ui.js.map +1 -1
  9. package/build/components/autocomplete/index.js +2 -4
  10. package/build/components/autocomplete/index.js.map +1 -1
  11. package/build/components/block-actions/index.js +4 -0
  12. package/build/components/block-actions/index.js.map +1 -1
  13. package/build/components/block-alignment-control/constants.js +1 -5
  14. package/build/components/block-alignment-control/constants.js.map +1 -1
  15. package/build/components/block-alignment-control/index.js +4 -6
  16. package/build/components/block-alignment-control/index.js.map +1 -1
  17. package/build/components/block-alignment-control/ui.js +3 -4
  18. package/build/components/block-alignment-control/ui.js.map +1 -1
  19. package/build/components/block-alignment-control/ui.native.js +3 -3
  20. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  21. package/build/components/block-alignment-matrix-control/index.js +0 -1
  22. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  23. package/build/components/block-breadcrumb/index.js +2 -3
  24. package/build/components/block-breadcrumb/index.js.map +1 -1
  25. package/build/components/block-controls/fill.js +2 -1
  26. package/build/components/block-controls/fill.js.map +1 -1
  27. package/build/components/block-controls/index.js +8 -8
  28. package/build/components/block-controls/index.js.map +1 -1
  29. package/build/components/block-controls/slot.js +2 -4
  30. package/build/components/block-controls/slot.js.map +1 -1
  31. package/build/components/block-controls/slot.native.js +4 -2
  32. package/build/components/block-controls/slot.native.js.map +1 -1
  33. package/build/components/block-edit/edit.js +4 -6
  34. package/build/components/block-edit/edit.js.map +1 -1
  35. package/build/components/block-edit/edit.native.js +2 -4
  36. package/build/components/block-edit/edit.native.js.map +1 -1
  37. package/build/components/block-edit/index.js +3 -2
  38. package/build/components/block-edit/index.js.map +1 -1
  39. package/build/components/block-heading-level-dropdown/heading-level-icon.js +47 -0
  40. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  41. package/build/components/block-heading-level-dropdown/index.js +83 -0
  42. package/build/components/block-heading-level-dropdown/index.js.map +1 -0
  43. package/build/components/block-heading-level-dropdown/index.native.js +72 -0
  44. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -0
  45. package/build/components/block-icon/index.native.js +6 -7
  46. package/build/components/block-icon/index.native.js.map +1 -1
  47. package/build/components/block-info-slot-fill/index.js +4 -2
  48. package/build/components/block-info-slot-fill/index.js.map +1 -1
  49. package/build/components/block-inspector/index.js +20 -87
  50. package/build/components/block-inspector/index.js.map +1 -1
  51. package/build/components/block-list/block-list-item.native.js +4 -2
  52. package/build/components/block-list/block-list-item.native.js.map +1 -1
  53. package/build/components/block-list/block.js +6 -4
  54. package/build/components/block-list/block.js.map +1 -1
  55. package/build/components/block-list/block.native.js +1 -0
  56. package/build/components/block-list/block.native.js.map +1 -1
  57. package/build/components/block-list/index.js +7 -4
  58. package/build/components/block-list/index.js.map +1 -1
  59. package/build/components/block-list/index.native.js +8 -9
  60. package/build/components/block-list/index.native.js.map +1 -1
  61. package/build/components/block-list/subdirectory-icon.js +4 -7
  62. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  63. package/build/components/block-list/use-in-between-inserter.js +1 -3
  64. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  65. package/build/components/block-list-appender/index.js +21 -19
  66. package/build/components/block-list-appender/index.js.map +1 -1
  67. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  68. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  69. package/build/components/block-mover/button.js +12 -12
  70. package/build/components/block-mover/button.js.map +1 -1
  71. package/build/components/block-mover/index.js +11 -10
  72. package/build/components/block-mover/index.js.map +1 -1
  73. package/build/components/block-navigation/dropdown.js +4 -6
  74. package/build/components/block-navigation/dropdown.js.map +1 -1
  75. package/build/components/block-parent-selector/index.js +4 -5
  76. package/build/components/block-parent-selector/index.js.map +1 -1
  77. package/build/components/block-pattern-setup/index.js +6 -8
  78. package/build/components/block-pattern-setup/index.js.map +1 -1
  79. package/build/components/block-patterns-list/index.js +6 -8
  80. package/build/components/block-patterns-list/index.js.map +1 -1
  81. package/build/components/block-popover/inbetween.js +4 -6
  82. package/build/components/block-popover/inbetween.js.map +1 -1
  83. package/build/components/block-popover/index.js +4 -6
  84. package/build/components/block-popover/index.js.map +1 -1
  85. package/build/components/block-preview/auto.js +2 -4
  86. package/build/components/block-preview/auto.js.map +1 -1
  87. package/build/components/block-preview/index.js +7 -7
  88. package/build/components/block-preview/index.js.map +1 -1
  89. package/build/components/block-quick-navigation/index.js +83 -0
  90. package/build/components/block-quick-navigation/index.js.map +1 -0
  91. package/build/components/block-removal-warning-modal/index.js +90 -0
  92. package/build/components/block-removal-warning-modal/index.js.map +1 -0
  93. package/build/components/block-selection-clearer/index.js +4 -7
  94. package/build/components/block-selection-clearer/index.js.map +1 -1
  95. package/build/components/block-settings/button.native.js +2 -1
  96. package/build/components/block-settings/button.native.js.map +1 -1
  97. package/build/components/block-settings/container.native.js +6 -6
  98. package/build/components/block-settings/container.native.js.map +1 -1
  99. package/build/components/block-settings-menu/block-settings-dropdown.js +10 -11
  100. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  101. package/build/components/block-settings-menu/index.js +4 -5
  102. package/build/components/block-settings-menu/index.js.map +1 -1
  103. package/build/components/block-settings-menu-controls/index.js +4 -5
  104. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  105. package/build/components/block-switcher/index.js +1 -2
  106. package/build/components/block-switcher/index.js.map +1 -1
  107. package/build/components/block-switcher/pattern-transformations-menu.js +6 -8
  108. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  109. package/build/components/block-toolbar/index.js +4 -5
  110. package/build/components/block-toolbar/index.js.map +1 -1
  111. package/build/components/block-tools/block-contextual-toolbar.js +4 -5
  112. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  113. package/build/components/block-tools/block-selection-button.js +4 -5
  114. package/build/components/block-tools/block-selection-button.js.map +1 -1
  115. package/build/components/block-tools/index.js +13 -6
  116. package/build/components/block-tools/index.js.map +1 -1
  117. package/build/components/block-tools/insertion-point.js +5 -5
  118. package/build/components/block-tools/insertion-point.js.map +1 -1
  119. package/build/components/block-tools/selected-block-popover.js +8 -8
  120. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  121. package/build/components/block-types-list/index.native.js +4 -6
  122. package/build/components/block-types-list/index.native.js.map +1 -1
  123. package/build/components/block-vertical-alignment-control/index.js +4 -6
  124. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  125. package/build/components/block-vertical-alignment-control/ui.js +5 -12
  126. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  127. package/build/components/border-radius-control/all-input-control.js +2 -6
  128. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  129. package/build/components/border-radius-control/input-controls.js +2 -6
  130. package/build/components/border-radius-control/input-controls.js.map +1 -1
  131. package/build/components/border-radius-control/linked-button.js +2 -6
  132. package/build/components/border-radius-control/linked-button.js.map +1 -1
  133. package/build/components/color-palette/control.js +2 -4
  134. package/build/components/color-palette/control.js.map +1 -1
  135. package/build/components/color-palette/with-color-context.js +2 -4
  136. package/build/components/color-palette/with-color-context.js.map +1 -1
  137. package/build/components/colors/utils.js +7 -3
  138. package/build/components/colors/utils.js.map +1 -1
  139. package/build/components/colors/with-colors.js +11 -16
  140. package/build/components/colors/with-colors.js.map +1 -1
  141. package/build/components/colors-gradients/control.js +7 -5
  142. package/build/components/colors-gradients/control.js.map +1 -1
  143. package/build/components/colors-gradients/dropdown.js +12 -11
  144. package/build/components/colors-gradients/dropdown.js.map +1 -1
  145. package/build/components/colors-gradients/panel-color-gradient-settings.js +7 -5
  146. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  147. package/build/components/copy-handler/index.js +5 -6
  148. package/build/components/copy-handler/index.js.map +1 -1
  149. package/build/components/duotone-control/index.js +1 -2
  150. package/build/components/duotone-control/index.js.map +1 -1
  151. package/build/components/editable-text/index.js +6 -7
  152. package/build/components/editable-text/index.js.map +1 -1
  153. package/build/components/font-appearance-control/index.js +2 -6
  154. package/build/components/font-appearance-control/index.js.map +1 -1
  155. package/build/components/font-family/index.js +4 -5
  156. package/build/components/font-family/index.js.map +1 -1
  157. package/build/components/font-sizes/font-size-picker.js +2 -4
  158. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  159. package/build/components/font-sizes/utils.js +3 -3
  160. package/build/components/font-sizes/utils.js.map +1 -1
  161. package/build/components/font-sizes/with-font-sizes.js +7 -7
  162. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  163. package/build/components/global-styles/color-panel.js +15 -16
  164. package/build/components/global-styles/color-panel.js.map +1 -1
  165. package/build/components/global-styles/effects-panel.js +2 -1
  166. package/build/components/global-styles/effects-panel.js.map +1 -1
  167. package/build/components/global-styles/filters-panel.js +2 -1
  168. package/build/components/global-styles/filters-panel.js.map +1 -1
  169. package/build/components/global-styles/index.js +6 -0
  170. package/build/components/global-styles/index.js.map +1 -1
  171. package/build/components/global-styles/typography-panel.js +7 -7
  172. package/build/components/global-styles/typography-panel.js.map +1 -1
  173. package/build/components/global-styles/use-global-styles-output.js +19 -16
  174. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  175. package/build/components/gradients/with-gradient.js +2 -6
  176. package/build/components/gradients/with-gradient.js.map +1 -1
  177. package/build/components/iframe/index.js +5 -7
  178. package/build/components/iframe/index.js.map +1 -1
  179. package/build/components/image-editor/constants.js +1 -2
  180. package/build/components/image-editor/constants.js.map +1 -1
  181. package/build/components/index.js +9 -9
  182. package/build/components/index.js.map +1 -1
  183. package/build/components/index.native.js +9 -0
  184. package/build/components/index.native.js.map +1 -1
  185. package/build/components/inner-blocks/index.js +9 -8
  186. package/build/components/inner-blocks/index.js.map +1 -1
  187. package/build/components/inner-blocks/index.native.js +8 -7
  188. package/build/components/inner-blocks/index.native.js.map +1 -1
  189. package/build/components/inner-blocks/use-nested-settings-update.js +24 -30
  190. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  191. package/build/components/inner-blocks/with-client-id.js +2 -6
  192. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  193. package/build/components/inserter/block-patterns-explorer/explorer.js +2 -1
  194. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  195. package/build/components/inserter/block-patterns-tab.js +33 -5
  196. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  197. package/build/components/inserter/hooks/use-block-types-state.js +4 -3
  198. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  199. package/build/components/inserter/hooks/use-insertion-point.js +1 -1
  200. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  201. package/build/components/inserter/index.js +8 -8
  202. package/build/components/inserter/index.js.map +1 -1
  203. package/build/components/inserter/index.native.js +4 -5
  204. package/build/components/inserter/index.native.js.map +1 -1
  205. package/build/components/inserter/library.js +1 -1
  206. package/build/components/inserter/library.js.map +1 -1
  207. package/build/components/inserter/media-tab/media-list.js +2 -6
  208. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  209. package/build/components/inserter/media-tab/media-preview.js +4 -6
  210. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  211. package/build/components/inserter/media-tab/media-tab.js +1 -1
  212. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  213. package/build/components/inserter/reusable-blocks-tab.js +3 -3
  214. package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
  215. package/build/components/inserter/tabs.js +3 -3
  216. package/build/components/inserter/tabs.js.map +1 -1
  217. package/build/components/inserter-list-item/index.js +4 -5
  218. package/build/components/inserter-list-item/index.js.map +1 -1
  219. package/build/components/inserter-listbox/group.js +4 -7
  220. package/build/components/inserter-listbox/group.js.map +1 -1
  221. package/build/components/inserter-listbox/item.js +8 -7
  222. package/build/components/inserter-listbox/item.js.map +1 -1
  223. package/build/components/inserter-listbox/row.js +4 -5
  224. package/build/components/inserter-listbox/row.js.map +1 -1
  225. package/build/components/inspector-controls/block-support-slot-container.js +2 -6
  226. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  227. package/build/components/inspector-controls/fill.native.js +2 -1
  228. package/build/components/inspector-controls/fill.native.js.map +1 -1
  229. package/build/components/inspector-controls/index.js +4 -6
  230. package/build/components/inspector-controls/index.js.map +1 -1
  231. package/build/components/inspector-controls/slot.js +4 -6
  232. package/build/components/inspector-controls/slot.js.map +1 -1
  233. package/build/components/inspector-controls/slot.native.js +2 -1
  234. package/build/components/inspector-controls/slot.native.js.map +1 -1
  235. package/build/components/justify-content-control/index.js +4 -6
  236. package/build/components/justify-content-control/index.js.map +1 -1
  237. package/build/components/justify-content-control/ui.js +4 -7
  238. package/build/components/justify-content-control/ui.js.map +1 -1
  239. package/build/components/letter-spacing-control/index.js +2 -4
  240. package/build/components/letter-spacing-control/index.js.map +1 -1
  241. package/build/components/line-height-control/index.js +2 -4
  242. package/build/components/line-height-control/index.js.map +1 -1
  243. package/build/components/link-control/index.js +3 -9
  244. package/build/components/link-control/index.js.map +1 -1
  245. package/build/components/link-control/search-create-button.js +2 -4
  246. package/build/components/link-control/search-create-button.js.map +1 -1
  247. package/build/components/link-control/search-input.js +3 -1
  248. package/build/components/link-control/search-input.js.map +1 -1
  249. package/build/components/link-control/search-item.js +2 -4
  250. package/build/components/link-control/search-item.js.map +1 -1
  251. package/build/components/link-control/search-results.js +2 -4
  252. package/build/components/link-control/search-results.js.map +1 -1
  253. package/build/components/list-view/appender.js +4 -6
  254. package/build/components/list-view/appender.js.map +1 -1
  255. package/build/components/list-view/aria-referenced-text.js +4 -8
  256. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  257. package/build/components/list-view/block-contents.js +4 -5
  258. package/build/components/list-view/block-contents.js.map +1 -1
  259. package/build/components/list-view/block-select-button.js +13 -2
  260. package/build/components/list-view/block-select-button.js.map +1 -1
  261. package/build/components/list-view/branch.js +9 -8
  262. package/build/components/list-view/branch.js.map +1 -1
  263. package/build/components/list-view/drop-indicator.js +62 -11
  264. package/build/components/list-view/drop-indicator.js.map +1 -1
  265. package/build/components/list-view/index.js +4 -6
  266. package/build/components/list-view/index.js.map +1 -1
  267. package/build/components/list-view/leaf.js +4 -5
  268. package/build/components/list-view/leaf.js.map +1 -1
  269. package/build/components/list-view/use-list-view-client-ids.js +2 -22
  270. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  271. package/build/components/list-view/use-list-view-drop-zone.js +46 -34
  272. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  273. package/build/components/media-placeholder/index.js +38 -13
  274. package/build/components/media-placeholder/index.js.map +1 -1
  275. package/build/components/media-replace-flow/index.js +1 -3
  276. package/build/components/media-replace-flow/index.js.map +1 -1
  277. package/build/components/navigable-toolbar/index.js +8 -8
  278. package/build/components/navigable-toolbar/index.js.map +1 -1
  279. package/build/components/panel-color-settings/index.js +4 -5
  280. package/build/components/panel-color-settings/index.js.map +1 -1
  281. package/build/components/plain-text/index.js +8 -8
  282. package/build/components/plain-text/index.js.map +1 -1
  283. package/build/components/plain-text/index.native.js +7 -6
  284. package/build/components/plain-text/index.native.js.map +1 -1
  285. package/build/components/preview-options/index.js +5 -4
  286. package/build/components/preview-options/index.js.map +1 -1
  287. package/build/components/provider/index.js +2 -4
  288. package/build/components/provider/index.js.map +1 -1
  289. package/build/components/provider/with-registry-provider.js +8 -10
  290. package/build/components/provider/with-registry-provider.js.map +1 -1
  291. package/build/components/publish-date-time-picker/index.js +4 -5
  292. package/build/components/publish-date-time-picker/index.js.map +1 -1
  293. package/build/components/resizable-box-popover/index.js +5 -5
  294. package/build/components/resizable-box-popover/index.js.map +1 -1
  295. package/build/components/rich-text/content.js +99 -0
  296. package/build/components/rich-text/content.js.map +1 -0
  297. package/build/components/rich-text/format-toolbar/index.js +1 -2
  298. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  299. package/build/components/rich-text/index.js +8 -42
  300. package/build/components/rich-text/index.js.map +1 -1
  301. package/build/components/rich-text/index.native.js +6 -34
  302. package/build/components/rich-text/index.native.js.map +1 -1
  303. package/build/components/rich-text/toolbar-button.js +2 -6
  304. package/build/components/rich-text/toolbar-button.js.map +1 -1
  305. package/build/components/spacing-sizes-control/index.js +8 -8
  306. package/build/components/spacing-sizes-control/index.js.map +1 -1
  307. package/build/components/tool-selector/index.js +2 -6
  308. package/build/components/tool-selector/index.js.map +1 -1
  309. package/build/components/unit-control/index.js +4 -5
  310. package/build/components/unit-control/index.js.map +1 -1
  311. package/build/components/url-input/index.js +8 -8
  312. package/build/components/url-input/index.js.map +1 -1
  313. package/build/components/url-input/index.native.js +4 -7
  314. package/build/components/url-input/index.native.js.map +1 -1
  315. package/build/components/url-popover/image-url-input-ui.js +21 -14
  316. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  317. package/build/components/url-popover/index.js +4 -5
  318. package/build/components/url-popover/index.js.map +1 -1
  319. package/build/components/url-popover/link-editor.js +4 -5
  320. package/build/components/url-popover/link-editor.js.map +1 -1
  321. package/build/components/url-popover/link-viewer.js +4 -5
  322. package/build/components/url-popover/link-viewer.js.map +1 -1
  323. package/build/components/use-block-display-information/index.js +30 -2
  324. package/build/components/use-block-display-information/index.js.map +1 -1
  325. package/build/components/video-player/index.native.js +2 -4
  326. package/build/components/video-player/index.native.js.map +1 -1
  327. package/build/components/warning/index.native.js +4 -5
  328. package/build/components/warning/index.native.js.map +1 -1
  329. package/build/components/writing-flow/index.js +2 -4
  330. package/build/components/writing-flow/index.js.map +1 -1
  331. package/build/components/writing-flow/use-drag-selection.js +1 -1
  332. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  333. package/build/components/writing-flow/use-tab-nav.js +32 -4
  334. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  335. package/build/hooks/align.js +8 -8
  336. package/build/hooks/align.js.map +1 -1
  337. package/build/hooks/anchor.js +4 -2
  338. package/build/hooks/anchor.js.map +1 -1
  339. package/build/hooks/behaviors.js +75 -37
  340. package/build/hooks/behaviors.js.map +1 -1
  341. package/build/hooks/border.js +4 -5
  342. package/build/hooks/border.js.map +1 -1
  343. package/build/hooks/color.js +4 -5
  344. package/build/hooks/color.js.map +1 -1
  345. package/build/hooks/content-lock-ui.js +8 -10
  346. package/build/hooks/content-lock-ui.js.map +1 -1
  347. package/build/hooks/custom-class-name.js +4 -2
  348. package/build/hooks/custom-class-name.js.map +1 -1
  349. package/build/hooks/dimensions.js +7 -7
  350. package/build/hooks/dimensions.js.map +1 -1
  351. package/build/hooks/duotone.js +5 -5
  352. package/build/hooks/duotone.js.map +1 -1
  353. package/build/hooks/font-family.js +2 -6
  354. package/build/hooks/font-family.js.map +1 -1
  355. package/build/hooks/font-size.js +10 -8
  356. package/build/hooks/font-size.js.map +1 -1
  357. package/build/hooks/layout.js +30 -28
  358. package/build/hooks/layout.js.map +1 -1
  359. package/build/hooks/position.js +24 -16
  360. package/build/hooks/position.js.map +1 -1
  361. package/build/hooks/style.js +8 -5
  362. package/build/hooks/style.js.map +1 -1
  363. package/build/hooks/supports.js +1 -1
  364. package/build/hooks/supports.js.map +1 -1
  365. package/build/hooks/typography.native.js +3 -1
  366. package/build/hooks/typography.native.js.map +1 -1
  367. package/build/hooks/use-typography-props.js +10 -17
  368. package/build/hooks/use-typography-props.js.map +1 -1
  369. package/build/index.js +0 -14
  370. package/build/index.js.map +1 -1
  371. package/build/layouts/constrained.js +3 -1
  372. package/build/layouts/constrained.js.map +1 -1
  373. package/build/layouts/definitions.js +154 -0
  374. package/build/layouts/definitions.js.map +1 -0
  375. package/build/layouts/flex.js +8 -5
  376. package/build/layouts/flex.js.map +1 -1
  377. package/build/layouts/flow.js +3 -1
  378. package/build/layouts/flow.js.map +1 -1
  379. package/build/layouts/grid.js +3 -1
  380. package/build/layouts/grid.js.map +1 -1
  381. package/build/layouts/utils.js +8 -2
  382. package/build/layouts/utils.js.map +1 -1
  383. package/build/private-apis.js +17 -1
  384. package/build/private-apis.js.map +1 -1
  385. package/build/store/actions.js +2 -62
  386. package/build/store/actions.js.map +1 -1
  387. package/build/store/private-actions.js +200 -0
  388. package/build/store/private-actions.js.map +1 -1
  389. package/build/store/private-selectors.js +72 -4
  390. package/build/store/private-selectors.js.map +1 -1
  391. package/build/store/reducer.js +52 -1
  392. package/build/store/reducer.js.map +1 -1
  393. package/build/store/selectors.js +42 -42
  394. package/build/store/selectors.js.map +1 -1
  395. package/build/utils/object.js +39 -0
  396. package/build/utils/object.js.map +1 -1
  397. package/build-module/autocompleters/block.js +5 -3
  398. package/build-module/autocompleters/block.js.map +1 -1
  399. package/build-module/components/alignment-control/index.js +4 -5
  400. package/build-module/components/alignment-control/index.js.map +1 -1
  401. package/build-module/components/alignment-control/ui.js +5 -6
  402. package/build-module/components/alignment-control/ui.js.map +1 -1
  403. package/build-module/components/autocomplete/index.js +2 -3
  404. package/build-module/components/autocomplete/index.js.map +1 -1
  405. package/build-module/components/block-actions/index.js +4 -0
  406. package/build-module/components/block-actions/index.js.map +1 -1
  407. package/build-module/components/block-alignment-control/constants.js +0 -3
  408. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  409. package/build-module/components/block-alignment-control/index.js +4 -5
  410. package/build-module/components/block-alignment-control/index.js.map +1 -1
  411. package/build-module/components/block-alignment-control/ui.js +4 -4
  412. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  413. package/build-module/components/block-alignment-control/ui.native.js +3 -2
  414. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  415. package/build-module/components/block-alignment-matrix-control/index.js +0 -1
  416. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  417. package/build-module/components/block-breadcrumb/index.js +2 -3
  418. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  419. package/build-module/components/block-controls/fill.js +2 -1
  420. package/build-module/components/block-controls/fill.js.map +1 -1
  421. package/build-module/components/block-controls/index.js +8 -7
  422. package/build-module/components/block-controls/index.js.map +1 -1
  423. package/build-module/components/block-controls/slot.js +2 -3
  424. package/build-module/components/block-controls/slot.js.map +1 -1
  425. package/build-module/components/block-controls/slot.native.js +4 -2
  426. package/build-module/components/block-controls/slot.native.js.map +1 -1
  427. package/build-module/components/block-edit/edit.js +4 -5
  428. package/build-module/components/block-edit/edit.js.map +1 -1
  429. package/build-module/components/block-edit/edit.native.js +2 -3
  430. package/build-module/components/block-edit/edit.native.js.map +1 -1
  431. package/build-module/components/block-edit/index.js +3 -2
  432. package/build-module/components/block-edit/index.js.map +1 -1
  433. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +39 -0
  434. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
  435. package/build-module/components/block-heading-level-dropdown/index.js +71 -0
  436. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -0
  437. package/build-module/components/block-heading-level-dropdown/index.native.js +60 -0
  438. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -0
  439. package/build-module/components/block-icon/index.native.js +6 -6
  440. package/build-module/components/block-icon/index.native.js.map +1 -1
  441. package/build-module/components/block-info-slot-fill/index.js +4 -2
  442. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  443. package/build-module/components/block-inspector/index.js +20 -88
  444. package/build-module/components/block-inspector/index.js.map +1 -1
  445. package/build-module/components/block-list/block-list-item.native.js +4 -2
  446. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  447. package/build-module/components/block-list/block.js +6 -4
  448. package/build-module/components/block-list/block.js.map +1 -1
  449. package/build-module/components/block-list/block.native.js +1 -0
  450. package/build-module/components/block-list/block.native.js.map +1 -1
  451. package/build-module/components/block-list/index.js +7 -4
  452. package/build-module/components/block-list/index.js.map +1 -1
  453. package/build-module/components/block-list/index.native.js +8 -8
  454. package/build-module/components/block-list/index.native.js.map +1 -1
  455. package/build-module/components/block-list/subdirectory-icon.js +4 -4
  456. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  457. package/build-module/components/block-list/use-in-between-inserter.js +1 -3
  458. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  459. package/build-module/components/block-list-appender/index.js +21 -19
  460. package/build-module/components/block-list-appender/index.js.map +1 -1
  461. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  462. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  463. package/build-module/components/block-mover/button.js +12 -11
  464. package/build-module/components/block-mover/button.js.map +1 -1
  465. package/build-module/components/block-mover/index.js +11 -9
  466. package/build-module/components/block-mover/index.js.map +1 -1
  467. package/build-module/components/block-navigation/dropdown.js +4 -5
  468. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  469. package/build-module/components/block-parent-selector/index.js +4 -4
  470. package/build-module/components/block-parent-selector/index.js.map +1 -1
  471. package/build-module/components/block-pattern-setup/index.js +6 -7
  472. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  473. package/build-module/components/block-patterns-list/index.js +6 -7
  474. package/build-module/components/block-patterns-list/index.js.map +1 -1
  475. package/build-module/components/block-popover/inbetween.js +4 -5
  476. package/build-module/components/block-popover/inbetween.js.map +1 -1
  477. package/build-module/components/block-popover/index.js +4 -5
  478. package/build-module/components/block-popover/index.js.map +1 -1
  479. package/build-module/components/block-preview/auto.js +2 -3
  480. package/build-module/components/block-preview/auto.js.map +1 -1
  481. package/build-module/components/block-preview/index.js +7 -7
  482. package/build-module/components/block-preview/index.js.map +1 -1
  483. package/build-module/components/block-quick-navigation/index.js +69 -0
  484. package/build-module/components/block-quick-navigation/index.js.map +1 -0
  485. package/build-module/components/block-removal-warning-modal/index.js +76 -0
  486. package/build-module/components/block-removal-warning-modal/index.js.map +1 -0
  487. package/build-module/components/block-selection-clearer/index.js +4 -4
  488. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  489. package/build-module/components/block-settings/button.native.js +2 -1
  490. package/build-module/components/block-settings/button.native.js.map +1 -1
  491. package/build-module/components/block-settings/container.native.js +6 -5
  492. package/build-module/components/block-settings/container.native.js.map +1 -1
  493. package/build-module/components/block-settings-menu/block-settings-dropdown.js +10 -10
  494. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  495. package/build-module/components/block-settings-menu/index.js +4 -4
  496. package/build-module/components/block-settings-menu/index.js.map +1 -1
  497. package/build-module/components/block-settings-menu-controls/index.js +4 -4
  498. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  499. package/build-module/components/block-switcher/index.js +1 -2
  500. package/build-module/components/block-switcher/index.js.map +1 -1
  501. package/build-module/components/block-switcher/pattern-transformations-menu.js +6 -7
  502. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  503. package/build-module/components/block-toolbar/index.js +4 -4
  504. package/build-module/components/block-toolbar/index.js.map +1 -1
  505. package/build-module/components/block-tools/block-contextual-toolbar.js +4 -4
  506. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  507. package/build-module/components/block-tools/block-selection-button.js +4 -4
  508. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  509. package/build-module/components/block-tools/index.js +13 -5
  510. package/build-module/components/block-tools/index.js.map +1 -1
  511. package/build-module/components/block-tools/insertion-point.js +5 -4
  512. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  513. package/build-module/components/block-tools/selected-block-popover.js +8 -7
  514. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  515. package/build-module/components/block-types-list/index.native.js +4 -5
  516. package/build-module/components/block-types-list/index.native.js.map +1 -1
  517. package/build-module/components/block-vertical-alignment-control/index.js +4 -5
  518. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  519. package/build-module/components/block-vertical-alignment-control/ui.js +5 -9
  520. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  521. package/build-module/components/border-radius-control/all-input-control.js +2 -3
  522. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  523. package/build-module/components/border-radius-control/input-controls.js +2 -3
  524. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  525. package/build-module/components/border-radius-control/linked-button.js +2 -3
  526. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  527. package/build-module/components/color-palette/control.js +2 -3
  528. package/build-module/components/color-palette/control.js.map +1 -1
  529. package/build-module/components/color-palette/with-color-context.js +2 -3
  530. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  531. package/build-module/components/colors/utils.js +5 -1
  532. package/build-module/components/colors/utils.js.map +1 -1
  533. package/build-module/components/colors/with-colors.js +10 -14
  534. package/build-module/components/colors/with-colors.js.map +1 -1
  535. package/build-module/components/colors-gradients/control.js +7 -4
  536. package/build-module/components/colors-gradients/control.js.map +1 -1
  537. package/build-module/components/colors-gradients/dropdown.js +12 -10
  538. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  539. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +7 -4
  540. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  541. package/build-module/components/copy-handler/index.js +5 -6
  542. package/build-module/components/copy-handler/index.js.map +1 -1
  543. package/build-module/components/duotone-control/index.js +1 -2
  544. package/build-module/components/duotone-control/index.js.map +1 -1
  545. package/build-module/components/editable-text/index.js +6 -6
  546. package/build-module/components/editable-text/index.js.map +1 -1
  547. package/build-module/components/font-appearance-control/index.js +2 -3
  548. package/build-module/components/font-appearance-control/index.js.map +1 -1
  549. package/build-module/components/font-family/index.js +4 -4
  550. package/build-module/components/font-family/index.js.map +1 -1
  551. package/build-module/components/font-sizes/font-size-picker.js +2 -3
  552. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  553. package/build-module/components/font-sizes/utils.js +2 -2
  554. package/build-module/components/font-sizes/utils.js.map +1 -1
  555. package/build-module/components/font-sizes/with-font-sizes.js +7 -6
  556. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  557. package/build-module/components/global-styles/color-panel.js +15 -15
  558. package/build-module/components/global-styles/color-panel.js.map +1 -1
  559. package/build-module/components/global-styles/effects-panel.js +2 -1
  560. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  561. package/build-module/components/global-styles/filters-panel.js +2 -1
  562. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  563. package/build-module/components/global-styles/index.js +1 -1
  564. package/build-module/components/global-styles/index.js.map +1 -1
  565. package/build-module/components/global-styles/typography-panel.js +7 -7
  566. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  567. package/build-module/components/global-styles/use-global-styles-output.js +11 -10
  568. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  569. package/build-module/components/gradients/with-gradient.js +2 -3
  570. package/build-module/components/gradients/with-gradient.js.map +1 -1
  571. package/build-module/components/iframe/index.js +5 -6
  572. package/build-module/components/iframe/index.js.map +1 -1
  573. package/build-module/components/image-editor/constants.js +1 -2
  574. package/build-module/components/image-editor/constants.js.map +1 -1
  575. package/build-module/components/index.js +1 -1
  576. package/build-module/components/index.js.map +1 -1
  577. package/build-module/components/index.native.js +1 -0
  578. package/build-module/components/index.native.js.map +1 -1
  579. package/build-module/components/inner-blocks/index.js +9 -7
  580. package/build-module/components/inner-blocks/index.js.map +1 -1
  581. package/build-module/components/inner-blocks/index.native.js +8 -6
  582. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  583. package/build-module/components/inner-blocks/use-nested-settings-update.js +24 -27
  584. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  585. package/build-module/components/inner-blocks/with-client-id.js +2 -3
  586. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  587. package/build-module/components/inserter/block-patterns-explorer/explorer.js +2 -1
  588. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  589. package/build-module/components/inserter/block-patterns-tab.js +33 -7
  590. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  591. package/build-module/components/inserter/hooks/use-block-types-state.js +4 -3
  592. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  593. package/build-module/components/inserter/hooks/use-insertion-point.js +1 -1
  594. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  595. package/build-module/components/inserter/index.js +8 -7
  596. package/build-module/components/inserter/index.js.map +1 -1
  597. package/build-module/components/inserter/index.native.js +4 -4
  598. package/build-module/components/inserter/index.native.js.map +1 -1
  599. package/build-module/components/inserter/library.js +1 -1
  600. package/build-module/components/inserter/library.js.map +1 -1
  601. package/build-module/components/inserter/media-tab/media-list.js +2 -3
  602. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  603. package/build-module/components/inserter/media-tab/media-preview.js +4 -5
  604. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  605. package/build-module/components/inserter/media-tab/media-tab.js +3 -3
  606. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  607. package/build-module/components/inserter/reusable-blocks-tab.js +3 -3
  608. package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
  609. package/build-module/components/inserter/tabs.js +3 -3
  610. package/build-module/components/inserter/tabs.js.map +1 -1
  611. package/build-module/components/inserter-list-item/index.js +4 -4
  612. package/build-module/components/inserter-list-item/index.js.map +1 -1
  613. package/build-module/components/inserter-listbox/group.js +4 -4
  614. package/build-module/components/inserter-listbox/group.js.map +1 -1
  615. package/build-module/components/inserter-listbox/item.js +8 -6
  616. package/build-module/components/inserter-listbox/item.js.map +1 -1
  617. package/build-module/components/inserter-listbox/row.js +4 -4
  618. package/build-module/components/inserter-listbox/row.js.map +1 -1
  619. package/build-module/components/inspector-controls/block-support-slot-container.js +2 -3
  620. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  621. package/build-module/components/inspector-controls/fill.native.js +2 -1
  622. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  623. package/build-module/components/inspector-controls/index.js +4 -5
  624. package/build-module/components/inspector-controls/index.js.map +1 -1
  625. package/build-module/components/inspector-controls/slot.js +4 -5
  626. package/build-module/components/inspector-controls/slot.js.map +1 -1
  627. package/build-module/components/inspector-controls/slot.native.js +2 -1
  628. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  629. package/build-module/components/justify-content-control/index.js +4 -5
  630. package/build-module/components/justify-content-control/index.js.map +1 -1
  631. package/build-module/components/justify-content-control/ui.js +4 -4
  632. package/build-module/components/justify-content-control/ui.js.map +1 -1
  633. package/build-module/components/letter-spacing-control/index.js +2 -3
  634. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  635. package/build-module/components/line-height-control/index.js +2 -3
  636. package/build-module/components/line-height-control/index.js.map +1 -1
  637. package/build-module/components/link-control/index.js +3 -9
  638. package/build-module/components/link-control/index.js.map +1 -1
  639. package/build-module/components/link-control/search-create-button.js +2 -3
  640. package/build-module/components/link-control/search-create-button.js.map +1 -1
  641. package/build-module/components/link-control/search-input.js +3 -1
  642. package/build-module/components/link-control/search-input.js.map +1 -1
  643. package/build-module/components/link-control/search-item.js +2 -3
  644. package/build-module/components/link-control/search-item.js.map +1 -1
  645. package/build-module/components/link-control/search-results.js +2 -3
  646. package/build-module/components/link-control/search-results.js.map +1 -1
  647. package/build-module/components/list-view/appender.js +4 -5
  648. package/build-module/components/list-view/appender.js.map +1 -1
  649. package/build-module/components/list-view/aria-referenced-text.js +4 -5
  650. package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
  651. package/build-module/components/list-view/block-contents.js +4 -4
  652. package/build-module/components/list-view/block-contents.js.map +1 -1
  653. package/build-module/components/list-view/block-select-button.js +14 -4
  654. package/build-module/components/list-view/block-select-button.js.map +1 -1
  655. package/build-module/components/list-view/branch.js +9 -7
  656. package/build-module/components/list-view/branch.js.map +1 -1
  657. package/build-module/components/list-view/drop-indicator.js +61 -11
  658. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  659. package/build-module/components/list-view/index.js +4 -5
  660. package/build-module/components/list-view/index.js.map +1 -1
  661. package/build-module/components/list-view/leaf.js +4 -4
  662. package/build-module/components/list-view/leaf.js.map +1 -1
  663. package/build-module/components/list-view/use-list-view-client-ids.js +2 -22
  664. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  665. package/build-module/components/list-view/use-list-view-drop-zone.js +45 -34
  666. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  667. package/build-module/components/media-placeholder/index.js +38 -13
  668. package/build-module/components/media-placeholder/index.js.map +1 -1
  669. package/build-module/components/media-replace-flow/index.js +1 -3
  670. package/build-module/components/media-replace-flow/index.js.map +1 -1
  671. package/build-module/components/navigable-toolbar/index.js +8 -7
  672. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  673. package/build-module/components/panel-color-settings/index.js +4 -4
  674. package/build-module/components/panel-color-settings/index.js.map +1 -1
  675. package/build-module/components/plain-text/index.js +8 -7
  676. package/build-module/components/plain-text/index.js.map +1 -1
  677. package/build-module/components/plain-text/index.native.js +7 -5
  678. package/build-module/components/plain-text/index.native.js.map +1 -1
  679. package/build-module/components/preview-options/index.js +5 -4
  680. package/build-module/components/preview-options/index.js.map +1 -1
  681. package/build-module/components/provider/index.js +2 -3
  682. package/build-module/components/provider/index.js.map +1 -1
  683. package/build-module/components/provider/with-registry-provider.js +8 -7
  684. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  685. package/build-module/components/publish-date-time-picker/index.js +4 -4
  686. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  687. package/build-module/components/resizable-box-popover/index.js +5 -4
  688. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  689. package/build-module/components/rich-text/content.js +85 -0
  690. package/build-module/components/rich-text/content.js.map +1 -0
  691. package/build-module/components/rich-text/format-toolbar/index.js +1 -2
  692. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  693. package/build-module/components/rich-text/index.js +8 -42
  694. package/build-module/components/rich-text/index.js.map +1 -1
  695. package/build-module/components/rich-text/index.native.js +6 -34
  696. package/build-module/components/rich-text/index.native.js.map +1 -1
  697. package/build-module/components/rich-text/toolbar-button.js +2 -3
  698. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  699. package/build-module/components/spacing-sizes-control/index.js +8 -7
  700. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  701. package/build-module/components/tool-selector/index.js +2 -3
  702. package/build-module/components/tool-selector/index.js.map +1 -1
  703. package/build-module/components/unit-control/index.js +4 -4
  704. package/build-module/components/unit-control/index.js.map +1 -1
  705. package/build-module/components/url-input/index.js +8 -7
  706. package/build-module/components/url-input/index.js.map +1 -1
  707. package/build-module/components/url-input/index.native.js +4 -4
  708. package/build-module/components/url-input/index.native.js.map +1 -1
  709. package/build-module/components/url-popover/image-url-input-ui.js +22 -15
  710. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  711. package/build-module/components/url-popover/index.js +4 -4
  712. package/build-module/components/url-popover/index.js.map +1 -1
  713. package/build-module/components/url-popover/link-editor.js +4 -4
  714. package/build-module/components/url-popover/link-editor.js.map +1 -1
  715. package/build-module/components/url-popover/link-viewer.js +4 -4
  716. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  717. package/build-module/components/use-block-display-information/index.js +29 -2
  718. package/build-module/components/use-block-display-information/index.js.map +1 -1
  719. package/build-module/components/video-player/index.native.js +2 -3
  720. package/build-module/components/video-player/index.native.js.map +1 -1
  721. package/build-module/components/warning/index.native.js +4 -4
  722. package/build-module/components/warning/index.native.js.map +1 -1
  723. package/build-module/components/writing-flow/index.js +2 -3
  724. package/build-module/components/writing-flow/index.js.map +1 -1
  725. package/build-module/components/writing-flow/use-drag-selection.js +1 -1
  726. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  727. package/build-module/components/writing-flow/use-tab-nav.js +32 -5
  728. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  729. package/build-module/hooks/align.js +8 -7
  730. package/build-module/hooks/align.js.map +1 -1
  731. package/build-module/hooks/anchor.js +4 -2
  732. package/build-module/hooks/anchor.js.map +1 -1
  733. package/build-module/hooks/behaviors.js +76 -34
  734. package/build-module/hooks/behaviors.js.map +1 -1
  735. package/build-module/hooks/border.js +4 -4
  736. package/build-module/hooks/border.js.map +1 -1
  737. package/build-module/hooks/color.js +4 -4
  738. package/build-module/hooks/color.js.map +1 -1
  739. package/build-module/hooks/content-lock-ui.js +8 -7
  740. package/build-module/hooks/content-lock-ui.js.map +1 -1
  741. package/build-module/hooks/custom-class-name.js +4 -2
  742. package/build-module/hooks/custom-class-name.js.map +1 -1
  743. package/build-module/hooks/dimensions.js +7 -6
  744. package/build-module/hooks/dimensions.js.map +1 -1
  745. package/build-module/hooks/duotone.js +5 -4
  746. package/build-module/hooks/duotone.js.map +1 -1
  747. package/build-module/hooks/font-family.js +1 -5
  748. package/build-module/hooks/font-family.js.map +1 -1
  749. package/build-module/hooks/font-size.js +10 -9
  750. package/build-module/hooks/font-size.js.map +1 -1
  751. package/build-module/hooks/layout.js +26 -24
  752. package/build-module/hooks/layout.js.map +1 -1
  753. package/build-module/hooks/position.js +23 -15
  754. package/build-module/hooks/position.js.map +1 -1
  755. package/build-module/hooks/style.js +8 -4
  756. package/build-module/hooks/style.js.map +1 -1
  757. package/build-module/hooks/supports.js +1 -1
  758. package/build-module/hooks/supports.js.map +1 -1
  759. package/build-module/hooks/typography.native.js +3 -1
  760. package/build-module/hooks/typography.native.js.map +1 -1
  761. package/build-module/hooks/use-typography-props.js +8 -15
  762. package/build-module/hooks/use-typography-props.js.map +1 -1
  763. package/build-module/index.js +1 -1
  764. package/build-module/index.js.map +1 -1
  765. package/build-module/layouts/constrained.js +2 -1
  766. package/build-module/layouts/constrained.js.map +1 -1
  767. package/build-module/layouts/definitions.js +147 -0
  768. package/build-module/layouts/definitions.js.map +1 -0
  769. package/build-module/layouts/flex.js +8 -6
  770. package/build-module/layouts/flex.js.map +1 -1
  771. package/build-module/layouts/flow.js +2 -1
  772. package/build-module/layouts/flow.js.map +1 -1
  773. package/build-module/layouts/grid.js +2 -1
  774. package/build-module/layouts/grid.js.map +1 -1
  775. package/build-module/layouts/utils.js +7 -2
  776. package/build-module/layouts/utils.js.map +1 -1
  777. package/build-module/private-apis.js +12 -1
  778. package/build-module/private-apis.js.map +1 -1
  779. package/build-module/store/actions.js +2 -62
  780. package/build-module/store/actions.js.map +1 -1
  781. package/build-module/store/private-actions.js +186 -0
  782. package/build-module/store/private-actions.js.map +1 -1
  783. package/build-module/store/private-selectors.js +63 -3
  784. package/build-module/store/private-selectors.js.map +1 -1
  785. package/build-module/store/reducer.js +52 -1
  786. package/build-module/store/reducer.js.map +1 -1
  787. package/build-module/store/selectors.js +42 -42
  788. package/build-module/store/selectors.js.map +1 -1
  789. package/build-module/utils/object.js +37 -1
  790. package/build-module/utils/object.js.map +1 -1
  791. package/build-style/style-rtl.css +16 -21
  792. package/build-style/style.css +16 -21
  793. package/package.json +31 -31
  794. package/src/autocompleters/block.js +4 -2
  795. package/src/components/alignment-control/ui.js +1 -2
  796. package/src/components/block-actions/index.js +10 -0
  797. package/src/components/block-alignment-control/constants.js +0 -4
  798. package/src/components/block-alignment-control/ui.js +1 -6
  799. package/src/components/block-alignment-matrix-control/index.js +1 -1
  800. package/src/components/block-breadcrumb/index.js +2 -6
  801. package/src/components/block-edit/index.js +3 -5
  802. package/src/components/block-heading-level-dropdown/README.md +52 -0
  803. package/src/components/block-heading-level-dropdown/heading-level-icon.js +43 -0
  804. package/src/components/block-heading-level-dropdown/index.js +77 -0
  805. package/src/components/block-heading-level-dropdown/index.native.js +63 -0
  806. package/src/components/block-inspector/index.js +18 -92
  807. package/src/components/block-inspector/style.scss +0 -5
  808. package/src/components/block-list/block.native.js +1 -0
  809. package/src/components/block-list/index.js +1 -1
  810. package/src/components/block-list/use-in-between-inserter.js +0 -4
  811. package/src/components/block-list-appender/index.js +29 -22
  812. package/src/components/block-lock/style.scss +11 -4
  813. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
  814. package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +2 -2
  815. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +3 -3
  816. package/src/components/block-mover/test/index.native.js +1 -20
  817. package/src/components/block-preview/index.js +7 -14
  818. package/src/components/block-quick-navigation/index.js +81 -0
  819. package/src/components/block-removal-warning-modal/index.js +94 -0
  820. package/src/components/block-settings-menu/block-settings-dropdown.js +15 -13
  821. package/src/components/block-switcher/index.js +1 -2
  822. package/src/components/block-toolbar/style.scss +0 -4
  823. package/src/components/block-tools/index.js +10 -1
  824. package/src/components/block-vertical-alignment-control/ui.js +1 -3
  825. package/src/components/colors/utils.js +5 -1
  826. package/src/components/colors/with-colors.js +1 -5
  827. package/src/components/copy-handler/index.js +5 -5
  828. package/src/components/duotone-control/index.js +0 -1
  829. package/src/components/font-sizes/test/fluid-utils.js +97 -76
  830. package/src/components/font-sizes/utils.js +2 -2
  831. package/src/components/global-styles/color-panel.js +3 -3
  832. package/src/components/global-styles/index.js +1 -0
  833. package/src/components/global-styles/test/use-global-styles-output.js +14 -9
  834. package/src/components/global-styles/typography-panel.js +19 -16
  835. package/src/components/global-styles/use-global-styles-output.js +12 -12
  836. package/src/components/iframe/index.js +1 -1
  837. package/src/components/image-editor/constants.js +0 -1
  838. package/src/components/index.js +1 -1
  839. package/src/components/index.native.js +1 -0
  840. package/src/components/inner-blocks/index.js +4 -2
  841. package/src/components/inner-blocks/index.native.js +1 -1
  842. package/src/components/inner-blocks/use-nested-settings-update.js +31 -36
  843. package/src/components/inserter/block-patterns-tab.js +63 -8
  844. package/src/components/inserter/hooks/use-block-types-state.js +4 -3
  845. package/src/components/inserter/hooks/use-insertion-point.js +1 -0
  846. package/src/components/inserter/library.js +2 -1
  847. package/src/components/inserter/media-tab/media-tab.js +9 -3
  848. package/src/components/inserter/reusable-blocks-tab.js +3 -3
  849. package/src/components/inserter/tabs.js +3 -3
  850. package/src/components/link-control/index.js +2 -9
  851. package/src/components/link-control/search-input.js +1 -0
  852. package/src/components/link-control/test/index.js +40 -51
  853. package/src/components/list-view/block-select-button.js +19 -1
  854. package/src/components/list-view/branch.js +6 -3
  855. package/src/components/list-view/drop-indicator.js +94 -9
  856. package/src/components/list-view/style.scss +13 -12
  857. package/src/components/list-view/test/use-list-view-drop-zone.js +188 -93
  858. package/src/components/list-view/use-list-view-client-ids.js +3 -20
  859. package/src/components/list-view/use-list-view-drop-zone.js +97 -54
  860. package/src/components/media-placeholder/index.js +54 -20
  861. package/src/components/media-replace-flow/index.js +1 -3
  862. package/src/components/preview-options/index.js +3 -2
  863. package/src/components/provider/test/experimental-provider.js +9 -6
  864. package/src/components/rich-text/content.js +85 -0
  865. package/src/components/rich-text/format-toolbar/index.js +1 -2
  866. package/src/components/rich-text/index.js +2 -35
  867. package/src/components/rich-text/index.native.js +3 -33
  868. package/src/components/url-popover/image-url-input-ui.js +15 -15
  869. package/src/components/url-popover/test/__snapshots__/index.js.snap +3 -3
  870. package/src/components/use-block-display-information/index.js +26 -0
  871. package/src/components/writing-flow/use-drag-selection.js +1 -1
  872. package/src/components/writing-flow/use-tab-nav.js +42 -6
  873. package/src/hooks/behaviors.js +82 -39
  874. package/src/hooks/font-family.js +1 -5
  875. package/src/hooks/font-size.js +12 -17
  876. package/src/hooks/layout.js +17 -25
  877. package/src/hooks/position.js +24 -12
  878. package/src/hooks/supports.js +1 -1
  879. package/src/hooks/use-typography-props.js +14 -19
  880. package/src/index.js +0 -2
  881. package/src/layouts/constrained.js +2 -1
  882. package/src/layouts/definitions.js +174 -0
  883. package/src/layouts/flex.js +7 -5
  884. package/src/layouts/flow.js +2 -1
  885. package/src/layouts/grid.js +2 -1
  886. package/src/layouts/test/utils.js +2 -7
  887. package/src/layouts/utils.js +7 -2
  888. package/src/private-apis.js +11 -0
  889. package/src/store/actions.js +7 -56
  890. package/src/store/private-actions.js +193 -0
  891. package/src/store/private-selectors.js +108 -35
  892. package/src/store/reducer.js +44 -0
  893. package/src/store/selectors.js +61 -39
  894. package/src/store/test/private-selectors.js +269 -1
  895. package/src/store/test/selectors.js +18 -17
  896. package/src/utils/object.js +35 -0
  897. package/src/utils/test/object.js +96 -1
@@ -21,6 +21,8 @@ var _components2 = require("../components");
21
21
 
22
22
  var _utils2 = require("../hooks/utils");
23
23
 
24
+ var _definitions = require("./definitions");
25
+
24
26
  /**
25
27
  * WordPress dependencies
26
28
  */
@@ -103,7 +105,7 @@ var _default = {
103
105
  style,
104
106
  blockName,
105
107
  hasBlockGapSupport,
106
- layoutDefinitions
108
+ layoutDefinitions = _definitions.LAYOUT_DEFINITIONS
107
109
  }) {
108
110
  const {
109
111
  orientation = 'horizontal'
@@ -217,6 +219,10 @@ function FlexLayoutVerticalAlignmentControl({
217
219
  })));
218
220
  }
219
221
 
222
+ const POPOVER_PROPS = {
223
+ placement: 'bottom-start'
224
+ };
225
+
220
226
  function FlexLayoutJustifyContentControl({
221
227
  layout,
222
228
  onChange,
@@ -246,10 +252,7 @@ function FlexLayoutJustifyContentControl({
246
252
  allowedControls: allowedControls,
247
253
  value: justifyContent,
248
254
  onChange: onJustificationChange,
249
- popoverProps: {
250
- position: 'bottom right',
251
- variant: 'toolbar'
252
- }
255
+ popoverProps: POPOVER_PROPS
253
256
  });
254
257
  }
255
258
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/layouts/flex.js"],"names":["justifyContentMap","left","right","center","alignItemsMap","stretch","verticalAlignmentMap","top","bottom","flexWrapOptions","name","label","inspectorControls","FlexLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowOrientation","toolBarControls","FlexLayoutToolbarControls","allowSwitching","allowVerticalAlignment","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","orientation","blockGapValue","spacing","blockGap","undefined","justifyContent","flexWrap","includes","verticalAlignment","alignItems","output","rules","push","length","join","getOrientation","getAlignments","FlexLayoutVerticalAlignmentControl","isToolbar","defaultVerticalAlignment","onVerticalAlignmentChange","value","verticalAlignmentOptions","map","icon","FlexLayoutJustifyContentControl","onJustificationChange","allowedControls","position","variant","justificationOptions","justifyLeft","justifyCenter","justifyRight","justifySpaceBetween","justifyStretch","FlexWrapControl","OrientationControl","newVerticalAlignment","newJustification","arrowRight","arrowDown"],"mappings":"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","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';\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,\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\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\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={ {\n\t\t\t\t\tposition: 'bottom right',\n\t\t\t\t\tvariant: 'toolbar',\n\t\t\t\t} }\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__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__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"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/layouts/flex.js"],"names":["justifyContentMap","left","right","center","alignItemsMap","stretch","verticalAlignmentMap","top","bottom","flexWrapOptions","name","label","inspectorControls","FlexLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowOrientation","toolBarControls","FlexLayoutToolbarControls","allowSwitching","allowVerticalAlignment","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","LAYOUT_DEFINITIONS","orientation","blockGapValue","spacing","blockGap","undefined","justifyContent","flexWrap","includes","verticalAlignment","alignItems","output","rules","push","length","join","getOrientation","getAlignments","FlexLayoutVerticalAlignmentControl","isToolbar","defaultVerticalAlignment","onVerticalAlignmentChange","value","verticalAlignmentOptions","map","icon","POPOVER_PROPS","placement","FlexLayoutJustifyContentControl","onJustificationChange","allowedControls","justificationOptions","justifyLeft","justifyCenter","justifyRight","justifySpaceBetween","justifyStretch","FlexWrapControl","OrientationControl","newVerticalAlignment","newJustification","arrowRight","arrowDown"],"mappings":"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","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\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__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__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"]}
@@ -13,6 +13,8 @@ var _gap = require("../hooks/gap");
13
13
 
14
14
  var _utils2 = require("../hooks/utils");
15
15
 
16
+ var _definitions = require("./definitions");
17
+
16
18
  /**
17
19
  * WordPress dependencies
18
20
  */
@@ -34,7 +36,7 @@ var _default = {
34
36
  style,
35
37
  blockName,
36
38
  hasBlockGapSupport,
37
- layoutDefinitions
39
+ layoutDefinitions = _definitions.LAYOUT_DEFINITIONS
38
40
  }) {
39
41
  const blockGapStyleValue = (0, _gap.getGapCSSValue)(style?.spacing?.blockGap); // If a block's block.json skips serialization for spacing or
40
42
  // spacing.blockGap, don't apply the user-defined value to the styles.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/layouts/flow.js"],"names":["name","label","inspectorControls","DefaultLayoutInspectorControls","toolBarControls","DefaultLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","blockGapStyleValue","spacing","blockGap","blockGapValue","top","output","getOrientation","getAlignments","layout","isBlockBasedTheme","alignmentInfo","alignments","undefined","includes","unshift","map","alignment","info","contentSize","wideSize","wide","none"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\n\nexport default {\n\tname: 'default',\n\tlabel: __( 'Flow' ),\n\tinspectorControls: function DefaultLayoutInspectorControls() {\n\t\treturn null;\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions,\n\t} ) {\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\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\tlet output = '';\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'default',\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, isBlockBasedTheme ) {\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\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\t// This is for backwards compatibility with hybrid themes.\n\t\tif ( ! isBlockBasedTheme ) {\n\t\t\tconst { contentSize, wideSize } = layout;\n\t\t\tif ( contentSize ) {\n\t\t\t\talignments.unshift( { name: 'full' } );\n\t\t\t}\n\n\t\t\tif ( wideSize ) {\n\t\t\t\talignments.unshift( {\n\t\t\t\t\tname: 'wide',\n\t\t\t\t\tinfo: alignmentInfo.wide,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/layouts/flow.js"],"names":["name","label","inspectorControls","DefaultLayoutInspectorControls","toolBarControls","DefaultLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","LAYOUT_DEFINITIONS","blockGapStyleValue","spacing","blockGap","blockGapValue","top","output","getOrientation","getAlignments","layout","isBlockBasedTheme","alignmentInfo","alignments","undefined","includes","unshift","map","alignment","info","contentSize","wideSize","wide","none"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nexport default {\n\tname: 'default',\n\tlabel: __( 'Flow' ),\n\tinspectorControls: function DefaultLayoutInspectorControls() {\n\t\treturn null;\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\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\tlet output = '';\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'default',\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, isBlockBasedTheme ) {\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\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\t// This is for backwards compatibility with hybrid themes.\n\t\tif ( ! isBlockBasedTheme ) {\n\t\t\tconst { contentSize, wideSize } = layout;\n\t\t\tif ( contentSize ) {\n\t\t\t\talignments.unshift( { name: 'full' } );\n\t\t\t}\n\n\t\t\tif ( wideSize ) {\n\t\t\t\talignments.unshift( {\n\t\t\t\t\tname: 'wide',\n\t\t\t\t\tinfo: alignmentInfo.wide,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n"]}
@@ -17,6 +17,8 @@ var _gap = require("../hooks/gap");
17
17
 
18
18
  var _utils2 = require("../hooks/utils");
19
19
 
20
+ var _definitions = require("./definitions");
21
+
20
22
  /**
21
23
  * WordPress dependencies
22
24
  */
@@ -56,7 +58,7 @@ var _default = {
56
58
  style,
57
59
  blockName,
58
60
  hasBlockGapSupport,
59
- layoutDefinitions
61
+ layoutDefinitions = _definitions.LAYOUT_DEFINITIONS
60
62
  }) {
61
63
  const {
62
64
  minimumColumnWidth = '12rem',
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/layouts/grid.js"],"names":["RANGE_CONTROL_MAX_VALUES","px","vw","vh","em","rem","name","label","inspectorControls","GridLayoutInspectorControls","layout","onChange","columnCount","toolBarControls","DefaultLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","minimumColumnWidth","blockGapValue","spacing","blockGap","undefined","output","rules","push","length","join","getOrientation","getAlignments","GridLayoutMinimumWidthControl","value","quantity","unit","handleSliderChange","next","handleUnitChange","newUnit","newValue","includes","toFixed","Math","round","GridLayoutColumnsControl"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nimport {\n\tBaseControl,\n\tFlex,\n\tFlexItem,\n\tRangeControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\n\nconst RANGE_CONTROL_MAX_VALUES = {\n\tpx: 600,\n\t'%': 100,\n\tvw: 100,\n\tvh: 100,\n\tem: 38,\n\trem: 38,\n};\n\nexport default {\n\tname: 'grid',\n\tlabel: __( 'Grid' ),\n\tinspectorControls: function GridLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t} ) {\n\t\treturn layout?.columnCount ? (\n\t\t\t<GridLayoutColumnsControl layout={ layout } onChange={ onChange } />\n\t\t) : (\n\t\t\t<GridLayoutMinimumWidthControl\n\t\t\t\tlayout={ layout }\n\t\t\t\tonChange={ onChange }\n\t\t\t/>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions,\n\t} ) {\n\t\tconst { minimumColumnWidth = '12rem', columnCount = null } = 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\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tif ( columnCount ) {\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(${ columnCount }, minmax(0, 1fr))`\n\t\t\t);\n\t\t} else if ( minimumColumnWidth ) {\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(auto-fill, minmax(min(${ minimumColumnWidth }, 100%), 1fr))`\n\t\t\t);\n\t\t}\n\n\t\tif ( rules.length ) {\n\t\t\t// Reason to disable: the extra line breaks added by prettier mess with the unit tests.\n\t\t\t// eslint-disable-next-line prettier/prettier\n\t\t\toutput = `${ appendSelectors( selector ) } { ${ rules.join(\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 && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'grid',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'horizontal';\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\n// Enables setting minimum width of grid items.\nfunction GridLayoutMinimumWidthControl( { layout, onChange } ) {\n\tconst { minimumColumnWidth: value = '12rem' } = layout;\n\tconst [ quantity, unit ] = parseQuantityAndUnitFromRawValue( value );\n\n\tconst handleSliderChange = ( next ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tminimumColumnWidth: [ next, unit ].join( '' ),\n\t\t} );\n\t};\n\n\t// Mostly copied from HeightControl.\n\tconst handleUnitChange = ( newUnit ) => {\n\t\t// Attempt to smooth over differences between currentUnit and newUnit.\n\t\t// This should slightly improve the experience of switching between unit types.\n\t\tlet newValue;\n\n\t\tif ( [ 'em', 'rem' ].includes( newUnit ) && unit === 'px' ) {\n\t\t\t// Convert pixel value to an approximate of the new unit, assuming a root size of 16px.\n\t\t\tnewValue = ( quantity / 16 ).toFixed( 2 ) + newUnit;\n\t\t} else if ( [ 'em', 'rem' ].includes( unit ) && newUnit === 'px' ) {\n\t\t\t// Convert to pixel value assuming a root size of 16px.\n\t\t\tnewValue = Math.round( quantity * 16 ) + newUnit;\n\t\t} else if (\n\t\t\t[ 'vh', 'vw', '%' ].includes( newUnit ) &&\n\t\t\tquantity > 100\n\t\t) {\n\t\t\t// When converting to `vh`, `vw`, or `%` units, cap the new value at 100.\n\t\t\tnewValue = 100 + newUnit;\n\t\t}\n\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tminimumColumnWidth: newValue,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<fieldset>\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ __( 'Minimum column width' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<Flex gap={ 4 }>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\tminimumColumnWidth: newValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonUnitChange={ handleUnitChange }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tonChange={ handleSliderChange }\n\t\t\t\t\t\tvalue={ quantity }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ RANGE_CONTROL_MAX_VALUES[ unit ] || 600 }\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</fieldset>\n\t);\n}\n\n// Enables setting number of grid columns\nfunction GridLayoutColumnsControl( { layout, onChange } ) {\n\tconst { columnCount = 3 } = layout;\n\n\treturn (\n\t\t<RangeControl\n\t\t\tlabel={ __( 'Columns' ) }\n\t\t\tvalue={ columnCount }\n\t\t\tonChange={ ( value ) =>\n\t\t\t\tonChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tcolumnCount: value,\n\t\t\t\t} )\n\t\t\t}\n\t\t\tmin={ 1 }\n\t\t\tmax={ 6 }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/layouts/grid.js"],"names":["RANGE_CONTROL_MAX_VALUES","px","vw","vh","em","rem","name","label","inspectorControls","GridLayoutInspectorControls","layout","onChange","columnCount","toolBarControls","DefaultLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","LAYOUT_DEFINITIONS","minimumColumnWidth","blockGapValue","spacing","blockGap","undefined","output","rules","push","length","join","getOrientation","getAlignments","GridLayoutMinimumWidthControl","value","quantity","unit","handleSliderChange","next","handleUnitChange","newUnit","newValue","includes","toFixed","Math","round","GridLayoutColumnsControl"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nimport {\n\tBaseControl,\n\tFlex,\n\tFlexItem,\n\tRangeControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nconst RANGE_CONTROL_MAX_VALUES = {\n\tpx: 600,\n\t'%': 100,\n\tvw: 100,\n\tvh: 100,\n\tem: 38,\n\trem: 38,\n};\n\nexport default {\n\tname: 'grid',\n\tlabel: __( 'Grid' ),\n\tinspectorControls: function GridLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t} ) {\n\t\treturn layout?.columnCount ? (\n\t\t\t<GridLayoutColumnsControl layout={ layout } onChange={ onChange } />\n\t\t) : (\n\t\t\t<GridLayoutMinimumWidthControl\n\t\t\t\tlayout={ layout }\n\t\t\t\tonChange={ onChange }\n\t\t\t/>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls() {\n\t\treturn null;\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 { minimumColumnWidth = '12rem', columnCount = null } = 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\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tif ( columnCount ) {\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(${ columnCount }, minmax(0, 1fr))`\n\t\t\t);\n\t\t} else if ( minimumColumnWidth ) {\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(auto-fill, minmax(min(${ minimumColumnWidth }, 100%), 1fr))`\n\t\t\t);\n\t\t}\n\n\t\tif ( rules.length ) {\n\t\t\t// Reason to disable: the extra line breaks added by prettier mess with the unit tests.\n\t\t\t// eslint-disable-next-line prettier/prettier\n\t\t\toutput = `${ appendSelectors( selector ) } { ${ rules.join(\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 && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'grid',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'horizontal';\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\n// Enables setting minimum width of grid items.\nfunction GridLayoutMinimumWidthControl( { layout, onChange } ) {\n\tconst { minimumColumnWidth: value = '12rem' } = layout;\n\tconst [ quantity, unit ] = parseQuantityAndUnitFromRawValue( value );\n\n\tconst handleSliderChange = ( next ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tminimumColumnWidth: [ next, unit ].join( '' ),\n\t\t} );\n\t};\n\n\t// Mostly copied from HeightControl.\n\tconst handleUnitChange = ( newUnit ) => {\n\t\t// Attempt to smooth over differences between currentUnit and newUnit.\n\t\t// This should slightly improve the experience of switching between unit types.\n\t\tlet newValue;\n\n\t\tif ( [ 'em', 'rem' ].includes( newUnit ) && unit === 'px' ) {\n\t\t\t// Convert pixel value to an approximate of the new unit, assuming a root size of 16px.\n\t\t\tnewValue = ( quantity / 16 ).toFixed( 2 ) + newUnit;\n\t\t} else if ( [ 'em', 'rem' ].includes( unit ) && newUnit === 'px' ) {\n\t\t\t// Convert to pixel value assuming a root size of 16px.\n\t\t\tnewValue = Math.round( quantity * 16 ) + newUnit;\n\t\t} else if (\n\t\t\t[ 'vh', 'vw', '%' ].includes( newUnit ) &&\n\t\t\tquantity > 100\n\t\t) {\n\t\t\t// When converting to `vh`, `vw`, or `%` units, cap the new value at 100.\n\t\t\tnewValue = 100 + newUnit;\n\t\t}\n\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tminimumColumnWidth: newValue,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<fieldset>\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ __( 'Minimum column width' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<Flex gap={ 4 }>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\tminimumColumnWidth: newValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonUnitChange={ handleUnitChange }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tonChange={ handleSliderChange }\n\t\t\t\t\t\tvalue={ quantity }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ RANGE_CONTROL_MAX_VALUES[ unit ] || 600 }\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</fieldset>\n\t);\n}\n\n// Enables setting number of grid columns\nfunction GridLayoutColumnsControl( { layout, onChange } ) {\n\tconst { columnCount = 3 } = layout;\n\n\treturn (\n\t\t<RangeControl\n\t\t\tlabel={ __( 'Columns' ) }\n\t\t\tvalue={ columnCount }\n\t\t\tonChange={ ( value ) =>\n\t\t\t\tonChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tcolumnCount: value,\n\t\t\t\t} )\n\t\t\t}\n\t\t\tmin={ 1 }\n\t\t\tmax={ 6 }\n\t\t/>\n\t);\n}\n"]}
@@ -9,10 +9,16 @@ exports.getBlockGapCSS = getBlockGapCSS;
9
9
 
10
10
  var _i18n = require("@wordpress/i18n");
11
11
 
12
+ var _definitions = require("./definitions");
13
+
12
14
  /**
13
15
  * WordPress dependencies
14
16
  */
15
17
 
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
16
22
  /**
17
23
  * Utility to generate the proper CSS selector for layout styles.
18
24
  *
@@ -35,14 +41,14 @@ function appendSelectors(selectors, append = '') {
35
41
  * with the provided `blockGapValue`.
36
42
  *
37
43
  * @param {string} selector The CSS selector to target for the generated rules.
38
- * @param {Object} layoutDefinitions Layout definitions object from theme.json.
44
+ * @param {Object} layoutDefinitions Layout definitions object.
39
45
  * @param {string} layoutType The layout type (e.g. `default` or `flex`).
40
46
  * @param {string} blockGapValue The current blockGap value to be applied.
41
47
  * @return {string} The generated CSS rules.
42
48
  */
43
49
 
44
50
 
45
- function getBlockGapCSS(selector, layoutDefinitions, layoutType, blockGapValue) {
51
+ function getBlockGapCSS(selector, layoutDefinitions = _definitions.LAYOUT_DEFINITIONS, layoutType, blockGapValue) {
46
52
  let output = '';
47
53
 
48
54
  if (layoutDefinitions?.[layoutType]?.spacingStyles?.length && blockGapValue) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/layouts/utils.js"],"names":["appendSelectors","selectors","append","split","map","subselector","join","getBlockGapCSS","selector","layoutDefinitions","layoutType","blockGapValue","output","spacingStyles","length","forEach","gapStyle","trim","Object","entries","rules","cssProperty","value","getAlignmentsInfo","layout","contentSize","wideSize","type","alignmentInfo","sizeRegex","test","none","wide"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,eAAT,CAA0BC,SAA1B,EAAqCC,MAAM,GAAG,EAA9C,EAAmD;AACzD;AACA;AACA;AACA;AACA;AAEA,SAAOD,SAAS,CACdE,KADK,CACE,GADF,EAELC,GAFK,CAGHC,WAAF,IACE,0BAA0BA,WAAa,GACvCH,MAAM,GAAI,IAAIA,MAAQ,EAAhB,GAAoB,EAC1B,EANG,EAQLI,IARK,CAQC,GARD,CAAP;AASA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,cAAT,CACNC,QADM,EAENC,iBAFM,EAGNC,UAHM,EAINC,aAJM,EAKL;AACD,MAAIC,MAAM,GAAG,EAAb;;AACA,MACCH,iBAAiB,GAAIC,UAAJ,CAAjB,EAAmCG,aAAnC,EAAkDC,MAAlD,IACAH,aAFD,EAGE;AACDF,IAAAA,iBAAiB,CAAEC,UAAF,CAAjB,CAAgCG,aAAhC,CAA8CE,OAA9C,CAAyDC,QAAF,IAAgB;AACtEJ,MAAAA,MAAM,IAAK,GAAGZ,eAAe,CAC5BQ,QAD4B,EAE5BQ,QAAQ,CAACR,QAAT,CAAkBS,IAAlB,EAF4B,CAG1B,KAHH;AAIAL,MAAAA,MAAM,IAAIM,MAAM,CAACC,OAAP,CAAgBH,QAAQ,CAACI,KAAzB,EACRhB,GADQ,CAER,CAAE,CAAEiB,WAAF,EAAeC,KAAf,CAAF,KACE,GAAGD,WAAa,KAAKC,KAAK,GAAGA,KAAH,GAAWX,aAAe,EAH9C,EAKRL,IALQ,CAKF,IALE,CAAV;AAMAM,MAAAA,MAAM,IAAI,KAAV;AACA,KAZD;AAaA;;AACD,SAAOA,MAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASW,iBAAT,CAA4BC,MAA5B,EAAqC;AAC3C,QAAM;AAAEC,IAAAA,WAAF;AAAeC,IAAAA,QAAf;AAAyBC,IAAAA,IAAI,GAAG;AAAhC,MAA8CH,MAApD;AACA,QAAMI,aAAa,GAAG,EAAtB;AACA,QAAMC,SAAS,GAAG,iCAAlB;;AACA,MAAKA,SAAS,CAACC,IAAV,CAAgBL,WAAhB,KAAiCE,IAAI,KAAK,aAA/C,EAA+D;AAC9D;AACAC,IAAAA,aAAa,CAACG,IAAd,GAAqB,mBAAS,cAAI,aAAJ,CAAT,EAA8BN,WAA9B,CAArB;AACA;;AACD,MAAKI,SAAS,CAACC,IAAV,CAAgBJ,QAAhB,CAAL,EAAkC;AACjC;AACAE,IAAAA,aAAa,CAACI,IAAd,GAAqB,mBAAS,cAAI,aAAJ,CAAT,EAA8BN,QAA9B,CAArB;AACA;;AACD,SAAOE,aAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Utility to generate the proper CSS selector for layout styles.\n *\n * @param {string} selectors CSS selector, also supports multiple comma-separated selectors.\n * @param {string} append The string to append.\n *\n * @return {string} - CSS selector.\n */\nexport function appendSelectors( selectors, append = '' ) {\n\t// Ideally we shouldn't need the `.editor-styles-wrapper` increased specificity here\n\t// The problem though is that we have a `.editor-styles-wrapper p { margin: reset; }` style\n\t// it's used to reset the default margin added by wp-admin to paragraphs\n\t// so we need this to be higher speficity otherwise, it won't be applied to paragraphs inside containers\n\t// When the post editor is fully iframed, this extra classname could be removed.\n\n\treturn selectors\n\t\t.split( ',' )\n\t\t.map(\n\t\t\t( subselector ) =>\n\t\t\t\t`.editor-styles-wrapper ${ subselector }${\n\t\t\t\t\tappend ? ` ${ append }` : ''\n\t\t\t\t}`\n\t\t)\n\t\t.join( ',' );\n}\n\n/**\n * Get generated blockGap CSS rules based on layout definitions provided in theme.json\n * Falsy values in the layout definition's spacingStyles rules will be swapped out\n * with the provided `blockGapValue`.\n *\n * @param {string} selector The CSS selector to target for the generated rules.\n * @param {Object} layoutDefinitions Layout definitions object from theme.json.\n * @param {string} layoutType The layout type (e.g. `default` or `flex`).\n * @param {string} blockGapValue The current blockGap value to be applied.\n * @return {string} The generated CSS rules.\n */\nexport function getBlockGapCSS(\n\tselector,\n\tlayoutDefinitions,\n\tlayoutType,\n\tblockGapValue\n) {\n\tlet output = '';\n\tif (\n\t\tlayoutDefinitions?.[ layoutType ]?.spacingStyles?.length &&\n\t\tblockGapValue\n\t) {\n\t\tlayoutDefinitions[ layoutType ].spacingStyles.forEach( ( gapStyle ) => {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\tgapStyle.selector.trim()\n\t\t\t) } { `;\n\t\t\toutput += Object.entries( gapStyle.rules )\n\t\t\t\t.map(\n\t\t\t\t\t( [ cssProperty, value ] ) =>\n\t\t\t\t\t\t`${ cssProperty }: ${ value ? value : blockGapValue }`\n\t\t\t\t)\n\t\t\t\t.join( '; ' );\n\t\t\toutput += '; }';\n\t\t} );\n\t}\n\treturn output;\n}\n\n/**\n * Helper method to assign contextual info to clarify\n * alignment settings.\n *\n * Besides checking if `contentSize` and `wideSize` have a\n * value, we now show this information only if their values\n * are not a `css var`. This needs to change when parsing\n * css variables land.\n *\n * @see https://github.com/WordPress/gutenberg/pull/34710#issuecomment-918000752\n *\n * @param {Object} layout The layout object.\n * @return {Object} An object with contextual info per alignment.\n */\nexport function getAlignmentsInfo( layout ) {\n\tconst { contentSize, wideSize, type = 'default' } = layout;\n\tconst alignmentInfo = {};\n\tconst sizeRegex = /^(?!0)\\d+(px|em|rem|vw|vh|%)?$/i;\n\tif ( sizeRegex.test( contentSize ) && type === 'constrained' ) {\n\t\t// translators: %s: container size (i.e. 600px etc)\n\t\talignmentInfo.none = sprintf( __( 'Max %s wide' ), contentSize );\n\t}\n\tif ( sizeRegex.test( wideSize ) ) {\n\t\t// translators: %s: container size (i.e. 600px etc)\n\t\talignmentInfo.wide = sprintf( __( 'Max %s wide' ), wideSize );\n\t}\n\treturn alignmentInfo;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/layouts/utils.js"],"names":["appendSelectors","selectors","append","split","map","subselector","join","getBlockGapCSS","selector","layoutDefinitions","LAYOUT_DEFINITIONS","layoutType","blockGapValue","output","spacingStyles","length","forEach","gapStyle","trim","Object","entries","rules","cssProperty","value","getAlignmentsInfo","layout","contentSize","wideSize","type","alignmentInfo","sizeRegex","test","none","wide"],"mappings":";;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,eAAT,CAA0BC,SAA1B,EAAqCC,MAAM,GAAG,EAA9C,EAAmD;AACzD;AACA;AACA;AACA;AACA;AAEA,SAAOD,SAAS,CACdE,KADK,CACE,GADF,EAELC,GAFK,CAGHC,WAAF,IACE,0BAA0BA,WAAa,GACvCH,MAAM,GAAI,IAAIA,MAAQ,EAAhB,GAAoB,EAC1B,EANG,EAQLI,IARK,CAQC,GARD,CAAP;AASA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASC,cAAT,CACNC,QADM,EAENC,iBAAiB,GAAGC,+BAFd,EAGNC,UAHM,EAINC,aAJM,EAKL;AACD,MAAIC,MAAM,GAAG,EAAb;;AACA,MACCJ,iBAAiB,GAAIE,UAAJ,CAAjB,EAAmCG,aAAnC,EAAkDC,MAAlD,IACAH,aAFD,EAGE;AACDH,IAAAA,iBAAiB,CAAEE,UAAF,CAAjB,CAAgCG,aAAhC,CAA8CE,OAA9C,CAAyDC,QAAF,IAAgB;AACtEJ,MAAAA,MAAM,IAAK,GAAGb,eAAe,CAC5BQ,QAD4B,EAE5BS,QAAQ,CAACT,QAAT,CAAkBU,IAAlB,EAF4B,CAG1B,KAHH;AAIAL,MAAAA,MAAM,IAAIM,MAAM,CAACC,OAAP,CAAgBH,QAAQ,CAACI,KAAzB,EACRjB,GADQ,CAER,CAAE,CAAEkB,WAAF,EAAeC,KAAf,CAAF,KACE,GAAGD,WAAa,KAAKC,KAAK,GAAGA,KAAH,GAAWX,aAAe,EAH9C,EAKRN,IALQ,CAKF,IALE,CAAV;AAMAO,MAAAA,MAAM,IAAI,KAAV;AACA,KAZD;AAaA;;AACD,SAAOA,MAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASW,iBAAT,CAA4BC,MAA5B,EAAqC;AAC3C,QAAM;AAAEC,IAAAA,WAAF;AAAeC,IAAAA,QAAf;AAAyBC,IAAAA,IAAI,GAAG;AAAhC,MAA8CH,MAApD;AACA,QAAMI,aAAa,GAAG,EAAtB;AACA,QAAMC,SAAS,GAAG,iCAAlB;;AACA,MAAKA,SAAS,CAACC,IAAV,CAAgBL,WAAhB,KAAiCE,IAAI,KAAK,aAA/C,EAA+D;AAC9D;AACAC,IAAAA,aAAa,CAACG,IAAd,GAAqB,mBAAS,cAAI,aAAJ,CAAT,EAA8BN,WAA9B,CAArB;AACA;;AACD,MAAKI,SAAS,CAACC,IAAV,CAAgBJ,QAAhB,CAAL,EAAkC;AACjC;AACAE,IAAAA,aAAa,CAACI,IAAd,GAAqB,mBAAS,cAAI,aAAJ,CAAT,EAA8BN,QAA9B,CAArB;AACA;;AACD,SAAOE,aAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\n/**\n * Utility to generate the proper CSS selector for layout styles.\n *\n * @param {string} selectors CSS selector, also supports multiple comma-separated selectors.\n * @param {string} append The string to append.\n *\n * @return {string} - CSS selector.\n */\nexport function appendSelectors( selectors, append = '' ) {\n\t// Ideally we shouldn't need the `.editor-styles-wrapper` increased specificity here\n\t// The problem though is that we have a `.editor-styles-wrapper p { margin: reset; }` style\n\t// it's used to reset the default margin added by wp-admin to paragraphs\n\t// so we need this to be higher speficity otherwise, it won't be applied to paragraphs inside containers\n\t// When the post editor is fully iframed, this extra classname could be removed.\n\n\treturn selectors\n\t\t.split( ',' )\n\t\t.map(\n\t\t\t( subselector ) =>\n\t\t\t\t`.editor-styles-wrapper ${ subselector }${\n\t\t\t\t\tappend ? ` ${ append }` : ''\n\t\t\t\t}`\n\t\t)\n\t\t.join( ',' );\n}\n\n/**\n * Get generated blockGap CSS rules based on layout definitions provided in theme.json\n * Falsy values in the layout definition's spacingStyles rules will be swapped out\n * with the provided `blockGapValue`.\n *\n * @param {string} selector The CSS selector to target for the generated rules.\n * @param {Object} layoutDefinitions Layout definitions object.\n * @param {string} layoutType The layout type (e.g. `default` or `flex`).\n * @param {string} blockGapValue The current blockGap value to be applied.\n * @return {string} The generated CSS rules.\n */\nexport function getBlockGapCSS(\n\tselector,\n\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\tlayoutType,\n\tblockGapValue\n) {\n\tlet output = '';\n\tif (\n\t\tlayoutDefinitions?.[ layoutType ]?.spacingStyles?.length &&\n\t\tblockGapValue\n\t) {\n\t\tlayoutDefinitions[ layoutType ].spacingStyles.forEach( ( gapStyle ) => {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\tgapStyle.selector.trim()\n\t\t\t) } { `;\n\t\t\toutput += Object.entries( gapStyle.rules )\n\t\t\t\t.map(\n\t\t\t\t\t( [ cssProperty, value ] ) =>\n\t\t\t\t\t\t`${ cssProperty }: ${ value ? value : blockGapValue }`\n\t\t\t\t)\n\t\t\t\t.join( '; ' );\n\t\t\toutput += '; }';\n\t\t} );\n\t}\n\treturn output;\n}\n\n/**\n * Helper method to assign contextual info to clarify\n * alignment settings.\n *\n * Besides checking if `contentSize` and `wideSize` have a\n * value, we now show this information only if their values\n * are not a `css var`. This needs to change when parsing\n * css variables land.\n *\n * @see https://github.com/WordPress/gutenberg/pull/34710#issuecomment-918000752\n *\n * @param {Object} layout The layout object.\n * @return {Object} An object with contextual info per alignment.\n */\nexport function getAlignmentsInfo( layout ) {\n\tconst { contentSize, wideSize, type = 'default' } = layout;\n\tconst alignmentInfo = {};\n\tconst sizeRegex = /^(?!0)\\d+(px|em|rem|vw|vh|%)?$/i;\n\tif ( sizeRegex.test( contentSize ) && type === 'constrained' ) {\n\t\t// translators: %s: container size (i.e. 600px etc)\n\t\talignmentInfo.none = sprintf( __( 'Max %s wide' ), contentSize );\n\t}\n\tif ( sizeRegex.test( wideSize ) ) {\n\t\t// translators: %s: container size (i.e. 600px etc)\n\t\talignmentInfo.wide = sprintf( __( 'Max %s wide' ), wideSize );\n\t}\n\treturn alignmentInfo;\n}\n"]}
@@ -13,6 +13,8 @@ var _provider = require("./components/provider");
13
13
 
14
14
  var _lockUnlock = require("./lock-unlock");
15
15
 
16
+ var _content = require("./components/rich-text/content");
17
+
16
18
  var _resizableBoxPopover = _interopRequireDefault(require("./components/resizable-box-popover"));
17
19
 
18
20
  var _inserter = require("./components/inserter");
@@ -27,6 +29,14 @@ var _utils = require("./hooks/utils");
27
29
 
28
30
  var _blockEditingMode = require("./components/block-editing-mode");
29
31
 
32
+ var _blockQuickNavigation = _interopRequireDefault(require("./components/block-quick-navigation"));
33
+
34
+ var _layout = require("./components/block-list/layout");
35
+
36
+ var _blockRemovalWarningModal = require("./components/block-removal-warning-modal");
37
+
38
+ var _hooks = require("./hooks");
39
+
30
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
41
 
32
42
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -42,12 +52,18 @@ const privateApis = {};
42
52
  exports.privateApis = privateApis;
43
53
  (0, _lockUnlock.lock)(privateApis, { ...globalStyles,
44
54
  ExperimentalBlockEditorProvider: _provider.ExperimentalBlockEditorProvider,
55
+ getRichTextValues: _content.getRichTextValues,
45
56
  PrivateInserter: _inserter.ComposedPrivateInserter,
46
57
  PrivateListView: _listView.PrivateListView,
47
58
  ResizableBoxPopover: _resizableBoxPopover.default,
48
59
  BlockInfo: _blockInfoSlotFill.default,
49
60
  useShouldContextualToolbarShow: _useShouldContextualToolbarShow.useShouldContextualToolbarShow,
50
61
  cleanEmptyObject: _utils.cleanEmptyObject,
51
- useBlockEditingMode: _blockEditingMode.useBlockEditingMode
62
+ useBlockEditingMode: _blockEditingMode.useBlockEditingMode,
63
+ BlockQuickNavigation: _blockQuickNavigation.default,
64
+ LayoutStyle: _layout.LayoutStyle,
65
+ BlockRemovalWarningModal: _blockRemovalWarningModal.BlockRemovalWarningModal,
66
+ useLayoutClasses: _hooks.useLayoutClasses,
67
+ useLayoutStyles: _hooks.useLayoutStyles
52
68
  });
53
69
  //# sourceMappingURL=private-apis.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/private-apis.js"],"names":["privateApis","globalStyles","ExperimentalBlockEditorProvider","PrivateInserter","PrivateListView","ResizableBoxPopover","BlockInfo","useShouldContextualToolbarShow","cleanEmptyObject","useBlockEditingMode"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAZA;AACA;AACA;;AAYA;AACA;AACA;AACO,MAAMA,WAAW,GAAG,EAApB;;AACP,sBAAMA,WAAN,EAAmB,EAClB,GAAGC,YADe;AAElBC,EAAAA,+BAA+B,EAA/BA,yCAFkB;AAGlBC,EAAAA,eAAe,EAAfA,iCAHkB;AAIlBC,EAAAA,eAAe,EAAfA,yBAJkB;AAKlBC,EAAAA,mBAAmB,EAAnBA,4BALkB;AAMlBC,EAAAA,SAAS,EAATA,0BANkB;AAOlBC,EAAAA,8BAA8B,EAA9BA,8DAPkB;AAQlBC,EAAAA,gBAAgB,EAAhBA,uBARkB;AASlBC,EAAAA,mBAAmB,EAAnBA;AATkB,CAAnB","sourcesContent":["/**\n * Internal dependencies\n */\nimport * as globalStyles from './components/global-styles';\nimport { ExperimentalBlockEditorProvider } from './components/provider';\nimport { lock } from './lock-unlock';\nimport ResizableBoxPopover from './components/resizable-box-popover';\nimport { ComposedPrivateInserter as PrivateInserter } from './components/inserter';\nimport { PrivateListView } from './components/list-view';\nimport BlockInfo from './components/block-info-slot-fill';\nimport { useShouldContextualToolbarShow } from './utils/use-should-contextual-toolbar-show';\nimport { cleanEmptyObject } from './hooks/utils';\nimport { useBlockEditingMode } from './components/block-editing-mode';\n\n/**\n * Private @wordpress/block-editor APIs.\n */\nexport const privateApis = {};\nlock( privateApis, {\n\t...globalStyles,\n\tExperimentalBlockEditorProvider,\n\tPrivateInserter,\n\tPrivateListView,\n\tResizableBoxPopover,\n\tBlockInfo,\n\tuseShouldContextualToolbarShow,\n\tcleanEmptyObject,\n\tuseBlockEditingMode,\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/private-apis.js"],"names":["privateApis","globalStyles","ExperimentalBlockEditorProvider","getRichTextValues","PrivateInserter","PrivateListView","ResizableBoxPopover","BlockInfo","useShouldContextualToolbarShow","cleanEmptyObject","useBlockEditingMode","BlockQuickNavigation","LayoutStyle","BlockRemovalWarningModal","useLayoutClasses","useLayoutStyles"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAjBA;AACA;AACA;;AAiBA;AACA;AACA;AACO,MAAMA,WAAW,GAAG,EAApB;;AACP,sBAAMA,WAAN,EAAmB,EAClB,GAAGC,YADe;AAElBC,EAAAA,+BAA+B,EAA/BA,yCAFkB;AAGlBC,EAAAA,iBAAiB,EAAjBA,0BAHkB;AAIlBC,EAAAA,eAAe,EAAfA,iCAJkB;AAKlBC,EAAAA,eAAe,EAAfA,yBALkB;AAMlBC,EAAAA,mBAAmB,EAAnBA,4BANkB;AAOlBC,EAAAA,SAAS,EAATA,0BAPkB;AAQlBC,EAAAA,8BAA8B,EAA9BA,8DARkB;AASlBC,EAAAA,gBAAgB,EAAhBA,uBATkB;AAUlBC,EAAAA,mBAAmB,EAAnBA,qCAVkB;AAWlBC,EAAAA,oBAAoB,EAApBA,6BAXkB;AAYlBC,EAAAA,WAAW,EAAXA,mBAZkB;AAalBC,EAAAA,wBAAwB,EAAxBA,kDAbkB;AAclBC,EAAAA,gBAAgB,EAAhBA,uBAdkB;AAelBC,EAAAA,eAAe,EAAfA;AAfkB,CAAnB","sourcesContent":["/**\n * Internal dependencies\n */\nimport * as globalStyles from './components/global-styles';\nimport { ExperimentalBlockEditorProvider } from './components/provider';\nimport { lock } from './lock-unlock';\nimport { getRichTextValues } from './components/rich-text/content';\nimport ResizableBoxPopover from './components/resizable-box-popover';\nimport { ComposedPrivateInserter as PrivateInserter } from './components/inserter';\nimport { PrivateListView } from './components/list-view';\nimport BlockInfo from './components/block-info-slot-fill';\nimport { useShouldContextualToolbarShow } from './utils/use-should-contextual-toolbar-show';\nimport { cleanEmptyObject } from './hooks/utils';\nimport { useBlockEditingMode } from './components/block-editing-mode';\nimport BlockQuickNavigation from './components/block-quick-navigation';\nimport { LayoutStyle } from './components/block-list/layout';\nimport { BlockRemovalWarningModal } from './components/block-removal-warning-modal';\nimport { useLayoutClasses, useLayoutStyles } from './hooks';\n\n/**\n * Private @wordpress/block-editor APIs.\n */\nexport const privateApis = {};\nlock( privateApis, {\n\t...globalStyles,\n\tExperimentalBlockEditorProvider,\n\tgetRichTextValues,\n\tPrivateInserter,\n\tPrivateListView,\n\tResizableBoxPopover,\n\tBlockInfo,\n\tuseShouldContextualToolbarShow,\n\tcleanEmptyObject,\n\tuseBlockEditingMode,\n\tBlockQuickNavigation,\n\tLayoutStyle,\n\tBlockRemovalWarningModal,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n} );\n"]}
@@ -80,39 +80,6 @@ var _privateActions = require("./private-actions");
80
80
 
81
81
  /** @typedef {import('../components/use-on-block-drop/types').WPDropOperation} WPDropOperation */
82
82
  const castArray = maybeArray => Array.isArray(maybeArray) ? maybeArray : [maybeArray];
83
- /**
84
- * Action which will insert a default block insert action if there
85
- * are no other blocks at the root of the editor. This action should be used
86
- * in actions which may result in no blocks remaining in the editor (removal,
87
- * replacement, etc).
88
- */
89
-
90
-
91
- const ensureDefaultBlock = () => ({
92
- select,
93
- dispatch
94
- }) => {
95
- // To avoid a focus loss when removing the last block, assure there is
96
- // always a default block if the last of the blocks have been removed.
97
- const count = select.getBlockCount();
98
-
99
- if (count > 0) {
100
- return;
101
- } // If there's an custom appender, don't insert default block.
102
- // We have to remember to manually move the focus elsewhere to
103
- // prevent it from being lost though.
104
-
105
-
106
- const {
107
- __unstableHasCustomAppender
108
- } = select.getSettings();
109
-
110
- if (__unstableHasCustomAppender) {
111
- return;
112
- }
113
-
114
- dispatch.insertDefaultBlock();
115
- };
116
83
  /**
117
84
  * Action that resets blocks state to the specified array of blocks, taking precedence
118
85
  * over any other content reflected as an edit in state.
@@ -495,7 +462,7 @@ const replaceBlocks = (clientIds, blocks, indexToSelect, initialPosition = 0, me
495
462
  initialPosition,
496
463
  meta
497
464
  });
498
- dispatch(ensureDefaultBlock());
465
+ dispatch((0, _privateActions.ensureDefaultBlock)());
499
466
  };
500
467
  /**
501
468
  * Action that replaces a single block with one or more replacement blocks.
@@ -1128,34 +1095,7 @@ const mergeBlocks = (firstBlockClientId, secondBlockClientId) => ({
1128
1095
 
1129
1096
  exports.mergeBlocks = mergeBlocks;
1130
1097
 
1131
- const removeBlocks = (clientIds, selectPrevious = true) => ({
1132
- select,
1133
- dispatch
1134
- }) => {
1135
- if (!clientIds || !clientIds.length) {
1136
- return;
1137
- }
1138
-
1139
- clientIds = castArray(clientIds);
1140
- const rootClientId = select.getBlockRootClientId(clientIds[0]);
1141
- const canRemoveBlocks = select.canRemoveBlocks(clientIds, rootClientId);
1142
-
1143
- if (!canRemoveBlocks) {
1144
- return;
1145
- }
1146
-
1147
- if (selectPrevious) {
1148
- dispatch.selectPreviousBlock(clientIds[0], selectPrevious);
1149
- }
1150
-
1151
- dispatch({
1152
- type: 'REMOVE_BLOCKS',
1153
- clientIds
1154
- }); // To avoid a focus loss when removing the last block, assure there is
1155
- // always a default block if the last of the blocks have been removed.
1156
-
1157
- dispatch(ensureDefaultBlock());
1158
- };
1098
+ const removeBlocks = (clientIds, selectPrevious = true) => (0, _privateActions.privateRemoveBlocks)(clientIds, selectPrevious);
1159
1099
  /**
1160
1100
  * Returns an action object used in signalling that the block with the
1161
1101
  * specified client ID is to be removed.