@wordpress/block-editor 12.26.0 → 13.0.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 (1708) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/build/autocompleters/block.js +7 -6
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/autocompleters/link.js +10 -8
  6. package/build/autocompleters/link.js.map +1 -1
  7. package/build/components/alignment-control/index.js +3 -3
  8. package/build/components/alignment-control/index.js.map +1 -1
  9. package/build/components/alignment-control/ui.js +2 -2
  10. package/build/components/alignment-control/ui.js.map +1 -1
  11. package/build/components/audio-player/audio-url-parser.native.js +24 -0
  12. package/build/components/audio-player/audio-url-parser.native.js.map +1 -0
  13. package/build/components/audio-player/index.native.js +174 -0
  14. package/build/components/audio-player/index.native.js.map +1 -0
  15. package/build/components/autocomplete/index.js +3 -4
  16. package/build/components/autocomplete/index.js.map +1 -1
  17. package/build/components/block-alignment-control/index.js +3 -3
  18. package/build/components/block-alignment-control/index.js.map +1 -1
  19. package/build/components/block-alignment-control/ui.js +33 -30
  20. package/build/components/block-alignment-control/ui.js.map +1 -1
  21. package/build/components/block-alignment-control/ui.native.js +2 -2
  22. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  23. package/build/components/block-alignment-matrix-control/index.js +5 -5
  24. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  25. package/build/components/block-bindings-toolbar-indicator/index.js +92 -11
  26. package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  27. package/build/components/block-breadcrumb/index.js +38 -34
  28. package/build/components/block-breadcrumb/index.js.map +1 -1
  29. package/build/components/block-canvas/index.js +36 -31
  30. package/build/components/block-canvas/index.js.map +1 -1
  31. package/build/components/block-caption/index.native.js +15 -14
  32. package/build/components/block-caption/index.native.js.map +1 -1
  33. package/build/components/block-card/index.js +32 -27
  34. package/build/components/block-card/index.js.map +1 -1
  35. package/build/components/block-compare/block-view.js +27 -18
  36. package/build/components/block-compare/block-view.js.map +1 -1
  37. package/build/components/block-compare/index.js +23 -22
  38. package/build/components/block-compare/index.js.map +1 -1
  39. package/build/components/block-context/index.js +3 -4
  40. package/build/components/block-context/index.js.map +1 -1
  41. package/build/components/block-controls/fill.js +22 -16
  42. package/build/components/block-controls/fill.js.map +1 -1
  43. package/build/components/block-controls/index.js +3 -3
  44. package/build/components/block-controls/index.js.map +1 -1
  45. package/build/components/block-controls/slot.js +6 -4
  46. package/build/components/block-controls/slot.js.map +1 -1
  47. package/build/components/block-controls/slot.native.js +12 -9
  48. package/build/components/block-controls/slot.native.js.map +1 -1
  49. package/build/components/block-controls/use-has-block-controls.js +1 -1
  50. package/build/components/block-controls/use-has-block-controls.js.map +1 -1
  51. package/build/components/block-draggable/draggable-chip.js +27 -19
  52. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  53. package/build/components/block-draggable/draggable-chip.native.js +9 -8
  54. package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
  55. package/build/components/block-draggable/dropping-insertion-point.native.js +3 -4
  56. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  57. package/build/components/block-draggable/index.js +14 -13
  58. package/build/components/block-draggable/index.js.map +1 -1
  59. package/build/components/block-draggable/index.native.js +37 -30
  60. package/build/components/block-draggable/index.native.js.map +1 -1
  61. package/build/components/block-edit/edit.js +5 -6
  62. package/build/components/block-edit/edit.js.map +1 -1
  63. package/build/components/block-edit/edit.native.js +3 -4
  64. package/build/components/block-edit/edit.native.js.map +1 -1
  65. package/build/components/block-edit/index.js +17 -9
  66. package/build/components/block-edit/index.js.map +1 -1
  67. package/build/components/block-edit/multiple-usage-warning.js +47 -0
  68. package/build/components/block-edit/multiple-usage-warning.js.map +1 -0
  69. package/build/components/block-edit-visually-button/index.js +9 -6
  70. package/build/components/block-edit-visually-button/index.js.map +1 -1
  71. package/build/components/block-full-height-alignment-control/index.js +2 -2
  72. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  73. package/build/components/block-heading-level-dropdown/heading-level-icon.js +3 -5
  74. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  75. package/build/components/block-heading-level-dropdown/index.js +4 -4
  76. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  77. package/build/components/block-heading-level-dropdown/index.native.js +4 -4
  78. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  79. package/build/components/block-icon/index.js +6 -5
  80. package/build/components/block-icon/index.js.map +1 -1
  81. package/build/components/block-icon/index.native.js +6 -5
  82. package/build/components/block-icon/index.native.js.map +1 -1
  83. package/build/components/block-info-slot-fill/index.js +3 -3
  84. package/build/components/block-info-slot-fill/index.js.map +1 -1
  85. package/build/components/block-inspector/index.js +102 -88
  86. package/build/components/block-inspector/index.js.map +1 -1
  87. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  88. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  89. package/build/components/block-list/block-crash-warning.js +5 -4
  90. package/build/components/block-list/block-crash-warning.js.map +1 -1
  91. package/build/components/block-list/block-crash-warning.native.js +2 -2
  92. package/build/components/block-list/block-crash-warning.native.js.map +1 -1
  93. package/build/components/block-list/block-html.js +2 -2
  94. package/build/components/block-list/block-html.js.map +1 -1
  95. package/build/components/block-list/block-invalid-warning.js +25 -21
  96. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  97. package/build/components/block-list/block-invalid-warning.native.js +12 -11
  98. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  99. package/build/components/block-list/block-list-item-cell.native.js +5 -4
  100. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  101. package/build/components/block-list/block-list-item.native.js +29 -28
  102. package/build/components/block-list/block-list-item.native.js.map +1 -1
  103. package/build/components/block-list/block-outline.native.js +2 -2
  104. package/build/components/block-list/block-outline.native.js.map +1 -1
  105. package/build/components/block-list/block-selection-button.native.js +35 -33
  106. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  107. package/build/components/block-list/block.js +107 -62
  108. package/build/components/block-list/block.js.map +1 -1
  109. package/build/components/block-list/block.native.js +63 -54
  110. package/build/components/block-list/block.native.js.map +1 -1
  111. package/build/components/block-list/grid-item.native.js +5 -4
  112. package/build/components/block-list/grid-item.native.js.map +1 -1
  113. package/build/components/block-list/index.js +38 -34
  114. package/build/components/block-list/index.js.map +1 -1
  115. package/build/components/block-list/index.native.js +97 -85
  116. package/build/components/block-list/index.native.js.map +1 -1
  117. package/build/components/block-list/insertion-point.native.js +12 -10
  118. package/build/components/block-list/insertion-point.native.js.map +1 -1
  119. package/build/components/block-list/layout.js +7 -3
  120. package/build/components/block-list/layout.js.map +1 -1
  121. package/build/components/block-list/subdirectory-icon.js +8 -7
  122. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  123. package/build/components/block-list/use-block-props/index.js +1 -1
  124. package/build/components/block-list/use-block-props/index.js.map +1 -1
  125. package/build/components/block-list-appender/index.js +9 -8
  126. package/build/components/block-list-appender/index.js.map +1 -1
  127. package/build/components/block-list-appender/index.native.js +4 -4
  128. package/build/components/block-list-appender/index.native.js.map +1 -1
  129. package/build/components/block-lock/menu-item.js +13 -10
  130. package/build/components/block-lock/menu-item.js.map +1 -1
  131. package/build/components/block-lock/modal.js +107 -90
  132. package/build/components/block-lock/modal.js.map +1 -1
  133. package/build/components/block-lock/toolbar.js +18 -15
  134. package/build/components/block-lock/toolbar.js.map +1 -1
  135. package/build/components/block-media-update-progress/index.native.js +17 -15
  136. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  137. package/build/components/block-mover/button.js +19 -16
  138. package/build/components/block-mover/button.js.map +1 -1
  139. package/build/components/block-mover/index.js +34 -27
  140. package/build/components/block-mover/index.js.map +1 -1
  141. package/build/components/block-mover/index.native.js +29 -27
  142. package/build/components/block-mover/index.native.js.map +1 -1
  143. package/build/components/block-navigation/dropdown.js +11 -9
  144. package/build/components/block-navigation/dropdown.js.map +1 -1
  145. package/build/components/block-parent-selector/index.js +14 -15
  146. package/build/components/block-parent-selector/index.js.map +1 -1
  147. package/build/components/block-pattern-setup/index.js +88 -76
  148. package/build/components/block-pattern-setup/index.js.map +1 -1
  149. package/build/components/block-pattern-setup/setup-toolbar.js +50 -45
  150. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  151. package/build/components/block-patterns-list/index.js +96 -86
  152. package/build/components/block-patterns-list/index.js.map +1 -1
  153. package/build/components/block-patterns-paging/index.js +70 -52
  154. package/build/components/block-patterns-paging/index.js.map +1 -1
  155. package/build/components/block-popover/cover.js +13 -10
  156. package/build/components/block-popover/cover.js.map +1 -1
  157. package/build/components/block-popover/drop-zone.js +11 -10
  158. package/build/components/block-popover/drop-zone.js.map +1 -1
  159. package/build/components/block-popover/inbetween.js +8 -7
  160. package/build/components/block-popover/inbetween.js.map +1 -1
  161. package/build/components/block-popover/index.js +9 -7
  162. package/build/components/block-popover/index.js.map +1 -1
  163. package/build/components/block-preview/auto.js +53 -47
  164. package/build/components/block-preview/auto.js.map +1 -1
  165. package/build/components/block-preview/index.js +16 -14
  166. package/build/components/block-preview/index.js.map +1 -1
  167. package/build/components/block-quick-navigation/index.js +24 -16
  168. package/build/components/block-quick-navigation/index.js.map +1 -1
  169. package/build/components/block-removal-warning-modal/index.js +18 -12
  170. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  171. package/build/components/block-rename/modal.js +44 -37
  172. package/build/components/block-rename/modal.js.map +1 -1
  173. package/build/components/block-rename/rename-control.js +24 -21
  174. package/build/components/block-rename/rename-control.js.map +1 -1
  175. package/build/components/block-selection-clearer/index.js +2 -2
  176. package/build/components/block-selection-clearer/index.js.map +1 -1
  177. package/build/components/block-settings/button.native.js +13 -9
  178. package/build/components/block-settings/button.native.js.map +1 -1
  179. package/build/components/block-settings/container.native.js +40 -28
  180. package/build/components/block-settings/container.native.js.map +1 -1
  181. package/build/components/block-settings-menu/block-html-convert-button.js +5 -4
  182. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  183. package/build/components/block-settings-menu/block-mode-toggle.js +5 -4
  184. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  185. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +7 -6
  186. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  187. package/build/components/block-settings-menu/block-settings-dropdown.js +93 -75
  188. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  189. package/build/components/block-settings-menu/index.js +10 -6
  190. package/build/components/block-settings-menu/index.js.map +1 -1
  191. package/build/components/block-settings-menu-controls/index.js +29 -24
  192. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  193. package/build/components/block-styles/index.js +43 -38
  194. package/build/components/block-styles/index.js.map +1 -1
  195. package/build/components/block-styles/index.native.js +7 -7
  196. package/build/components/block-styles/index.native.js.map +1 -1
  197. package/build/components/block-styles/menu-items.js +17 -14
  198. package/build/components/block-styles/menu-items.js.map +1 -1
  199. package/build/components/block-styles/preview-panel.js +2 -2
  200. package/build/components/block-styles/preview-panel.js.map +1 -1
  201. package/build/components/block-styles/preview.native.js +24 -21
  202. package/build/components/block-styles/preview.native.js.map +1 -1
  203. package/build/components/block-switcher/block-styles-menu.js +8 -7
  204. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  205. package/build/components/block-switcher/block-transformations-menu.js +32 -30
  206. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  207. package/build/components/block-switcher/block-transformations-menu.native.js +2 -2
  208. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  209. package/build/components/block-switcher/block-variation-transformations.js +19 -17
  210. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  211. package/build/components/block-switcher/index.js +85 -70
  212. package/build/components/block-switcher/index.js.map +1 -1
  213. package/build/components/block-switcher/pattern-transformations-menu.js +61 -51
  214. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  215. package/build/components/block-switcher/preview-block-popover.js +22 -17
  216. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  217. package/build/components/block-toolbar/block-toolbar-menu.native.js +38 -34
  218. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  219. package/build/components/block-toolbar/index.js +53 -43
  220. package/build/components/block-toolbar/index.js.map +1 -1
  221. package/build/components/block-toolbar/index.native.js +27 -21
  222. package/build/components/block-toolbar/index.native.js.map +1 -1
  223. package/build/components/block-toolbar/shuffle.js +7 -5
  224. package/build/components/block-toolbar/shuffle.js.map +1 -1
  225. package/build/components/block-tools/block-selection-button.js +61 -48
  226. package/build/components/block-tools/block-selection-button.js.map +1 -1
  227. package/build/components/block-tools/block-toolbar-breadcrumb.js +8 -7
  228. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  229. package/build/components/block-tools/block-toolbar-popover.js +15 -14
  230. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  231. package/build/components/block-tools/empty-block-inserter.js +13 -11
  232. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  233. package/build/components/block-tools/index.js +29 -26
  234. package/build/components/block-tools/index.js.map +1 -1
  235. package/build/components/block-tools/insertion-point.js +42 -40
  236. package/build/components/block-tools/insertion-point.js.map +1 -1
  237. package/build/components/block-tools/zoom-out-mode-inserters.js +33 -32
  238. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  239. package/build/components/block-types-list/index.js +15 -15
  240. package/build/components/block-types-list/index.js.map +1 -1
  241. package/build/components/block-types-list/index.native.js +30 -26
  242. package/build/components/block-types-list/index.native.js.map +1 -1
  243. package/build/components/block-variation-picker/index.js +30 -25
  244. package/build/components/block-variation-picker/index.js.map +1 -1
  245. package/build/components/block-variation-picker/index.native.js +32 -25
  246. package/build/components/block-variation-picker/index.native.js.map +1 -1
  247. package/build/components/block-variation-transforms/index.js +53 -47
  248. package/build/components/block-variation-transforms/index.js.map +1 -1
  249. package/build/components/block-vertical-alignment-control/icons.js +31 -26
  250. package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
  251. package/build/components/block-vertical-alignment-control/index.js +3 -3
  252. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  253. package/build/components/block-vertical-alignment-control/ui.js +2 -2
  254. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  255. package/build/components/border-radius-control/all-input-control.js +3 -3
  256. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  257. package/build/components/border-radius-control/index.js +43 -38
  258. package/build/components/border-radius-control/index.js.map +1 -1
  259. package/build/components/border-radius-control/input-controls.js +23 -21
  260. package/build/components/border-radius-control/input-controls.js.map +1 -1
  261. package/build/components/border-radius-control/linked-button.js +12 -11
  262. package/build/components/border-radius-control/linked-button.js.map +1 -1
  263. package/build/components/button-block-appender/index.js +15 -12
  264. package/build/components/button-block-appender/index.js.map +1 -1
  265. package/build/components/button-block-appender/index.native.js +28 -24
  266. package/build/components/button-block-appender/index.native.js.map +1 -1
  267. package/build/components/caption/index.native.js +22 -21
  268. package/build/components/caption/index.native.js.map +1 -1
  269. package/build/components/child-layout-control/index.js +137 -129
  270. package/build/components/child-layout-control/index.js.map +1 -1
  271. package/build/components/color-palette/control.js +2 -2
  272. package/build/components/color-palette/control.js.map +1 -1
  273. package/build/components/color-palette/with-color-context.js +2 -2
  274. package/build/components/color-palette/with-color-context.js.map +1 -1
  275. package/build/components/color-style-selector/index.js +29 -20
  276. package/build/components/color-style-selector/index.js.map +1 -1
  277. package/build/components/colors/utils.js +3 -3
  278. package/build/components/colors/utils.js.map +1 -1
  279. package/build/components/colors/with-colors.js +8 -7
  280. package/build/components/colors/with-colors.js.map +1 -1
  281. package/build/components/colors-gradients/control.js +53 -39
  282. package/build/components/colors-gradients/control.js.map +1 -1
  283. package/build/components/colors-gradients/dropdown.js +70 -61
  284. package/build/components/colors-gradients/dropdown.js.map +1 -1
  285. package/build/components/colors-gradients/panel-color-gradient-settings.js +21 -18
  286. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  287. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +11 -7
  288. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  289. package/build/components/contrast-checker/index.js +10 -8
  290. package/build/components/contrast-checker/index.js.map +1 -1
  291. package/build/components/contrast-checker/index.native.js +12 -10
  292. package/build/components/contrast-checker/index.native.js.map +1 -1
  293. package/build/components/convert-to-group-buttons/index.js +17 -13
  294. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  295. package/build/components/convert-to-group-buttons/toolbar.js +20 -18
  296. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  297. package/build/components/copy-handler/index.js +2 -2
  298. package/build/components/copy-handler/index.js.map +1 -1
  299. package/build/components/date-format-picker/index.js +44 -40
  300. package/build/components/date-format-picker/index.js.map +1 -1
  301. package/build/components/default-block-appender/index.js +32 -30
  302. package/build/components/default-block-appender/index.js.map +1 -1
  303. package/build/components/default-block-appender/index.native.js +14 -12
  304. package/build/components/default-block-appender/index.native.js.map +1 -1
  305. package/build/components/dimensions-tool/aspect-ratio-tool.js +13 -14
  306. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  307. package/build/components/dimensions-tool/index.js +116 -115
  308. package/build/components/dimensions-tool/index.js.map +1 -1
  309. package/build/components/dimensions-tool/scale-tool.js +16 -16
  310. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  311. package/build/components/dimensions-tool/width-height-tool.js +37 -33
  312. package/build/components/dimensions-tool/width-height-tool.js.map +1 -1
  313. package/build/components/duotone-control/index.js +21 -18
  314. package/build/components/duotone-control/index.js.map +1 -1
  315. package/build/components/editable-text/index.js +6 -5
  316. package/build/components/editable-text/index.js.map +1 -1
  317. package/build/components/editor-styles/index.js +23 -21
  318. package/build/components/editor-styles/index.js.map +1 -1
  319. package/build/components/floating-toolbar/index.native.js +18 -16
  320. package/build/components/floating-toolbar/index.native.js.map +1 -1
  321. package/build/components/floating-toolbar/nav-up-icon.js +14 -13
  322. package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
  323. package/build/components/font-appearance-control/index.js +2 -2
  324. package/build/components/font-appearance-control/index.js.map +1 -1
  325. package/build/components/font-family/index.js +2 -2
  326. package/build/components/font-family/index.js.map +1 -1
  327. package/build/components/font-sizes/font-size-picker.js +2 -2
  328. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  329. package/build/components/font-sizes/utils.js +4 -3
  330. package/build/components/font-sizes/utils.js.map +1 -1
  331. package/build/components/font-sizes/with-font-sizes.js +3 -3
  332. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  333. package/build/components/global-styles/advanced-panel.js +17 -15
  334. package/build/components/global-styles/advanced-panel.js.map +1 -1
  335. package/build/components/global-styles/background-panel.js +187 -121
  336. package/build/components/global-styles/background-panel.js.map +1 -1
  337. package/build/components/global-styles/border-panel.js +62 -56
  338. package/build/components/global-styles/border-panel.js.map +1 -1
  339. package/build/components/global-styles/color-panel.js +111 -87
  340. package/build/components/global-styles/color-panel.js.map +1 -1
  341. package/build/components/global-styles/color-panel.native.js +14 -11
  342. package/build/components/global-styles/color-panel.native.js.map +1 -1
  343. package/build/components/global-styles/dimensions-panel.js +183 -171
  344. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  345. package/build/components/global-styles/filters-panel.js +78 -65
  346. package/build/components/global-styles/filters-panel.js.map +1 -1
  347. package/build/components/global-styles/hooks.js +14 -2
  348. package/build/components/global-styles/hooks.js.map +1 -1
  349. package/build/components/global-styles/image-settings-panel.js +26 -22
  350. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  351. package/build/components/global-styles/index.js +18 -0
  352. package/build/components/global-styles/index.js.map +1 -1
  353. package/build/components/global-styles/shadow-panel-components.js +74 -65
  354. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  355. package/build/components/global-styles/theme-file-uri-utils.js +80 -0
  356. package/build/components/global-styles/theme-file-uri-utils.js.map +1 -0
  357. package/build/components/global-styles/typography-panel.js +175 -134
  358. package/build/components/global-styles/typography-panel.js.map +1 -1
  359. package/build/components/global-styles/use-global-styles-context.native.js +450 -0
  360. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -0
  361. package/build/components/global-styles/use-global-styles-output.js +113 -78
  362. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  363. package/build/components/gradients/with-gradient.js +2 -2
  364. package/build/components/gradients/with-gradient.js.map +1 -1
  365. package/build/components/grid-visualizer/grid-item-resizer.js +59 -58
  366. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  367. package/build/components/grid-visualizer/grid-visualizer.js +20 -15
  368. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
  369. package/build/components/height-control/index.js +39 -32
  370. package/build/components/height-control/index.js.map +1 -1
  371. package/build/components/iframe/index.js +70 -62
  372. package/build/components/iframe/index.js.map +1 -1
  373. package/build/components/image-editor/aspect-ratio-dropdown.js +73 -69
  374. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  375. package/build/components/image-editor/context.js +5 -4
  376. package/build/components/image-editor/context.js.map +1 -1
  377. package/build/components/image-editor/cropper.js +24 -21
  378. package/build/components/image-editor/cropper.js.map +1 -1
  379. package/build/components/image-editor/form-controls.js +11 -7
  380. package/build/components/image-editor/form-controls.js.map +1 -1
  381. package/build/components/image-editor/index.js +22 -13
  382. package/build/components/image-editor/index.js.map +1 -1
  383. package/build/components/image-editor/rotation-button.js +2 -2
  384. package/build/components/image-editor/rotation-button.js.map +1 -1
  385. package/build/components/image-editor/zoom-dropdown.js +4 -4
  386. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  387. package/build/components/image-link-destinations/index.native.js +37 -27
  388. package/build/components/image-link-destinations/index.native.js.map +1 -1
  389. package/build/components/image-size-control/index.js +53 -45
  390. package/build/components/image-size-control/index.js.map +1 -1
  391. package/build/components/index.native.js +37 -0
  392. package/build/components/index.native.js.map +1 -1
  393. package/build/components/inner-blocks/button-block-appender.js +2 -2
  394. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  395. package/build/components/inner-blocks/default-block-appender.js +2 -2
  396. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  397. package/build/components/inner-blocks/index.js +19 -16
  398. package/build/components/inner-blocks/index.js.map +1 -1
  399. package/build/components/inner-blocks/index.native.js +31 -29
  400. package/build/components/inner-blocks/index.native.js.map +1 -1
  401. package/build/components/inner-blocks/use-nested-settings-update.js +10 -13
  402. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  403. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +20 -17
  404. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  405. package/build/components/inner-blocks/with-client-id.js +2 -2
  406. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  407. package/build/components/inserter/block-patterns-explorer/index.js +22 -20
  408. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  409. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +39 -36
  410. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  411. package/build/components/inserter/block-patterns-explorer/pattern-list.js +25 -19
  412. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  413. package/build/components/inserter/block-patterns-tab/index.js +38 -31
  414. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  415. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +21 -4
  416. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  417. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +42 -31
  418. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  419. package/build/components/inserter/block-patterns-tab/patterns-filter.js +54 -42
  420. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  421. package/build/components/inserter/block-types-tab.js +108 -66
  422. package/build/components/inserter/block-types-tab.js.map +1 -1
  423. package/build/components/inserter/block-types-tab.native.js +2 -2
  424. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  425. package/build/components/inserter/category-tabs/index.js +26 -20
  426. package/build/components/inserter/category-tabs/index.js.map +1 -1
  427. package/build/components/inserter/hooks/use-block-types-state.js +9 -4
  428. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  429. package/build/components/inserter/hooks/use-insertion-point.js +33 -5
  430. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  431. package/build/components/inserter/index.js +6 -6
  432. package/build/components/inserter/index.js.map +1 -1
  433. package/build/components/inserter/index.native.js +21 -19
  434. package/build/components/inserter/index.native.js.map +1 -1
  435. package/build/components/inserter/library.js +15 -8
  436. package/build/components/inserter/library.js.map +1 -1
  437. package/build/components/inserter/media-tab/media-list.js +9 -9
  438. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  439. package/build/components/inserter/media-tab/media-panel.js +19 -17
  440. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  441. package/build/components/inserter/media-tab/media-preview.js +92 -66
  442. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  443. package/build/components/inserter/media-tab/media-tab.js +44 -36
  444. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  445. package/build/components/inserter/media-tab/utils.js +2 -2
  446. package/build/components/inserter/media-tab/utils.js.map +1 -1
  447. package/build/components/inserter/menu.js +101 -84
  448. package/build/components/inserter/menu.js.map +1 -1
  449. package/build/components/inserter/menu.native.js +34 -28
  450. package/build/components/inserter/menu.native.js.map +1 -1
  451. package/build/components/inserter/mobile-tab-navigation.js +56 -40
  452. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  453. package/build/components/inserter/no-results.js +10 -7
  454. package/build/components/inserter/no-results.js.map +1 -1
  455. package/build/components/inserter/no-results.native.js +13 -8
  456. package/build/components/inserter/no-results.native.js.map +1 -1
  457. package/build/components/inserter/panel.js +15 -10
  458. package/build/components/inserter/panel.js.map +1 -1
  459. package/build/components/inserter/preview-panel.js +24 -20
  460. package/build/components/inserter/preview-panel.js.map +1 -1
  461. package/build/components/inserter/quick-inserter.js +35 -31
  462. package/build/components/inserter/quick-inserter.js.map +1 -1
  463. package/build/components/inserter/reusable-block-rename-hint.js +20 -18
  464. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
  465. package/build/components/inserter/reusable-blocks-tab.native.js +2 -2
  466. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  467. package/build/components/inserter/search-results.js +52 -41
  468. package/build/components/inserter/search-results.js.map +1 -1
  469. package/build/components/inserter/search-results.native.js +3 -3
  470. package/build/components/inserter/search-results.native.js.map +1 -1
  471. package/build/components/inserter/tabs.js +30 -26
  472. package/build/components/inserter/tabs.js.map +1 -1
  473. package/build/components/inserter/tabs.native.js +20 -18
  474. package/build/components/inserter/tabs.native.js.map +1 -1
  475. package/build/components/inserter/tips.js +7 -5
  476. package/build/components/inserter/tips.js.map +1 -1
  477. package/build/components/inserter-button/index.native.js +28 -23
  478. package/build/components/inserter-button/index.native.js.map +1 -1
  479. package/build/components/inserter-button/sparkles.js +8 -7
  480. package/build/components/inserter-button/sparkles.js.map +1 -1
  481. package/build/components/inserter-draggable-blocks/index.js +14 -13
  482. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  483. package/build/components/inserter-list-item/index.js +68 -62
  484. package/build/components/inserter-list-item/index.js.map +1 -1
  485. package/build/components/inserter-listbox/group.js +2 -2
  486. package/build/components/inserter-listbox/group.js.map +1 -1
  487. package/build/components/inserter-listbox/index.js +5 -4
  488. package/build/components/inserter-listbox/index.js.map +1 -1
  489. package/build/components/inserter-listbox/item.js +10 -8
  490. package/build/components/inserter-listbox/item.js.map +1 -1
  491. package/build/components/inserter-listbox/row.js +2 -2
  492. package/build/components/inserter-listbox/row.js.map +1 -1
  493. package/build/components/inspector-controls/block-support-slot-container.js +2 -2
  494. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  495. package/build/components/inspector-controls/block-support-tools-panel.js +5 -5
  496. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  497. package/build/components/inspector-controls/fill.js +22 -17
  498. package/build/components/inspector-controls/fill.js.map +1 -1
  499. package/build/components/inspector-controls/fill.native.js +12 -5
  500. package/build/components/inspector-controls/fill.native.js.map +1 -1
  501. package/build/components/inspector-controls/index.js +3 -3
  502. package/build/components/inspector-controls/index.js.map +1 -1
  503. package/build/components/inspector-controls/slot.js +11 -10
  504. package/build/components/inspector-controls/slot.js.map +1 -1
  505. package/build/components/inspector-controls/slot.native.js +3 -3
  506. package/build/components/inspector-controls/slot.native.js.map +1 -1
  507. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +7 -6
  508. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  509. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js +11 -9
  510. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  511. package/build/components/inspector-controls-tabs/index.js +44 -32
  512. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  513. package/build/components/inspector-controls-tabs/position-controls-panel.js +8 -7
  514. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  515. package/build/components/inspector-controls-tabs/settings-tab-hint.js +20 -18
  516. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  517. package/build/components/inspector-controls-tabs/settings-tab.js +6 -2
  518. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  519. package/build/components/inspector-controls-tabs/styles-tab.js +31 -26
  520. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  521. package/build/components/inspector-popover-header/index.js +31 -26
  522. package/build/components/inspector-popover-header/index.js.map +1 -1
  523. package/build/components/justify-content-control/index.js +3 -3
  524. package/build/components/justify-content-control/index.js.map +1 -1
  525. package/build/components/justify-content-control/ui.js +2 -2
  526. package/build/components/justify-content-control/ui.js.map +1 -1
  527. package/build/components/letter-spacing-control/index.js +3 -4
  528. package/build/components/letter-spacing-control/index.js.map +1 -1
  529. package/build/components/line-height-control/index.js +17 -16
  530. package/build/components/line-height-control/index.js.map +1 -1
  531. package/build/components/line-height-control/index.native.js +2 -2
  532. package/build/components/line-height-control/index.native.js.map +1 -1
  533. package/build/components/link-control/index.js +101 -84
  534. package/build/components/link-control/index.js.map +1 -1
  535. package/build/components/link-control/link-preview.js +61 -49
  536. package/build/components/link-control/link-preview.js.map +1 -1
  537. package/build/components/link-control/search-create-button.js +6 -5
  538. package/build/components/link-control/search-create-button.js.map +1 -1
  539. package/build/components/link-control/search-input.js +32 -31
  540. package/build/components/link-control/search-input.js.map +1 -1
  541. package/build/components/link-control/search-item.js +12 -11
  542. package/build/components/link-control/search-item.js.map +1 -1
  543. package/build/components/link-control/search-results.js +50 -46
  544. package/build/components/link-control/search-results.js.map +1 -1
  545. package/build/components/link-control/settings-drawer.js +37 -30
  546. package/build/components/link-control/settings-drawer.js.map +1 -1
  547. package/build/components/link-control/settings.js +10 -9
  548. package/build/components/link-control/settings.js.map +1 -1
  549. package/build/components/list-view/appender.js +24 -22
  550. package/build/components/list-view/appender.js.map +1 -1
  551. package/build/components/list-view/aria-referenced-text.js +6 -6
  552. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  553. package/build/components/list-view/block-contents.js +32 -29
  554. package/build/components/list-view/block-contents.js.map +1 -1
  555. package/build/components/list-view/block-select-button.js +50 -42
  556. package/build/components/list-view/block-select-button.js.map +1 -1
  557. package/build/components/list-view/block.js +96 -84
  558. package/build/components/list-view/block.js.map +1 -1
  559. package/build/components/list-view/branch.js +101 -95
  560. package/build/components/list-view/branch.js.map +1 -1
  561. package/build/components/list-view/drop-indicator.js +38 -31
  562. package/build/components/list-view/drop-indicator.js.map +1 -1
  563. package/build/components/list-view/expander.js +8 -6
  564. package/build/components/list-view/expander.js.map +1 -1
  565. package/build/components/list-view/index.js +42 -38
  566. package/build/components/list-view/index.js.map +1 -1
  567. package/build/components/list-view/leaf.js +5 -4
  568. package/build/components/list-view/leaf.js.map +1 -1
  569. package/build/components/media-placeholder/index.js +99 -79
  570. package/build/components/media-placeholder/index.js.map +1 -1
  571. package/build/components/media-placeholder/index.native.js +63 -52
  572. package/build/components/media-placeholder/index.native.js.map +1 -1
  573. package/build/components/media-replace-flow/index.js +72 -60
  574. package/build/components/media-replace-flow/index.js.map +1 -1
  575. package/build/components/media-replace-flow/index.native.js +2 -2
  576. package/build/components/media-replace-flow/index.native.js.map +1 -1
  577. package/build/components/media-upload/index.native.js +44 -40
  578. package/build/components/media-upload/index.native.js.map +1 -1
  579. package/build/components/media-upload-progress/index.native.js +39 -15
  580. package/build/components/media-upload-progress/index.native.js.map +1 -1
  581. package/build/components/multi-selection-inspector/index.js +19 -15
  582. package/build/components/multi-selection-inspector/index.js.map +1 -1
  583. package/build/components/navigable-toolbar/index.js +9 -7
  584. package/build/components/navigable-toolbar/index.js.map +1 -1
  585. package/build/components/observe-typing/index.js +6 -6
  586. package/build/components/observe-typing/index.js.map +1 -1
  587. package/build/components/panel-color-settings/index.js +2 -2
  588. package/build/components/panel-color-settings/index.js.map +1 -1
  589. package/build/components/plain-text/index.js +4 -5
  590. package/build/components/plain-text/index.js.map +1 -1
  591. package/build/components/plain-text/index.native.js +3 -3
  592. package/build/components/plain-text/index.native.js.map +1 -1
  593. package/build/components/provider/block-refs-provider.js +5 -4
  594. package/build/components/provider/block-refs-provider.js.map +1 -1
  595. package/build/components/provider/index.js +11 -7
  596. package/build/components/provider/index.js.map +1 -1
  597. package/build/components/provider/index.native.js +5 -5
  598. package/build/components/provider/index.native.js.map +1 -1
  599. package/build/components/provider/with-registry-provider.js +30 -26
  600. package/build/components/provider/with-registry-provider.js.map +1 -1
  601. package/build/components/publish-date-time-picker/index.js +36 -15
  602. package/build/components/publish-date-time-picker/index.js.map +1 -1
  603. package/build/components/recursion-provider/index.js +6 -5
  604. package/build/components/recursion-provider/index.js.map +1 -1
  605. package/build/components/resizable-box-popover/index.js +7 -6
  606. package/build/components/resizable-box-popover/index.js.map +1 -1
  607. package/build/components/resolution-tool/index.js +12 -11
  608. package/build/components/resolution-tool/index.js.map +1 -1
  609. package/build/components/responsive-block-control/index.js +30 -26
  610. package/build/components/responsive-block-control/index.js.map +1 -1
  611. package/build/components/responsive-block-control/label.js +11 -7
  612. package/build/components/responsive-block-control/label.js.map +1 -1
  613. package/build/components/rich-text/content.js +8 -5
  614. package/build/components/rich-text/content.js.map +1 -1
  615. package/build/components/rich-text/embed-handler-picker.native.js +2 -2
  616. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  617. package/build/components/rich-text/format-edit.js +5 -5
  618. package/build/components/rich-text/format-edit.js.map +1 -1
  619. package/build/components/rich-text/format-toolbar/index.js +37 -33
  620. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  621. package/build/components/rich-text/format-toolbar/index.native.js +8 -7
  622. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  623. package/build/components/rich-text/format-toolbar-container.js +17 -12
  624. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  625. package/build/components/rich-text/format-toolbar-container.native.js +5 -4
  626. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  627. package/build/components/rich-text/get-rich-text-values.js +4 -4
  628. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  629. package/build/components/rich-text/index.js +87 -76
  630. package/build/components/rich-text/index.js.map +1 -1
  631. package/build/components/rich-text/index.native.js +51 -47
  632. package/build/components/rich-text/index.native.js.map +1 -1
  633. package/build/components/rich-text/multiline.js +62 -62
  634. package/build/components/rich-text/multiline.js.map +1 -1
  635. package/build/components/rich-text/native/format-edit.js +3 -4
  636. package/build/components/rich-text/native/format-edit.js.map +1 -1
  637. package/build/components/rich-text/native/index.native.js +87 -80
  638. package/build/components/rich-text/native/index.native.js.map +1 -1
  639. package/build/components/rich-text/native/toolbar-button-with-options.native.js +19 -16
  640. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  641. package/build/components/rich-text/toolbar-button.js +8 -7
  642. package/build/components/rich-text/toolbar-button.js.map +1 -1
  643. package/build/components/rich-text/utils.js +5 -4
  644. package/build/components/rich-text/utils.js.map +1 -1
  645. package/build/components/rich-text/with-deprecations.js +2 -2
  646. package/build/components/rich-text/with-deprecations.js.map +1 -1
  647. package/build/components/segmented-text-control/index.js +20 -19
  648. package/build/components/segmented-text-control/index.js.map +1 -1
  649. package/build/components/skip-to-selected-block/index.js +6 -6
  650. package/build/components/skip-to-selected-block/index.js.map +1 -1
  651. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +29 -14
  652. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  653. package/build/components/spacing-sizes-control/index.js +23 -19
  654. package/build/components/spacing-sizes-control/index.js.map +1 -1
  655. package/build/components/spacing-sizes-control/input-controls/axial.js +19 -18
  656. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  657. package/build/components/spacing-sizes-control/input-controls/separated.js +18 -17
  658. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  659. package/build/components/spacing-sizes-control/input-controls/single.js +2 -2
  660. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  661. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +103 -100
  662. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  663. package/build/components/spacing-sizes-control/sides-dropdown/index.js +42 -34
  664. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  665. package/build/components/spacing-sizes-control/utils.js +2 -1
  666. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  667. package/build/components/text-alignment-control/index.js +2 -2
  668. package/build/components/text-alignment-control/index.js.map +1 -1
  669. package/build/components/text-decoration-control/index.js +2 -2
  670. package/build/components/text-decoration-control/index.js.map +1 -1
  671. package/build/components/text-transform-control/index.js +2 -2
  672. package/build/components/text-transform-control/index.js.map +1 -1
  673. package/build/components/tool-selector/index.js +35 -26
  674. package/build/components/tool-selector/index.js.map +1 -1
  675. package/build/components/typewriter/index.js +5 -4
  676. package/build/components/typewriter/index.js.map +1 -1
  677. package/build/components/ungroup-button/index.native.js +8 -6
  678. package/build/components/ungroup-button/index.native.js.map +1 -1
  679. package/build/components/unit-control/index.js +2 -2
  680. package/build/components/unit-control/index.js.map +1 -1
  681. package/build/components/unsupported-block-details/index.native.js +31 -28
  682. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  683. package/build/components/url-input/button.js +31 -28
  684. package/build/components/url-input/button.js.map +1 -1
  685. package/build/components/url-input/index.js +27 -22
  686. package/build/components/url-input/index.js.map +1 -1
  687. package/build/components/url-input/index.native.js +2 -2
  688. package/build/components/url-input/index.native.js.map +1 -1
  689. package/build/components/url-popover/image-url-input-ui.js +104 -91
  690. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  691. package/build/components/url-popover/index.js +24 -19
  692. package/build/components/url-popover/index.js.map +1 -1
  693. package/build/components/url-popover/link-editor.js +15 -14
  694. package/build/components/url-popover/link-editor.js.map +1 -1
  695. package/build/components/url-popover/link-viewer-url.js +6 -5
  696. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  697. package/build/components/url-popover/link-viewer.js +14 -13
  698. package/build/components/url-popover/link-viewer.js.map +1 -1
  699. package/build/components/use-block-commands/index.js +2 -2
  700. package/build/components/use-block-commands/index.js.map +1 -1
  701. package/build/components/video-player/gridicon-play.native.js +8 -7
  702. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  703. package/build/components/video-player/index.native.js +43 -40
  704. package/build/components/video-player/index.native.js.map +1 -1
  705. package/build/components/warning/index.js +34 -26
  706. package/build/components/warning/index.js.map +1 -1
  707. package/build/components/warning/index.native.js +17 -13
  708. package/build/components/warning/index.native.js.map +1 -1
  709. package/build/components/writing-flow/index.js +9 -6
  710. package/build/components/writing-flow/index.js.map +1 -1
  711. package/build/components/writing-flow/use-clipboard-handler.js +19 -16
  712. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  713. package/build/components/writing-flow/use-tab-nav.js +3 -3
  714. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  715. package/build/components/writing-mode-control/index.js +2 -2
  716. package/build/components/writing-mode-control/index.js.map +1 -1
  717. package/build/hooks/align.js +10 -10
  718. package/build/hooks/align.js.map +1 -1
  719. package/build/hooks/anchor.js +29 -24
  720. package/build/hooks/anchor.js.map +1 -1
  721. package/build/hooks/background.js +6 -5
  722. package/build/hooks/background.js.map +1 -1
  723. package/build/hooks/block-bindings.js +89 -0
  724. package/build/hooks/block-bindings.js.map +1 -0
  725. package/build/hooks/block-hooks.js +41 -33
  726. package/build/hooks/block-hooks.js.map +1 -1
  727. package/build/hooks/block-style-variation.js +142 -0
  728. package/build/hooks/block-style-variation.js.map +1 -0
  729. package/build/hooks/border.js +6 -5
  730. package/build/hooks/border.js.map +1 -1
  731. package/build/hooks/color.js +11 -9
  732. package/build/hooks/color.js.map +1 -1
  733. package/build/hooks/content-lock-ui.js +23 -15
  734. package/build/hooks/content-lock-ui.js.map +1 -1
  735. package/build/hooks/contrast-checker.js +2 -2
  736. package/build/hooks/contrast-checker.js.map +1 -1
  737. package/build/hooks/custom-class-name.js +17 -16
  738. package/build/hooks/custom-class-name.js.map +1 -1
  739. package/build/hooks/dimensions.js +24 -21
  740. package/build/hooks/dimensions.js.map +1 -1
  741. package/build/hooks/duotone.js +49 -45
  742. package/build/hooks/duotone.js.map +1 -1
  743. package/build/hooks/font-family.js +3 -3
  744. package/build/hooks/font-family.js.map +1 -1
  745. package/build/hooks/font-size.js +2 -2
  746. package/build/hooks/font-size.js.map +1 -1
  747. package/build/hooks/index.js +4 -2
  748. package/build/hooks/index.js.map +1 -1
  749. package/build/hooks/layout-child.js +26 -24
  750. package/build/hooks/layout-child.js.map +1 -1
  751. package/build/hooks/layout.js +61 -55
  752. package/build/hooks/layout.js.map +1 -1
  753. package/build/hooks/line-height.js +2 -2
  754. package/build/hooks/line-height.js.map +1 -1
  755. package/build/hooks/position.js +28 -26
  756. package/build/hooks/position.js.map +1 -1
  757. package/build/hooks/spacing-visualizer.js +10 -9
  758. package/build/hooks/spacing-visualizer.js.map +1 -1
  759. package/build/hooks/style.js +23 -13
  760. package/build/hooks/style.js.map +1 -1
  761. package/build/hooks/text-align.js +19 -18
  762. package/build/hooks/text-align.js.map +1 -1
  763. package/build/hooks/typography.js +6 -5
  764. package/build/hooks/typography.js.map +1 -1
  765. package/build/hooks/typography.native.js +11 -8
  766. package/build/hooks/typography.native.js.map +1 -1
  767. package/build/hooks/use-bindings-attributes.js +47 -15
  768. package/build/hooks/use-bindings-attributes.js.map +1 -1
  769. package/build/hooks/use-typography-props.js +4 -3
  770. package/build/hooks/use-typography-props.js.map +1 -1
  771. package/build/hooks/use-zoom-out.js +2 -2
  772. package/build/hooks/use-zoom-out.js.map +1 -1
  773. package/build/hooks/utils.js +18 -17
  774. package/build/hooks/utils.js.map +1 -1
  775. package/build/layouts/constrained.js +66 -58
  776. package/build/layouts/constrained.js.map +1 -1
  777. package/build/layouts/flex.js +75 -61
  778. package/build/layouts/flex.js.map +1 -1
  779. package/build/layouts/grid.js +146 -125
  780. package/build/layouts/grid.js.map +1 -1
  781. package/build/private-apis.js +7 -1
  782. package/build/private-apis.js.map +1 -1
  783. package/build/store/actions.js +39 -7
  784. package/build/store/actions.js.map +1 -1
  785. package/build/store/get-block-settings.js +2 -49
  786. package/build/store/get-block-settings.js.map +1 -1
  787. package/build/store/reducer.js +21 -14
  788. package/build/store/reducer.js.map +1 -1
  789. package/build/store/selectors.js +33 -6
  790. package/build/store/selectors.js.map +1 -1
  791. package/build/store/utils.js +2 -0
  792. package/build/store/utils.js.map +1 -1
  793. package/build/utils/transform-styles/index.js +1 -1
  794. package/build/utils/transform-styles/index.js.map +1 -1
  795. package/build-module/autocompleters/block.js +9 -6
  796. package/build-module/autocompleters/block.js.map +1 -1
  797. package/build-module/autocompleters/link.js +12 -8
  798. package/build-module/autocompleters/link.js.map +1 -1
  799. package/build-module/components/alignment-control/index.js +3 -3
  800. package/build-module/components/alignment-control/index.js.map +1 -1
  801. package/build-module/components/alignment-control/ui.js +2 -2
  802. package/build-module/components/alignment-control/ui.js.map +1 -1
  803. package/build-module/components/audio-player/audio-url-parser.native.js +16 -0
  804. package/build-module/components/audio-player/audio-url-parser.native.js.map +1 -0
  805. package/build-module/components/audio-player/index.native.js +167 -0
  806. package/build-module/components/audio-player/index.native.js.map +1 -0
  807. package/build-module/components/autocomplete/index.js +2 -2
  808. package/build-module/components/autocomplete/index.js.map +1 -1
  809. package/build-module/components/block-alignment-control/index.js +3 -3
  810. package/build-module/components/block-alignment-control/index.js.map +1 -1
  811. package/build-module/components/block-alignment-control/ui.js +34 -30
  812. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  813. package/build-module/components/block-alignment-control/ui.native.js +2 -2
  814. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  815. package/build-module/components/block-alignment-matrix-control/index.js +5 -5
  816. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  817. package/build-module/components/block-bindings-toolbar-indicator/index.js +94 -13
  818. package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  819. package/build-module/components/block-breadcrumb/index.js +38 -32
  820. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  821. package/build-module/components/block-canvas/index.js +37 -31
  822. package/build-module/components/block-canvas/index.js.map +1 -1
  823. package/build-module/components/block-caption/index.native.js +15 -14
  824. package/build-module/components/block-caption/index.native.js.map +1 -1
  825. package/build-module/components/block-card/index.js +34 -28
  826. package/build-module/components/block-card/index.js.map +1 -1
  827. package/build-module/components/block-compare/block-view.js +28 -18
  828. package/build-module/components/block-compare/block-view.js.map +1 -1
  829. package/build-module/components/block-compare/index.js +24 -22
  830. package/build-module/components/block-compare/index.js.map +1 -1
  831. package/build-module/components/block-context/index.js +2 -2
  832. package/build-module/components/block-context/index.js.map +1 -1
  833. package/build-module/components/block-controls/fill.js +24 -16
  834. package/build-module/components/block-controls/fill.js.map +1 -1
  835. package/build-module/components/block-controls/index.js +3 -3
  836. package/build-module/components/block-controls/index.js.map +1 -1
  837. package/build-module/components/block-controls/slot.js +6 -4
  838. package/build-module/components/block-controls/slot.js.map +1 -1
  839. package/build-module/components/block-controls/slot.native.js +12 -9
  840. package/build-module/components/block-controls/slot.native.js.map +1 -1
  841. package/build-module/components/block-controls/use-has-block-controls.js +1 -1
  842. package/build-module/components/block-controls/use-has-block-controls.js.map +1 -1
  843. package/build-module/components/block-draggable/draggable-chip.js +28 -19
  844. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  845. package/build-module/components/block-draggable/draggable-chip.native.js +10 -8
  846. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  847. package/build-module/components/block-draggable/dropping-insertion-point.native.js +2 -2
  848. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  849. package/build-module/components/block-draggable/index.js +14 -13
  850. package/build-module/components/block-draggable/index.js.map +1 -1
  851. package/build-module/components/block-draggable/index.native.js +39 -30
  852. package/build-module/components/block-draggable/index.native.js.map +1 -1
  853. package/build-module/components/block-edit/edit.js +4 -4
  854. package/build-module/components/block-edit/edit.js.map +1 -1
  855. package/build-module/components/block-edit/edit.native.js +2 -2
  856. package/build-module/components/block-edit/edit.native.js.map +1 -1
  857. package/build-module/components/block-edit/index.js +19 -7
  858. package/build-module/components/block-edit/index.js.map +1 -1
  859. package/build-module/components/block-edit/multiple-usage-warning.js +40 -0
  860. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -0
  861. package/build-module/components/block-edit-visually-button/index.js +9 -6
  862. package/build-module/components/block-edit-visually-button/index.js.map +1 -1
  863. package/build-module/components/block-full-height-alignment-control/index.js +2 -2
  864. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  865. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +2 -3
  866. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  867. package/build-module/components/block-heading-level-dropdown/index.js +4 -4
  868. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  869. package/build-module/components/block-heading-level-dropdown/index.native.js +4 -4
  870. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  871. package/build-module/components/block-icon/index.js +6 -5
  872. package/build-module/components/block-icon/index.js.map +1 -1
  873. package/build-module/components/block-icon/index.native.js +6 -5
  874. package/build-module/components/block-icon/index.native.js.map +1 -1
  875. package/build-module/components/block-info-slot-fill/index.js +3 -3
  876. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  877. package/build-module/components/block-inspector/index.js +104 -88
  878. package/build-module/components/block-inspector/index.js.map +1 -1
  879. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  880. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  881. package/build-module/components/block-list/block-crash-warning.js +5 -4
  882. package/build-module/components/block-list/block-crash-warning.js.map +1 -1
  883. package/build-module/components/block-list/block-crash-warning.native.js +2 -2
  884. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
  885. package/build-module/components/block-list/block-html.js +2 -2
  886. package/build-module/components/block-list/block-html.js.map +1 -1
  887. package/build-module/components/block-list/block-invalid-warning.js +27 -21
  888. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  889. package/build-module/components/block-list/block-invalid-warning.native.js +12 -11
  890. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  891. package/build-module/components/block-list/block-list-item-cell.native.js +5 -4
  892. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  893. package/build-module/components/block-list/block-list-item.native.js +29 -26
  894. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  895. package/build-module/components/block-list/block-outline.native.js +2 -2
  896. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  897. package/build-module/components/block-list/block-selection-button.native.js +36 -33
  898. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  899. package/build-module/components/block-list/block.js +109 -61
  900. package/build-module/components/block-list/block.js.map +1 -1
  901. package/build-module/components/block-list/block.native.js +61 -51
  902. package/build-module/components/block-list/block.native.js.map +1 -1
  903. package/build-module/components/block-list/grid-item.native.js +5 -4
  904. package/build-module/components/block-list/grid-item.native.js.map +1 -1
  905. package/build-module/components/block-list/index.js +39 -34
  906. package/build-module/components/block-list/index.js.map +1 -1
  907. package/build-module/components/block-list/index.native.js +99 -85
  908. package/build-module/components/block-list/index.native.js.map +1 -1
  909. package/build-module/components/block-list/insertion-point.native.js +13 -10
  910. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  911. package/build-module/components/block-list/layout.js +7 -3
  912. package/build-module/components/block-list/layout.js.map +1 -1
  913. package/build-module/components/block-list/subdirectory-icon.js +8 -7
  914. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  915. package/build-module/components/block-list/use-block-props/index.js +1 -1
  916. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  917. package/build-module/components/block-list-appender/index.js +9 -8
  918. package/build-module/components/block-list-appender/index.js.map +1 -1
  919. package/build-module/components/block-list-appender/index.native.js +4 -4
  920. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  921. package/build-module/components/block-lock/menu-item.js +15 -10
  922. package/build-module/components/block-lock/menu-item.js.map +1 -1
  923. package/build-module/components/block-lock/modal.js +108 -90
  924. package/build-module/components/block-lock/modal.js.map +1 -1
  925. package/build-module/components/block-lock/toolbar.js +20 -15
  926. package/build-module/components/block-lock/toolbar.js.map +1 -1
  927. package/build-module/components/block-media-update-progress/index.native.js +18 -15
  928. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  929. package/build-module/components/block-mover/button.js +21 -16
  930. package/build-module/components/block-mover/button.js.map +1 -1
  931. package/build-module/components/block-mover/index.js +35 -27
  932. package/build-module/components/block-mover/index.js.map +1 -1
  933. package/build-module/components/block-mover/index.native.js +30 -27
  934. package/build-module/components/block-mover/index.native.js.map +1 -1
  935. package/build-module/components/block-navigation/dropdown.js +12 -9
  936. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  937. package/build-module/components/block-parent-selector/index.js +13 -13
  938. package/build-module/components/block-parent-selector/index.js.map +1 -1
  939. package/build-module/components/block-pattern-setup/index.js +90 -76
  940. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  941. package/build-module/components/block-pattern-setup/setup-toolbar.js +51 -45
  942. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  943. package/build-module/components/block-patterns-list/index.js +98 -86
  944. package/build-module/components/block-patterns-list/index.js.map +1 -1
  945. package/build-module/components/block-patterns-paging/index.js +71 -52
  946. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  947. package/build-module/components/block-popover/cover.js +13 -10
  948. package/build-module/components/block-popover/cover.js.map +1 -1
  949. package/build-module/components/block-popover/drop-zone.js +11 -10
  950. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  951. package/build-module/components/block-popover/inbetween.js +8 -7
  952. package/build-module/components/block-popover/inbetween.js.map +1 -1
  953. package/build-module/components/block-popover/index.js +9 -7
  954. package/build-module/components/block-popover/index.js.map +1 -1
  955. package/build-module/components/block-preview/auto.js +55 -47
  956. package/build-module/components/block-preview/auto.js.map +1 -1
  957. package/build-module/components/block-preview/index.js +17 -14
  958. package/build-module/components/block-preview/index.js.map +1 -1
  959. package/build-module/components/block-quick-navigation/index.js +25 -16
  960. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  961. package/build-module/components/block-removal-warning-modal/index.js +19 -12
  962. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  963. package/build-module/components/block-rename/modal.js +45 -37
  964. package/build-module/components/block-rename/modal.js.map +1 -1
  965. package/build-module/components/block-rename/rename-control.js +26 -21
  966. package/build-module/components/block-rename/rename-control.js.map +1 -1
  967. package/build-module/components/block-selection-clearer/index.js +2 -2
  968. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  969. package/build-module/components/block-settings/button.native.js +13 -9
  970. package/build-module/components/block-settings/button.native.js.map +1 -1
  971. package/build-module/components/block-settings/container.native.js +42 -28
  972. package/build-module/components/block-settings/container.native.js.map +1 -1
  973. package/build-module/components/block-settings-menu/block-html-convert-button.js +5 -4
  974. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  975. package/build-module/components/block-settings-menu/block-mode-toggle.js +5 -4
  976. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  977. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +7 -6
  978. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  979. package/build-module/components/block-settings-menu/block-settings-dropdown.js +95 -75
  980. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  981. package/build-module/components/block-settings-menu/index.js +10 -6
  982. package/build-module/components/block-settings-menu/index.js.map +1 -1
  983. package/build-module/components/block-settings-menu-controls/index.js +30 -24
  984. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  985. package/build-module/components/block-styles/index.js +44 -38
  986. package/build-module/components/block-styles/index.js.map +1 -1
  987. package/build-module/components/block-styles/index.native.js +7 -7
  988. package/build-module/components/block-styles/index.native.js.map +1 -1
  989. package/build-module/components/block-styles/menu-items.js +18 -14
  990. package/build-module/components/block-styles/menu-items.js.map +1 -1
  991. package/build-module/components/block-styles/preview-panel.js +2 -2
  992. package/build-module/components/block-styles/preview-panel.js.map +1 -1
  993. package/build-module/components/block-styles/preview.native.js +25 -21
  994. package/build-module/components/block-styles/preview.native.js.map +1 -1
  995. package/build-module/components/block-switcher/block-styles-menu.js +8 -7
  996. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  997. package/build-module/components/block-switcher/block-transformations-menu.js +33 -28
  998. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  999. package/build-module/components/block-switcher/block-transformations-menu.native.js +2 -2
  1000. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  1001. package/build-module/components/block-switcher/block-variation-transformations.js +21 -17
  1002. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  1003. package/build-module/components/block-switcher/index.js +87 -70
  1004. package/build-module/components/block-switcher/index.js.map +1 -1
  1005. package/build-module/components/block-switcher/pattern-transformations-menu.js +62 -51
  1006. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  1007. package/build-module/components/block-switcher/preview-block-popover.js +23 -17
  1008. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  1009. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +39 -34
  1010. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  1011. package/build-module/components/block-toolbar/index.js +55 -43
  1012. package/build-module/components/block-toolbar/index.js.map +1 -1
  1013. package/build-module/components/block-toolbar/index.native.js +29 -21
  1014. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  1015. package/build-module/components/block-toolbar/shuffle.js +7 -5
  1016. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  1017. package/build-module/components/block-tools/block-selection-button.js +61 -46
  1018. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  1019. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +8 -7
  1020. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  1021. package/build-module/components/block-tools/block-toolbar-popover.js +15 -14
  1022. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  1023. package/build-module/components/block-tools/empty-block-inserter.js +13 -11
  1024. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  1025. package/build-module/components/block-tools/index.js +30 -26
  1026. package/build-module/components/block-tools/index.js.map +1 -1
  1027. package/build-module/components/block-tools/insertion-point.js +43 -40
  1028. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  1029. package/build-module/components/block-tools/zoom-out-mode-inserters.js +34 -32
  1030. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  1031. package/build-module/components/block-types-list/index.js +16 -15
  1032. package/build-module/components/block-types-list/index.js.map +1 -1
  1033. package/build-module/components/block-types-list/index.native.js +31 -26
  1034. package/build-module/components/block-types-list/index.native.js.map +1 -1
  1035. package/build-module/components/block-variation-picker/index.js +31 -25
  1036. package/build-module/components/block-variation-picker/index.js.map +1 -1
  1037. package/build-module/components/block-variation-picker/index.native.js +33 -25
  1038. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  1039. package/build-module/components/block-variation-transforms/index.js +54 -47
  1040. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  1041. package/build-module/components/block-vertical-alignment-control/icons.js +31 -26
  1042. package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
  1043. package/build-module/components/block-vertical-alignment-control/index.js +3 -3
  1044. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  1045. package/build-module/components/block-vertical-alignment-control/ui.js +2 -2
  1046. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  1047. package/build-module/components/border-radius-control/all-input-control.js +3 -3
  1048. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  1049. package/build-module/components/border-radius-control/index.js +45 -38
  1050. package/build-module/components/border-radius-control/index.js.map +1 -1
  1051. package/build-module/components/border-radius-control/input-controls.js +23 -21
  1052. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  1053. package/build-module/components/border-radius-control/linked-button.js +12 -11
  1054. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  1055. package/build-module/components/button-block-appender/index.js +16 -12
  1056. package/build-module/components/button-block-appender/index.js.map +1 -1
  1057. package/build-module/components/button-block-appender/index.native.js +29 -24
  1058. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  1059. package/build-module/components/caption/index.native.js +22 -21
  1060. package/build-module/components/caption/index.native.js.map +1 -1
  1061. package/build-module/components/child-layout-control/index.js +139 -129
  1062. package/build-module/components/child-layout-control/index.js.map +1 -1
  1063. package/build-module/components/color-palette/control.js +2 -2
  1064. package/build-module/components/color-palette/control.js.map +1 -1
  1065. package/build-module/components/color-palette/with-color-context.js +2 -2
  1066. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  1067. package/build-module/components/color-style-selector/index.js +29 -20
  1068. package/build-module/components/color-style-selector/index.js.map +1 -1
  1069. package/build-module/components/colors/utils.js +3 -3
  1070. package/build-module/components/colors/utils.js.map +1 -1
  1071. package/build-module/components/colors/with-colors.js +7 -7
  1072. package/build-module/components/colors/with-colors.js.map +1 -1
  1073. package/build-module/components/colors-gradients/control.js +54 -39
  1074. package/build-module/components/colors-gradients/control.js.map +1 -1
  1075. package/build-module/components/colors-gradients/dropdown.js +72 -61
  1076. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  1077. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +23 -18
  1078. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  1079. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +13 -7
  1080. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  1081. package/build-module/components/contrast-checker/index.js +10 -8
  1082. package/build-module/components/contrast-checker/index.js.map +1 -1
  1083. package/build-module/components/contrast-checker/index.native.js +13 -10
  1084. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  1085. package/build-module/components/convert-to-group-buttons/index.js +19 -13
  1086. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  1087. package/build-module/components/convert-to-group-buttons/toolbar.js +21 -18
  1088. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  1089. package/build-module/components/copy-handler/index.js +2 -2
  1090. package/build-module/components/copy-handler/index.js.map +1 -1
  1091. package/build-module/components/date-format-picker/index.js +45 -40
  1092. package/build-module/components/date-format-picker/index.js.map +1 -1
  1093. package/build-module/components/default-block-appender/index.js +33 -30
  1094. package/build-module/components/default-block-appender/index.js.map +1 -1
  1095. package/build-module/components/default-block-appender/index.native.js +14 -12
  1096. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  1097. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +12 -12
  1098. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  1099. package/build-module/components/dimensions-tool/index.js +117 -113
  1100. package/build-module/components/dimensions-tool/index.js.map +1 -1
  1101. package/build-module/components/dimensions-tool/scale-tool.js +15 -14
  1102. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  1103. package/build-module/components/dimensions-tool/width-height-tool.js +39 -33
  1104. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  1105. package/build-module/components/duotone-control/index.js +22 -18
  1106. package/build-module/components/duotone-control/index.js.map +1 -1
  1107. package/build-module/components/editable-text/index.js +6 -5
  1108. package/build-module/components/editable-text/index.js.map +1 -1
  1109. package/build-module/components/editor-styles/index.js +25 -21
  1110. package/build-module/components/editor-styles/index.js.map +1 -1
  1111. package/build-module/components/floating-toolbar/index.native.js +19 -16
  1112. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  1113. package/build-module/components/floating-toolbar/nav-up-icon.js +15 -13
  1114. package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
  1115. package/build-module/components/font-appearance-control/index.js +2 -2
  1116. package/build-module/components/font-appearance-control/index.js.map +1 -1
  1117. package/build-module/components/font-family/index.js +2 -2
  1118. package/build-module/components/font-family/index.js.map +1 -1
  1119. package/build-module/components/font-sizes/font-size-picker.js +2 -2
  1120. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  1121. package/build-module/components/font-sizes/utils.js +3 -3
  1122. package/build-module/components/font-sizes/utils.js.map +1 -1
  1123. package/build-module/components/font-sizes/with-font-sizes.js +3 -3
  1124. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  1125. package/build-module/components/global-styles/advanced-panel.js +18 -15
  1126. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  1127. package/build-module/components/global-styles/background-panel.js +188 -121
  1128. package/build-module/components/global-styles/background-panel.js.map +1 -1
  1129. package/build-module/components/global-styles/border-panel.js +63 -56
  1130. package/build-module/components/global-styles/border-panel.js.map +1 -1
  1131. package/build-module/components/global-styles/color-panel.js +112 -87
  1132. package/build-module/components/global-styles/color-panel.js.map +1 -1
  1133. package/build-module/components/global-styles/color-panel.native.js +13 -10
  1134. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  1135. package/build-module/components/global-styles/dimensions-panel.js +184 -171
  1136. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  1137. package/build-module/components/global-styles/filters-panel.js +79 -65
  1138. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  1139. package/build-module/components/global-styles/hooks.js +13 -2
  1140. package/build-module/components/global-styles/hooks.js.map +1 -1
  1141. package/build-module/components/global-styles/image-settings-panel.js +27 -22
  1142. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  1143. package/build-module/components/global-styles/index.js +2 -2
  1144. package/build-module/components/global-styles/index.js.map +1 -1
  1145. package/build-module/components/global-styles/shadow-panel-components.js +74 -63
  1146. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  1147. package/build-module/components/global-styles/theme-file-uri-utils.js +73 -0
  1148. package/build-module/components/global-styles/theme-file-uri-utils.js.map +1 -0
  1149. package/build-module/components/global-styles/typography-panel.js +177 -135
  1150. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  1151. package/build-module/components/global-styles/use-global-styles-context.native.js +431 -0
  1152. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -0
  1153. package/build-module/components/global-styles/use-global-styles-output.js +114 -78
  1154. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  1155. package/build-module/components/gradients/with-gradient.js +2 -2
  1156. package/build-module/components/gradients/with-gradient.js.map +1 -1
  1157. package/build-module/components/grid-visualizer/grid-item-resizer.js +59 -58
  1158. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  1159. package/build-module/components/grid-visualizer/grid-visualizer.js +20 -15
  1160. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
  1161. package/build-module/components/height-control/index.js +40 -32
  1162. package/build-module/components/height-control/index.js.map +1 -1
  1163. package/build-module/components/iframe/index.js +72 -62
  1164. package/build-module/components/iframe/index.js.map +1 -1
  1165. package/build-module/components/image-editor/aspect-ratio-dropdown.js +75 -69
  1166. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  1167. package/build-module/components/image-editor/context.js +5 -4
  1168. package/build-module/components/image-editor/context.js.map +1 -1
  1169. package/build-module/components/image-editor/cropper.js +26 -21
  1170. package/build-module/components/image-editor/cropper.js.map +1 -1
  1171. package/build-module/components/image-editor/form-controls.js +13 -7
  1172. package/build-module/components/image-editor/form-controls.js.map +1 -1
  1173. package/build-module/components/image-editor/index.js +23 -13
  1174. package/build-module/components/image-editor/index.js.map +1 -1
  1175. package/build-module/components/image-editor/rotation-button.js +2 -2
  1176. package/build-module/components/image-editor/rotation-button.js.map +1 -1
  1177. package/build-module/components/image-editor/zoom-dropdown.js +4 -4
  1178. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  1179. package/build-module/components/image-link-destinations/index.native.js +39 -27
  1180. package/build-module/components/image-link-destinations/index.native.js.map +1 -1
  1181. package/build-module/components/image-size-control/index.js +55 -45
  1182. package/build-module/components/image-size-control/index.js.map +1 -1
  1183. package/build-module/components/index.native.js +2 -0
  1184. package/build-module/components/index.native.js.map +1 -1
  1185. package/build-module/components/inner-blocks/button-block-appender.js +2 -2
  1186. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  1187. package/build-module/components/inner-blocks/default-block-appender.js +2 -2
  1188. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  1189. package/build-module/components/inner-blocks/index.js +19 -16
  1190. package/build-module/components/inner-blocks/index.js.map +1 -1
  1191. package/build-module/components/inner-blocks/index.native.js +31 -29
  1192. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  1193. package/build-module/components/inner-blocks/use-nested-settings-update.js +11 -14
  1194. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  1195. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +21 -17
  1196. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  1197. package/build-module/components/inner-blocks/with-client-id.js +2 -2
  1198. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  1199. package/build-module/components/inserter/block-patterns-explorer/index.js +23 -20
  1200. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  1201. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +40 -36
  1202. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  1203. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +27 -19
  1204. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  1205. package/build-module/components/inserter/block-patterns-tab/index.js +40 -31
  1206. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  1207. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +21 -5
  1208. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  1209. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +44 -31
  1210. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  1211. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +56 -42
  1212. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  1213. package/build-module/components/inserter/block-types-tab.js +110 -67
  1214. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  1215. package/build-module/components/inserter/block-types-tab.native.js +2 -2
  1216. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  1217. package/build-module/components/inserter/category-tabs/index.js +27 -20
  1218. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  1219. package/build-module/components/inserter/hooks/use-block-types-state.js +9 -4
  1220. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  1221. package/build-module/components/inserter/hooks/use-insertion-point.js +33 -6
  1222. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  1223. package/build-module/components/inserter/index.js +6 -6
  1224. package/build-module/components/inserter/index.js.map +1 -1
  1225. package/build-module/components/inserter/index.native.js +23 -19
  1226. package/build-module/components/inserter/index.native.js.map +1 -1
  1227. package/build-module/components/inserter/library.js +14 -6
  1228. package/build-module/components/inserter/library.js.map +1 -1
  1229. package/build-module/components/inserter/media-tab/media-list.js +9 -9
  1230. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  1231. package/build-module/components/inserter/media-tab/media-panel.js +20 -17
  1232. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  1233. package/build-module/components/inserter/media-tab/media-preview.js +94 -66
  1234. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  1235. package/build-module/components/inserter/media-tab/media-tab.js +46 -36
  1236. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  1237. package/build-module/components/inserter/media-tab/utils.js +2 -2
  1238. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  1239. package/build-module/components/inserter/menu.js +102 -83
  1240. package/build-module/components/inserter/menu.js.map +1 -1
  1241. package/build-module/components/inserter/menu.native.js +36 -28
  1242. package/build-module/components/inserter/menu.native.js.map +1 -1
  1243. package/build-module/components/inserter/mobile-tab-navigation.js +57 -40
  1244. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  1245. package/build-module/components/inserter/no-results.js +11 -7
  1246. package/build-module/components/inserter/no-results.js.map +1 -1
  1247. package/build-module/components/inserter/no-results.native.js +14 -8
  1248. package/build-module/components/inserter/no-results.native.js.map +1 -1
  1249. package/build-module/components/inserter/panel.js +17 -10
  1250. package/build-module/components/inserter/panel.js.map +1 -1
  1251. package/build-module/components/inserter/preview-panel.js +25 -20
  1252. package/build-module/components/inserter/preview-panel.js.map +1 -1
  1253. package/build-module/components/inserter/quick-inserter.js +36 -31
  1254. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  1255. package/build-module/components/inserter/reusable-block-rename-hint.js +21 -18
  1256. package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -1
  1257. package/build-module/components/inserter/reusable-blocks-tab.native.js +2 -2
  1258. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  1259. package/build-module/components/inserter/search-results.js +53 -41
  1260. package/build-module/components/inserter/search-results.js.map +1 -1
  1261. package/build-module/components/inserter/search-results.native.js +3 -3
  1262. package/build-module/components/inserter/search-results.native.js.map +1 -1
  1263. package/build-module/components/inserter/tabs.js +31 -26
  1264. package/build-module/components/inserter/tabs.js.map +1 -1
  1265. package/build-module/components/inserter/tabs.native.js +20 -18
  1266. package/build-module/components/inserter/tabs.native.js.map +1 -1
  1267. package/build-module/components/inserter/tips.js +7 -5
  1268. package/build-module/components/inserter/tips.js.map +1 -1
  1269. package/build-module/components/inserter-button/index.native.js +29 -23
  1270. package/build-module/components/inserter-button/index.native.js.map +1 -1
  1271. package/build-module/components/inserter-button/sparkles.js +8 -7
  1272. package/build-module/components/inserter-button/sparkles.js.map +1 -1
  1273. package/build-module/components/inserter-draggable-blocks/index.js +14 -13
  1274. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  1275. package/build-module/components/inserter-list-item/index.js +69 -62
  1276. package/build-module/components/inserter-list-item/index.js.map +1 -1
  1277. package/build-module/components/inserter-listbox/group.js +2 -2
  1278. package/build-module/components/inserter-listbox/group.js.map +1 -1
  1279. package/build-module/components/inserter-listbox/index.js +6 -4
  1280. package/build-module/components/inserter-listbox/index.js.map +1 -1
  1281. package/build-module/components/inserter-listbox/item.js +10 -8
  1282. package/build-module/components/inserter-listbox/item.js.map +1 -1
  1283. package/build-module/components/inserter-listbox/row.js +2 -2
  1284. package/build-module/components/inserter-listbox/row.js.map +1 -1
  1285. package/build-module/components/inspector-controls/block-support-slot-container.js +2 -2
  1286. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  1287. package/build-module/components/inspector-controls/block-support-tools-panel.js +5 -5
  1288. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  1289. package/build-module/components/inspector-controls/fill.js +22 -17
  1290. package/build-module/components/inspector-controls/fill.js.map +1 -1
  1291. package/build-module/components/inspector-controls/fill.native.js +14 -5
  1292. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  1293. package/build-module/components/inspector-controls/index.js +3 -3
  1294. package/build-module/components/inspector-controls/index.js.map +1 -1
  1295. package/build-module/components/inspector-controls/slot.js +11 -10
  1296. package/build-module/components/inspector-controls/slot.js.map +1 -1
  1297. package/build-module/components/inspector-controls/slot.native.js +3 -3
  1298. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  1299. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +7 -6
  1300. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  1301. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js +11 -9
  1302. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  1303. package/build-module/components/inspector-controls-tabs/index.js +45 -32
  1304. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  1305. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +8 -7
  1306. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  1307. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +21 -18
  1308. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  1309. package/build-module/components/inspector-controls-tabs/settings-tab.js +8 -2
  1310. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  1311. package/build-module/components/inspector-controls-tabs/styles-tab.js +33 -26
  1312. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  1313. package/build-module/components/inspector-popover-header/index.js +32 -26
  1314. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  1315. package/build-module/components/justify-content-control/index.js +3 -3
  1316. package/build-module/components/justify-content-control/index.js.map +1 -1
  1317. package/build-module/components/justify-content-control/ui.js +2 -2
  1318. package/build-module/components/justify-content-control/ui.js.map +1 -1
  1319. package/build-module/components/letter-spacing-control/index.js +2 -2
  1320. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  1321. package/build-module/components/line-height-control/index.js +17 -16
  1322. package/build-module/components/line-height-control/index.js.map +1 -1
  1323. package/build-module/components/line-height-control/index.native.js +2 -2
  1324. package/build-module/components/line-height-control/index.native.js.map +1 -1
  1325. package/build-module/components/link-control/index.js +102 -82
  1326. package/build-module/components/link-control/index.js.map +1 -1
  1327. package/build-module/components/link-control/link-preview.js +63 -49
  1328. package/build-module/components/link-control/link-preview.js.map +1 -1
  1329. package/build-module/components/link-control/search-create-button.js +6 -5
  1330. package/build-module/components/link-control/search-create-button.js.map +1 -1
  1331. package/build-module/components/link-control/search-input.js +33 -31
  1332. package/build-module/components/link-control/search-input.js.map +1 -1
  1333. package/build-module/components/link-control/search-item.js +12 -11
  1334. package/build-module/components/link-control/search-item.js.map +1 -1
  1335. package/build-module/components/link-control/search-results.js +51 -46
  1336. package/build-module/components/link-control/search-results.js.map +1 -1
  1337. package/build-module/components/link-control/settings-drawer.js +39 -30
  1338. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  1339. package/build-module/components/link-control/settings.js +11 -9
  1340. package/build-module/components/link-control/settings.js.map +1 -1
  1341. package/build-module/components/list-view/appender.js +25 -22
  1342. package/build-module/components/list-view/appender.js.map +1 -1
  1343. package/build-module/components/list-view/aria-referenced-text.js +5 -4
  1344. package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
  1345. package/build-module/components/list-view/block-contents.js +34 -29
  1346. package/build-module/components/list-view/block-contents.js.map +1 -1
  1347. package/build-module/components/list-view/block-select-button.js +51 -42
  1348. package/build-module/components/list-view/block-select-button.js.map +1 -1
  1349. package/build-module/components/list-view/block.js +98 -84
  1350. package/build-module/components/list-view/block.js.map +1 -1
  1351. package/build-module/components/list-view/branch.js +102 -93
  1352. package/build-module/components/list-view/branch.js.map +1 -1
  1353. package/build-module/components/list-view/drop-indicator.js +39 -31
  1354. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  1355. package/build-module/components/list-view/expander.js +8 -6
  1356. package/build-module/components/list-view/expander.js.map +1 -1
  1357. package/build-module/components/list-view/index.js +43 -38
  1358. package/build-module/components/list-view/index.js.map +1 -1
  1359. package/build-module/components/list-view/leaf.js +5 -4
  1360. package/build-module/components/list-view/leaf.js.map +1 -1
  1361. package/build-module/components/media-placeholder/index.js +101 -79
  1362. package/build-module/components/media-placeholder/index.js.map +1 -1
  1363. package/build-module/components/media-placeholder/index.native.js +65 -52
  1364. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  1365. package/build-module/components/media-replace-flow/index.js +74 -60
  1366. package/build-module/components/media-replace-flow/index.js.map +1 -1
  1367. package/build-module/components/media-replace-flow/index.native.js +2 -2
  1368. package/build-module/components/media-replace-flow/index.native.js.map +1 -1
  1369. package/build-module/components/media-upload/index.native.js +46 -40
  1370. package/build-module/components/media-upload/index.native.js.map +1 -1
  1371. package/build-module/components/media-upload-progress/index.native.js +41 -16
  1372. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  1373. package/build-module/components/multi-selection-inspector/index.js +20 -15
  1374. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  1375. package/build-module/components/navigable-toolbar/index.js +9 -7
  1376. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  1377. package/build-module/components/observe-typing/index.js +5 -4
  1378. package/build-module/components/observe-typing/index.js.map +1 -1
  1379. package/build-module/components/panel-color-settings/index.js +2 -2
  1380. package/build-module/components/panel-color-settings/index.js.map +1 -1
  1381. package/build-module/components/plain-text/index.js +3 -3
  1382. package/build-module/components/plain-text/index.js.map +1 -1
  1383. package/build-module/components/plain-text/index.native.js +3 -3
  1384. package/build-module/components/plain-text/index.native.js.map +1 -1
  1385. package/build-module/components/provider/block-refs-provider.js +5 -4
  1386. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1387. package/build-module/components/provider/index.js +12 -8
  1388. package/build-module/components/provider/index.js.map +1 -1
  1389. package/build-module/components/provider/index.native.js +4 -3
  1390. package/build-module/components/provider/index.native.js.map +1 -1
  1391. package/build-module/components/provider/with-registry-provider.js +32 -28
  1392. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1393. package/build-module/components/publish-date-time-picker/index.js +37 -17
  1394. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  1395. package/build-module/components/recursion-provider/index.js +6 -5
  1396. package/build-module/components/recursion-provider/index.js.map +1 -1
  1397. package/build-module/components/resizable-box-popover/index.js +7 -6
  1398. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  1399. package/build-module/components/resolution-tool/index.js +12 -11
  1400. package/build-module/components/resolution-tool/index.js.map +1 -1
  1401. package/build-module/components/responsive-block-control/index.js +31 -26
  1402. package/build-module/components/responsive-block-control/index.js.map +1 -1
  1403. package/build-module/components/responsive-block-control/label.js +13 -7
  1404. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1405. package/build-module/components/rich-text/content.js +8 -5
  1406. package/build-module/components/rich-text/content.js.map +1 -1
  1407. package/build-module/components/rich-text/embed-handler-picker.native.js +2 -2
  1408. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1409. package/build-module/components/rich-text/format-edit.js +5 -5
  1410. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1411. package/build-module/components/rich-text/format-toolbar/index.js +39 -33
  1412. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1413. package/build-module/components/rich-text/format-toolbar/index.native.js +10 -7
  1414. package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
  1415. package/build-module/components/rich-text/format-toolbar-container.js +17 -12
  1416. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1417. package/build-module/components/rich-text/format-toolbar-container.native.js +5 -4
  1418. package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
  1419. package/build-module/components/rich-text/get-rich-text-values.js +3 -2
  1420. package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
  1421. package/build-module/components/rich-text/index.js +90 -77
  1422. package/build-module/components/rich-text/index.js.map +1 -1
  1423. package/build-module/components/rich-text/index.native.js +53 -47
  1424. package/build-module/components/rich-text/index.native.js.map +1 -1
  1425. package/build-module/components/rich-text/multiline.js +62 -62
  1426. package/build-module/components/rich-text/multiline.js.map +1 -1
  1427. package/build-module/components/rich-text/native/format-edit.js +3 -4
  1428. package/build-module/components/rich-text/native/format-edit.js.map +1 -1
  1429. package/build-module/components/rich-text/native/index.native.js +89 -80
  1430. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  1431. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +20 -14
  1432. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  1433. package/build-module/components/rich-text/toolbar-button.js +8 -7
  1434. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1435. package/build-module/components/rich-text/utils.js +5 -4
  1436. package/build-module/components/rich-text/utils.js.map +1 -1
  1437. package/build-module/components/rich-text/with-deprecations.js +2 -2
  1438. package/build-module/components/rich-text/with-deprecations.js.map +1 -1
  1439. package/build-module/components/segmented-text-control/index.js +20 -17
  1440. package/build-module/components/segmented-text-control/index.js.map +1 -1
  1441. package/build-module/components/skip-to-selected-block/index.js +5 -4
  1442. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1443. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +29 -14
  1444. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  1445. package/build-module/components/spacing-sizes-control/index.js +24 -19
  1446. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  1447. package/build-module/components/spacing-sizes-control/input-controls/axial.js +20 -18
  1448. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  1449. package/build-module/components/spacing-sizes-control/input-controls/separated.js +19 -17
  1450. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  1451. package/build-module/components/spacing-sizes-control/input-controls/single.js +2 -2
  1452. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  1453. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +106 -101
  1454. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  1455. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +44 -34
  1456. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  1457. package/build-module/components/spacing-sizes-control/utils.js +1 -0
  1458. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  1459. package/build-module/components/text-alignment-control/index.js +2 -2
  1460. package/build-module/components/text-alignment-control/index.js.map +1 -1
  1461. package/build-module/components/text-decoration-control/index.js +2 -2
  1462. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1463. package/build-module/components/text-transform-control/index.js +2 -2
  1464. package/build-module/components/text-transform-control/index.js.map +1 -1
  1465. package/build-module/components/tool-selector/index.js +37 -26
  1466. package/build-module/components/tool-selector/index.js.map +1 -1
  1467. package/build-module/components/typewriter/index.js +5 -4
  1468. package/build-module/components/typewriter/index.js.map +1 -1
  1469. package/build-module/components/ungroup-button/index.native.js +8 -6
  1470. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1471. package/build-module/components/unit-control/index.js +2 -2
  1472. package/build-module/components/unit-control/index.js.map +1 -1
  1473. package/build-module/components/unsupported-block-details/index.native.js +32 -28
  1474. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  1475. package/build-module/components/url-input/button.js +32 -28
  1476. package/build-module/components/url-input/button.js.map +1 -1
  1477. package/build-module/components/url-input/index.js +28 -20
  1478. package/build-module/components/url-input/index.js.map +1 -1
  1479. package/build-module/components/url-input/index.native.js +2 -2
  1480. package/build-module/components/url-input/index.native.js.map +1 -1
  1481. package/build-module/components/url-popover/image-url-input-ui.js +106 -91
  1482. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1483. package/build-module/components/url-popover/index.js +25 -19
  1484. package/build-module/components/url-popover/index.js.map +1 -1
  1485. package/build-module/components/url-popover/link-editor.js +16 -14
  1486. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1487. package/build-module/components/url-popover/link-viewer-url.js +6 -5
  1488. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1489. package/build-module/components/url-popover/link-viewer.js +15 -13
  1490. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1491. package/build-module/components/use-block-commands/index.js +2 -2
  1492. package/build-module/components/use-block-commands/index.js.map +1 -1
  1493. package/build-module/components/video-player/gridicon-play.native.js +8 -7
  1494. package/build-module/components/video-player/gridicon-play.native.js.map +1 -1
  1495. package/build-module/components/video-player/index.native.js +44 -40
  1496. package/build-module/components/video-player/index.native.js.map +1 -1
  1497. package/build-module/components/warning/index.js +35 -26
  1498. package/build-module/components/warning/index.js.map +1 -1
  1499. package/build-module/components/warning/index.native.js +18 -13
  1500. package/build-module/components/warning/index.native.js.map +1 -1
  1501. package/build-module/components/writing-flow/index.js +11 -6
  1502. package/build-module/components/writing-flow/index.js.map +1 -1
  1503. package/build-module/components/writing-flow/use-clipboard-handler.js +19 -16
  1504. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  1505. package/build-module/components/writing-flow/use-tab-nav.js +3 -3
  1506. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  1507. package/build-module/components/writing-mode-control/index.js +2 -2
  1508. package/build-module/components/writing-mode-control/index.js.map +1 -1
  1509. package/build-module/hooks/align.js +9 -8
  1510. package/build-module/hooks/align.js.map +1 -1
  1511. package/build-module/hooks/anchor.js +30 -22
  1512. package/build-module/hooks/anchor.js.map +1 -1
  1513. package/build-module/hooks/background.js +6 -5
  1514. package/build-module/hooks/background.js.map +1 -1
  1515. package/build-module/hooks/block-bindings.js +81 -0
  1516. package/build-module/hooks/block-bindings.js.map +1 -0
  1517. package/build-module/hooks/block-hooks.js +42 -33
  1518. package/build-module/hooks/block-hooks.js.map +1 -1
  1519. package/build-module/hooks/block-style-variation.js +136 -0
  1520. package/build-module/hooks/block-style-variation.js.map +1 -0
  1521. package/build-module/hooks/border.js +6 -5
  1522. package/build-module/hooks/border.js.map +1 -1
  1523. package/build-module/hooks/color.js +11 -9
  1524. package/build-module/hooks/color.js.map +1 -1
  1525. package/build-module/hooks/content-lock-ui.js +25 -15
  1526. package/build-module/hooks/content-lock-ui.js.map +1 -1
  1527. package/build-module/hooks/contrast-checker.js +2 -2
  1528. package/build-module/hooks/contrast-checker.js.map +1 -1
  1529. package/build-module/hooks/custom-class-name.js +17 -16
  1530. package/build-module/hooks/custom-class-name.js.map +1 -1
  1531. package/build-module/hooks/dimensions.js +26 -21
  1532. package/build-module/hooks/dimensions.js.map +1 -1
  1533. package/build-module/hooks/duotone.js +51 -45
  1534. package/build-module/hooks/duotone.js.map +1 -1
  1535. package/build-module/hooks/font-family.js +3 -3
  1536. package/build-module/hooks/font-family.js.map +1 -1
  1537. package/build-module/hooks/font-size.js +2 -2
  1538. package/build-module/hooks/font-size.js.map +1 -1
  1539. package/build-module/hooks/index.js +4 -2
  1540. package/build-module/hooks/index.js.map +1 -1
  1541. package/build-module/hooks/layout-child.js +28 -24
  1542. package/build-module/hooks/layout-child.js.map +1 -1
  1543. package/build-module/hooks/layout.js +63 -55
  1544. package/build-module/hooks/layout.js.map +1 -1
  1545. package/build-module/hooks/line-height.js +2 -2
  1546. package/build-module/hooks/line-height.js.map +1 -1
  1547. package/build-module/hooks/position.js +28 -26
  1548. package/build-module/hooks/position.js.map +1 -1
  1549. package/build-module/hooks/spacing-visualizer.js +10 -9
  1550. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  1551. package/build-module/hooks/style.js +25 -13
  1552. package/build-module/hooks/style.js.map +1 -1
  1553. package/build-module/hooks/text-align.js +20 -19
  1554. package/build-module/hooks/text-align.js.map +1 -1
  1555. package/build-module/hooks/typography.js +6 -5
  1556. package/build-module/hooks/typography.js.map +1 -1
  1557. package/build-module/hooks/typography.native.js +12 -8
  1558. package/build-module/hooks/typography.native.js.map +1 -1
  1559. package/build-module/hooks/use-bindings-attributes.js +48 -14
  1560. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  1561. package/build-module/hooks/use-typography-props.js +3 -3
  1562. package/build-module/hooks/use-typography-props.js.map +1 -1
  1563. package/build-module/hooks/use-zoom-out.js +2 -2
  1564. package/build-module/hooks/use-zoom-out.js.map +1 -1
  1565. package/build-module/hooks/utils.js +18 -17
  1566. package/build-module/hooks/utils.js.map +1 -1
  1567. package/build-module/layouts/constrained.js +68 -58
  1568. package/build-module/layouts/constrained.js.map +1 -1
  1569. package/build-module/layouts/flex.js +77 -61
  1570. package/build-module/layouts/flex.js.map +1 -1
  1571. package/build-module/layouts/grid.js +148 -125
  1572. package/build-module/layouts/grid.js.map +1 -1
  1573. package/build-module/private-apis.js +7 -1
  1574. package/build-module/private-apis.js.map +1 -1
  1575. package/build-module/store/actions.js +39 -7
  1576. package/build-module/store/actions.js.map +1 -1
  1577. package/build-module/store/get-block-settings.js +2 -46
  1578. package/build-module/store/get-block-settings.js.map +1 -1
  1579. package/build-module/store/reducer.js +21 -14
  1580. package/build-module/store/reducer.js.map +1 -1
  1581. package/build-module/store/selectors.js +34 -7
  1582. package/build-module/store/selectors.js.map +1 -1
  1583. package/build-module/store/utils.js +1 -0
  1584. package/build-module/store/utils.js.map +1 -1
  1585. package/build-module/utils/transform-styles/index.js +1 -1
  1586. package/build-module/utils/transform-styles/index.js.map +1 -1
  1587. package/build-style/content-rtl.css +4 -0
  1588. package/build-style/content.css +4 -0
  1589. package/build-style/style-rtl.css +91 -72
  1590. package/build-style/style.css +91 -72
  1591. package/package.json +33 -32
  1592. package/src/components/alignment-control/test/index.js +1 -1
  1593. package/src/components/audio-player/audio-url-parser.native.js +20 -0
  1594. package/src/components/audio-player/index.native.js +221 -0
  1595. package/src/components/audio-player/styles.native.scss +114 -0
  1596. package/src/components/audio-player/test/audio-url-parser.native.js +53 -0
  1597. package/src/components/block-bindings-toolbar-indicator/index.js +125 -10
  1598. package/src/components/block-bindings-toolbar-indicator/style.scss +7 -8
  1599. package/src/components/block-canvas/style.scss +1 -5
  1600. package/src/components/block-card/index.js +9 -5
  1601. package/src/components/block-card/style.scss +0 -11
  1602. package/src/components/block-edit/index.js +13 -2
  1603. package/src/components/block-edit/multiple-usage-warning.js +46 -0
  1604. package/src/components/block-inspector/index.js +2 -4
  1605. package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -5
  1606. package/src/components/block-list/block-invalid-warning.native.js +1 -1
  1607. package/src/components/block-list/block.js +64 -18
  1608. package/src/components/block-list/block.native.js +17 -9
  1609. package/src/components/block-patterns-list/index.js +4 -1
  1610. package/src/components/block-patterns-list/style.scss +23 -20
  1611. package/src/components/block-preview/style.scss +0 -26
  1612. package/src/components/block-settings/container.native.js +2 -0
  1613. package/src/components/block-toolbar/index.js +1 -1
  1614. package/src/components/block-tools/index.js +6 -5
  1615. package/src/components/block-tools/style.scss +2 -2
  1616. package/src/components/block-tools/zoom-out-mode-inserters.js +4 -3
  1617. package/src/components/border-radius-control/all-input-control.js +1 -1
  1618. package/src/components/border-radius-control/input-controls.js +1 -1
  1619. package/src/components/child-layout-control/index.js +12 -12
  1620. package/src/components/colors/utils.js +2 -2
  1621. package/src/components/colors/with-colors.js +2 -1
  1622. package/src/components/colors-gradients/control.js +3 -11
  1623. package/src/components/contrast-checker/test/index.js +8 -8
  1624. package/src/components/dimensions-tool/aspect-ratio-tool.js +1 -1
  1625. package/src/components/dimensions-tool/scale-tool.js +1 -1
  1626. package/src/components/dimensions-tool/width-height-tool.js +2 -2
  1627. package/src/components/font-sizes/utils.js +2 -1
  1628. package/src/components/global-styles/background-panel.js +116 -46
  1629. package/src/components/global-styles/border-panel.js +8 -5
  1630. package/src/components/global-styles/color-panel.js +27 -22
  1631. package/src/components/global-styles/color-panel.native.js +1 -1
  1632. package/src/components/global-styles/dimensions-panel.js +7 -8
  1633. package/src/components/global-styles/hooks.js +13 -1
  1634. package/src/components/global-styles/index.js +3 -0
  1635. package/src/components/global-styles/shadow-panel-components.js +11 -5
  1636. package/src/components/global-styles/test/theme-file-uri-utils.js +66 -0
  1637. package/src/components/global-styles/test/use-global-styles-context.native.js +434 -0
  1638. package/src/components/global-styles/test/use-global-styles-output.js +11 -10
  1639. package/src/components/global-styles/theme-file-uri-utils.js +77 -0
  1640. package/src/components/global-styles/typography-panel.js +50 -5
  1641. package/src/components/global-styles/use-global-styles-context.native.js +586 -0
  1642. package/src/components/global-styles/use-global-styles-output.js +199 -101
  1643. package/src/components/grid-visualizer/grid-visualizer.js +8 -1
  1644. package/src/components/grid-visualizer/style.scss +2 -1
  1645. package/src/components/height-control/index.js +1 -1
  1646. package/src/components/iframe/content.scss +4 -0
  1647. package/src/components/index.native.js +7 -0
  1648. package/src/components/inner-blocks/use-nested-settings-update.js +9 -16
  1649. package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -1
  1650. package/src/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
  1651. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +16 -2
  1652. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +6 -1
  1653. package/src/components/inserter/block-patterns-tab/patterns-filter.js +3 -2
  1654. package/src/components/inserter/block-types-tab.js +120 -78
  1655. package/src/components/inserter/category-tabs/index.js +1 -1
  1656. package/src/components/inserter/hooks/use-block-types-state.js +21 -5
  1657. package/src/components/inserter/hooks/use-insertion-point.js +53 -7
  1658. package/src/components/inserter/library.js +17 -7
  1659. package/src/components/inserter/menu.js +24 -11
  1660. package/src/components/inserter/quick-inserter.js +3 -1
  1661. package/src/components/inserter/search-results.js +2 -1
  1662. package/src/components/inserter/style.scss +41 -18
  1663. package/src/components/inserter/tabs.js +2 -2
  1664. package/src/components/inspector-controls/fill.native.js +3 -5
  1665. package/src/components/inspector-controls-tabs/index.js +15 -3
  1666. package/src/components/inspector-controls-tabs/style.scss +2 -10
  1667. package/src/components/link-control/index.js +10 -1
  1668. package/src/components/link-control/style.scss +9 -3
  1669. package/src/components/list-view/block-contents.js +1 -1
  1670. package/src/components/media-placeholder/index.js +1 -1
  1671. package/src/components/media-placeholder/index.native.js +2 -2
  1672. package/src/components/media-upload-progress/index.native.js +22 -2
  1673. package/src/components/provider/with-registry-provider.js +33 -38
  1674. package/src/components/publish-date-time-picker/index.js +43 -15
  1675. package/src/components/resolution-tool/index.js +1 -1
  1676. package/src/components/rich-text/index.js +11 -5
  1677. package/src/components/rich-text/native/index.native.js +3 -2
  1678. package/src/components/rich-text/native/test/index.native.js +13 -13
  1679. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +48 -16
  1680. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -3
  1681. package/src/components/spacing-sizes-control/utils.js +2 -0
  1682. package/src/components/video-player/index.native.js +1 -1
  1683. package/src/components/writing-flow/use-clipboard-handler.js +19 -16
  1684. package/src/hooks/block-bindings.js +92 -0
  1685. package/src/hooks/block-bindings.scss +3 -0
  1686. package/src/hooks/block-style-variation.js +156 -0
  1687. package/src/hooks/font-family.js +1 -1
  1688. package/src/hooks/index.js +4 -0
  1689. package/src/hooks/layout.js +1 -2
  1690. package/src/hooks/position.js +1 -1
  1691. package/src/hooks/style.js +9 -1
  1692. package/src/hooks/text-align.js +17 -11
  1693. package/src/hooks/use-bindings-attributes.js +48 -5
  1694. package/src/hooks/use-typography-props.js +2 -1
  1695. package/src/hooks/use-zoom-out.js +9 -2
  1696. package/src/hooks/utils.js +21 -4
  1697. package/src/layouts/flex.js +2 -2
  1698. package/src/layouts/grid.js +5 -5
  1699. package/src/private-apis.js +6 -0
  1700. package/src/store/actions.js +45 -12
  1701. package/src/store/get-block-settings.js +1 -46
  1702. package/src/store/reducer.js +24 -11
  1703. package/src/store/selectors.js +66 -11
  1704. package/src/store/utils.js +2 -0
  1705. package/src/style.scss +1 -0
  1706. package/src/utils/test/__snapshots__/transform-styles.js.snap +1 -1
  1707. package/src/utils/test/transform-styles.js +2 -2
  1708. package/src/utils/transform-styles/index.js +3 -1
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.canBindAttribute = canBindAttribute;
7
7
  exports.canBindBlock = canBindBlock;
