@wordpress/block-editor 12.25.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 (1876) hide show
  1. package/CHANGELOG.md +15 -3
  2. package/README.md +7 -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-actions/index.js +4 -2
  18. package/build/components/block-actions/index.js.map +1 -1
  19. package/build/components/block-alignment-control/index.js +3 -3
  20. package/build/components/block-alignment-control/index.js.map +1 -1
  21. package/build/components/block-alignment-control/ui.js +34 -31
  22. package/build/components/block-alignment-control/ui.js.map +1 -1
  23. package/build/components/block-alignment-control/ui.native.js +2 -2
  24. package/build/components/block-alignment-control/ui.native.js.map +1 -1
  25. package/build/components/block-alignment-matrix-control/index.js +5 -5
  26. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  27. package/build/components/block-bindings-toolbar-indicator/index.js +92 -11
  28. package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  29. package/build/components/block-breadcrumb/index.js +38 -34
  30. package/build/components/block-breadcrumb/index.js.map +1 -1
  31. package/build/components/block-canvas/index.js +36 -31
  32. package/build/components/block-canvas/index.js.map +1 -1
  33. package/build/components/block-caption/index.native.js +15 -14
  34. package/build/components/block-caption/index.native.js.map +1 -1
  35. package/build/components/block-card/index.js +33 -28
  36. package/build/components/block-card/index.js.map +1 -1
  37. package/build/components/block-compare/block-view.js +27 -18
  38. package/build/components/block-compare/block-view.js.map +1 -1
  39. package/build/components/block-compare/index.js +25 -24
  40. package/build/components/block-compare/index.js.map +1 -1
  41. package/build/components/block-context/index.js +3 -4
  42. package/build/components/block-context/index.js.map +1 -1
  43. package/build/components/block-controls/fill.js +22 -16
  44. package/build/components/block-controls/fill.js.map +1 -1
  45. package/build/components/block-controls/index.js +3 -3
  46. package/build/components/block-controls/index.js.map +1 -1
  47. package/build/components/block-controls/slot.js +6 -4
  48. package/build/components/block-controls/slot.js.map +1 -1
  49. package/build/components/block-controls/slot.native.js +12 -9
  50. package/build/components/block-controls/slot.native.js.map +1 -1
  51. package/build/components/block-controls/use-has-block-controls.js +1 -1
  52. package/build/components/block-controls/use-has-block-controls.js.map +1 -1
  53. package/build/components/block-draggable/draggable-chip.js +27 -19
  54. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  55. package/build/components/block-draggable/draggable-chip.native.js +9 -8
  56. package/build/components/block-draggable/draggable-chip.native.js.map +1 -1
  57. package/build/components/block-draggable/dropping-insertion-point.native.js +3 -4
  58. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  59. package/build/components/block-draggable/index.js +14 -13
  60. package/build/components/block-draggable/index.js.map +1 -1
  61. package/build/components/block-draggable/index.native.js +37 -30
  62. package/build/components/block-draggable/index.native.js.map +1 -1
  63. package/build/components/block-edit/edit.js +7 -8
  64. package/build/components/block-edit/edit.js.map +1 -1
  65. package/build/components/block-edit/edit.native.js +3 -4
  66. package/build/components/block-edit/edit.native.js.map +1 -1
  67. package/build/components/block-edit/index.js +17 -9
  68. package/build/components/block-edit/index.js.map +1 -1
  69. package/build/components/block-edit/multiple-usage-warning.js +47 -0
  70. package/build/components/block-edit/multiple-usage-warning.js.map +1 -0
  71. package/build/components/block-edit-visually-button/index.js +9 -6
  72. package/build/components/block-edit-visually-button/index.js.map +1 -1
  73. package/build/components/block-full-height-alignment-control/index.js +2 -2
  74. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  75. package/build/components/block-heading-level-dropdown/heading-level-icon.js +3 -5
  76. package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  77. package/build/components/block-heading-level-dropdown/index.js +4 -4
  78. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  79. package/build/components/block-heading-level-dropdown/index.native.js +4 -4
  80. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  81. package/build/components/block-icon/index.js +8 -7
  82. package/build/components/block-icon/index.js.map +1 -1
  83. package/build/components/block-icon/index.native.js +6 -5
  84. package/build/components/block-icon/index.native.js.map +1 -1
  85. package/build/components/block-info-slot-fill/index.js +3 -3
  86. package/build/components/block-info-slot-fill/index.js.map +1 -1
  87. package/build/components/block-inspector/index.js +103 -89
  88. package/build/components/block-inspector/index.js.map +1 -1
  89. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  90. package/build/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  91. package/build/components/block-list/block-crash-warning.js +5 -4
  92. package/build/components/block-list/block-crash-warning.js.map +1 -1
  93. package/build/components/block-list/block-crash-warning.native.js +2 -2
  94. package/build/components/block-list/block-crash-warning.native.js.map +1 -1
  95. package/build/components/block-list/block-html.js +2 -2
  96. package/build/components/block-list/block-html.js.map +1 -1
  97. package/build/components/block-list/block-invalid-warning.js +25 -21
  98. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  99. package/build/components/block-list/block-invalid-warning.native.js +12 -11
  100. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  101. package/build/components/block-list/block-list-item-cell.native.js +5 -4
  102. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  103. package/build/components/block-list/block-list-item.native.js +29 -28
  104. package/build/components/block-list/block-list-item.native.js.map +1 -1
  105. package/build/components/block-list/block-outline.native.js +2 -2
  106. package/build/components/block-list/block-outline.native.js.map +1 -1
  107. package/build/components/block-list/block-selection-button.native.js +35 -33
  108. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  109. package/build/components/block-list/block.js +110 -65
  110. package/build/components/block-list/block.js.map +1 -1
  111. package/build/components/block-list/block.native.js +65 -56
  112. package/build/components/block-list/block.native.js.map +1 -1
  113. package/build/components/block-list/grid-item.native.js +5 -4
  114. package/build/components/block-list/grid-item.native.js.map +1 -1
  115. package/build/components/block-list/index.js +40 -36
  116. package/build/components/block-list/index.js.map +1 -1
  117. package/build/components/block-list/index.native.js +97 -85
  118. package/build/components/block-list/index.native.js.map +1 -1
  119. package/build/components/block-list/insertion-point.native.js +12 -10
  120. package/build/components/block-list/insertion-point.native.js.map +1 -1
  121. package/build/components/block-list/layout.js +7 -3
  122. package/build/components/block-list/layout.js.map +1 -1
  123. package/build/components/block-list/subdirectory-icon.js +8 -7
  124. package/build/components/block-list/subdirectory-icon.js.map +1 -1
  125. package/build/components/block-list/use-block-props/index.js +6 -3
  126. package/build/components/block-list/use-block-props/index.js.map +1 -1
  127. package/build/components/block-list/use-block-props/use-scroll-into-view.js +44 -0
  128. package/build/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
  129. package/build/components/block-list-appender/index.js +11 -10
  130. package/build/components/block-list-appender/index.js.map +1 -1
  131. package/build/components/block-list-appender/index.native.js +4 -4
  132. package/build/components/block-list-appender/index.native.js.map +1 -1
  133. package/build/components/block-lock/menu-item.js +13 -10
  134. package/build/components/block-lock/menu-item.js.map +1 -1
  135. package/build/components/block-lock/modal.js +107 -90
  136. package/build/components/block-lock/modal.js.map +1 -1
  137. package/build/components/block-lock/toolbar.js +18 -15
  138. package/build/components/block-lock/toolbar.js.map +1 -1
  139. package/build/components/block-media-update-progress/index.native.js +17 -15
  140. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  141. package/build/components/block-mover/button.js +20 -17
  142. package/build/components/block-mover/button.js.map +1 -1
  143. package/build/components/block-mover/index.js +36 -29
  144. package/build/components/block-mover/index.js.map +1 -1
  145. package/build/components/block-mover/index.native.js +29 -27
  146. package/build/components/block-mover/index.native.js.map +1 -1
  147. package/build/components/block-navigation/dropdown.js +11 -9
  148. package/build/components/block-navigation/dropdown.js.map +1 -1
  149. package/build/components/block-parent-selector/index.js +14 -15
  150. package/build/components/block-parent-selector/index.js.map +1 -1
  151. package/build/components/block-pattern-setup/index.js +88 -76
  152. package/build/components/block-pattern-setup/index.js.map +1 -1
  153. package/build/components/block-pattern-setup/setup-toolbar.js +50 -45
  154. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  155. package/build/components/block-patterns-list/index.js +119 -88
  156. package/build/components/block-patterns-list/index.js.map +1 -1
  157. package/build/components/block-patterns-paging/index.js +70 -52
  158. package/build/components/block-patterns-paging/index.js.map +1 -1
  159. package/build/components/block-popover/cover.js +19 -13
  160. package/build/components/block-popover/cover.js.map +1 -1
  161. package/build/components/block-popover/drop-zone.js +11 -10
  162. package/build/components/block-popover/drop-zone.js.map +1 -1
  163. package/build/components/block-popover/inbetween.js +10 -9
  164. package/build/components/block-popover/inbetween.js.map +1 -1
  165. package/build/components/block-popover/index.js +28 -8
  166. package/build/components/block-popover/index.js.map +1 -1
  167. package/build/components/block-preview/auto.js +53 -47
  168. package/build/components/block-preview/auto.js.map +1 -1
  169. package/build/components/block-preview/index.js +18 -16
  170. package/build/components/block-preview/index.js.map +1 -1
  171. package/build/components/block-quick-navigation/index.js +24 -16
  172. package/build/components/block-quick-navigation/index.js.map +1 -1
  173. package/build/components/block-removal-warning-modal/index.js +18 -12
  174. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  175. package/build/components/block-rename/modal.js +44 -37
  176. package/build/components/block-rename/modal.js.map +1 -1
  177. package/build/components/block-rename/rename-control.js +24 -21
  178. package/build/components/block-rename/rename-control.js.map +1 -1
  179. package/build/components/block-selection-clearer/index.js +2 -2
  180. package/build/components/block-selection-clearer/index.js.map +1 -1
  181. package/build/components/block-settings/button.native.js +13 -9
  182. package/build/components/block-settings/button.native.js.map +1 -1
  183. package/build/components/block-settings/container.native.js +40 -28
  184. package/build/components/block-settings/container.native.js.map +1 -1
  185. package/build/components/block-settings-menu/block-html-convert-button.js +5 -4
  186. package/build/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  187. package/build/components/block-settings-menu/block-mode-toggle.js +5 -4
  188. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  189. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +7 -6
  190. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  191. package/build/components/block-settings-menu/block-settings-dropdown.js +99 -78
  192. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  193. package/build/components/block-settings-menu/index.js +10 -6
  194. package/build/components/block-settings-menu/index.js.map +1 -1
  195. package/build/components/block-settings-menu-controls/index.js +37 -29
  196. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  197. package/build/components/block-styles/index.js +44 -39
  198. package/build/components/block-styles/index.js.map +1 -1
  199. package/build/components/block-styles/index.native.js +7 -7
  200. package/build/components/block-styles/index.native.js.map +1 -1
  201. package/build/components/block-styles/menu-items.js +17 -14
  202. package/build/components/block-styles/menu-items.js.map +1 -1
  203. package/build/components/block-styles/preview-panel.js +2 -2
  204. package/build/components/block-styles/preview-panel.js.map +1 -1
  205. package/build/components/block-styles/preview.native.js +24 -21
  206. package/build/components/block-styles/preview.native.js.map +1 -1
  207. package/build/components/block-switcher/block-styles-menu.js +8 -7
  208. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  209. package/build/components/block-switcher/block-transformations-menu.js +32 -30
  210. package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
  211. package/build/components/block-switcher/block-transformations-menu.native.js +2 -2
  212. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  213. package/build/components/block-switcher/block-variation-transformations.js +19 -17
  214. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  215. package/build/components/block-switcher/index.js +85 -70
  216. package/build/components/block-switcher/index.js.map +1 -1
  217. package/build/components/block-switcher/pattern-transformations-menu.js +61 -51
  218. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  219. package/build/components/block-switcher/preview-block-popover.js +22 -17
  220. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  221. package/build/components/block-toolbar/block-toolbar-menu.native.js +38 -34
  222. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  223. package/build/components/block-toolbar/index.js +56 -46
  224. package/build/components/block-toolbar/index.js.map +1 -1
  225. package/build/components/block-toolbar/index.native.js +27 -21
  226. package/build/components/block-toolbar/index.native.js.map +1 -1
  227. package/build/components/block-toolbar/shuffle.js +7 -5
  228. package/build/components/block-toolbar/shuffle.js.map +1 -1
  229. package/build/components/block-tools/block-selection-button.js +63 -50
  230. package/build/components/block-tools/block-selection-button.js.map +1 -1
  231. package/build/components/block-tools/block-toolbar-breadcrumb.js +11 -10
  232. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  233. package/build/components/block-tools/block-toolbar-popover.js +17 -16
  234. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  235. package/build/components/block-tools/empty-block-inserter.js +15 -13
  236. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  237. package/build/components/block-tools/index.js +49 -27
  238. package/build/components/block-tools/index.js.map +1 -1
  239. package/build/components/block-tools/insertion-point.js +44 -42
  240. package/build/components/block-tools/insertion-point.js.map +1 -1
  241. package/build/components/block-tools/zoom-out-mode-inserters.js +70 -25
  242. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  243. package/build/components/block-types-list/index.js +15 -15
  244. package/build/components/block-types-list/index.js.map +1 -1
  245. package/build/components/block-types-list/index.native.js +30 -26
  246. package/build/components/block-types-list/index.native.js.map +1 -1
  247. package/build/components/block-variation-picker/index.js +32 -27
  248. package/build/components/block-variation-picker/index.js.map +1 -1
  249. package/build/components/block-variation-picker/index.native.js +32 -25
  250. package/build/components/block-variation-picker/index.native.js.map +1 -1
  251. package/build/components/block-variation-transforms/index.js +53 -47
  252. package/build/components/block-variation-transforms/index.js.map +1 -1
  253. package/build/components/block-vertical-alignment-control/icons.js +31 -26
  254. package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
  255. package/build/components/block-vertical-alignment-control/index.js +3 -3
  256. package/build/components/block-vertical-alignment-control/index.js.map +1 -1
  257. package/build/components/block-vertical-alignment-control/ui.js +2 -2
  258. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  259. package/build/components/border-radius-control/all-input-control.js +3 -3
  260. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  261. package/build/components/border-radius-control/index.js +43 -38
  262. package/build/components/border-radius-control/index.js.map +1 -1
  263. package/build/components/border-radius-control/input-controls.js +23 -21
  264. package/build/components/border-radius-control/input-controls.js.map +1 -1
  265. package/build/components/border-radius-control/linked-button.js +12 -11
  266. package/build/components/border-radius-control/linked-button.js.map +1 -1
  267. package/build/components/button-block-appender/index.js +17 -14
  268. package/build/components/button-block-appender/index.js.map +1 -1
  269. package/build/components/button-block-appender/index.native.js +28 -24
  270. package/build/components/button-block-appender/index.native.js.map +1 -1
  271. package/build/components/caption/index.native.js +22 -21
  272. package/build/components/caption/index.native.js.map +1 -1
  273. package/build/components/child-layout-control/index.js +137 -129
  274. package/build/components/child-layout-control/index.js.map +1 -1
  275. package/build/components/color-palette/control.js +2 -2
  276. package/build/components/color-palette/control.js.map +1 -1
  277. package/build/components/color-palette/with-color-context.js +2 -2
  278. package/build/components/color-palette/with-color-context.js.map +1 -1
  279. package/build/components/color-style-selector/index.js +29 -20
  280. package/build/components/color-style-selector/index.js.map +1 -1
  281. package/build/components/colors/utils.js +3 -3
  282. package/build/components/colors/utils.js.map +1 -1
  283. package/build/components/colors/with-colors.js +8 -7
  284. package/build/components/colors/with-colors.js.map +1 -1
  285. package/build/components/colors-gradients/control.js +54 -40
  286. package/build/components/colors-gradients/control.js.map +1 -1
  287. package/build/components/colors-gradients/dropdown.js +72 -63
  288. package/build/components/colors-gradients/dropdown.js.map +1 -1
  289. package/build/components/colors-gradients/panel-color-gradient-settings.js +23 -20
  290. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  291. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +11 -7
  292. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  293. package/build/components/contrast-checker/index.js +10 -8
  294. package/build/components/contrast-checker/index.js.map +1 -1
  295. package/build/components/contrast-checker/index.native.js +12 -10
  296. package/build/components/contrast-checker/index.native.js.map +1 -1
  297. package/build/components/convert-to-group-buttons/index.js +22 -12
  298. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  299. package/build/components/convert-to-group-buttons/toolbar.js +20 -18
  300. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  301. package/build/components/copy-handler/index.js +2 -2
  302. package/build/components/copy-handler/index.js.map +1 -1
  303. package/build/components/date-format-picker/index.js +44 -40
  304. package/build/components/date-format-picker/index.js.map +1 -1
  305. package/build/components/default-block-appender/index.js +34 -32
  306. package/build/components/default-block-appender/index.js.map +1 -1
  307. package/build/components/default-block-appender/index.native.js +14 -12
  308. package/build/components/default-block-appender/index.native.js.map +1 -1
  309. package/build/components/dimensions-tool/aspect-ratio-tool.js +42 -49
  310. package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  311. package/build/components/dimensions-tool/index.js +116 -115
  312. package/build/components/dimensions-tool/index.js.map +1 -1
  313. package/build/components/dimensions-tool/scale-tool.js +16 -16
  314. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  315. package/build/components/dimensions-tool/width-height-tool.js +37 -33
  316. package/build/components/dimensions-tool/width-height-tool.js.map +1 -1
  317. package/build/components/duotone-control/index.js +21 -18
  318. package/build/components/duotone-control/index.js.map +1 -1
  319. package/build/components/editable-text/index.js +6 -5
  320. package/build/components/editable-text/index.js.map +1 -1
  321. package/build/components/editor-styles/index.js +23 -21
  322. package/build/components/editor-styles/index.js.map +1 -1
  323. package/build/components/floating-toolbar/index.native.js +18 -16
  324. package/build/components/floating-toolbar/index.native.js.map +1 -1
  325. package/build/components/floating-toolbar/nav-up-icon.js +14 -13
  326. package/build/components/floating-toolbar/nav-up-icon.js.map +1 -1
  327. package/build/components/font-appearance-control/index.js +2 -2
  328. package/build/components/font-appearance-control/index.js.map +1 -1
  329. package/build/components/font-family/index.js +2 -2
  330. package/build/components/font-family/index.js.map +1 -1
  331. package/build/components/font-sizes/font-size-picker.js +2 -2
  332. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  333. package/build/components/font-sizes/utils.js +4 -3
  334. package/build/components/font-sizes/utils.js.map +1 -1
  335. package/build/components/font-sizes/with-font-sizes.js +3 -3
  336. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  337. package/build/components/global-styles/advanced-panel.js +17 -15
  338. package/build/components/global-styles/advanced-panel.js.map +1 -1
  339. package/build/components/global-styles/background-panel.js +189 -123
  340. package/build/components/global-styles/background-panel.js.map +1 -1
  341. package/build/components/global-styles/border-panel.js +62 -56
  342. package/build/components/global-styles/border-panel.js.map +1 -1
  343. package/build/components/global-styles/color-panel.js +113 -89
  344. package/build/components/global-styles/color-panel.js.map +1 -1
  345. package/build/components/global-styles/color-panel.native.js +14 -11
  346. package/build/components/global-styles/color-panel.native.js.map +1 -1
  347. package/build/components/global-styles/dimensions-panel.js +184 -172
  348. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  349. package/build/components/global-styles/filters-panel.js +79 -66
  350. package/build/components/global-styles/filters-panel.js.map +1 -1
  351. package/build/components/global-styles/hooks.js +14 -2
  352. package/build/components/global-styles/hooks.js.map +1 -1
  353. package/build/components/global-styles/image-settings-panel.js +26 -22
  354. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  355. package/build/components/global-styles/index.js +18 -0
  356. package/build/components/global-styles/index.js.map +1 -1
  357. package/build/components/global-styles/shadow-panel-components.js +78 -69
  358. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  359. package/build/components/global-styles/theme-file-uri-utils.js +80 -0
  360. package/build/components/global-styles/theme-file-uri-utils.js.map +1 -0
  361. package/build/components/global-styles/typography-panel.js +175 -134
  362. package/build/components/global-styles/typography-panel.js.map +1 -1
  363. package/build/components/global-styles/use-global-styles-context.native.js +450 -0
  364. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -0
  365. package/build/components/global-styles/use-global-styles-output.js +114 -79
  366. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  367. package/build/components/gradients/with-gradient.js +2 -2
  368. package/build/components/gradients/with-gradient.js.map +1 -1
  369. package/build/components/grid-visualizer/grid-item-resizer.js +161 -43
  370. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  371. package/build/components/grid-visualizer/grid-visualizer.js +30 -19
  372. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -1
  373. package/build/components/height-control/index.js +39 -32
  374. package/build/components/height-control/index.js.map +1 -1
  375. package/build/components/iframe/index.js +118 -71
  376. package/build/components/iframe/index.js.map +1 -1
  377. package/build/components/image-editor/aspect-ratio-dropdown.js +95 -74
  378. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  379. package/build/components/image-editor/context.js +5 -4
  380. package/build/components/image-editor/context.js.map +1 -1
  381. package/build/components/image-editor/cropper.js +26 -23
  382. package/build/components/image-editor/cropper.js.map +1 -1
  383. package/build/components/image-editor/form-controls.js +11 -7
  384. package/build/components/image-editor/form-controls.js.map +1 -1
  385. package/build/components/image-editor/index.js +23 -14
  386. package/build/components/image-editor/index.js.map +1 -1
  387. package/build/components/image-editor/rotation-button.js +2 -2
  388. package/build/components/image-editor/rotation-button.js.map +1 -1
  389. package/build/components/image-editor/zoom-dropdown.js +4 -4
  390. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  391. package/build/components/image-link-destinations/index.native.js +37 -27
  392. package/build/components/image-link-destinations/index.native.js.map +1 -1
  393. package/build/components/image-size-control/index.js +53 -45
  394. package/build/components/image-size-control/index.js.map +1 -1
  395. package/build/components/index.js +8 -0
  396. package/build/components/index.js.map +1 -1
  397. package/build/components/index.native.js +37 -0
  398. package/build/components/index.native.js.map +1 -1
  399. package/build/components/inner-blocks/button-block-appender.js +4 -4
  400. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  401. package/build/components/inner-blocks/default-block-appender.js +2 -2
  402. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  403. package/build/components/inner-blocks/index.js +41 -37
  404. package/build/components/inner-blocks/index.js.map +1 -1
  405. package/build/components/inner-blocks/index.native.js +31 -29
  406. package/build/components/inner-blocks/index.native.js.map +1 -1
  407. package/build/components/inner-blocks/use-nested-settings-update.js +10 -13
  408. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  409. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +20 -17
  410. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  411. package/build/components/inner-blocks/with-client-id.js +2 -2
  412. package/build/components/inner-blocks/with-client-id.js.map +1 -1
  413. package/build/components/inserter/block-patterns-explorer/index.js +22 -20
  414. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  415. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +39 -36
  416. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  417. package/build/components/inserter/block-patterns-explorer/pattern-list.js +26 -20
  418. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  419. package/build/components/inserter/block-patterns-tab/index.js +44 -28
  420. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  421. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +21 -4
  422. package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  423. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +43 -32
  424. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  425. package/build/components/inserter/block-patterns-tab/patterns-filter.js +54 -42
  426. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  427. package/build/components/inserter/block-types-tab.js +108 -64
  428. package/build/components/inserter/block-types-tab.js.map +1 -1
  429. package/build/components/inserter/block-types-tab.native.js +2 -2
  430. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  431. package/build/components/inserter/category-tabs/index.js +26 -20
  432. package/build/components/inserter/category-tabs/index.js.map +1 -1
  433. package/build/components/inserter/hooks/use-block-types-state.js +9 -4
  434. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  435. package/build/components/inserter/hooks/use-insertion-point.js +44 -7
  436. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  437. package/build/components/inserter/hooks/use-patterns-state.js +12 -5
  438. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  439. package/build/components/inserter/index.js +8 -8
  440. package/build/components/inserter/index.js.map +1 -1
  441. package/build/components/inserter/index.native.js +21 -19
  442. package/build/components/inserter/index.native.js.map +1 -1
  443. package/build/components/inserter/library.js +22 -9
  444. package/build/components/inserter/library.js.map +1 -1
  445. package/build/components/inserter/media-tab/media-list.js +9 -9
  446. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  447. package/build/components/inserter/media-tab/media-panel.js +19 -17
  448. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  449. package/build/components/inserter/media-tab/media-preview.js +93 -67
  450. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  451. package/build/components/inserter/media-tab/media-tab.js +44 -36
  452. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  453. package/build/components/inserter/media-tab/utils.js +2 -2
  454. package/build/components/inserter/media-tab/utils.js.map +1 -1
  455. package/build/components/inserter/menu.js +138 -105
  456. package/build/components/inserter/menu.js.map +1 -1
  457. package/build/components/inserter/menu.native.js +34 -28
  458. package/build/components/inserter/menu.native.js.map +1 -1
  459. package/build/components/inserter/mobile-tab-navigation.js +56 -40
  460. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  461. package/build/components/inserter/no-results.js +10 -7
  462. package/build/components/inserter/no-results.js.map +1 -1
  463. package/build/components/inserter/no-results.native.js +13 -8
  464. package/build/components/inserter/no-results.native.js.map +1 -1
  465. package/build/components/inserter/panel.js +15 -10
  466. package/build/components/inserter/panel.js.map +1 -1
  467. package/build/components/inserter/preview-panel.js +24 -20
  468. package/build/components/inserter/preview-panel.js.map +1 -1
  469. package/build/components/inserter/quick-inserter.js +37 -33
  470. package/build/components/inserter/quick-inserter.js.map +1 -1
  471. package/build/components/inserter/reusable-block-rename-hint.js +20 -18
  472. package/build/components/inserter/reusable-block-rename-hint.js.map +1 -1
  473. package/build/components/inserter/reusable-blocks-tab.native.js +2 -2
  474. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  475. package/build/components/inserter/search-results.js +52 -41
  476. package/build/components/inserter/search-results.js.map +1 -1
  477. package/build/components/inserter/search-results.native.js +3 -3
  478. package/build/components/inserter/search-results.native.js.map +1 -1
  479. package/build/components/inserter/tabs.js +34 -18
  480. package/build/components/inserter/tabs.js.map +1 -1
  481. package/build/components/inserter/tabs.native.js +20 -18
  482. package/build/components/inserter/tabs.native.js.map +1 -1
  483. package/build/components/inserter/tips.js +7 -5
  484. package/build/components/inserter/tips.js.map +1 -1
  485. package/build/components/inserter-button/index.native.js +28 -23
  486. package/build/components/inserter-button/index.native.js.map +1 -1
  487. package/build/components/inserter-button/sparkles.js +8 -7
  488. package/build/components/inserter-button/sparkles.js.map +1 -1
  489. package/build/components/inserter-draggable-blocks/index.js +14 -13
  490. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  491. package/build/components/inserter-list-item/index.js +69 -63
  492. package/build/components/inserter-list-item/index.js.map +1 -1
  493. package/build/components/inserter-listbox/group.js +2 -2
  494. package/build/components/inserter-listbox/group.js.map +1 -1
  495. package/build/components/inserter-listbox/index.js +5 -4
  496. package/build/components/inserter-listbox/index.js.map +1 -1
  497. package/build/components/inserter-listbox/item.js +10 -8
  498. package/build/components/inserter-listbox/item.js.map +1 -1
  499. package/build/components/inserter-listbox/row.js +2 -2
  500. package/build/components/inserter-listbox/row.js.map +1 -1
  501. package/build/components/inspector-controls/block-support-slot-container.js +2 -2
  502. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  503. package/build/components/inspector-controls/block-support-tools-panel.js +5 -5
  504. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  505. package/build/components/inspector-controls/fill.js +22 -17
  506. package/build/components/inspector-controls/fill.js.map +1 -1
  507. package/build/components/inspector-controls/fill.native.js +12 -5
  508. package/build/components/inspector-controls/fill.native.js.map +1 -1
  509. package/build/components/inspector-controls/index.js +3 -3
  510. package/build/components/inspector-controls/index.js.map +1 -1
  511. package/build/components/inspector-controls/slot.js +11 -10
  512. package/build/components/inspector-controls/slot.js.map +1 -1
  513. package/build/components/inspector-controls/slot.native.js +3 -3
  514. package/build/components/inspector-controls/slot.native.js.map +1 -1
  515. package/build/components/inspector-controls-tabs/advanced-controls-panel.js +7 -6
  516. package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  517. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js +11 -9
  518. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  519. package/build/components/inspector-controls-tabs/index.js +44 -32
  520. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  521. package/build/components/inspector-controls-tabs/position-controls-panel.js +8 -7
  522. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  523. package/build/components/inspector-controls-tabs/settings-tab-hint.js +20 -18
  524. package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  525. package/build/components/inspector-controls-tabs/settings-tab.js +6 -2
  526. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  527. package/build/components/inspector-controls-tabs/styles-tab.js +31 -26
  528. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  529. package/build/components/inspector-popover-header/index.js +31 -26
  530. package/build/components/inspector-popover-header/index.js.map +1 -1
  531. package/build/components/justify-content-control/index.js +3 -3
  532. package/build/components/justify-content-control/index.js.map +1 -1
  533. package/build/components/justify-content-control/ui.js +2 -2
  534. package/build/components/justify-content-control/ui.js.map +1 -1
  535. package/build/components/keyboard-shortcuts/index.js +9 -0
  536. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  537. package/build/components/letter-spacing-control/index.js +3 -4
  538. package/build/components/letter-spacing-control/index.js.map +1 -1
  539. package/build/components/line-height-control/index.js +17 -16
  540. package/build/components/line-height-control/index.js.map +1 -1
  541. package/build/components/line-height-control/index.native.js +2 -2
  542. package/build/components/line-height-control/index.native.js.map +1 -1
  543. package/build/components/link-control/index.js +102 -85
  544. package/build/components/link-control/index.js.map +1 -1
  545. package/build/components/link-control/link-preview.js +63 -51
  546. package/build/components/link-control/link-preview.js.map +1 -1
  547. package/build/components/link-control/search-create-button.js +6 -5
  548. package/build/components/link-control/search-create-button.js.map +1 -1
  549. package/build/components/link-control/search-input.js +32 -31
  550. package/build/components/link-control/search-input.js.map +1 -1
  551. package/build/components/link-control/search-item.js +12 -11
  552. package/build/components/link-control/search-item.js.map +1 -1
  553. package/build/components/link-control/search-results.js +52 -48
  554. package/build/components/link-control/search-results.js.map +1 -1
  555. package/build/components/link-control/settings-drawer.js +37 -30
  556. package/build/components/link-control/settings-drawer.js.map +1 -1
  557. package/build/components/link-control/settings.js +10 -9
  558. package/build/components/link-control/settings.js.map +1 -1
  559. package/build/components/list-view/appender.js +24 -22
  560. package/build/components/list-view/appender.js.map +1 -1
  561. package/build/components/list-view/aria-referenced-text.js +6 -6
  562. package/build/components/list-view/aria-referenced-text.js.map +1 -1
  563. package/build/components/list-view/block-contents.js +34 -31
  564. package/build/components/list-view/block-contents.js.map +1 -1
  565. package/build/components/list-view/block-select-button.js +60 -44
  566. package/build/components/list-view/block-select-button.js.map +1 -1
  567. package/build/components/list-view/block.js +131 -96
  568. package/build/components/list-view/block.js.map +1 -1
  569. package/build/components/list-view/branch.js +101 -95
  570. package/build/components/list-view/branch.js.map +1 -1
  571. package/build/components/list-view/drop-indicator.js +39 -32
  572. package/build/components/list-view/drop-indicator.js.map +1 -1
  573. package/build/components/list-view/expander.js +8 -6
  574. package/build/components/list-view/expander.js.map +1 -1
  575. package/build/components/list-view/index.js +43 -39
  576. package/build/components/list-view/index.js.map +1 -1
  577. package/build/components/list-view/leaf.js +7 -6
  578. package/build/components/list-view/leaf.js.map +1 -1
  579. package/build/components/media-placeholder/index.js +101 -81
  580. package/build/components/media-placeholder/index.js.map +1 -1
  581. package/build/components/media-placeholder/index.native.js +63 -52
  582. package/build/components/media-placeholder/index.native.js.map +1 -1
  583. package/build/components/media-replace-flow/index.js +73 -61
  584. package/build/components/media-replace-flow/index.js.map +1 -1
  585. package/build/components/media-replace-flow/index.native.js +2 -2
  586. package/build/components/media-replace-flow/index.native.js.map +1 -1
  587. package/build/components/media-upload/index.native.js +44 -40
  588. package/build/components/media-upload/index.native.js.map +1 -1
  589. package/build/components/media-upload-progress/index.native.js +39 -15
  590. package/build/components/media-upload-progress/index.native.js.map +1 -1
  591. package/build/components/multi-selection-inspector/index.js +19 -15
  592. package/build/components/multi-selection-inspector/index.js.map +1 -1
  593. package/build/components/navigable-toolbar/index.js +9 -7
  594. package/build/components/navigable-toolbar/index.js.map +1 -1
  595. package/build/components/observe-typing/index.js +6 -6
  596. package/build/components/observe-typing/index.js.map +1 -1
  597. package/build/components/panel-color-settings/index.js +2 -2
  598. package/build/components/panel-color-settings/index.js.map +1 -1
  599. package/build/components/plain-text/index.js +6 -7
  600. package/build/components/plain-text/index.js.map +1 -1
  601. package/build/components/plain-text/index.native.js +3 -3
  602. package/build/components/plain-text/index.native.js.map +1 -1
  603. package/build/components/provider/block-refs-provider.js +5 -4
  604. package/build/components/provider/block-refs-provider.js.map +1 -1
  605. package/build/components/provider/index.js +11 -7
  606. package/build/components/provider/index.js.map +1 -1
  607. package/build/components/provider/index.native.js +5 -5
  608. package/build/components/provider/index.native.js.map +1 -1
  609. package/build/components/provider/use-block-sync.js +18 -0
  610. package/build/components/provider/use-block-sync.js.map +1 -1
  611. package/build/components/provider/with-registry-provider.js +30 -26
  612. package/build/components/provider/with-registry-provider.js.map +1 -1
  613. package/build/components/publish-date-time-picker/index.js +36 -15
  614. package/build/components/publish-date-time-picker/index.js.map +1 -1
  615. package/build/components/recursion-provider/index.js +6 -5
  616. package/build/components/recursion-provider/index.js.map +1 -1
  617. package/build/components/resizable-box-popover/index.js +7 -6
  618. package/build/components/resizable-box-popover/index.js.map +1 -1
  619. package/build/components/resolution-tool/index.js +12 -11
  620. package/build/components/resolution-tool/index.js.map +1 -1
  621. package/build/components/responsive-block-control/index.js +31 -27
  622. package/build/components/responsive-block-control/index.js.map +1 -1
  623. package/build/components/responsive-block-control/label.js +11 -7
  624. package/build/components/responsive-block-control/label.js.map +1 -1
  625. package/build/components/rich-text/content.js +8 -5
  626. package/build/components/rich-text/content.js.map +1 -1
  627. package/build/components/rich-text/embed-handler-picker.native.js +2 -2
  628. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
  629. package/build/components/rich-text/event-listeners/enter.js +33 -42
  630. package/build/components/rich-text/event-listeners/enter.js.map +1 -1
  631. package/build/components/rich-text/event-listeners/paste-handler.js +22 -42
  632. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  633. package/build/components/rich-text/format-edit.js +5 -5
  634. package/build/components/rich-text/format-edit.js.map +1 -1
  635. package/build/components/rich-text/format-toolbar/index.js +38 -34
  636. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  637. package/build/components/rich-text/format-toolbar/index.native.js +8 -7
  638. package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
  639. package/build/components/rich-text/format-toolbar-container.js +17 -12
  640. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  641. package/build/components/rich-text/format-toolbar-container.native.js +5 -4
  642. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  643. package/build/components/rich-text/get-rich-text-values.js +4 -4
  644. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  645. package/build/components/rich-text/index.js +95 -77
  646. package/build/components/rich-text/index.js.map +1 -1
  647. package/build/components/rich-text/index.native.js +52 -48
  648. package/build/components/rich-text/index.native.js.map +1 -1
  649. package/build/components/rich-text/multiline.js +68 -40
  650. package/build/components/rich-text/multiline.js.map +1 -1
  651. package/build/components/rich-text/native/format-edit.js +3 -4
  652. package/build/components/rich-text/native/format-edit.js.map +1 -1
  653. package/build/components/rich-text/native/index.native.js +87 -80
  654. package/build/components/rich-text/native/index.native.js.map +1 -1
  655. package/build/components/rich-text/native/toolbar-button-with-options.native.js +19 -16
  656. package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  657. package/build/components/rich-text/toolbar-button.js +8 -7
  658. package/build/components/rich-text/toolbar-button.js.map +1 -1
  659. package/build/components/rich-text/utils.js +5 -4
  660. package/build/components/rich-text/utils.js.map +1 -1
  661. package/build/components/rich-text/with-deprecations.js +2 -2
  662. package/build/components/rich-text/with-deprecations.js.map +1 -1
  663. package/build/components/segmented-text-control/index.js +21 -20
  664. package/build/components/segmented-text-control/index.js.map +1 -1
  665. package/build/components/skip-to-selected-block/index.js +6 -6
  666. package/build/components/skip-to-selected-block/index.js.map +1 -1
  667. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +29 -14
  668. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  669. package/build/components/spacing-sizes-control/index.js +23 -19
  670. package/build/components/spacing-sizes-control/index.js.map +1 -1
  671. package/build/components/spacing-sizes-control/input-controls/axial.js +19 -18
  672. package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  673. package/build/components/spacing-sizes-control/input-controls/separated.js +18 -17
  674. package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  675. package/build/components/spacing-sizes-control/input-controls/single.js +2 -2
  676. package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  677. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +103 -100
  678. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  679. package/build/components/spacing-sizes-control/sides-dropdown/index.js +42 -34
  680. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  681. package/build/components/spacing-sizes-control/utils.js +2 -1
  682. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  683. package/build/components/text-alignment-control/index.js +4 -4
  684. package/build/components/text-alignment-control/index.js.map +1 -1
  685. package/build/components/text-decoration-control/index.js +4 -4
  686. package/build/components/text-decoration-control/index.js.map +1 -1
  687. package/build/components/text-transform-control/index.js +4 -4
  688. package/build/components/text-transform-control/index.js.map +1 -1
  689. package/build/components/tool-selector/index.js +35 -26
  690. package/build/components/tool-selector/index.js.map +1 -1
  691. package/build/components/typewriter/index.js +5 -4
  692. package/build/components/typewriter/index.js.map +1 -1
  693. package/build/components/ungroup-button/index.native.js +8 -6
  694. package/build/components/ungroup-button/index.native.js.map +1 -1
  695. package/build/components/unit-control/index.js +2 -2
  696. package/build/components/unit-control/index.js.map +1 -1
  697. package/build/components/unsupported-block-details/index.native.js +31 -28
  698. package/build/components/unsupported-block-details/index.native.js.map +1 -1
  699. package/build/components/url-input/button.js +31 -28
  700. package/build/components/url-input/button.js.map +1 -1
  701. package/build/components/url-input/index.js +29 -24
  702. package/build/components/url-input/index.js.map +1 -1
  703. package/build/components/url-input/index.native.js +2 -2
  704. package/build/components/url-input/index.native.js.map +1 -1
  705. package/build/components/url-popover/image-url-input-ui.js +104 -91
  706. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  707. package/build/components/url-popover/index.js +24 -19
  708. package/build/components/url-popover/index.js.map +1 -1
  709. package/build/components/url-popover/link-editor.js +17 -16
  710. package/build/components/url-popover/link-editor.js.map +1 -1
  711. package/build/components/url-popover/link-viewer-url.js +8 -7
  712. package/build/components/url-popover/link-viewer-url.js.map +1 -1
  713. package/build/components/url-popover/link-viewer.js +16 -15
  714. package/build/components/url-popover/link-viewer.js.map +1 -1
  715. package/build/components/use-block-commands/index.js +2 -2
  716. package/build/components/use-block-commands/index.js.map +1 -1
  717. package/build/components/video-player/gridicon-play.native.js +8 -7
  718. package/build/components/video-player/gridicon-play.native.js.map +1 -1
  719. package/build/components/video-player/index.native.js +43 -40
  720. package/build/components/video-player/index.native.js.map +1 -1
  721. package/build/components/warning/index.js +35 -27
  722. package/build/components/warning/index.js.map +1 -1
  723. package/build/components/warning/index.native.js +17 -13
  724. package/build/components/warning/index.native.js.map +1 -1
  725. package/build/components/writing-flow/index.js +10 -7
  726. package/build/components/writing-flow/index.js.map +1 -1
  727. package/build/components/writing-flow/use-clipboard-handler.js +64 -14
  728. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  729. package/build/components/writing-flow/use-input.js +44 -2
  730. package/build/components/writing-flow/use-input.js.map +1 -1
  731. package/build/components/writing-flow/use-tab-nav.js +9 -4
  732. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  733. package/build/components/writing-mode-control/index.js +4 -4
  734. package/build/components/writing-mode-control/index.js.map +1 -1
  735. package/build/hooks/align.js +12 -12
  736. package/build/hooks/align.js.map +1 -1
  737. package/build/hooks/anchor.js +29 -24
  738. package/build/hooks/anchor.js.map +1 -1
  739. package/build/hooks/background.js +7 -6
  740. package/build/hooks/background.js.map +1 -1
  741. package/build/hooks/block-bindings.js +89 -0
  742. package/build/hooks/block-bindings.js.map +1 -0
  743. package/build/hooks/block-hooks.js +41 -33
  744. package/build/hooks/block-hooks.js.map +1 -1
  745. package/build/hooks/block-style-variation.js +142 -0
  746. package/build/hooks/block-style-variation.js.map +1 -0
  747. package/build/hooks/border.js +9 -8
  748. package/build/hooks/border.js.map +1 -1
  749. package/build/hooks/color.js +14 -12
  750. package/build/hooks/color.js.map +1 -1
  751. package/build/hooks/content-lock-ui.js +25 -40
  752. package/build/hooks/content-lock-ui.js.map +1 -1
  753. package/build/hooks/contrast-checker.js +2 -2
  754. package/build/hooks/contrast-checker.js.map +1 -1
  755. package/build/hooks/custom-class-name.js +19 -18
  756. package/build/hooks/custom-class-name.js.map +1 -1
  757. package/build/hooks/custom-class-name.native.js +2 -2
  758. package/build/hooks/custom-class-name.native.js.map +1 -1
  759. package/build/hooks/dimensions.js +26 -23
  760. package/build/hooks/dimensions.js.map +1 -1
  761. package/build/hooks/duotone.js +49 -45
  762. package/build/hooks/duotone.js.map +1 -1
  763. package/build/hooks/font-family.js +3 -3
  764. package/build/hooks/font-family.js.map +1 -1
  765. package/build/hooks/font-size.js +2 -2
  766. package/build/hooks/font-size.js.map +1 -1
  767. package/build/hooks/index.js +4 -2
  768. package/build/hooks/index.js.map +1 -1
  769. package/build/hooks/layout-child.js +35 -25
  770. package/build/hooks/layout-child.js.map +1 -1
  771. package/build/hooks/layout.js +63 -57
  772. package/build/hooks/layout.js.map +1 -1
  773. package/build/hooks/line-height.js +2 -2
  774. package/build/hooks/line-height.js.map +1 -1
  775. package/build/hooks/position.js +30 -28
  776. package/build/hooks/position.js.map +1 -1
  777. package/build/hooks/spacing-visualizer.js +10 -9
  778. package/build/hooks/spacing-visualizer.js.map +1 -1
  779. package/build/hooks/style.js +23 -13
  780. package/build/hooks/style.js.map +1 -1
  781. package/build/hooks/text-align.js +22 -21
  782. package/build/hooks/text-align.js.map +1 -1
  783. package/build/hooks/typography.js +6 -5
  784. package/build/hooks/typography.js.map +1 -1
  785. package/build/hooks/typography.native.js +11 -8
  786. package/build/hooks/typography.native.js.map +1 -1
  787. package/build/hooks/use-bindings-attributes.js +84 -26
  788. package/build/hooks/use-bindings-attributes.js.map +1 -1
  789. package/build/hooks/use-color-props.js +2 -2
  790. package/build/hooks/use-color-props.js.map +1 -1
  791. package/build/hooks/use-typography-props.js +6 -5
  792. package/build/hooks/use-typography-props.js.map +1 -1
  793. package/build/hooks/use-zoom-out.js +2 -2
  794. package/build/hooks/use-zoom-out.js.map +1 -1
  795. package/build/hooks/utils.js +20 -19
  796. package/build/hooks/utils.js.map +1 -1
  797. package/build/layouts/constrained.js +66 -58
  798. package/build/layouts/constrained.js.map +1 -1
  799. package/build/layouts/flex.js +75 -61
  800. package/build/layouts/flex.js.map +1 -1
  801. package/build/layouts/grid.js +152 -130
  802. package/build/layouts/grid.js.map +1 -1
  803. package/build/private-apis.js +10 -1
  804. package/build/private-apis.js.map +1 -1
  805. package/build/store/actions.js +170 -44
  806. package/build/store/actions.js.map +1 -1
  807. package/build/store/get-block-settings.js +2 -49
  808. package/build/store/get-block-settings.js.map +1 -1
  809. package/build/store/private-actions.js +26 -1
  810. package/build/store/private-actions.js.map +1 -1
  811. package/build/store/private-keys.js +2 -1
  812. package/build/store/private-keys.js.map +1 -1
  813. package/build/store/private-selectors.js +6 -0
  814. package/build/store/private-selectors.js.map +1 -1
  815. package/build/store/reducer.js +21 -14
  816. package/build/store/reducer.js.map +1 -1
  817. package/build/store/selectors.js +32 -2
  818. package/build/store/selectors.js.map +1 -1
  819. package/build/store/utils.js +2 -0
  820. package/build/store/utils.js.map +1 -1
  821. package/build/utils/selection.js +8 -0
  822. package/build/utils/selection.js.map +1 -1
  823. package/build/utils/transform-styles/index.js +12 -7
  824. package/build/utils/transform-styles/index.js.map +1 -1
  825. package/build-module/autocompleters/block.js +9 -6
  826. package/build-module/autocompleters/block.js.map +1 -1
  827. package/build-module/autocompleters/link.js +12 -8
  828. package/build-module/autocompleters/link.js.map +1 -1
  829. package/build-module/components/alignment-control/index.js +3 -3
  830. package/build-module/components/alignment-control/index.js.map +1 -1
  831. package/build-module/components/alignment-control/ui.js +2 -2
  832. package/build-module/components/alignment-control/ui.js.map +1 -1
  833. package/build-module/components/audio-player/audio-url-parser.native.js +16 -0
  834. package/build-module/components/audio-player/audio-url-parser.native.js.map +1 -0
  835. package/build-module/components/audio-player/index.native.js +167 -0
  836. package/build-module/components/audio-player/index.native.js.map +1 -0
  837. package/build-module/components/autocomplete/index.js +2 -2
  838. package/build-module/components/autocomplete/index.js.map +1 -1
  839. package/build-module/components/block-actions/index.js +4 -2
  840. package/build-module/components/block-actions/index.js.map +1 -1
  841. package/build-module/components/block-alignment-control/index.js +3 -3
  842. package/build-module/components/block-alignment-control/index.js.map +1 -1
  843. package/build-module/components/block-alignment-control/ui.js +35 -31
  844. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  845. package/build-module/components/block-alignment-control/ui.native.js +2 -2
  846. package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
  847. package/build-module/components/block-alignment-matrix-control/index.js +5 -5
  848. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  849. package/build-module/components/block-bindings-toolbar-indicator/index.js +94 -13
  850. package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -1
  851. package/build-module/components/block-breadcrumb/index.js +38 -32
  852. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  853. package/build-module/components/block-canvas/index.js +37 -31
  854. package/build-module/components/block-canvas/index.js.map +1 -1
  855. package/build-module/components/block-caption/index.native.js +15 -14
  856. package/build-module/components/block-caption/index.native.js.map +1 -1
  857. package/build-module/components/block-card/index.js +35 -29
  858. package/build-module/components/block-card/index.js.map +1 -1
  859. package/build-module/components/block-compare/block-view.js +28 -18
  860. package/build-module/components/block-compare/block-view.js.map +1 -1
  861. package/build-module/components/block-compare/index.js +26 -24
  862. package/build-module/components/block-compare/index.js.map +1 -1
  863. package/build-module/components/block-context/index.js +2 -2
  864. package/build-module/components/block-context/index.js.map +1 -1
  865. package/build-module/components/block-controls/fill.js +24 -16
  866. package/build-module/components/block-controls/fill.js.map +1 -1
  867. package/build-module/components/block-controls/index.js +3 -3
  868. package/build-module/components/block-controls/index.js.map +1 -1
  869. package/build-module/components/block-controls/slot.js +6 -4
  870. package/build-module/components/block-controls/slot.js.map +1 -1
  871. package/build-module/components/block-controls/slot.native.js +12 -9
  872. package/build-module/components/block-controls/slot.native.js.map +1 -1
  873. package/build-module/components/block-controls/use-has-block-controls.js +1 -1
  874. package/build-module/components/block-controls/use-has-block-controls.js.map +1 -1
  875. package/build-module/components/block-draggable/draggable-chip.js +28 -19
  876. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  877. package/build-module/components/block-draggable/draggable-chip.native.js +10 -8
  878. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
  879. package/build-module/components/block-draggable/dropping-insertion-point.native.js +2 -2
  880. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -1
  881. package/build-module/components/block-draggable/index.js +14 -13
  882. package/build-module/components/block-draggable/index.js.map +1 -1
  883. package/build-module/components/block-draggable/index.native.js +39 -30
  884. package/build-module/components/block-draggable/index.native.js.map +1 -1
  885. package/build-module/components/block-edit/edit.js +6 -6
  886. package/build-module/components/block-edit/edit.js.map +1 -1
  887. package/build-module/components/block-edit/edit.native.js +2 -2
  888. package/build-module/components/block-edit/edit.native.js.map +1 -1
  889. package/build-module/components/block-edit/index.js +19 -7
  890. package/build-module/components/block-edit/index.js.map +1 -1
  891. package/build-module/components/block-edit/multiple-usage-warning.js +40 -0
  892. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -0
  893. package/build-module/components/block-edit-visually-button/index.js +9 -6
  894. package/build-module/components/block-edit-visually-button/index.js.map +1 -1
  895. package/build-module/components/block-full-height-alignment-control/index.js +2 -2
  896. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  897. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +2 -3
  898. package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
  899. package/build-module/components/block-heading-level-dropdown/index.js +4 -4
  900. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  901. package/build-module/components/block-heading-level-dropdown/index.native.js +4 -4
  902. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  903. package/build-module/components/block-icon/index.js +8 -7
  904. package/build-module/components/block-icon/index.js.map +1 -1
  905. package/build-module/components/block-icon/index.native.js +6 -5
  906. package/build-module/components/block-icon/index.native.js.map +1 -1
  907. package/build-module/components/block-info-slot-fill/index.js +3 -3
  908. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  909. package/build-module/components/block-inspector/index.js +105 -89
  910. package/build-module/components/block-inspector/index.js.map +1 -1
  911. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -2
  912. package/build-module/components/block-inspector/useBlockInspectorAnimationSettings.js.map +1 -1
  913. package/build-module/components/block-list/block-crash-warning.js +5 -4
  914. package/build-module/components/block-list/block-crash-warning.js.map +1 -1
  915. package/build-module/components/block-list/block-crash-warning.native.js +2 -2
  916. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
  917. package/build-module/components/block-list/block-html.js +2 -2
  918. package/build-module/components/block-list/block-html.js.map +1 -1
  919. package/build-module/components/block-list/block-invalid-warning.js +27 -21
  920. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  921. package/build-module/components/block-list/block-invalid-warning.native.js +12 -11
  922. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  923. package/build-module/components/block-list/block-list-item-cell.native.js +5 -4
  924. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  925. package/build-module/components/block-list/block-list-item.native.js +29 -26
  926. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  927. package/build-module/components/block-list/block-outline.native.js +2 -2
  928. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  929. package/build-module/components/block-list/block-selection-button.native.js +36 -33
  930. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  931. package/build-module/components/block-list/block.js +112 -64
  932. package/build-module/components/block-list/block.js.map +1 -1
  933. package/build-module/components/block-list/block.native.js +63 -53
  934. package/build-module/components/block-list/block.native.js.map +1 -1
  935. package/build-module/components/block-list/grid-item.native.js +5 -4
  936. package/build-module/components/block-list/grid-item.native.js.map +1 -1
  937. package/build-module/components/block-list/index.js +41 -36
  938. package/build-module/components/block-list/index.js.map +1 -1
  939. package/build-module/components/block-list/index.native.js +99 -85
  940. package/build-module/components/block-list/index.native.js.map +1 -1
  941. package/build-module/components/block-list/insertion-point.native.js +13 -10
  942. package/build-module/components/block-list/insertion-point.native.js.map +1 -1
  943. package/build-module/components/block-list/layout.js +7 -3
  944. package/build-module/components/block-list/layout.js.map +1 -1
  945. package/build-module/components/block-list/subdirectory-icon.js +8 -7
  946. package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
  947. package/build-module/components/block-list/use-block-props/index.js +6 -3
  948. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  949. package/build-module/components/block-list/use-block-props/use-scroll-into-view.js +37 -0
  950. package/build-module/components/block-list/use-block-props/use-scroll-into-view.js.map +1 -0
  951. package/build-module/components/block-list-appender/index.js +11 -10
  952. package/build-module/components/block-list-appender/index.js.map +1 -1
  953. package/build-module/components/block-list-appender/index.native.js +4 -4
  954. package/build-module/components/block-list-appender/index.native.js.map +1 -1
  955. package/build-module/components/block-lock/menu-item.js +15 -10
  956. package/build-module/components/block-lock/menu-item.js.map +1 -1
  957. package/build-module/components/block-lock/modal.js +108 -90
  958. package/build-module/components/block-lock/modal.js.map +1 -1
  959. package/build-module/components/block-lock/toolbar.js +20 -15
  960. package/build-module/components/block-lock/toolbar.js.map +1 -1
  961. package/build-module/components/block-media-update-progress/index.native.js +18 -15
  962. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  963. package/build-module/components/block-mover/button.js +22 -17
  964. package/build-module/components/block-mover/button.js.map +1 -1
  965. package/build-module/components/block-mover/index.js +37 -29
  966. package/build-module/components/block-mover/index.js.map +1 -1
  967. package/build-module/components/block-mover/index.native.js +30 -27
  968. package/build-module/components/block-mover/index.native.js.map +1 -1
  969. package/build-module/components/block-navigation/dropdown.js +12 -9
  970. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  971. package/build-module/components/block-parent-selector/index.js +13 -13
  972. package/build-module/components/block-parent-selector/index.js.map +1 -1
  973. package/build-module/components/block-pattern-setup/index.js +90 -76
  974. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  975. package/build-module/components/block-pattern-setup/setup-toolbar.js +51 -45
  976. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  977. package/build-module/components/block-patterns-list/index.js +122 -89
  978. package/build-module/components/block-patterns-list/index.js.map +1 -1
  979. package/build-module/components/block-patterns-paging/index.js +71 -52
  980. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  981. package/build-module/components/block-popover/cover.js +19 -12
  982. package/build-module/components/block-popover/cover.js.map +1 -1
  983. package/build-module/components/block-popover/drop-zone.js +11 -10
  984. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  985. package/build-module/components/block-popover/inbetween.js +10 -9
  986. package/build-module/components/block-popover/inbetween.js.map +1 -1
  987. package/build-module/components/block-popover/index.js +27 -7
  988. package/build-module/components/block-popover/index.js.map +1 -1
  989. package/build-module/components/block-preview/auto.js +55 -47
  990. package/build-module/components/block-preview/auto.js.map +1 -1
  991. package/build-module/components/block-preview/index.js +19 -16
  992. package/build-module/components/block-preview/index.js.map +1 -1
  993. package/build-module/components/block-quick-navigation/index.js +25 -16
  994. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  995. package/build-module/components/block-removal-warning-modal/index.js +19 -12
  996. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  997. package/build-module/components/block-rename/modal.js +45 -37
  998. package/build-module/components/block-rename/modal.js.map +1 -1
  999. package/build-module/components/block-rename/rename-control.js +26 -21
  1000. package/build-module/components/block-rename/rename-control.js.map +1 -1
  1001. package/build-module/components/block-selection-clearer/index.js +2 -2
  1002. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  1003. package/build-module/components/block-settings/button.native.js +13 -9
  1004. package/build-module/components/block-settings/button.native.js.map +1 -1
  1005. package/build-module/components/block-settings/container.native.js +42 -28
  1006. package/build-module/components/block-settings/container.native.js.map +1 -1
  1007. package/build-module/components/block-settings-menu/block-html-convert-button.js +5 -4
  1008. package/build-module/components/block-settings-menu/block-html-convert-button.js.map +1 -1
  1009. package/build-module/components/block-settings-menu/block-mode-toggle.js +5 -4
  1010. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  1011. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +7 -6
  1012. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
  1013. package/build-module/components/block-settings-menu/block-settings-dropdown.js +101 -78
  1014. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  1015. package/build-module/components/block-settings-menu/index.js +10 -6
  1016. package/build-module/components/block-settings-menu/index.js.map +1 -1
  1017. package/build-module/components/block-settings-menu-controls/index.js +38 -29
  1018. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  1019. package/build-module/components/block-styles/index.js +45 -39
  1020. package/build-module/components/block-styles/index.js.map +1 -1
  1021. package/build-module/components/block-styles/index.native.js +7 -7
  1022. package/build-module/components/block-styles/index.native.js.map +1 -1
  1023. package/build-module/components/block-styles/menu-items.js +18 -14
  1024. package/build-module/components/block-styles/menu-items.js.map +1 -1
  1025. package/build-module/components/block-styles/preview-panel.js +2 -2
  1026. package/build-module/components/block-styles/preview-panel.js.map +1 -1
  1027. package/build-module/components/block-styles/preview.native.js +25 -21
  1028. package/build-module/components/block-styles/preview.native.js.map +1 -1
  1029. package/build-module/components/block-switcher/block-styles-menu.js +8 -7
  1030. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  1031. package/build-module/components/block-switcher/block-transformations-menu.js +33 -28
  1032. package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
  1033. package/build-module/components/block-switcher/block-transformations-menu.native.js +2 -2
  1034. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  1035. package/build-module/components/block-switcher/block-variation-transformations.js +21 -17
  1036. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  1037. package/build-module/components/block-switcher/index.js +87 -70
  1038. package/build-module/components/block-switcher/index.js.map +1 -1
  1039. package/build-module/components/block-switcher/pattern-transformations-menu.js +62 -51
  1040. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  1041. package/build-module/components/block-switcher/preview-block-popover.js +23 -17
  1042. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  1043. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +39 -34
  1044. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  1045. package/build-module/components/block-toolbar/index.js +58 -46
  1046. package/build-module/components/block-toolbar/index.js.map +1 -1
  1047. package/build-module/components/block-toolbar/index.native.js +29 -21
  1048. package/build-module/components/block-toolbar/index.native.js.map +1 -1
  1049. package/build-module/components/block-toolbar/shuffle.js +7 -5
  1050. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  1051. package/build-module/components/block-tools/block-selection-button.js +63 -48
  1052. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  1053. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +11 -10
  1054. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
  1055. package/build-module/components/block-tools/block-toolbar-popover.js +17 -16
  1056. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  1057. package/build-module/components/block-tools/empty-block-inserter.js +15 -13
  1058. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  1059. package/build-module/components/block-tools/index.js +50 -27
  1060. package/build-module/components/block-tools/index.js.map +1 -1
  1061. package/build-module/components/block-tools/insertion-point.js +45 -42
  1062. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  1063. package/build-module/components/block-tools/zoom-out-mode-inserters.js +72 -26
  1064. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  1065. package/build-module/components/block-types-list/index.js +16 -15
  1066. package/build-module/components/block-types-list/index.js.map +1 -1
  1067. package/build-module/components/block-types-list/index.native.js +31 -26
  1068. package/build-module/components/block-types-list/index.native.js.map +1 -1
  1069. package/build-module/components/block-variation-picker/index.js +33 -27
  1070. package/build-module/components/block-variation-picker/index.js.map +1 -1
  1071. package/build-module/components/block-variation-picker/index.native.js +33 -25
  1072. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  1073. package/build-module/components/block-variation-transforms/index.js +54 -47
  1074. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  1075. package/build-module/components/block-vertical-alignment-control/icons.js +31 -26
  1076. package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
  1077. package/build-module/components/block-vertical-alignment-control/index.js +3 -3
  1078. package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
  1079. package/build-module/components/block-vertical-alignment-control/ui.js +2 -2
  1080. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  1081. package/build-module/components/border-radius-control/all-input-control.js +3 -3
  1082. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  1083. package/build-module/components/border-radius-control/index.js +45 -38
  1084. package/build-module/components/border-radius-control/index.js.map +1 -1
  1085. package/build-module/components/border-radius-control/input-controls.js +23 -21
  1086. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  1087. package/build-module/components/border-radius-control/linked-button.js +12 -11
  1088. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  1089. package/build-module/components/button-block-appender/index.js +18 -14
  1090. package/build-module/components/button-block-appender/index.js.map +1 -1
  1091. package/build-module/components/button-block-appender/index.native.js +29 -24
  1092. package/build-module/components/button-block-appender/index.native.js.map +1 -1
  1093. package/build-module/components/caption/index.native.js +22 -21
  1094. package/build-module/components/caption/index.native.js.map +1 -1
  1095. package/build-module/components/child-layout-control/index.js +139 -129
  1096. package/build-module/components/child-layout-control/index.js.map +1 -1
  1097. package/build-module/components/color-palette/control.js +2 -2
  1098. package/build-module/components/color-palette/control.js.map +1 -1
  1099. package/build-module/components/color-palette/with-color-context.js +2 -2
  1100. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  1101. package/build-module/components/color-style-selector/index.js +29 -20
  1102. package/build-module/components/color-style-selector/index.js.map +1 -1
  1103. package/build-module/components/colors/utils.js +3 -3
  1104. package/build-module/components/colors/utils.js.map +1 -1
  1105. package/build-module/components/colors/with-colors.js +7 -7
  1106. package/build-module/components/colors/with-colors.js.map +1 -1
  1107. package/build-module/components/colors-gradients/control.js +55 -40
  1108. package/build-module/components/colors-gradients/control.js.map +1 -1
  1109. package/build-module/components/colors-gradients/dropdown.js +74 -63
  1110. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  1111. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +25 -20
  1112. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  1113. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +13 -7
  1114. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  1115. package/build-module/components/contrast-checker/index.js +10 -8
  1116. package/build-module/components/contrast-checker/index.js.map +1 -1
  1117. package/build-module/components/contrast-checker/index.native.js +13 -10
  1118. package/build-module/components/contrast-checker/index.native.js.map +1 -1
  1119. package/build-module/components/convert-to-group-buttons/index.js +25 -13
  1120. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  1121. package/build-module/components/convert-to-group-buttons/toolbar.js +21 -18
  1122. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  1123. package/build-module/components/copy-handler/index.js +2 -2
  1124. package/build-module/components/copy-handler/index.js.map +1 -1
  1125. package/build-module/components/date-format-picker/index.js +45 -40
  1126. package/build-module/components/date-format-picker/index.js.map +1 -1
  1127. package/build-module/components/default-block-appender/index.js +35 -32
  1128. package/build-module/components/default-block-appender/index.js.map +1 -1
  1129. package/build-module/components/default-block-appender/index.native.js +14 -12
  1130. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  1131. package/build-module/components/dimensions-tool/aspect-ratio-tool.js +41 -47
  1132. package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -1
  1133. package/build-module/components/dimensions-tool/index.js +117 -113
  1134. package/build-module/components/dimensions-tool/index.js.map +1 -1
  1135. package/build-module/components/dimensions-tool/scale-tool.js +15 -14
  1136. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  1137. package/build-module/components/dimensions-tool/width-height-tool.js +39 -33
  1138. package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
  1139. package/build-module/components/duotone-control/index.js +22 -18
  1140. package/build-module/components/duotone-control/index.js.map +1 -1
  1141. package/build-module/components/editable-text/index.js +6 -5
  1142. package/build-module/components/editable-text/index.js.map +1 -1
  1143. package/build-module/components/editor-styles/index.js +25 -21
  1144. package/build-module/components/editor-styles/index.js.map +1 -1
  1145. package/build-module/components/floating-toolbar/index.native.js +19 -16
  1146. package/build-module/components/floating-toolbar/index.native.js.map +1 -1
  1147. package/build-module/components/floating-toolbar/nav-up-icon.js +15 -13
  1148. package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
  1149. package/build-module/components/font-appearance-control/index.js +2 -2
  1150. package/build-module/components/font-appearance-control/index.js.map +1 -1
  1151. package/build-module/components/font-family/index.js +2 -2
  1152. package/build-module/components/font-family/index.js.map +1 -1
  1153. package/build-module/components/font-sizes/font-size-picker.js +2 -2
  1154. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  1155. package/build-module/components/font-sizes/utils.js +3 -3
  1156. package/build-module/components/font-sizes/utils.js.map +1 -1
  1157. package/build-module/components/font-sizes/with-font-sizes.js +3 -3
  1158. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  1159. package/build-module/components/global-styles/advanced-panel.js +18 -15
  1160. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  1161. package/build-module/components/global-styles/background-panel.js +190 -123
  1162. package/build-module/components/global-styles/background-panel.js.map +1 -1
  1163. package/build-module/components/global-styles/border-panel.js +63 -56
  1164. package/build-module/components/global-styles/border-panel.js.map +1 -1
  1165. package/build-module/components/global-styles/color-panel.js +114 -89
  1166. package/build-module/components/global-styles/color-panel.js.map +1 -1
  1167. package/build-module/components/global-styles/color-panel.native.js +13 -10
  1168. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  1169. package/build-module/components/global-styles/dimensions-panel.js +185 -172
  1170. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  1171. package/build-module/components/global-styles/filters-panel.js +80 -66
  1172. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  1173. package/build-module/components/global-styles/hooks.js +13 -2
  1174. package/build-module/components/global-styles/hooks.js.map +1 -1
  1175. package/build-module/components/global-styles/image-settings-panel.js +27 -22
  1176. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  1177. package/build-module/components/global-styles/index.js +2 -2
  1178. package/build-module/components/global-styles/index.js.map +1 -1
  1179. package/build-module/components/global-styles/shadow-panel-components.js +78 -67
  1180. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  1181. package/build-module/components/global-styles/theme-file-uri-utils.js +73 -0
  1182. package/build-module/components/global-styles/theme-file-uri-utils.js.map +1 -0
  1183. package/build-module/components/global-styles/typography-panel.js +177 -135
  1184. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  1185. package/build-module/components/global-styles/use-global-styles-context.native.js +431 -0
  1186. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -0
  1187. package/build-module/components/global-styles/use-global-styles-output.js +115 -79
  1188. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  1189. package/build-module/components/gradients/with-gradient.js +2 -2
  1190. package/build-module/components/gradients/with-gradient.js.map +1 -1
  1191. package/build-module/components/grid-visualizer/grid-item-resizer.js +161 -43
  1192. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -1
  1193. package/build-module/components/grid-visualizer/grid-visualizer.js +31 -20
  1194. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -1
  1195. package/build-module/components/height-control/index.js +40 -32
  1196. package/build-module/components/height-control/index.js.map +1 -1
  1197. package/build-module/components/iframe/index.js +121 -72
  1198. package/build-module/components/iframe/index.js.map +1 -1
  1199. package/build-module/components/image-editor/aspect-ratio-dropdown.js +96 -74
  1200. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  1201. package/build-module/components/image-editor/context.js +5 -4
  1202. package/build-module/components/image-editor/context.js.map +1 -1
  1203. package/build-module/components/image-editor/cropper.js +28 -23
  1204. package/build-module/components/image-editor/cropper.js.map +1 -1
  1205. package/build-module/components/image-editor/form-controls.js +13 -7
  1206. package/build-module/components/image-editor/form-controls.js.map +1 -1
  1207. package/build-module/components/image-editor/index.js +24 -14
  1208. package/build-module/components/image-editor/index.js.map +1 -1
  1209. package/build-module/components/image-editor/rotation-button.js +2 -2
  1210. package/build-module/components/image-editor/rotation-button.js.map +1 -1
  1211. package/build-module/components/image-editor/zoom-dropdown.js +4 -4
  1212. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  1213. package/build-module/components/image-link-destinations/index.native.js +39 -27
  1214. package/build-module/components/image-link-destinations/index.native.js.map +1 -1
  1215. package/build-module/components/image-size-control/index.js +55 -45
  1216. package/build-module/components/image-size-control/index.js.map +1 -1
  1217. package/build-module/components/index.js +1 -0
  1218. package/build-module/components/index.js.map +1 -1
  1219. package/build-module/components/index.native.js +2 -0
  1220. package/build-module/components/index.native.js.map +1 -1
  1221. package/build-module/components/inner-blocks/button-block-appender.js +4 -4
  1222. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  1223. package/build-module/components/inner-blocks/default-block-appender.js +2 -2
  1224. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  1225. package/build-module/components/inner-blocks/index.js +41 -37
  1226. package/build-module/components/inner-blocks/index.js.map +1 -1
  1227. package/build-module/components/inner-blocks/index.native.js +31 -29
  1228. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  1229. package/build-module/components/inner-blocks/use-nested-settings-update.js +11 -14
  1230. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  1231. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +21 -17
  1232. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  1233. package/build-module/components/inner-blocks/with-client-id.js +2 -2
  1234. package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
  1235. package/build-module/components/inserter/block-patterns-explorer/index.js +23 -20
  1236. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  1237. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +40 -36
  1238. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  1239. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +28 -20
  1240. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  1241. package/build-module/components/inserter/block-patterns-tab/index.js +47 -29
  1242. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  1243. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +21 -5
  1244. package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
  1245. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +45 -32
  1246. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  1247. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +56 -42
  1248. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  1249. package/build-module/components/inserter/block-types-tab.js +111 -66
  1250. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  1251. package/build-module/components/inserter/block-types-tab.native.js +2 -2
  1252. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  1253. package/build-module/components/inserter/category-tabs/index.js +27 -20
  1254. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  1255. package/build-module/components/inserter/hooks/use-block-types-state.js +9 -4
  1256. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  1257. package/build-module/components/inserter/hooks/use-insertion-point.js +44 -8
  1258. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  1259. package/build-module/components/inserter/hooks/use-patterns-state.js +12 -5
  1260. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  1261. package/build-module/components/inserter/index.js +8 -8
  1262. package/build-module/components/inserter/index.js.map +1 -1
  1263. package/build-module/components/inserter/index.native.js +23 -19
  1264. package/build-module/components/inserter/index.native.js.map +1 -1
  1265. package/build-module/components/inserter/library.js +21 -7
  1266. package/build-module/components/inserter/library.js.map +1 -1
  1267. package/build-module/components/inserter/media-tab/media-list.js +9 -9
  1268. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  1269. package/build-module/components/inserter/media-tab/media-panel.js +20 -17
  1270. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  1271. package/build-module/components/inserter/media-tab/media-preview.js +95 -67
  1272. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  1273. package/build-module/components/inserter/media-tab/media-tab.js +46 -36
  1274. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  1275. package/build-module/components/inserter/media-tab/utils.js +2 -2
  1276. package/build-module/components/inserter/media-tab/utils.js.map +1 -1
  1277. package/build-module/components/inserter/menu.js +139 -104
  1278. package/build-module/components/inserter/menu.js.map +1 -1
  1279. package/build-module/components/inserter/menu.native.js +36 -28
  1280. package/build-module/components/inserter/menu.native.js.map +1 -1
  1281. package/build-module/components/inserter/mobile-tab-navigation.js +57 -40
  1282. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  1283. package/build-module/components/inserter/no-results.js +11 -7
  1284. package/build-module/components/inserter/no-results.js.map +1 -1
  1285. package/build-module/components/inserter/no-results.native.js +14 -8
  1286. package/build-module/components/inserter/no-results.native.js.map +1 -1
  1287. package/build-module/components/inserter/panel.js +17 -10
  1288. package/build-module/components/inserter/panel.js.map +1 -1
  1289. package/build-module/components/inserter/preview-panel.js +25 -20
  1290. package/build-module/components/inserter/preview-panel.js.map +1 -1
  1291. package/build-module/components/inserter/quick-inserter.js +38 -33
  1292. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  1293. package/build-module/components/inserter/reusable-block-rename-hint.js +21 -18
  1294. package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -1
  1295. package/build-module/components/inserter/reusable-blocks-tab.native.js +2 -2
  1296. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  1297. package/build-module/components/inserter/search-results.js +53 -41
  1298. package/build-module/components/inserter/search-results.js.map +1 -1
  1299. package/build-module/components/inserter/search-results.native.js +3 -3
  1300. package/build-module/components/inserter/search-results.native.js.map +1 -1
  1301. package/build-module/components/inserter/tabs.js +36 -19
  1302. package/build-module/components/inserter/tabs.js.map +1 -1
  1303. package/build-module/components/inserter/tabs.native.js +20 -18
  1304. package/build-module/components/inserter/tabs.native.js.map +1 -1
  1305. package/build-module/components/inserter/tips.js +7 -5
  1306. package/build-module/components/inserter/tips.js.map +1 -1
  1307. package/build-module/components/inserter-button/index.native.js +29 -23
  1308. package/build-module/components/inserter-button/index.native.js.map +1 -1
  1309. package/build-module/components/inserter-button/sparkles.js +8 -7
  1310. package/build-module/components/inserter-button/sparkles.js.map +1 -1
  1311. package/build-module/components/inserter-draggable-blocks/index.js +14 -13
  1312. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  1313. package/build-module/components/inserter-list-item/index.js +70 -63
  1314. package/build-module/components/inserter-list-item/index.js.map +1 -1
  1315. package/build-module/components/inserter-listbox/group.js +2 -2
  1316. package/build-module/components/inserter-listbox/group.js.map +1 -1
  1317. package/build-module/components/inserter-listbox/index.js +6 -4
  1318. package/build-module/components/inserter-listbox/index.js.map +1 -1
  1319. package/build-module/components/inserter-listbox/item.js +10 -8
  1320. package/build-module/components/inserter-listbox/item.js.map +1 -1
  1321. package/build-module/components/inserter-listbox/row.js +2 -2
  1322. package/build-module/components/inserter-listbox/row.js.map +1 -1
  1323. package/build-module/components/inspector-controls/block-support-slot-container.js +2 -2
  1324. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  1325. package/build-module/components/inspector-controls/block-support-tools-panel.js +5 -5
  1326. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  1327. package/build-module/components/inspector-controls/fill.js +22 -17
  1328. package/build-module/components/inspector-controls/fill.js.map +1 -1
  1329. package/build-module/components/inspector-controls/fill.native.js +14 -5
  1330. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  1331. package/build-module/components/inspector-controls/index.js +3 -3
  1332. package/build-module/components/inspector-controls/index.js.map +1 -1
  1333. package/build-module/components/inspector-controls/slot.js +11 -10
  1334. package/build-module/components/inspector-controls/slot.js.map +1 -1
  1335. package/build-module/components/inspector-controls/slot.native.js +3 -3
  1336. package/build-module/components/inspector-controls/slot.native.js.map +1 -1
  1337. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +7 -6
  1338. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
  1339. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js +11 -9
  1340. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -1
  1341. package/build-module/components/inspector-controls-tabs/index.js +45 -32
  1342. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  1343. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +8 -7
  1344. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  1345. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +21 -18
  1346. package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +1 -1
  1347. package/build-module/components/inspector-controls-tabs/settings-tab.js +8 -2
  1348. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  1349. package/build-module/components/inspector-controls-tabs/styles-tab.js +33 -26
  1350. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  1351. package/build-module/components/inspector-popover-header/index.js +32 -26
  1352. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  1353. package/build-module/components/justify-content-control/index.js +3 -3
  1354. package/build-module/components/justify-content-control/index.js.map +1 -1
  1355. package/build-module/components/justify-content-control/ui.js +2 -2
  1356. package/build-module/components/justify-content-control/ui.js.map +1 -1
  1357. package/build-module/components/keyboard-shortcuts/index.js +9 -0
  1358. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  1359. package/build-module/components/letter-spacing-control/index.js +2 -2
  1360. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  1361. package/build-module/components/line-height-control/index.js +17 -16
  1362. package/build-module/components/line-height-control/index.js.map +1 -1
  1363. package/build-module/components/line-height-control/index.native.js +2 -2
  1364. package/build-module/components/line-height-control/index.native.js.map +1 -1
  1365. package/build-module/components/link-control/index.js +103 -83
  1366. package/build-module/components/link-control/index.js.map +1 -1
  1367. package/build-module/components/link-control/link-preview.js +65 -51
  1368. package/build-module/components/link-control/link-preview.js.map +1 -1
  1369. package/build-module/components/link-control/search-create-button.js +6 -5
  1370. package/build-module/components/link-control/search-create-button.js.map +1 -1
  1371. package/build-module/components/link-control/search-input.js +33 -31
  1372. package/build-module/components/link-control/search-input.js.map +1 -1
  1373. package/build-module/components/link-control/search-item.js +12 -11
  1374. package/build-module/components/link-control/search-item.js.map +1 -1
  1375. package/build-module/components/link-control/search-results.js +53 -48
  1376. package/build-module/components/link-control/search-results.js.map +1 -1
  1377. package/build-module/components/link-control/settings-drawer.js +39 -30
  1378. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  1379. package/build-module/components/link-control/settings.js +11 -9
  1380. package/build-module/components/link-control/settings.js.map +1 -1
  1381. package/build-module/components/list-view/appender.js +25 -22
  1382. package/build-module/components/list-view/appender.js.map +1 -1
  1383. package/build-module/components/list-view/aria-referenced-text.js +5 -4
  1384. package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
  1385. package/build-module/components/list-view/block-contents.js +36 -31
  1386. package/build-module/components/list-view/block-contents.js.map +1 -1
  1387. package/build-module/components/list-view/block-select-button.js +61 -44
  1388. package/build-module/components/list-view/block-select-button.js.map +1 -1
  1389. package/build-module/components/list-view/block.js +134 -97
  1390. package/build-module/components/list-view/block.js.map +1 -1
  1391. package/build-module/components/list-view/branch.js +102 -93
  1392. package/build-module/components/list-view/branch.js.map +1 -1
  1393. package/build-module/components/list-view/drop-indicator.js +40 -32
  1394. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  1395. package/build-module/components/list-view/expander.js +8 -6
  1396. package/build-module/components/list-view/expander.js.map +1 -1
  1397. package/build-module/components/list-view/index.js +44 -39
  1398. package/build-module/components/list-view/index.js.map +1 -1
  1399. package/build-module/components/list-view/leaf.js +7 -6
  1400. package/build-module/components/list-view/leaf.js.map +1 -1
  1401. package/build-module/components/media-placeholder/index.js +103 -81
  1402. package/build-module/components/media-placeholder/index.js.map +1 -1
  1403. package/build-module/components/media-placeholder/index.native.js +65 -52
  1404. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  1405. package/build-module/components/media-replace-flow/index.js +75 -61
  1406. package/build-module/components/media-replace-flow/index.js.map +1 -1
  1407. package/build-module/components/media-replace-flow/index.native.js +2 -2
  1408. package/build-module/components/media-replace-flow/index.native.js.map +1 -1
  1409. package/build-module/components/media-upload/index.native.js +46 -40
  1410. package/build-module/components/media-upload/index.native.js.map +1 -1
  1411. package/build-module/components/media-upload-progress/index.native.js +41 -16
  1412. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  1413. package/build-module/components/multi-selection-inspector/index.js +20 -15
  1414. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  1415. package/build-module/components/navigable-toolbar/index.js +9 -7
  1416. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  1417. package/build-module/components/observe-typing/index.js +5 -4
  1418. package/build-module/components/observe-typing/index.js.map +1 -1
  1419. package/build-module/components/panel-color-settings/index.js +2 -2
  1420. package/build-module/components/panel-color-settings/index.js.map +1 -1
  1421. package/build-module/components/plain-text/index.js +5 -5
  1422. package/build-module/components/plain-text/index.js.map +1 -1
  1423. package/build-module/components/plain-text/index.native.js +3 -3
  1424. package/build-module/components/plain-text/index.native.js.map +1 -1
  1425. package/build-module/components/provider/block-refs-provider.js +5 -4
  1426. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  1427. package/build-module/components/provider/index.js +12 -8
  1428. package/build-module/components/provider/index.js.map +1 -1
  1429. package/build-module/components/provider/index.native.js +4 -3
  1430. package/build-module/components/provider/index.native.js.map +1 -1
  1431. package/build-module/components/provider/use-block-sync.js +19 -1
  1432. package/build-module/components/provider/use-block-sync.js.map +1 -1
  1433. package/build-module/components/provider/with-registry-provider.js +32 -28
  1434. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  1435. package/build-module/components/publish-date-time-picker/index.js +37 -17
  1436. package/build-module/components/publish-date-time-picker/index.js.map +1 -1
  1437. package/build-module/components/recursion-provider/index.js +6 -5
  1438. package/build-module/components/recursion-provider/index.js.map +1 -1
  1439. package/build-module/components/resizable-box-popover/index.js +7 -6
  1440. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  1441. package/build-module/components/resolution-tool/index.js +12 -11
  1442. package/build-module/components/resolution-tool/index.js.map +1 -1
  1443. package/build-module/components/responsive-block-control/index.js +32 -27
  1444. package/build-module/components/responsive-block-control/index.js.map +1 -1
  1445. package/build-module/components/responsive-block-control/label.js +13 -7
  1446. package/build-module/components/responsive-block-control/label.js.map +1 -1
  1447. package/build-module/components/rich-text/content.js +8 -5
  1448. package/build-module/components/rich-text/content.js.map +1 -1
  1449. package/build-module/components/rich-text/embed-handler-picker.native.js +2 -2
  1450. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
  1451. package/build-module/components/rich-text/event-listeners/enter.js +33 -43
  1452. package/build-module/components/rich-text/event-listeners/enter.js.map +1 -1
  1453. package/build-module/components/rich-text/event-listeners/paste-handler.js +23 -43
  1454. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  1455. package/build-module/components/rich-text/format-edit.js +5 -5
  1456. package/build-module/components/rich-text/format-edit.js.map +1 -1
  1457. package/build-module/components/rich-text/format-toolbar/index.js +40 -34
  1458. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  1459. package/build-module/components/rich-text/format-toolbar/index.native.js +10 -7
  1460. package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
  1461. package/build-module/components/rich-text/format-toolbar-container.js +17 -12
  1462. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  1463. package/build-module/components/rich-text/format-toolbar-container.native.js +5 -4
  1464. package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
  1465. package/build-module/components/rich-text/get-rich-text-values.js +3 -2
  1466. package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
  1467. package/build-module/components/rich-text/index.js +98 -78
  1468. package/build-module/components/rich-text/index.js.map +1 -1
  1469. package/build-module/components/rich-text/index.native.js +54 -48
  1470. package/build-module/components/rich-text/index.native.js.map +1 -1
  1471. package/build-module/components/rich-text/multiline.js +69 -41
  1472. package/build-module/components/rich-text/multiline.js.map +1 -1
  1473. package/build-module/components/rich-text/native/format-edit.js +3 -4
  1474. package/build-module/components/rich-text/native/format-edit.js.map +1 -1
  1475. package/build-module/components/rich-text/native/index.native.js +89 -80
  1476. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  1477. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +20 -14
  1478. package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
  1479. package/build-module/components/rich-text/toolbar-button.js +8 -7
  1480. package/build-module/components/rich-text/toolbar-button.js.map +1 -1
  1481. package/build-module/components/rich-text/utils.js +5 -4
  1482. package/build-module/components/rich-text/utils.js.map +1 -1
  1483. package/build-module/components/rich-text/with-deprecations.js +2 -2
  1484. package/build-module/components/rich-text/with-deprecations.js.map +1 -1
  1485. package/build-module/components/segmented-text-control/index.js +21 -18
  1486. package/build-module/components/segmented-text-control/index.js.map +1 -1
  1487. package/build-module/components/skip-to-selected-block/index.js +5 -4
  1488. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  1489. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +29 -14
  1490. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  1491. package/build-module/components/spacing-sizes-control/index.js +24 -19
  1492. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  1493. package/build-module/components/spacing-sizes-control/input-controls/axial.js +20 -18
  1494. package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
  1495. package/build-module/components/spacing-sizes-control/input-controls/separated.js +19 -17
  1496. package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
  1497. package/build-module/components/spacing-sizes-control/input-controls/single.js +2 -2
  1498. package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
  1499. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +106 -101
  1500. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  1501. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +44 -34
  1502. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  1503. package/build-module/components/spacing-sizes-control/utils.js +1 -0
  1504. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  1505. package/build-module/components/text-alignment-control/index.js +4 -4
  1506. package/build-module/components/text-alignment-control/index.js.map +1 -1
  1507. package/build-module/components/text-decoration-control/index.js +4 -4
  1508. package/build-module/components/text-decoration-control/index.js.map +1 -1
  1509. package/build-module/components/text-transform-control/index.js +4 -4
  1510. package/build-module/components/text-transform-control/index.js.map +1 -1
  1511. package/build-module/components/tool-selector/index.js +37 -26
  1512. package/build-module/components/tool-selector/index.js.map +1 -1
  1513. package/build-module/components/typewriter/index.js +5 -4
  1514. package/build-module/components/typewriter/index.js.map +1 -1
  1515. package/build-module/components/ungroup-button/index.native.js +8 -6
  1516. package/build-module/components/ungroup-button/index.native.js.map +1 -1
  1517. package/build-module/components/unit-control/index.js +2 -2
  1518. package/build-module/components/unit-control/index.js.map +1 -1
  1519. package/build-module/components/unsupported-block-details/index.native.js +32 -28
  1520. package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
  1521. package/build-module/components/url-input/button.js +32 -28
  1522. package/build-module/components/url-input/button.js.map +1 -1
  1523. package/build-module/components/url-input/index.js +30 -22
  1524. package/build-module/components/url-input/index.js.map +1 -1
  1525. package/build-module/components/url-input/index.native.js +2 -2
  1526. package/build-module/components/url-input/index.native.js.map +1 -1
  1527. package/build-module/components/url-popover/image-url-input-ui.js +106 -91
  1528. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  1529. package/build-module/components/url-popover/index.js +25 -19
  1530. package/build-module/components/url-popover/index.js.map +1 -1
  1531. package/build-module/components/url-popover/link-editor.js +18 -16
  1532. package/build-module/components/url-popover/link-editor.js.map +1 -1
  1533. package/build-module/components/url-popover/link-viewer-url.js +8 -7
  1534. package/build-module/components/url-popover/link-viewer-url.js.map +1 -1
  1535. package/build-module/components/url-popover/link-viewer.js +17 -15
  1536. package/build-module/components/url-popover/link-viewer.js.map +1 -1
  1537. package/build-module/components/use-block-commands/index.js +2 -2
  1538. package/build-module/components/use-block-commands/index.js.map +1 -1
  1539. package/build-module/components/video-player/gridicon-play.native.js +8 -7
  1540. package/build-module/components/video-player/gridicon-play.native.js.map +1 -1
  1541. package/build-module/components/video-player/index.native.js +44 -40
  1542. package/build-module/components/video-player/index.native.js.map +1 -1
  1543. package/build-module/components/warning/index.js +36 -27
  1544. package/build-module/components/warning/index.js.map +1 -1
  1545. package/build-module/components/warning/index.native.js +18 -13
  1546. package/build-module/components/warning/index.native.js.map +1 -1
  1547. package/build-module/components/writing-flow/index.js +12 -7
  1548. package/build-module/components/writing-flow/index.js.map +1 -1
  1549. package/build-module/components/writing-flow/use-clipboard-handler.js +65 -15
  1550. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  1551. package/build-module/components/writing-flow/use-input.js +45 -3
  1552. package/build-module/components/writing-flow/use-input.js.map +1 -1
  1553. package/build-module/components/writing-flow/use-tab-nav.js +9 -4
  1554. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  1555. package/build-module/components/writing-mode-control/index.js +4 -4
  1556. package/build-module/components/writing-mode-control/index.js.map +1 -1
  1557. package/build-module/hooks/align.js +11 -10
  1558. package/build-module/hooks/align.js.map +1 -1
  1559. package/build-module/hooks/anchor.js +30 -22
  1560. package/build-module/hooks/anchor.js.map +1 -1
  1561. package/build-module/hooks/background.js +7 -6
  1562. package/build-module/hooks/background.js.map +1 -1
  1563. package/build-module/hooks/block-bindings.js +81 -0
  1564. package/build-module/hooks/block-bindings.js.map +1 -0
  1565. package/build-module/hooks/block-hooks.js +42 -33
  1566. package/build-module/hooks/block-hooks.js.map +1 -1
  1567. package/build-module/hooks/block-style-variation.js +136 -0
  1568. package/build-module/hooks/block-style-variation.js.map +1 -0
  1569. package/build-module/hooks/border.js +9 -8
  1570. package/build-module/hooks/border.js.map +1 -1
  1571. package/build-module/hooks/color.js +14 -12
  1572. package/build-module/hooks/color.js.map +1 -1
  1573. package/build-module/hooks/content-lock-ui.js +27 -40
  1574. package/build-module/hooks/content-lock-ui.js.map +1 -1
  1575. package/build-module/hooks/contrast-checker.js +2 -2
  1576. package/build-module/hooks/contrast-checker.js.map +1 -1
  1577. package/build-module/hooks/custom-class-name.js +19 -18
  1578. package/build-module/hooks/custom-class-name.js.map +1 -1
  1579. package/build-module/hooks/custom-class-name.native.js +2 -2
  1580. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  1581. package/build-module/hooks/dimensions.js +28 -23
  1582. package/build-module/hooks/dimensions.js.map +1 -1
  1583. package/build-module/hooks/duotone.js +51 -45
  1584. package/build-module/hooks/duotone.js.map +1 -1
  1585. package/build-module/hooks/font-family.js +3 -3
  1586. package/build-module/hooks/font-family.js.map +1 -1
  1587. package/build-module/hooks/font-size.js +2 -2
  1588. package/build-module/hooks/font-size.js.map +1 -1
  1589. package/build-module/hooks/index.js +4 -2
  1590. package/build-module/hooks/index.js.map +1 -1
  1591. package/build-module/hooks/layout-child.js +37 -25
  1592. package/build-module/hooks/layout-child.js.map +1 -1
  1593. package/build-module/hooks/layout.js +65 -57
  1594. package/build-module/hooks/layout.js.map +1 -1
  1595. package/build-module/hooks/line-height.js +2 -2
  1596. package/build-module/hooks/line-height.js.map +1 -1
  1597. package/build-module/hooks/position.js +30 -28
  1598. package/build-module/hooks/position.js.map +1 -1
  1599. package/build-module/hooks/spacing-visualizer.js +10 -9
  1600. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  1601. package/build-module/hooks/style.js +25 -13
  1602. package/build-module/hooks/style.js.map +1 -1
  1603. package/build-module/hooks/text-align.js +23 -22
  1604. package/build-module/hooks/text-align.js.map +1 -1
  1605. package/build-module/hooks/typography.js +6 -5
  1606. package/build-module/hooks/typography.js.map +1 -1
  1607. package/build-module/hooks/typography.native.js +12 -8
  1608. package/build-module/hooks/typography.native.js.map +1 -1
  1609. package/build-module/hooks/use-bindings-attributes.js +85 -25
  1610. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  1611. package/build-module/hooks/use-color-props.js +2 -2
  1612. package/build-module/hooks/use-color-props.js.map +1 -1
  1613. package/build-module/hooks/use-typography-props.js +5 -5
  1614. package/build-module/hooks/use-typography-props.js.map +1 -1
  1615. package/build-module/hooks/use-zoom-out.js +2 -2
  1616. package/build-module/hooks/use-zoom-out.js.map +1 -1
  1617. package/build-module/hooks/utils.js +20 -19
  1618. package/build-module/hooks/utils.js.map +1 -1
  1619. package/build-module/layouts/constrained.js +68 -58
  1620. package/build-module/layouts/constrained.js.map +1 -1
  1621. package/build-module/layouts/flex.js +77 -61
  1622. package/build-module/layouts/flex.js.map +1 -1
  1623. package/build-module/layouts/grid.js +154 -130
  1624. package/build-module/layouts/grid.js.map +1 -1
  1625. package/build-module/private-apis.js +11 -2
  1626. package/build-module/private-apis.js.map +1 -1
  1627. package/build-module/store/actions.js +172 -46
  1628. package/build-module/store/actions.js.map +1 -1
  1629. package/build-module/store/get-block-settings.js +2 -46
  1630. package/build-module/store/get-block-settings.js.map +1 -1
  1631. package/build-module/store/private-actions.js +24 -0
  1632. package/build-module/store/private-actions.js.map +1 -1
  1633. package/build-module/store/private-keys.js +1 -0
  1634. package/build-module/store/private-keys.js.map +1 -1
  1635. package/build-module/store/private-selectors.js +5 -0
  1636. package/build-module/store/private-selectors.js.map +1 -1
  1637. package/build-module/store/reducer.js +21 -14
  1638. package/build-module/store/reducer.js.map +1 -1
  1639. package/build-module/store/selectors.js +33 -3
  1640. package/build-module/store/selectors.js.map +1 -1
  1641. package/build-module/store/utils.js +1 -0
  1642. package/build-module/store/utils.js.map +1 -1
  1643. package/build-module/utils/selection.js +7 -0
  1644. package/build-module/utils/selection.js.map +1 -1
  1645. package/build-module/utils/transform-styles/index.js +12 -7
  1646. package/build-module/utils/transform-styles/index.js.map +1 -1
  1647. package/build-style/content-rtl.css +93 -96
  1648. package/build-style/content.css +93 -96
  1649. package/build-style/style-rtl.css +105 -76
  1650. package/build-style/style.css +105 -76
  1651. package/build-types/components/block-context/index.d.ts +1 -1
  1652. package/build-types/components/block-context/index.d.ts.map +1 -1
  1653. package/package.json +34 -33
  1654. package/src/components/alignment-control/test/index.js +1 -1
  1655. package/src/components/audio-player/audio-url-parser.native.js +20 -0
  1656. package/src/components/audio-player/index.native.js +221 -0
  1657. package/src/components/audio-player/styles.native.scss +114 -0
  1658. package/src/components/audio-player/test/audio-url-parser.native.js +53 -0
  1659. package/src/components/block-actions/index.js +5 -1
  1660. package/src/components/block-alignment-control/ui.js +2 -2
  1661. package/src/components/block-bindings-toolbar-indicator/index.js +125 -10
  1662. package/src/components/block-bindings-toolbar-indicator/style.scss +7 -8
  1663. package/src/components/block-canvas/style.scss +1 -5
  1664. package/src/components/block-card/index.js +11 -7
  1665. package/src/components/block-card/style.scss +0 -11
  1666. package/src/components/block-compare/index.js +2 -2
  1667. package/src/components/block-content-overlay/content.scss +4 -37
  1668. package/src/components/block-draggable/test/helpers.native.js +8 -8
  1669. package/src/components/block-edit/edit.js +2 -2
  1670. package/src/components/block-edit/index.js +13 -2
  1671. package/src/components/block-edit/multiple-usage-warning.js +46 -0
  1672. package/src/components/block-icon/index.js +2 -2
  1673. package/src/components/block-inspector/index.js +4 -5
  1674. package/src/components/block-inspector/useBlockInspectorAnimationSettings.js +2 -5
  1675. package/src/components/block-list/block-invalid-warning.native.js +1 -1
  1676. package/src/components/block-list/block.js +67 -21
  1677. package/src/components/block-list/block.native.js +19 -11
  1678. package/src/components/block-list/content.scss +46 -73
  1679. package/src/components/block-list/index.js +2 -2
  1680. package/src/components/block-list/use-block-props/index.js +4 -2
  1681. package/src/components/block-list/use-block-props/use-scroll-into-view.js +38 -0
  1682. package/src/components/block-list-appender/index.js +2 -2
  1683. package/src/components/block-mover/button.js +2 -2
  1684. package/src/components/block-mover/index.js +2 -2
  1685. package/src/components/block-patterns-list/index.js +33 -5
  1686. package/src/components/block-patterns-list/style.scss +23 -20
  1687. package/src/components/block-popover/README.md +1 -1
  1688. package/src/components/block-popover/cover.js +22 -7
  1689. package/src/components/block-popover/inbetween.js +2 -2
  1690. package/src/components/block-popover/index.js +24 -6
  1691. package/src/components/block-preview/index.js +2 -2
  1692. package/src/components/block-preview/style.scss +0 -26
  1693. package/src/components/block-settings/container.native.js +2 -0
  1694. package/src/components/block-settings-menu/block-settings-dropdown.js +14 -6
  1695. package/src/components/block-settings-menu-controls/index.js +25 -16
  1696. package/src/components/block-styles/index.js +2 -2
  1697. package/src/components/block-toolbar/index.js +4 -4
  1698. package/src/components/block-tools/block-selection-button.js +2 -2
  1699. package/src/components/block-tools/block-toolbar-breadcrumb.js +5 -5
  1700. package/src/components/block-tools/block-toolbar-popover.js +4 -7
  1701. package/src/components/block-tools/empty-block-inserter.js +2 -2
  1702. package/src/components/block-tools/index.js +30 -8
  1703. package/src/components/block-tools/insertion-point.js +4 -4
  1704. package/src/components/block-tools/style.scss +10 -2
  1705. package/src/components/block-tools/zoom-out-mode-inserters.js +75 -22
  1706. package/src/components/block-variation-picker/index.js +2 -2
  1707. package/src/components/border-radius-control/all-input-control.js +1 -1
  1708. package/src/components/border-radius-control/input-controls.js +1 -1
  1709. package/src/components/button-block-appender/index.js +2 -2
  1710. package/src/components/child-layout-control/index.js +26 -14
  1711. package/src/components/colors/utils.js +2 -2
  1712. package/src/components/colors/with-colors.js +2 -1
  1713. package/src/components/colors-gradients/control.js +6 -14
  1714. package/src/components/colors-gradients/dropdown.js +2 -2
  1715. package/src/components/colors-gradients/panel-color-gradient-settings.js +2 -2
  1716. package/src/components/colors-gradients/test/control.js +3 -3
  1717. package/src/components/contrast-checker/test/index.js +8 -8
  1718. package/src/components/convert-to-group-buttons/index.js +10 -1
  1719. package/src/components/default-block-appender/index.js +2 -2
  1720. package/src/components/dimensions-tool/aspect-ratio-tool.js +41 -68
  1721. package/src/components/dimensions-tool/scale-tool.js +1 -1
  1722. package/src/components/dimensions-tool/test/index.js +10 -0
  1723. package/src/components/dimensions-tool/width-height-tool.js +2 -2
  1724. package/src/components/editable-text/README.md +0 -4
  1725. package/src/components/font-sizes/utils.js +2 -1
  1726. package/src/components/global-styles/background-panel.js +119 -49
  1727. package/src/components/global-styles/border-panel.js +8 -5
  1728. package/src/components/global-styles/color-panel.js +30 -25
  1729. package/src/components/global-styles/color-panel.native.js +1 -1
  1730. package/src/components/global-styles/dimensions-panel.js +11 -12
  1731. package/src/components/global-styles/filters-panel.js +2 -2
  1732. package/src/components/global-styles/hooks.js +13 -1
  1733. package/src/components/global-styles/index.js +3 -0
  1734. package/src/components/global-styles/shadow-panel-components.js +17 -14
  1735. package/src/components/global-styles/test/get-global-styles-changes.js +0 -2
  1736. package/src/components/global-styles/test/theme-file-uri-utils.js +66 -0
  1737. package/src/components/global-styles/test/use-global-styles-context.native.js +434 -0
  1738. package/src/components/global-styles/test/use-global-styles-output.js +13 -12
  1739. package/src/components/global-styles/theme-file-uri-utils.js +77 -0
  1740. package/src/components/global-styles/typography-panel.js +50 -5
  1741. package/src/components/global-styles/use-global-styles-context.native.js +586 -0
  1742. package/src/components/global-styles/use-global-styles-output.js +200 -102
  1743. package/src/components/grid-visualizer/grid-item-resizer.js +169 -40
  1744. package/src/components/grid-visualizer/grid-visualizer.js +27 -7
  1745. package/src/components/grid-visualizer/style.scss +2 -1
  1746. package/src/components/height-control/index.js +1 -1
  1747. package/src/components/iframe/content.scss +67 -0
  1748. package/src/components/iframe/index.js +119 -39
  1749. package/src/components/image-editor/aspect-ratio-dropdown.js +91 -59
  1750. package/src/components/image-editor/cropper.js +2 -2
  1751. package/src/components/image-editor/index.js +1 -1
  1752. package/src/components/image-editor/test/index.js +22 -0
  1753. package/src/components/index.js +1 -0
  1754. package/src/components/index.native.js +7 -0
  1755. package/src/components/inner-blocks/button-block-appender.js +2 -2
  1756. package/src/components/inner-blocks/index.js +19 -17
  1757. package/src/components/inner-blocks/use-nested-settings-update.js +9 -16
  1758. package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -1
  1759. package/src/components/inserter/block-patterns-explorer/pattern-list.js +3 -2
  1760. package/src/components/inserter/block-patterns-tab/index.js +17 -1
  1761. package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +16 -2
  1762. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +8 -2
  1763. package/src/components/inserter/block-patterns-tab/patterns-filter.js +3 -2
  1764. package/src/components/inserter/block-types-tab.js +119 -79
  1765. package/src/components/inserter/category-tabs/index.js +1 -1
  1766. package/src/components/inserter/hooks/use-block-types-state.js +21 -5
  1767. package/src/components/inserter/hooks/use-insertion-point.js +68 -8
  1768. package/src/components/inserter/hooks/use-patterns-state.js +18 -5
  1769. package/src/components/inserter/index.js +4 -5
  1770. package/src/components/inserter/library.js +23 -7
  1771. package/src/components/inserter/media-tab/media-preview.js +2 -2
  1772. package/src/components/inserter/menu.js +135 -116
  1773. package/src/components/inserter/quick-inserter.js +5 -3
  1774. package/src/components/inserter/search-results.js +2 -1
  1775. package/src/components/inserter/style.scss +47 -26
  1776. package/src/components/inserter/tabs.js +29 -15
  1777. package/src/components/inserter-list-item/index.js +3 -3
  1778. package/src/components/inspector-controls/fill.native.js +3 -5
  1779. package/src/components/inspector-controls-tabs/index.js +15 -3
  1780. package/src/components/inspector-controls-tabs/style.scss +2 -10
  1781. package/src/components/keyboard-shortcuts/index.js +12 -0
  1782. package/src/components/line-height-control/test/index.js +16 -14
  1783. package/src/components/link-control/index.js +12 -3
  1784. package/src/components/link-control/link-preview.js +3 -3
  1785. package/src/components/link-control/search-results.js +2 -2
  1786. package/src/components/link-control/style.scss +9 -3
  1787. package/src/components/list-view/block-contents.js +3 -3
  1788. package/src/components/list-view/block-select-button.js +14 -3
  1789. package/src/components/list-view/block.js +54 -30
  1790. package/src/components/list-view/drop-indicator.js +3 -3
  1791. package/src/components/list-view/index.js +2 -2
  1792. package/src/components/list-view/leaf.js +2 -5
  1793. package/src/components/media-placeholder/index.js +5 -5
  1794. package/src/components/media-placeholder/index.native.js +2 -2
  1795. package/src/components/media-replace-flow/index.js +2 -2
  1796. package/src/components/media-upload-progress/index.native.js +22 -2
  1797. package/src/components/plain-text/index.js +2 -2
  1798. package/src/components/provider/use-block-sync.js +27 -1
  1799. package/src/components/provider/with-registry-provider.js +33 -38
  1800. package/src/components/publish-date-time-picker/index.js +43 -15
  1801. package/src/components/resolution-tool/index.js +1 -1
  1802. package/src/components/responsive-block-control/index.js +2 -2
  1803. package/src/components/rich-text/README.md +0 -8
  1804. package/src/components/rich-text/event-listeners/enter.js +28 -48
  1805. package/src/components/rich-text/event-listeners/paste-handler.js +21 -58
  1806. package/src/components/rich-text/format-toolbar/index.js +2 -2
  1807. package/src/components/rich-text/index.js +21 -8
  1808. package/src/components/rich-text/index.native.js +2 -2
  1809. package/src/components/rich-text/multiline.js +31 -3
  1810. package/src/components/rich-text/native/index.native.js +3 -2
  1811. package/src/components/rich-text/native/test/index.native.js +13 -13
  1812. package/src/components/segmented-text-control/index.js +2 -2
  1813. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +48 -16
  1814. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -3
  1815. package/src/components/spacing-sizes-control/utils.js +2 -0
  1816. package/src/components/text-alignment-control/index.js +2 -2
  1817. package/src/components/text-decoration-control/index.js +2 -2
  1818. package/src/components/text-transform-control/index.js +2 -2
  1819. package/src/components/url-input/index.js +4 -4
  1820. package/src/components/url-popover/link-editor.js +2 -2
  1821. package/src/components/url-popover/link-viewer-url.js +2 -2
  1822. package/src/components/url-popover/link-viewer.js +2 -2
  1823. package/src/components/video-player/index.native.js +1 -1
  1824. package/src/components/warning/index.js +2 -2
  1825. package/src/components/writing-flow/index.js +2 -2
  1826. package/src/components/writing-flow/use-clipboard-handler.js +96 -33
  1827. package/src/components/writing-flow/use-input.js +75 -1
  1828. package/src/components/writing-flow/use-tab-nav.js +10 -1
  1829. package/src/components/writing-mode-control/index.js +2 -5
  1830. package/src/content.scss +1 -0
  1831. package/src/hooks/align.js +2 -2
  1832. package/src/hooks/background.js +1 -1
  1833. package/src/hooks/block-bindings.js +92 -0
  1834. package/src/hooks/block-bindings.scss +3 -0
  1835. package/src/hooks/block-style-variation.js +156 -0
  1836. package/src/hooks/border.js +3 -3
  1837. package/src/hooks/color.js +12 -19
  1838. package/src/hooks/color.scss +1 -0
  1839. package/src/hooks/content-lock-ui.js +16 -33
  1840. package/src/hooks/custom-class-name.js +2 -2
  1841. package/src/hooks/custom-class-name.native.js +2 -2
  1842. package/src/hooks/dimensions.js +2 -2
  1843. package/src/hooks/font-family.js +1 -1
  1844. package/src/hooks/index.js +4 -0
  1845. package/src/hooks/layout-child.js +34 -20
  1846. package/src/hooks/layout.js +3 -4
  1847. package/src/hooks/position.js +3 -3
  1848. package/src/hooks/style.js +9 -1
  1849. package/src/hooks/text-align.js +20 -14
  1850. package/src/hooks/use-bindings-attributes.js +93 -18
  1851. package/src/hooks/use-color-props.js +2 -2
  1852. package/src/hooks/use-typography-props.js +4 -3
  1853. package/src/hooks/use-zoom-out.js +9 -2
  1854. package/src/hooks/utils.js +23 -6
  1855. package/src/layouts/flex.js +2 -2
  1856. package/src/layouts/grid.js +8 -12
  1857. package/src/private-apis.js +10 -0
  1858. package/src/store/actions.js +261 -73
  1859. package/src/store/get-block-settings.js +1 -46
  1860. package/src/store/private-actions.js +24 -0
  1861. package/src/store/private-keys.js +1 -0
  1862. package/src/store/private-selectors.js +15 -0
  1863. package/src/store/reducer.js +24 -11
  1864. package/src/store/selectors.js +65 -8
  1865. package/src/store/utils.js +2 -0
  1866. package/src/style.scss +1 -0
  1867. package/src/utils/selection.js +8 -0
  1868. package/src/utils/test/__snapshots__/transform-styles.js.snap +6 -0
  1869. package/src/utils/test/transform-styles.js +14 -0
  1870. package/src/utils/transform-styles/index.js +14 -9
  1871. package/tsconfig.tsbuildinfo +1 -1
  1872. package/build/components/rich-text/split-value.js +0 -81
  1873. package/build/components/rich-text/split-value.js.map +0 -1
  1874. package/build-module/components/rich-text/split-value.js +0 -75
  1875. package/build-module/components/rich-text/split-value.js.map +0 -1
  1876. package/src/components/rich-text/split-value.js +0 -64
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","Platform","useState","useEffect","useCallback","useDispatch","useSelect","getBlockSupport","deprecated","InspectorControls","DimensionsPanel","StylesDimensionsPanel","useHasDimensionsPanel","MarginVisualizer","PaddingVisualizer","store","blockEditorStore","unlock","cleanEmptyObject","shouldSkipSerialization","DIMENSIONS_SUPPORT_KEY","SPACING_SUPPORT_KEY","ALL_SIDES","AXIAL_SIDES","useVisualizer","property","setProperty","hideBlockInterface","showBlockInterface","DimensionsInspectorControl","children","resetAllFilter","attributesResetAllFilter","attributes","existingStyle","style","updatedStyle","createElement","group","clientId","name","setAttributes","settings","isEnabled","value","select","getBlockAttributes","visualizedProperty","setVisualizedProperty","onChange","newStyle","defaultDimensionsControls","defaultSpacingControls","defaultControls","Fragment","as","panelId","onVisualize","spacing","padding","forceShow","margin","hasDimensionsSupport","blockName","feature","OS","support","aspectRatio","minHeight","useBlockProps","attributeKeys","hasSupport","className","dimensions","inlineStyleOverrides","useCustomSides","since","version"],"sources":["@wordpress/block-editor/src/hooks/dimensions.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tDimensionsPanel as StylesDimensionsPanel,\n\tuseHasDimensionsPanel,\n} from '../components/global-styles';\nimport { MarginVisualizer, PaddingVisualizer } from './spacing-visualizer';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\nimport { cleanEmptyObject, shouldSkipSerialization } from './utils';\n\nexport const DIMENSIONS_SUPPORT_KEY = 'dimensions';\nexport const SPACING_SUPPORT_KEY = 'spacing';\nexport const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nexport const AXIAL_SIDES = [ 'vertical', 'horizontal' ];\n\nfunction useVisualizer() {\n\tconst [ property, setProperty ] = useState( false );\n\tconst { hideBlockInterface, showBlockInterface } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tuseEffect( () => {\n\t\tif ( ! property ) {\n\t\t\tshowBlockInterface();\n\t\t} else {\n\t\t\thideBlockInterface();\n\t\t}\n\t}, [ property, showBlockInterface, hideBlockInterface ] );\n\n\treturn [ property, setProperty ];\n}\n\nfunction DimensionsInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributes.style;\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tstyle: updatedStyle,\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"dimensions\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function DimensionsPanel( { clientId, name, setAttributes, settings } ) {\n\tconst isEnabled = useHasDimensionsPanel( settings );\n\tconst value = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId )?.style,\n\t\t[ clientId ]\n\t);\n\tconst [ visualizedProperty, setVisualizedProperty ] = useVisualizer();\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultDimensionsControls = getBlockSupport( name, [\n\t\tDIMENSIONS_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultSpacingControls = getBlockSupport( name, [\n\t\tSPACING_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultControls = {\n\t\t...defaultDimensionsControls,\n\t\t...defaultSpacingControls,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<StylesDimensionsPanel\n\t\t\t\tas={ DimensionsInspectorControl }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\tsettings={ settings }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tdefaultControls={ defaultControls }\n\t\t\t\tonVisualize={ setVisualizedProperty }\n\t\t\t/>\n\t\t\t{ !! settings?.spacing?.padding && (\n\t\t\t\t<PaddingVisualizer\n\t\t\t\t\tforceShow={ visualizedProperty === 'padding' }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! settings?.spacing?.margin && (\n\t\t\t\t<MarginVisualizer\n\t\t\t\t\tforceShow={ visualizedProperty === 'margin' }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n/**\n * Determine whether there is block support for dimensions.\n *\n * @param {string} blockName Block name.\n * @param {string} feature Background image feature to check for.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasDimensionsSupport( blockName, feature = 'any' ) {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\tconst support = getBlockSupport( blockName, DIMENSIONS_SUPPORT_KEY );\n\n\tif ( support === true ) {\n\t\treturn true;\n\t}\n\n\tif ( feature === 'any' ) {\n\t\treturn !! ( support?.aspectRatio || !! support?.minHeight );\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\nexport default {\n\tuseBlockProps,\n\tattributeKeys: [ 'minHeight', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasDimensionsSupport( name, 'aspectRatio' );\n\t},\n};\n\nfunction useBlockProps( { name, minHeight, style } ) {\n\tif (\n\t\t! hasDimensionsSupport( name, 'aspectRatio' ) ||\n\t\tshouldSkipSerialization( name, DIMENSIONS_SUPPORT_KEY, 'aspectRatio' )\n\t) {\n\t\treturn {};\n\t}\n\n\tconst className = classnames( {\n\t\t'has-aspect-ratio': !! style?.dimensions?.aspectRatio,\n\t} );\n\n\t// Allow dimensions-based inline style overrides to override any global styles rules that\n\t// might be set for the block, and therefore affect the display of the aspect ratio.\n\tconst inlineStyleOverrides = {};\n\n\t// Apply rules to unset incompatible styles.\n\t// Note that a set `aspectRatio` will win out if both an aspect ratio and a minHeight are set.\n\t// This is because the aspect ratio is a newer block support, so (in theory) any aspect ratio\n\t// that is set should be intentional and should override any existing minHeight. The Cover block\n\t// and dimensions controls have logic that will manually clear the aspect ratio if a minHeight\n\t// is set.\n\tif ( style?.dimensions?.aspectRatio ) {\n\t\t// To ensure the aspect ratio does not get overridden by `minHeight` unset any existing rule.\n\t\tinlineStyleOverrides.minHeight = 'unset';\n\t} else if ( minHeight || style?.dimensions?.minHeight ) {\n\t\t// To ensure the minHeight does not get overridden by `aspectRatio` unset any existing rule.\n\t\tinlineStyleOverrides.aspectRatio = 'unset';\n\t}\n\n\treturn { className, style: inlineStyleOverrides };\n}\n\n/**\n * @deprecated\n */\nexport function useCustomSides() {\n\tdeprecated( 'wp.blockEditor.__experimentalUseCustomSides', {\n\t\tsince: '6.3',\n\t\tversion: '6.4',\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","Platform","useState","useEffect","useCallback","useDispatch","useSelect","getBlockSupport","deprecated","InspectorControls","DimensionsPanel","StylesDimensionsPanel","useHasDimensionsPanel","MarginVisualizer","PaddingVisualizer","store","blockEditorStore","unlock","cleanEmptyObject","shouldSkipSerialization","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DIMENSIONS_SUPPORT_KEY","SPACING_SUPPORT_KEY","ALL_SIDES","AXIAL_SIDES","useVisualizer","property","setProperty","hideBlockInterface","showBlockInterface","DimensionsInspectorControl","children","resetAllFilter","attributesResetAllFilter","attributes","existingStyle","style","updatedStyle","group","clientId","name","setAttributes","settings","isEnabled","value","select","getBlockAttributes","visualizedProperty","setVisualizedProperty","onChange","newStyle","defaultDimensionsControls","defaultSpacingControls","defaultControls","as","panelId","onVisualize","spacing","padding","forceShow","margin","hasDimensionsSupport","blockName","feature","OS","support","aspectRatio","minHeight","useBlockProps","attributeKeys","hasSupport","className","dimensions","inlineStyleOverrides","useCustomSides","since","version"],"sources":["@wordpress/block-editor/src/hooks/dimensions.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Platform, useState, useEffect, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tDimensionsPanel as StylesDimensionsPanel,\n\tuseHasDimensionsPanel,\n} from '../components/global-styles';\nimport { MarginVisualizer, PaddingVisualizer } from './spacing-visualizer';\nimport { store as blockEditorStore } from '../store';\nimport { unlock } from '../lock-unlock';\nimport { cleanEmptyObject, shouldSkipSerialization } from './utils';\n\nexport const DIMENSIONS_SUPPORT_KEY = 'dimensions';\nexport const SPACING_SUPPORT_KEY = 'spacing';\nexport const ALL_SIDES = [ 'top', 'right', 'bottom', 'left' ];\nexport const AXIAL_SIDES = [ 'vertical', 'horizontal' ];\n\nfunction useVisualizer() {\n\tconst [ property, setProperty ] = useState( false );\n\tconst { hideBlockInterface, showBlockInterface } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tuseEffect( () => {\n\t\tif ( ! property ) {\n\t\t\tshowBlockInterface();\n\t\t} else {\n\t\t\thideBlockInterface();\n\t\t}\n\t}, [ property, showBlockInterface, hideBlockInterface ] );\n\n\treturn [ property, setProperty ];\n}\n\nfunction DimensionsInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributes.style;\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tstyle: updatedStyle,\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"dimensions\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function DimensionsPanel( { clientId, name, setAttributes, settings } ) {\n\tconst isEnabled = useHasDimensionsPanel( settings );\n\tconst value = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId )?.style,\n\t\t[ clientId ]\n\t);\n\tconst [ visualizedProperty, setVisualizedProperty ] = useVisualizer();\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( newStyle ),\n\t\t} );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultDimensionsControls = getBlockSupport( name, [\n\t\tDIMENSIONS_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultSpacingControls = getBlockSupport( name, [\n\t\tSPACING_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\tconst defaultControls = {\n\t\t...defaultDimensionsControls,\n\t\t...defaultSpacingControls,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<StylesDimensionsPanel\n\t\t\t\tas={ DimensionsInspectorControl }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\tsettings={ settings }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tdefaultControls={ defaultControls }\n\t\t\t\tonVisualize={ setVisualizedProperty }\n\t\t\t/>\n\t\t\t{ !! settings?.spacing?.padding && (\n\t\t\t\t<PaddingVisualizer\n\t\t\t\t\tforceShow={ visualizedProperty === 'padding' }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! settings?.spacing?.margin && (\n\t\t\t\t<MarginVisualizer\n\t\t\t\t\tforceShow={ visualizedProperty === 'margin' }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n/**\n * Determine whether there is block support for dimensions.\n *\n * @param {string} blockName Block name.\n * @param {string} feature Background image feature to check for.\n *\n * @return {boolean} Whether there is support.\n */\nexport function hasDimensionsSupport( blockName, feature = 'any' ) {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\tconst support = getBlockSupport( blockName, DIMENSIONS_SUPPORT_KEY );\n\n\tif ( support === true ) {\n\t\treturn true;\n\t}\n\n\tif ( feature === 'any' ) {\n\t\treturn !! ( support?.aspectRatio || !! support?.minHeight );\n\t}\n\n\treturn !! support?.[ feature ];\n}\n\nexport default {\n\tuseBlockProps,\n\tattributeKeys: [ 'minHeight', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasDimensionsSupport( name, 'aspectRatio' );\n\t},\n};\n\nfunction useBlockProps( { name, minHeight, style } ) {\n\tif (\n\t\t! hasDimensionsSupport( name, 'aspectRatio' ) ||\n\t\tshouldSkipSerialization( name, DIMENSIONS_SUPPORT_KEY, 'aspectRatio' )\n\t) {\n\t\treturn {};\n\t}\n\n\tconst className = clsx( {\n\t\t'has-aspect-ratio': !! style?.dimensions?.aspectRatio,\n\t} );\n\n\t// Allow dimensions-based inline style overrides to override any global styles rules that\n\t// might be set for the block, and therefore affect the display of the aspect ratio.\n\tconst inlineStyleOverrides = {};\n\n\t// Apply rules to unset incompatible styles.\n\t// Note that a set `aspectRatio` will win out if both an aspect ratio and a minHeight are set.\n\t// This is because the aspect ratio is a newer block support, so (in theory) any aspect ratio\n\t// that is set should be intentional and should override any existing minHeight. The Cover block\n\t// and dimensions controls have logic that will manually clear the aspect ratio if a minHeight\n\t// is set.\n\tif ( style?.dimensions?.aspectRatio ) {\n\t\t// To ensure the aspect ratio does not get overridden by `minHeight` unset any existing rule.\n\t\tinlineStyleOverrides.minHeight = 'unset';\n\t} else if ( minHeight || style?.dimensions?.minHeight ) {\n\t\t// To ensure the minHeight does not get overridden by `aspectRatio` unset any existing rule.\n\t\tinlineStyleOverrides.aspectRatio = 'unset';\n\t}\n\n\treturn { className, style: inlineStyleOverrides };\n}\n\n/**\n * @deprecated\n */\nexport function useCustomSides() {\n\tdeprecated( 'wp.blockEditor.__experimentalUseCustomSides', {\n\t\tsince: '6.3',\n\t\tversion: '6.4',\n\t} );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import { createElement, Fragment } from "react";
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -24,6 +23,9 @@ import { useBlockSettings, useStyleOverride } from './utils';
24
23
  import { default as StylesFiltersPanel } from '../components/global-styles/filters-panel';
25
24
  import { useBlockEditingMode } from '../components/block-editing-mode';
26
25
  import { __unstableUseBlockElement as useBlockElement } from '../components/block-list/use-block-props/use-block-refs';
26
+ import { jsx as _jsx } from "react/jsx-runtime";
27
+ import { Fragment as _Fragment } from "react/jsx-runtime";
28
+ import { jsxs as _jsxs } from "react/jsx-runtime";
27
29
  const EMPTY_ARRAY = [];
28
30
 
29
31
  // Safari does not always update the duotone filter when the duotone colors
@@ -85,50 +87,54 @@ function DuotonePanelPure({
85
87
  return null;
86
88
  }
87
89
  const duotonePresetOrColors = !Array.isArray(duotoneStyle) ? getColorsFromDuotonePreset(duotoneStyle, duotonePalette) : duotoneStyle;
88
- return createElement(Fragment, null, createElement(InspectorControls, {
89
- group: "filter"
90
- }, createElement(StylesFiltersPanel, {
91
- value: {
92
- filter: {
93
- duotone: duotonePresetOrColors
94
- }
95
- },
96
- onChange: newDuotone => {
97
- const newStyle = {
98
- ...style,
99
- color: {
100
- ...newDuotone?.filter
101
- }
102
- };
103
- setAttributes({
104
- style: newStyle
105
- });
106
- },
107
- settings: settings
108
- })), createElement(BlockControls, {
109
- group: "block",
110
- __experimentalShareWithChildBlocks: true
111
- }, createElement(DuotoneControl, {
112
- duotonePalette: duotonePalette,
113
- colorPalette: colorPalette,
114
- disableCustomDuotone: disableCustomDuotone,
115
- disableCustomColors: disableCustomColors,
116
- value: duotonePresetOrColors,
117
- onChange: newDuotone => {
118
- const maybePreset = getDuotonePresetFromColors(newDuotone, duotonePalette);
119
- const newStyle = {
120
- ...style,
121
- color: {
122
- ...style?.color,
123
- duotone: maybePreset !== null && maybePreset !== void 0 ? maybePreset : newDuotone // use preset or fallback to custom colors.
124
- }
125
- };
126
- setAttributes({
127
- style: newStyle
128
- });
129
- },
130
- settings: settings
131
- })));
90
+ return /*#__PURE__*/_jsxs(_Fragment, {
91
+ children: [/*#__PURE__*/_jsx(InspectorControls, {
92
+ group: "filter",
93
+ children: /*#__PURE__*/_jsx(StylesFiltersPanel, {
94
+ value: {
95
+ filter: {
96
+ duotone: duotonePresetOrColors
97
+ }
98
+ },
99
+ onChange: newDuotone => {
100
+ const newStyle = {
101
+ ...style,
102
+ color: {
103
+ ...newDuotone?.filter
104
+ }
105
+ };
106
+ setAttributes({
107
+ style: newStyle
108
+ });
109
+ },
110
+ settings: settings
111
+ })
112
+ }), /*#__PURE__*/_jsx(BlockControls, {
113
+ group: "block",
114
+ __experimentalShareWithChildBlocks: true,
115
+ children: /*#__PURE__*/_jsx(DuotoneControl, {
116
+ duotonePalette: duotonePalette,
117
+ colorPalette: colorPalette,
118
+ disableCustomDuotone: disableCustomDuotone,
119
+ disableCustomColors: disableCustomColors,
120
+ value: duotonePresetOrColors,
121
+ onChange: newDuotone => {
122
+ const maybePreset = getDuotonePresetFromColors(newDuotone, duotonePalette);
123
+ const newStyle = {
124
+ ...style,
125
+ color: {
126
+ ...style?.color,
127
+ duotone: maybePreset !== null && maybePreset !== void 0 ? maybePreset : newDuotone // use preset or fallback to custom colors.
128
+ }
129
+ };
130
+ setAttributes({
131
+ style: newStyle
132
+ });
133
+ },
134
+ settings: settings
135
+ })
136
+ })]
137
+ });
132
138
  }
133
139
  export default {
134
140
  shareWithChildBlocks: true,
@@ -1 +1 @@
1
- {"version":3,"names":["extend","namesPlugin","getBlockSupport","getBlockType","hasBlockSupport","useInstanceId","addFilter","useMemo","useEffect","BlockControls","InspectorControls","__experimentalDuotoneControl","DuotoneControl","useSettings","getDuotoneFilter","getDuotoneStylesheet","getDuotoneUnsetStylesheet","getBlockCSSSelector","scopeSelector","useBlockSettings","useStyleOverride","default","StylesFiltersPanel","useBlockEditingMode","__unstableUseBlockElement","useBlockElement","EMPTY_ARRAY","isSafari","window","navigator","userAgent","includes","useMultiOriginPresets","presetSetting","defaultSetting","enableDefault","userPresets","themePresets","defaultPresets","getColorsFromDuotonePreset","duotone","duotonePalette","preset","find","slug","colors","undefined","getDuotonePresetFromColors","Array","isArray","duotonePreset","every","val","index","DuotonePanelPure","style","setAttributes","name","duotoneStyle","color","settings","blockEditingMode","colorPalette","enableCustomColors","enableCustomDuotone","disableCustomColors","disableCustomDuotone","length","duotonePresetOrColors","createElement","Fragment","group","value","filter","onChange","newDuotone","newStyle","__experimentalShareWithChildBlocks","maybePreset","shareWithChildBlocks","edit","useBlockProps","attributeKeys","hasSupport","addDuotoneAttributes","attributes","Object","assign","type","useDuotoneStyles","clientId","id","filterId","selector","duotoneSelector","attribute","duotoneAttr","isCustom","isPreset","isCSS","selectors","split","selectorsScoped","map","selectorPart","trim","join","isValidFilter","css","__unstableType","assets","blockElement","display","offsetHeight","blockType","duotoneSupport","experimentalDuotone","rootSelector","fallback","filterClass","shouldRender","className"],"sources":["@wordpress/block-editor/src/hooks/duotone.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useMemo, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tBlockControls,\n\tInspectorControls,\n\t__experimentalDuotoneControl as DuotoneControl,\n\tuseSettings,\n} from '../components';\nimport {\n\tgetDuotoneFilter,\n\tgetDuotoneStylesheet,\n\tgetDuotoneUnsetStylesheet,\n} from '../components/duotone/utils';\nimport { getBlockCSSSelector } from '../components/global-styles/get-block-css-selector';\nimport { scopeSelector } from '../components/global-styles/utils';\nimport { useBlockSettings, useStyleOverride } from './utils';\nimport { default as StylesFiltersPanel } from '../components/global-styles/filters-panel';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { __unstableUseBlockElement as useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\n\nconst EMPTY_ARRAY = [];\n\n// Safari does not always update the duotone filter when the duotone colors\n// are changed. This browser check is later used to force a re-render of the block\n// element to ensure the duotone filter is updated. The check is included at the\n// root of this file as it only needs to be run once per page load.\nconst isSafari =\n\twindow?.navigator.userAgent &&\n\twindow.navigator.userAgent.includes( 'Safari' ) &&\n\t! window.navigator.userAgent.includes( 'Chrome' ) &&\n\t! window.navigator.userAgent.includes( 'Chromium' );\n\nextend( [ namesPlugin ] );\n\nfunction useMultiOriginPresets( { presetSetting, defaultSetting } ) {\n\tconst [ enableDefault, userPresets, themePresets, defaultPresets ] =\n\t\tuseSettings(\n\t\t\tdefaultSetting,\n\t\t\t`${ presetSetting }.custom`,\n\t\t\t`${ presetSetting }.theme`,\n\t\t\t`${ presetSetting }.default`\n\t\t);\n\treturn useMemo(\n\t\t() => [\n\t\t\t...( userPresets || EMPTY_ARRAY ),\n\t\t\t...( themePresets || EMPTY_ARRAY ),\n\t\t\t...( ( enableDefault && defaultPresets ) || EMPTY_ARRAY ),\n\t\t],\n\t\t[ enableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function getColorsFromDuotonePreset( duotone, duotonePalette ) {\n\tif ( ! duotone ) {\n\t\treturn;\n\t}\n\tconst preset = duotonePalette?.find( ( { slug } ) => {\n\t\treturn duotone === `var:preset|duotone|${ slug }`;\n\t} );\n\n\treturn preset ? preset.colors : undefined;\n}\n\nexport function getDuotonePresetFromColors( colors, duotonePalette ) {\n\tif ( ! colors || ! Array.isArray( colors ) ) {\n\t\treturn;\n\t}\n\n\tconst preset = duotonePalette?.find( ( duotonePreset ) => {\n\t\treturn duotonePreset?.colors?.every(\n\t\t\t( val, index ) => val === colors[ index ]\n\t\t);\n\t} );\n\n\treturn preset ? `var:preset|duotone|${ preset.slug }` : undefined;\n}\n\nfunction DuotonePanelPure( { style, setAttributes, name } ) {\n\tconst duotoneStyle = style?.color?.duotone;\n\tconst settings = useBlockSettings( name );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.palette',\n\t\tdefaultSetting: 'color.defaultPalette',\n\t} );\n\tconst [ enableCustomColors, enableCustomDuotone ] = useSettings(\n\t\t'color.custom',\n\t\t'color.customDuotone'\n\t);\n\tconst disableCustomColors = ! enableCustomColors;\n\tconst disableCustomDuotone =\n\t\t! enableCustomDuotone ||\n\t\t( colorPalette?.length === 0 && disableCustomColors );\n\n\tif ( duotonePalette?.length === 0 && disableCustomDuotone ) {\n\t\treturn null;\n\t}\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst duotonePresetOrColors = ! Array.isArray( duotoneStyle )\n\t\t? getColorsFromDuotonePreset( duotoneStyle, duotonePalette )\n\t\t: duotoneStyle;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls group=\"filter\">\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\tvalue={ { filter: { duotone: duotonePresetOrColors } } }\n\t\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...newDuotone?.filter,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsetAttributes( { style: newStyle } );\n\t\t\t\t\t} }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<DuotoneControl\n\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\tdisableCustomDuotone={ disableCustomDuotone }\n\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\tvalue={ duotonePresetOrColors }\n\t\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\t\tconst maybePreset = getDuotonePresetFromColors(\n\t\t\t\t\t\t\tnewDuotone,\n\t\t\t\t\t\t\tduotonePalette\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...style?.color,\n\t\t\t\t\t\t\t\tduotone: maybePreset ?? newDuotone, // use preset or fallback to custom colors.\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsetAttributes( { style: newStyle } );\n\t\t\t\t\t} }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: DuotonePanelPure,\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'filter.duotone' );\n\t},\n};\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `duotone` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addDuotoneAttributes( settings ) {\n\t// Previous `color.__experimentalDuotone` support flag is migrated via\n\t// block_type_metadata_settings filter in `lib/block-supports/duotone.php`.\n\tif ( ! hasBlockSupport( settings, 'filter.duotone' ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default\n\t// values if needed.\n\tif ( ! settings.attributes.style ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\nfunction useDuotoneStyles( {\n\tclientId,\n\tid: filterId,\n\tselector: duotoneSelector,\n\tattribute: duotoneAttr,\n} ) {\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\n\t// Possible values for duotone attribute:\n\t// 1. Array of colors - e.g. ['#000000', '#ffffff'].\n\t// 2. Variable for an existing Duotone preset - e.g. 'var:preset|duotone|green-blue' or 'var(--wp--preset--duotone--green-blue)''\n\t// 3. A CSS string - e.g. 'unset' to remove globally applied duotone.\n\tconst isCustom = Array.isArray( duotoneAttr );\n\tconst duotonePreset = isCustom\n\t\t? undefined\n\t\t: getColorsFromDuotonePreset( duotoneAttr, duotonePalette );\n\tconst isPreset = typeof duotoneAttr === 'string' && duotonePreset;\n\tconst isCSS = typeof duotoneAttr === 'string' && ! isPreset;\n\n\t// Match the structure of WP_Duotone_Gutenberg::render_duotone_support() in PHP.\n\tlet colors = null;\n\tif ( isPreset ) {\n\t\t// Array of colors.\n\t\tcolors = duotonePreset;\n\t} else if ( isCSS ) {\n\t\t// CSS filter property string (e.g. 'unset').\n\t\tcolors = duotoneAttr;\n\t} else if ( isCustom ) {\n\t\t// Array of colors.\n\t\tcolors = duotoneAttr;\n\t}\n\n\t// Build the CSS selectors to which the filter will be applied.\n\tconst selectors = duotoneSelector.split( ',' );\n\n\tconst selectorsScoped = selectors.map( ( selectorPart ) => {\n\t\t// Extra .editor-styles-wrapper specificity is needed in the editor\n\t\t// since we're not using inline styles to apply the filter. We need to\n\t\t// override duotone applied by global styles and theme.json.\n\n\t\t// Assuming the selector part is a subclass selector (not a tag name)\n\t\t// so we can prepend the filter id class. If we want to support elements\n\t\t// such as `img` or namespaces, we'll need to add a case for that here.\n\t\treturn `.${ filterId }${ selectorPart.trim() }`;\n\t} );\n\n\tconst selector = selectorsScoped.join( ', ' );\n\n\tconst isValidFilter = Array.isArray( colors ) || colors === 'unset';\n\n\tuseStyleOverride(\n\t\tisValidFilter\n\t\t\t? {\n\t\t\t\t\tcss:\n\t\t\t\t\t\tcolors !== 'unset'\n\t\t\t\t\t\t\t? getDuotoneStylesheet( selector, filterId )\n\t\t\t\t\t\t\t: getDuotoneUnsetStylesheet( selector ),\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t }\n\t\t\t: undefined\n\t);\n\tuseStyleOverride(\n\t\tisValidFilter\n\t\t\t? {\n\t\t\t\t\tassets:\n\t\t\t\t\t\tcolors !== 'unset'\n\t\t\t\t\t\t\t? getDuotoneFilter( filterId, colors )\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t__unstableType: 'svgs',\n\t\t\t }\n\t\t\t: undefined\n\t);\n\n\tconst blockElement = useBlockElement( clientId );\n\n\tuseEffect( () => {\n\t\tif ( ! isValidFilter ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Safari does not always update the duotone filter when the duotone colors\n\t\t// are changed. When using Safari, force the block element to be repainted by\n\t\t// the browser to ensure any changes are reflected visually. This logic matches\n\t\t// that used on the site frontend in `block-supports/duotone.php`.\n\t\tif ( blockElement && isSafari ) {\n\t\t\tconst display = blockElement.style.display;\n\t\t\t// Switch to `inline-block` to force a repaint. In the editor, `inline-block`\n\t\t\t// is used instead of `none` to ensure that scroll position is not affected,\n\t\t\t// as `none` results in the editor scrolling to the top of the block.\n\t\t\tblockElement.style.display = 'inline-block';\n\t\t\t// Simply accessing el.offsetHeight flushes layout and style\n\t\t\t// changes in WebKit without having to wait for setTimeout.\n\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\tblockElement.offsetHeight;\n\t\t\tblockElement.style.display = display;\n\t\t}\n\t}, [ isValidFilter, blockElement ] );\n}\n\nfunction useBlockProps( { name, style } ) {\n\tconst id = useInstanceId( useBlockProps );\n\tconst selector = useMemo( () => {\n\t\tconst blockType = getBlockType( name );\n\n\t\tif ( blockType ) {\n\t\t\t// Backwards compatibility for `supports.color.__experimentalDuotone`\n\t\t\t// is provided via the `block_type_metadata_settings` filter. If\n\t\t\t// `supports.filter.duotone` has not been set and the\n\t\t\t// experimental property has been, the experimental property\n\t\t\t// value is copied into `supports.filter.duotone`.\n\t\t\tconst duotoneSupport = getBlockSupport(\n\t\t\t\tblockType,\n\t\t\t\t'filter.duotone',\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tif ( ! duotoneSupport ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// If the experimental duotone support was set, that value is\n\t\t\t// to be treated as a selector and requires scoping.\n\t\t\tconst experimentalDuotone = getBlockSupport(\n\t\t\t\tblockType,\n\t\t\t\t'color.__experimentalDuotone',\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tif ( experimentalDuotone ) {\n\t\t\t\tconst rootSelector = getBlockCSSSelector( blockType );\n\t\t\t\treturn typeof experimentalDuotone === 'string'\n\t\t\t\t\t? scopeSelector( rootSelector, experimentalDuotone )\n\t\t\t\t\t: rootSelector;\n\t\t\t}\n\n\t\t\t// Regular filter.duotone support uses filter.duotone selectors with fallbacks.\n\t\t\treturn getBlockCSSSelector( blockType, 'filter.duotone', {\n\t\t\t\tfallback: true,\n\t\t\t} );\n\t\t}\n\t}, [ name ] );\n\n\tconst attribute = style?.color?.duotone;\n\n\tconst filterClass = `wp-duotone-${ id }`;\n\n\tconst shouldRender = selector && attribute;\n\n\tuseDuotoneStyles( {\n\t\tclientId: id,\n\t\tid: filterClass,\n\t\tselector,\n\t\tattribute,\n\t} );\n\n\treturn {\n\t\tclassName: shouldRender ? filterClass : '',\n\t};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/duotone/add-attributes',\n\taddDuotoneAttributes\n);\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,OAAOC,WAAW,MAAM,sBAAsB;;AAE9C;AACA;AACA;AACA,SACCC,eAAe,EACfC,YAAY,EACZC,eAAe,QACT,mBAAmB;AAC1B,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,OAAO,EAAEC,SAAS,QAAQ,oBAAoB;;AAEvD;AACA;AACA;AACA,SACCC,aAAa,EACbC,iBAAiB,EACjBC,4BAA4B,IAAIC,cAAc,EAC9CC,WAAW,QACL,eAAe;AACtB,SACCC,gBAAgB,EAChBC,oBAAoB,EACpBC,yBAAyB,QACnB,6BAA6B;AACpC,SAASC,mBAAmB,QAAQ,oDAAoD;AACxF,SAASC,aAAa,QAAQ,mCAAmC;AACjE,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,SAAS;AAC5D,SAASC,OAAO,IAAIC,kBAAkB,QAAQ,2CAA2C;AACzF,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,SAASC,yBAAyB,IAAIC,eAAe,QAAQ,yDAAyD;AAEtH,MAAMC,WAAW,GAAG,EAAE;;AAEtB;AACA;AACA;AACA;AACA,MAAMC,QAAQ,GACbC,MAAM,EAAEC,SAAS,CAACC,SAAS,IAC3BF,MAAM,CAACC,SAAS,CAACC,SAAS,CAACC,QAAQ,CAAE,QAAS,CAAC,IAC/C,CAAEH,MAAM,CAACC,SAAS,CAACC,SAAS,CAACC,QAAQ,CAAE,QAAS,CAAC,IACjD,CAAEH,MAAM,CAACC,SAAS,CAACC,SAAS,CAACC,QAAQ,CAAE,UAAW,CAAC;AAEpD/B,MAAM,CAAE,CAAEC,WAAW,CAAG,CAAC;AAEzB,SAAS+B,qBAAqBA,CAAE;EAAEC,aAAa;EAAEC;AAAe,CAAC,EAAG;EACnE,MAAM,CAAEC,aAAa,EAAEC,WAAW,EAAEC,YAAY,EAAEC,cAAc,CAAE,GACjEzB,WAAW,CACVqB,cAAc,EACb,GAAGD,aAAe,SAAQ,EAC1B,GAAGA,aAAe,QAAO,EACzB,GAAGA,aAAe,UACpB,CAAC;EACF,OAAO1B,OAAO,CACb,MAAM,CACL,IAAK6B,WAAW,IAAIV,WAAW,CAAE,EACjC,IAAKW,YAAY,IAAIX,WAAW,CAAE,EAClC,IAAOS,aAAa,IAAIG,cAAc,IAAMZ,WAAW,CAAE,CACzD,EACD,CAAES,aAAa,EAAEC,WAAW,EAAEC,YAAY,EAAEC,cAAc,CAC3D,CAAC;AACF;AAEA,OAAO,SAASC,0BAA0BA,CAAEC,OAAO,EAAEC,cAAc,EAAG;EACrE,IAAK,CAAED,OAAO,EAAG;IAChB;EACD;EACA,MAAME,MAAM,GAAGD,cAAc,EAAEE,IAAI,CAAE,CAAE;IAAEC;EAAK,CAAC,KAAM;IACpD,OAAOJ,OAAO,KAAM,sBAAsBI,IAAM,EAAC;EAClD,CAAE,CAAC;EAEH,OAAOF,MAAM,GAAGA,MAAM,CAACG,MAAM,GAAGC,SAAS;AAC1C;AAEA,OAAO,SAASC,0BAA0BA,CAAEF,MAAM,EAAEJ,cAAc,EAAG;EACpE,IAAK,CAAEI,MAAM,IAAI,CAAEG,KAAK,CAACC,OAAO,CAAEJ,MAAO,CAAC,EAAG;IAC5C;EACD;EAEA,MAAMH,MAAM,GAAGD,cAAc,EAAEE,IAAI,CAAIO,aAAa,IAAM;IACzD,OAAOA,aAAa,EAAEL,MAAM,EAAEM,KAAK,CAClC,CAAEC,GAAG,EAAEC,KAAK,KAAMD,GAAG,KAAKP,MAAM,CAAEQ,KAAK,CACxC,CAAC;EACF,CAAE,CAAC;EAEH,OAAOX,MAAM,GAAI,sBAAsBA,MAAM,CAACE,IAAM,EAAC,GAAGE,SAAS;AAClE;AAEA,SAASQ,gBAAgBA,CAAE;EAAEC,KAAK;EAAEC,aAAa;EAAEC;AAAK,CAAC,EAAG;EAC3D,MAAMC,YAAY,GAAGH,KAAK,EAAEI,KAAK,EAAEnB,OAAO;EAC1C,MAAMoB,QAAQ,GAAGzC,gBAAgB,CAAEsC,IAAK,CAAC;EACzC,MAAMI,gBAAgB,GAAGtC,mBAAmB,CAAC,CAAC;EAE9C,MAAMkB,cAAc,GAAGT,qBAAqB,CAAE;IAC7CC,aAAa,EAAE,eAAe;IAC9BC,cAAc,EAAE;EACjB,CAAE,CAAC;EACH,MAAM4B,YAAY,GAAG9B,qBAAqB,CAAE;IAC3CC,aAAa,EAAE,eAAe;IAC9BC,cAAc,EAAE;EACjB,CAAE,CAAC;EACH,MAAM,CAAE6B,kBAAkB,EAAEC,mBAAmB,CAAE,GAAGnD,WAAW,CAC9D,cAAc,EACd,qBACD,CAAC;EACD,MAAMoD,mBAAmB,GAAG,CAAEF,kBAAkB;EAChD,MAAMG,oBAAoB,GACzB,CAAEF,mBAAmB,IACnBF,YAAY,EAAEK,MAAM,KAAK,CAAC,IAAIF,mBAAqB;EAEtD,IAAKxB,cAAc,EAAE0B,MAAM,KAAK,CAAC,IAAID,oBAAoB,EAAG;IAC3D,OAAO,IAAI;EACZ;EAEA,IAAKL,gBAAgB,KAAK,SAAS,EAAG;IACrC,OAAO,IAAI;EACZ;EAEA,MAAMO,qBAAqB,GAAG,CAAEpB,KAAK,CAACC,OAAO,CAAES,YAAa,CAAC,GAC1DnB,0BAA0B,CAAEmB,YAAY,EAAEjB,cAAe,CAAC,GAC1DiB,YAAY;EAEf,OACCW,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAC3D,iBAAiB;IAAC6D,KAAK,EAAC;EAAQ,GAChCF,aAAA,CAAC/C,kBAAkB;IAClBkD,KAAK,EAAG;MAAEC,MAAM,EAAE;QAAEjC,OAAO,EAAE4B;MAAsB;IAAE,CAAG;IACxDM,QAAQ,EAAKC,UAAU,IAAM;MAC5B,MAAMC,QAAQ,GAAG;QAChB,GAAGrB,KAAK;QACRI,KAAK,EAAE;UACN,GAAGgB,UAAU,EAAEF;QAChB;MACD,CAAC;MACDjB,aAAa,CAAE;QAAED,KAAK,EAAEqB;MAAS,CAAE,CAAC;IACrC,CAAG;IACHhB,QAAQ,EAAGA;EAAU,CACrB,CACiB,CAAC,EACpBS,aAAA,CAAC5D,aAAa;IAAC8D,KAAK,EAAC,OAAO;IAACM,kCAAkC;EAAA,GAC9DR,aAAA,CAACzD,cAAc;IACd6B,cAAc,EAAGA,cAAgB;IACjCqB,YAAY,EAAGA,YAAc;IAC7BI,oBAAoB,EAAGA,oBAAsB;IAC7CD,mBAAmB,EAAGA,mBAAqB;IAC3CO,KAAK,EAAGJ,qBAAuB;IAC/BM,QAAQ,EAAKC,UAAU,IAAM;MAC5B,MAAMG,WAAW,GAAG/B,0BAA0B,CAC7C4B,UAAU,EACVlC,cACD,CAAC;MAED,MAAMmC,QAAQ,GAAG;QAChB,GAAGrB,KAAK;QACRI,KAAK,EAAE;UACN,GAAGJ,KAAK,EAAEI,KAAK;UACfnB,OAAO,EAAEsC,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAIH,UAAU,CAAE;QACrC;MACD,CAAC;MACDnB,aAAa,CAAE;QAAED,KAAK,EAAEqB;MAAS,CAAE,CAAC;IACrC,CAAG;IACHhB,QAAQ,EAAGA;EAAU,CACrB,CACa,CACd,CAAC;AAEL;AAEA,eAAe;EACdmB,oBAAoB,EAAE,IAAI;EAC1BC,IAAI,EAAE1B,gBAAgB;EACtB2B,aAAa;EACbC,aAAa,EAAE,CAAE,OAAO,CAAE;EAC1BC,UAAUA,CAAE1B,IAAI,EAAG;IAClB,OAAOrD,eAAe,CAAEqD,IAAI,EAAE,gBAAiB,CAAC;EACjD;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS2B,oBAAoBA,CAAExB,QAAQ,EAAG;EACzC;EACA;EACA,IAAK,CAAExD,eAAe,CAAEwD,QAAQ,EAAE,gBAAiB,CAAC,EAAG;IACtD,OAAOA,QAAQ;EAChB;;EAEA;EACA;EACA,IAAK,CAAEA,QAAQ,CAACyB,UAAU,CAAC9B,KAAK,EAAG;IAClC+B,MAAM,CAACC,MAAM,CAAE3B,QAAQ,CAACyB,UAAU,EAAE;MACnC9B,KAAK,EAAE;QACNiC,IAAI,EAAE;MACP;IACD,CAAE,CAAC;EACJ;EAEA,OAAO5B,QAAQ;AAChB;AAEA,SAAS6B,gBAAgBA,CAAE;EAC1BC,QAAQ;EACRC,EAAE,EAAEC,QAAQ;EACZC,QAAQ,EAAEC,eAAe;EACzBC,SAAS,EAAEC;AACZ,CAAC,EAAG;EACH,MAAMvD,cAAc,GAAGT,qBAAqB,CAAE;IAC7CC,aAAa,EAAE,eAAe;IAC9BC,cAAc,EAAE;EACjB,CAAE,CAAC;;EAEH;EACA;EACA;EACA;EACA,MAAM+D,QAAQ,GAAGjD,KAAK,CAACC,OAAO,CAAE+C,WAAY,CAAC;EAC7C,MAAM9C,aAAa,GAAG+C,QAAQ,GAC3BnD,SAAS,GACTP,0BAA0B,CAAEyD,WAAW,EAAEvD,cAAe,CAAC;EAC5D,MAAMyD,QAAQ,GAAG,OAAOF,WAAW,KAAK,QAAQ,IAAI9C,aAAa;EACjE,MAAMiD,KAAK,GAAG,OAAOH,WAAW,KAAK,QAAQ,IAAI,CAAEE,QAAQ;;EAE3D;EACA,IAAIrD,MAAM,GAAG,IAAI;EACjB,IAAKqD,QAAQ,EAAG;IACf;IACArD,MAAM,GAAGK,aAAa;EACvB,CAAC,MAAM,IAAKiD,KAAK,EAAG;IACnB;IACAtD,MAAM,GAAGmD,WAAW;EACrB,CAAC,MAAM,IAAKC,QAAQ,EAAG;IACtB;IACApD,MAAM,GAAGmD,WAAW;EACrB;;EAEA;EACA,MAAMI,SAAS,GAAGN,eAAe,CAACO,KAAK,CAAE,GAAI,CAAC;EAE9C,MAAMC,eAAe,GAAGF,SAAS,CAACG,GAAG,CAAIC,YAAY,IAAM;IAC1D;IACA;IACA;;IAEA;IACA;IACA;IACA,OAAQ,IAAIZ,QAAU,GAAGY,YAAY,CAACC,IAAI,CAAC,CAAG,EAAC;EAChD,CAAE,CAAC;EAEH,MAAMZ,QAAQ,GAAGS,eAAe,CAACI,IAAI,CAAE,IAAK,CAAC;EAE7C,MAAMC,aAAa,GAAG3D,KAAK,CAACC,OAAO,CAAEJ,MAAO,CAAC,IAAIA,MAAM,KAAK,OAAO;EAEnEzB,gBAAgB,CACfuF,aAAa,GACV;IACAC,GAAG,EACF/D,MAAM,KAAK,OAAO,GACf9B,oBAAoB,CAAE8E,QAAQ,EAAED,QAAS,CAAC,GAC1C5E,yBAAyB,CAAE6E,QAAS,CAAC;IACzCgB,cAAc,EAAE;EAChB,CAAC,GACD/D,SACJ,CAAC;EACD1B,gBAAgB,CACfuF,aAAa,GACV;IACAG,MAAM,EACLjE,MAAM,KAAK,OAAO,GACf/B,gBAAgB,CAAE8E,QAAQ,EAAE/C,MAAO,CAAC,GACpC,EAAE;IACNgE,cAAc,EAAE;EAChB,CAAC,GACD/D,SACJ,CAAC;EAED,MAAMiE,YAAY,GAAGtF,eAAe,CAAEiE,QAAS,CAAC;EAEhDlF,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEmG,aAAa,EAAG;MACtB;IACD;;IAEA;IACA;IACA;IACA;IACA,IAAKI,YAAY,IAAIpF,QAAQ,EAAG;MAC/B,MAAMqF,OAAO,GAAGD,YAAY,CAACxD,KAAK,CAACyD,OAAO;MAC1C;MACA;MACA;MACAD,YAAY,CAACxD,KAAK,CAACyD,OAAO,GAAG,cAAc;MAC3C;MACA;MACA;MACAD,YAAY,CAACE,YAAY;MACzBF,YAAY,CAACxD,KAAK,CAACyD,OAAO,GAAGA,OAAO;IACrC;EACD,CAAC,EAAE,CAAEL,aAAa,EAAEI,YAAY,CAAG,CAAC;AACrC;AAEA,SAAS9B,aAAaA,CAAE;EAAExB,IAAI;EAAEF;AAAM,CAAC,EAAG;EACzC,MAAMoC,EAAE,GAAGtF,aAAa,CAAE4E,aAAc,CAAC;EACzC,MAAMY,QAAQ,GAAGtF,OAAO,CAAE,MAAM;IAC/B,MAAM2G,SAAS,GAAG/G,YAAY,CAAEsD,IAAK,CAAC;IAEtC,IAAKyD,SAAS,EAAG;MAChB;MACA;MACA;MACA;MACA;MACA,MAAMC,cAAc,GAAGjH,eAAe,CACrCgH,SAAS,EACT,gBAAgB,EAChB,KACD,CAAC;MACD,IAAK,CAAEC,cAAc,EAAG;QACvB,OAAO,IAAI;MACZ;;MAEA;MACA;MACA,MAAMC,mBAAmB,GAAGlH,eAAe,CAC1CgH,SAAS,EACT,6BAA6B,EAC7B,KACD,CAAC;MACD,IAAKE,mBAAmB,EAAG;QAC1B,MAAMC,YAAY,GAAGpG,mBAAmB,CAAEiG,SAAU,CAAC;QACrD,OAAO,OAAOE,mBAAmB,KAAK,QAAQ,GAC3ClG,aAAa,CAAEmG,YAAY,EAAED,mBAAoB,CAAC,GAClDC,YAAY;MAChB;;MAEA;MACA,OAAOpG,mBAAmB,CAAEiG,SAAS,EAAE,gBAAgB,EAAE;QACxDI,QAAQ,EAAE;MACX,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAE7D,IAAI,CAAG,CAAC;EAEb,MAAMsC,SAAS,GAAGxC,KAAK,EAAEI,KAAK,EAAEnB,OAAO;EAEvC,MAAM+E,WAAW,GAAI,cAAc5B,EAAI,EAAC;EAExC,MAAM6B,YAAY,GAAG3B,QAAQ,IAAIE,SAAS;EAE1CN,gBAAgB,CAAE;IACjBC,QAAQ,EAAEC,EAAE;IACZA,EAAE,EAAE4B,WAAW;IACf1B,QAAQ;IACRE;EACD,CAAE,CAAC;EAEH,OAAO;IACN0B,SAAS,EAAED,YAAY,GAAGD,WAAW,GAAG;EACzC,CAAC;AACF;AAEAjH,SAAS,CACR,0BAA0B,EAC1B,oCAAoC,EACpC8E,oBACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["extend","namesPlugin","getBlockSupport","getBlockType","hasBlockSupport","useInstanceId","addFilter","useMemo","useEffect","BlockControls","InspectorControls","__experimentalDuotoneControl","DuotoneControl","useSettings","getDuotoneFilter","getDuotoneStylesheet","getDuotoneUnsetStylesheet","getBlockCSSSelector","scopeSelector","useBlockSettings","useStyleOverride","default","StylesFiltersPanel","useBlockEditingMode","__unstableUseBlockElement","useBlockElement","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","EMPTY_ARRAY","isSafari","window","navigator","userAgent","includes","useMultiOriginPresets","presetSetting","defaultSetting","enableDefault","userPresets","themePresets","defaultPresets","getColorsFromDuotonePreset","duotone","duotonePalette","preset","find","slug","colors","undefined","getDuotonePresetFromColors","Array","isArray","duotonePreset","every","val","index","DuotonePanelPure","style","setAttributes","name","duotoneStyle","color","settings","blockEditingMode","colorPalette","enableCustomColors","enableCustomDuotone","disableCustomColors","disableCustomDuotone","length","duotonePresetOrColors","children","group","value","filter","onChange","newDuotone","newStyle","__experimentalShareWithChildBlocks","maybePreset","shareWithChildBlocks","edit","useBlockProps","attributeKeys","hasSupport","addDuotoneAttributes","attributes","Object","assign","type","useDuotoneStyles","clientId","id","filterId","selector","duotoneSelector","attribute","duotoneAttr","isCustom","isPreset","isCSS","selectors","split","selectorsScoped","map","selectorPart","trim","join","isValidFilter","css","__unstableType","assets","blockElement","display","offsetHeight","blockType","duotoneSupport","experimentalDuotone","rootSelector","fallback","filterClass","shouldRender","className"],"sources":["@wordpress/block-editor/src/hooks/duotone.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetBlockSupport,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { useMemo, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tBlockControls,\n\tInspectorControls,\n\t__experimentalDuotoneControl as DuotoneControl,\n\tuseSettings,\n} from '../components';\nimport {\n\tgetDuotoneFilter,\n\tgetDuotoneStylesheet,\n\tgetDuotoneUnsetStylesheet,\n} from '../components/duotone/utils';\nimport { getBlockCSSSelector } from '../components/global-styles/get-block-css-selector';\nimport { scopeSelector } from '../components/global-styles/utils';\nimport { useBlockSettings, useStyleOverride } from './utils';\nimport { default as StylesFiltersPanel } from '../components/global-styles/filters-panel';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { __unstableUseBlockElement as useBlockElement } from '../components/block-list/use-block-props/use-block-refs';\n\nconst EMPTY_ARRAY = [];\n\n// Safari does not always update the duotone filter when the duotone colors\n// are changed. This browser check is later used to force a re-render of the block\n// element to ensure the duotone filter is updated. The check is included at the\n// root of this file as it only needs to be run once per page load.\nconst isSafari =\n\twindow?.navigator.userAgent &&\n\twindow.navigator.userAgent.includes( 'Safari' ) &&\n\t! window.navigator.userAgent.includes( 'Chrome' ) &&\n\t! window.navigator.userAgent.includes( 'Chromium' );\n\nextend( [ namesPlugin ] );\n\nfunction useMultiOriginPresets( { presetSetting, defaultSetting } ) {\n\tconst [ enableDefault, userPresets, themePresets, defaultPresets ] =\n\t\tuseSettings(\n\t\t\tdefaultSetting,\n\t\t\t`${ presetSetting }.custom`,\n\t\t\t`${ presetSetting }.theme`,\n\t\t\t`${ presetSetting }.default`\n\t\t);\n\treturn useMemo(\n\t\t() => [\n\t\t\t...( userPresets || EMPTY_ARRAY ),\n\t\t\t...( themePresets || EMPTY_ARRAY ),\n\t\t\t...( ( enableDefault && defaultPresets ) || EMPTY_ARRAY ),\n\t\t],\n\t\t[ enableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function getColorsFromDuotonePreset( duotone, duotonePalette ) {\n\tif ( ! duotone ) {\n\t\treturn;\n\t}\n\tconst preset = duotonePalette?.find( ( { slug } ) => {\n\t\treturn duotone === `var:preset|duotone|${ slug }`;\n\t} );\n\n\treturn preset ? preset.colors : undefined;\n}\n\nexport function getDuotonePresetFromColors( colors, duotonePalette ) {\n\tif ( ! colors || ! Array.isArray( colors ) ) {\n\t\treturn;\n\t}\n\n\tconst preset = duotonePalette?.find( ( duotonePreset ) => {\n\t\treturn duotonePreset?.colors?.every(\n\t\t\t( val, index ) => val === colors[ index ]\n\t\t);\n\t} );\n\n\treturn preset ? `var:preset|duotone|${ preset.slug }` : undefined;\n}\n\nfunction DuotonePanelPure( { style, setAttributes, name } ) {\n\tconst duotoneStyle = style?.color?.duotone;\n\tconst settings = useBlockSettings( name );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.palette',\n\t\tdefaultSetting: 'color.defaultPalette',\n\t} );\n\tconst [ enableCustomColors, enableCustomDuotone ] = useSettings(\n\t\t'color.custom',\n\t\t'color.customDuotone'\n\t);\n\tconst disableCustomColors = ! enableCustomColors;\n\tconst disableCustomDuotone =\n\t\t! enableCustomDuotone ||\n\t\t( colorPalette?.length === 0 && disableCustomColors );\n\n\tif ( duotonePalette?.length === 0 && disableCustomDuotone ) {\n\t\treturn null;\n\t}\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\tconst duotonePresetOrColors = ! Array.isArray( duotoneStyle )\n\t\t? getColorsFromDuotonePreset( duotoneStyle, duotonePalette )\n\t\t: duotoneStyle;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls group=\"filter\">\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\tvalue={ { filter: { duotone: duotonePresetOrColors } } }\n\t\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...newDuotone?.filter,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsetAttributes( { style: newStyle } );\n\t\t\t\t\t} }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<DuotoneControl\n\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\tdisableCustomDuotone={ disableCustomDuotone }\n\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\tvalue={ duotonePresetOrColors }\n\t\t\t\t\tonChange={ ( newDuotone ) => {\n\t\t\t\t\t\tconst maybePreset = getDuotonePresetFromColors(\n\t\t\t\t\t\t\tnewDuotone,\n\t\t\t\t\t\t\tduotonePalette\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tconst newStyle = {\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...style?.color,\n\t\t\t\t\t\t\t\tduotone: maybePreset ?? newDuotone, // use preset or fallback to custom colors.\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\tsetAttributes( { style: newStyle } );\n\t\t\t\t\t} }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: DuotonePanelPure,\n\tuseBlockProps,\n\tattributeKeys: [ 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, 'filter.duotone' );\n\t},\n};\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `duotone` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addDuotoneAttributes( settings ) {\n\t// Previous `color.__experimentalDuotone` support flag is migrated via\n\t// block_type_metadata_settings filter in `lib/block-supports/duotone.php`.\n\tif ( ! hasBlockSupport( settings, 'filter.duotone' ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default\n\t// values if needed.\n\tif ( ! settings.attributes.style ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tstyle: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\nfunction useDuotoneStyles( {\n\tclientId,\n\tid: filterId,\n\tselector: duotoneSelector,\n\tattribute: duotoneAttr,\n} ) {\n\tconst duotonePalette = useMultiOriginPresets( {\n\t\tpresetSetting: 'color.duotone',\n\t\tdefaultSetting: 'color.defaultDuotone',\n\t} );\n\n\t// Possible values for duotone attribute:\n\t// 1. Array of colors - e.g. ['#000000', '#ffffff'].\n\t// 2. Variable for an existing Duotone preset - e.g. 'var:preset|duotone|green-blue' or 'var(--wp--preset--duotone--green-blue)''\n\t// 3. A CSS string - e.g. 'unset' to remove globally applied duotone.\n\tconst isCustom = Array.isArray( duotoneAttr );\n\tconst duotonePreset = isCustom\n\t\t? undefined\n\t\t: getColorsFromDuotonePreset( duotoneAttr, duotonePalette );\n\tconst isPreset = typeof duotoneAttr === 'string' && duotonePreset;\n\tconst isCSS = typeof duotoneAttr === 'string' && ! isPreset;\n\n\t// Match the structure of WP_Duotone_Gutenberg::render_duotone_support() in PHP.\n\tlet colors = null;\n\tif ( isPreset ) {\n\t\t// Array of colors.\n\t\tcolors = duotonePreset;\n\t} else if ( isCSS ) {\n\t\t// CSS filter property string (e.g. 'unset').\n\t\tcolors = duotoneAttr;\n\t} else if ( isCustom ) {\n\t\t// Array of colors.\n\t\tcolors = duotoneAttr;\n\t}\n\n\t// Build the CSS selectors to which the filter will be applied.\n\tconst selectors = duotoneSelector.split( ',' );\n\n\tconst selectorsScoped = selectors.map( ( selectorPart ) => {\n\t\t// Extra .editor-styles-wrapper specificity is needed in the editor\n\t\t// since we're not using inline styles to apply the filter. We need to\n\t\t// override duotone applied by global styles and theme.json.\n\n\t\t// Assuming the selector part is a subclass selector (not a tag name)\n\t\t// so we can prepend the filter id class. If we want to support elements\n\t\t// such as `img` or namespaces, we'll need to add a case for that here.\n\t\treturn `.${ filterId }${ selectorPart.trim() }`;\n\t} );\n\n\tconst selector = selectorsScoped.join( ', ' );\n\n\tconst isValidFilter = Array.isArray( colors ) || colors === 'unset';\n\n\tuseStyleOverride(\n\t\tisValidFilter\n\t\t\t? {\n\t\t\t\t\tcss:\n\t\t\t\t\t\tcolors !== 'unset'\n\t\t\t\t\t\t\t? getDuotoneStylesheet( selector, filterId )\n\t\t\t\t\t\t\t: getDuotoneUnsetStylesheet( selector ),\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t }\n\t\t\t: undefined\n\t);\n\tuseStyleOverride(\n\t\tisValidFilter\n\t\t\t? {\n\t\t\t\t\tassets:\n\t\t\t\t\t\tcolors !== 'unset'\n\t\t\t\t\t\t\t? getDuotoneFilter( filterId, colors )\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t__unstableType: 'svgs',\n\t\t\t }\n\t\t\t: undefined\n\t);\n\n\tconst blockElement = useBlockElement( clientId );\n\n\tuseEffect( () => {\n\t\tif ( ! isValidFilter ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Safari does not always update the duotone filter when the duotone colors\n\t\t// are changed. When using Safari, force the block element to be repainted by\n\t\t// the browser to ensure any changes are reflected visually. This logic matches\n\t\t// that used on the site frontend in `block-supports/duotone.php`.\n\t\tif ( blockElement && isSafari ) {\n\t\t\tconst display = blockElement.style.display;\n\t\t\t// Switch to `inline-block` to force a repaint. In the editor, `inline-block`\n\t\t\t// is used instead of `none` to ensure that scroll position is not affected,\n\t\t\t// as `none` results in the editor scrolling to the top of the block.\n\t\t\tblockElement.style.display = 'inline-block';\n\t\t\t// Simply accessing el.offsetHeight flushes layout and style\n\t\t\t// changes in WebKit without having to wait for setTimeout.\n\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\tblockElement.offsetHeight;\n\t\t\tblockElement.style.display = display;\n\t\t}\n\t}, [ isValidFilter, blockElement ] );\n}\n\nfunction useBlockProps( { name, style } ) {\n\tconst id = useInstanceId( useBlockProps );\n\tconst selector = useMemo( () => {\n\t\tconst blockType = getBlockType( name );\n\n\t\tif ( blockType ) {\n\t\t\t// Backwards compatibility for `supports.color.__experimentalDuotone`\n\t\t\t// is provided via the `block_type_metadata_settings` filter. If\n\t\t\t// `supports.filter.duotone` has not been set and the\n\t\t\t// experimental property has been, the experimental property\n\t\t\t// value is copied into `supports.filter.duotone`.\n\t\t\tconst duotoneSupport = getBlockSupport(\n\t\t\t\tblockType,\n\t\t\t\t'filter.duotone',\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tif ( ! duotoneSupport ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// If the experimental duotone support was set, that value is\n\t\t\t// to be treated as a selector and requires scoping.\n\t\t\tconst experimentalDuotone = getBlockSupport(\n\t\t\t\tblockType,\n\t\t\t\t'color.__experimentalDuotone',\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tif ( experimentalDuotone ) {\n\t\t\t\tconst rootSelector = getBlockCSSSelector( blockType );\n\t\t\t\treturn typeof experimentalDuotone === 'string'\n\t\t\t\t\t? scopeSelector( rootSelector, experimentalDuotone )\n\t\t\t\t\t: rootSelector;\n\t\t\t}\n\n\t\t\t// Regular filter.duotone support uses filter.duotone selectors with fallbacks.\n\t\t\treturn getBlockCSSSelector( blockType, 'filter.duotone', {\n\t\t\t\tfallback: true,\n\t\t\t} );\n\t\t}\n\t}, [ name ] );\n\n\tconst attribute = style?.color?.duotone;\n\n\tconst filterClass = `wp-duotone-${ id }`;\n\n\tconst shouldRender = selector && attribute;\n\n\tuseDuotoneStyles( {\n\t\tclientId: id,\n\t\tid: filterClass,\n\t\tselector,\n\t\tattribute,\n\t} );\n\n\treturn {\n\t\tclassName: shouldRender ? filterClass : '',\n\t};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/duotone/add-attributes',\n\taddDuotoneAttributes\n);\n"],"mappings":"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","ignoreList":[]}
@@ -13,6 +13,9 @@ import { shouldSkipSerialization } from './utils';
13
13
  import { TYPOGRAPHY_SUPPORT_KEY } from './typography';
14
14
  import { unlock } from '../lock-unlock';
15
15
  export const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';
16
+ const {
17
+ kebabCase
18
+ } = unlock(componentsPrivateApis);
16
19
 
17
20
  /**
18
21
  * Filters registered block settings, extending attributes to include
@@ -58,9 +61,6 @@ function addSaveProps(props, blockType, attributes) {
58
61
 
59
62
  // Use TokenList to dedupe classes.
60
63
  const classes = new TokenList(props.className);
61
- const {
62
- kebabCase
63
- } = unlock(componentsPrivateApis);
64
64
  classes.add(`has-${kebabCase(attributes?.fontFamily)}-font-family`);
65
65
  const newClassName = classes.value;
66
66
  props.className = newClassName ? newClassName : undefined;
@@ -1 +1 @@
1
- {"version":3,"names":["addFilter","hasBlockSupport","TokenList","privateApis","componentsPrivateApis","shouldSkipSerialization","TYPOGRAPHY_SUPPORT_KEY","unlock","FONT_FAMILY_SUPPORT_KEY","addAttributes","settings","attributes","fontFamily","Object","assign","type","addSaveProps","props","blockType","classes","className","kebabCase","add","newClassName","value","undefined","useBlockProps","name","attributeKeys","hasSupport","resetFontFamily","setAttributes"],"sources":["@wordpress/block-editor/src/hooks/font-family.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { shouldSkipSerialization } from './utils';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport { unlock } from '../lock-unlock';\n\nexport const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `fontFamily` attribute.\n *\n * @param {Object} settings Original block settings\n * @return {Object} Filtered block settings\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontFamily ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontFamily: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font family.\n *\n * @param {Object} props Additional props applied to save element\n * @param {Object} blockType Block type\n * @param {Object} attributes Block attributes\n * @return {Object} Filtered props applied to save element\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization(\n\t\t\tblockType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontFamily'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\tif ( ! attributes?.fontFamily ) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tconst { kebabCase } = unlock( componentsPrivateApis );\n\tclasses.add( `has-${ kebabCase( attributes?.fontFamily ) }-font-family` );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\nfunction useBlockProps( { name, fontFamily } ) {\n\treturn addSaveProps( {}, name, { fontFamily } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontFamily' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_FAMILY_SUPPORT_KEY );\n\t},\n};\n\n/**\n * Resets the font family block support attribute. This can be used when\n * disabling the font family support controls for a block via a progressive\n * discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetFontFamily( { setAttributes } ) {\n\tsetAttributes( { fontFamily: undefined } );\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fontFamily/addAttribute',\n\taddAttributes\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,eAAe,QAAQ,mBAAmB;AACnD,OAAOC,SAAS,MAAM,uBAAuB;AAC7C,SAASC,WAAW,IAAIC,qBAAqB,QAAQ,uBAAuB;;AAE5E;AACA;AACA;AACA,SAASC,uBAAuB,QAAQ,SAAS;AACjD,SAASC,sBAAsB,QAAQ,cAAc;AACrD,SAASC,MAAM,QAAQ,gBAAgB;AAEvC,OAAO,MAAMC,uBAAuB,GAAG,qCAAqC;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,aAAaA,CAAEC,QAAQ,EAAG;EAClC,IAAK,CAAET,eAAe,CAAES,QAAQ,EAAEF,uBAAwB,CAAC,EAAG;IAC7D,OAAOE,QAAQ;EAChB;;EAEA;EACA,IAAK,CAAEA,QAAQ,CAACC,UAAU,CAACC,UAAU,EAAG;IACvCC,MAAM,CAACC,MAAM,CAAEJ,QAAQ,CAACC,UAAU,EAAE;MACnCC,UAAU,EAAE;QACXG,IAAI,EAAE;MACP;IACD,CAAE,CAAC;EACJ;EAEA,OAAOL,QAAQ;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASM,YAAYA,CAAEC,KAAK,EAAEC,SAAS,EAAEP,UAAU,EAAG;EACrD,IAAK,CAAEV,eAAe,CAAEiB,SAAS,EAAEV,uBAAwB,CAAC,EAAG;IAC9D,OAAOS,KAAK;EACb;EAEA,IACCZ,uBAAuB,CACtBa,SAAS,EACTZ,sBAAsB,EACtB,YACD,CAAC,EACA;IACD,OAAOW,KAAK;EACb;EAEA,IAAK,CAAEN,UAAU,EAAEC,UAAU,EAAG;IAC/B,OAAOK,KAAK;EACb;;EAEA;EACA,MAAME,OAAO,GAAG,IAAIjB,SAAS,CAAEe,KAAK,CAACG,SAAU,CAAC;EAChD,MAAM;IAAEC;EAAU,CAAC,GAAGd,MAAM,CAAEH,qBAAsB,CAAC;EACrDe,OAAO,CAACG,GAAG,CAAG,OAAOD,SAAS,CAAEV,UAAU,EAAEC,UAAW,CAAG,cAAc,CAAC;EACzE,MAAMW,YAAY,GAAGJ,OAAO,CAACK,KAAK;EAClCP,KAAK,CAACG,SAAS,GAAGG,YAAY,GAAGA,YAAY,GAAGE,SAAS;EAEzD,OAAOR,KAAK;AACb;AAEA,SAASS,aAAaA,CAAE;EAAEC,IAAI;EAAEf;AAAW,CAAC,EAAG;EAC9C,OAAOI,YAAY,CAAE,CAAC,CAAC,EAAEW,IAAI,EAAE;IAAEf;EAAW,CAAE,CAAC;AAChD;AAEA,eAAe;EACdc,aAAa;EACbV,YAAY;EACZY,aAAa,EAAE,CAAE,YAAY,CAAE;EAC/BC,UAAUA,CAAEF,IAAI,EAAG;IAClB,OAAO1B,eAAe,CAAE0B,IAAI,EAAEnB,uBAAwB,CAAC;EACxD;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASsB,eAAeA,CAAE;EAAEC;AAAc,CAAC,EAAG;EACpDA,aAAa,CAAE;IAAEnB,UAAU,EAAEa;EAAU,CAAE,CAAC;AAC3C;AAEAzB,SAAS,CACR,0BAA0B,EAC1B,8BAA8B,EAC9BS,aACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["addFilter","hasBlockSupport","TokenList","privateApis","componentsPrivateApis","shouldSkipSerialization","TYPOGRAPHY_SUPPORT_KEY","unlock","FONT_FAMILY_SUPPORT_KEY","kebabCase","addAttributes","settings","attributes","fontFamily","Object","assign","type","addSaveProps","props","blockType","classes","className","add","newClassName","value","undefined","useBlockProps","name","attributeKeys","hasSupport","resetFontFamily","setAttributes"],"sources":["@wordpress/block-editor/src/hooks/font-family.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { shouldSkipSerialization } from './utils';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport { unlock } from '../lock-unlock';\n\nexport const FONT_FAMILY_SUPPORT_KEY = 'typography.__experimentalFontFamily';\nconst { kebabCase } = unlock( componentsPrivateApis );\n\n/**\n * Filters registered block settings, extending attributes to include\n * the `fontFamily` attribute.\n *\n * @param {Object} settings Original block settings\n * @return {Object} Filtered block settings\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontFamily ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontFamily: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font family.\n *\n * @param {Object} props Additional props applied to save element\n * @param {Object} blockType Block type\n * @param {Object} attributes Block attributes\n * @return {Object} Filtered props applied to save element\n */\nfunction addSaveProps( props, blockType, attributes ) {\n\tif ( ! hasBlockSupport( blockType, FONT_FAMILY_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization(\n\t\t\tblockType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontFamily'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\tif ( ! attributes?.fontFamily ) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( `has-${ kebabCase( attributes?.fontFamily ) }-font-family` );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\nfunction useBlockProps( { name, fontFamily } ) {\n\treturn addSaveProps( {}, name, { fontFamily } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontFamily' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_FAMILY_SUPPORT_KEY );\n\t},\n};\n\n/**\n * Resets the font family block support attribute. This can be used when\n * disabling the font family support controls for a block via a progressive\n * discovery panel.\n *\n * @param {Object} props Block props.\n * @param {Object} props.setAttributes Function to set block's attributes.\n */\nexport function resetFontFamily( { setAttributes } ) {\n\tsetAttributes( { fontFamily: undefined } );\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/fontFamily/addAttribute',\n\taddAttributes\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,eAAe,QAAQ,mBAAmB;AACnD,OAAOC,SAAS,MAAM,uBAAuB;AAC7C,SAASC,WAAW,IAAIC,qBAAqB,QAAQ,uBAAuB;;AAE5E;AACA;AACA;AACA,SAASC,uBAAuB,QAAQ,SAAS;AACjD,SAASC,sBAAsB,QAAQ,cAAc;AACrD,SAASC,MAAM,QAAQ,gBAAgB;AAEvC,OAAO,MAAMC,uBAAuB,GAAG,qCAAqC;AAC5E,MAAM;EAAEC;AAAU,CAAC,GAAGF,MAAM,CAAEH,qBAAsB,CAAC;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASM,aAAaA,CAAEC,QAAQ,EAAG;EAClC,IAAK,CAAEV,eAAe,CAAEU,QAAQ,EAAEH,uBAAwB,CAAC,EAAG;IAC7D,OAAOG,QAAQ;EAChB;;EAEA;EACA,IAAK,CAAEA,QAAQ,CAACC,UAAU,CAACC,UAAU,EAAG;IACvCC,MAAM,CAACC,MAAM,CAAEJ,QAAQ,CAACC,UAAU,EAAE;MACnCC,UAAU,EAAE;QACXG,IAAI,EAAE;MACP;IACD,CAAE,CAAC;EACJ;EAEA,OAAOL,QAAQ;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASM,YAAYA,CAAEC,KAAK,EAAEC,SAAS,EAAEP,UAAU,EAAG;EACrD,IAAK,CAAEX,eAAe,CAAEkB,SAAS,EAAEX,uBAAwB,CAAC,EAAG;IAC9D,OAAOU,KAAK;EACb;EAEA,IACCb,uBAAuB,CACtBc,SAAS,EACTb,sBAAsB,EACtB,YACD,CAAC,EACA;IACD,OAAOY,KAAK;EACb;EAEA,IAAK,CAAEN,UAAU,EAAEC,UAAU,EAAG;IAC/B,OAAOK,KAAK;EACb;;EAEA;EACA,MAAME,OAAO,GAAG,IAAIlB,SAAS,CAAEgB,KAAK,CAACG,SAAU,CAAC;EAChDD,OAAO,CAACE,GAAG,CAAG,OAAOb,SAAS,CAAEG,UAAU,EAAEC,UAAW,CAAG,cAAc,CAAC;EACzE,MAAMU,YAAY,GAAGH,OAAO,CAACI,KAAK;EAClCN,KAAK,CAACG,SAAS,GAAGE,YAAY,GAAGA,YAAY,GAAGE,SAAS;EAEzD,OAAOP,KAAK;AACb;AAEA,SAASQ,aAAaA,CAAE;EAAEC,IAAI;EAAEd;AAAW,CAAC,EAAG;EAC9C,OAAOI,YAAY,CAAE,CAAC,CAAC,EAAEU,IAAI,EAAE;IAAEd;EAAW,CAAE,CAAC;AAChD;AAEA,eAAe;EACda,aAAa;EACbT,YAAY;EACZW,aAAa,EAAE,CAAE,YAAY,CAAE;EAC/BC,UAAUA,CAAEF,IAAI,EAAG;IAClB,OAAO1B,eAAe,CAAE0B,IAAI,EAAEnB,uBAAwB,CAAC;EACxD;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASsB,eAAeA,CAAE;EAAEC;AAAc,CAAC,EAAG;EACpDA,aAAa,CAAE;IAAElB,UAAU,EAAEY;EAAU,CAAE,CAAC;AAC3C;AAEAzB,SAAS,CACR,0BAA0B,EAC1B,8BAA8B,EAC9BU,aACD,CAAC","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import { createElement } from "react";
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -14,6 +13,7 @@ import { TYPOGRAPHY_SUPPORT_KEY } from './typography';
14
13
  import { cleanEmptyObject, transformStyles, shouldSkipSerialization } from './utils';
15
14
  import { useSettings } from '../components/use-settings';
16
15
  import { getTypographyFontSizeValue } from '../components/global-styles/typography-utils';
16
+ import { jsx as _jsx } from "react/jsx-runtime";
17
17
  export const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';
18
18
 
19
19
  /**
@@ -96,7 +96,7 @@ export function FontSizeEdit(props) {
96
96
  };
97
97
  const fontSizeObject = getFontSize(fontSizes, fontSize, style?.typography?.fontSize);
98
98
  const fontSizeValue = fontSizeObject?.size || style?.typography?.fontSize || fontSize;
99
- return createElement(FontSizePicker, {
99
+ return /*#__PURE__*/_jsx(FontSizePicker, {
100
100
  onChange: onChange,
101
101
  value: fontSizeValue,
102
102
  withReset: false,
@@ -1 +1 @@
1
- {"version":3,"names":["addFilter","hasBlockSupport","TokenList","getFontSize","getFontSizeClass","getFontSizeObjectByValue","FontSizePicker","TYPOGRAPHY_SUPPORT_KEY","cleanEmptyObject","transformStyles","shouldSkipSerialization","useSettings","getTypographyFontSizeValue","FONT_SIZE_SUPPORT_KEY","addAttributes","settings","attributes","fontSize","Object","assign","type","addSaveProps","props","blockNameOrType","classes","className","add","newClassName","value","undefined","FontSizeEdit","style","setAttributes","fontSizes","onChange","fontSizeSlug","slug","typography","fontSizeObject","fontSizeValue","size","createElement","withReset","withSlider","useIsFontSizeDisabled","name","blockName","hasFontSizes","length","useBlockProps","fluidTypographySettings","layoutSettings","fluid","layout","attributeKeys","hasSupport","MIGRATION_PATHS","addTransforms","result","source","index","results","destinationBlockType","activeSupports"],"sources":["@wordpress/block-editor/src/hooks/font-size.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetFontSize,\n\tgetFontSizeClass,\n\tgetFontSizeObjectByValue,\n\tFontSizePicker,\n} from '../components/font-sizes';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport {\n\tcleanEmptyObject,\n\ttransformStyles,\n\tshouldSkipSerialization,\n} from './utils';\nimport { useSettings } from '../components/use-settings';\nimport { getTypographyFontSizeValue } from '../components/global-styles/typography-utils';\n\nexport const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';\n\n/**\n * Filters registered block settings, extending attributes to include\n * `fontSize` and `fontWeight` attributes.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontSize ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontSize: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font size.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nfunction addSaveProps( props, blockNameOrType, attributes ) {\n\tif ( ! hasBlockSupport( blockNameOrType, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization(\n\t\t\tblockNameOrType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontSize'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( getFontSizeClass( attributes.fontSize ) );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Inspector control panel containing the font size related configuration\n *\n * @param {Object} props\n *\n * @return {Element} Font size edit element.\n */\nexport function FontSizeEdit( props ) {\n\tconst {\n\t\tattributes: { fontSize, style },\n\t\tsetAttributes,\n\t} = props;\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\n\tconst onChange = ( value ) => {\n\t\tconst fontSizeSlug = getFontSizeObjectByValue( fontSizes, value ).slug;\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...style,\n\t\t\t\ttypography: {\n\t\t\t\t\t...style?.typography,\n\t\t\t\t\tfontSize: fontSizeSlug ? undefined : value,\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tfontSize: fontSizeSlug,\n\t\t} );\n\t};\n\n\tconst fontSizeObject = getFontSize(\n\t\tfontSizes,\n\t\tfontSize,\n\t\tstyle?.typography?.fontSize\n\t);\n\n\tconst fontSizeValue =\n\t\tfontSizeObject?.size || style?.typography?.fontSize || fontSize;\n\n\treturn (\n\t\t<FontSizePicker\n\t\t\tonChange={ onChange }\n\t\t\tvalue={ fontSizeValue }\n\t\t\twithReset={ false }\n\t\t\twithSlider\n\t\t\tsize=\"__unstable-large\"\n\t\t/>\n\t);\n}\n\n/**\n * Custom hook that checks if font-size settings have been disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether setting is disabled.\n */\nexport function useIsFontSizeDisabled( { name: blockName } = {} ) {\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = !! fontSizes?.length;\n\n\treturn (\n\t\t! hasBlockSupport( blockName, FONT_SIZE_SUPPORT_KEY ) || ! hasFontSizes\n\t);\n}\n\nfunction useBlockProps( { name, fontSize, style } ) {\n\tconst [ fontSizes, fluidTypographySettings, layoutSettings ] = useSettings(\n\t\t'typography.fontSizes',\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\n\t/*\n\t * Only add inline styles if the block supports font sizes,\n\t * doesn't skip serialization of font sizes,\n\t * and has either a custom font size or a preset font size.\n\t */\n\tif (\n\t\t! hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY ) ||\n\t\tshouldSkipSerialization( name, TYPOGRAPHY_SUPPORT_KEY, 'fontSize' ) ||\n\t\t( ! fontSize && ! style?.typography?.fontSize )\n\t) {\n\t\treturn;\n\t}\n\n\tlet props;\n\n\tif ( style?.typography?.fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getTypographyFontSizeValue(\n\t\t\t\t\t{ size: style.typography.fontSize },\n\t\t\t\t\t{\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\tfluid: fluidTypographySettings,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlayout: layoutSettings,\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getFontSize(\n\t\t\t\t\tfontSizes,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle?.typography?.fontSize\n\t\t\t\t).size,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( ! props ) {\n\t\treturn;\n\t}\n\n\treturn addSaveProps( props, name, { fontSize } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontSize', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY );\n\t},\n};\n\nconst MIGRATION_PATHS = {\n\tfontSize: [ [ 'fontSize' ], [ 'style', 'typography', 'fontSize' ] ],\n};\n\nfunction addTransforms( result, source, index, results ) {\n\tconst destinationBlockType = result.name;\n\tconst activeSupports = {\n\t\tfontSize: hasBlockSupport(\n\t\t\tdestinationBlockType,\n\t\t\tFONT_SIZE_SUPPORT_KEY\n\t\t),\n\t};\n\treturn transformStyles(\n\t\tactiveSupports,\n\t\tMIGRATION_PATHS,\n\t\tresult,\n\t\tsource,\n\t\tindex,\n\t\tresults\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/font/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/font-size/addTransforms',\n\taddTransforms\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["addFilter","hasBlockSupport","TokenList","getFontSize","getFontSizeClass","getFontSizeObjectByValue","FontSizePicker","TYPOGRAPHY_SUPPORT_KEY","cleanEmptyObject","transformStyles","shouldSkipSerialization","useSettings","getTypographyFontSizeValue","jsx","_jsx","FONT_SIZE_SUPPORT_KEY","addAttributes","settings","attributes","fontSize","Object","assign","type","addSaveProps","props","blockNameOrType","classes","className","add","newClassName","value","undefined","FontSizeEdit","style","setAttributes","fontSizes","onChange","fontSizeSlug","slug","typography","fontSizeObject","fontSizeValue","size","withReset","withSlider","useIsFontSizeDisabled","name","blockName","hasFontSizes","length","useBlockProps","fluidTypographySettings","layoutSettings","fluid","layout","attributeKeys","hasSupport","MIGRATION_PATHS","addTransforms","result","source","index","results","destinationBlockType","activeSupports"],"sources":["@wordpress/block-editor/src/hooks/font-size.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport TokenList from '@wordpress/token-list';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetFontSize,\n\tgetFontSizeClass,\n\tgetFontSizeObjectByValue,\n\tFontSizePicker,\n} from '../components/font-sizes';\nimport { TYPOGRAPHY_SUPPORT_KEY } from './typography';\nimport {\n\tcleanEmptyObject,\n\ttransformStyles,\n\tshouldSkipSerialization,\n} from './utils';\nimport { useSettings } from '../components/use-settings';\nimport { getTypographyFontSizeValue } from '../components/global-styles/typography-utils';\n\nexport const FONT_SIZE_SUPPORT_KEY = 'typography.fontSize';\n\n/**\n * Filters registered block settings, extending attributes to include\n * `fontSize` and `fontWeight` attributes.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasBlockSupport( settings, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify a default value if needed.\n\tif ( ! settings.attributes.fontSize ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tfontSize: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject font size.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nfunction addSaveProps( props, blockNameOrType, attributes ) {\n\tif ( ! hasBlockSupport( blockNameOrType, FONT_SIZE_SUPPORT_KEY ) ) {\n\t\treturn props;\n\t}\n\n\tif (\n\t\tshouldSkipSerialization(\n\t\t\tblockNameOrType,\n\t\t\tTYPOGRAPHY_SUPPORT_KEY,\n\t\t\t'fontSize'\n\t\t)\n\t) {\n\t\treturn props;\n\t}\n\n\t// Use TokenList to dedupe classes.\n\tconst classes = new TokenList( props.className );\n\tclasses.add( getFontSizeClass( attributes.fontSize ) );\n\tconst newClassName = classes.value;\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Inspector control panel containing the font size related configuration\n *\n * @param {Object} props\n *\n * @return {Element} Font size edit element.\n */\nexport function FontSizeEdit( props ) {\n\tconst {\n\t\tattributes: { fontSize, style },\n\t\tsetAttributes,\n\t} = props;\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\n\tconst onChange = ( value ) => {\n\t\tconst fontSizeSlug = getFontSizeObjectByValue( fontSizes, value ).slug;\n\n\t\tsetAttributes( {\n\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t...style,\n\t\t\t\ttypography: {\n\t\t\t\t\t...style?.typography,\n\t\t\t\t\tfontSize: fontSizeSlug ? undefined : value,\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tfontSize: fontSizeSlug,\n\t\t} );\n\t};\n\n\tconst fontSizeObject = getFontSize(\n\t\tfontSizes,\n\t\tfontSize,\n\t\tstyle?.typography?.fontSize\n\t);\n\n\tconst fontSizeValue =\n\t\tfontSizeObject?.size || style?.typography?.fontSize || fontSize;\n\n\treturn (\n\t\t<FontSizePicker\n\t\t\tonChange={ onChange }\n\t\t\tvalue={ fontSizeValue }\n\t\t\twithReset={ false }\n\t\t\twithSlider\n\t\t\tsize=\"__unstable-large\"\n\t\t/>\n\t);\n}\n\n/**\n * Custom hook that checks if font-size settings have been disabled.\n *\n * @param {string} name The name of the block.\n * @return {boolean} Whether setting is disabled.\n */\nexport function useIsFontSizeDisabled( { name: blockName } = {} ) {\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = !! fontSizes?.length;\n\n\treturn (\n\t\t! hasBlockSupport( blockName, FONT_SIZE_SUPPORT_KEY ) || ! hasFontSizes\n\t);\n}\n\nfunction useBlockProps( { name, fontSize, style } ) {\n\tconst [ fontSizes, fluidTypographySettings, layoutSettings ] = useSettings(\n\t\t'typography.fontSizes',\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\n\t/*\n\t * Only add inline styles if the block supports font sizes,\n\t * doesn't skip serialization of font sizes,\n\t * and has either a custom font size or a preset font size.\n\t */\n\tif (\n\t\t! hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY ) ||\n\t\tshouldSkipSerialization( name, TYPOGRAPHY_SUPPORT_KEY, 'fontSize' ) ||\n\t\t( ! fontSize && ! style?.typography?.fontSize )\n\t) {\n\t\treturn;\n\t}\n\n\tlet props;\n\n\tif ( style?.typography?.fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getTypographyFontSizeValue(\n\t\t\t\t\t{ size: style.typography.fontSize },\n\t\t\t\t\t{\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\tfluid: fluidTypographySettings,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlayout: layoutSettings,\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( fontSize ) {\n\t\tprops = {\n\t\t\tstyle: {\n\t\t\t\tfontSize: getFontSize(\n\t\t\t\t\tfontSizes,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle?.typography?.fontSize\n\t\t\t\t).size,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ( ! props ) {\n\t\treturn;\n\t}\n\n\treturn addSaveProps( props, name, { fontSize } );\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'fontSize', 'style' ],\n\thasSupport( name ) {\n\t\treturn hasBlockSupport( name, FONT_SIZE_SUPPORT_KEY );\n\t},\n};\n\nconst MIGRATION_PATHS = {\n\tfontSize: [ [ 'fontSize' ], [ 'style', 'typography', 'fontSize' ] ],\n};\n\nfunction addTransforms( result, source, index, results ) {\n\tconst destinationBlockType = result.name;\n\tconst activeSupports = {\n\t\tfontSize: hasBlockSupport(\n\t\t\tdestinationBlockType,\n\t\t\tFONT_SIZE_SUPPORT_KEY\n\t\t),\n\t};\n\treturn transformStyles(\n\t\tactiveSupports,\n\t\tMIGRATION_PATHS,\n\t\tresult,\n\t\tsource,\n\t\tindex,\n\t\tresults\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/font/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/font-size/addTransforms',\n\taddTransforms\n);\n"],"mappings":"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","ignoreList":[]}
@@ -20,15 +20,17 @@ import fontSize from './font-size';
20
20
  import textAlign from './text-align';
21
21
  import border from './border';
22
22
  import position from './position';
23
+ import blockStyleVariation from './block-style-variation';
23
24
  import layout from './layout';
24
25
  import childLayout from './layout-child';
25
26
  import contentLockUI from './content-lock-ui';
26
27
  import './metadata';
27
28
  import blockHooks from './block-hooks';
29
+ import blockBindingsPanel from './block-bindings';
28
30
  import './block-renaming';
29
31
  import './use-bindings-attributes';
30
- createBlockEditFilter([align, textAlign, anchor, customClassName, style, duotone, position, layout, contentLockUI, blockHooks, childLayout].filter(Boolean));
31
- createBlockListBlockFilter([align, textAlign, background, style, color, dimensions, duotone, fontFamily, fontSize, border, position, childLayout]);
32
+ createBlockEditFilter([blockBindingsPanel, align, textAlign, anchor, customClassName, style, duotone, position, layout, contentLockUI, blockHooks, childLayout].filter(Boolean));
33
+ createBlockListBlockFilter([align, textAlign, background, style, color, dimensions, duotone, fontFamily, fontSize, border, position, blockStyleVariation, childLayout]);
32
34
  createBlockSaveFilter([align, textAlign, anchor, ariaLabel, customClassName, border, color, style, fontFamily, fontSize]);
33
35
  export { useCustomSides } from './dimensions';
34
36
  export { useLayoutClasses, useLayoutStyles } from './layout';
@@ -1 +1 @@
1
- {"version":3,"names":["createBlockEditFilter","createBlockListBlockFilter","createBlockSaveFilter","align","background","anchor","ariaLabel","customClassName","style","color","dimensions","duotone","fontFamily","fontSize","textAlign","border","position","layout","childLayout","contentLockUI","blockHooks","filter","Boolean","useCustomSides","useLayoutClasses","useLayoutStyles","getBorderClassesAndStyles","useBorderProps","getShadowClassesAndStyles","getColorClassesAndStyles","useColorProps","getSpacingClassesAndStyles","getTypographyClassesAndStyles","getGapCSSValue","useCachedTruthy","useZoomOut"],"sources":["@wordpress/block-editor/src/hooks/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateBlockEditFilter,\n\tcreateBlockListBlockFilter,\n\tcreateBlockSaveFilter,\n} from './utils';\nimport './compat';\nimport align from './align';\nimport background from './background';\nimport './lock';\nimport anchor from './anchor';\nimport ariaLabel from './aria-label';\nimport customClassName from './custom-class-name';\nimport './generated-class-name';\nimport style from './style';\nimport './settings';\nimport color from './color';\nimport dimensions from './dimensions';\nimport duotone from './duotone';\nimport fontFamily from './font-family';\nimport fontSize from './font-size';\nimport textAlign from './text-align';\nimport border from './border';\nimport position from './position';\nimport layout from './layout';\nimport childLayout from './layout-child';\nimport contentLockUI from './content-lock-ui';\nimport './metadata';\nimport blockHooks from './block-hooks';\nimport './block-renaming';\nimport './use-bindings-attributes';\n\ncreateBlockEditFilter(\n\t[\n\t\talign,\n\t\ttextAlign,\n\t\tanchor,\n\t\tcustomClassName,\n\t\tstyle,\n\t\tduotone,\n\t\tposition,\n\t\tlayout,\n\t\tcontentLockUI,\n\t\tblockHooks,\n\t\tchildLayout,\n\t].filter( Boolean )\n);\ncreateBlockListBlockFilter( [\n\talign,\n\ttextAlign,\n\tbackground,\n\tstyle,\n\tcolor,\n\tdimensions,\n\tduotone,\n\tfontFamily,\n\tfontSize,\n\tborder,\n\tposition,\n\tchildLayout,\n] );\ncreateBlockSaveFilter( [\n\talign,\n\ttextAlign,\n\tanchor,\n\tariaLabel,\n\tcustomClassName,\n\tborder,\n\tcolor,\n\tstyle,\n\tfontFamily,\n\tfontSize,\n] );\n\nexport { useCustomSides } from './dimensions';\nexport { useLayoutClasses, useLayoutStyles } from './layout';\nexport { getBorderClassesAndStyles, useBorderProps } from './use-border-props';\nexport { getShadowClassesAndStyles } from './use-shadow-props';\nexport { getColorClassesAndStyles, useColorProps } from './use-color-props';\nexport { getSpacingClassesAndStyles } from './use-spacing-props';\nexport { getTypographyClassesAndStyles } from './use-typography-props';\nexport { getGapCSSValue } from './gap';\nexport { useCachedTruthy } from './use-cached-truthy';\nexport { useZoomOut } from './use-zoom-out';\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,qBAAqB,EACrBC,0BAA0B,EAC1BC,qBAAqB,QACf,SAAS;AAChB,OAAO,UAAU;AACjB,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAO,QAAQ;AACf,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,SAAS,MAAM,cAAc;AACpC,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAO,wBAAwB;AAC/B,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAO,YAAY;AACnB,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,SAAS,MAAM,cAAc;AACpC,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAO,YAAY;AACnB,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAO,kBAAkB;AACzB,OAAO,2BAA2B;AAElCpB,qBAAqB,CACpB,CACCG,KAAK,EACLW,SAAS,EACTT,MAAM,EACNE,eAAe,EACfC,KAAK,EACLG,OAAO,EACPK,QAAQ,EACRC,MAAM,EACNE,aAAa,EACbC,UAAU,EACVF,WAAW,CACX,CAACG,MAAM,CAAEC,OAAQ,CACnB,CAAC;AACDrB,0BAA0B,CAAE,CAC3BE,KAAK,EACLW,SAAS,EACTV,UAAU,EACVI,KAAK,EACLC,KAAK,EACLC,UAAU,EACVC,OAAO,EACPC,UAAU,EACVC,QAAQ,EACRE,MAAM,EACNC,QAAQ,EACRE,WAAW,CACV,CAAC;AACHhB,qBAAqB,CAAE,CACtBC,KAAK,EACLW,SAAS,EACTT,MAAM,EACNC,SAAS,EACTC,eAAe,EACfQ,MAAM,EACNN,KAAK,EACLD,KAAK,EACLI,UAAU,EACVC,QAAQ,CACP,CAAC;AAEH,SAASU,cAAc,QAAQ,cAAc;AAC7C,SAASC,gBAAgB,EAAEC,eAAe,QAAQ,UAAU;AAC5D,SAASC,yBAAyB,EAAEC,cAAc,QAAQ,oBAAoB;AAC9E,SAASC,yBAAyB,QAAQ,oBAAoB;AAC9D,SAASC,wBAAwB,EAAEC,aAAa,QAAQ,mBAAmB;AAC3E,SAASC,0BAA0B,QAAQ,qBAAqB;AAChE,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,cAAc,QAAQ,OAAO;AACtC,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,UAAU,QAAQ,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["createBlockEditFilter","createBlockListBlockFilter","createBlockSaveFilter","align","background","anchor","ariaLabel","customClassName","style","color","dimensions","duotone","fontFamily","fontSize","textAlign","border","position","blockStyleVariation","layout","childLayout","contentLockUI","blockHooks","blockBindingsPanel","filter","Boolean","useCustomSides","useLayoutClasses","useLayoutStyles","getBorderClassesAndStyles","useBorderProps","getShadowClassesAndStyles","getColorClassesAndStyles","useColorProps","getSpacingClassesAndStyles","getTypographyClassesAndStyles","getGapCSSValue","useCachedTruthy","useZoomOut"],"sources":["@wordpress/block-editor/src/hooks/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateBlockEditFilter,\n\tcreateBlockListBlockFilter,\n\tcreateBlockSaveFilter,\n} from './utils';\nimport './compat';\nimport align from './align';\nimport background from './background';\nimport './lock';\nimport anchor from './anchor';\nimport ariaLabel from './aria-label';\nimport customClassName from './custom-class-name';\nimport './generated-class-name';\nimport style from './style';\nimport './settings';\nimport color from './color';\nimport dimensions from './dimensions';\nimport duotone from './duotone';\nimport fontFamily from './font-family';\nimport fontSize from './font-size';\nimport textAlign from './text-align';\nimport border from './border';\nimport position from './position';\nimport blockStyleVariation from './block-style-variation';\nimport layout from './layout';\nimport childLayout from './layout-child';\nimport contentLockUI from './content-lock-ui';\nimport './metadata';\nimport blockHooks from './block-hooks';\nimport blockBindingsPanel from './block-bindings';\nimport './block-renaming';\nimport './use-bindings-attributes';\n\ncreateBlockEditFilter(\n\t[\n\t\tblockBindingsPanel,\n\t\talign,\n\t\ttextAlign,\n\t\tanchor,\n\t\tcustomClassName,\n\t\tstyle,\n\t\tduotone,\n\t\tposition,\n\t\tlayout,\n\t\tcontentLockUI,\n\t\tblockHooks,\n\t\tchildLayout,\n\t].filter( Boolean )\n);\ncreateBlockListBlockFilter( [\n\talign,\n\ttextAlign,\n\tbackground,\n\tstyle,\n\tcolor,\n\tdimensions,\n\tduotone,\n\tfontFamily,\n\tfontSize,\n\tborder,\n\tposition,\n\tblockStyleVariation,\n\tchildLayout,\n] );\ncreateBlockSaveFilter( [\n\talign,\n\ttextAlign,\n\tanchor,\n\tariaLabel,\n\tcustomClassName,\n\tborder,\n\tcolor,\n\tstyle,\n\tfontFamily,\n\tfontSize,\n] );\n\nexport { useCustomSides } from './dimensions';\nexport { useLayoutClasses, useLayoutStyles } from './layout';\nexport { getBorderClassesAndStyles, useBorderProps } from './use-border-props';\nexport { getShadowClassesAndStyles } from './use-shadow-props';\nexport { getColorClassesAndStyles, useColorProps } from './use-color-props';\nexport { getSpacingClassesAndStyles } from './use-spacing-props';\nexport { getTypographyClassesAndStyles } from './use-typography-props';\nexport { getGapCSSValue } from './gap';\nexport { useCachedTruthy } from './use-cached-truthy';\nexport { useZoomOut } from './use-zoom-out';\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,qBAAqB,EACrBC,0BAA0B,EAC1BC,qBAAqB,QACf,SAAS;AAChB,OAAO,UAAU;AACjB,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAO,QAAQ;AACf,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,SAAS,MAAM,cAAc;AACpC,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAO,wBAAwB;AAC/B,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAO,YAAY;AACnB,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,OAAO,MAAM,WAAW;AAC/B,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,SAAS,MAAM,cAAc;AACpC,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAO,YAAY;AACnB,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,kBAAkB,MAAM,kBAAkB;AACjD,OAAO,kBAAkB;AACzB,OAAO,2BAA2B;AAElCtB,qBAAqB,CACpB,CACCsB,kBAAkB,EAClBnB,KAAK,EACLW,SAAS,EACTT,MAAM,EACNE,eAAe,EACfC,KAAK,EACLG,OAAO,EACPK,QAAQ,EACRE,MAAM,EACNE,aAAa,EACbC,UAAU,EACVF,WAAW,CACX,CAACI,MAAM,CAAEC,OAAQ,CACnB,CAAC;AACDvB,0BAA0B,CAAE,CAC3BE,KAAK,EACLW,SAAS,EACTV,UAAU,EACVI,KAAK,EACLC,KAAK,EACLC,UAAU,EACVC,OAAO,EACPC,UAAU,EACVC,QAAQ,EACRE,MAAM,EACNC,QAAQ,EACRC,mBAAmB,EACnBE,WAAW,CACV,CAAC;AACHjB,qBAAqB,CAAE,CACtBC,KAAK,EACLW,SAAS,EACTT,MAAM,EACNC,SAAS,EACTC,eAAe,EACfQ,MAAM,EACNN,KAAK,EACLD,KAAK,EACLI,UAAU,EACVC,QAAQ,CACP,CAAC;AAEH,SAASY,cAAc,QAAQ,cAAc;AAC7C,SAASC,gBAAgB,EAAEC,eAAe,QAAQ,UAAU;AAC5D,SAASC,yBAAyB,EAAEC,cAAc,QAAQ,oBAAoB;AAC9E,SAASC,yBAAyB,QAAQ,oBAAoB;AAC9D,SAASC,wBAAwB,EAAEC,aAAa,QAAQ,mBAAmB;AAC3E,SAASC,0BAA0B,QAAQ,qBAAqB;AAChE,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,cAAc,QAAQ,OAAO;AACtC,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,UAAU,QAAQ,gBAAgB","ignoreList":[]}
@@ -1,9 +1,9 @@
1
- import { createElement, Fragment } from "react";
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
5
4
  import { useInstanceId } from '@wordpress/compose';
6
5
  import { useSelect } from '@wordpress/data';
6
+ import { useState } from '@wordpress/element';
7
7
 
8
8
  /**
9
9
  * Internal dependencies
@@ -12,6 +12,9 @@ import { store as blockEditorStore } from '../store';
12
12
  import { useStyleOverride } from './utils';
13
13
  import { useLayout } from '../components/block-list/layout';
14
14
  import { GridVisualizer, GridItemResizer } from '../components/grid-visualizer';
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
+ import { Fragment as _Fragment } from "react/jsx-runtime";
17
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
18
  function useBlockPropsChildLayoutStyles({
16
19
  style
17
20
  }) {
@@ -128,36 +131,45 @@ function ChildLayoutControlsPure({
128
131
  style,
129
132
  setAttributes
130
133
  }) {
131
- const parentLayout = useLayout() || {};
134
+ const {
135
+ type: parentLayoutType = 'default',
136
+ allowSizingOnChildren = false
137
+ } = useLayout() || {};
132
138
  const rootClientId = useSelect(select => {
133
139
  return select(blockEditorStore).getBlockRootClientId(clientId);
134
140
  }, [clientId]);
135
- if (parentLayout.type !== 'grid') {
136
- return null;
137
- }
138
- if (!window.__experimentalEnableGridInteractivity) {
141
+
142
+ // Use useState() instead of useRef() so that GridItemResizer updates when ref is set.
143
+ const [resizerBounds, setResizerBounds] = useState();
144
+ if (parentLayoutType !== 'grid') {
139
145
  return null;
140
146
  }
141
- return createElement(Fragment, null, createElement(GridVisualizer, {
142
- clientId: rootClientId
143
- }), createElement(GridItemResizer, {
144
- clientId: clientId,
145
- onChange: ({
146
- columnSpan,
147
- rowSpan
148
- }) => {
149
- setAttributes({
150
- style: {
151
- ...style,
152
- layout: {
153
- ...style?.layout,
154
- columnSpan,
155
- rowSpan
147
+ return /*#__PURE__*/_jsxs(_Fragment, {
148
+ children: [/*#__PURE__*/_jsx(GridVisualizer, {
149
+ clientId: rootClientId,
150
+ contentRef: setResizerBounds
151
+ }), allowSizingOnChildren && /*#__PURE__*/_jsx(GridItemResizer, {
152
+ clientId: clientId
153
+ // Don't allow resizing beyond the grid visualizer.
154
+ ,
155
+ bounds: resizerBounds,
156
+ onChange: ({
157
+ columnSpan,
158
+ rowSpan
159
+ }) => {
160
+ setAttributes({
161
+ style: {
162
+ ...style,
163
+ layout: {
164
+ ...style?.layout,
165
+ columnSpan,
166
+ rowSpan
167
+ }
156
168
  }
157
- }
158
- });
159
- }
160
- }));
169
+ });
170
+ }
171
+ })]
172
+ });
161
173
  }
162
174
  export default {
163
175
  useBlockProps: useBlockPropsChildLayoutStyles,