@wordpress/block-editor 12.15.0 → 12.16.1-next.79a6196f.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (927) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +12 -10
  4. package/build/components/block-canvas/index.js +21 -7
  5. package/build/components/block-canvas/index.js.map +1 -1
  6. package/build/components/block-card/index.js +2 -2
  7. package/build/components/block-card/index.js.map +1 -1
  8. package/build/components/block-controls/hook.js +3 -23
  9. package/build/components/block-controls/hook.js.map +1 -1
  10. package/build/components/block-draggable/draggable-chip.js +6 -1
  11. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  12. package/build/components/block-draggable/index.js +76 -6
  13. package/build/components/block-draggable/index.js.map +1 -1
  14. package/build/components/block-draggable/index.native.js +0 -6
  15. package/build/components/block-draggable/index.native.js.map +1 -1
  16. package/build/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  17. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  18. package/build/components/block-edit/context.js +5 -1
  19. package/build/components/block-edit/context.js.map +1 -1
  20. package/build/components/block-edit/index.js +18 -9
  21. package/build/components/block-edit/index.js.map +1 -1
  22. package/build/components/block-editing-mode/index.js +2 -3
  23. package/build/components/block-editing-mode/index.js.map +1 -1
  24. package/build/components/block-info-slot-fill/index.js +3 -4
  25. package/build/components/block-info-slot-fill/index.js.map +1 -1
  26. package/build/components/block-inspector/index.js +1 -1
  27. package/build/components/block-inspector/index.js.map +1 -1
  28. package/build/components/block-list/block-list-item-cell.native.js +1 -0
  29. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  30. package/build/components/block-list/block.js +257 -95
  31. package/build/components/block-list/block.js.map +1 -1
  32. package/build/components/block-list/block.native.js +58 -23
  33. package/build/components/block-list/block.native.js.map +1 -1
  34. package/build/components/block-list/index.native.js +3 -5
  35. package/build/components/block-list/index.native.js.map +1 -1
  36. package/build/components/block-list/private-block-context.js +14 -0
  37. package/build/components/block-list/private-block-context.js.map +1 -0
  38. package/build/components/block-list/use-block-props/index.js +49 -69
  39. package/build/components/block-list/use-block-props/index.js.map +1 -1
  40. package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -29
  41. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  42. package/build/components/block-list/use-block-props/use-is-hovered.js +4 -14
  43. package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  44. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
  45. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  46. package/build/components/block-list/use-in-between-inserter.js +3 -2
  47. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  48. package/build/components/block-list/use-scroll-upon-insertion.native.js +41 -0
  49. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  50. package/build/components/block-lock/toolbar.js +21 -27
  51. package/build/components/block-lock/toolbar.js.map +1 -1
  52. package/build/components/block-mover/index.js +2 -1
  53. package/build/components/block-mover/index.js.map +1 -1
  54. package/build/components/block-patterns-list/index.js +5 -5
  55. package/build/components/block-patterns-list/index.js.map +1 -1
  56. package/build/components/block-removal-warning-modal/index.js +2 -9
  57. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  58. package/build/components/block-rename/modal.js +3 -0
  59. package/build/components/block-rename/modal.js.map +1 -1
  60. package/build/components/block-settings/container.native.js +6 -4
  61. package/build/components/block-settings/container.native.js.map +1 -1
  62. package/build/components/block-styles/index.js +1 -1
  63. package/build/components/block-styles/index.js.map +1 -1
  64. package/build/components/block-styles/index.native.js +3 -2
  65. package/build/components/block-styles/index.native.js.map +1 -1
  66. package/build/components/block-switcher/index.js +4 -4
  67. package/build/components/block-switcher/index.js.map +1 -1
  68. package/build/components/block-toolbar/index.js +90 -29
  69. package/build/components/block-toolbar/index.js.map +1 -1
  70. package/build/components/block-tools/block-toolbar-breadcrumb.js +49 -0
  71. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
  72. package/build/components/block-tools/block-toolbar-popover.js +84 -0
  73. package/build/components/block-tools/block-toolbar-popover.js.map +1 -0
  74. package/build/components/block-tools/index.js +27 -24
  75. package/build/components/block-tools/index.js.map +1 -1
  76. package/build/components/block-types-list/index.native.js +4 -3
  77. package/build/components/block-types-list/index.native.js.map +1 -1
  78. package/build/components/block-variation-picker/index.native.js +2 -1
  79. package/build/components/block-variation-picker/index.native.js.map +1 -1
  80. package/build/components/block-variation-transforms/index.js +29 -2
  81. package/build/components/block-variation-transforms/index.js.map +1 -1
  82. package/build/components/border-radius-control/linked-button.js +1 -1
  83. package/build/components/border-radius-control/linked-button.js.map +1 -1
  84. package/build/components/colors/utils.js +10 -2
  85. package/build/components/colors/utils.js.map +1 -1
  86. package/build/components/colors/with-colors.js +6 -2
  87. package/build/components/colors/with-colors.js.map +1 -1
  88. package/build/components/colors-gradients/control.js +28 -17
  89. package/build/components/colors-gradients/control.js.map +1 -1
  90. package/build/components/duotone-control/index.js +1 -4
  91. package/build/components/duotone-control/index.js.map +1 -1
  92. package/build/components/font-sizes/utils.js +10 -2
  93. package/build/components/font-sizes/utils.js.map +1 -1
  94. package/build/components/global-styles/border-panel.js +2 -1
  95. package/build/components/global-styles/border-panel.js.map +1 -1
  96. package/build/components/global-styles/color-panel.js +24 -21
  97. package/build/components/global-styles/color-panel.js.map +1 -1
  98. package/build/components/global-styles/dimensions-panel.js +4 -3
  99. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  100. package/build/components/global-styles/effects-panel.js +2 -1
  101. package/build/components/global-styles/effects-panel.js.map +1 -1
  102. package/build/components/global-styles/filters-panel.js +6 -3
  103. package/build/components/global-styles/filters-panel.js.map +1 -1
  104. package/build/components/global-styles/get-global-styles-changes.js +192 -0
  105. package/build/components/global-styles/get-global-styles-changes.js.map +1 -0
  106. package/build/components/global-styles/hooks.js +3 -2
  107. package/build/components/global-styles/hooks.js.map +1 -1
  108. package/build/components/global-styles/image-settings-panel.js +7 -1
  109. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  110. package/build/components/global-styles/index.js +7 -0
  111. package/build/components/global-styles/index.js.map +1 -1
  112. package/build/components/global-styles/typography-panel.js +43 -36
  113. package/build/components/global-styles/typography-panel.js.map +1 -1
  114. package/build/components/global-styles/use-global-styles-output.js +22 -8
  115. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  116. package/build/components/global-styles/utils.js +8 -1
  117. package/build/components/global-styles/utils.js.map +1 -1
  118. package/build/components/height-control/index.js +6 -2
  119. package/build/components/height-control/index.js.map +1 -1
  120. package/build/components/image-link-destinations/index.native.js +118 -0
  121. package/build/components/image-link-destinations/index.native.js.map +1 -0
  122. package/build/components/image-size-control/index.js +2 -2
  123. package/build/components/image-size-control/index.js.map +1 -1
  124. package/build/components/index.native.js +14 -5
  125. package/build/components/index.native.js.map +1 -1
  126. package/build/components/inner-blocks/index.js +61 -22
  127. package/build/components/inner-blocks/index.js.map +1 -1
  128. package/build/components/inner-blocks/index.native.js +18 -4
  129. package/build/components/inner-blocks/index.native.js.map +1 -1
  130. package/build/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  131. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  132. package/build/components/inner-blocks/use-nested-settings-update.js +5 -9
  133. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  134. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
  135. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  136. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +10 -9
  137. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  138. package/build/components/inserter/block-patterns-tab/patterns-filter.js +10 -10
  139. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  140. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +9 -9
  141. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  142. package/build/components/inserter/block-patterns-tab/utils.js +10 -14
  143. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  144. package/build/components/inserter/hooks/use-block-types-state.js +4 -14
  145. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  146. package/build/components/inserter/hooks/use-patterns-state.js +1 -1
  147. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  148. package/build/components/inserter/index.js +1 -2
  149. package/build/components/inserter/index.js.map +1 -1
  150. package/build/components/inserter/library.js +3 -7
  151. package/build/components/inserter/library.js.map +1 -1
  152. package/build/components/inserter/media-tab/media-panel.js +2 -2
  153. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  154. package/build/components/inserter/menu.js +26 -33
  155. package/build/components/inserter/menu.js.map +1 -1
  156. package/build/components/inserter/preview-panel.js +2 -2
  157. package/build/components/inserter/preview-panel.js.map +1 -1
  158. package/build/components/inserter/tabs.js +21 -21
  159. package/build/components/inserter/tabs.js.map +1 -1
  160. package/build/components/inserter-button/index.native.js +98 -0
  161. package/build/components/inserter-button/index.native.js.map +1 -0
  162. package/build/components/inserter-button/sparkles.js +23 -0
  163. package/build/components/inserter-button/sparkles.js.map +1 -0
  164. package/build/components/inserter-draggable-blocks/index.js +8 -4
  165. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  166. package/build/components/inserter-list-item/index.js +2 -4
  167. package/build/components/inserter-list-item/index.js.map +1 -1
  168. package/build/components/inspector-controls/block-support-tools-panel.js +3 -1
  169. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  170. package/build/components/inspector-controls/fill.js +3 -3
  171. package/build/components/inspector-controls/fill.js.map +1 -1
  172. package/build/components/inspector-controls/fill.native.js +3 -3
  173. package/build/components/inspector-controls/fill.native.js.map +1 -1
  174. package/build/components/inspector-controls-tabs/index.js +34 -23
  175. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  176. package/build/components/list-view/block-select-button.js +4 -0
  177. package/build/components/list-view/block-select-button.js.map +1 -1
  178. package/build/components/list-view/block.js +57 -3
  179. package/build/components/list-view/block.js.map +1 -1
  180. package/build/components/media-upload-progress/constants.js +19 -0
  181. package/build/components/media-upload-progress/constants.js.map +1 -0
  182. package/build/components/media-upload-progress/index.native.js +42 -17
  183. package/build/components/media-upload-progress/index.native.js.map +1 -1
  184. package/build/components/navigable-toolbar/index.js +11 -16
  185. package/build/components/navigable-toolbar/index.js.map +1 -1
  186. package/build/components/plain-text/index.native.js +8 -3
  187. package/build/components/plain-text/index.native.js.map +1 -1
  188. package/build/components/preview-options/index.js +6 -62
  189. package/build/components/preview-options/index.js.map +1 -1
  190. package/build/components/provider/index.js +3 -1
  191. package/build/components/provider/index.js.map +1 -1
  192. package/build/components/provider/use-block-sync.js +7 -1
  193. package/build/components/provider/use-block-sync.js.map +1 -1
  194. package/build/components/rich-text/content.js +26 -23
  195. package/build/components/rich-text/content.js.map +1 -1
  196. package/build/components/rich-text/get-rich-text-values.js +2 -1
  197. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  198. package/build/components/rich-text/index.js +19 -37
  199. package/build/components/rich-text/index.js.map +1 -1
  200. package/build/components/rich-text/index.native.js +9 -16
  201. package/build/components/rich-text/index.native.js.map +1 -1
  202. package/build/components/rich-text/native/get-format-colors.native.js +22 -24
  203. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  204. package/build/components/rich-text/native/index.native.js +22 -57
  205. package/build/components/rich-text/native/index.native.js.map +1 -1
  206. package/build/components/rich-text/use-input-rules.js +7 -3
  207. package/build/components/rich-text/use-input-rules.js.map +1 -1
  208. package/build/components/rich-text/use-mark-persistent.js +1 -1
  209. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  210. package/build/components/rich-text/with-deprecations.js +50 -0
  211. package/build/components/rich-text/with-deprecations.js.map +1 -0
  212. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  213. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  214. package/build/components/url-input/index.js +9 -6
  215. package/build/components/url-input/index.js.map +1 -1
  216. package/build/components/use-block-commands/index.js +14 -18
  217. package/build/components/use-block-commands/index.js.map +1 -1
  218. package/build/components/use-block-drop-zone/index.js +108 -17
  219. package/build/components/use-block-drop-zone/index.js.map +1 -1
  220. package/build/components/use-moving-animation/index.js +100 -92
  221. package/build/components/use-moving-animation/index.js.map +1 -1
  222. package/build/components/use-on-block-drop/index.js +9 -12
  223. package/build/components/use-on-block-drop/index.js.map +1 -1
  224. package/build/components/use-resize-canvas/index.js +4 -1
  225. package/build/components/use-resize-canvas/index.js.map +1 -1
  226. package/build/components/use-settings/index.js +14 -0
  227. package/build/components/use-settings/index.js.map +1 -1
  228. package/build/components/writing-flow/index.js +0 -1
  229. package/build/components/writing-flow/index.js.map +1 -1
  230. package/build/components/writing-flow/use-drag-selection.js +15 -4
  231. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  232. package/build/components/writing-flow/use-selection-observer.js +73 -27
  233. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  234. package/build/components/writing-flow/use-tab-nav.js +7 -4
  235. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  236. package/build/hooks/align.js +21 -69
  237. package/build/hooks/align.js.map +1 -1
  238. package/build/hooks/align.native.js +11 -1
  239. package/build/hooks/align.native.js.map +1 -1
  240. package/build/hooks/anchor.js +14 -30
  241. package/build/hooks/anchor.js.map +1 -1
  242. package/build/hooks/aria-label.js +9 -1
  243. package/build/hooks/aria-label.js.map +1 -1
  244. package/build/hooks/background.js +198 -36
  245. package/build/hooks/background.js.map +1 -1
  246. package/build/hooks/block-hooks.js +24 -32
  247. package/build/hooks/block-hooks.js.map +1 -1
  248. package/build/hooks/block-renaming.js +18 -22
  249. package/build/hooks/block-renaming.js.map +1 -1
  250. package/build/hooks/border.js +53 -80
  251. package/build/hooks/border.js.map +1 -1
  252. package/build/hooks/color.js +79 -90
  253. package/build/hooks/color.js.map +1 -1
  254. package/build/hooks/content-lock-ui.js +29 -29
  255. package/build/hooks/content-lock-ui.js.map +1 -1
  256. package/build/hooks/custom-class-name.js +13 -30
  257. package/build/hooks/custom-class-name.js.map +1 -1
  258. package/build/hooks/custom-class-name.native.js +9 -1
  259. package/build/hooks/custom-class-name.native.js.map +1 -1
  260. package/build/hooks/dimensions.js +13 -14
  261. package/build/hooks/dimensions.js.map +1 -1
  262. package/build/hooks/duotone.js +31 -61
  263. package/build/hooks/duotone.js.map +1 -1
  264. package/build/hooks/font-family.js +23 -28
  265. package/build/hooks/font-family.js.map +1 -1
  266. package/build/hooks/font-size.js +52 -120
  267. package/build/hooks/font-size.js.map +1 -1
  268. package/build/hooks/index.js +27 -16
  269. package/build/hooks/index.js.map +1 -1
  270. package/build/hooks/index.native.js +15 -6
  271. package/build/hooks/index.native.js.map +1 -1
  272. package/build/hooks/layout-child.js +68 -0
  273. package/build/hooks/layout-child.js.map +1 -0
  274. package/build/hooks/layout.js +25 -104
  275. package/build/hooks/layout.js.map +1 -1
  276. package/build/hooks/padding.js +2 -2
  277. package/build/hooks/padding.js.map +1 -1
  278. package/build/hooks/position.js +40 -62
  279. package/build/hooks/position.js.map +1 -1
  280. package/build/hooks/style.js +52 -89
  281. package/build/hooks/style.js.map +1 -1
  282. package/build/hooks/typography.js +25 -10
  283. package/build/hooks/typography.js.map +1 -1
  284. package/build/hooks/typography.native.js +43 -18
  285. package/build/hooks/typography.native.js.map +1 -1
  286. package/build/hooks/use-typography-props.js +10 -2
  287. package/build/hooks/use-typography-props.js.map +1 -1
  288. package/build/hooks/utils.js +200 -10
  289. package/build/hooks/utils.js.map +1 -1
  290. package/build/private-apis.js +2 -6
  291. package/build/private-apis.js.map +1 -1
  292. package/build/private-apis.native.js +0 -2
  293. package/build/private-apis.native.js.map +1 -1
  294. package/build/store/actions.js +0 -16
  295. package/build/store/actions.js.map +1 -1
  296. package/build/store/private-actions.js +54 -0
  297. package/build/store/private-actions.js.map +1 -1
  298. package/build/store/private-selectors.js +46 -0
  299. package/build/store/private-selectors.js.map +1 -1
  300. package/build/store/reducer.js +18 -2
  301. package/build/store/reducer.js.map +1 -1
  302. package/build/store/selectors.js +11 -73
  303. package/build/store/selectors.js.map +1 -1
  304. package/build/store/undo-ignore.js +12 -0
  305. package/build/store/undo-ignore.js.map +1 -0
  306. package/build/store/utils.js +66 -0
  307. package/build/store/utils.js.map +1 -0
  308. package/build/utils/get-px-from-css-unit.js +16 -0
  309. package/build/utils/get-px-from-css-unit.js.map +1 -0
  310. package/build/utils/index.js +2 -2
  311. package/build/utils/index.js.map +1 -1
  312. package/build/utils/object.js +38 -99
  313. package/build/utils/object.js.map +1 -1
  314. package/build/utils/selection.js +9 -1
  315. package/build/utils/selection.js.map +1 -1
  316. package/build/utils/use-can-block-toolbar-be-focused.js +46 -0
  317. package/build/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  318. package/build-module/components/block-canvas/index.js +22 -8
  319. package/build-module/components/block-canvas/index.js.map +1 -1
  320. package/build-module/components/block-card/index.js +2 -2
  321. package/build-module/components/block-card/index.js.map +1 -1
  322. package/build-module/components/block-controls/hook.js +4 -24
  323. package/build-module/components/block-controls/hook.js.map +1 -1
  324. package/build-module/components/block-draggable/draggable-chip.js +6 -1
  325. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  326. package/build-module/components/block-draggable/index.js +76 -6
  327. package/build-module/components/block-draggable/index.js.map +1 -1
  328. package/build-module/components/block-draggable/index.native.js +1 -7
  329. package/build-module/components/block-draggable/index.native.js.map +1 -1
  330. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  331. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  332. package/build-module/components/block-edit/context.js +2 -0
  333. package/build-module/components/block-edit/context.js.map +1 -1
  334. package/build-module/components/block-edit/index.js +19 -10
  335. package/build-module/components/block-edit/index.js.map +1 -1
  336. package/build-module/components/block-editing-mode/index.js +3 -4
  337. package/build-module/components/block-editing-mode/index.js.map +1 -1
  338. package/build-module/components/block-info-slot-fill/index.js +3 -3
  339. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  340. package/build-module/components/block-inspector/index.js +1 -1
  341. package/build-module/components/block-inspector/index.js.map +1 -1
  342. package/build-module/components/block-list/block-list-item-cell.native.js +1 -0
  343. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  344. package/build-module/components/block-list/block.js +261 -99
  345. package/build-module/components/block-list/block.js.map +1 -1
  346. package/build-module/components/block-list/block.native.js +60 -25
  347. package/build-module/components/block-list/block.native.js.map +1 -1
  348. package/build-module/components/block-list/index.native.js +3 -5
  349. package/build-module/components/block-list/index.native.js.map +1 -1
  350. package/build-module/components/block-list/private-block-context.js +6 -0
  351. package/build-module/components/block-list/private-block-context.js.map +1 -0
  352. package/build-module/components/block-list/use-block-props/index.js +50 -70
  353. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  354. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -29
  355. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  356. package/build-module/components/block-list/use-block-props/use-is-hovered.js +4 -14
  357. package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  358. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
  359. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  360. package/build-module/components/block-list/use-in-between-inserter.js +3 -2
  361. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  362. package/build-module/components/block-list/use-scroll-upon-insertion.native.js +33 -0
  363. package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  364. package/build-module/components/block-lock/toolbar.js +22 -28
  365. package/build-module/components/block-lock/toolbar.js.map +1 -1
  366. package/build-module/components/block-mover/index.js +2 -1
  367. package/build-module/components/block-mover/index.js.map +1 -1
  368. package/build-module/components/block-patterns-list/index.js +6 -6
  369. package/build-module/components/block-patterns-list/index.js.map +1 -1
  370. package/build-module/components/block-removal-warning-modal/index.js +3 -10
  371. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  372. package/build-module/components/block-rename/modal.js +3 -0
  373. package/build-module/components/block-rename/modal.js.map +1 -1
  374. package/build-module/components/block-settings/container.native.js +4 -2
  375. package/build-module/components/block-settings/container.native.js.map +1 -1
  376. package/build-module/components/block-styles/index.js +1 -1
  377. package/build-module/components/block-styles/index.js.map +1 -1
  378. package/build-module/components/block-styles/index.native.js +3 -2
  379. package/build-module/components/block-styles/index.native.js.map +1 -1
  380. package/build-module/components/block-switcher/index.js +4 -4
  381. package/build-module/components/block-switcher/index.js.map +1 -1
  382. package/build-module/components/block-toolbar/index.js +89 -27
  383. package/build-module/components/block-toolbar/index.js.map +1 -1
  384. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +41 -0
  385. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
  386. package/build-module/components/block-tools/block-toolbar-popover.js +74 -0
  387. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -0
  388. package/build-module/components/block-tools/index.js +27 -24
  389. package/build-module/components/block-tools/index.js.map +1 -1
  390. package/build-module/components/block-types-list/index.native.js +2 -1
  391. package/build-module/components/block-types-list/index.native.js.map +1 -1
  392. package/build-module/components/block-variation-picker/index.native.js +2 -1
  393. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  394. package/build-module/components/block-variation-transforms/index.js +30 -3
  395. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  396. package/build-module/components/border-radius-control/linked-button.js +1 -1
  397. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  398. package/build-module/components/colors/utils.js +9 -1
  399. package/build-module/components/colors/utils.js.map +1 -1
  400. package/build-module/components/colors/with-colors.js +5 -1
  401. package/build-module/components/colors/with-colors.js.map +1 -1
  402. package/build-module/components/colors-gradients/control.js +29 -18
  403. package/build-module/components/colors-gradients/control.js.map +1 -1
  404. package/build-module/components/duotone-control/index.js +1 -4
  405. package/build-module/components/duotone-control/index.js.map +1 -1
  406. package/build-module/components/font-sizes/utils.js +9 -1
  407. package/build-module/components/font-sizes/utils.js.map +1 -1
  408. package/build-module/components/global-styles/border-panel.js +3 -2
  409. package/build-module/components/global-styles/border-panel.js.map +1 -1
  410. package/build-module/components/global-styles/color-panel.js +26 -23
  411. package/build-module/components/global-styles/color-panel.js.map +1 -1
  412. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  413. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  414. package/build-module/components/global-styles/effects-panel.js +3 -2
  415. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  416. package/build-module/components/global-styles/filters-panel.js +8 -5
  417. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  418. package/build-module/components/global-styles/get-global-styles-changes.js +184 -0
  419. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -0
  420. package/build-module/components/global-styles/hooks.js +3 -2
  421. package/build-module/components/global-styles/hooks.js.map +1 -1
  422. package/build-module/components/global-styles/image-settings-panel.js +7 -1
  423. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  424. package/build-module/components/global-styles/index.js +1 -0
  425. package/build-module/components/global-styles/index.js.map +1 -1
  426. package/build-module/components/global-styles/typography-panel.js +45 -38
  427. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  428. package/build-module/components/global-styles/use-global-styles-output.js +15 -1
  429. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  430. package/build-module/components/global-styles/utils.js +7 -0
  431. package/build-module/components/global-styles/utils.js.map +1 -1
  432. package/build-module/components/height-control/index.js +6 -2
  433. package/build-module/components/height-control/index.js.map +1 -1
  434. package/build-module/components/image-link-destinations/index.native.js +109 -0
  435. package/build-module/components/image-link-destinations/index.native.js.map +1 -0
  436. package/build-module/components/image-size-control/index.js +2 -2
  437. package/build-module/components/image-size-control/index.js.map +1 -1
  438. package/build-module/components/index.native.js +3 -1
  439. package/build-module/components/index.native.js.map +1 -1
  440. package/build-module/components/inner-blocks/index.js +62 -23
  441. package/build-module/components/inner-blocks/index.js.map +1 -1
  442. package/build-module/components/inner-blocks/index.native.js +18 -4
  443. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  444. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  445. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  446. package/build-module/components/inner-blocks/use-nested-settings-update.js +6 -10
  447. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  448. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  449. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  450. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +11 -10
  451. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  452. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +11 -11
  453. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  454. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +11 -11
  455. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  456. package/build-module/components/inserter/block-patterns-tab/utils.js +7 -11
  457. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  458. package/build-module/components/inserter/hooks/use-block-types-state.js +4 -14
  459. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  460. package/build-module/components/inserter/hooks/use-patterns-state.js +2 -2
  461. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  462. package/build-module/components/inserter/index.js +1 -2
  463. package/build-module/components/inserter/index.js.map +1 -1
  464. package/build-module/components/inserter/library.js +3 -7
  465. package/build-module/components/inserter/library.js.map +1 -1
  466. package/build-module/components/inserter/media-tab/media-panel.js +1 -1
  467. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  468. package/build-module/components/inserter/menu.js +26 -33
  469. package/build-module/components/inserter/menu.js.map +1 -1
  470. package/build-module/components/inserter/preview-panel.js +2 -2
  471. package/build-module/components/inserter/preview-panel.js.map +1 -1
  472. package/build-module/components/inserter/tabs.js +22 -22
  473. package/build-module/components/inserter/tabs.js.map +1 -1
  474. package/build-module/components/inserter-button/index.native.js +89 -0
  475. package/build-module/components/inserter-button/index.native.js.map +1 -0
  476. package/build-module/components/inserter-button/sparkles.js +15 -0
  477. package/build-module/components/inserter-button/sparkles.js.map +1 -0
  478. package/build-module/components/inserter-draggable-blocks/index.js +9 -5
  479. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  480. package/build-module/components/inserter-list-item/index.js +2 -4
  481. package/build-module/components/inserter-list-item/index.js.map +1 -1
  482. package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -1
  483. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  484. package/build-module/components/inspector-controls/fill.js +3 -3
  485. package/build-module/components/inspector-controls/fill.js.map +1 -1
  486. package/build-module/components/inspector-controls/fill.native.js +3 -3
  487. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  488. package/build-module/components/inspector-controls-tabs/index.js +35 -24
  489. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  490. package/build-module/components/list-view/block-select-button.js +4 -0
  491. package/build-module/components/list-view/block-select-button.js.map +1 -1
  492. package/build-module/components/list-view/block.js +58 -4
  493. package/build-module/components/list-view/block.js.map +1 -1
  494. package/build-module/components/media-upload-progress/constants.js +7 -0
  495. package/build-module/components/media-upload-progress/constants.js.map +1 -0
  496. package/build-module/components/media-upload-progress/index.native.js +37 -8
  497. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  498. package/build-module/components/navigable-toolbar/index.js +11 -16
  499. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  500. package/build-module/components/plain-text/index.native.js +6 -1
  501. package/build-module/components/plain-text/index.native.js.map +1 -1
  502. package/build-module/components/preview-options/index.js +6 -62
  503. package/build-module/components/preview-options/index.js.map +1 -1
  504. package/build-module/components/provider/index.js +3 -1
  505. package/build-module/components/provider/index.js.map +1 -1
  506. package/build-module/components/provider/use-block-sync.js +7 -1
  507. package/build-module/components/provider/use-block-sync.js.map +1 -1
  508. package/build-module/components/rich-text/content.js +25 -21
  509. package/build-module/components/rich-text/content.js.map +1 -1
  510. package/build-module/components/rich-text/get-rich-text-values.js +2 -1
  511. package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
  512. package/build-module/components/rich-text/index.js +21 -39
  513. package/build-module/components/rich-text/index.js.map +1 -1
  514. package/build-module/components/rich-text/index.native.js +10 -18
  515. package/build-module/components/rich-text/index.native.js.map +1 -1
  516. package/build-module/components/rich-text/native/get-format-colors.native.js +22 -24
  517. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  518. package/build-module/components/rich-text/native/index.native.js +22 -56
  519. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  520. package/build-module/components/rich-text/use-input-rules.js +7 -3
  521. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  522. package/build-module/components/rich-text/use-mark-persistent.js +1 -1
  523. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  524. package/build-module/components/rich-text/with-deprecations.js +42 -0
  525. package/build-module/components/rich-text/with-deprecations.js.map +1 -0
  526. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  527. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  528. package/build-module/components/url-input/index.js +9 -6
  529. package/build-module/components/url-input/index.js.map +1 -1
  530. package/build-module/components/use-block-commands/index.js +14 -18
  531. package/build-module/components/use-block-commands/index.js.map +1 -1
  532. package/build-module/components/use-block-drop-zone/index.js +107 -18
  533. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  534. package/build-module/components/use-moving-animation/index.js +102 -94
  535. package/build-module/components/use-moving-animation/index.js.map +1 -1
  536. package/build-module/components/use-on-block-drop/index.js +9 -12
  537. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  538. package/build-module/components/use-resize-canvas/index.js +4 -1
  539. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  540. package/build-module/components/use-settings/index.js +13 -1
  541. package/build-module/components/use-settings/index.js.map +1 -1
  542. package/build-module/components/writing-flow/index.js +0 -1
  543. package/build-module/components/writing-flow/index.js.map +1 -1
  544. package/build-module/components/writing-flow/use-drag-selection.js +15 -4
  545. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  546. package/build-module/components/writing-flow/use-selection-observer.js +73 -27
  547. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  548. package/build-module/components/writing-flow/use-tab-nav.js +7 -4
  549. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  550. package/build-module/hooks/align.js +20 -67
  551. package/build-module/hooks/align.js.map +1 -1
  552. package/build-module/hooks/align.native.js +1 -0
  553. package/build-module/hooks/align.native.js.map +1 -1
  554. package/build-module/hooks/anchor.js +12 -27
  555. package/build-module/hooks/anchor.js.map +1 -1
  556. package/build-module/hooks/aria-label.js +7 -1
  557. package/build-module/hooks/aria-label.js.map +1 -1
  558. package/build-module/hooks/background.js +197 -37
  559. package/build-module/hooks/background.js.map +1 -1
  560. package/build-module/hooks/block-hooks.js +22 -30
  561. package/build-module/hooks/block-hooks.js.map +1 -1
  562. package/build-module/hooks/block-renaming.js +17 -21
  563. package/build-module/hooks/block-renaming.js.map +1 -1
  564. package/build-module/hooks/border.js +52 -79
  565. package/build-module/hooks/border.js.map +1 -1
  566. package/build-module/hooks/color.js +78 -88
  567. package/build-module/hooks/color.js.map +1 -1
  568. package/build-module/hooks/content-lock-ui.js +27 -27
  569. package/build-module/hooks/content-lock-ui.js.map +1 -1
  570. package/build-module/hooks/custom-class-name.js +12 -28
  571. package/build-module/hooks/custom-class-name.js.map +1 -1
  572. package/build-module/hooks/custom-class-name.native.js +7 -1
  573. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  574. package/build-module/hooks/dimensions.js +15 -16
  575. package/build-module/hooks/dimensions.js.map +1 -1
  576. package/build-module/hooks/duotone.js +30 -61
  577. package/build-module/hooks/duotone.js.map +1 -1
  578. package/build-module/hooks/font-family.js +20 -25
  579. package/build-module/hooks/font-family.js.map +1 -1
  580. package/build-module/hooks/font-size.js +50 -120
  581. package/build-module/hooks/font-size.js.map +1 -1
  582. package/build-module/hooks/index.js +20 -16
  583. package/build-module/hooks/index.js.map +1 -1
  584. package/build-module/hooks/index.native.js +10 -6
  585. package/build-module/hooks/index.native.js.map +1 -1
  586. package/build-module/hooks/layout-child.js +60 -0
  587. package/build-module/hooks/layout-child.js.map +1 -0
  588. package/build-module/hooks/layout.js +21 -100
  589. package/build-module/hooks/layout.js.map +1 -1
  590. package/build-module/hooks/padding.js +2 -2
  591. package/build-module/hooks/padding.js.map +1 -1
  592. package/build-module/hooks/position.js +38 -59
  593. package/build-module/hooks/position.js.map +1 -1
  594. package/build-module/hooks/style.js +52 -85
  595. package/build-module/hooks/style.js.map +1 -1
  596. package/build-module/hooks/typography.js +26 -11
  597. package/build-module/hooks/typography.js.map +1 -1
  598. package/build-module/hooks/typography.native.js +43 -17
  599. package/build-module/hooks/typography.native.js.map +1 -1
  600. package/build-module/hooks/use-typography-props.js +9 -1
  601. package/build-module/hooks/use-typography-props.js.map +1 -1
  602. package/build-module/hooks/utils.js +194 -9
  603. package/build-module/hooks/utils.js.map +1 -1
  604. package/build-module/private-apis.js +2 -6
  605. package/build-module/private-apis.js.map +1 -1
  606. package/build-module/private-apis.native.js +0 -2
  607. package/build-module/private-apis.native.js.map +1 -1
  608. package/build-module/store/actions.js +0 -15
  609. package/build-module/store/actions.js.map +1 -1
  610. package/build-module/store/private-actions.js +52 -0
  611. package/build-module/store/private-actions.js.map +1 -1
  612. package/build-module/store/private-selectors.js +44 -1
  613. package/build-module/store/private-selectors.js.map +1 -1
  614. package/build-module/store/reducer.js +18 -2
  615. package/build-module/store/reducer.js.map +1 -1
  616. package/build-module/store/selectors.js +4 -65
  617. package/build-module/store/selectors.js.map +1 -1
  618. package/build-module/store/undo-ignore.js +5 -0
  619. package/build-module/store/undo-ignore.js.map +1 -0
  620. package/build-module/store/utils.js +56 -0
  621. package/build-module/store/utils.js.map +1 -0
  622. package/build-module/utils/get-px-from-css-unit.js +9 -0
  623. package/build-module/utils/get-px-from-css-unit.js.map +1 -0
  624. package/build-module/utils/index.js +1 -1
  625. package/build-module/utils/index.js.map +1 -1
  626. package/build-module/utils/object.js +37 -97
  627. package/build-module/utils/object.js.map +1 -1
  628. package/build-module/utils/selection.js +9 -1
  629. package/build-module/utils/selection.js.map +1 -1
  630. package/build-module/utils/use-can-block-toolbar-be-focused.js +40 -0
  631. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  632. package/build-style/content-rtl.css +7 -6
  633. package/build-style/content.css +7 -6
  634. package/build-style/style-rtl.css +164 -301
  635. package/build-style/style.css +164 -301
  636. package/package.json +31 -31
  637. package/src/components/alignment-control/README.md +0 -5
  638. package/src/components/block-alignment-control/README.md +0 -5
  639. package/src/components/block-alignment-matrix-control/README.md +0 -10
  640. package/src/components/block-breadcrumb/README.md +0 -5
  641. package/src/components/block-canvas/index.js +29 -17
  642. package/src/components/block-canvas/style.scss +6 -0
  643. package/src/components/block-caption/README.md +2 -7
  644. package/src/components/block-card/README.md +0 -5
  645. package/src/components/block-card/index.js +6 -4
  646. package/src/components/block-card/style.scss +7 -3
  647. package/src/components/block-controls/hook.js +8 -30
  648. package/src/components/block-controls/test/index.js +3 -3
  649. package/src/components/block-draggable/draggable-chip.js +11 -1
  650. package/src/components/block-draggable/index.js +116 -4
  651. package/src/components/block-draggable/index.native.js +0 -5
  652. package/src/components/block-draggable/style.scss +35 -0
  653. package/src/components/block-draggable/test/helpers.native.js +8 -7
  654. package/src/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  655. package/src/components/block-edit/context.js +3 -0
  656. package/src/components/block-edit/index.js +36 -10
  657. package/src/components/block-editing-mode/index.js +3 -3
  658. package/src/components/block-icon/README.md +0 -5
  659. package/src/components/block-info-slot-fill/index.js +6 -3
  660. package/src/components/block-inspector/README.md +0 -5
  661. package/src/components/block-inspector/index.js +3 -1
  662. package/src/components/block-inspector/style.scss +0 -4
  663. package/src/components/block-list/block-list-item-cell.native.js +5 -1
  664. package/src/components/block-list/block.js +309 -104
  665. package/src/components/block-list/block.native.js +69 -21
  666. package/src/components/block-list/content.scss +14 -10
  667. package/src/components/block-list/index.native.js +3 -5
  668. package/src/components/block-list/{block-list-block-context.js → private-block-context.js} +1 -1
  669. package/src/components/block-list/use-block-props/index.js +43 -86
  670. package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -34
  671. package/src/components/block-list/use-block-props/use-is-hovered.js +2 -13
  672. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +1 -5
  673. package/src/components/block-list/use-in-between-inserter.js +4 -1
  674. package/src/components/block-list/use-scroll-upon-insertion.native.js +52 -0
  675. package/src/components/block-lock/toolbar.js +23 -34
  676. package/src/components/block-mover/README.md +0 -5
  677. package/src/components/block-mover/index.js +1 -1
  678. package/src/components/block-parent-selector/README.md +0 -5
  679. package/src/components/block-patterns-list/README.md +0 -5
  680. package/src/components/block-patterns-list/index.js +9 -6
  681. package/src/components/block-removal-warning-modal/index.js +7 -14
  682. package/src/components/block-rename/modal.js +7 -1
  683. package/src/components/block-settings/container.native.js +3 -5
  684. package/src/components/block-styles/index.js +1 -1
  685. package/src/components/block-styles/index.native.js +4 -2
  686. package/src/components/block-styles/style.scss +0 -11
  687. package/src/components/block-switcher/index.js +49 -59
  688. package/src/components/block-switcher/test/__snapshots__/index.js.snap +3 -1
  689. package/src/components/block-toolbar/README.md +0 -5
  690. package/src/components/block-toolbar/index.js +179 -95
  691. package/src/components/block-toolbar/style.scss +50 -66
  692. package/src/components/block-tools/block-toolbar-breadcrumb.js +46 -0
  693. package/src/components/block-tools/block-toolbar-popover.js +84 -0
  694. package/src/components/block-tools/index.js +42 -29
  695. package/src/components/block-tools/style.scss +60 -172
  696. package/src/components/block-types-list/README.md +0 -5
  697. package/src/components/block-types-list/index.native.js +2 -1
  698. package/src/components/block-variation-picker/README.md +0 -5
  699. package/src/components/block-variation-picker/index.native.js +1 -1
  700. package/src/components/block-variation-transforms/README.md +0 -5
  701. package/src/components/block-variation-transforms/index.js +49 -3
  702. package/src/components/border-radius-control/linked-button.js +1 -1
  703. package/src/components/caption/README.md +0 -5
  704. package/src/components/color-palette/test/__snapshots__/control.js.snap +0 -1
  705. package/src/components/colors/utils.js +8 -1
  706. package/src/components/colors/with-colors.js +3 -1
  707. package/src/components/colors-gradients/control.js +49 -30
  708. package/src/components/colors-gradients/style.scss +0 -7
  709. package/src/components/contrast-checker/README.md +0 -4
  710. package/src/components/copy-handler/README.md +0 -10
  711. package/src/components/duotone-control/index.js +2 -5
  712. package/src/components/duotone-control/style.scss +1 -6
  713. package/src/components/font-sizes/utils.js +7 -1
  714. package/src/components/global-styles/border-panel.js +2 -1
  715. package/src/components/global-styles/color-panel.js +36 -26
  716. package/src/components/global-styles/dimensions-panel.js +4 -3
  717. package/src/components/global-styles/effects-panel.js +2 -1
  718. package/src/components/global-styles/filters-panel.js +6 -5
  719. package/src/components/global-styles/get-global-styles-changes.js +210 -0
  720. package/src/components/global-styles/hooks.js +5 -0
  721. package/src/components/global-styles/image-settings-panel.js +6 -0
  722. package/src/components/global-styles/index.js +1 -0
  723. package/src/components/global-styles/test/get-global-styles-changes.js +234 -0
  724. package/src/components/global-styles/typography-panel.js +60 -47
  725. package/src/components/global-styles/use-global-styles-output.js +9 -5
  726. package/src/components/global-styles/utils.js +7 -0
  727. package/src/components/height-control/README.md +2 -7
  728. package/src/components/height-control/index.js +4 -0
  729. package/src/components/image-link-destinations/index.native.js +152 -0
  730. package/src/components/image-link-destinations/style.native.scss +16 -0
  731. package/src/components/image-size-control/index.js +5 -2
  732. package/src/components/index.native.js +3 -2
  733. package/src/components/inner-blocks/README.md +13 -2
  734. package/src/components/inner-blocks/index.js +68 -29
  735. package/src/components/inner-blocks/index.native.js +19 -7
  736. package/src/components/inner-blocks/use-inner-block-template-sync.js +5 -7
  737. package/src/components/inner-blocks/use-nested-settings-update.js +6 -13
  738. package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  739. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +15 -15
  740. package/src/components/inserter/block-patterns-tab/patterns-filter.js +15 -13
  741. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +15 -18
  742. package/src/components/inserter/block-patterns-tab/utils.js +11 -12
  743. package/src/components/inserter/hooks/use-block-types-state.js +9 -11
  744. package/src/components/inserter/hooks/use-patterns-state.js +2 -2
  745. package/src/components/inserter/index.js +0 -1
  746. package/src/components/inserter/library.js +2 -8
  747. package/src/components/inserter/media-tab/media-panel.js +1 -1
  748. package/src/components/inserter/menu.js +26 -36
  749. package/src/components/inserter/preview-panel.js +2 -2
  750. package/src/components/inserter/style.scss +21 -21
  751. package/src/components/inserter/tabs.js +34 -25
  752. package/src/components/inserter-button/README.md +62 -0
  753. package/src/components/inserter-button/index.native.js +116 -0
  754. package/src/components/inserter-button/sparkles.js +15 -0
  755. package/src/components/inserter-button/style.native.scss +72 -0
  756. package/src/components/inserter-draggable-blocks/index.js +18 -5
  757. package/src/components/inserter-list-item/index.js +6 -6
  758. package/src/components/inspector-controls/block-support-tools-panel.js +2 -0
  759. package/src/components/inspector-controls/fill.js +6 -3
  760. package/src/components/inspector-controls/fill.native.js +6 -3
  761. package/src/components/inspector-controls-tabs/index.js +39 -28
  762. package/src/components/inspector-controls-tabs/style.scss +3 -2
  763. package/src/components/letter-spacing-control/README.md +0 -5
  764. package/src/components/line-height-control/README.md +0 -5
  765. package/src/components/link-control/style.scss +1 -1
  766. package/src/components/link-control/test/index.js +1 -1
  767. package/src/components/list-view/README.md +0 -5
  768. package/src/components/list-view/block-select-button.js +4 -0
  769. package/src/components/list-view/block.js +73 -2
  770. package/src/components/list-view/style.scss +6 -0
  771. package/src/components/media-upload-progress/constants.js +6 -0
  772. package/src/components/media-upload-progress/index.native.js +66 -14
  773. package/src/components/media-upload-progress/test/index.native.js +2 -2
  774. package/src/components/multi-selection-inspector/README.md +0 -5
  775. package/src/components/navigable-toolbar/README.md +2 -0
  776. package/src/components/navigable-toolbar/index.js +15 -13
  777. package/src/components/plain-text/index.native.js +6 -1
  778. package/src/components/preview-options/index.js +6 -86
  779. package/src/components/provider/index.js +1 -1
  780. package/src/components/provider/test/use-block-sync.js +20 -17
  781. package/src/components/provider/use-block-sync.js +6 -0
  782. package/src/components/rich-text/content.js +27 -20
  783. package/src/components/rich-text/get-rich-text-values.js +6 -1
  784. package/src/components/rich-text/index.js +23 -52
  785. package/src/components/rich-text/index.native.js +8 -25
  786. package/src/components/rich-text/native/get-format-colors.native.js +33 -40
  787. package/src/components/rich-text/native/index.native.js +22 -71
  788. package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +3 -3
  789. package/src/components/rich-text/native/test/index.native.js +72 -5
  790. package/src/components/rich-text/use-input-rules.js +8 -3
  791. package/src/components/rich-text/use-mark-persistent.js +1 -2
  792. package/src/components/rich-text/with-deprecations.js +51 -0
  793. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  794. package/src/components/text-decoration-control/README.md +40 -0
  795. package/src/components/text-transform-control/README.md +0 -4
  796. package/src/components/ungroup-button/README.md +0 -5
  797. package/src/components/unit-control/README.md +0 -4
  798. package/src/components/url-input/index.js +11 -11
  799. package/src/components/use-block-commands/index.js +18 -21
  800. package/src/components/use-block-drop-zone/index.js +181 -30
  801. package/src/components/use-moving-animation/index.js +107 -103
  802. package/src/components/use-on-block-drop/index.js +9 -24
  803. package/src/components/use-on-block-drop/test/index.js +12 -26
  804. package/src/components/use-resize-canvas/README.md +3 -7
  805. package/src/components/use-resize-canvas/index.js +4 -1
  806. package/src/components/use-settings/README.md +0 -4
  807. package/src/components/use-settings/index.js +15 -1
  808. package/src/components/writing-flow/index.js +0 -1
  809. package/src/components/writing-flow/use-drag-selection.js +18 -4
  810. package/src/components/writing-flow/use-selection-observer.js +99 -37
  811. package/src/components/writing-flow/use-tab-nav.js +7 -7
  812. package/src/hooks/align.js +16 -81
  813. package/src/hooks/align.native.js +1 -0
  814. package/src/hooks/anchor.js +14 -38
  815. package/src/hooks/aria-label.js +8 -5
  816. package/src/hooks/background.js +269 -32
  817. package/src/hooks/block-hooks.js +22 -51
  818. package/src/hooks/block-renaming.js +23 -37
  819. package/src/hooks/border.js +62 -124
  820. package/src/hooks/color.js +111 -138
  821. package/src/hooks/content-lock-ui.js +110 -122
  822. package/src/hooks/custom-class-name.js +9 -45
  823. package/src/hooks/custom-class-name.native.js +8 -5
  824. package/src/hooks/dimensions.js +14 -16
  825. package/src/hooks/duotone.js +70 -127
  826. package/src/hooks/font-family.js +14 -36
  827. package/src/hooks/font-size.js +67 -168
  828. package/src/hooks/index.js +58 -16
  829. package/src/hooks/index.native.js +22 -6
  830. package/src/hooks/layout-child.js +53 -0
  831. package/src/hooks/layout.js +17 -103
  832. package/src/hooks/padding.js +2 -2
  833. package/src/hooks/position.js +50 -90
  834. package/src/hooks/style.js +118 -193
  835. package/src/hooks/test/align.js +1 -178
  836. package/src/hooks/test/anchor.js +4 -9
  837. package/src/hooks/test/custom-class-name.js +3 -8
  838. package/src/hooks/test/style.js +4 -14
  839. package/src/hooks/typography.js +14 -16
  840. package/src/hooks/typography.native.js +31 -33
  841. package/src/hooks/use-typography-props.js +7 -1
  842. package/src/hooks/utils.js +261 -10
  843. package/src/private-apis.js +2 -6
  844. package/src/private-apis.native.js +0 -2
  845. package/src/store/actions.js +0 -15
  846. package/src/store/private-actions.js +48 -0
  847. package/src/store/private-selectors.js +56 -0
  848. package/src/store/reducer.js +20 -1
  849. package/src/store/selectors.js +10 -82
  850. package/src/store/undo-ignore.js +4 -0
  851. package/src/store/utils.js +74 -0
  852. package/src/style.scss +1 -2
  853. package/src/utils/get-px-from-css-unit.js +8 -0
  854. package/src/utils/index.js +1 -1
  855. package/src/utils/object.js +34 -104
  856. package/src/utils/selection.js +9 -2
  857. package/src/utils/test/object.js +1 -96
  858. package/src/utils/use-can-block-toolbar-be-focused.js +48 -0
  859. package/build/components/block-list/block-list-block-context.js +0 -14
  860. package/build/components/block-list/block-list-block-context.js.map +0 -1
  861. package/build/components/block-list/use-block-props/use-block-class-names.js +0 -67
  862. package/build/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
  863. package/build/components/block-list/use-block-props/use-block-custom-class-name.js +0 -46
  864. package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
  865. package/build/components/block-list/use-block-props/use-block-default-class-name.js +0 -37
  866. package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
  867. package/build/components/block-tools/back-compat.js +0 -45
  868. package/build/components/block-tools/back-compat.js.map +0 -1
  869. package/build/components/block-tools/block-contextual-toolbar.js +0 -91
  870. package/build/components/block-tools/block-contextual-toolbar.js.map +0 -1
  871. package/build/components/block-tools/selected-block-tools.js +0 -113
  872. package/build/components/block-tools/selected-block-tools.js.map +0 -1
  873. package/build/components/inserter/hooks/use-debounced-input.js +0 -22
  874. package/build/components/inserter/hooks/use-debounced-input.js.map +0 -1
  875. package/build/components/use-display-block-controls/index.js +0 -39
  876. package/build/components/use-display-block-controls/index.js.map +0 -1
  877. package/build/components/use-display-block-controls/index.native.js +0 -39
  878. package/build/components/use-display-block-controls/index.native.js.map +0 -1
  879. package/build/hooks/custom-fields.js +0 -120
  880. package/build/hooks/custom-fields.js.map +0 -1
  881. package/build/utils/parse-css-unit-to-px.js +0 -302
  882. package/build/utils/parse-css-unit-to-px.js.map +0 -1
  883. package/build/utils/use-should-contextual-toolbar-show.js +0 -63
  884. package/build/utils/use-should-contextual-toolbar-show.js.map +0 -1
  885. package/build-module/components/block-list/block-list-block-context.js +0 -6
  886. package/build-module/components/block-list/block-list-block-context.js.map +0 -1
  887. package/build-module/components/block-list/use-block-props/use-block-class-names.js +0 -60
  888. package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
  889. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +0 -40
  890. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
  891. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +0 -31
  892. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
  893. package/build-module/components/block-tools/back-compat.js +0 -35
  894. package/build-module/components/block-tools/back-compat.js.map +0 -1
  895. package/build-module/components/block-tools/block-contextual-toolbar.js +0 -83
  896. package/build-module/components/block-tools/block-contextual-toolbar.js.map +0 -1
  897. package/build-module/components/block-tools/selected-block-tools.js +0 -105
  898. package/build-module/components/block-tools/selected-block-tools.js.map +0 -1
  899. package/build-module/components/inserter/hooks/use-debounced-input.js +0 -15
  900. package/build-module/components/inserter/hooks/use-debounced-input.js.map +0 -1
  901. package/build-module/components/use-display-block-controls/index.js +0 -32
  902. package/build-module/components/use-display-block-controls/index.js.map +0 -1
  903. package/build-module/components/use-display-block-controls/index.native.js +0 -32
  904. package/build-module/components/use-display-block-controls/index.native.js.map +0 -1
  905. package/build-module/hooks/custom-fields.js +0 -118
  906. package/build-module/hooks/custom-fields.js.map +0 -1
  907. package/build-module/utils/parse-css-unit-to-px.js +0 -294
  908. package/build-module/utils/parse-css-unit-to-px.js.map +0 -1
  909. package/build-module/utils/use-should-contextual-toolbar-show.js +0 -57
  910. package/build-module/utils/use-should-contextual-toolbar-show.js.map +0 -1
  911. package/src/components/block-list/use-block-props/use-block-class-names.js +0 -66
  912. package/src/components/block-list/use-block-props/use-block-custom-class-name.js +0 -44
  913. package/src/components/block-list/use-block-props/use-block-default-class-name.js +0 -35
  914. package/src/components/block-parent-selector/style.scss +0 -11
  915. package/src/components/block-tools/back-compat.js +0 -35
  916. package/src/components/block-tools/block-contextual-toolbar.js +0 -100
  917. package/src/components/block-tools/selected-block-tools.js +0 -127
  918. package/src/components/inserter/hooks/use-debounced-input.js +0 -18
  919. package/src/components/preview-options/README.md +0 -94
  920. package/src/components/preview-options/style.scss +0 -64
  921. package/src/components/use-display-block-controls/index.js +0 -36
  922. package/src/components/use-display-block-controls/index.native.js +0 -37
  923. package/src/hooks/custom-fields.js +0 -142
  924. package/src/hooks/test/color.js +0 -112
  925. package/src/utils/parse-css-unit-to-px.js +0 -329
  926. package/src/utils/test/parse-css-unit-to-px.js +0 -172
  927. package/src/utils/use-should-contextual-toolbar-show.js +0 -85
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_compose","require","_data","_store","_utils","useBlockPropsChildLayoutStyles","style","_style$layout","shouldRenderChildLayoutStyles","useSelect","select","blockEditorStore","getSettings","disableLayoutStyles","layout","selfStretch","flexSize","id","useInstanceId","selector","css","useStyleOverride","className","_default","useBlockProps","attributeKeys","hasSupport","exports","default"],"sources":["@wordpress/block-editor/src/hooks/layout-child.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { useStyleOverride } from './utils';\n\nfunction useBlockPropsChildLayoutStyles( { style } ) {\n\tconst shouldRenderChildLayoutStyles = useSelect( ( select ) => {\n\t\treturn ! select( blockEditorStore ).getSettings().disableLayoutStyles;\n\t} );\n\tconst layout = style?.layout ?? {};\n\tconst { selfStretch, flexSize } = layout;\n\tconst id = useInstanceId( useBlockPropsChildLayoutStyles );\n\tconst selector = `.wp-container-content-${ id }`;\n\n\tlet css = '';\n\tif ( shouldRenderChildLayoutStyles ) {\n\t\tif ( selfStretch === 'fixed' && flexSize ) {\n\t\t\tcss = `${ selector } {\n\t\t\t\tflex-basis: ${ flexSize };\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}`;\n\t\t} else if ( selfStretch === 'fill' ) {\n\t\t\tcss = `${ selector } {\n\t\t\t\tflex-grow: 1;\n\t\t\t}`;\n\t\t}\n\t}\n\n\tuseStyleOverride( { css } );\n\n\t// Only attach a container class if there is generated CSS to be attached.\n\tif ( ! css ) {\n\t\treturn;\n\t}\n\n\t// Attach a `wp-container-content` id-based classname.\n\treturn { className: `wp-container-content-${ id }` };\n}\n\nexport default {\n\tuseBlockProps: useBlockPropsChildLayoutStyles,\n\tattributeKeys: [ 'style' ],\n\thasSupport() {\n\t\treturn true;\n\t},\n};\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,SAASI,8BAA8BA,CAAE;EAAEC;AAAM,CAAC,EAAG;EAAA,IAAAC,aAAA;EACpD,MAAMC,6BAA6B,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC9D,OAAO,CAAEA,MAAM,CAAEC,YAAiB,CAAC,CAACC,WAAW,CAAC,CAAC,CAACC,mBAAmB;EACtE,CAAE,CAAC;EACH,MAAMC,MAAM,IAAAP,aAAA,GAAGD,KAAK,EAAEQ,MAAM,cAAAP,aAAA,cAAAA,aAAA,GAAI,CAAC,CAAC;EAClC,MAAM;IAAEQ,WAAW;IAAEC;EAAS,CAAC,GAAGF,MAAM;EACxC,MAAMG,EAAE,GAAG,IAAAC,sBAAa,EAAEb,8BAA+B,CAAC;EAC1D,MAAMc,QAAQ,GAAI,yBAAyBF,EAAI,EAAC;EAEhD,IAAIG,GAAG,GAAG,EAAE;EACZ,IAAKZ,6BAA6B,EAAG;IACpC,IAAKO,WAAW,KAAK,OAAO,IAAIC,QAAQ,EAAG;MAC1CI,GAAG,GAAI,GAAGD,QAAU;AACvB,kBAAmBH,QAAU;AAC7B;AACA,KAAK;IACH,CAAC,MAAM,IAAKD,WAAW,KAAK,MAAM,EAAG;MACpCK,GAAG,GAAI,GAAGD,QAAU;AACvB;AACA,KAAK;IACH;EACD;EAEA,IAAAE,uBAAgB,EAAE;IAAED;EAAI,CAAE,CAAC;;EAE3B;EACA,IAAK,CAAEA,GAAG,EAAG;IACZ;EACD;;EAEA;EACA,OAAO;IAAEE,SAAS,EAAG,wBAAwBL,EAAI;EAAE,CAAC;AACrD;AAAC,IAAAM,QAAA,GAEc;EACdC,aAAa,EAAEnB,8BAA8B;EAC7CoB,aAAa,EAAE,CAAE,OAAO,CAAE;EAC1BC,UAAUA,CAAA,EAAG;IACZ,OAAO,IAAI;EACZ;AACD,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAL,QAAA"}
@@ -5,9 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.addAttribute = addAttribute;
8
+ exports.default = void 0;
8
9
  exports.useLayoutClasses = useLayoutClasses;
9
10
  exports.useLayoutStyles = useLayoutStyles;
10
- exports.withLayoutStyles = exports.withLayoutControls = exports.withChildLayoutStyles = void 0;
11
+ exports.withLayoutStyles = void 0;
11
12
  var _react = require("react");
12
13
  var _classnames = _interopRequireDefault(require("classnames"));
13
14
  var _compose = require("@wordpress/compose");
@@ -22,8 +23,8 @@ var _useSettings = require("../components/use-settings");
22
23
  var _layouts = require("../layouts");
23
24
  var _blockEditingMode = require("../components/block-editing-mode");
24
25
  var _definitions = require("../layouts/definitions");
25
- var _object = require("../utils/object");
26
26
  var _utils = require("./utils");
27
+ var _lockUnlock = require("../lock-unlock");
27
28
  /**
28
29
  * External dependencies
29
30
  */
@@ -50,6 +51,9 @@ function hasLayoutBlockSupport(blockName) {
50
51
  * @return { Array } Array of CSS classname strings.
51
52
  */
52
53
  function useLayoutClasses(blockAttributes = {}, blockName = '') {
54
+ const {
55
+ kebabCase
56
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
53
57
  const rootPaddingAlignment = (0, _data.useSelect)(select => {
54
58
  const {
55
59
  getSettings
@@ -78,10 +82,10 @@ function useLayoutClasses(blockAttributes = {}, blockName = '') {
78
82
  layoutClassnames.push('has-global-padding');
79
83
  }
80
84
  if (usedLayout?.orientation) {
81
- layoutClassnames.push(`is-${(0, _object.kebabCase)(usedLayout.orientation)}`);
85
+ layoutClassnames.push(`is-${kebabCase(usedLayout.orientation)}`);
82
86
  }
83
87
  if (usedLayout?.justifyContent) {
84
- layoutClassnames.push(`is-content-justification-${(0, _object.kebabCase)(usedLayout.justifyContent)}`);
88
+ layoutClassnames.push(`is-content-justification-${kebabCase(usedLayout.justifyContent)}`);
85
89
  }
86
90
  if (usedLayout?.flexWrap && usedLayout.flexWrap === 'nowrap') {
87
91
  layoutClassnames.push('is-nowrap');
@@ -120,9 +124,9 @@ function useLayoutStyles(blockAttributes = {}, blockName, selector) {
120
124
  });
121
125
  return css;
122
126
  }
123
- function LayoutPanel({
127
+ function LayoutPanelPure({
128
+ layout,
124
129
  setAttributes,
125
- attributes,
126
130
  name: blockName
127
131
  }) {
128
132
  const settings = (0, _utils.useBlockSettings)(blockName);
@@ -131,9 +135,6 @@ function LayoutPanel({
131
135
  layout: layoutSettings
132
136
  } = settings;
133
137
  // Layout comes from block attributes.
134
- const {
135
- layout
136
- } = attributes;
137
138
  const [defaultThemeLayout] = (0, _useSettings.useSettings)('layout');
138
139
  const {
139
140
  themeSupportsLayout
@@ -226,6 +227,15 @@ function LayoutPanel({
226
227
  layoutBlockSupport: layoutBlockSupport
227
228
  }));
228
229
  }
230
+ var _default = {
231
+ shareWithChildBlocks: true,
232
+ edit: LayoutPanelPure,
233
+ attributeKeys: ['layout'],
234
+ hasSupport(name) {
235
+ return hasLayoutBlockSupport(name);
236
+ }
237
+ };
238
+ exports.default = _default;
229
239
  function LayoutTypeSwitcher({
230
240
  type,
231
241
  onChange
@@ -264,25 +274,6 @@ function addAttribute(settings) {
264
274
  }
265
275
  return settings;
266
276
  }
267
-
268
- /**
269
- * Override the default edit UI to include layout controls
270
- *
271
- * @param {Function} BlockEdit Original component.
272
- *
273
- * @return {Function} Wrapped component.
274
- */
275
- const withLayoutControls = (0, _compose.createHigherOrderComponent)(BlockEdit => props => {
276
- const supportLayout = hasLayoutBlockSupport(props.name);
277
- return [supportLayout && (0, _react.createElement)(LayoutPanel, {
278
- key: "layout",
279
- ...props
280
- }), (0, _react.createElement)(BlockEdit, {
281
- key: "edit",
282
- ...props
283
- })];
284
- }, 'withLayoutControls');
285
- exports.withLayoutControls = withLayoutControls;
286
277
  function BlockWithLayoutStyles({
287
278
  block: BlockListBlock,
288
279
  props
@@ -303,9 +294,12 @@ function BlockWithLayoutStyles({
303
294
  type: 'constrained'
304
295
  } : layout || defaultBlockLayout || {};
305
296
  const layoutClasses = useLayoutClasses(attributes, name);
306
-
297
+ const {
298
+ kebabCase
299
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
300
+ const selectorPrefix = `wp-container-${kebabCase(name)}-is-layout-`;
307
301
  // Higher specificity to override defaults from theme.json.
308
- const selector = `.wp-container-${id}.wp-container-${id}`;
302
+ const selector = `.${selectorPrefix}${id}.${selectorPrefix}${id}`;
309
303
  const [blockGapSupport] = (0, _useSettings.useSettings)('spacing.blockGap');
310
304
  const hasBlockGapSupport = blockGapSupport !== null;
311
305
 
@@ -322,7 +316,7 @@ function BlockWithLayoutStyles({
322
316
 
323
317
  // Attach a `wp-container-` id-based class name as well as a layout class name such as `is-layout-flex`.
324
318
  const layoutClassNames = (0, _classnames.default)({
325
- [`wp-container-${id}`]: !!css // Only attach a container class if there is generated CSS to be attached.
319
+ [`${selectorPrefix}${id}`]: !!css // Only attach a container class if there is generated CSS to be attached.
326
320
  }, layoutClasses);
327
321
  (0, _utils.useStyleOverride)({
328
322
  css
@@ -360,79 +354,6 @@ const withLayoutStyles = (0, _compose.createHigherOrderComponent)(BlockListBlock
360
354
  });
361
355
  }, 'withLayoutStyles');
362
356
  exports.withLayoutStyles = withLayoutStyles;
363
- function BlockWithChildLayoutStyles({
364
- block: BlockListBlock,
365
- props
366
- }) {
367
- var _props$attributes$sty;
368
- const layout = (_props$attributes$sty = props.attributes.style?.layout) !== null && _props$attributes$sty !== void 0 ? _props$attributes$sty : {};
369
- const {
370
- selfStretch,
371
- flexSize
372
- } = layout;
373
- const id = (0, _compose.useInstanceId)(BlockListBlock);
374
- const selector = `.wp-container-content-${id}`;
375
- let css = '';
376
- if (selfStretch === 'fixed' && flexSize) {
377
- css = `${selector} {
378
- flex-basis: ${flexSize};
379
- box-sizing: border-box;
380
- }`;
381
- } else if (selfStretch === 'fill') {
382
- css = `${selector} {
383
- flex-grow: 1;
384
- }`;
385
- }
386
-
387
- // Attach a `wp-container-content` id-based classname.
388
- const className = (0, _classnames.default)(props.className, {
389
- [`wp-container-content-${id}`]: !!css // Only attach a container class if there is generated CSS to be attached.
390
- });
391
-
392
- (0, _utils.useStyleOverride)({
393
- css
394
- });
395
- return (0, _react.createElement)(BlockListBlock, {
396
- ...props,
397
- className: className
398
- });
399
- }
400
-
401
- /**
402
- * Override the default block element to add the child layout styles.
403
- *
404
- * @param {Function} BlockListBlock Original component.
405
- *
406
- * @return {Function} Wrapped component.
407
- */
408
- const withChildLayoutStyles = (0, _compose.createHigherOrderComponent)(BlockListBlock => props => {
409
- var _props$attributes$sty2;
410
- const layout = (_props$attributes$sty2 = props.attributes.style?.layout) !== null && _props$attributes$sty2 !== void 0 ? _props$attributes$sty2 : {};
411
- const {
412
- selfStretch,
413
- flexSize
414
- } = layout;
415
- const hasChildLayout = selfStretch || flexSize;
416
- const shouldRenderChildLayoutStyles = (0, _data.useSelect)(select => {
417
- // The callback returns early to avoid block editor subscription.
418
- if (!hasChildLayout) {
419
- return false;
420
- }
421
- return !select(_store.store).getSettings().disableLayoutStyles;
422
- }, [hasChildLayout]);
423
- if (!shouldRenderChildLayoutStyles) {
424
- return (0, _react.createElement)(BlockListBlock, {
425
- ...props
426
- });
427
- }
428
- return (0, _react.createElement)(BlockWithChildLayoutStyles, {
429
- block: BlockListBlock,
430
- props: props
431
- });
432
- }, 'withChildLayoutStyles');
433
- exports.withChildLayoutStyles = withChildLayoutStyles;
434
357
  (0, _hooks.addFilter)('blocks.registerBlockType', 'core/layout/addAttribute', addAttribute);
435
358
  (0, _hooks.addFilter)('editor.BlockListBlock', 'core/editor/layout/with-layout-styles', withLayoutStyles);
436
- (0, _hooks.addFilter)('editor.BlockListBlock', 'core/editor/layout/with-child-layout-styles', withChildLayoutStyles);
437
- (0, _hooks.addFilter)('editor.BlockEdit', 'core/editor/layout/with-inspector-controls', withLayoutControls);
438
359
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_compose","_hooks","_blocks","_data","_components","_i18n","_store","_components2","_useSettings","_layouts","_blockEditingMode","_definitions","_object","_utils","layoutBlockSupportKey","hasLayoutBlockSupport","blockName","hasBlockSupport","useLayoutClasses","blockAttributes","rootPaddingAlignment","useSelect","select","getSettings","blockEditorStore","__experimentalFeatures","useRootPaddingAwareAlignments","layout","default","defaultBlockLayout","getBlockSupport","usedLayout","inherit","contentSize","wideSize","type","layoutClassnames","LAYOUT_DEFINITIONS","className","baseClassName","splitBlockName","split","fullBlockName","pop","join","compoundClassName","push","orientation","kebabCase","justifyContent","flexWrap","useLayoutStyles","selector","style","fullLayoutType","getLayoutType","blockGapSupport","useSettings","hasBlockGapSupport","css","getLayoutStyle","LayoutPanel","setAttributes","attributes","name","settings","useBlockSettings","layoutSettings","defaultThemeLayout","themeSupportsLayout","supportsLayout","blockEditingMode","useBlockEditingMode","layoutBlockSupport","blockSupportAndThemeSettings","allowSwitching","allowEditing","allowInheriting","showInheritToggle","layoutType","constrainedType","displayControlsForLegacyLayouts","hasContentSizeOrLegacySettings","onChangeType","newType","onChangeLayout","newLayout","_react","createElement","Fragment","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","label","checked","onChange","help","LayoutTypeSwitcher","inspectorControls","toolBarControls","ButtonGroup","getLayoutTypes","map","Button","key","isPressed","onClick","addAttribute","_settings$attributes$","withLayoutControls","createHigherOrderComponent","BlockEdit","props","supportLayout","exports","BlockWithLayoutStyles","block","BlockListBlock","id","useInstanceId","layoutClasses","layoutClassNames","classnames","useStyleOverride","__unstableLayoutClassNames","withLayoutStyles","blockSupportsLayout","shouldRenderLayoutStyles","disableLayoutStyles","BlockWithChildLayoutStyles","_props$attributes$sty","selfStretch","flexSize","withChildLayoutStyles","_props$attributes$sty2","hasChildLayout","shouldRenderChildLayoutStyles","addFilter"],"sources":["@wordpress/block-editor/src/hooks/layout.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tButton,\n\tButtonGroup,\n\tToggleControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { InspectorControls } from '../components';\nimport { useSettings } from '../components/use-settings';\nimport { getLayoutType, getLayoutTypes } from '../layouts';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { LAYOUT_DEFINITIONS } from '../layouts/definitions';\nimport { kebabCase } from '../utils/object';\nimport { useBlockSettings, useStyleOverride } from './utils';\n\nconst layoutBlockSupportKey = 'layout';\n\nfunction hasLayoutBlockSupport( blockName ) {\n\treturn (\n\t\thasBlockSupport( blockName, 'layout' ) ||\n\t\thasBlockSupport( blockName, '__experimentalLayout' )\n\t);\n}\n\n/**\n * Generates the utility classnames for the given block's layout attributes.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n *\n * @return { Array } Array of CSS classname strings.\n */\nexport function useLayoutClasses( blockAttributes = {}, blockName = '' ) {\n\tconst rootPaddingAlignment = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalFeatures\n\t\t\t?.useRootPaddingAwareAlignments;\n\t}, [] );\n\tconst { layout } = blockAttributes;\n\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( blockName, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\n\tconst layoutClassnames = [];\n\n\tif ( LAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className ) {\n\t\tconst baseClassName =\n\t\t\tLAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className;\n\t\tconst splitBlockName = blockName.split( '/' );\n\t\tconst fullBlockName =\n\t\t\tsplitBlockName[ 0 ] === 'core'\n\t\t\t\t? splitBlockName.pop()\n\t\t\t\t: splitBlockName.join( '-' );\n\t\tconst compoundClassName = `wp-block-${ fullBlockName }-${ baseClassName }`;\n\t\tlayoutClassnames.push( baseClassName, compoundClassName );\n\t}\n\n\tif (\n\t\t( usedLayout?.inherit ||\n\t\t\tusedLayout?.contentSize ||\n\t\t\tusedLayout?.type === 'constrained' ) &&\n\t\trootPaddingAlignment\n\t) {\n\t\tlayoutClassnames.push( 'has-global-padding' );\n\t}\n\n\tif ( usedLayout?.orientation ) {\n\t\tlayoutClassnames.push( `is-${ kebabCase( usedLayout.orientation ) }` );\n\t}\n\n\tif ( usedLayout?.justifyContent ) {\n\t\tlayoutClassnames.push(\n\t\t\t`is-content-justification-${ kebabCase(\n\t\t\t\tusedLayout.justifyContent\n\t\t\t) }`\n\t\t);\n\t}\n\n\tif ( usedLayout?.flexWrap && usedLayout.flexWrap === 'nowrap' ) {\n\t\tlayoutClassnames.push( 'is-nowrap' );\n\t}\n\n\treturn layoutClassnames;\n}\n\n/**\n * Generates a CSS rule with the given block's layout styles.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n * @param { string } selector A selector to use in generating the CSS rule.\n *\n * @return { string } CSS rule.\n */\nexport function useLayoutStyles( blockAttributes = {}, blockName, selector ) {\n\tconst { layout = {}, style = {} } = blockAttributes;\n\t// Update type for blocks using legacy layouts.\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || {};\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\tconst css = fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName,\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\thasBlockGapSupport,\n\t} );\n\treturn css;\n}\n\nfunction LayoutPanel( { setAttributes, attributes, name: blockName } ) {\n\tconst settings = useBlockSettings( blockName );\n\t// Block settings come from theme.json under settings.[blockName].\n\tconst { layout: layoutSettings } = settings;\n\t// Layout comes from block attributes.\n\tconst { layout } = attributes;\n\tconst [ defaultThemeLayout ] = useSettings( 'layout' );\n\tconst { themeSupportsLayout } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tthemeSupportsLayout: getSettings().supportsLayout,\n\t\t};\n\t}, [] );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\t// Layout block support comes from the block's block.json.\n\tconst layoutBlockSupport = getBlockSupport(\n\t\tblockName,\n\t\tlayoutBlockSupportKey,\n\t\t{}\n\t);\n\tconst blockSupportAndThemeSettings = {\n\t\t...layoutSettings,\n\t\t...layoutBlockSupport,\n\t};\n\tconst {\n\t\tallowSwitching,\n\t\tallowEditing = true,\n\t\tallowInheriting = true,\n\t\tdefault: defaultBlockLayout,\n\t} = blockSupportAndThemeSettings;\n\n\tif ( ! allowEditing ) {\n\t\treturn null;\n\t}\n\n\t// Only show the inherit toggle if it's supported,\n\t// a default theme layout is set (e.g. one that provides `contentSize` and/or `wideSize` values),\n\t// and either the default / flow or the constrained layout type is in use, as the toggle switches from one to the other.\n\tconst showInheritToggle = !! (\n\t\tallowInheriting &&\n\t\t!! defaultThemeLayout &&\n\t\t( ! layout?.type ||\n\t\t\tlayout?.type === 'default' ||\n\t\t\tlayout?.type === 'constrained' ||\n\t\t\tlayout?.inherit )\n\t);\n\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst {\n\t\tinherit = false,\n\t\ttype = 'default',\n\t\tcontentSize = null,\n\t} = usedLayout;\n\t/**\n\t * `themeSupportsLayout` is only relevant to the `default/flow` or\n\t * `constrained` layouts and it should not be taken into account when other\n\t * `layout` types are used.\n\t */\n\tif (\n\t\t( type === 'default' || type === 'constrained' ) &&\n\t\t! themeSupportsLayout\n\t) {\n\t\treturn null;\n\t}\n\tconst layoutType = getLayoutType( type );\n\tconst constrainedType = getLayoutType( 'constrained' );\n\tconst displayControlsForLegacyLayouts =\n\t\t! usedLayout.type && ( contentSize || inherit );\n\tconst hasContentSizeOrLegacySettings = !! inherit || !! contentSize;\n\n\tconst onChangeType = ( newType ) =>\n\t\tsetAttributes( { layout: { type: newType } } );\n\tconst onChangeLayout = ( newLayout ) =>\n\t\tsetAttributes( { layout: newLayout } );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Layout' ) }>\n\t\t\t\t\t{ showInheritToggle && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__toggle-control\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Inner blocks use content width' ) }\n\t\t\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t\t\tlayoutType?.name === 'constrained' ||\n\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t\t\ttype:\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutType?.name ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t'constrained' ||\n\t\t\t\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'default'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'constrained',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlayoutType?.name === 'constrained' ||\n\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks use content width with options for full and wide widths.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks will fill the width of this container. Toggle to constrain.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! inherit && allowSwitching && (\n\t\t\t\t\t\t<LayoutTypeSwitcher\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\tonChange={ onChangeType }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ layoutType && layoutType.name !== 'default' && (\n\t\t\t\t\t\t<layoutType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ constrainedType && displayControlsForLegacyLayouts && (\n\t\t\t\t\t\t<constrainedType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! inherit && layoutType && (\n\t\t\t\t<layoutType.toolBarControls\n\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction LayoutTypeSwitcher( { type, onChange } ) {\n\treturn (\n\t\t<ButtonGroup>\n\t\t\t{ getLayoutTypes().map( ( { name, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ name }\n\t\t\t\t\t\tisPressed={ type === name }\n\t\t\t\t\t\tonClick={ () => onChange( name ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ButtonGroup>\n\t);\n}\n\n/**\n * Filters registered block settings, extending attributes to include `layout`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( 'type' in ( settings.attributes?.layout ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasLayoutBlockSupport( settings ) ) {\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tlayout: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override the default edit UI to include layout controls\n *\n * @param {Function} BlockEdit Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst supportLayout = hasLayoutBlockSupport( props.name );\n\n\t\treturn [\n\t\t\tsupportLayout && <LayoutPanel key=\"layout\" { ...props } />,\n\t\t\t<BlockEdit key=\"edit\" { ...props } />,\n\t\t];\n\t},\n\t'withLayoutControls'\n);\n\nfunction BlockWithLayoutStyles( { block: BlockListBlock, props } ) {\n\tconst { name, attributes } = props;\n\tconst id = useInstanceId( BlockListBlock );\n\tconst { layout } = attributes;\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( name, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\tconst layoutClasses = useLayoutClasses( attributes, name );\n\n\t// Higher specificity to override defaults from theme.json.\n\tconst selector = `.wp-container-${ id }.wp-container-${ id }`;\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\n\t// Get CSS string for the current layout type.\n\t// The CSS and `style` element is only output if it is not empty.\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst css = fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName: name,\n\t\tselector,\n\t\tlayout: usedLayout,\n\t\tstyle: attributes?.style,\n\t\thasBlockGapSupport,\n\t} );\n\n\t// Attach a `wp-container-` id-based class name as well as a layout class name such as `is-layout-flex`.\n\tconst layoutClassNames = classnames(\n\t\t{\n\t\t\t[ `wp-container-${ id }` ]: !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t},\n\t\tlayoutClasses\n\t);\n\n\tuseStyleOverride( { css } );\n\n\treturn (\n\t\t<BlockListBlock\n\t\t\t{ ...props }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t/>\n\t);\n}\n\n/**\n * Override the default block element to add the layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst blockSupportsLayout = hasLayoutBlockSupport( props.name );\n\t\tconst shouldRenderLayoutStyles = useSelect(\n\t\t\t( select ) => {\n\t\t\t\t// The callback returns early to avoid block editor subscription.\n\t\t\t\tif ( ! blockSupportsLayout ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn ! select( blockEditorStore ).getSettings()\n\t\t\t\t\t.disableLayoutStyles;\n\t\t\t},\n\t\t\t[ blockSupportsLayout ]\n\t\t);\n\n\t\tif ( ! shouldRenderLayoutStyles ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockWithLayoutStyles block={ BlockListBlock } props={ props } />\n\t\t);\n\t},\n\t'withLayoutStyles'\n);\n\nfunction BlockWithChildLayoutStyles( { block: BlockListBlock, props } ) {\n\tconst layout = props.attributes.style?.layout ?? {};\n\tconst { selfStretch, flexSize } = layout;\n\n\tconst id = useInstanceId( BlockListBlock );\n\tconst selector = `.wp-container-content-${ id }`;\n\n\tlet css = '';\n\tif ( selfStretch === 'fixed' && flexSize ) {\n\t\tcss = `${ selector } {\n\t\t\t\tflex-basis: ${ flexSize };\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}`;\n\t} else if ( selfStretch === 'fill' ) {\n\t\tcss = `${ selector } {\n\t\t\t\tflex-grow: 1;\n\t\t\t}`;\n\t}\n\n\t// Attach a `wp-container-content` id-based classname.\n\tconst className = classnames( props.className, {\n\t\t[ `wp-container-content-${ id }` ]: !! css, // Only attach a container class if there is generated CSS to be attached.\n\t} );\n\n\tuseStyleOverride( { css } );\n\n\treturn <BlockListBlock { ...props } className={ className } />;\n}\n\n/**\n * Override the default block element to add the child layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withChildLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst layout = props.attributes.style?.layout ?? {};\n\t\tconst { selfStretch, flexSize } = layout;\n\t\tconst hasChildLayout = selfStretch || flexSize;\n\n\t\tconst shouldRenderChildLayoutStyles = useSelect(\n\t\t\t( select ) => {\n\t\t\t\t// The callback returns early to avoid block editor subscription.\n\t\t\t\tif ( ! hasChildLayout ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn ! select( blockEditorStore ).getSettings()\n\t\t\t\t\t.disableLayoutStyles;\n\t\t\t},\n\t\t\t[ hasChildLayout ]\n\t\t);\n\n\t\tif ( ! shouldRenderChildLayoutStyles ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockWithChildLayoutStyles\n\t\t\t\tblock={ BlockListBlock }\n\t\t\t\tprops={ props }\n\t\t\t/>\n\t\t);\n\t},\n\t'withChildLayoutStyles'\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/layout/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-layout-styles',\n\twithLayoutStyles\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-child-layout-styles',\n\twithChildLayoutStyles\n);\naddFilter(\n\t'editor.BlockEdit',\n\t'core/editor/layout/with-inspector-controls',\n\twithLayoutControls\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_compose","_hooks","_blocks","_data","_components","_i18n","_store","_components2","_useSettings","_layouts","_blockEditingMode","_definitions","_utils","_lockUnlock","layoutBlockSupportKey","hasLayoutBlockSupport","blockName","hasBlockSupport","useLayoutClasses","blockAttributes","kebabCase","unlock","componentsPrivateApis","rootPaddingAlignment","useSelect","select","getSettings","blockEditorStore","__experimentalFeatures","useRootPaddingAwareAlignments","layout","default","defaultBlockLayout","getBlockSupport","usedLayout","inherit","contentSize","wideSize","type","layoutClassnames","LAYOUT_DEFINITIONS","className","baseClassName","splitBlockName","split","fullBlockName","pop","join","compoundClassName","push","orientation","justifyContent","flexWrap","useLayoutStyles","selector","style","fullLayoutType","getLayoutType","blockGapSupport","useSettings","hasBlockGapSupport","css","getLayoutStyle","LayoutPanelPure","setAttributes","name","settings","useBlockSettings","layoutSettings","defaultThemeLayout","themeSupportsLayout","supportsLayout","blockEditingMode","useBlockEditingMode","layoutBlockSupport","blockSupportAndThemeSettings","allowSwitching","allowEditing","allowInheriting","showInheritToggle","layoutType","constrainedType","displayControlsForLegacyLayouts","hasContentSizeOrLegacySettings","onChangeType","newType","onChangeLayout","newLayout","_react","createElement","Fragment","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","label","checked","onChange","help","LayoutTypeSwitcher","inspectorControls","toolBarControls","_default","shareWithChildBlocks","edit","attributeKeys","hasSupport","exports","ButtonGroup","getLayoutTypes","map","Button","key","isPressed","onClick","addAttribute","_settings$attributes$","attributes","BlockWithLayoutStyles","block","BlockListBlock","props","id","useInstanceId","layoutClasses","selectorPrefix","layoutClassNames","classnames","useStyleOverride","__unstableLayoutClassNames","withLayoutStyles","createHigherOrderComponent","blockSupportsLayout","shouldRenderLayoutStyles","disableLayoutStyles","addFilter"],"sources":["@wordpress/block-editor/src/hooks/layout.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tButton,\n\tButtonGroup,\n\tToggleControl,\n\tPanelBody,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { InspectorControls } from '../components';\nimport { useSettings } from '../components/use-settings';\nimport { getLayoutType, getLayoutTypes } from '../layouts';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { LAYOUT_DEFINITIONS } from '../layouts/definitions';\nimport { useBlockSettings, useStyleOverride } from './utils';\nimport { unlock } from '../lock-unlock';\n\nconst layoutBlockSupportKey = 'layout';\n\nfunction hasLayoutBlockSupport( blockName ) {\n\treturn (\n\t\thasBlockSupport( blockName, 'layout' ) ||\n\t\thasBlockSupport( blockName, '__experimentalLayout' )\n\t);\n}\n\n/**\n * Generates the utility classnames for the given block's layout attributes.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n *\n * @return { Array } Array of CSS classname strings.\n */\nexport function useLayoutClasses( blockAttributes = {}, blockName = '' ) {\n\tconst { kebabCase } = unlock( componentsPrivateApis );\n\tconst rootPaddingAlignment = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalFeatures\n\t\t\t?.useRootPaddingAwareAlignments;\n\t}, [] );\n\tconst { layout } = blockAttributes;\n\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( blockName, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\n\tconst layoutClassnames = [];\n\n\tif ( LAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className ) {\n\t\tconst baseClassName =\n\t\t\tLAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className;\n\t\tconst splitBlockName = blockName.split( '/' );\n\t\tconst fullBlockName =\n\t\t\tsplitBlockName[ 0 ] === 'core'\n\t\t\t\t? splitBlockName.pop()\n\t\t\t\t: splitBlockName.join( '-' );\n\t\tconst compoundClassName = `wp-block-${ fullBlockName }-${ baseClassName }`;\n\t\tlayoutClassnames.push( baseClassName, compoundClassName );\n\t}\n\n\tif (\n\t\t( usedLayout?.inherit ||\n\t\t\tusedLayout?.contentSize ||\n\t\t\tusedLayout?.type === 'constrained' ) &&\n\t\trootPaddingAlignment\n\t) {\n\t\tlayoutClassnames.push( 'has-global-padding' );\n\t}\n\n\tif ( usedLayout?.orientation ) {\n\t\tlayoutClassnames.push( `is-${ kebabCase( usedLayout.orientation ) }` );\n\t}\n\n\tif ( usedLayout?.justifyContent ) {\n\t\tlayoutClassnames.push(\n\t\t\t`is-content-justification-${ kebabCase(\n\t\t\t\tusedLayout.justifyContent\n\t\t\t) }`\n\t\t);\n\t}\n\n\tif ( usedLayout?.flexWrap && usedLayout.flexWrap === 'nowrap' ) {\n\t\tlayoutClassnames.push( 'is-nowrap' );\n\t}\n\n\treturn layoutClassnames;\n}\n\n/**\n * Generates a CSS rule with the given block's layout styles.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n * @param { string } selector A selector to use in generating the CSS rule.\n *\n * @return { string } CSS rule.\n */\nexport function useLayoutStyles( blockAttributes = {}, blockName, selector ) {\n\tconst { layout = {}, style = {} } = blockAttributes;\n\t// Update type for blocks using legacy layouts.\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || {};\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\tconst css = fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName,\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\thasBlockGapSupport,\n\t} );\n\treturn css;\n}\n\nfunction LayoutPanelPure( { layout, setAttributes, name: blockName } ) {\n\tconst settings = useBlockSettings( blockName );\n\t// Block settings come from theme.json under settings.[blockName].\n\tconst { layout: layoutSettings } = settings;\n\t// Layout comes from block attributes.\n\tconst [ defaultThemeLayout ] = useSettings( 'layout' );\n\tconst { themeSupportsLayout } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tthemeSupportsLayout: getSettings().supportsLayout,\n\t\t};\n\t}, [] );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\t// Layout block support comes from the block's block.json.\n\tconst layoutBlockSupport = getBlockSupport(\n\t\tblockName,\n\t\tlayoutBlockSupportKey,\n\t\t{}\n\t);\n\tconst blockSupportAndThemeSettings = {\n\t\t...layoutSettings,\n\t\t...layoutBlockSupport,\n\t};\n\tconst {\n\t\tallowSwitching,\n\t\tallowEditing = true,\n\t\tallowInheriting = true,\n\t\tdefault: defaultBlockLayout,\n\t} = blockSupportAndThemeSettings;\n\n\tif ( ! allowEditing ) {\n\t\treturn null;\n\t}\n\n\t// Only show the inherit toggle if it's supported,\n\t// a default theme layout is set (e.g. one that provides `contentSize` and/or `wideSize` values),\n\t// and either the default / flow or the constrained layout type is in use, as the toggle switches from one to the other.\n\tconst showInheritToggle = !! (\n\t\tallowInheriting &&\n\t\t!! defaultThemeLayout &&\n\t\t( ! layout?.type ||\n\t\t\tlayout?.type === 'default' ||\n\t\t\tlayout?.type === 'constrained' ||\n\t\t\tlayout?.inherit )\n\t);\n\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst {\n\t\tinherit = false,\n\t\ttype = 'default',\n\t\tcontentSize = null,\n\t} = usedLayout;\n\t/**\n\t * `themeSupportsLayout` is only relevant to the `default/flow` or\n\t * `constrained` layouts and it should not be taken into account when other\n\t * `layout` types are used.\n\t */\n\tif (\n\t\t( type === 'default' || type === 'constrained' ) &&\n\t\t! themeSupportsLayout\n\t) {\n\t\treturn null;\n\t}\n\tconst layoutType = getLayoutType( type );\n\tconst constrainedType = getLayoutType( 'constrained' );\n\tconst displayControlsForLegacyLayouts =\n\t\t! usedLayout.type && ( contentSize || inherit );\n\tconst hasContentSizeOrLegacySettings = !! inherit || !! contentSize;\n\n\tconst onChangeType = ( newType ) =>\n\t\tsetAttributes( { layout: { type: newType } } );\n\tconst onChangeLayout = ( newLayout ) =>\n\t\tsetAttributes( { layout: newLayout } );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Layout' ) }>\n\t\t\t\t\t{ showInheritToggle && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__toggle-control\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Inner blocks use content width' ) }\n\t\t\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t\t\tlayoutType?.name === 'constrained' ||\n\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t\t\ttype:\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutType?.name ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t'constrained' ||\n\t\t\t\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'default'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'constrained',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlayoutType?.name === 'constrained' ||\n\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks use content width with options for full and wide widths.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks will fill the width of this container. Toggle to constrain.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! inherit && allowSwitching && (\n\t\t\t\t\t\t<LayoutTypeSwitcher\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\tonChange={ onChangeType }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ layoutType && layoutType.name !== 'default' && (\n\t\t\t\t\t\t<layoutType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ constrainedType && displayControlsForLegacyLayouts && (\n\t\t\t\t\t\t<constrainedType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! inherit && layoutType && (\n\t\t\t\t<layoutType.toolBarControls\n\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: LayoutPanelPure,\n\tattributeKeys: [ 'layout' ],\n\thasSupport( name ) {\n\t\treturn hasLayoutBlockSupport( name );\n\t},\n};\n\nfunction LayoutTypeSwitcher( { type, onChange } ) {\n\treturn (\n\t\t<ButtonGroup>\n\t\t\t{ getLayoutTypes().map( ( { name, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ name }\n\t\t\t\t\t\tisPressed={ type === name }\n\t\t\t\t\t\tonClick={ () => onChange( name ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ButtonGroup>\n\t);\n}\n\n/**\n * Filters registered block settings, extending attributes to include `layout`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( 'type' in ( settings.attributes?.layout ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasLayoutBlockSupport( settings ) ) {\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tlayout: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\nfunction BlockWithLayoutStyles( { block: BlockListBlock, props } ) {\n\tconst { name, attributes } = props;\n\tconst id = useInstanceId( BlockListBlock );\n\tconst { layout } = attributes;\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( name, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\tconst layoutClasses = useLayoutClasses( attributes, name );\n\n\tconst { kebabCase } = unlock( componentsPrivateApis );\n\tconst selectorPrefix = `wp-container-${ kebabCase( name ) }-is-layout-`;\n\t// Higher specificity to override defaults from theme.json.\n\tconst selector = `.${ selectorPrefix }${ id }.${ selectorPrefix }${ id }`;\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\n\t// Get CSS string for the current layout type.\n\t// The CSS and `style` element is only output if it is not empty.\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst css = fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName: name,\n\t\tselector,\n\t\tlayout: usedLayout,\n\t\tstyle: attributes?.style,\n\t\thasBlockGapSupport,\n\t} );\n\n\t// Attach a `wp-container-` id-based class name as well as a layout class name such as `is-layout-flex`.\n\tconst layoutClassNames = classnames(\n\t\t{\n\t\t\t[ `${ selectorPrefix }${ id }` ]: !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t},\n\t\tlayoutClasses\n\t);\n\n\tuseStyleOverride( { css } );\n\n\treturn (\n\t\t<BlockListBlock\n\t\t\t{ ...props }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t/>\n\t);\n}\n\n/**\n * Override the default block element to add the layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst blockSupportsLayout = hasLayoutBlockSupport( props.name );\n\t\tconst shouldRenderLayoutStyles = useSelect(\n\t\t\t( select ) => {\n\t\t\t\t// The callback returns early to avoid block editor subscription.\n\t\t\t\tif ( ! blockSupportsLayout ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn ! select( blockEditorStore ).getSettings()\n\t\t\t\t\t.disableLayoutStyles;\n\t\t\t},\n\t\t\t[ blockSupportsLayout ]\n\t\t);\n\n\t\tif ( ! shouldRenderLayoutStyles ) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockWithLayoutStyles block={ BlockListBlock } props={ props } />\n\t\t);\n\t},\n\t'withLayoutStyles'\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/layout/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-layout-styles',\n\twithLayoutStyles\n);\n"],"mappings":"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"}
@@ -23,12 +23,12 @@ function getComputedCSS(element, property) {
23
23
  }
24
24
  function PaddingVisualizer({
25
25
  clientId,
26
- attributes,
26
+ value,
27
27
  forceShow
28
28
  }) {
29
29
  const blockElement = (0, _useBlockRefs.__unstableUseBlockElement)(clientId);
30
30
  const [style, setStyle] = (0, _element.useState)();
31
- const padding = attributes?.style?.spacing?.padding;
31
+ const padding = value?.spacing?.padding;
32
32
  (0, _element.useEffect)(() => {
33
33
  if (!blockElement || null === blockElement.ownerDocument.defaultView) {
34
34
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_isShallowEqual","_interopRequireDefault","_blockPopover","_useBlockRefs","getComputedCSS","element","property","ownerDocument","defaultView","getComputedStyle","getPropertyValue","PaddingVisualizer","clientId","attributes","forceShow","blockElement","useBlockElement","style","setStyle","useState","padding","spacing","useEffect","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","isActive","setIsActive","valueRef","useRef","timeoutRef","clearTimer","current","window","clearTimeout","isShallowEqual","setTimeout","_react","createElement","default","__unstableCoverTarget","__unstableRefreshSize","__unstablePopoverSlot","shift","className"],"sources":["@wordpress/block-editor/src/hooks/padding.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport BlockPopover from '../components/block-popover';\nimport { __unstableUseBlockElement as useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\n\nfunction getComputedCSS( element, property ) {\n\treturn element.ownerDocument.defaultView\n\t\t.getComputedStyle( element )\n\t\t.getPropertyValue( property );\n}\n\nexport function PaddingVisualizer( { clientId, attributes, forceShow } ) {\n\tconst blockElement = useBlockElement( clientId );\n\tconst [ style, setStyle ] = useState();\n\n\tconst padding = attributes?.style?.spacing?.padding;\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! blockElement ||\n\t\t\tnull === blockElement.ownerDocument.defaultView\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetStyle( {\n\t\t\tborderTopWidth: getComputedCSS( blockElement, 'padding-top' ),\n\t\t\tborderRightWidth: getComputedCSS( blockElement, 'padding-right' ),\n\t\t\tborderBottomWidth: getComputedCSS( blockElement, 'padding-bottom' ),\n\t\t\tborderLeftWidth: getComputedCSS( blockElement, 'padding-left' ),\n\t\t} );\n\t}, [ blockElement, padding ] );\n\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst valueRef = useRef( padding );\n\tconst timeoutRef = useRef();\n\n\tconst clearTimer = () => {\n\t\tif ( timeoutRef.current ) {\n\t\t\twindow.clearTimeout( timeoutRef.current );\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! isShallowEqual( padding, valueRef.current ) && ! forceShow ) {\n\t\t\tsetIsActive( true );\n\t\t\tvalueRef.current = padding;\n\n\t\t\ttimeoutRef.current = setTimeout( () => {\n\t\t\t\tsetIsActive( false );\n\t\t\t}, 400 );\n\t\t}\n\n\t\treturn () => {\n\t\t\tsetIsActive( false );\n\t\t\tclearTimer();\n\t\t};\n\t}, [ padding, forceShow ] );\n\n\tif ( ! isActive && ! forceShow ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockPopover\n\t\t\tclientId={ clientId }\n\t\t\t__unstableCoverTarget\n\t\t\t__unstableRefreshSize={ padding }\n\t\t\t__unstablePopoverSlot=\"block-toolbar\"\n\t\t\tshift={ false }\n\t\t>\n\t\t\t<div className=\"block-editor__padding-visualizer\" style={ style } />\n\t\t</BlockPopover>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,aAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,SAASK,cAAcA,CAAEC,OAAO,EAAEC,QAAQ,EAAG;EAC5C,OAAOD,OAAO,CAACE,aAAa,CAACC,WAAW,CACtCC,gBAAgB,CAAEJ,OAAQ,CAAC,CAC3BK,gBAAgB,CAAEJ,QAAS,CAAC;AAC/B;AAEO,SAASK,iBAAiBA,CAAE;EAAEC,QAAQ;EAAEC,UAAU;EAAEC;AAAU,CAAC,EAAG;EACxE,MAAMC,YAAY,GAAG,IAAAC,uCAAe,EAAEJ,QAAS,CAAC;EAChD,MAAM,CAAEK,KAAK,EAAEC,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EAEtC,MAAMC,OAAO,GAAGP,UAAU,EAAEI,KAAK,EAAEI,OAAO,EAAED,OAAO;EAEnD,IAAAE,kBAAS,EAAE,MAAM;IAChB,IACC,CAAEP,YAAY,IACd,IAAI,KAAKA,YAAY,CAACR,aAAa,CAACC,WAAW,EAC9C;MACD;IACD;IAEAU,QAAQ,CAAE;MACTK,cAAc,EAAEnB,cAAc,CAAEW,YAAY,EAAE,aAAc,CAAC;MAC7DS,gBAAgB,EAAEpB,cAAc,CAAEW,YAAY,EAAE,eAAgB,CAAC;MACjEU,iBAAiB,EAAErB,cAAc,CAAEW,YAAY,EAAE,gBAAiB,CAAC;MACnEW,eAAe,EAAEtB,cAAc,CAAEW,YAAY,EAAE,cAAe;IAC/D,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEA,YAAY,EAAEK,OAAO,CAAG,CAAC;EAE9B,MAAM,CAAEO,QAAQ,EAAEC,WAAW,CAAE,GAAG,IAAAT,iBAAQ,EAAE,KAAM,CAAC;EACnD,MAAMU,QAAQ,GAAG,IAAAC,eAAM,EAAEV,OAAQ,CAAC;EAClC,MAAMW,UAAU,GAAG,IAAAD,eAAM,EAAC,CAAC;EAE3B,MAAME,UAAU,GAAGA,CAAA,KAAM;IACxB,IAAKD,UAAU,CAACE,OAAO,EAAG;MACzBC,MAAM,CAACC,YAAY,CAAEJ,UAAU,CAACE,OAAQ,CAAC;IAC1C;EACD,CAAC;EAED,IAAAX,kBAAS,EAAE,MAAM;IAChB,IAAK,CAAE,IAAAc,uBAAc,EAAEhB,OAAO,EAAES,QAAQ,CAACI,OAAQ,CAAC,IAAI,CAAEnB,SAAS,EAAG;MACnEc,WAAW,CAAE,IAAK,CAAC;MACnBC,QAAQ,CAACI,OAAO,GAAGb,OAAO;MAE1BW,UAAU,CAACE,OAAO,GAAGI,UAAU,CAAE,MAAM;QACtCT,WAAW,CAAE,KAAM,CAAC;MACrB,CAAC,EAAE,GAAI,CAAC;IACT;IAEA,OAAO,MAAM;MACZA,WAAW,CAAE,KAAM,CAAC;MACpBI,UAAU,CAAC,CAAC;IACb,CAAC;EACF,CAAC,EAAE,CAAEZ,OAAO,EAAEN,SAAS,CAAG,CAAC;EAE3B,IAAK,CAAEa,QAAQ,IAAI,CAAEb,SAAS,EAAG;IAChC,OAAO,IAAI;EACZ;EAEA,OACC,IAAAwB,MAAA,CAAAC,aAAA,EAACrC,aAAA,CAAAsC,OAAY;IACZ5B,QAAQ,EAAGA,QAAU;IACrB6B,qBAAqB;IACrBC,qBAAqB,EAAGtB,OAAS;IACjCuB,qBAAqB,EAAC,eAAe;IACrCC,KAAK,EAAG;EAAO,GAEf,IAAAN,MAAA,CAAAC,aAAA;IAAKM,SAAS,EAAC,kCAAkC;IAAC5B,KAAK,EAAGA;EAAO,CAAE,CACtD,CAAC;AAEjB"}
1
+ {"version":3,"names":["_element","require","_isShallowEqual","_interopRequireDefault","_blockPopover","_useBlockRefs","getComputedCSS","element","property","ownerDocument","defaultView","getComputedStyle","getPropertyValue","PaddingVisualizer","clientId","value","forceShow","blockElement","useBlockElement","style","setStyle","useState","padding","spacing","useEffect","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","isActive","setIsActive","valueRef","useRef","timeoutRef","clearTimer","current","window","clearTimeout","isShallowEqual","setTimeout","_react","createElement","default","__unstableCoverTarget","__unstableRefreshSize","__unstablePopoverSlot","shift","className"],"sources":["@wordpress/block-editor/src/hooks/padding.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport BlockPopover from '../components/block-popover';\nimport { __unstableUseBlockElement as useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\n\nfunction getComputedCSS( element, property ) {\n\treturn element.ownerDocument.defaultView\n\t\t.getComputedStyle( element )\n\t\t.getPropertyValue( property );\n}\n\nexport function PaddingVisualizer( { clientId, value, forceShow } ) {\n\tconst blockElement = useBlockElement( clientId );\n\tconst [ style, setStyle ] = useState();\n\n\tconst padding = value?.spacing?.padding;\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! blockElement ||\n\t\t\tnull === blockElement.ownerDocument.defaultView\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetStyle( {\n\t\t\tborderTopWidth: getComputedCSS( blockElement, 'padding-top' ),\n\t\t\tborderRightWidth: getComputedCSS( blockElement, 'padding-right' ),\n\t\t\tborderBottomWidth: getComputedCSS( blockElement, 'padding-bottom' ),\n\t\t\tborderLeftWidth: getComputedCSS( blockElement, 'padding-left' ),\n\t\t} );\n\t}, [ blockElement, padding ] );\n\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst valueRef = useRef( padding );\n\tconst timeoutRef = useRef();\n\n\tconst clearTimer = () => {\n\t\tif ( timeoutRef.current ) {\n\t\t\twindow.clearTimeout( timeoutRef.current );\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! isShallowEqual( padding, valueRef.current ) && ! forceShow ) {\n\t\t\tsetIsActive( true );\n\t\t\tvalueRef.current = padding;\n\n\t\t\ttimeoutRef.current = setTimeout( () => {\n\t\t\t\tsetIsActive( false );\n\t\t\t}, 400 );\n\t\t}\n\n\t\treturn () => {\n\t\t\tsetIsActive( false );\n\t\t\tclearTimer();\n\t\t};\n\t}, [ padding, forceShow ] );\n\n\tif ( ! isActive && ! forceShow ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockPopover\n\t\t\tclientId={ clientId }\n\t\t\t__unstableCoverTarget\n\t\t\t__unstableRefreshSize={ padding }\n\t\t\t__unstablePopoverSlot=\"block-toolbar\"\n\t\t\tshift={ false }\n\t\t>\n\t\t\t<div className=\"block-editor__padding-visualizer\" style={ style } />\n\t\t</BlockPopover>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,aAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA,SAASK,cAAcA,CAAEC,OAAO,EAAEC,QAAQ,EAAG;EAC5C,OAAOD,OAAO,CAACE,aAAa,CAACC,WAAW,CACtCC,gBAAgB,CAAEJ,OAAQ,CAAC,CAC3BK,gBAAgB,CAAEJ,QAAS,CAAC;AAC/B;AAEO,SAASK,iBAAiBA,CAAE;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAU,CAAC,EAAG;EACnE,MAAMC,YAAY,GAAG,IAAAC,uCAAe,EAAEJ,QAAS,CAAC;EAChD,MAAM,CAAEK,KAAK,EAAEC,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EAEtC,MAAMC,OAAO,GAAGP,KAAK,EAAEQ,OAAO,EAAED,OAAO;EAEvC,IAAAE,kBAAS,EAAE,MAAM;IAChB,IACC,CAAEP,YAAY,IACd,IAAI,KAAKA,YAAY,CAACR,aAAa,CAACC,WAAW,EAC9C;MACD;IACD;IAEAU,QAAQ,CAAE;MACTK,cAAc,EAAEnB,cAAc,CAAEW,YAAY,EAAE,aAAc,CAAC;MAC7DS,gBAAgB,EAAEpB,cAAc,CAAEW,YAAY,EAAE,eAAgB,CAAC;MACjEU,iBAAiB,EAAErB,cAAc,CAAEW,YAAY,EAAE,gBAAiB,CAAC;MACnEW,eAAe,EAAEtB,cAAc,CAAEW,YAAY,EAAE,cAAe;IAC/D,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEA,YAAY,EAAEK,OAAO,CAAG,CAAC;EAE9B,MAAM,CAAEO,QAAQ,EAAEC,WAAW,CAAE,GAAG,IAAAT,iBAAQ,EAAE,KAAM,CAAC;EACnD,MAAMU,QAAQ,GAAG,IAAAC,eAAM,EAAEV,OAAQ,CAAC;EAClC,MAAMW,UAAU,GAAG,IAAAD,eAAM,EAAC,CAAC;EAE3B,MAAME,UAAU,GAAGA,CAAA,KAAM;IACxB,IAAKD,UAAU,CAACE,OAAO,EAAG;MACzBC,MAAM,CAACC,YAAY,CAAEJ,UAAU,CAACE,OAAQ,CAAC;IAC1C;EACD,CAAC;EAED,IAAAX,kBAAS,EAAE,MAAM;IAChB,IAAK,CAAE,IAAAc,uBAAc,EAAEhB,OAAO,EAAES,QAAQ,CAACI,OAAQ,CAAC,IAAI,CAAEnB,SAAS,EAAG;MACnEc,WAAW,CAAE,IAAK,CAAC;MACnBC,QAAQ,CAACI,OAAO,GAAGb,OAAO;MAE1BW,UAAU,CAACE,OAAO,GAAGI,UAAU,CAAE,MAAM;QACtCT,WAAW,CAAE,KAAM,CAAC;MACrB,CAAC,EAAE,GAAI,CAAC;IACT;IAEA,OAAO,MAAM;MACZA,WAAW,CAAE,KAAM,CAAC;MACpBI,UAAU,CAAC,CAAC;IACb,CAAC;EACF,CAAC,EAAE,CAAEZ,OAAO,EAAEN,SAAS,CAAG,CAAC;EAE3B,IAAK,CAAEa,QAAQ,IAAI,CAAEb,SAAS,EAAG;IAChC,OAAO,IAAI;EACZ;EAEA,OACC,IAAAwB,MAAA,CAAAC,aAAA,EAACrC,aAAA,CAAAsC,OAAY;IACZ5B,QAAQ,EAAGA,QAAU;IACrB6B,qBAAqB;IACrBC,qBAAqB,EAAGtB,OAAS;IACjCuB,qBAAqB,EAAC,eAAe;IACrCC,KAAK,EAAG;EAAO,GAEf,IAAAN,MAAA,CAAAC,aAAA;IAAKM,SAAS,EAAC,kCAAkC;IAAC5B,KAAK,EAAGA;EAAO,CAAE,CACtD,CAAC;AAEjB"}
@@ -4,7 +4,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.PositionPanel = PositionPanel;
7
+ exports.PositionPanelPure = PositionPanelPure;
8
+ exports.default = void 0;
8
9
  exports.getPositionCSS = getPositionCSS;
9
10
  exports.hasFixedPositionSupport = hasFixedPositionSupport;
10
11
  exports.hasPositionSupport = hasPositionSupport;
@@ -13,7 +14,6 @@ exports.hasStickyOrFixedPositionValue = hasStickyOrFixedPositionValue;
13
14
  exports.hasStickyPositionSupport = hasStickyPositionSupport;
14
15
  exports.resetPosition = resetPosition;
15
16
  exports.useIsPositionDisabled = useIsPositionDisabled;
16
- exports.withPositionStyles = exports.withPositionControls = void 0;
17
17
  var _react = require("react");
18
18
  var _classnames = _interopRequireDefault(require("classnames"));
19
19
  var _i18n = require("@wordpress/i18n");
@@ -22,7 +22,6 @@ var _components = require("@wordpress/components");
22
22
  var _compose = require("@wordpress/compose");
23
23
  var _data = require("@wordpress/data");
24
24
  var _element = require("@wordpress/element");
25
- var _hooks = require("@wordpress/hooks");
26
25
  var _useSettings = require("../components/use-settings");
27
26
  var _inspectorControls = _interopRequireDefault(require("../components/inspector-controls"));
28
27
  var _useBlockDisplayInformation = _interopRequireDefault(require("../components/use-block-display-information"));
@@ -213,15 +212,12 @@ function useIsPositionDisabled({
213
212
  *
214
213
  * @return {Element} Position panel.
215
214
  */
216
- function PositionPanel(props) {
217
- const {
218
- attributes: {
219
- style = {}
220
- },
221
- clientId,
222
- name: blockName,
223
- setAttributes
224
- } = props;
215
+ function PositionPanelPure({
216
+ style = {},
217
+ clientId,
218
+ name: blockName,
219
+ setAttributes
220
+ }) {
225
221
  const allowFixed = hasFixedPositionSupport(blockName);
226
222
  const allowSticky = hasStickyPositionSupport(blockName);
227
223
  const value = style?.position?.type;
@@ -300,47 +296,33 @@ function PositionPanel(props) {
300
296
  native: null
301
297
  });
302
298
  }
303
-
304
- /**
305
- * Override the default edit UI to include position controls.
306
- *
307
- * @param {Function} BlockEdit Original component.
308
- *
309
- * @return {Function} Wrapped component.
310
- */
311
- const withPositionControls = (0, _compose.createHigherOrderComponent)(BlockEdit => props => {
312
- const {
313
- name: blockName
314
- } = props;
315
- const positionSupport = (0, _blocks.hasBlockSupport)(blockName, POSITION_SUPPORT_KEY);
316
- const isPositionDisabled = useIsPositionDisabled(props);
317
- const showPositionControls = positionSupport && !isPositionDisabled;
318
- return [showPositionControls && (0, _react.createElement)(PositionPanel, {
319
- key: "position",
320
- ...props
321
- }), (0, _react.createElement)(BlockEdit, {
322
- key: "edit",
323
- ...props
324
- })];
325
- }, 'withPositionControls');
326
-
327
- /**
328
- * Override the default block element to add the position styles.
329
- *
330
- * @param {Function} BlockListBlock Original component.
331
- *
332
- * @return {Function} Wrapped component.
333
- */
334
- exports.withPositionControls = withPositionControls;
335
- const withPositionStyles = (0, _compose.createHigherOrderComponent)(BlockListBlock => props => {
336
- const {
337
- name,
338
- attributes
339
- } = props;
299
+ var _default = {
300
+ edit: function Edit(props) {
301
+ const isPositionDisabled = useIsPositionDisabled(props);
302
+ if (isPositionDisabled) {
303
+ return null;
304
+ }
305
+ return (0, _react.createElement)(PositionPanelPure, {
306
+ ...props
307
+ });
308
+ },
309
+ useBlockProps,
310
+ attributeKeys: ['style'],
311
+ hasSupport(name) {
312
+ return (0, _blocks.hasBlockSupport)(name, POSITION_SUPPORT_KEY);
313
+ }
314
+ };
315
+ exports.default = _default;
316
+ function useBlockProps({
317
+ name,
318
+ style
319
+ }) {
340
320
  const hasPositionBlockSupport = (0, _blocks.hasBlockSupport)(name, POSITION_SUPPORT_KEY);
341
- const isPositionDisabled = useIsPositionDisabled(props);
321
+ const isPositionDisabled = useIsPositionDisabled({
322
+ name
323
+ });
342
324
  const allowPositionStyles = hasPositionBlockSupport && !isPositionDisabled;
343
- const id = (0, _compose.useInstanceId)(BlockListBlock);
325
+ const id = (0, _compose.useInstanceId)(useBlockProps);
344
326
 
345
327
  // Higher specificity to override defaults in editor UI.
346
328
  const positionSelector = `.wp-container-${id}.wp-container-${id}`;
@@ -350,25 +332,21 @@ const withPositionStyles = (0, _compose.createHigherOrderComponent)(BlockListBlo
350
332
  if (allowPositionStyles) {
351
333
  css = getPositionCSS({
352
334
  selector: positionSelector,
353
- style: attributes?.style
335
+ style
354
336
  }) || '';
355
337
  }
356
338
 
357
339
  // Attach a `wp-container-` id-based class name.
358
- const className = (0, _classnames.default)(props?.className, {
340
+ const className = (0, _classnames.default)({
359
341
  [`wp-container-${id}`]: allowPositionStyles && !!css,
360
342
  // Only attach a container class if there is generated CSS to be attached.
361
- [`is-position-${attributes?.style?.position?.type}`]: allowPositionStyles && !!css && !!attributes?.style?.position?.type
343
+ [`is-position-${style?.position?.type}`]: allowPositionStyles && !!css && !!style?.position?.type
362
344
  });
363
345
  (0, _utils.useStyleOverride)({
364
346
  css
365
347
  });
366
- return (0, _react.createElement)(BlockListBlock, {
367
- ...props,
368
- className: className
369
- });
370
- }, 'withPositionStyles');
371
- exports.withPositionStyles = withPositionStyles;
372
- (0, _hooks.addFilter)('editor.BlockListBlock', 'core/editor/position/with-position-styles', withPositionStyles);
373
- (0, _hooks.addFilter)('editor.BlockEdit', 'core/editor/position/with-inspector-controls', withPositionControls);
348
+ return {
349
+ className
350
+ };
351
+ }
374
352
  //# sourceMappingURL=position.js.map