8
8
  exports.withBlockBindingSupport = void 0;
9
- var _react = require("react");
10
9
  var _blocks = require("@wordpress/blocks");
11
10
  var _compose = require("@wordpress/compose");
12
11
  var _data = require("@wordpress/data");
13
12
  var _element = require("@wordpress/element");
14
13
  var _hooks = require("@wordpress/hooks");
15
14
  var _lockUnlock = require("../lock-unlock");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
16
  /**
17
17
  * WordPress dependencies
18
18
  */
@@ -29,14 +29,42 @@ var _lockUnlock = require("../lock-unlock");
29
29
  * overrides its `attributes` and `setAttributes` props to sync any changes needed.
30
30
  *
31
31
  * @return {WPHigherOrderComponent} Higher-order component.
32
- */
33
-
34
- const BLOCK_BINDINGS_ALLOWED_BLOCKS = {
32
+ */const BLOCK_BINDINGS_ALLOWED_BLOCKS = {
35
33
  'core/paragraph': ['content'],
36
34
  'core/heading': ['content'],
37
35
  'core/image': ['id', 'url', 'title', 'alt'],
38
36
  'core/button': ['url', 'text', 'linkTarget', 'rel']
39
37
  };
38
+ const DEFAULT_ATTRIBUTE = '__default';
39
+
40
+ /**
41
+ * Returns the bindings with the `__default` binding for pattern overrides
42
+ * replaced with the full-set of supported attributes. e.g.:
43
+ *
44
+ * bindings passed in: `{ __default: { source: 'core/pattern-overrides' } }`
45
+ * bindings returned: `{ content: { source: 'core/pattern-overrides' } }`
46
+ *
47
+ * @param {string} blockName The block name (e.g. 'core/paragraph').
48
+ * @param {Object} bindings A block's bindings from the metadata attribute.
49
+ *
50
+ * @return {Object} The bindings with default replaced for pattern overrides.
51
+ */
52
+ function replacePatternOverrideDefaultBindings(blockName, bindings) {
53
+ // The `__default` binding currently only works for pattern overrides.
54
+ if (bindings?.[DEFAULT_ATTRIBUTE]?.source === 'core/pattern-overrides') {
55
+ const supportedAttributes = BLOCK_BINDINGS_ALLOWED_BLOCKS[blockName];
56
+ const bindingsWithDefaults = {};
57
+ for (const attributeName of supportedAttributes) {
58
+ // If the block has mixed binding sources, retain any non pattern override bindings.
59
+ const bindingSource = bindings[attributeName] ? bindings[attributeName] : {
60
+ source: 'core/pattern-overrides'
61
+ };
62
+ bindingsWithDefaults[attributeName] = bindingSource;
63
+ }
64
+ return bindingsWithDefaults;
65
+ }
66
+ return bindings;
67
+ }
40
68
 
41
69
  /**
42
70
  * Based on the given block name,
@@ -63,12 +91,12 @@ function canBindAttribute(blockName, attributeName) {
63
91
  const withBlockBindingSupport = exports.withBlockBindingSupport = (0, _compose.createHigherOrderComponent)(BlockEdit => props => {
64
92
  const registry = (0, _data.useRegistry)();
65
93
  const sources = (0, _data.useSelect)(select => (0, _lockUnlock.unlock)(select(_blocks.store)).getAllBlockBindingsSources());
66
- const bindings = props.attributes.metadata?.bindings;
67
94
  const {
68
95
  name,
69
96
  clientId,
70
97
  context
71
98
  } = props;
99
+ const bindings = (0, _element.useMemo)(() => replacePatternOverrideDefaultBindings(name, props.attributes.metadata?.bindings), [props.attributes.metadata?.bindings, name]);
72
100
  const boundAttributes = (0, _data.useSelect)(() => {
73
101
  if (!bindings) {
74
102
  return;
@@ -116,7 +144,8 @@ const withBlockBindingSupport = exports.withBlockBindingSupport = (0, _compose.c
116
144
  if (!bindings[attributeName] || !canBindAttribute(name, attributeName)) {
117
145
  continue;
118
146
  }
119
- const source = sources[bindings[attributeName].source];
147
+ const binding = bindings[attributeName];
148
+ const source = sources[binding?.source];
120
149
  if (!source?.setValue && !source?.setValues) {
121
150
  continue;
122
151
  }
@@ -137,12 +166,13 @@ const withBlockBindingSupport = exports.withBlockBindingSupport = (0, _compose.c
137
166
  });
138
167
  } else {
139
168
  for (const [attributeName, value] of Object.entries(attributes)) {
169
+ const binding = bindings[attributeName];
140
170
  source.setValue({
141
171
  registry,
142
172
  context,
143
173
  clientId,
144
174
  attributeName,
145
- args: bindings[attributeName].args,
175
+ args: binding.args,
146
176
  value
147
177
  });
148
178
  }
@@ -154,14 +184,16 @@ const withBlockBindingSupport = exports.withBlockBindingSupport = (0, _compose.c
154
184
  }
155
185
  });
156
186
  }, [registry, bindings, name, clientId, context, setAttributes, sources]);
157
- return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(BlockEdit, {
158
- ...props,
159
- attributes: {
160
- ...props.attributes,
161
- ...boundAttributes
162
- },
163
- setAttributes: _setAttributes
164
- }));
187
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
188
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockEdit, {
189
+ ...props,
190
+ attributes: {
191
+ ...props.attributes,
192
+ ...boundAttributes
193
+ },
194
+ setAttributes: _setAttributes
195
+ })
196
+ });
165
197
  }, 'withBlockBindingSupport');
166
198
 
167
199
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_compose","_data","_element","_hooks","_lockUnlock","BLOCK_BINDINGS_ALLOWED_BLOCKS","canBindBlock","blockName","canBindAttribute","attributeName","includes","withBlockBindingSupport","exports","createHigherOrderComponent","BlockEdit","props","registry","useRegistry","sources","useSelect","select","unlock","blocksStore","getAllBlockBindingsSources","bindings","attributes","metadata","name","clientId","context","boundAttributes","boundAttribute","Object","entries","source","getValue","args","undefined","getPlaceholder","setAttributes","_setAttributes","useCallback","nextAttributes","batch","keptAttributes","updatesBySource","Map","newValue","setValue","setValues","set","get","size","value","keys","length","_react","createElement","Fragment","shimAttributeSource","settings","edit","addFilter"],"sources":["@wordpress/block-editor/src/hooks/use-bindings-attributes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useRegistry, useSelect } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\n/** @typedef {import('@wordpress/compose').WPHigherOrderComponent} WPHigherOrderComponent */\n/** @typedef {import('@wordpress/blocks').WPBlockSettings} WPBlockSettings */\n\n/**\n * Given a binding of block attributes, returns a higher order component that\n * overrides its `attributes` and `setAttributes` props to sync any changes needed.\n *\n * @return {WPHigherOrderComponent} Higher-order component.\n */\n\nconst BLOCK_BINDINGS_ALLOWED_BLOCKS = {\n\t'core/paragraph': [ 'content' ],\n\t'core/heading': [ 'content' ],\n\t'core/image': [ 'id', 'url', 'title', 'alt' ],\n\t'core/button': [ 'url', 'text', 'linkTarget', 'rel' ],\n};\n\n/**\n * Based on the given block name,\n * check if it is possible to bind the block.\n *\n * @param {string} blockName - The block name.\n * @return {boolean} Whether it is possible to bind the block to sources.\n */\nexport function canBindBlock( blockName ) {\n\treturn blockName in BLOCK_BINDINGS_ALLOWED_BLOCKS;\n}\n\n/**\n * Based on the given block name and attribute name,\n * check if it is possible to bind the block attribute.\n *\n * @param {string} blockName - The block name.\n * @param {string} attributeName - The attribute name.\n * @return {boolean} Whether it is possible to bind the block attribute.\n */\nexport function canBindAttribute( blockName, attributeName ) {\n\treturn (\n\t\tcanBindBlock( blockName ) &&\n\t\tBLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ].includes( attributeName )\n\t);\n}\n\nexport const withBlockBindingSupport = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst registry = useRegistry();\n\t\tconst sources = useSelect( ( select ) =>\n\t\t\tunlock( select( blocksStore ) ).getAllBlockBindingsSources()\n\t\t);\n\t\tconst bindings = props.attributes.metadata?.bindings;\n\t\tconst { name, clientId, context } = props;\n\t\tconst boundAttributes = useSelect( () => {\n\t\t\tif ( ! bindings ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst attributes = {};\n\n\t\t\tfor ( const [ attributeName, boundAttribute ] of Object.entries(\n\t\t\t\tbindings\n\t\t\t) ) {\n\t\t\t\tconst source = sources[ boundAttribute.source ];\n\t\t\t\tif (\n\t\t\t\t\t! source?.getValue ||\n\t\t\t\t\t! canBindAttribute( name, attributeName )\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst args = {\n\t\t\t\t\tregistry,\n\t\t\t\t\tcontext,\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeName,\n\t\t\t\t\targs: boundAttribute.args,\n\t\t\t\t};\n\n\t\t\t\tattributes[ attributeName ] = source.getValue( args );\n\n\t\t\t\tif ( attributes[ attributeName ] === undefined ) {\n\t\t\t\t\tif ( attributeName === 'url' ) {\n\t\t\t\t\t\tattributes[ attributeName ] = null;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tattributes[ attributeName ] =\n\t\t\t\t\t\t\tsource.getPlaceholder?.( args );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn attributes;\n\t\t}, [ bindings, name, clientId, context, registry, sources ] );\n\n\t\tconst { setAttributes } = props;\n\n\t\tconst _setAttributes = useCallback(\n\t\t\t( nextAttributes ) => {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tif ( ! bindings ) {\n\t\t\t\t\t\tsetAttributes( nextAttributes );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst keptAttributes = { ...nextAttributes };\n\t\t\t\t\tconst updatesBySource = new Map();\n\n\t\t\t\t\t// Loop only over the updated attributes to avoid modifying the bound ones that haven't changed.\n\t\t\t\t\tfor ( const [ attributeName, newValue ] of Object.entries(\n\t\t\t\t\t\tkeptAttributes\n\t\t\t\t\t) ) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! bindings[ attributeName ] ||\n\t\t\t\t\t\t\t! canBindAttribute( name, attributeName )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst source =\n\t\t\t\t\t\t\tsources[ bindings[ attributeName ].source ];\n\t\t\t\t\t\tif ( ! source?.setValue && ! source?.setValues ) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdatesBySource.set( source, {\n\t\t\t\t\t\t\t...updatesBySource.get( source ),\n\t\t\t\t\t\t\t[ attributeName ]: newValue,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tdelete keptAttributes[ attributeName ];\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( updatesBySource.size ) {\n\t\t\t\t\t\tfor ( const [\n\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t] of updatesBySource ) {\n\t\t\t\t\t\t\tif ( source.setValues ) {\n\t\t\t\t\t\t\t\tsource.setValues( {\n\t\t\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor ( const [\n\t\t\t\t\t\t\t\t\tattributeName,\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t] of Object.entries( attributes ) ) {\n\t\t\t\t\t\t\t\t\tsource.setValue( {\n\t\t\t\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\t\tattributeName,\n\t\t\t\t\t\t\t\t\t\targs: bindings[ attributeName ].args,\n\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( Object.keys( keptAttributes ).length ) {\n\t\t\t\t\t\tsetAttributes( keptAttributes );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t},\n\t\t\t[\n\t\t\t\tregistry,\n\t\t\t\tbindings,\n\t\t\t\tname,\n\t\t\t\tclientId,\n\t\t\t\tcontext,\n\t\t\t\tsetAttributes,\n\t\t\t\tsources,\n\t\t\t]\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tattributes={ { ...props.attributes, ...boundAttributes } }\n\t\t\t\t\tsetAttributes={ _setAttributes }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n\t'withBlockBindingSupport'\n);\n\n/**\n * Filters a registered block's settings to enhance a block's `edit` component\n * to upgrade bound attributes.\n *\n * @param {WPBlockSettings} settings - Registered block settings.\n * @param {string} name - Block name.\n * @return {WPBlockSettings} Filtered block settings.\n */\nfunction shimAttributeSource( settings, name ) {\n\tif ( ! canBindBlock( name ) ) {\n\t\treturn settings;\n\t}\n\n\treturn {\n\t\t...settings,\n\t\tedit: withBlockBindingSupport( settings.edit ),\n\t};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/custom-sources-backwards-compatibility/shim-attribute-source',\n\tshimAttributeSource\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blocks","require","_compose","_data","_element","_hooks","_lockUnlock","_jsxRuntime","BLOCK_BINDINGS_ALLOWED_BLOCKS","DEFAULT_ATTRIBUTE","replacePatternOverrideDefaultBindings","blockName","bindings","source","supportedAttributes","bindingsWithDefaults","attributeName","bindingSource","canBindBlock","canBindAttribute","includes","withBlockBindingSupport","exports","createHigherOrderComponent","BlockEdit","props","registry","useRegistry","sources","useSelect","select","unlock","blocksStore","getAllBlockBindingsSources","name","clientId","context","useMemo","attributes","metadata","boundAttributes","boundAttribute","Object","entries","getValue","args","undefined","getPlaceholder","setAttributes","_setAttributes","useCallback","nextAttributes","batch","keptAttributes","updatesBySource","Map","newValue","binding","setValue","setValues","set","get","size","value","keys","length","jsx","Fragment","children","shimAttributeSource","settings","edit","addFilter"],"sources":["@wordpress/block-editor/src/hooks/use-bindings-attributes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useRegistry, useSelect } from '@wordpress/data';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\n/** @typedef {import('@wordpress/compose').WPHigherOrderComponent} WPHigherOrderComponent */\n/** @typedef {import('@wordpress/blocks').WPBlockSettings} WPBlockSettings */\n\n/**\n * Given a binding of block attributes, returns a higher order component that\n * overrides its `attributes` and `setAttributes` props to sync any changes needed.\n *\n * @return {WPHigherOrderComponent} Higher-order component.\n */\n\nconst BLOCK_BINDINGS_ALLOWED_BLOCKS = {\n\t'core/paragraph': [ 'content' ],\n\t'core/heading': [ 'content' ],\n\t'core/image': [ 'id', 'url', 'title', 'alt' ],\n\t'core/button': [ 'url', 'text', 'linkTarget', 'rel' ],\n};\n\nconst DEFAULT_ATTRIBUTE = '__default';\n\n/**\n * Returns the bindings with the `__default` binding for pattern overrides\n * replaced with the full-set of supported attributes. e.g.:\n *\n * bindings passed in: `{ __default: { source: 'core/pattern-overrides' } }`\n * bindings returned: `{ content: { source: 'core/pattern-overrides' } }`\n *\n * @param {string} blockName The block name (e.g. 'core/paragraph').\n * @param {Object} bindings A block's bindings from the metadata attribute.\n *\n * @return {Object} The bindings with default replaced for pattern overrides.\n */\nfunction replacePatternOverrideDefaultBindings( blockName, bindings ) {\n\t// The `__default` binding currently only works for pattern overrides.\n\tif (\n\t\tbindings?.[ DEFAULT_ATTRIBUTE ]?.source === 'core/pattern-overrides'\n\t) {\n\t\tconst supportedAttributes = BLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ];\n\t\tconst bindingsWithDefaults = {};\n\t\tfor ( const attributeName of supportedAttributes ) {\n\t\t\t// If the block has mixed binding sources, retain any non pattern override bindings.\n\t\t\tconst bindingSource = bindings[ attributeName ]\n\t\t\t\t? bindings[ attributeName ]\n\t\t\t\t: { source: 'core/pattern-overrides' };\n\t\t\tbindingsWithDefaults[ attributeName ] = bindingSource;\n\t\t}\n\n\t\treturn bindingsWithDefaults;\n\t}\n\n\treturn bindings;\n}\n\n/**\n * Based on the given block name,\n * check if it is possible to bind the block.\n *\n * @param {string} blockName - The block name.\n * @return {boolean} Whether it is possible to bind the block to sources.\n */\nexport function canBindBlock( blockName ) {\n\treturn blockName in BLOCK_BINDINGS_ALLOWED_BLOCKS;\n}\n\n/**\n * Based on the given block name and attribute name,\n * check if it is possible to bind the block attribute.\n *\n * @param {string} blockName - The block name.\n * @param {string} attributeName - The attribute name.\n * @return {boolean} Whether it is possible to bind the block attribute.\n */\nexport function canBindAttribute( blockName, attributeName ) {\n\treturn (\n\t\tcanBindBlock( blockName ) &&\n\t\tBLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ].includes( attributeName )\n\t);\n}\n\nexport const withBlockBindingSupport = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst registry = useRegistry();\n\t\tconst sources = useSelect( ( select ) =>\n\t\t\tunlock( select( blocksStore ) ).getAllBlockBindingsSources()\n\t\t);\n\t\tconst { name, clientId, context } = props;\n\t\tconst bindings = useMemo(\n\t\t\t() =>\n\t\t\t\treplacePatternOverrideDefaultBindings(\n\t\t\t\t\tname,\n\t\t\t\t\tprops.attributes.metadata?.bindings\n\t\t\t\t),\n\t\t\t[ props.attributes.metadata?.bindings, name ]\n\t\t);\n\t\tconst boundAttributes = useSelect( () => {\n\t\t\tif ( ! bindings ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst attributes = {};\n\n\t\t\tfor ( const [ attributeName, boundAttribute ] of Object.entries(\n\t\t\t\tbindings\n\t\t\t) ) {\n\t\t\t\tconst source = sources[ boundAttribute.source ];\n\t\t\t\tif (\n\t\t\t\t\t! source?.getValue ||\n\t\t\t\t\t! canBindAttribute( name, attributeName )\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst args = {\n\t\t\t\t\tregistry,\n\t\t\t\t\tcontext,\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeName,\n\t\t\t\t\targs: boundAttribute.args,\n\t\t\t\t};\n\n\t\t\t\tattributes[ attributeName ] = source.getValue( args );\n\n\t\t\t\tif ( attributes[ attributeName ] === undefined ) {\n\t\t\t\t\tif ( attributeName === 'url' ) {\n\t\t\t\t\t\tattributes[ attributeName ] = null;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tattributes[ attributeName ] =\n\t\t\t\t\t\t\tsource.getPlaceholder?.( args );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn attributes;\n\t\t}, [ bindings, name, clientId, context, registry, sources ] );\n\n\t\tconst { setAttributes } = props;\n\n\t\tconst _setAttributes = useCallback(\n\t\t\t( nextAttributes ) => {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tif ( ! bindings ) {\n\t\t\t\t\t\tsetAttributes( nextAttributes );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst keptAttributes = { ...nextAttributes };\n\t\t\t\t\tconst updatesBySource = new Map();\n\n\t\t\t\t\t// Loop only over the updated attributes to avoid modifying the bound ones that haven't changed.\n\t\t\t\t\tfor ( const [ attributeName, newValue ] of Object.entries(\n\t\t\t\t\t\tkeptAttributes\n\t\t\t\t\t) ) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! bindings[ attributeName ] ||\n\t\t\t\t\t\t\t! canBindAttribute( name, attributeName )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst binding = bindings[ attributeName ];\n\t\t\t\t\t\tconst source = sources[ binding?.source ];\n\t\t\t\t\t\tif ( ! source?.setValue && ! source?.setValues ) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdatesBySource.set( source, {\n\t\t\t\t\t\t\t...updatesBySource.get( source ),\n\t\t\t\t\t\t\t[ attributeName ]: newValue,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tdelete keptAttributes[ attributeName ];\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( updatesBySource.size ) {\n\t\t\t\t\t\tfor ( const [\n\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t] of updatesBySource ) {\n\t\t\t\t\t\t\tif ( source.setValues ) {\n\t\t\t\t\t\t\t\tsource.setValues( {\n\t\t\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor ( const [\n\t\t\t\t\t\t\t\t\tattributeName,\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t] of Object.entries( attributes ) ) {\n\t\t\t\t\t\t\t\t\tconst binding = bindings[ attributeName ];\n\t\t\t\t\t\t\t\t\tsource.setValue( {\n\t\t\t\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\t\tattributeName,\n\t\t\t\t\t\t\t\t\t\targs: binding.args,\n\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( Object.keys( keptAttributes ).length ) {\n\t\t\t\t\t\tsetAttributes( keptAttributes );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t},\n\t\t\t[\n\t\t\t\tregistry,\n\t\t\t\tbindings,\n\t\t\t\tname,\n\t\t\t\tclientId,\n\t\t\t\tcontext,\n\t\t\t\tsetAttributes,\n\t\t\t\tsources,\n\t\t\t]\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tattributes={ { ...props.attributes, ...boundAttributes } }\n\t\t\t\t\tsetAttributes={ _setAttributes }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n\t'withBlockBindingSupport'\n);\n\n/**\n * Filters a registered block's settings to enhance a block's `edit` component\n * to upgrade bound attributes.\n *\n * @param {WPBlockSettings} settings - Registered block settings.\n * @param {string} name - Block name.\n * @return {WPBlockSettings} Filtered block settings.\n */\nfunction shimAttributeSource( settings, name ) {\n\tif ( ! canBindBlock( name ) ) {\n\t\treturn settings;\n\t}\n\n\treturn {\n\t\t...settings,\n\t\tedit: withBlockBindingSupport( settings.edit ),\n\t};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/custom-sources-backwards-compatibility/shim-attribute-source',\n\tshimAttributeSource\n);\n"],"mappings":"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","ignoreList":[]}
@@ -23,6 +23,10 @@ var _lockUnlock = require("../lock-unlock");
23
23
  * Internal dependencies
24
24
  */
25
25
 
26
+ const {
27
+ kebabCase
28
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
29
+
26
30
  /*
27
31
  * This utility is intended to assist where the serialization of the typography
28
32
  * block support is being skipped for a block but the typography related CSS
@@ -38,9 +42,6 @@ var _lockUnlock = require("../lock-unlock");
38
42
  * @return {Object} Typography block support derived CSS classes & styles.
39
43
  */
40
44
  function getTypographyClassesAndStyles(attributes, settings) {
41
- const {
42
- kebabCase
43
- } = (0, _lockUnlock.unlock)(_components.privateApis);
44
45
  let typographyStyles = attributes?.style?.typography || {};
45
46
  typographyStyles = {
46
47
  ...typographyStyles,
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_style","_fontSizes","_typographyUtils","_lockUnlock","getTypographyClassesAndStyles","attributes","settings","kebabCase","unlock","componentsPrivateApis","typographyStyles","style","typography","fontSize","getTypographyFontSizeValue","size","getInlineStyles","fontFamilyClassName","fontFamily","textAlignClassName","textAlign","className","clsx","getFontSizeClass"],"sources":["@wordpress/block-editor/src/hooks/use-typography-props.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getInlineStyles } from './style';\nimport { getFontSizeClass } from '../components/font-sizes';\nimport { getTypographyFontSizeValue } from '../components/global-styles/typography-utils';\nimport { unlock } from '../lock-unlock';\n\n/*\n * This utility is intended to assist where the serialization of the typography\n * block support is being skipped for a block but the typography related CSS\n * styles still need to be generated so they can be applied to inner elements.\n */\n/**\n * Provides the CSS class names and inline styles for a block's typography support\n * attributes.\n *\n * @param {Object} attributes Block attributes.\n * @param {Object|boolean} settings Merged theme.json settings\n *\n * @return {Object} Typography block support derived CSS classes & styles.\n */\nexport function getTypographyClassesAndStyles( attributes, settings ) {\n\tconst { kebabCase } = unlock( componentsPrivateApis );\n\tlet typographyStyles = attributes?.style?.typography || {};\n\ttypographyStyles = {\n\t\t...typographyStyles,\n\t\tfontSize: getTypographyFontSizeValue(\n\t\t\t{ size: attributes?.style?.typography?.fontSize },\n\t\t\tsettings\n\t\t),\n\t};\n\n\tconst style = getInlineStyles( { typography: typographyStyles } );\n\tconst fontFamilyClassName = !! attributes?.fontFamily\n\t\t? `has-${ kebabCase( attributes.fontFamily ) }-font-family`\n\t\t: '';\n\tconst textAlignClassName = !! attributes?.style?.typography?.textAlign\n\t\t? `has-text-align-${ attributes?.style?.typography?.textAlign }`\n\t\t: '';\n\tconst className = clsx(\n\t\tfontFamilyClassName,\n\t\ttextAlignClassName,\n\t\tgetFontSizeClass( attributes?.fontSize )\n\t);\n\n\treturn {\n\t\tclassName,\n\t\tstyle,\n\t};\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,6BAA6BA,CAAEC,UAAU,EAAEC,QAAQ,EAAG;EACrE,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;EACrD,IAAIC,gBAAgB,GAAGL,UAAU,EAAEM,KAAK,EAAEC,UAAU,IAAI,CAAC,CAAC;EAC1DF,gBAAgB,GAAG;IAClB,GAAGA,gBAAgB;IACnBG,QAAQ,EAAE,IAAAC,2CAA0B,EACnC;MAAEC,IAAI,EAAEV,UAAU,EAAEM,KAAK,EAAEC,UAAU,EAAEC;IAAS,CAAC,EACjDP,QACD;EACD,CAAC;EAED,MAAMK,KAAK,GAAG,IAAAK,sBAAe,EAAE;IAAEJ,UAAU,EAAEF;EAAiB,CAAE,CAAC;EACjE,MAAMO,mBAAmB,GAAG,CAAC,CAAEZ,UAAU,EAAEa,UAAU,GACjD,OAAOX,SAAS,CAAEF,UAAU,CAACa,UAAW,CAAG,cAAa,GACzD,EAAE;EACL,MAAMC,kBAAkB,GAAG,CAAC,CAAEd,UAAU,EAAEM,KAAK,EAAEC,UAAU,EAAEQ,SAAS,GAClE,kBAAkBf,UAAU,EAAEM,KAAK,EAAEC,UAAU,EAAEQ,SAAW,EAAC,GAC9D,EAAE;EACL,MAAMC,SAAS,GAAG,IAAAC,aAAI,EACrBL,mBAAmB,EACnBE,kBAAkB,EAClB,IAAAI,2BAAgB,EAAElB,UAAU,EAAEQ,QAAS,CACxC,CAAC;EAED,OAAO;IACNQ,SAAS;IACTV;EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_style","_fontSizes","_typographyUtils","_lockUnlock","kebabCase","unlock","componentsPrivateApis","getTypographyClassesAndStyles","attributes","settings","typographyStyles","style","typography","fontSize","getTypographyFontSizeValue","size","getInlineStyles","fontFamilyClassName","fontFamily","textAlignClassName","textAlign","className","clsx","getFontSizeClass"],"sources":["@wordpress/block-editor/src/hooks/use-typography-props.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getInlineStyles } from './style';\nimport { getFontSizeClass } from '../components/font-sizes';\nimport { getTypographyFontSizeValue } from '../components/global-styles/typography-utils';\nimport { unlock } from '../lock-unlock';\n\nconst { kebabCase } = unlock( componentsPrivateApis );\n\n/*\n * This utility is intended to assist where the serialization of the typography\n * block support is being skipped for a block but the typography related CSS\n * styles still need to be generated so they can be applied to inner elements.\n */\n/**\n * Provides the CSS class names and inline styles for a block's typography support\n * attributes.\n *\n * @param {Object} attributes Block attributes.\n * @param {Object|boolean} settings Merged theme.json settings\n *\n * @return {Object} Typography block support derived CSS classes & styles.\n */\nexport function getTypographyClassesAndStyles( attributes, settings ) {\n\tlet typographyStyles = attributes?.style?.typography || {};\n\ttypographyStyles = {\n\t\t...typographyStyles,\n\t\tfontSize: getTypographyFontSizeValue(\n\t\t\t{ size: attributes?.style?.typography?.fontSize },\n\t\t\tsettings\n\t\t),\n\t};\n\n\tconst style = getInlineStyles( { typography: typographyStyles } );\n\tconst fontFamilyClassName = !! attributes?.fontFamily\n\t\t? `has-${ kebabCase( attributes.fontFamily ) }-font-family`\n\t\t: '';\n\tconst textAlignClassName = !! attributes?.style?.typography?.textAlign\n\t\t? `has-text-align-${ attributes?.style?.typography?.textAlign }`\n\t\t: '';\n\tconst className = clsx(\n\t\tfontFamilyClassName,\n\t\ttextAlignClassName,\n\t\tgetFontSizeClass( attributes?.fontSize )\n\t);\n\n\treturn {\n\t\tclassName,\n\t\tstyle,\n\t};\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAMA,MAAM;EAAEM;AAAU,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,6BAA6BA,CAAEC,UAAU,EAAEC,QAAQ,EAAG;EACrE,IAAIC,gBAAgB,GAAGF,UAAU,EAAEG,KAAK,EAAEC,UAAU,IAAI,CAAC,CAAC;EAC1DF,gBAAgB,GAAG;IAClB,GAAGA,gBAAgB;IACnBG,QAAQ,EAAE,IAAAC,2CAA0B,EACnC;MAAEC,IAAI,EAAEP,UAAU,EAAEG,KAAK,EAAEC,UAAU,EAAEC;IAAS,CAAC,EACjDJ,QACD;EACD,CAAC;EAED,MAAME,KAAK,GAAG,IAAAK,sBAAe,EAAE;IAAEJ,UAAU,EAAEF;EAAiB,CAAE,CAAC;EACjE,MAAMO,mBAAmB,GAAG,CAAC,CAAET,UAAU,EAAEU,UAAU,GACjD,OAAOd,SAAS,CAAEI,UAAU,CAACU,UAAW,CAAG,cAAa,GACzD,EAAE;EACL,MAAMC,kBAAkB,GAAG,CAAC,CAAEX,UAAU,EAAEG,KAAK,EAAEC,UAAU,EAAEQ,SAAS,GAClE,kBAAkBZ,UAAU,EAAEG,KAAK,EAAEC,UAAU,EAAEQ,SAAW,EAAC,GAC9D,EAAE;EACL,MAAMC,SAAS,GAAG,IAAAC,aAAI,EACrBL,mBAAmB,EACnBE,kBAAkB,EAClB,IAAAI,2BAAgB,EAAEf,UAAU,EAAEK,QAAS,CACxC,CAAC;EAED,OAAO;IACNQ,SAAS;IACTV;EACD,CAAC;AACF","ignoreList":[]}
@@ -36,7 +36,7 @@ function useZoomOut(zoomOut = true) {
36
36
  }
37
37
  return () => {
38
38
  // We need to use __unstableGetEditorMode() here and not `mode`, as mode may not update on unmount
39
- if (__unstableGetEditorMode() !== originalEditingMode.current) {
39
+ if (__unstableGetEditorMode() === 'zoom-out' && __unstableGetEditorMode() !== originalEditingMode.current) {
40
40
  __unstableSetEditorMode(originalEditingMode.current);
41
41
  }
42
42
  };
@@ -46,7 +46,7 @@ function useZoomOut(zoomOut = true) {
46
46
  (0, _element.useEffect)(() => {
47
47
  if (zoomOut && mode !== 'zoom-out') {
48
48
  __unstableSetEditorMode('zoom-out');
49
- } else if (!zoomOut && originalEditingMode.current !== mode) {
49
+ } else if (!zoomOut && __unstableGetEditorMode() === 'zoom-out' && originalEditingMode.current !== mode) {
50
50
  __unstableSetEditorMode(originalEditingMode.current);
51
51
  }
52
52
  }, [__unstableSetEditorMode, zoomOut, mode]);
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_element","_store","useZoomOut","zoomOut","__unstableSetEditorMode","useDispatch","blockEditorStore","__unstableGetEditorMode","useSelect","originalEditingMode","useRef","mode","useEffect","current"],"sources":["@wordpress/block-editor/src/hooks/use-zoom-out.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\n\n/**\n * A hook used to set the editor mode to zoomed out mode, invoking the hook sets the mode.\n *\n * @param {boolean} zoomOut If we should enter into zoomOut mode or not\n */\nexport function useZoomOut( zoomOut = true ) {\n\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\n\tconst { __unstableGetEditorMode } = useSelect( blockEditorStore );\n\n\tconst originalEditingMode = useRef( null );\n\tconst mode = __unstableGetEditorMode();\n\n\tuseEffect( () => {\n\t\t// Only set this on mount so we know what to return to when we unmount.\n\t\tif ( ! originalEditingMode.current ) {\n\t\t\toriginalEditingMode.current = mode;\n\t\t}\n\n\t\treturn () => {\n\t\t\t// We need to use __unstableGetEditorMode() here and not `mode`, as mode may not update on unmount\n\t\t\tif ( __unstableGetEditorMode() !== originalEditingMode.current ) {\n\t\t\t\t__unstableSetEditorMode( originalEditingMode.current );\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\t// The effect opens the zoom-out view if we want it open and it's not currently in zoom-out mode.\n\tuseEffect( () => {\n\t\tif ( zoomOut && mode !== 'zoom-out' ) {\n\t\t\t__unstableSetEditorMode( 'zoom-out' );\n\t\t} else if ( ! zoomOut && originalEditingMode.current !== mode ) {\n\t\t\t__unstableSetEditorMode( originalEditingMode.current );\n\t\t}\n\t}, [ __unstableSetEditorMode, zoomOut, mode ] );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACO,SAASG,UAAUA,CAAEC,OAAO,GAAG,IAAI,EAAG;EAC5C,MAAM;IAAEC;EAAwB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAiB,CAAC;EACnE,MAAM;IAAEC;EAAwB,CAAC,GAAG,IAAAC,eAAS,EAAEF,YAAiB,CAAC;EAEjE,MAAMG,mBAAmB,GAAG,IAAAC,eAAM,EAAE,IAAK,CAAC;EAC1C,MAAMC,IAAI,GAAGJ,uBAAuB,CAAC,CAAC;EAEtC,IAAAK,kBAAS,EAAE,MAAM;IAChB;IACA,IAAK,CAAEH,mBAAmB,CAACI,OAAO,EAAG;MACpCJ,mBAAmB,CAACI,OAAO,GAAGF,IAAI;IACnC;IAEA,OAAO,MAAM;MACZ;MACA,IAAKJ,uBAAuB,CAAC,CAAC,KAAKE,mBAAmB,CAACI,OAAO,EAAG;QAChET,uBAAuB,CAAEK,mBAAmB,CAACI,OAAQ,CAAC;MACvD;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;;EAEP;EACA,IAAAD,kBAAS,EAAE,MAAM;IAChB,IAAKT,OAAO,IAAIQ,IAAI,KAAK,UAAU,EAAG;MACrCP,uBAAuB,CAAE,UAAW,CAAC;IACtC,CAAC,MAAM,IAAK,CAAED,OAAO,IAAIM,mBAAmB,CAACI,OAAO,KAAKF,IAAI,EAAG;MAC/DP,uBAAuB,CAAEK,mBAAmB,CAACI,OAAQ,CAAC;IACvD;EACD,CAAC,EAAE,CAAET,uBAAuB,EAAED,OAAO,EAAEQ,IAAI,CAAG,CAAC;AAChD","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_element","_store","useZoomOut","zoomOut","__unstableSetEditorMode","useDispatch","blockEditorStore","__unstableGetEditorMode","useSelect","originalEditingMode","useRef","mode","useEffect","current"],"sources":["@wordpress/block-editor/src/hooks/use-zoom-out.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\n\n/**\n * A hook used to set the editor mode to zoomed out mode, invoking the hook sets the mode.\n *\n * @param {boolean} zoomOut If we should enter into zoomOut mode or not\n */\nexport function useZoomOut( zoomOut = true ) {\n\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\n\tconst { __unstableGetEditorMode } = useSelect( blockEditorStore );\n\n\tconst originalEditingMode = useRef( null );\n\tconst mode = __unstableGetEditorMode();\n\n\tuseEffect( () => {\n\t\t// Only set this on mount so we know what to return to when we unmount.\n\t\tif ( ! originalEditingMode.current ) {\n\t\t\toriginalEditingMode.current = mode;\n\t\t}\n\n\t\treturn () => {\n\t\t\t// We need to use __unstableGetEditorMode() here and not `mode`, as mode may not update on unmount\n\t\t\tif (\n\t\t\t\t__unstableGetEditorMode() === 'zoom-out' &&\n\t\t\t\t__unstableGetEditorMode() !== originalEditingMode.current\n\t\t\t) {\n\t\t\t\t__unstableSetEditorMode( originalEditingMode.current );\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\t// The effect opens the zoom-out view if we want it open and it's not currently in zoom-out mode.\n\tuseEffect( () => {\n\t\tif ( zoomOut && mode !== 'zoom-out' ) {\n\t\t\t__unstableSetEditorMode( 'zoom-out' );\n\t\t} else if (\n\t\t\t! zoomOut &&\n\t\t\t__unstableGetEditorMode() === 'zoom-out' &&\n\t\t\toriginalEditingMode.current !== mode\n\t\t) {\n\t\t\t__unstableSetEditorMode( originalEditingMode.current );\n\t\t}\n\t}, [ __unstableSetEditorMode, zoomOut, mode ] );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACO,SAASG,UAAUA,CAAEC,OAAO,GAAG,IAAI,EAAG;EAC5C,MAAM;IAAEC;EAAwB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAiB,CAAC;EACnE,MAAM;IAAEC;EAAwB,CAAC,GAAG,IAAAC,eAAS,EAAEF,YAAiB,CAAC;EAEjE,MAAMG,mBAAmB,GAAG,IAAAC,eAAM,EAAE,IAAK,CAAC;EAC1C,MAAMC,IAAI,GAAGJ,uBAAuB,CAAC,CAAC;EAEtC,IAAAK,kBAAS,EAAE,MAAM;IAChB;IACA,IAAK,CAAEH,mBAAmB,CAACI,OAAO,EAAG;MACpCJ,mBAAmB,CAACI,OAAO,GAAGF,IAAI;IACnC;IAEA,OAAO,MAAM;MACZ;MACA,IACCJ,uBAAuB,CAAC,CAAC,KAAK,UAAU,IACxCA,uBAAuB,CAAC,CAAC,KAAKE,mBAAmB,CAACI,OAAO,EACxD;QACDT,uBAAuB,CAAEK,mBAAmB,CAACI,OAAQ,CAAC;MACvD;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;;EAEP;EACA,IAAAD,kBAAS,EAAE,MAAM;IAChB,IAAKT,OAAO,IAAIQ,IAAI,KAAK,UAAU,EAAG;MACrCP,uBAAuB,CAAE,UAAW,CAAC;IACtC,CAAC,MAAM,IACN,CAAED,OAAO,IACTI,uBAAuB,CAAC,CAAC,KAAK,UAAU,IACxCE,mBAAmB,CAACI,OAAO,KAAKF,IAAI,EACnC;MACDP,uBAAuB,CAAEK,mBAAmB,CAACI,OAAQ,CAAC;IACvD;EACD,CAAC,EAAE,CAAET,uBAAuB,EAAED,OAAO,EAAEQ,IAAI,CAAG,CAAC;AAChD","ignoreList":[]}
@@ -12,7 +12,6 @@ exports.shouldSkipSerialization = shouldSkipSerialization;
12
12
  exports.transformStyles = transformStyles;
13
13
  exports.useBlockSettings = useBlockSettings;
14
14
  exports.useStyleOverride = useStyleOverride;
15
- var _react = require("react");
16
15
  var _blocks = require("@wordpress/blocks");
17
16
  var _element = require("@wordpress/element");
18
17
  var _data = require("@wordpress/data");
@@ -25,6 +24,7 @@ var _object = require("../utils/object");
25
24
  var _store = require("../store");
26
25
  var _lockUnlock = require("../lock-unlock");
27
26
  var _clsx = _interopRequireDefault(require("clsx"));
27
+ var _jsxRuntime = require("react/jsx-runtime");
28
28
  /**
29
29
  * WordPress dependencies
30
30
  */
@@ -176,7 +176,7 @@ function useStyleOverride({
176
176
  * @return {Object} Settings object.
177
177
  */
178
178
  function useBlockSettings(name, parentLayout) {
179
- const [backgroundImage, backgroundSize, customFontFamilies, defaultFontFamilies, themeFontFamilies, defaultFontSizesEnabled, customFontSizes, defaultFontSizes, themeFontSizes, customFontSize, fontStyle, fontWeight, lineHeight, textAlign, textColumns, textDecoration, writingMode, textTransform, letterSpacing, padding, margin, blockGap, spacingSizes, units, aspectRatio, minHeight, layout, borderColor, borderRadius, borderStyle, borderWidth, customColorsEnabled, customColors, customDuotone, themeColors, defaultColors, defaultPalette, defaultDuotone, userDuotonePalette, themeDuotonePalette, defaultDuotonePalette, userGradientPalette, themeGradientPalette, defaultGradientPalette, defaultGradients, areCustomGradientsEnabled, isBackgroundEnabled, isLinkEnabled, isTextEnabled, isHeadingEnabled, isButtonEnabled, shadow] = (0, _components.useSettings)('background.backgroundImage', 'background.backgroundSize', 'typography.fontFamilies.custom', 'typography.fontFamilies.default', 'typography.fontFamilies.theme', 'typography.defaultFontSizes', 'typography.fontSizes.custom', 'typography.fontSizes.default', 'typography.fontSizes.theme', 'typography.customFontSize', 'typography.fontStyle', 'typography.fontWeight', 'typography.lineHeight', 'typography.textAlign', 'typography.textColumns', 'typography.textDecoration', 'typography.writingMode', 'typography.textTransform', 'typography.letterSpacing', 'spacing.padding', 'spacing.margin', 'spacing.blockGap', 'spacing.spacingSizes', 'spacing.units', 'dimensions.aspectRatio', 'dimensions.minHeight', 'layout', 'border.color', 'border.radius', 'border.style', 'border.width', 'color.custom', 'color.palette.custom', 'color.customDuotone', 'color.palette.theme', 'color.palette.default', 'color.defaultPalette', 'color.defaultDuotone', 'color.duotone.custom', 'color.duotone.theme', 'color.duotone.default', 'color.gradients.custom', 'color.gradients.theme', 'color.gradients.default', 'color.defaultGradients', 'color.customGradient', 'color.background', 'color.link', 'color.text', 'color.heading', 'color.button', 'shadow');
179
+ const [backgroundImage, backgroundSize, customFontFamilies, defaultFontFamilies, themeFontFamilies, defaultFontSizesEnabled, customFontSizes, defaultFontSizes, themeFontSizes, customFontSize, fontStyle, fontWeight, lineHeight, textAlign, textColumns, textDecoration, writingMode, textTransform, letterSpacing, padding, margin, blockGap, defaultSpacingSizesEnabled, customSpacingSize, userSpacingSizes, defaultSpacingSizes, themeSpacingSizes, units, aspectRatio, minHeight, layout, borderColor, borderRadius, borderStyle, borderWidth, customColorsEnabled, customColors, customDuotone, themeColors, defaultColors, defaultPalette, defaultDuotone, userDuotonePalette, themeDuotonePalette, defaultDuotonePalette, userGradientPalette, themeGradientPalette, defaultGradientPalette, defaultGradients, areCustomGradientsEnabled, isBackgroundEnabled, isLinkEnabled, isTextEnabled, isHeadingEnabled, isButtonEnabled, shadow] = (0, _components.useSettings)('background.backgroundImage', 'background.backgroundSize', 'typography.fontFamilies.custom', 'typography.fontFamilies.default', 'typography.fontFamilies.theme', 'typography.defaultFontSizes', 'typography.fontSizes.custom', 'typography.fontSizes.default', 'typography.fontSizes.theme', 'typography.customFontSize', 'typography.fontStyle', 'typography.fontWeight', 'typography.lineHeight', 'typography.textAlign', 'typography.textColumns', 'typography.textDecoration', 'typography.writingMode', 'typography.textTransform', 'typography.letterSpacing', 'spacing.padding', 'spacing.margin', 'spacing.blockGap', 'spacing.defaultSpacingSizes', 'spacing.customSpacingSize', 'spacing.spacingSizes.custom', 'spacing.spacingSizes.default', 'spacing.spacingSizes.theme', 'spacing.units', 'dimensions.aspectRatio', 'dimensions.minHeight', 'layout', 'border.color', 'border.radius', 'border.style', 'border.width', 'color.custom', 'color.palette.custom', 'color.customDuotone', 'color.palette.theme', 'color.palette.default', 'color.defaultPalette', 'color.defaultDuotone', 'color.duotone.custom', 'color.duotone.theme', 'color.duotone.default', 'color.gradients.custom', 'color.gradients.theme', 'color.gradients.default', 'color.defaultGradients', 'color.customGradient', 'color.background', 'color.link', 'color.text', 'color.heading', 'color.button', 'shadow');
180
180
  const rawSettings = (0, _element.useMemo)(() => {
181
181
  return {
182
182
  background: {
@@ -236,8 +236,12 @@ function useBlockSettings(name, parentLayout) {
236
236
  },
237
237
  spacing: {
238
238
  spacingSizes: {
239
- custom: spacingSizes
239
+ custom: userSpacingSizes,
240
+ default: defaultSpacingSizes,
241
+ theme: themeSpacingSizes
240
242
  },
243
+ customSpacingSize,
244
+ defaultSpacingSizes: defaultSpacingSizesEnabled,
241
245
  padding,
242
246
  margin,
243
247
  blockGap,
@@ -257,7 +261,7 @@ function useBlockSettings(name, parentLayout) {
257
261
  parentLayout,
258
262
  shadow
259
263
  };
260
- }, [backgroundImage, backgroundSize, customFontFamilies, defaultFontFamilies, themeFontFamilies, defaultFontSizesEnabled, customFontSizes, defaultFontSizes, themeFontSizes, customFontSize, fontStyle, fontWeight, lineHeight, textAlign, textColumns, textDecoration, textTransform, letterSpacing, writingMode, padding, margin, blockGap, spacingSizes, units, aspectRatio, minHeight, layout, parentLayout, borderColor, borderRadius, borderStyle, borderWidth, customColorsEnabled, customColors, customDuotone, themeColors, defaultColors, defaultPalette, defaultDuotone, userDuotonePalette, themeDuotonePalette, defaultDuotonePalette, userGradientPalette, themeGradientPalette, defaultGradientPalette, defaultGradients, areCustomGradientsEnabled, isBackgroundEnabled, isLinkEnabled, isTextEnabled, isHeadingEnabled, isButtonEnabled, shadow]);
264
+ }, [backgroundImage, backgroundSize, customFontFamilies, defaultFontFamilies, themeFontFamilies, defaultFontSizesEnabled, customFontSizes, defaultFontSizes, themeFontSizes, customFontSize, fontStyle, fontWeight, lineHeight, textAlign, textColumns, textDecoration, textTransform, letterSpacing, writingMode, padding, margin, blockGap, defaultSpacingSizesEnabled, customSpacingSize, userSpacingSizes, defaultSpacingSizes, themeSpacingSizes, units, aspectRatio, minHeight, layout, parentLayout, borderColor, borderRadius, borderStyle, borderWidth, customColorsEnabled, customColors, customDuotone, themeColors, defaultColors, defaultPalette, defaultDuotone, userDuotonePalette, themeDuotonePalette, defaultDuotonePalette, userGradientPalette, themeGradientPalette, defaultGradientPalette, defaultGradients, areCustomGradientsEnabled, isBackgroundEnabled, isLinkEnabled, isTextEnabled, isHeadingEnabled, isButtonEnabled, shadow]);
261
265
  return (0, _hooks2.useSettingsForBlockElement)(rawSettings, name);
262
266
  }
263
267
  function createBlockEditFilter(features) {
@@ -293,11 +297,10 @@ function createBlockEditFilter(features) {
293
297
  neededProps[key] = props.attributes[key];
294
298
  }
295
299
  }
296
- return (0, _react.createElement)(Edit
300
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Edit
297
301
  // We can use the index because the array length
298
302
  // is fixed per page load right now.
299
303
  , {
300
- key: i,
301
304
  name: props.name,
302
305
  isSelected: props.isSelected,
303
306
  clientId: props.clientId,
@@ -307,11 +310,10 @@ function createBlockEditFilter(features) {
307
310
  // props!!!
308
311
  ,
309
312
  ...neededProps
310
- });
311
- }), (0, _react.createElement)(OriginalBlockEdit, {
312
- key: "edit",
313
+ }, i);
314
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(OriginalBlockEdit, {
313
315
  ...props
314
- })];
316
+ }, "edit")];
315
317
  }, 'withBlockEditHooks');
316
318
  (0, _hooks.addFilter)('editor.BlockEdit', 'core/editor/hooks', withBlockEditHooks);
317
319
  }
@@ -361,25 +363,24 @@ function createBlockListBlockFilter(features) {
361
363
  !Object.keys(neededProps).length || !hasSupport(props.name)) {
362
364
  return null;
363
365
  }
364
- return (0, _react.createElement)(BlockPropsPure
366
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockPropsPure
365
367
  // We can use the index because the array length
366
368
  // is fixed per page load right now.
367
369
  , {
368
- key: i,
369
370
  index: i,
370
371
  useBlockProps: useBlockProps
371
372
  // This component is pure, so we must pass a stable
372
373
  // function reference.
373
374
  ,
374
375
  setAllWrapperProps: setAllWrapperProps,
375
- name: props.name
376
+ name: props.name,
377
+ clientId: props.clientId
376
378
  // This component is pure, so only pass needed
377
379
  // props!!!
378
380
  ,
379
381
  ...neededProps
380
- });
381
- }), (0, _react.createElement)(BlockListBlock, {
382
- key: "edit",
382
+ }, i);
383
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockListBlock, {
383
384
  ...props,
384
385
  wrapperProps: allWrapperProps.filter(Boolean).reduce((acc, wrapperProps) => {
385
386
  return {
@@ -392,7 +393,7 @@ function createBlockListBlockFilter(features) {
392
393
  }
393
394
  };
394
395
  }, props.wrapperProps || {})
395
- })];
396
+ }, "edit")];
396
397
  }, 'withBlockListBlockHooks');
397
398
  (0, _hooks.addFilter)('editor.BlockListBlock', 'core/editor/hooks', withBlockListBlockHooks);
398
399
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_element","_data","_compose","_hooks","_context","_components","_hooks2","_object","_store","_lockUnlock","_clsx","_interopRequireDefault","cleanEmptyObject","object","Array","isArray","cleanedNestedObjects","Object","entries","map","key","value","filter","undefined","length","fromEntries","exports","transformStyles","activeSupports","migrationPaths","result","source","index","results","values","every","isActive","innerBlocks","referenceBlockAttributes","attributes","returnBlock","forEach","support","path","styleValue","getValueFromObjectPath","setImmutably","shouldSkipSerialization","blockNameOrType","featureSet","feature","getBlockSupport","skipSerialization","__experimentalSkipSerialization","includes","pendingStyleOverrides","WeakMap","useStyleOverride","id","css","assets","__unstableType","clientId","setStyleOverride","deleteStyleOverride","unlock","useDispatch","blockEditorStore","registry","useRegistry","fallbackId","useId","useEffect","_id","override","get","set","push","window","queueMicrotask","batch","args","isPending","find","currentId","useBlockSettings","name","parentLayout","backgroundImage","backgroundSize","customFontFamilies","defaultFontFamilies","themeFontFamilies","defaultFontSizesEnabled","customFontSizes","defaultFontSizes","themeFontSizes","customFontSize","fontStyle","fontWeight","lineHeight","textAlign","textColumns","textDecoration","writingMode","textTransform","letterSpacing","padding","margin","blockGap","spacingSizes","units","aspectRatio","minHeight","layout","borderColor","borderRadius","borderStyle","borderWidth","customColorsEnabled","customColors","customDuotone","themeColors","defaultColors","defaultPalette","defaultDuotone","userDuotonePalette","themeDuotonePalette","defaultDuotonePalette","userGradientPalette","themeGradientPalette","defaultGradientPalette","defaultGradients","areCustomGradientsEnabled","isBackgroundEnabled","isLinkEnabled","isTextEnabled","isHeadingEnabled","isButtonEnabled","shadow","useSettings","rawSettings","useMemo","background","color","palette","custom","theme","default","gradients","duotone","customGradient","link","heading","button","text","typography","fontFamilies","fontSizes","spacing","border","radius","style","width","dimensions","useSettingsForBlockElement","createBlockEditFilter","features","settings","Edit","memo","edit","withBlockEditHooks","createHigherOrderComponent","OriginalBlockEdit","props","context","useBlockEditContext","i","hasSupport","attributeKeys","shareWithChildBlocks","shouldDisplayControls","mayDisplayControlsKey","mayDisplayParentControlsKey","neededProps","_react","createElement","isSelected","setAttributes","__unstableParentLayout","addFilter","BlockProps","useBlockProps","setAllWrapperProps","wrapperProps","setWrapperProps","next","prev","nextAll","BlockPropsPure","createBlockListBlockFilter","withBlockListBlockHooks","BlockListBlock","allWrapperProps","useState","fill","keys","Boolean","reduce","acc","className","clsx","createBlockSaveFilter","extraPropsFromHooks","accu","addSaveProps","neededAttributes","hasOwnProperty"],"sources":["@wordpress/block-editor/src/hooks/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { memo, useMemo, useEffect, useId, useState } from '@wordpress/element';\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseBlockEditContext,\n\tmayDisplayControlsKey,\n\tmayDisplayParentControlsKey,\n} from '../components/block-edit/context';\nimport { useSettings } from '../components';\nimport { useSettingsForBlockElement } from '../components/global-styles/hooks';\nimport { getValueFromObjectPath, setImmutably } from '../utils/object';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Removed falsy values from nested object.\n *\n * @param {*} object\n * @return {*} Object cleaned from falsy values\n */\nexport const cleanEmptyObject = ( object ) => {\n\tif (\n\t\tobject === null ||\n\t\ttypeof object !== 'object' ||\n\t\tArray.isArray( object )\n\t) {\n\t\treturn object;\n\t}\n\n\tconst cleanedNestedObjects = Object.entries( object )\n\t\t.map( ( [ key, value ] ) => [ key, cleanEmptyObject( value ) ] )\n\t\t.filter( ( [ , value ] ) => value !== undefined );\n\treturn ! cleanedNestedObjects.length\n\t\t? undefined\n\t\t: Object.fromEntries( cleanedNestedObjects );\n};\n\nexport function transformStyles(\n\tactiveSupports,\n\tmigrationPaths,\n\tresult,\n\tsource,\n\tindex,\n\tresults\n) {\n\t// If there are no active supports return early.\n\tif (\n\t\tObject.values( activeSupports ?? {} ).every(\n\t\t\t( isActive ) => ! isActive\n\t\t)\n\t) {\n\t\treturn result;\n\t}\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the styles should not be transformed.\n\tif ( results.length === 1 && result.innerBlocks.length === source.length ) {\n\t\treturn result;\n\t}\n\t// For cases where we have a transform from one block to multiple blocks\n\t// or multiple blocks to one block we apply the styles of the first source block\n\t// to the result(s).\n\tlet referenceBlockAttributes = source[ 0 ]?.attributes;\n\t// If we are in presence of transform between more than one block in the source\n\t// that has more than one block in the result\n\t// we apply the styles on source N to the result N,\n\t// if source N does not exists we do nothing.\n\tif ( results.length > 1 && source.length > 1 ) {\n\t\tif ( source[ index ] ) {\n\t\t\treferenceBlockAttributes = source[ index ]?.attributes;\n\t\t} else {\n\t\t\treturn result;\n\t\t}\n\t}\n\tlet returnBlock = result;\n\tObject.entries( activeSupports ).forEach( ( [ support, isActive ] ) => {\n\t\tif ( isActive ) {\n\t\t\tmigrationPaths[ support ].forEach( ( path ) => {\n\t\t\t\tconst styleValue = getValueFromObjectPath(\n\t\t\t\t\treferenceBlockAttributes,\n\t\t\t\t\tpath\n\t\t\t\t);\n\t\t\t\tif ( styleValue ) {\n\t\t\t\t\treturnBlock = {\n\t\t\t\t\t\t...returnBlock,\n\t\t\t\t\t\tattributes: setImmutably(\n\t\t\t\t\t\t\treturnBlock.attributes,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tstyleValue\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t} );\n\treturn returnBlock;\n}\n\n/**\n * Check whether serialization of specific block support feature or set should\n * be skipped.\n *\n * @param {string|Object} blockNameOrType Block name or block type object.\n * @param {string} featureSet Name of block support feature set.\n * @param {string} feature Name of the individual feature to check.\n *\n * @return {boolean} Whether serialization should occur.\n */\nexport function shouldSkipSerialization(\n\tblockNameOrType,\n\tfeatureSet,\n\tfeature\n) {\n\tconst support = getBlockSupport( blockNameOrType, featureSet );\n\tconst skipSerialization = support?.__experimentalSkipSerialization;\n\n\tif ( Array.isArray( skipSerialization ) ) {\n\t\treturn skipSerialization.includes( feature );\n\t}\n\n\treturn skipSerialization;\n}\n\nconst pendingStyleOverrides = new WeakMap();\n\nexport function useStyleOverride( {\n\tid,\n\tcss,\n\tassets,\n\t__unstableType,\n\tclientId,\n} = {} ) {\n\tconst { setStyleOverride, deleteStyleOverride } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tconst registry = useRegistry();\n\tconst fallbackId = useId();\n\tuseEffect( () => {\n\t\t// Unmount if there is CSS and assets are empty.\n\t\tif ( ! css && ! assets ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst _id = id || fallbackId;\n\t\tconst override = {\n\t\t\tid,\n\t\t\tcss,\n\t\t\tassets,\n\t\t\t__unstableType,\n\t\t\tclientId,\n\t\t};\n\t\t// Batch updates to style overrides to avoid triggering cascading renders\n\t\t// for each style override block included in a tree and optimize initial render.\n\t\tif ( ! pendingStyleOverrides.get( registry ) ) {\n\t\t\tpendingStyleOverrides.set( registry, [] );\n\t\t}\n\t\tpendingStyleOverrides.get( registry ).push( [ _id, override ] );\n\t\twindow.queueMicrotask( () => {\n\t\t\tif ( pendingStyleOverrides.get( registry )?.length ) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tpendingStyleOverrides.get( registry ).forEach( ( args ) => {\n\t\t\t\t\t\tsetStyleOverride( ...args );\n\t\t\t\t\t} );\n\t\t\t\t\tpendingStyleOverrides.set( registry, [] );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\treturn () => {\n\t\t\tconst isPending = pendingStyleOverrides\n\t\t\t\t.get( registry )\n\t\t\t\t?.find( ( [ currentId ] ) => currentId === _id );\n\t\t\tif ( isPending ) {\n\t\t\t\tpendingStyleOverrides.set(\n\t\t\t\t\tregistry,\n\t\t\t\t\tpendingStyleOverrides\n\t\t\t\t\t\t.get( registry )\n\t\t\t\t\t\t.filter( ( [ currentId ] ) => currentId !== _id )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tdeleteStyleOverride( _id );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tid,\n\t\tcss,\n\t\tclientId,\n\t\tassets,\n\t\t__unstableType,\n\t\tfallbackId,\n\t\tsetStyleOverride,\n\t\tdeleteStyleOverride,\n\t\tregistry,\n\t] );\n}\n\n/**\n * Based on the block and its context, returns an object of all the block settings.\n * This object can be passed as a prop to all the Styles UI components\n * (TypographyPanel, DimensionsPanel...).\n *\n * @param {string} name Block name.\n * @param {*} parentLayout Parent layout.\n *\n * @return {Object} Settings object.\n */\nexport function useBlockSettings( name, parentLayout ) {\n\tconst [\n\t\tbackgroundImage,\n\t\tbackgroundSize,\n\t\tcustomFontFamilies,\n\t\tdefaultFontFamilies,\n\t\tthemeFontFamilies,\n\t\tdefaultFontSizesEnabled,\n\t\tcustomFontSizes,\n\t\tdefaultFontSizes,\n\t\tthemeFontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextAlign,\n\t\ttextColumns,\n\t\ttextDecoration,\n\t\twritingMode,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\tpadding,\n\t\tmargin,\n\t\tblockGap,\n\t\tspacingSizes,\n\t\tunits,\n\t\taspectRatio,\n\t\tminHeight,\n\t\tlayout,\n\t\tborderColor,\n\t\tborderRadius,\n\t\tborderStyle,\n\t\tborderWidth,\n\t\tcustomColorsEnabled,\n\t\tcustomColors,\n\t\tcustomDuotone,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tdefaultPalette,\n\t\tdefaultDuotone,\n\t\tuserDuotonePalette,\n\t\tthemeDuotonePalette,\n\t\tdefaultDuotonePalette,\n\t\tuserGradientPalette,\n\t\tthemeGradientPalette,\n\t\tdefaultGradientPalette,\n\t\tdefaultGradients,\n\t\tareCustomGradientsEnabled,\n\t\tisBackgroundEnabled,\n\t\tisLinkEnabled,\n\t\tisTextEnabled,\n\t\tisHeadingEnabled,\n\t\tisButtonEnabled,\n\t\tshadow,\n\t] = useSettings(\n\t\t'background.backgroundImage',\n\t\t'background.backgroundSize',\n\t\t'typography.fontFamilies.custom',\n\t\t'typography.fontFamilies.default',\n\t\t'typography.fontFamilies.theme',\n\t\t'typography.defaultFontSizes',\n\t\t'typography.fontSizes.custom',\n\t\t'typography.fontSizes.default',\n\t\t'typography.fontSizes.theme',\n\t\t'typography.customFontSize',\n\t\t'typography.fontStyle',\n\t\t'typography.fontWeight',\n\t\t'typography.lineHeight',\n\t\t'typography.textAlign',\n\t\t'typography.textColumns',\n\t\t'typography.textDecoration',\n\t\t'typography.writingMode',\n\t\t'typography.textTransform',\n\t\t'typography.letterSpacing',\n\t\t'spacing.padding',\n\t\t'spacing.margin',\n\t\t'spacing.blockGap',\n\t\t'spacing.spacingSizes',\n\t\t'spacing.units',\n\t\t'dimensions.aspectRatio',\n\t\t'dimensions.minHeight',\n\t\t'layout',\n\t\t'border.color',\n\t\t'border.radius',\n\t\t'border.style',\n\t\t'border.width',\n\t\t'color.custom',\n\t\t'color.palette.custom',\n\t\t'color.customDuotone',\n\t\t'color.palette.theme',\n\t\t'color.palette.default',\n\t\t'color.defaultPalette',\n\t\t'color.defaultDuotone',\n\t\t'color.duotone.custom',\n\t\t'color.duotone.theme',\n\t\t'color.duotone.default',\n\t\t'color.gradients.custom',\n\t\t'color.gradients.theme',\n\t\t'color.gradients.default',\n\t\t'color.defaultGradients',\n\t\t'color.customGradient',\n\t\t'color.background',\n\t\t'color.link',\n\t\t'color.text',\n\t\t'color.heading',\n\t\t'color.button',\n\t\t'shadow'\n\t);\n\n\tconst rawSettings = useMemo( () => {\n\t\treturn {\n\t\t\tbackground: {\n\t\t\t\tbackgroundImage,\n\t\t\t\tbackgroundSize,\n\t\t\t},\n\t\t\tcolor: {\n\t\t\t\tpalette: {\n\t\t\t\t\tcustom: customColors,\n\t\t\t\t\ttheme: themeColors,\n\t\t\t\t\tdefault: defaultColors,\n\t\t\t\t},\n\t\t\t\tgradients: {\n\t\t\t\t\tcustom: userGradientPalette,\n\t\t\t\t\ttheme: themeGradientPalette,\n\t\t\t\t\tdefault: defaultGradientPalette,\n\t\t\t\t},\n\t\t\t\tduotone: {\n\t\t\t\t\tcustom: userDuotonePalette,\n\t\t\t\t\ttheme: themeDuotonePalette,\n\t\t\t\t\tdefault: defaultDuotonePalette,\n\t\t\t\t},\n\t\t\t\tdefaultGradients,\n\t\t\t\tdefaultPalette,\n\t\t\t\tdefaultDuotone,\n\t\t\t\tcustom: customColorsEnabled,\n\t\t\t\tcustomGradient: areCustomGradientsEnabled,\n\t\t\t\tcustomDuotone,\n\t\t\t\tbackground: isBackgroundEnabled,\n\t\t\t\tlink: isLinkEnabled,\n\t\t\t\theading: isHeadingEnabled,\n\t\t\t\tbutton: isButtonEnabled,\n\t\t\t\ttext: isTextEnabled,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontFamilies: {\n\t\t\t\t\tcustom: customFontFamilies,\n\t\t\t\t\tdefault: defaultFontFamilies,\n\t\t\t\t\ttheme: themeFontFamilies,\n\t\t\t\t},\n\t\t\t\tfontSizes: {\n\t\t\t\t\tcustom: customFontSizes,\n\t\t\t\t\tdefault: defaultFontSizes,\n\t\t\t\t\ttheme: themeFontSizes,\n\t\t\t\t},\n\t\t\t\tcustomFontSize,\n\t\t\t\tdefaultFontSizes: defaultFontSizesEnabled,\n\t\t\t\tfontStyle,\n\t\t\t\tfontWeight,\n\t\t\t\tlineHeight,\n\t\t\t\ttextAlign,\n\t\t\t\ttextColumns,\n\t\t\t\ttextDecoration,\n\t\t\t\ttextTransform,\n\t\t\t\tletterSpacing,\n\t\t\t\twritingMode,\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tspacingSizes: {\n\t\t\t\t\tcustom: spacingSizes,\n\t\t\t\t},\n\t\t\t\tpadding,\n\t\t\t\tmargin,\n\t\t\t\tblockGap,\n\t\t\t\tunits,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tcolor: borderColor,\n\t\t\t\tradius: borderRadius,\n\t\t\t\tstyle: borderStyle,\n\t\t\t\twidth: borderWidth,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\taspectRatio,\n\t\t\t\tminHeight,\n\t\t\t},\n\t\t\tlayout,\n\t\t\tparentLayout,\n\t\t\tshadow,\n\t\t};\n\t}, [\n\t\tbackgroundImage,\n\t\tbackgroundSize,\n\t\tcustomFontFamilies,\n\t\tdefaultFontFamilies,\n\t\tthemeFontFamilies,\n\t\tdefaultFontSizesEnabled,\n\t\tcustomFontSizes,\n\t\tdefaultFontSizes,\n\t\tthemeFontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextAlign,\n\t\ttextColumns,\n\t\ttextDecoration,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\twritingMode,\n\t\tpadding,\n\t\tmargin,\n\t\tblockGap,\n\t\tspacingSizes,\n\t\tunits,\n\t\taspectRatio,\n\t\tminHeight,\n\t\tlayout,\n\t\tparentLayout,\n\t\tborderColor,\n\t\tborderRadius,\n\t\tborderStyle,\n\t\tborderWidth,\n\t\tcustomColorsEnabled,\n\t\tcustomColors,\n\t\tcustomDuotone,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tdefaultPalette,\n\t\tdefaultDuotone,\n\t\tuserDuotonePalette,\n\t\tthemeDuotonePalette,\n\t\tdefaultDuotonePalette,\n\t\tuserGradientPalette,\n\t\tthemeGradientPalette,\n\t\tdefaultGradientPalette,\n\t\tdefaultGradients,\n\t\tareCustomGradientsEnabled,\n\t\tisBackgroundEnabled,\n\t\tisLinkEnabled,\n\t\tisTextEnabled,\n\t\tisHeadingEnabled,\n\t\tisButtonEnabled,\n\t\tshadow,\n\t] );\n\n\treturn useSettingsForBlockElement( rawSettings, name );\n}\n\nexport function createBlockEditFilter( features ) {\n\t// We don't want block controls to re-render when typing inside a block.\n\t// `memo` will prevent re-renders unless props change, so only pass the\n\t// needed props and not the whole attributes object.\n\tfeatures = features.map( ( settings ) => {\n\t\treturn { ...settings, Edit: memo( settings.edit ) };\n\t} );\n\tconst withBlockEditHooks = createHigherOrderComponent(\n\t\t( OriginalBlockEdit ) => ( props ) => {\n\t\t\tconst context = useBlockEditContext();\n\t\t\t// CAUTION: code added before this line will be executed for all\n\t\t\t// blocks, not just those that support the feature! Code added\n\t\t\t// above this line should be carefully evaluated for its impact on\n\t\t\t// performance.\n\t\t\treturn [\n\t\t\t\t...features.map( ( feature, i ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tEdit,\n\t\t\t\t\t\thasSupport,\n\t\t\t\t\t\tattributeKeys = [],\n\t\t\t\t\t\tshareWithChildBlocks,\n\t\t\t\t\t} = feature;\n\t\t\t\t\tconst shouldDisplayControls =\n\t\t\t\t\t\tcontext[ mayDisplayControlsKey ] ||\n\t\t\t\t\t\t( context[ mayDisplayParentControlsKey ] &&\n\t\t\t\t\t\t\tshareWithChildBlocks );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! shouldDisplayControls ||\n\t\t\t\t\t\t! hasSupport( props.name )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst neededProps = {};\n\t\t\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\t\t\tif ( props.attributes[ key ] ) {\n\t\t\t\t\t\t\tneededProps[ key ] = props.attributes[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Edit\n\t\t\t\t\t\t\t// We can use the index because the array length\n\t\t\t\t\t\t\t// is fixed per page load right now.\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tname={ props.name }\n\t\t\t\t\t\t\tisSelected={ props.isSelected }\n\t\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\t\tsetAttributes={ props.setAttributes }\n\t\t\t\t\t\t\t__unstableParentLayout={\n\t\t\t\t\t\t\t\tprops.__unstableParentLayout\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// This component is pure, so only pass needed\n\t\t\t\t\t\t\t// props!!!\n\t\t\t\t\t\t\t{ ...neededProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t\t\t<OriginalBlockEdit key=\"edit\" { ...props } />,\n\t\t\t];\n\t\t},\n\t\t'withBlockEditHooks'\n\t);\n\taddFilter( 'editor.BlockEdit', 'core/editor/hooks', withBlockEditHooks );\n}\n\nfunction BlockProps( { index, useBlockProps, setAllWrapperProps, ...props } ) {\n\tconst wrapperProps = useBlockProps( props );\n\tconst setWrapperProps = ( next ) =>\n\t\tsetAllWrapperProps( ( prev ) => {\n\t\t\tconst nextAll = [ ...prev ];\n\t\t\tnextAll[ index ] = next;\n\t\t\treturn nextAll;\n\t\t} );\n\t// Setting state after every render is fine because this component is\n\t// pure and will only re-render when needed props change.\n\tuseEffect( () => {\n\t\t// We could shallow compare the props, but since this component only\n\t\t// changes when needed attributes change, the benefit is probably small.\n\t\tsetWrapperProps( wrapperProps );\n\t\treturn () => {\n\t\t\tsetWrapperProps( undefined );\n\t\t};\n\t} );\n\treturn null;\n}\n\nconst BlockPropsPure = memo( BlockProps );\n\nexport function createBlockListBlockFilter( features ) {\n\tconst withBlockListBlockHooks = createHigherOrderComponent(\n\t\t( BlockListBlock ) => ( props ) => {\n\t\t\tconst [ allWrapperProps, setAllWrapperProps ] = useState(\n\t\t\t\tArray( features.length ).fill( undefined )\n\t\t\t);\n\t\t\treturn [\n\t\t\t\t...features.map( ( feature, i ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\thasSupport,\n\t\t\t\t\t\tattributeKeys = [],\n\t\t\t\t\t\tuseBlockProps,\n\t\t\t\t\t} = feature;\n\n\t\t\t\t\tconst neededProps = {};\n\t\t\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\t\t\tif ( props.attributes[ key ] ) {\n\t\t\t\t\t\t\tneededProps[ key ] = props.attributes[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t// Skip rendering if none of the needed attributes are\n\t\t\t\t\t\t// set.\n\t\t\t\t\t\t! Object.keys( neededProps ).length ||\n\t\t\t\t\t\t! hasSupport( props.name )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<BlockPropsPure\n\t\t\t\t\t\t\t// We can use the index because the array length\n\t\t\t\t\t\t\t// is fixed per page load right now.\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tindex={ i }\n\t\t\t\t\t\t\tuseBlockProps={ useBlockProps }\n\t\t\t\t\t\t\t// This component is pure, so we must pass a stable\n\t\t\t\t\t\t\t// function reference.\n\t\t\t\t\t\t\tsetAllWrapperProps={ setAllWrapperProps }\n\t\t\t\t\t\t\tname={ props.name }\n\t\t\t\t\t\t\t// This component is pure, so only pass needed\n\t\t\t\t\t\t\t// props!!!\n\t\t\t\t\t\t\t{ ...neededProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t\t\t<BlockListBlock\n\t\t\t\t\tkey=\"edit\"\n\t\t\t\t\t{ ...props }\n\t\t\t\t\twrapperProps={ allWrapperProps\n\t\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t\t.reduce( ( acc, wrapperProps ) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t...wrapperProps,\n\t\t\t\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t\t\t\tacc.className,\n\t\t\t\t\t\t\t\t\twrapperProps.className\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t...acc.style,\n\t\t\t\t\t\t\t\t\t...wrapperProps.style,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}, props.wrapperProps || {} ) }\n\t\t\t\t/>,\n\t\t\t];\n\t\t},\n\t\t'withBlockListBlockHooks'\n\t);\n\taddFilter(\n\t\t'editor.BlockListBlock',\n\t\t'core/editor/hooks',\n\t\twithBlockListBlockHooks\n\t);\n}\n\nexport function createBlockSaveFilter( features ) {\n\tfunction extraPropsFromHooks( props, name, attributes ) {\n\t\treturn features.reduce( ( accu, feature ) => {\n\t\t\tconst { hasSupport, attributeKeys = [], addSaveProps } = feature;\n\n\t\t\tconst neededAttributes = {};\n\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\tif ( attributes[ key ] ) {\n\t\t\t\t\tneededAttributes[ key ] = attributes[ key ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// Skip rendering if none of the needed attributes are\n\t\t\t\t// set.\n\t\t\t\t! Object.keys( neededAttributes ).length ||\n\t\t\t\t! hasSupport( name )\n\t\t\t) {\n\t\t\t\treturn accu;\n\t\t\t}\n\n\t\t\treturn addSaveProps( accu, name, neededAttributes );\n\t\t}, props );\n\t}\n\taddFilter(\n\t\t'blocks.getSaveContent.extraProps',\n\t\t'core/editor/hooks',\n\t\textraPropsFromHooks,\n\t\t0\n\t);\n\taddFilter(\n\t\t'blocks.getSaveContent.extraProps',\n\t\t'core/editor/hooks',\n\t\t( props ) => {\n\t\t\t// Previously we had a filter deleting the className if it was an empty\n\t\t\t// string. That filter is no longer running, so now we need to delete it\n\t\t\t// here.\n\t\t\tif ( props.hasOwnProperty( 'className' ) && ! props.className ) {\n\t\t\t\tdelete props.className;\n\t\t\t}\n\n\t\t\treturn props;\n\t\t}\n\t);\n}\n"],"mappings":";;;;;;;;;;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAKA,IAAAK,QAAA,GAAAL,OAAA;AAKA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AAIA,IAAAW,KAAA,GAAAC,sBAAA,CAAAZ,OAAA;AAzBA;AACA;AACA;;AAOA;AACA;AACA;;AAWA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMa,gBAAgB,GAAKC,MAAM,IAAM;EAC7C,IACCA,MAAM,KAAK,IAAI,IACf,OAAOA,MAAM,KAAK,QAAQ,IAC1BC,KAAK,CAACC,OAAO,CAAEF,MAAO,CAAC,EACtB;IACD,OAAOA,MAAM;EACd;EAEA,MAAMG,oBAAoB,GAAGC,MAAM,CAACC,OAAO,CAAEL,MAAO,CAAC,CACnDM,GAAG,CAAE,CAAE,CAAEC,GAAG,EAAEC,KAAK,CAAE,KAAM,CAAED,GAAG,EAAER,gBAAgB,CAAES,KAAM,CAAC,CAAG,CAAC,CAC/DC,MAAM,CAAE,CAAE,GAAID,KAAK,CAAE,KAAMA,KAAK,KAAKE,SAAU,CAAC;EAClD,OAAO,CAAEP,oBAAoB,CAACQ,MAAM,GACjCD,SAAS,GACTN,MAAM,CAACQ,WAAW,CAAET,oBAAqB,CAAC;AAC9C,CAAC;AAACU,OAAA,CAAAd,gBAAA,GAAAA,gBAAA;AAEK,SAASe,eAAeA,CAC9BC,cAAc,EACdC,cAAc,EACdC,MAAM,EACNC,MAAM,EACNC,KAAK,EACLC,OAAO,EACN;EACD;EACA,IACChB,MAAM,CAACiB,MAAM,CAAEN,cAAc,aAAdA,cAAc,cAAdA,cAAc,GAAI,CAAC,CAAE,CAAC,CAACO,KAAK,CACxCC,QAAQ,IAAM,CAAEA,QACnB,CAAC,EACA;IACD,OAAON,MAAM;EACd;EACA;EACA;EACA,IAAKG,OAAO,CAACT,MAAM,KAAK,CAAC,IAAIM,MAAM,CAACO,WAAW,CAACb,MAAM,KAAKO,MAAM,CAACP,MAAM,EAAG;IAC1E,OAAOM,MAAM;EACd;EACA;EACA;EACA;EACA,IAAIQ,wBAAwB,GAAGP,MAAM,CAAE,CAAC,CAAE,EAAEQ,UAAU;EACtD;EACA;EACA;EACA;EACA,IAAKN,OAAO,CAACT,MAAM,GAAG,CAAC,IAAIO,MAAM,CAACP,MAAM,GAAG,CAAC,EAAG;IAC9C,IAAKO,MAAM,CAAEC,KAAK,CAAE,EAAG;MACtBM,wBAAwB,GAAGP,MAAM,CAAEC,KAAK,CAAE,EAAEO,UAAU;IACvD,CAAC,MAAM;MACN,OAAOT,MAAM;IACd;EACD;EACA,IAAIU,WAAW,GAAGV,MAAM;EACxBb,MAAM,CAACC,OAAO,CAAEU,cAAe,CAAC,CAACa,OAAO,CAAE,CAAE,CAAEC,OAAO,EAAEN,QAAQ,CAAE,KAAM;IACtE,IAAKA,QAAQ,EAAG;MACfP,cAAc,CAAEa,OAAO,CAAE,CAACD,OAAO,CAAIE,IAAI,IAAM;QAC9C,MAAMC,UAAU,GAAG,IAAAC,8BAAsB,EACxCP,wBAAwB,EACxBK,IACD,CAAC;QACD,IAAKC,UAAU,EAAG;UACjBJ,WAAW,GAAG;YACb,GAAGA,WAAW;YACdD,UAAU,EAAE,IAAAO,oBAAY,EACvBN,WAAW,CAACD,UAAU,EACtBI,IAAI,EACJC,UACD;UACD,CAAC;QACF;MACD,CAAE,CAAC;IACJ;EACD,CAAE,CAAC;EACH,OAAOJ,WAAW;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,uBAAuBA,CACtCC,eAAe,EACfC,UAAU,EACVC,OAAO,EACN;EACD,MAAMR,OAAO,GAAG,IAAAS,uBAAe,EAAEH,eAAe,EAAEC,UAAW,CAAC;EAC9D,MAAMG,iBAAiB,GAAGV,OAAO,EAAEW,+BAA+B;EAElE,IAAKvC,KAAK,CAACC,OAAO,CAAEqC,iBAAkB,CAAC,EAAG;IACzC,OAAOA,iBAAiB,CAACE,QAAQ,CAAEJ,OAAQ,CAAC;EAC7C;EAEA,OAAOE,iBAAiB;AACzB;AAEA,MAAMG,qBAAqB,GAAG,IAAIC,OAAO,CAAC,CAAC;AAEpC,SAASC,gBAAgBA,CAAE;EACjCC,EAAE;EACFC,GAAG;EACHC,MAAM;EACNC,cAAc;EACdC;AACD,CAAC,GAAG,CAAC,CAAC,EAAG;EACR,MAAM;IAAEC,gBAAgB;IAAEC;EAAoB,CAAC,GAAG,IAAAC,kBAAM,EACvD,IAAAC,iBAAW,EAAEC,YAAiB,CAC/B,CAAC;EACD,MAAMC,QAAQ,GAAG,IAAAC,iBAAW,EAAC,CAAC;EAC9B,MAAMC,UAAU,GAAG,IAAAC,cAAK,EAAC,CAAC;EAC1B,IAAAC,kBAAS,EAAE,MAAM;IAChB;IACA,IAAK,CAAEb,GAAG,IAAI,CAAEC,MAAM,EAAG;MACxB;IACD;IAEA,MAAMa,GAAG,GAAGf,EAAE,IAAIY,UAAU;IAC5B,MAAMI,QAAQ,GAAG;MAChBhB,EAAE;MACFC,GAAG;MACHC,MAAM;MACNC,cAAc;MACdC;IACD,CAAC;IACD;IACA;IACA,IAAK,CAAEP,qBAAqB,CAACoB,GAAG,CAAEP,QAAS,CAAC,EAAG;MAC9Cb,qBAAqB,CAACqB,GAAG,CAAER,QAAQ,EAAE,EAAG,CAAC;IAC1C;IACAb,qBAAqB,CAACoB,GAAG,CAAEP,QAAS,CAAC,CAACS,IAAI,CAAE,CAAEJ,GAAG,EAAEC,QAAQ,CAAG,CAAC;IAC/DI,MAAM,CAACC,cAAc,CAAE,MAAM;MAC5B,IAAKxB,qBAAqB,CAACoB,GAAG,CAAEP,QAAS,CAAC,EAAE5C,MAAM,EAAG;QACpD4C,QAAQ,CAACY,KAAK,CAAE,MAAM;UACrBzB,qBAAqB,CAACoB,GAAG,CAAEP,QAAS,CAAC,CAAC3B,OAAO,CAAIwC,IAAI,IAAM;YAC1DlB,gBAAgB,CAAE,GAAGkB,IAAK,CAAC;UAC5B,CAAE,CAAC;UACH1B,qBAAqB,CAACqB,GAAG,CAAER,QAAQ,EAAE,EAAG,CAAC;QAC1C,CAAE,CAAC;MACJ;IACD,CAAE,CAAC;IAEH,OAAO,MAAM;MACZ,MAAMc,SAAS,GAAG3B,qBAAqB,CACrCoB,GAAG,CAAEP,QAAS,CAAC,EACde,IAAI,CAAE,CAAE,CAAEC,SAAS,CAAE,KAAMA,SAAS,KAAKX,GAAI,CAAC;MACjD,IAAKS,SAAS,EAAG;QAChB3B,qBAAqB,CAACqB,GAAG,CACxBR,QAAQ,EACRb,qBAAqB,CACnBoB,GAAG,CAAEP,QAAS,CAAC,CACf9C,MAAM,CAAE,CAAE,CAAE8D,SAAS,CAAE,KAAMA,SAAS,KAAKX,GAAI,CAClD,CAAC;MACF,CAAC,MAAM;QACNT,mBAAmB,CAAES,GAAI,CAAC;MAC3B;IACD,CAAC;EACF,CAAC,EAAE,CACFf,EAAE,EACFC,GAAG,EACHG,QAAQ,EACRF,MAAM,EACNC,cAAc,EACdS,UAAU,EACVP,gBAAgB,EAChBC,mBAAmB,EACnBI,QAAQ,CACP,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASiB,gBAAgBA,CAAEC,IAAI,EAAEC,YAAY,EAAG;EACtD,MAAM,CACLC,eAAe,EACfC,cAAc,EACdC,kBAAkB,EAClBC,mBAAmB,EACnBC,iBAAiB,EACjBC,uBAAuB,EACvBC,eAAe,EACfC,gBAAgB,EAChBC,cAAc,EACdC,cAAc,EACdC,SAAS,EACTC,UAAU,EACVC,UAAU,EACVC,SAAS,EACTC,WAAW,EACXC,cAAc,EACdC,WAAW,EACXC,aAAa,EACbC,aAAa,EACbC,OAAO,EACPC,MAAM,EACNC,QAAQ,EACRC,YAAY,EACZC,KAAK,EACLC,WAAW,EACXC,SAAS,EACTC,MAAM,EACNC,WAAW,EACXC,YAAY,EACZC,WAAW,EACXC,WAAW,EACXC,mBAAmB,EACnBC,YAAY,EACZC,aAAa,EACbC,WAAW,EACXC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,kBAAkB,EAClBC,mBAAmB,EACnBC,qBAAqB,EACrBC,mBAAmB,EACnBC,oBAAoB,EACpBC,sBAAsB,EACtBC,gBAAgB,EAChBC,yBAAyB,EACzBC,mBAAmB,EACnBC,aAAa,EACbC,aAAa,EACbC,gBAAgB,EAChBC,eAAe,EACfC,MAAM,CACN,GAAG,IAAAC,uBAAW,EACd,4BAA4B,EAC5B,2BAA2B,EAC3B,gCAAgC,EAChC,iCAAiC,EACjC,+BAA+B,EAC/B,6BAA6B,EAC7B,6BAA6B,EAC7B,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,wBAAwB,EACxB,sBAAsB,EACtB,QAAQ,EACR,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,cAAc,EACd,QACD,CAAC;EAED,MAAMC,WAAW,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAClC,OAAO;MACNC,UAAU,EAAE;QACXvD,eAAe;QACfC;MACD,CAAC;MACDuD,KAAK,EAAE;QACNC,OAAO,EAAE;UACRC,MAAM,EAAE1B,YAAY;UACpB2B,KAAK,EAAEzB,WAAW;UAClB0B,OAAO,EAAEzB;QACV,CAAC;QACD0B,SAAS,EAAE;UACVH,MAAM,EAAEjB,mBAAmB;UAC3BkB,KAAK,EAAEjB,oBAAoB;UAC3BkB,OAAO,EAAEjB;QACV,CAAC;QACDmB,OAAO,EAAE;UACRJ,MAAM,EAAEpB,kBAAkB;UAC1BqB,KAAK,EAAEpB,mBAAmB;UAC1BqB,OAAO,EAAEpB;QACV,CAAC;QACDI,gBAAgB;QAChBR,cAAc;QACdC,cAAc;QACdqB,MAAM,EAAE3B,mBAAmB;QAC3BgC,cAAc,EAAElB,yBAAyB;QACzCZ,aAAa;QACbsB,UAAU,EAAET,mBAAmB;QAC/BkB,IAAI,EAAEjB,aAAa;QACnBkB,OAAO,EAAEhB,gBAAgB;QACzBiB,MAAM,EAAEhB,eAAe;QACvBiB,IAAI,EAAEnB;MACP,CAAC;MACDoB,UAAU,EAAE;QACXC,YAAY,EAAE;UACbX,MAAM,EAAExD,kBAAkB;UAC1B0D,OAAO,EAAEzD,mBAAmB;UAC5BwD,KAAK,EAAEvD;QACR,CAAC;QACDkE,SAAS,EAAE;UACVZ,MAAM,EAAEpD,eAAe;UACvBsD,OAAO,EAAErD,gBAAgB;UACzBoD,KAAK,EAAEnD;QACR,CAAC;QACDC,cAAc;QACdF,gBAAgB,EAAEF,uBAAuB;QACzCK,SAAS;QACTC,UAAU;QACVC,UAAU;QACVC,SAAS;QACTC,WAAW;QACXC,cAAc;QACdE,aAAa;QACbC,aAAa;QACbF;MACD,CAAC;MACDuD,OAAO,EAAE;QACRjD,YAAY,EAAE;UACboC,MAAM,EAAEpC;QACT,CAAC;QACDH,OAAO;QACPC,MAAM;QACNC,QAAQ;QACRE;MACD,CAAC;MACDiD,MAAM,EAAE;QACPhB,KAAK,EAAE7B,WAAW;QAClB8C,MAAM,EAAE7C,YAAY;QACpB8C,KAAK,EAAE7C,WAAW;QAClB8C,KAAK,EAAE7C;MACR,CAAC;MACD8C,UAAU,EAAE;QACXpD,WAAW;QACXC;MACD,CAAC;MACDC,MAAM;MACN3B,YAAY;MACZoD;IACD,CAAC;EACF,CAAC,EAAE,CACFnD,eAAe,EACfC,cAAc,EACdC,kBAAkB,EAClBC,mBAAmB,EACnBC,iBAAiB,EACjBC,uBAAuB,EACvBC,eAAe,EACfC,gBAAgB,EAChBC,cAAc,EACdC,cAAc,EACdC,SAAS,EACTC,UAAU,EACVC,UAAU,EACVC,SAAS,EACTC,WAAW,EACXC,cAAc,EACdE,aAAa,EACbC,aAAa,EACbF,WAAW,EACXG,OAAO,EACPC,MAAM,EACNC,QAAQ,EACRC,YAAY,EACZC,KAAK,EACLC,WAAW,EACXC,SAAS,EACTC,MAAM,EACN3B,YAAY,EACZ4B,WAAW,EACXC,YAAY,EACZC,WAAW,EACXC,WAAW,EACXC,mBAAmB,EACnBC,YAAY,EACZC,aAAa,EACbC,WAAW,EACXC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,kBAAkB,EAClBC,mBAAmB,EACnBC,qBAAqB,EACrBC,mBAAmB,EACnBC,oBAAoB,EACpBC,sBAAsB,EACtBC,gBAAgB,EAChBC,yBAAyB,EACzBC,mBAAmB,EACnBC,aAAa,EACbC,aAAa,EACbC,gBAAgB,EAChBC,eAAe,EACfC,MAAM,CACL,CAAC;EAEH,OAAO,IAAA0B,kCAA0B,EAAExB,WAAW,EAAEvD,IAAK,CAAC;AACvD;AAEO,SAASgF,qBAAqBA,CAAEC,QAAQ,EAAG;EACjD;EACA;EACA;EACAA,QAAQ,GAAGA,QAAQ,CAACpJ,GAAG,CAAIqJ,QAAQ,IAAM;IACxC,OAAO;MAAE,GAAGA,QAAQ;MAAEC,IAAI,EAAE,IAAAC,aAAI,EAAEF,QAAQ,CAACG,IAAK;IAAE,CAAC;EACpD,CAAE,CAAC;EACH,MAAMC,kBAAkB,GAAG,IAAAC,mCAA0B,EAClDC,iBAAiB,IAAQC,KAAK,IAAM;IACrC,MAAMC,OAAO,GAAG,IAAAC,4BAAmB,EAAC,CAAC;IACrC;IACA;IACA;IACA;IACA,OAAO,CACN,GAAGV,QAAQ,CAACpJ,GAAG,CAAE,CAAE+B,OAAO,EAAEgI,CAAC,KAAM;MAClC,MAAM;QACLT,IAAI;QACJU,UAAU;QACVC,aAAa,GAAG,EAAE;QAClBC;MACD,CAAC,GAAGnI,OAAO;MACX,MAAMoI,qBAAqB,GAC1BN,OAAO,CAAEO,8BAAqB,CAAE,IAC9BP,OAAO,CAAEQ,oCAA2B,CAAE,IACvCH,oBAAsB;MAExB,IACC,CAAEC,qBAAqB,IACvB,CAAEH,UAAU,CAAEJ,KAAK,CAACzF,IAAK,CAAC,EACzB;QACD,OAAO,IAAI;MACZ;MAEA,MAAMmG,WAAW,GAAG,CAAC,CAAC;MACtB,KAAM,MAAMrK,GAAG,IAAIgK,aAAa,EAAG;QAClC,IAAKL,KAAK,CAACxI,UAAU,CAAEnB,GAAG,CAAE,EAAG;UAC9BqK,WAAW,CAAErK,GAAG,CAAE,GAAG2J,KAAK,CAACxI,UAAU,CAAEnB,GAAG,CAAE;QAC7C;MACD;MAEA,OACC,IAAAsK,MAAA,CAAAC,aAAA,EAAClB;MACA;MACA;MAAA;QACArJ,GAAG,EAAG8J,CAAG;QACT5F,IAAI,EAAGyF,KAAK,CAACzF,IAAM;QACnBsG,UAAU,EAAGb,KAAK,CAACa,UAAY;QAC/B9H,QAAQ,EAAGiH,KAAK,CAACjH,QAAU;QAC3B+H,aAAa,EAAGd,KAAK,CAACc,aAAe;QACrCC,sBAAsB,EACrBf,KAAK,CAACe;QAEP;QACA;QAAA;QAAA,GACKL;MAAW,CAChB,CAAC;IAEJ,CAAE,CAAC,EACH,IAAAC,MAAA,CAAAC,aAAA,EAACb,iBAAiB;MAAC1J,GAAG,EAAC,MAAM;MAAA,GAAM2J;IAAK,CAAI,CAAC,CAC7C;EACF,CAAC,EACD,oBACD,CAAC;EACD,IAAAgB,gBAAS,EAAE,kBAAkB,EAAE,mBAAmB,EAAEnB,kBAAmB,CAAC;AACzE;AAEA,SAASoB,UAAUA,CAAE;EAAEhK,KAAK;EAAEiK,aAAa;EAAEC,kBAAkB;EAAE,GAAGnB;AAAM,CAAC,EAAG;EAC7E,MAAMoB,YAAY,GAAGF,aAAa,CAAElB,KAAM,CAAC;EAC3C,MAAMqB,eAAe,GAAKC,IAAI,IAC7BH,kBAAkB,CAAII,IAAI,IAAM;IAC/B,MAAMC,OAAO,GAAG,CAAE,GAAGD,IAAI,CAAE;IAC3BC,OAAO,CAAEvK,KAAK,CAAE,GAAGqK,IAAI;IACvB,OAAOE,OAAO;EACf,CAAE,CAAC;EACJ;EACA;EACA,IAAA/H,kBAAS,EAAE,MAAM;IAChB;IACA;IACA4H,eAAe,CAAED,YAAa,CAAC;IAC/B,OAAO,MAAM;MACZC,eAAe,CAAE7K,SAAU,CAAC;IAC7B,CAAC;EACF,CAAE,CAAC;EACH,OAAO,IAAI;AACZ;AAEA,MAAMiL,cAAc,GAAG,IAAA9B,aAAI,EAAEsB,UAAW,CAAC;AAElC,SAASS,0BAA0BA,CAAElC,QAAQ,EAAG;EACtD,MAAMmC,uBAAuB,GAAG,IAAA7B,mCAA0B,EACvD8B,cAAc,IAAQ5B,KAAK,IAAM;IAClC,MAAM,CAAE6B,eAAe,EAAEV,kBAAkB,CAAE,GAAG,IAAAW,iBAAQ,EACvD/L,KAAK,CAAEyJ,QAAQ,CAAC/I,MAAO,CAAC,CAACsL,IAAI,CAAEvL,SAAU,CAC1C,CAAC;IACD,OAAO,CACN,GAAGgJ,QAAQ,CAACpJ,GAAG,CAAE,CAAE+B,OAAO,EAAEgI,CAAC,KAAM;MAClC,MAAM;QACLC,UAAU;QACVC,aAAa,GAAG,EAAE;QAClBa;MACD,CAAC,GAAG/I,OAAO;MAEX,MAAMuI,WAAW,GAAG,CAAC,CAAC;MACtB,KAAM,MAAMrK,GAAG,IAAIgK,aAAa,EAAG;QAClC,IAAKL,KAAK,CAACxI,UAAU,CAAEnB,GAAG,CAAE,EAAG;UAC9BqK,WAAW,CAAErK,GAAG,CAAE,GAAG2J,KAAK,CAACxI,UAAU,CAAEnB,GAAG,CAAE;QAC7C;MACD;MAEA;MACC;MACA;MACA,CAAEH,MAAM,CAAC8L,IAAI,CAAEtB,WAAY,CAAC,CAACjK,MAAM,IACnC,CAAE2J,UAAU,CAAEJ,KAAK,CAACzF,IAAK,CAAC,EACzB;QACD,OAAO,IAAI;MACZ;MAEA,OACC,IAAAoG,MAAA,CAAAC,aAAA,EAACa;MACA;MACA;MAAA;QACApL,GAAG,EAAG8J,CAAG;QACTlJ,KAAK,EAAGkJ,CAAG;QACXe,aAAa,EAAGA;QAChB;QACA;QAAA;QACAC,kBAAkB,EAAGA,kBAAoB;QACzC5G,IAAI,EAAGyF,KAAK,CAACzF;QACb;QACA;QAAA;QAAA,GACKmG;MAAW,CAChB,CAAC;IAEJ,CAAE,CAAC,EACH,IAAAC,MAAA,CAAAC,aAAA,EAACgB,cAAc;MACdvL,GAAG,EAAC,MAAM;MAAA,GACL2J,KAAK;MACVoB,YAAY,EAAGS,eAAe,CAC5BtL,MAAM,CAAE0L,OAAQ,CAAC,CACjBC,MAAM,CAAE,CAAEC,GAAG,EAAEf,YAAY,KAAM;QACjC,OAAO;UACN,GAAGe,GAAG;UACN,GAAGf,YAAY;UACfgB,SAAS,EAAE,IAAAC,aAAI,EACdF,GAAG,CAACC,SAAS,EACbhB,YAAY,CAACgB,SACd,CAAC;UACDjD,KAAK,EAAE;YACN,GAAGgD,GAAG,CAAChD,KAAK;YACZ,GAAGiC,YAAY,CAACjC;UACjB;QACD,CAAC;MACF,CAAC,EAAEa,KAAK,CAACoB,YAAY,IAAI,CAAC,CAAE;IAAG,CAChC,CAAC,CACF;EACF,CAAC,EACD,yBACD,CAAC;EACD,IAAAJ,gBAAS,EACR,uBAAuB,EACvB,mBAAmB,EACnBW,uBACD,CAAC;AACF;AAEO,SAASW,qBAAqBA,CAAE9C,QAAQ,EAAG;EACjD,SAAS+C,mBAAmBA,CAAEvC,KAAK,EAAEzF,IAAI,EAAE/C,UAAU,EAAG;IACvD,OAAOgI,QAAQ,CAAC0C,MAAM,CAAE,CAAEM,IAAI,EAAErK,OAAO,KAAM;MAC5C,MAAM;QAAEiI,UAAU;QAAEC,aAAa,GAAG,EAAE;QAAEoC;MAAa,CAAC,GAAGtK,OAAO;MAEhE,MAAMuK,gBAAgB,GAAG,CAAC,CAAC;MAC3B,KAAM,MAAMrM,GAAG,IAAIgK,aAAa,EAAG;QAClC,IAAK7I,UAAU,CAAEnB,GAAG,CAAE,EAAG;UACxBqM,gBAAgB,CAAErM,GAAG,CAAE,GAAGmB,UAAU,CAAEnB,GAAG,CAAE;QAC5C;MACD;MAEA;MACC;MACA;MACA,CAAEH,MAAM,CAAC8L,IAAI,CAAEU,gBAAiB,CAAC,CAACjM,MAAM,IACxC,CAAE2J,UAAU,CAAE7F,IAAK,CAAC,EACnB;QACD,OAAOiI,IAAI;MACZ;MAEA,OAAOC,YAAY,CAAED,IAAI,EAAEjI,IAAI,EAAEmI,gBAAiB,CAAC;IACpD,CAAC,EAAE1C,KAAM,CAAC;EACX;EACA,IAAAgB,gBAAS,EACR,kCAAkC,EAClC,mBAAmB,EACnBuB,mBAAmB,EACnB,CACD,CAAC;EACD,IAAAvB,gBAAS,EACR,kCAAkC,EAClC,mBAAmB,EACjBhB,KAAK,IAAM;IACZ;IACA;IACA;IACA,IAAKA,KAAK,CAAC2C,cAAc,CAAE,WAAY,CAAC,IAAI,CAAE3C,KAAK,CAACoC,SAAS,EAAG;MAC/D,OAAOpC,KAAK,CAACoC,SAAS;IACvB;IAEA,OAAOpC,KAAK;EACb,CACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_blocks","require","_element","_data","_compose","_hooks","_context","_components","_hooks2","_object","_store","_lockUnlock","_clsx","_interopRequireDefault","_jsxRuntime","cleanEmptyObject","object","Array","isArray","cleanedNestedObjects","Object","entries","map","key","value","filter","undefined","length","fromEntries","exports","transformStyles","activeSupports","migrationPaths","result","source","index","results","values","every","isActive","innerBlocks","referenceBlockAttributes","attributes","returnBlock","forEach","support","path","styleValue","getValueFromObjectPath","setImmutably","shouldSkipSerialization","blockNameOrType","featureSet","feature","getBlockSupport","skipSerialization","__experimentalSkipSerialization","includes","pendingStyleOverrides","WeakMap","useStyleOverride","id","css","assets","__unstableType","clientId","setStyleOverride","deleteStyleOverride","unlock","useDispatch","blockEditorStore","registry","useRegistry","fallbackId","useId","useEffect","_id","override","get","set","push","window","queueMicrotask","batch","args","isPending","find","currentId","useBlockSettings","name","parentLayout","backgroundImage","backgroundSize","customFontFamilies","defaultFontFamilies","themeFontFamilies","defaultFontSizesEnabled","customFontSizes","defaultFontSizes","themeFontSizes","customFontSize","fontStyle","fontWeight","lineHeight","textAlign","textColumns","textDecoration","writingMode","textTransform","letterSpacing","padding","margin","blockGap","defaultSpacingSizesEnabled","customSpacingSize","userSpacingSizes","defaultSpacingSizes","themeSpacingSizes","units","aspectRatio","minHeight","layout","borderColor","borderRadius","borderStyle","borderWidth","customColorsEnabled","customColors","customDuotone","themeColors","defaultColors","defaultPalette","defaultDuotone","userDuotonePalette","themeDuotonePalette","defaultDuotonePalette","userGradientPalette","themeGradientPalette","defaultGradientPalette","defaultGradients","areCustomGradientsEnabled","isBackgroundEnabled","isLinkEnabled","isTextEnabled","isHeadingEnabled","isButtonEnabled","shadow","useSettings","rawSettings","useMemo","background","color","palette","custom","theme","default","gradients","duotone","customGradient","link","heading","button","text","typography","fontFamilies","fontSizes","spacing","spacingSizes","border","radius","style","width","dimensions","useSettingsForBlockElement","createBlockEditFilter","features","settings","Edit","memo","edit","withBlockEditHooks","createHigherOrderComponent","OriginalBlockEdit","props","context","useBlockEditContext","i","hasSupport","attributeKeys","shareWithChildBlocks","shouldDisplayControls","mayDisplayControlsKey","mayDisplayParentControlsKey","neededProps","jsx","isSelected","setAttributes","__unstableParentLayout","addFilter","BlockProps","useBlockProps","setAllWrapperProps","wrapperProps","setWrapperProps","next","prev","nextAll","BlockPropsPure","createBlockListBlockFilter","withBlockListBlockHooks","BlockListBlock","allWrapperProps","useState","fill","keys","Boolean","reduce","acc","className","clsx","createBlockSaveFilter","extraPropsFromHooks","accu","addSaveProps","neededAttributes","hasOwnProperty"],"sources":["@wordpress/block-editor/src/hooks/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { memo, useMemo, useEffect, useId, useState } from '@wordpress/element';\nimport { useDispatch, useRegistry } from '@wordpress/data';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseBlockEditContext,\n\tmayDisplayControlsKey,\n\tmayDisplayParentControlsKey,\n} from '../components/block-edit/context';\nimport { useSettings } from '../components';\nimport { useSettingsForBlockElement } from '../components/global-styles/hooks';\nimport { getValueFromObjectPath, setImmutably } from '../utils/object';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Removed falsy values from nested object.\n *\n * @param {*} object\n * @return {*} Object cleaned from falsy values\n */\nexport const cleanEmptyObject = ( object ) => {\n\tif (\n\t\tobject === null ||\n\t\ttypeof object !== 'object' ||\n\t\tArray.isArray( object )\n\t) {\n\t\treturn object;\n\t}\n\n\tconst cleanedNestedObjects = Object.entries( object )\n\t\t.map( ( [ key, value ] ) => [ key, cleanEmptyObject( value ) ] )\n\t\t.filter( ( [ , value ] ) => value !== undefined );\n\treturn ! cleanedNestedObjects.length\n\t\t? undefined\n\t\t: Object.fromEntries( cleanedNestedObjects );\n};\n\nexport function transformStyles(\n\tactiveSupports,\n\tmigrationPaths,\n\tresult,\n\tsource,\n\tindex,\n\tresults\n) {\n\t// If there are no active supports return early.\n\tif (\n\t\tObject.values( activeSupports ?? {} ).every(\n\t\t\t( isActive ) => ! isActive\n\t\t)\n\t) {\n\t\treturn result;\n\t}\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the styles should not be transformed.\n\tif ( results.length === 1 && result.innerBlocks.length === source.length ) {\n\t\treturn result;\n\t}\n\t// For cases where we have a transform from one block to multiple blocks\n\t// or multiple blocks to one block we apply the styles of the first source block\n\t// to the result(s).\n\tlet referenceBlockAttributes = source[ 0 ]?.attributes;\n\t// If we are in presence of transform between more than one block in the source\n\t// that has more than one block in the result\n\t// we apply the styles on source N to the result N,\n\t// if source N does not exists we do nothing.\n\tif ( results.length > 1 && source.length > 1 ) {\n\t\tif ( source[ index ] ) {\n\t\t\treferenceBlockAttributes = source[ index ]?.attributes;\n\t\t} else {\n\t\t\treturn result;\n\t\t}\n\t}\n\tlet returnBlock = result;\n\tObject.entries( activeSupports ).forEach( ( [ support, isActive ] ) => {\n\t\tif ( isActive ) {\n\t\t\tmigrationPaths[ support ].forEach( ( path ) => {\n\t\t\t\tconst styleValue = getValueFromObjectPath(\n\t\t\t\t\treferenceBlockAttributes,\n\t\t\t\t\tpath\n\t\t\t\t);\n\t\t\t\tif ( styleValue ) {\n\t\t\t\t\treturnBlock = {\n\t\t\t\t\t\t...returnBlock,\n\t\t\t\t\t\tattributes: setImmutably(\n\t\t\t\t\t\t\treturnBlock.attributes,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tstyleValue\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t} );\n\treturn returnBlock;\n}\n\n/**\n * Check whether serialization of specific block support feature or set should\n * be skipped.\n *\n * @param {string|Object} blockNameOrType Block name or block type object.\n * @param {string} featureSet Name of block support feature set.\n * @param {string} feature Name of the individual feature to check.\n *\n * @return {boolean} Whether serialization should occur.\n */\nexport function shouldSkipSerialization(\n\tblockNameOrType,\n\tfeatureSet,\n\tfeature\n) {\n\tconst support = getBlockSupport( blockNameOrType, featureSet );\n\tconst skipSerialization = support?.__experimentalSkipSerialization;\n\n\tif ( Array.isArray( skipSerialization ) ) {\n\t\treturn skipSerialization.includes( feature );\n\t}\n\n\treturn skipSerialization;\n}\n\nconst pendingStyleOverrides = new WeakMap();\n\nexport function useStyleOverride( {\n\tid,\n\tcss,\n\tassets,\n\t__unstableType,\n\tclientId,\n} = {} ) {\n\tconst { setStyleOverride, deleteStyleOverride } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tconst registry = useRegistry();\n\tconst fallbackId = useId();\n\tuseEffect( () => {\n\t\t// Unmount if there is CSS and assets are empty.\n\t\tif ( ! css && ! assets ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst _id = id || fallbackId;\n\t\tconst override = {\n\t\t\tid,\n\t\t\tcss,\n\t\t\tassets,\n\t\t\t__unstableType,\n\t\t\tclientId,\n\t\t};\n\t\t// Batch updates to style overrides to avoid triggering cascading renders\n\t\t// for each style override block included in a tree and optimize initial render.\n\t\tif ( ! pendingStyleOverrides.get( registry ) ) {\n\t\t\tpendingStyleOverrides.set( registry, [] );\n\t\t}\n\t\tpendingStyleOverrides.get( registry ).push( [ _id, override ] );\n\t\twindow.queueMicrotask( () => {\n\t\t\tif ( pendingStyleOverrides.get( registry )?.length ) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tpendingStyleOverrides.get( registry ).forEach( ( args ) => {\n\t\t\t\t\t\tsetStyleOverride( ...args );\n\t\t\t\t\t} );\n\t\t\t\t\tpendingStyleOverrides.set( registry, [] );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\treturn () => {\n\t\t\tconst isPending = pendingStyleOverrides\n\t\t\t\t.get( registry )\n\t\t\t\t?.find( ( [ currentId ] ) => currentId === _id );\n\t\t\tif ( isPending ) {\n\t\t\t\tpendingStyleOverrides.set(\n\t\t\t\t\tregistry,\n\t\t\t\t\tpendingStyleOverrides\n\t\t\t\t\t\t.get( registry )\n\t\t\t\t\t\t.filter( ( [ currentId ] ) => currentId !== _id )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tdeleteStyleOverride( _id );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tid,\n\t\tcss,\n\t\tclientId,\n\t\tassets,\n\t\t__unstableType,\n\t\tfallbackId,\n\t\tsetStyleOverride,\n\t\tdeleteStyleOverride,\n\t\tregistry,\n\t] );\n}\n\n/**\n * Based on the block and its context, returns an object of all the block settings.\n * This object can be passed as a prop to all the Styles UI components\n * (TypographyPanel, DimensionsPanel...).\n *\n * @param {string} name Block name.\n * @param {*} parentLayout Parent layout.\n *\n * @return {Object} Settings object.\n */\nexport function useBlockSettings( name, parentLayout ) {\n\tconst [\n\t\tbackgroundImage,\n\t\tbackgroundSize,\n\t\tcustomFontFamilies,\n\t\tdefaultFontFamilies,\n\t\tthemeFontFamilies,\n\t\tdefaultFontSizesEnabled,\n\t\tcustomFontSizes,\n\t\tdefaultFontSizes,\n\t\tthemeFontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextAlign,\n\t\ttextColumns,\n\t\ttextDecoration,\n\t\twritingMode,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\tpadding,\n\t\tmargin,\n\t\tblockGap,\n\t\tdefaultSpacingSizesEnabled,\n\t\tcustomSpacingSize,\n\t\tuserSpacingSizes,\n\t\tdefaultSpacingSizes,\n\t\tthemeSpacingSizes,\n\t\tunits,\n\t\taspectRatio,\n\t\tminHeight,\n\t\tlayout,\n\t\tborderColor,\n\t\tborderRadius,\n\t\tborderStyle,\n\t\tborderWidth,\n\t\tcustomColorsEnabled,\n\t\tcustomColors,\n\t\tcustomDuotone,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tdefaultPalette,\n\t\tdefaultDuotone,\n\t\tuserDuotonePalette,\n\t\tthemeDuotonePalette,\n\t\tdefaultDuotonePalette,\n\t\tuserGradientPalette,\n\t\tthemeGradientPalette,\n\t\tdefaultGradientPalette,\n\t\tdefaultGradients,\n\t\tareCustomGradientsEnabled,\n\t\tisBackgroundEnabled,\n\t\tisLinkEnabled,\n\t\tisTextEnabled,\n\t\tisHeadingEnabled,\n\t\tisButtonEnabled,\n\t\tshadow,\n\t] = useSettings(\n\t\t'background.backgroundImage',\n\t\t'background.backgroundSize',\n\t\t'typography.fontFamilies.custom',\n\t\t'typography.fontFamilies.default',\n\t\t'typography.fontFamilies.theme',\n\t\t'typography.defaultFontSizes',\n\t\t'typography.fontSizes.custom',\n\t\t'typography.fontSizes.default',\n\t\t'typography.fontSizes.theme',\n\t\t'typography.customFontSize',\n\t\t'typography.fontStyle',\n\t\t'typography.fontWeight',\n\t\t'typography.lineHeight',\n\t\t'typography.textAlign',\n\t\t'typography.textColumns',\n\t\t'typography.textDecoration',\n\t\t'typography.writingMode',\n\t\t'typography.textTransform',\n\t\t'typography.letterSpacing',\n\t\t'spacing.padding',\n\t\t'spacing.margin',\n\t\t'spacing.blockGap',\n\t\t'spacing.defaultSpacingSizes',\n\t\t'spacing.customSpacingSize',\n\t\t'spacing.spacingSizes.custom',\n\t\t'spacing.spacingSizes.default',\n\t\t'spacing.spacingSizes.theme',\n\t\t'spacing.units',\n\t\t'dimensions.aspectRatio',\n\t\t'dimensions.minHeight',\n\t\t'layout',\n\t\t'border.color',\n\t\t'border.radius',\n\t\t'border.style',\n\t\t'border.width',\n\t\t'color.custom',\n\t\t'color.palette.custom',\n\t\t'color.customDuotone',\n\t\t'color.palette.theme',\n\t\t'color.palette.default',\n\t\t'color.defaultPalette',\n\t\t'color.defaultDuotone',\n\t\t'color.duotone.custom',\n\t\t'color.duotone.theme',\n\t\t'color.duotone.default',\n\t\t'color.gradients.custom',\n\t\t'color.gradients.theme',\n\t\t'color.gradients.default',\n\t\t'color.defaultGradients',\n\t\t'color.customGradient',\n\t\t'color.background',\n\t\t'color.link',\n\t\t'color.text',\n\t\t'color.heading',\n\t\t'color.button',\n\t\t'shadow'\n\t);\n\n\tconst rawSettings = useMemo( () => {\n\t\treturn {\n\t\t\tbackground: {\n\t\t\t\tbackgroundImage,\n\t\t\t\tbackgroundSize,\n\t\t\t},\n\t\t\tcolor: {\n\t\t\t\tpalette: {\n\t\t\t\t\tcustom: customColors,\n\t\t\t\t\ttheme: themeColors,\n\t\t\t\t\tdefault: defaultColors,\n\t\t\t\t},\n\t\t\t\tgradients: {\n\t\t\t\t\tcustom: userGradientPalette,\n\t\t\t\t\ttheme: themeGradientPalette,\n\t\t\t\t\tdefault: defaultGradientPalette,\n\t\t\t\t},\n\t\t\t\tduotone: {\n\t\t\t\t\tcustom: userDuotonePalette,\n\t\t\t\t\ttheme: themeDuotonePalette,\n\t\t\t\t\tdefault: defaultDuotonePalette,\n\t\t\t\t},\n\t\t\t\tdefaultGradients,\n\t\t\t\tdefaultPalette,\n\t\t\t\tdefaultDuotone,\n\t\t\t\tcustom: customColorsEnabled,\n\t\t\t\tcustomGradient: areCustomGradientsEnabled,\n\t\t\t\tcustomDuotone,\n\t\t\t\tbackground: isBackgroundEnabled,\n\t\t\t\tlink: isLinkEnabled,\n\t\t\t\theading: isHeadingEnabled,\n\t\t\t\tbutton: isButtonEnabled,\n\t\t\t\ttext: isTextEnabled,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontFamilies: {\n\t\t\t\t\tcustom: customFontFamilies,\n\t\t\t\t\tdefault: defaultFontFamilies,\n\t\t\t\t\ttheme: themeFontFamilies,\n\t\t\t\t},\n\t\t\t\tfontSizes: {\n\t\t\t\t\tcustom: customFontSizes,\n\t\t\t\t\tdefault: defaultFontSizes,\n\t\t\t\t\ttheme: themeFontSizes,\n\t\t\t\t},\n\t\t\t\tcustomFontSize,\n\t\t\t\tdefaultFontSizes: defaultFontSizesEnabled,\n\t\t\t\tfontStyle,\n\t\t\t\tfontWeight,\n\t\t\t\tlineHeight,\n\t\t\t\ttextAlign,\n\t\t\t\ttextColumns,\n\t\t\t\ttextDecoration,\n\t\t\t\ttextTransform,\n\t\t\t\tletterSpacing,\n\t\t\t\twritingMode,\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tspacingSizes: {\n\t\t\t\t\tcustom: userSpacingSizes,\n\t\t\t\t\tdefault: defaultSpacingSizes,\n\t\t\t\t\ttheme: themeSpacingSizes,\n\t\t\t\t},\n\t\t\t\tcustomSpacingSize,\n\t\t\t\tdefaultSpacingSizes: defaultSpacingSizesEnabled,\n\t\t\t\tpadding,\n\t\t\t\tmargin,\n\t\t\t\tblockGap,\n\t\t\t\tunits,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tcolor: borderColor,\n\t\t\t\tradius: borderRadius,\n\t\t\t\tstyle: borderStyle,\n\t\t\t\twidth: borderWidth,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\taspectRatio,\n\t\t\t\tminHeight,\n\t\t\t},\n\t\t\tlayout,\n\t\t\tparentLayout,\n\t\t\tshadow,\n\t\t};\n\t}, [\n\t\tbackgroundImage,\n\t\tbackgroundSize,\n\t\tcustomFontFamilies,\n\t\tdefaultFontFamilies,\n\t\tthemeFontFamilies,\n\t\tdefaultFontSizesEnabled,\n\t\tcustomFontSizes,\n\t\tdefaultFontSizes,\n\t\tthemeFontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextAlign,\n\t\ttextColumns,\n\t\ttextDecoration,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\twritingMode,\n\t\tpadding,\n\t\tmargin,\n\t\tblockGap,\n\t\tdefaultSpacingSizesEnabled,\n\t\tcustomSpacingSize,\n\t\tuserSpacingSizes,\n\t\tdefaultSpacingSizes,\n\t\tthemeSpacingSizes,\n\t\tunits,\n\t\taspectRatio,\n\t\tminHeight,\n\t\tlayout,\n\t\tparentLayout,\n\t\tborderColor,\n\t\tborderRadius,\n\t\tborderStyle,\n\t\tborderWidth,\n\t\tcustomColorsEnabled,\n\t\tcustomColors,\n\t\tcustomDuotone,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tdefaultPalette,\n\t\tdefaultDuotone,\n\t\tuserDuotonePalette,\n\t\tthemeDuotonePalette,\n\t\tdefaultDuotonePalette,\n\t\tuserGradientPalette,\n\t\tthemeGradientPalette,\n\t\tdefaultGradientPalette,\n\t\tdefaultGradients,\n\t\tareCustomGradientsEnabled,\n\t\tisBackgroundEnabled,\n\t\tisLinkEnabled,\n\t\tisTextEnabled,\n\t\tisHeadingEnabled,\n\t\tisButtonEnabled,\n\t\tshadow,\n\t] );\n\n\treturn useSettingsForBlockElement( rawSettings, name );\n}\n\nexport function createBlockEditFilter( features ) {\n\t// We don't want block controls to re-render when typing inside a block.\n\t// `memo` will prevent re-renders unless props change, so only pass the\n\t// needed props and not the whole attributes object.\n\tfeatures = features.map( ( settings ) => {\n\t\treturn { ...settings, Edit: memo( settings.edit ) };\n\t} );\n\tconst withBlockEditHooks = createHigherOrderComponent(\n\t\t( OriginalBlockEdit ) => ( props ) => {\n\t\t\tconst context = useBlockEditContext();\n\t\t\t// CAUTION: code added before this line will be executed for all\n\t\t\t// blocks, not just those that support the feature! Code added\n\t\t\t// above this line should be carefully evaluated for its impact on\n\t\t\t// performance.\n\t\t\treturn [\n\t\t\t\t...features.map( ( feature, i ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tEdit,\n\t\t\t\t\t\thasSupport,\n\t\t\t\t\t\tattributeKeys = [],\n\t\t\t\t\t\tshareWithChildBlocks,\n\t\t\t\t\t} = feature;\n\t\t\t\t\tconst shouldDisplayControls =\n\t\t\t\t\t\tcontext[ mayDisplayControlsKey ] ||\n\t\t\t\t\t\t( context[ mayDisplayParentControlsKey ] &&\n\t\t\t\t\t\t\tshareWithChildBlocks );\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t! shouldDisplayControls ||\n\t\t\t\t\t\t! hasSupport( props.name )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst neededProps = {};\n\t\t\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\t\t\tif ( props.attributes[ key ] ) {\n\t\t\t\t\t\t\tneededProps[ key ] = props.attributes[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Edit\n\t\t\t\t\t\t\t// We can use the index because the array length\n\t\t\t\t\t\t\t// is fixed per page load right now.\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tname={ props.name }\n\t\t\t\t\t\t\tisSelected={ props.isSelected }\n\t\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\t\tsetAttributes={ props.setAttributes }\n\t\t\t\t\t\t\t__unstableParentLayout={\n\t\t\t\t\t\t\t\tprops.__unstableParentLayout\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// This component is pure, so only pass needed\n\t\t\t\t\t\t\t// props!!!\n\t\t\t\t\t\t\t{ ...neededProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t\t\t<OriginalBlockEdit key=\"edit\" { ...props } />,\n\t\t\t];\n\t\t},\n\t\t'withBlockEditHooks'\n\t);\n\taddFilter( 'editor.BlockEdit', 'core/editor/hooks', withBlockEditHooks );\n}\n\nfunction BlockProps( { index, useBlockProps, setAllWrapperProps, ...props } ) {\n\tconst wrapperProps = useBlockProps( props );\n\tconst setWrapperProps = ( next ) =>\n\t\tsetAllWrapperProps( ( prev ) => {\n\t\t\tconst nextAll = [ ...prev ];\n\t\t\tnextAll[ index ] = next;\n\t\t\treturn nextAll;\n\t\t} );\n\t// Setting state after every render is fine because this component is\n\t// pure and will only re-render when needed props change.\n\tuseEffect( () => {\n\t\t// We could shallow compare the props, but since this component only\n\t\t// changes when needed attributes change, the benefit is probably small.\n\t\tsetWrapperProps( wrapperProps );\n\t\treturn () => {\n\t\t\tsetWrapperProps( undefined );\n\t\t};\n\t} );\n\treturn null;\n}\n\nconst BlockPropsPure = memo( BlockProps );\n\nexport function createBlockListBlockFilter( features ) {\n\tconst withBlockListBlockHooks = createHigherOrderComponent(\n\t\t( BlockListBlock ) => ( props ) => {\n\t\t\tconst [ allWrapperProps, setAllWrapperProps ] = useState(\n\t\t\t\tArray( features.length ).fill( undefined )\n\t\t\t);\n\t\t\treturn [\n\t\t\t\t...features.map( ( feature, i ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\thasSupport,\n\t\t\t\t\t\tattributeKeys = [],\n\t\t\t\t\t\tuseBlockProps,\n\t\t\t\t\t} = feature;\n\n\t\t\t\t\tconst neededProps = {};\n\t\t\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\t\t\tif ( props.attributes[ key ] ) {\n\t\t\t\t\t\t\tneededProps[ key ] = props.attributes[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t// Skip rendering if none of the needed attributes are\n\t\t\t\t\t\t// set.\n\t\t\t\t\t\t! Object.keys( neededProps ).length ||\n\t\t\t\t\t\t! hasSupport( props.name )\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<BlockPropsPure\n\t\t\t\t\t\t\t// We can use the index because the array length\n\t\t\t\t\t\t\t// is fixed per page load right now.\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tindex={ i }\n\t\t\t\t\t\t\tuseBlockProps={ useBlockProps }\n\t\t\t\t\t\t\t// This component is pure, so we must pass a stable\n\t\t\t\t\t\t\t// function reference.\n\t\t\t\t\t\t\tsetAllWrapperProps={ setAllWrapperProps }\n\t\t\t\t\t\t\tname={ props.name }\n\t\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\t\t// This component is pure, so only pass needed\n\t\t\t\t\t\t\t// props!!!\n\t\t\t\t\t\t\t{ ...neededProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t\t\t<BlockListBlock\n\t\t\t\t\tkey=\"edit\"\n\t\t\t\t\t{ ...props }\n\t\t\t\t\twrapperProps={ allWrapperProps\n\t\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t\t.reduce( ( acc, wrapperProps ) => {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...acc,\n\t\t\t\t\t\t\t\t...wrapperProps,\n\t\t\t\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t\t\t\tacc.className,\n\t\t\t\t\t\t\t\t\twrapperProps.className\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t...acc.style,\n\t\t\t\t\t\t\t\t\t...wrapperProps.style,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}, props.wrapperProps || {} ) }\n\t\t\t\t/>,\n\t\t\t];\n\t\t},\n\t\t'withBlockListBlockHooks'\n\t);\n\taddFilter(\n\t\t'editor.BlockListBlock',\n\t\t'core/editor/hooks',\n\t\twithBlockListBlockHooks\n\t);\n}\n\nexport function createBlockSaveFilter( features ) {\n\tfunction extraPropsFromHooks( props, name, attributes ) {\n\t\treturn features.reduce( ( accu, feature ) => {\n\t\t\tconst { hasSupport, attributeKeys = [], addSaveProps } = feature;\n\n\t\t\tconst neededAttributes = {};\n\t\t\tfor ( const key of attributeKeys ) {\n\t\t\t\tif ( attributes[ key ] ) {\n\t\t\t\t\tneededAttributes[ key ] = attributes[ key ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t// Skip rendering if none of the needed attributes are\n\t\t\t\t// set.\n\t\t\t\t! Object.keys( neededAttributes ).length ||\n\t\t\t\t! hasSupport( name )\n\t\t\t) {\n\t\t\t\treturn accu;\n\t\t\t}\n\n\t\t\treturn addSaveProps( accu, name, neededAttributes );\n\t\t}, props );\n\t}\n\taddFilter(\n\t\t'blocks.getSaveContent.extraProps',\n\t\t'core/editor/hooks',\n\t\textraPropsFromHooks,\n\t\t0\n\t);\n\taddFilter(\n\t\t'blocks.getSaveContent.extraProps',\n\t\t'core/editor/hooks',\n\t\t( props ) => {\n\t\t\t// Previously we had a filter deleting the className if it was an empty\n\t\t\t// string. That filter is no longer running, so now we need to delete it\n\t\t\t// here.\n\t\t\tif ( props.hasOwnProperty( 'className' ) && ! props.className ) {\n\t\t\t\tdelete props.className;\n\t\t\t}\n\n\t\t\treturn props;\n\t\t}\n\t);\n}\n"],"mappings":"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","ignoreList":[]}