@wordpress/block-editor 16.0.0 → 16.1.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 (368) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +8 -0
  3. package/build/components/alignment-control/ui.cjs +2 -4
  4. package/build/components/alignment-control/ui.cjs.map +2 -2
  5. package/build/components/background-image-control/index.cjs +40 -10
  6. package/build/components/background-image-control/index.cjs.map +2 -2
  7. package/build/components/block-alignment-control/ui.cjs +5 -3
  8. package/build/components/block-alignment-control/ui.cjs.map +2 -2
  9. package/build/components/block-inspector/index.cjs +73 -46
  10. package/build/components/block-inspector/index.cjs.map +2 -2
  11. package/build/components/block-list/block-html.cjs +4 -1
  12. package/build/components/block-list/block-html.cjs.map +2 -2
  13. package/build/components/block-list/use-block-props/index.cjs +5 -2
  14. package/build/components/block-list/use-block-props/index.cjs.map +2 -2
  15. package/build/components/block-list/use-block-props/use-focus-handler.cjs +2 -3
  16. package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
  17. package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs +48 -0
  18. package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs.map +7 -0
  19. package/build/components/block-parent-selector/index.cjs +2 -2
  20. package/build/components/block-parent-selector/index.cjs.map +2 -2
  21. package/build/components/block-toolbar/switch-section-style.cjs +4 -2
  22. package/build/components/block-toolbar/switch-section-style.cjs.map +3 -3
  23. package/build/components/block-tools/empty-block-inserter.cjs +2 -7
  24. package/build/components/block-tools/empty-block-inserter.cjs.map +2 -2
  25. package/build/components/block-vertical-alignment-control/ui.cjs +3 -5
  26. package/build/components/block-vertical-alignment-control/ui.cjs.map +2 -2
  27. package/build/components/border-radius-control/utils.cjs +8 -58
  28. package/build/components/border-radius-control/utils.cjs.map +2 -2
  29. package/build/components/colors-gradients/control.cjs +5 -3
  30. package/build/components/colors-gradients/control.cjs.map +2 -2
  31. package/build/components/dimension-control/index.cjs +30 -20
  32. package/build/components/dimension-control/index.cjs.map +3 -3
  33. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +9 -2
  34. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +3 -3
  35. package/build/components/editor-styles/index.cjs +9 -1
  36. package/build/components/editor-styles/index.cjs.map +2 -2
  37. package/build/components/global-styles/background-panel.cjs +66 -25
  38. package/build/components/global-styles/background-panel.cjs.map +3 -3
  39. package/build/components/global-styles/border-panel.cjs +153 -55
  40. package/build/components/global-styles/border-panel.cjs.map +3 -3
  41. package/build/components/global-styles/color-gradient-dropdown-item.cjs +46 -14
  42. package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +3 -3
  43. package/build/components/global-styles/color-panel.cjs +63 -17
  44. package/build/components/global-styles/color-panel.cjs.map +2 -2
  45. package/build/components/global-styles/dimensions-panel.cjs +242 -64
  46. package/build/components/global-styles/dimensions-panel.cjs.map +3 -3
  47. package/build/components/global-styles/filters-panel.cjs +59 -20
  48. package/build/components/global-styles/filters-panel.cjs.map +3 -3
  49. package/build/components/global-styles/hooks.cjs +4 -1
  50. package/build/components/global-styles/hooks.cjs.map +2 -2
  51. package/build/components/global-styles/inheritance/index.cjs +142 -0
  52. package/build/components/global-styles/inheritance/index.cjs.map +7 -0
  53. package/build/components/global-styles/inherited-value-context.cjs +173 -0
  54. package/build/components/global-styles/inherited-value-context.cjs.map +7 -0
  55. package/build/components/global-styles/shadow-panel-components.cjs +38 -20
  56. package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
  57. package/build/components/global-styles/state-control.cjs +1 -1
  58. package/build/components/global-styles/state-control.cjs.map +2 -2
  59. package/build/components/global-styles/typography-panel.cjs +271 -78
  60. package/build/components/global-styles/typography-panel.cjs.map +3 -3
  61. package/build/components/inspector-controls-tabs/styles-tab.cjs +10 -1
  62. package/build/components/inspector-controls-tabs/styles-tab.cjs.map +2 -2
  63. package/build/components/line-height-control/index.cjs +1 -1
  64. package/build/components/line-height-control/index.cjs.map +2 -2
  65. package/build/components/link-control/index.cjs +3 -1
  66. package/build/components/link-control/index.cjs.map +2 -2
  67. package/build/components/preset-input-control/index.cjs +2 -1
  68. package/build/components/preset-input-control/index.cjs.map +2 -2
  69. package/build/components/provider/block-refs-provider.cjs +8 -2
  70. package/build/components/provider/block-refs-provider.cjs.map +2 -2
  71. package/build/components/provider/index.cjs +1 -1
  72. package/build/components/provider/index.cjs.map +2 -2
  73. package/build/components/provider/use-block-sync.cjs +18 -6
  74. package/build/components/provider/use-block-sync.cjs.map +2 -2
  75. package/build/components/provider/use-media-upload-settings.cjs +3 -1
  76. package/build/components/provider/use-media-upload-settings.cjs.map +2 -2
  77. package/build/components/rich-text/index.cjs +23 -13
  78. package/build/components/rich-text/index.cjs.map +2 -2
  79. package/build/components/spacing-sizes-control/utils.cjs +6 -19
  80. package/build/components/spacing-sizes-control/utils.cjs.map +2 -2
  81. package/build/components/text-indent-control/index.cjs +8 -2
  82. package/build/components/text-indent-control/index.cjs.map +2 -2
  83. package/build/components/url-input/index.cjs +303 -344
  84. package/build/components/url-input/index.cjs.map +3 -3
  85. package/build/components/writing-flow/index.cjs +2 -0
  86. package/build/components/writing-flow/index.cjs.map +3 -3
  87. package/build/components/writing-flow/use-arrow-nav.cjs +24 -1
  88. package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
  89. package/build/components/writing-flow/use-click-selection.cjs +28 -2
  90. package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
  91. package/build/components/writing-flow/use-editable-root-event-handlers.cjs +179 -0
  92. package/build/components/writing-flow/use-editable-root-event-handlers.cjs.map +7 -0
  93. package/build/components/writing-flow/use-editable-root.cjs +5 -42
  94. package/build/components/writing-flow/use-editable-root.cjs.map +2 -2
  95. package/build/components/writing-flow/use-home-end.cjs +1 -1
  96. package/build/components/writing-flow/use-home-end.cjs.map +2 -2
  97. package/build/components/writing-flow/use-selection-observer.cjs +17 -13
  98. package/build/components/writing-flow/use-selection-observer.cjs.map +2 -2
  99. package/build/components/writing-flow/utils.cjs +3 -14
  100. package/build/components/writing-flow/utils.cjs.map +2 -2
  101. package/build/hooks/background.cjs +13 -10
  102. package/build/hooks/background.cjs.map +2 -2
  103. package/build/hooks/block-style-variation.cjs +4 -45
  104. package/build/hooks/block-style-variation.cjs.map +3 -3
  105. package/build/hooks/border.cjs +19 -4
  106. package/build/hooks/border.cjs.map +2 -2
  107. package/build/hooks/custom-css.cjs +6 -2
  108. package/build/hooks/custom-css.cjs.map +2 -2
  109. package/build/hooks/dimensions.cjs +15 -4
  110. package/build/hooks/dimensions.cjs.map +2 -2
  111. package/build/hooks/duotone.cjs +26 -14
  112. package/build/hooks/duotone.cjs.map +3 -3
  113. package/build/hooks/elements.cjs +14 -4
  114. package/build/hooks/elements.cjs.map +2 -2
  115. package/build/hooks/line-height.cjs +1 -2
  116. package/build/hooks/line-height.cjs.map +2 -2
  117. package/build/hooks/typography.cjs +13 -4
  118. package/build/hooks/typography.cjs.map +2 -2
  119. package/build/private-apis.cjs +9 -5
  120. package/build/private-apis.cjs.map +3 -3
  121. package/build/store/actions.cjs +9 -4
  122. package/build/store/actions.cjs.map +2 -2
  123. package/build/store/private-selectors.cjs +28 -1
  124. package/build/store/private-selectors.cjs.map +2 -2
  125. package/build/store/reducer.cjs +6 -6
  126. package/build/store/reducer.cjs.map +2 -2
  127. package/build/store/selectors.cjs +23 -0
  128. package/build/store/selectors.cjs.map +2 -2
  129. package/build/utils/native-undo.cjs +55 -0
  130. package/build/utils/native-undo.cjs.map +7 -0
  131. package/build-module/components/alignment-control/ui.mjs +2 -4
  132. package/build-module/components/alignment-control/ui.mjs.map +2 -2
  133. package/build-module/components/background-image-control/index.mjs +43 -10
  134. package/build-module/components/background-image-control/index.mjs.map +2 -2
  135. package/build-module/components/block-alignment-control/ui.mjs +5 -3
  136. package/build-module/components/block-alignment-control/ui.mjs.map +2 -2
  137. package/build-module/components/block-inspector/index.mjs +74 -46
  138. package/build-module/components/block-inspector/index.mjs.map +2 -2
  139. package/build-module/components/block-list/block-html.mjs +4 -1
  140. package/build-module/components/block-list/block-html.mjs.map +2 -2
  141. package/build-module/components/block-list/use-block-props/index.mjs +5 -2
  142. package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
  143. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs +2 -3
  144. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
  145. package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs +28 -0
  146. package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs.map +7 -0
  147. package/build-module/components/block-parent-selector/index.mjs +2 -2
  148. package/build-module/components/block-parent-selector/index.mjs.map +2 -2
  149. package/build-module/components/block-toolbar/switch-section-style.mjs +4 -2
  150. package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
  151. package/build-module/components/block-tools/empty-block-inserter.mjs +2 -7
  152. package/build-module/components/block-tools/empty-block-inserter.mjs.map +2 -2
  153. package/build-module/components/block-vertical-alignment-control/ui.mjs +4 -6
  154. package/build-module/components/block-vertical-alignment-control/ui.mjs.map +2 -2
  155. package/build-module/components/border-radius-control/utils.mjs +11 -53
  156. package/build-module/components/border-radius-control/utils.mjs.map +2 -2
  157. package/build-module/components/colors-gradients/control.mjs +5 -3
  158. package/build-module/components/colors-gradients/control.mjs.map +2 -2
  159. package/build-module/components/dimension-control/index.mjs +30 -20
  160. package/build-module/components/dimension-control/index.mjs.map +2 -2
  161. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +10 -6
  162. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
  163. package/build-module/components/editor-styles/index.mjs +9 -1
  164. package/build-module/components/editor-styles/index.mjs.map +2 -2
  165. package/build-module/components/global-styles/background-panel.mjs +71 -29
  166. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  167. package/build-module/components/global-styles/border-panel.mjs +157 -56
  168. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  169. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +51 -15
  170. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +2 -2
  171. package/build-module/components/global-styles/color-panel.mjs +63 -17
  172. package/build-module/components/global-styles/color-panel.mjs.map +2 -2
  173. package/build-module/components/global-styles/dimensions-panel.mjs +248 -66
  174. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  175. package/build-module/components/global-styles/filters-panel.mjs +64 -21
  176. package/build-module/components/global-styles/filters-panel.mjs.map +2 -2
  177. package/build-module/components/global-styles/hooks.mjs +4 -1
  178. package/build-module/components/global-styles/hooks.mjs.map +2 -2
  179. package/build-module/components/global-styles/inheritance/index.mjs +108 -0
  180. package/build-module/components/global-styles/inheritance/index.mjs.map +7 -0
  181. package/build-module/components/global-styles/inherited-value-context.mjs +141 -0
  182. package/build-module/components/global-styles/inherited-value-context.mjs.map +7 -0
  183. package/build-module/components/global-styles/shadow-panel-components.mjs +38 -20
  184. package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
  185. package/build-module/components/global-styles/state-control.mjs +1 -1
  186. package/build-module/components/global-styles/state-control.mjs.map +2 -2
  187. package/build-module/components/global-styles/typography-panel.mjs +276 -79
  188. package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
  189. package/build-module/components/inspector-controls-tabs/styles-tab.mjs +6 -1
  190. package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
  191. package/build-module/components/line-height-control/index.mjs +1 -1
  192. package/build-module/components/line-height-control/index.mjs.map +2 -2
  193. package/build-module/components/link-control/index.mjs +4 -2
  194. package/build-module/components/link-control/index.mjs.map +2 -2
  195. package/build-module/components/preset-input-control/index.mjs +2 -1
  196. package/build-module/components/preset-input-control/index.mjs.map +2 -2
  197. package/build-module/components/provider/block-refs-provider.mjs +8 -2
  198. package/build-module/components/provider/block-refs-provider.mjs.map +2 -2
  199. package/build-module/components/provider/index.mjs +1 -1
  200. package/build-module/components/provider/index.mjs.map +2 -2
  201. package/build-module/components/provider/use-block-sync.mjs +18 -6
  202. package/build-module/components/provider/use-block-sync.mjs.map +2 -2
  203. package/build-module/components/provider/use-media-upload-settings.mjs +3 -1
  204. package/build-module/components/provider/use-media-upload-settings.mjs.map +2 -2
  205. package/build-module/components/rich-text/index.mjs +28 -14
  206. package/build-module/components/rich-text/index.mjs.map +2 -2
  207. package/build-module/components/spacing-sizes-control/utils.mjs +6 -18
  208. package/build-module/components/spacing-sizes-control/utils.mjs.map +2 -2
  209. package/build-module/components/text-indent-control/index.mjs +8 -2
  210. package/build-module/components/text-indent-control/index.mjs.map +2 -2
  211. package/build-module/components/url-input/index.mjs +306 -353
  212. package/build-module/components/url-input/index.mjs.map +2 -2
  213. package/build-module/components/writing-flow/index.mjs +2 -0
  214. package/build-module/components/writing-flow/index.mjs.map +2 -2
  215. package/build-module/components/writing-flow/use-arrow-nav.mjs +24 -1
  216. package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
  217. package/build-module/components/writing-flow/use-click-selection.mjs +28 -2
  218. package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
  219. package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs +154 -0
  220. package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs.map +7 -0
  221. package/build-module/components/writing-flow/use-editable-root.mjs +5 -37
  222. package/build-module/components/writing-flow/use-editable-root.mjs.map +2 -2
  223. package/build-module/components/writing-flow/use-home-end.mjs +1 -1
  224. package/build-module/components/writing-flow/use-home-end.mjs.map +2 -2
  225. package/build-module/components/writing-flow/use-selection-observer.mjs +18 -14
  226. package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
  227. package/build-module/components/writing-flow/utils.mjs +2 -11
  228. package/build-module/components/writing-flow/utils.mjs.map +2 -2
  229. package/build-module/hooks/background.mjs +13 -10
  230. package/build-module/hooks/background.mjs.map +2 -2
  231. package/build-module/hooks/block-style-variation.mjs +8 -44
  232. package/build-module/hooks/block-style-variation.mjs.map +2 -2
  233. package/build-module/hooks/border.mjs +19 -4
  234. package/build-module/hooks/border.mjs.map +2 -2
  235. package/build-module/hooks/custom-css.mjs +7 -3
  236. package/build-module/hooks/custom-css.mjs.map +2 -2
  237. package/build-module/hooks/dimensions.mjs +15 -4
  238. package/build-module/hooks/dimensions.mjs.map +2 -2
  239. package/build-module/hooks/duotone.mjs +20 -9
  240. package/build-module/hooks/duotone.mjs.map +2 -2
  241. package/build-module/hooks/elements.mjs +14 -4
  242. package/build-module/hooks/elements.mjs.map +2 -2
  243. package/build-module/hooks/line-height.mjs +1 -2
  244. package/build-module/hooks/line-height.mjs.map +2 -2
  245. package/build-module/hooks/typography.mjs +13 -4
  246. package/build-module/hooks/typography.mjs.map +2 -2
  247. package/build-module/private-apis.mjs +7 -3
  248. package/build-module/private-apis.mjs.map +2 -2
  249. package/build-module/store/actions.mjs +9 -4
  250. package/build-module/store/actions.mjs.map +2 -2
  251. package/build-module/store/private-selectors.mjs +29 -1
  252. package/build-module/store/private-selectors.mjs.map +2 -2
  253. package/build-module/store/reducer.mjs +6 -6
  254. package/build-module/store/reducer.mjs.map +2 -2
  255. package/build-module/store/selectors.mjs +23 -0
  256. package/build-module/store/selectors.mjs.map +2 -2
  257. package/build-module/utils/native-undo.mjs +29 -0
  258. package/build-module/utils/native-undo.mjs.map +7 -0
  259. package/build-style/content-rtl.css +10 -18
  260. package/build-style/content.css +10 -18
  261. package/build-style/style-rtl.css +150 -7
  262. package/build-style/style.css +150 -7
  263. package/package.json +40 -41
  264. package/src/components/alignment-control/test/__snapshots__/index.js.snap +1 -1
  265. package/src/components/alignment-control/ui.js +2 -4
  266. package/src/components/background-image-control/index.js +74 -37
  267. package/src/components/background-image-control/style.scss +13 -4
  268. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +3 -3
  269. package/src/components/block-alignment-control/test/index.js +1 -1
  270. package/src/components/block-alignment-control/ui.js +4 -2
  271. package/src/components/block-breadcrumb/test/__snapshots__/index.js.snap +1 -1
  272. package/src/components/block-compare/test/__snapshots__/block-view.js.snap +1 -1
  273. package/src/components/block-icon/test/__snapshots__/index.js.snap +1 -1
  274. package/src/components/block-inspector/index.js +60 -31
  275. package/src/components/block-list/block-html.js +5 -0
  276. package/src/components/block-list/content.scss +1 -11
  277. package/src/components/block-list/use-block-props/index.js +5 -1
  278. package/src/components/block-list/use-block-props/use-focus-handler.js +9 -8
  279. package/src/components/block-list/use-block-props/use-register-block-event-handlers.js +45 -0
  280. package/src/components/block-parent-selector/index.js +5 -2
  281. package/src/components/block-toolbar/switch-section-style.js +5 -2
  282. package/src/components/block-tools/empty-block-inserter.js +3 -7
  283. package/src/components/block-vertical-alignment-control/test/__snapshots__/index.js.snap +3 -3
  284. package/src/components/block-vertical-alignment-control/test/index.js +18 -2
  285. package/src/components/block-vertical-alignment-control/ui.js +3 -5
  286. package/src/components/border-radius-control/test/utils.js +0 -41
  287. package/src/components/border-radius-control/utils.js +16 -107
  288. package/src/components/button-block-appender/content.scss +6 -2
  289. package/src/components/color-palette/test/__snapshots__/control.js.snap +1 -1
  290. package/src/components/colors-gradients/control.js +6 -3
  291. package/src/components/default-block-appender/test/__snapshots__/index.js.snap +1 -1
  292. package/src/components/dimension-control/index.js +13 -1
  293. package/src/components/dimensions-tool/aspect-ratio-tool.js +13 -6
  294. package/src/components/editor-styles/index.js +16 -1
  295. package/src/components/global-styles/background-panel.js +107 -34
  296. package/src/components/global-styles/border-panel.js +219 -48
  297. package/src/components/global-styles/color-gradient-dropdown-item.js +93 -28
  298. package/src/components/global-styles/color-panel.js +92 -11
  299. package/src/components/global-styles/dimensions-panel.js +422 -71
  300. package/src/components/global-styles/filters-panel.js +88 -28
  301. package/src/components/global-styles/hooks.js +8 -1
  302. package/src/components/global-styles/inheritance/index.js +204 -0
  303. package/src/components/global-styles/inheritance/style.scss +184 -0
  304. package/src/components/global-styles/inheritance/test/index.js +281 -0
  305. package/src/components/global-styles/inherited-value-context.js +271 -0
  306. package/src/components/global-styles/shadow-panel-components.js +48 -26
  307. package/src/components/global-styles/state-control.js +2 -2
  308. package/src/components/global-styles/test/background-panel.js +338 -1
  309. package/src/components/global-styles/test/border-panel.js +441 -0
  310. package/src/components/global-styles/test/color-panel.js +182 -2
  311. package/src/components/global-styles/test/dimensions-panel.js +753 -0
  312. package/src/components/global-styles/test/filters-panel.js +194 -0
  313. package/src/components/global-styles/test/inherited-value-context-core.js +98 -0
  314. package/src/components/global-styles/test/inherited-value-context.js +454 -0
  315. package/src/components/global-styles/test/typography-panel-core.js +185 -0
  316. package/src/components/global-styles/test/typography-panel.js +849 -12
  317. package/src/components/global-styles/typography-panel.js +449 -100
  318. package/src/components/image-editor/style.scss +33 -0
  319. package/src/components/inner-blocks/test/__snapshots__/index.js.snap +1 -1
  320. package/src/components/inspector-controls-tabs/styles-tab.js +5 -1
  321. package/src/components/line-height-control/index.js +1 -1
  322. package/src/components/link-control/index.js +7 -2
  323. package/src/components/preset-input-control/index.js +4 -1
  324. package/src/components/provider/block-refs-provider.js +12 -2
  325. package/src/components/provider/index.js +2 -2
  326. package/src/components/provider/use-block-sync.js +18 -6
  327. package/src/components/provider/use-media-upload-settings.js +2 -0
  328. package/src/components/rich-text/index.js +37 -16
  329. package/src/components/spacing-sizes-control/test/utils.js +16 -5
  330. package/src/components/spacing-sizes-control/utils.js +11 -28
  331. package/src/components/text-indent-control/index.js +8 -0
  332. package/src/components/url-input/index.js +363 -431
  333. package/src/components/url-input/test/index.js +592 -0
  334. package/src/components/warning/test/__snapshots__/index.js.snap +1 -1
  335. package/src/components/writing-flow/index.js +2 -0
  336. package/src/components/writing-flow/use-arrow-nav.js +51 -1
  337. package/src/components/writing-flow/use-click-selection.js +54 -3
  338. package/src/components/writing-flow/use-editable-root-event-handlers.js +266 -0
  339. package/src/components/writing-flow/use-editable-root.js +7 -77
  340. package/src/components/writing-flow/use-home-end.js +17 -9
  341. package/src/components/writing-flow/use-selection-observer.js +32 -15
  342. package/src/components/writing-flow/utils.js +3 -24
  343. package/src/hooks/background.js +26 -21
  344. package/src/hooks/block-fields/rich-text/styles.scss +1 -1
  345. package/src/hooks/block-style-variation.js +8 -74
  346. package/src/hooks/border.js +19 -4
  347. package/src/hooks/custom-css.js +15 -6
  348. package/src/hooks/dimensions.js +17 -4
  349. package/src/hooks/duotone.js +26 -8
  350. package/src/hooks/elements.js +14 -3
  351. package/src/hooks/line-height.js +0 -1
  352. package/src/hooks/test/inherited-value-wiring.js +411 -0
  353. package/src/hooks/test/preset-round-trip.js +456 -0
  354. package/src/hooks/typography.js +35 -23
  355. package/src/private-apis.js +11 -2
  356. package/src/store/actions.js +10 -4
  357. package/src/store/private-selectors.js +57 -1
  358. package/src/store/reducer.js +9 -9
  359. package/src/store/selectors.js +56 -8
  360. package/src/store/test/private-selectors.js +160 -1
  361. package/src/style.scss +2 -0
  362. package/src/utils/native-undo.js +56 -0
  363. package/build/components/duotone/utils.cjs +0 -87
  364. package/build/components/duotone/utils.cjs.map +0 -7
  365. package/build-module/components/duotone/utils.mjs +0 -59
  366. package/build-module/components/duotone/utils.mjs.map +0 -7
  367. package/src/components/duotone/utils.js +0 -90
  368. package/src/hooks/test/get-variation-styles-with-ref-values.js +0 -91
@@ -0,0 +1,29 @@
1
+ // packages/block-editor/src/utils/native-undo.js
2
+ import { useRefEffect } from "@wordpress/compose";
3
+ var nativeUndoNodes = /* @__PURE__ */ new WeakSet();
4
+ function useNativeUndo() {
5
+ return useRefEffect((node) => {
6
+ nativeUndoNodes.add(node);
7
+ return () => {
8
+ nativeUndoNodes.delete(node);
9
+ };
10
+ }, []);
11
+ }
12
+ function usesNativeUndo(event) {
13
+ let { target } = event;
14
+ if (target?.nodeName === "IFRAME") {
15
+ target = target.contentDocument?.activeElement;
16
+ }
17
+ while (target) {
18
+ if (nativeUndoNodes.has(target)) {
19
+ return true;
20
+ }
21
+ target = target.parentElement;
22
+ }
23
+ return false;
24
+ }
25
+ export {
26
+ useNativeUndo,
27
+ usesNativeUndo
28
+ };
29
+ //# sourceMappingURL=native-undo.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/native-undo.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\n\n/**\n * Elements whose content the browser's own undo acts on (a dialog input, an\n * HTML editing field, a search field), registered through `useNativeUndo`.\n * The editor history must not act on events originating within them.\n */\nconst nativeUndoNodes = new WeakSet();\n\n/**\n * Returns a ref that marks an element (and its descendants) as relying on\n * the browser's own undo, so the editor history leaves the undo and redo\n * shortcuts alone within it.\n *\n * @return {Function} Ref callback.\n */\nexport function useNativeUndo() {\n\treturn useRefEffect( ( node ) => {\n\t\tnativeUndoNodes.add( node );\n\t\treturn () => {\n\t\t\tnativeUndoNodes.delete( node );\n\t\t};\n\t}, [] );\n}\n\n/**\n * Returns true when the event originates from an element registered through\n * `useNativeUndo`.\n *\n * Events coming from the editor canvas are re-dispatched on the iframe\n * element, so the real target is resolved through the frame's focused\n * element.\n *\n * @param {KeyboardEvent} event Keyboard event.\n *\n * @return {boolean} Whether the element relies on the browser's own undo.\n */\nexport function usesNativeUndo( event ) {\n\tlet { target } = event;\n\n\tif ( target?.nodeName === 'IFRAME' ) {\n\t\ttarget = target.contentDocument?.activeElement;\n\t}\n\n\twhile ( target ) {\n\t\tif ( nativeUndoNodes.has( target ) ) {\n\t\t\treturn true;\n\t\t}\n\t\ttarget = target.parentElement;\n\t}\n\n\treturn false;\n}\n"],
5
+ "mappings": ";AAGA,SAAS,oBAAoB;AAO7B,IAAM,kBAAkB,oBAAI,QAAQ;AAS7B,SAAS,gBAAgB;AAC/B,SAAO,aAAc,CAAE,SAAU;AAChC,oBAAgB,IAAK,IAAK;AAC1B,WAAO,MAAM;AACZ,sBAAgB,OAAQ,IAAK;AAAA,IAC9B;AAAA,EACD,GAAG,CAAC,CAAE;AACP;AAcO,SAAS,eAAgB,OAAQ;AACvC,MAAI,EAAE,OAAO,IAAI;AAEjB,MAAK,QAAQ,aAAa,UAAW;AACpC,aAAS,OAAO,iBAAiB;AAAA,EAClC;AAEA,SAAQ,QAAS;AAChB,QAAK,gBAAgB,IAAK,MAAO,GAAI;AACpC,aAAO;AAAA,IACR;AACA,aAAS,OAAO;AAAA,EACjB;AAEA,SAAO;AACR;",
6
+ "names": []
7
+ }
@@ -373,7 +373,7 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
373
373
  .wp-block[data-align=right] > *,
374
374
  .wp-block.alignleft,
375
375
  .wp-block.alignright {
376
- z-index: 21;
376
+ z-index: 9;
377
377
  }
378
378
 
379
379
  .wp-site-blocks > [data-align=left] {
@@ -416,14 +416,6 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
416
416
  }
417
417
  }
418
418
 
419
- .block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender {
420
- display: none;
421
- }
422
- .block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender .block-editor-inserter__toggle {
423
- opacity: 0;
424
- transform: scale(0);
425
- }
426
-
427
419
  .block-editor-block-list__block .block-editor-block-list__block-html-textarea {
428
420
  display: block;
429
421
  margin: 0;
@@ -629,10 +621,10 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
629
621
  color: #000;
630
622
  }
631
623
 
632
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child {
624
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender), .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender), .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender), .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender) {
633
625
  pointer-events: none;
634
626
  }
635
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child::after {
627
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender)::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender)::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender)::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender)::after {
636
628
  content: "";
637
629
  position: absolute;
638
630
  top: 0;
@@ -642,28 +634,28 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
642
634
  pointer-events: none;
643
635
  border: 1px dashed currentColor;
644
636
  }
645
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter {
637
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter {
646
638
  opacity: 0;
647
639
  }
648
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter:focus-within, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter:focus-within, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter:focus-within, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter:focus-within {
640
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter:focus-within, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter:focus-within, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter:focus-within, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter:focus-within {
649
641
  opacity: 1;
650
642
  }
651
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over::after {
643
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over::after {
652
644
  border: none;
653
645
  }
654
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over .block-editor-inserter {
646
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over .block-editor-inserter {
655
647
  visibility: visible;
656
648
  }
657
- .block-editor-block-list__block:not(.is-selected) > .block-editor-block-list__block > .block-list-appender:only-child::after {
649
+ .block-editor-block-list__block:not(.is-selected) > .block-editor-block-list__block > .block-list-appender:only-child:has(.block-editor-button-block-appender)::after {
658
650
  border: none;
659
651
  }
660
- .block-list-appender:only-child.is-drag-over .block-editor-button-block-appender {
652
+ .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over .block-editor-button-block-appender {
661
653
  background-color: var(--wp-admin-theme-color);
662
654
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.65);
663
655
  color: rgba(255, 255, 255, 0.65);
664
656
  }
665
657
  @media not (prefers-reduced-motion) {
666
- .block-list-appender:only-child.is-drag-over .block-editor-button-block-appender {
658
+ .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over .block-editor-button-block-appender {
667
659
  transition: background-color 0.2s ease-in-out;
668
660
  }
669
661
  }
@@ -373,7 +373,7 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
373
373
  .wp-block[data-align=right] > *,
374
374
  .wp-block.alignleft,
375
375
  .wp-block.alignright {
376
- z-index: 21;
376
+ z-index: 9;
377
377
  }
378
378
 
379
379
  .wp-site-blocks > [data-align=left] {
@@ -416,14 +416,6 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
416
416
  }
417
417
  }
418
418
 
419
- .block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender {
420
- display: none;
421
- }
422
- .block-editor-block-list__block:not(.is-selected):not(.has-child-selected) .block-editor-default-block-appender .block-editor-inserter__toggle {
423
- opacity: 0;
424
- transform: scale(0);
425
- }
426
-
427
419
  .block-editor-block-list__block .block-editor-block-list__block-html-textarea {
428
420
  display: block;
429
421
  margin: 0;
@@ -630,10 +622,10 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
630
622
  color: #000;
631
623
  }
632
624
 
633
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child {
625
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender), .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender), .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender), .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender) {
634
626
  pointer-events: none;
635
627
  }
636
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child::after {
628
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender)::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender)::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender)::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender)::after {
637
629
  content: "";
638
630
  position: absolute;
639
631
  top: 0;
@@ -643,28 +635,28 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
643
635
  pointer-events: none;
644
636
  border: 1px dashed currentColor;
645
637
  }
646
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter {
638
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter {
647
639
  opacity: 0;
648
640
  }
649
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter:focus-within, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter:focus-within, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter:focus-within, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter:focus-within {
641
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter:focus-within, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter:focus-within, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter:focus-within, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender) .block-editor-inserter:focus-within {
650
642
  opacity: 1;
651
643
  }
652
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over::after {
644
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over::after {
653
645
  border: none;
654
646
  }
655
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over .block-editor-inserter {
647
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over .block-editor-inserter {
656
648
  visibility: visible;
657
649
  }
658
- .block-editor-block-list__block:not(.is-selected) > .block-editor-block-list__block > .block-list-appender:only-child::after {
650
+ .block-editor-block-list__block:not(.is-selected) > .block-editor-block-list__block > .block-list-appender:only-child:has(.block-editor-button-block-appender)::after {
659
651
  border: none;
660
652
  }
661
- .block-list-appender:only-child.is-drag-over .block-editor-button-block-appender {
653
+ .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over .block-editor-button-block-appender {
662
654
  background-color: var(--wp-admin-theme-color);
663
655
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.65);
664
656
  color: rgba(255, 255, 255, 0.65);
665
657
  }
666
658
  @media not (prefers-reduced-motion) {
667
- .block-list-appender:only-child.is-drag-over .block-editor-button-block-appender {
659
+ .block-list-appender:only-child:has(.block-editor-button-block-appender).is-drag-over .block-editor-button-block-appender {
668
660
  transition: background-color 0.2s ease-in-out;
669
661
  }
670
662
  }
@@ -164,9 +164,6 @@
164
164
  .block-editor-global-styles-background-panel__image-tools-panel-item button.components-button:hover {
165
165
  color: var(--wp-admin-theme-color);
166
166
  }
167
- .block-editor-global-styles-background-panel__image-tools-panel-item button.components-button:focus {
168
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
169
- }
170
167
  .block-editor-global-styles-background-panel__image-tools-panel-item .block-editor-global-styles-background-panel__loading {
171
168
  height: 100%;
172
169
  position: absolute;
@@ -200,10 +197,21 @@
200
197
  transition: opacity 0.1s ease-in-out;
201
198
  }
202
199
  }
200
+ .block-editor-global-styles-background-panel__reset.has-local-override-from-global-styles__reset {
201
+ position: absolute;
202
+ display: inline-flex;
203
+ align-items: center;
204
+ justify-content: center;
205
+ top: 50%;
206
+ transform: translateY(-50%);
207
+ margin-block: 0;
208
+ margin-inline: 0 8px;
209
+ opacity: 1;
210
+ }
203
211
  .block-editor-global-styles-background-panel__reset.block-editor-global-styles-background-panel__reset {
204
212
  border-radius: 2px;
205
213
  }
206
- .block-editor-global-styles-background-panel__dropdown-toggle:hover + .block-editor-global-styles-background-panel__reset, .block-editor-global-styles-background-panel__reset:focus, .block-editor-global-styles-background-panel__reset:hover {
214
+ .block-editor-global-styles-background-panel__dropdown-toggle:hover + .block-editor-global-styles-background-panel__reset, .block-editor-global-styles-background-panel__reset:focus, .block-editor-global-styles-background-panel__reset:focus-within, .block-editor-global-styles-background-panel__reset:hover {
207
215
  opacity: 1;
208
216
  }
209
217
  @media (hover: none) {
@@ -1197,7 +1205,8 @@ iframe[name=editor-canvas] {
1197
1205
  color: #fff;
1198
1206
  }
1199
1207
  .block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:focus, .block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:focus {
1200
- outline: var(--wpds-border-width-focus, var(--wp-admin-border-width-focus, 2px)) solid var(--wpds-color-stroke-focus, var(--wp-admin-theme-color, #3858e9));
1208
+ --focus-color: var(--wpds-color-stroke-focus, var(--wp-admin-theme-color, #3858e9));
1209
+ outline: var(--wpds-border-width-focus, var(--wp-admin-border-width-focus, 2px)) solid var(--focus-color);
1201
1210
  outline-offset: var(--wpds-border-width-focus, var(--wp-admin-border-width-focus, 2px));
1202
1211
  }
1203
1212
  .block-editor-block-styles__variants .block-editor-block-styles__item-text {
@@ -1808,6 +1817,121 @@ iframe[name=editor-canvas] {
1808
1817
  }
1809
1818
  }
1810
1819
 
1820
+ .is-inherited-from-global-styles .components-base-control__label,
1821
+ .is-inherited-from-global-styles .components-input-control__label {
1822
+ text-decoration-line: underline;
1823
+ text-decoration-style: dotted;
1824
+ text-decoration-thickness: 1px;
1825
+ text-underline-offset: 0.2em;
1826
+ }
1827
+ .is-inherited-from-global-styles .block-editor-panel-color-gradient-settings__color-name,
1828
+ .is-inherited-from-global-styles .block-editor-global-styles-background-panel__inspector-media-replace-title,
1829
+ .is-inherited-from-global-styles .block-editor-panel-duotone-settings__label {
1830
+ border-bottom: 1px dotted currentColor;
1831
+ }
1832
+
1833
+ .has-local-override-from-global-styles {
1834
+ position: relative;
1835
+ }
1836
+
1837
+ .global-styles-inheritance-affordance {
1838
+ position: absolute;
1839
+ inset-block-start: 0;
1840
+ inset-inline-end: 0;
1841
+ z-index: 1;
1842
+ display: flex;
1843
+ align-items: center;
1844
+ justify-content: center;
1845
+ pointer-events: none;
1846
+ height: 16px;
1847
+ }
1848
+ .global-styles-inheritance-affordance--offset-toggle {
1849
+ inset-inline-end: 32px;
1850
+ }
1851
+ .global-styles-inheritance-affordance .has-local-override-from-global-styles__reset {
1852
+ pointer-events: auto;
1853
+ margin-inline-start: 0 !important;
1854
+ }
1855
+
1856
+ .has-local-override-from-global-styles__reset {
1857
+ display: inline-flex !important;
1858
+ align-items: center;
1859
+ justify-content: center;
1860
+ vertical-align: middle;
1861
+ position: relative;
1862
+ margin-inline-start: 6px;
1863
+ min-width: 14px !important;
1864
+ width: 14px !important;
1865
+ height: 14px !important;
1866
+ padding: 0 !important;
1867
+ border-radius: 50% !important;
1868
+ background: transparent !important;
1869
+ box-shadow: none !important;
1870
+ overflow: hidden;
1871
+ text-transform: none;
1872
+ letter-spacing: normal;
1873
+ cursor: var(--wpds-cursor-control, pointer);
1874
+ }
1875
+ .has-local-override-from-global-styles__reset:hover, .has-local-override-from-global-styles__reset:focus {
1876
+ background: transparent !important;
1877
+ }
1878
+ .has-local-override-from-global-styles__reset:hover .has-local-override-from-global-styles__dot, .has-local-override-from-global-styles__reset:focus .has-local-override-from-global-styles__dot {
1879
+ display: none;
1880
+ }
1881
+ .has-local-override-from-global-styles__reset:hover .has-local-override-from-global-styles__reset-icon, .has-local-override-from-global-styles__reset:focus .has-local-override-from-global-styles__reset-icon {
1882
+ display: block;
1883
+ }
1884
+ .has-local-override-from-global-styles__reset:focus-visible {
1885
+ outline: 1.5px solid var(--wp-admin-theme-color, #007cba);
1886
+ outline-offset: 1px;
1887
+ }
1888
+ .has-local-override-from-global-styles__reset.block-editor-panel-color-gradient-settings__reset {
1889
+ position: absolute;
1890
+ justify-content: center;
1891
+ top: 50%;
1892
+ transform: translateY(-50%);
1893
+ margin-block: 0;
1894
+ margin-inline-start: 0;
1895
+ opacity: 1;
1896
+ }
1897
+ .has-local-override-from-global-styles__reset.block-editor-global-styles__shadow-editor__remove-button {
1898
+ position: absolute;
1899
+ justify-content: center;
1900
+ inset-inline-end: 8px;
1901
+ top: 50%;
1902
+ transform: translateY(-50%);
1903
+ margin-block: 0;
1904
+ margin-inline-start: 0;
1905
+ opacity: 1;
1906
+ }
1907
+ .has-local-override-from-global-styles__reset.block-editor-panel-duotone-settings__reset {
1908
+ position: absolute;
1909
+ justify-content: center;
1910
+ inset-inline-end: 8px;
1911
+ top: 50%;
1912
+ transform: translateY(-50%);
1913
+ margin-block: 0;
1914
+ margin-inline-start: 0;
1915
+ opacity: 1;
1916
+ }
1917
+
1918
+ .has-local-override-from-global-styles__dot {
1919
+ display: block;
1920
+ width: 8px;
1921
+ height: 8px;
1922
+ background-color: var(--wp-admin-theme-color, #007cba);
1923
+ border-radius: 50%;
1924
+ }
1925
+
1926
+ .has-local-override-from-global-styles__reset-icon {
1927
+ display: none;
1928
+ position: absolute;
1929
+ top: 50%;
1930
+ right: 50%;
1931
+ transform: translate(50%, -50%);
1932
+ color: var(--wp-admin-theme-color, #007cba);
1933
+ }
1934
+
1811
1935
  .block-editor-grid-visualizer.block-editor-grid-visualizer.block-editor-grid-visualizer {
1812
1936
  z-index: 30;
1813
1937
  }
@@ -2037,6 +2161,25 @@ iframe[name=editor-canvas] {
2037
2161
  left: 0;
2038
2162
  }
2039
2163
 
2164
+ .wp-block-image__crop-area {
2165
+ position: relative;
2166
+ max-width: 100%;
2167
+ width: 100%;
2168
+ overflow: hidden;
2169
+ }
2170
+ .wp-block-image__crop-area .reactEasyCrop_Container {
2171
+ pointer-events: auto;
2172
+ }
2173
+ .wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image {
2174
+ border: none;
2175
+ border-radius: 0;
2176
+ }
2177
+
2178
+ .wp-block-image__zoom .components-popover__content {
2179
+ min-width: 260px;
2180
+ overflow: visible !important;
2181
+ }
2182
+
2040
2183
  .block-editor-block-types-list__list-item {
2041
2184
  display: block;
2042
2185
  width: 33.33%;
@@ -3577,8 +3720,8 @@ iframe[name=editor-canvas] {
3577
3720
  }
3578
3721
  }
3579
3722
  .block-editor-content-only-controls__rich-text:focus {
3580
- border-color: var(--wp-admin-theme-color, #3858e9);
3581
- box-shadow: 0 0 0 0.5px var(--wp-admin-theme-color, #3858e9);
3723
+ border-color: var(--wp-admin-theme-color);
3724
+ box-shadow: 0 0 0 0.5px var(--wp-admin-theme-color);
3582
3725
  outline: 2px solid transparent;
3583
3726
  }
3584
3727
  .block-editor-content-only-controls__rich-text::-moz-placeholder {
@@ -164,9 +164,6 @@
164
164
  .block-editor-global-styles-background-panel__image-tools-panel-item button.components-button:hover {
165
165
  color: var(--wp-admin-theme-color);
166
166
  }
167
- .block-editor-global-styles-background-panel__image-tools-panel-item button.components-button:focus {
168
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
169
- }
170
167
  .block-editor-global-styles-background-panel__image-tools-panel-item .block-editor-global-styles-background-panel__loading {
171
168
  height: 100%;
172
169
  position: absolute;
@@ -200,10 +197,21 @@
200
197
  transition: opacity 0.1s ease-in-out;
201
198
  }
202
199
  }
200
+ .block-editor-global-styles-background-panel__reset.has-local-override-from-global-styles__reset {
201
+ position: absolute;
202
+ display: inline-flex;
203
+ align-items: center;
204
+ justify-content: center;
205
+ top: 50%;
206
+ transform: translateY(-50%);
207
+ margin-block: 0;
208
+ margin-inline: 0 8px;
209
+ opacity: 1;
210
+ }
203
211
  .block-editor-global-styles-background-panel__reset.block-editor-global-styles-background-panel__reset {
204
212
  border-radius: 2px;
205
213
  }
206
- .block-editor-global-styles-background-panel__dropdown-toggle:hover + .block-editor-global-styles-background-panel__reset, .block-editor-global-styles-background-panel__reset:focus, .block-editor-global-styles-background-panel__reset:hover {
214
+ .block-editor-global-styles-background-panel__dropdown-toggle:hover + .block-editor-global-styles-background-panel__reset, .block-editor-global-styles-background-panel__reset:focus, .block-editor-global-styles-background-panel__reset:focus-within, .block-editor-global-styles-background-panel__reset:hover {
207
215
  opacity: 1;
208
216
  }
209
217
  @media (hover: none) {
@@ -1197,7 +1205,8 @@ iframe[name=editor-canvas] {
1197
1205
  color: #fff;
1198
1206
  }
1199
1207
  .block-editor-block-styles__variants button.components-button.block-editor-block-styles__item:focus, .block-editor-block-styles__variants button.components-button.block-editor-block-styles__item.is-active:focus {
1200
- outline: var(--wpds-border-width-focus, var(--wp-admin-border-width-focus, 2px)) solid var(--wpds-color-stroke-focus, var(--wp-admin-theme-color, #3858e9));
1208
+ --focus-color: var(--wpds-color-stroke-focus, var(--wp-admin-theme-color, #3858e9));
1209
+ outline: var(--wpds-border-width-focus, var(--wp-admin-border-width-focus, 2px)) solid var(--focus-color);
1201
1210
  outline-offset: var(--wpds-border-width-focus, var(--wp-admin-border-width-focus, 2px));
1202
1211
  }
1203
1212
  .block-editor-block-styles__variants .block-editor-block-styles__item-text {
@@ -1809,6 +1818,121 @@ iframe[name=editor-canvas] {
1809
1818
  }
1810
1819
  }
1811
1820
 
1821
+ .is-inherited-from-global-styles .components-base-control__label,
1822
+ .is-inherited-from-global-styles .components-input-control__label {
1823
+ text-decoration-line: underline;
1824
+ text-decoration-style: dotted;
1825
+ text-decoration-thickness: 1px;
1826
+ text-underline-offset: 0.2em;
1827
+ }
1828
+ .is-inherited-from-global-styles .block-editor-panel-color-gradient-settings__color-name,
1829
+ .is-inherited-from-global-styles .block-editor-global-styles-background-panel__inspector-media-replace-title,
1830
+ .is-inherited-from-global-styles .block-editor-panel-duotone-settings__label {
1831
+ border-bottom: 1px dotted currentColor;
1832
+ }
1833
+
1834
+ .has-local-override-from-global-styles {
1835
+ position: relative;
1836
+ }
1837
+
1838
+ .global-styles-inheritance-affordance {
1839
+ position: absolute;
1840
+ inset-block-start: 0;
1841
+ inset-inline-end: 0;
1842
+ z-index: 1;
1843
+ display: flex;
1844
+ align-items: center;
1845
+ justify-content: center;
1846
+ pointer-events: none;
1847
+ height: 16px;
1848
+ }
1849
+ .global-styles-inheritance-affordance--offset-toggle {
1850
+ inset-inline-end: 32px;
1851
+ }
1852
+ .global-styles-inheritance-affordance .has-local-override-from-global-styles__reset {
1853
+ pointer-events: auto;
1854
+ margin-inline-start: 0 !important;
1855
+ }
1856
+
1857
+ .has-local-override-from-global-styles__reset {
1858
+ display: inline-flex !important;
1859
+ align-items: center;
1860
+ justify-content: center;
1861
+ vertical-align: middle;
1862
+ position: relative;
1863
+ margin-inline-start: 6px;
1864
+ min-width: 14px !important;
1865
+ width: 14px !important;
1866
+ height: 14px !important;
1867
+ padding: 0 !important;
1868
+ border-radius: 50% !important;
1869
+ background: transparent !important;
1870
+ box-shadow: none !important;
1871
+ overflow: hidden;
1872
+ text-transform: none;
1873
+ letter-spacing: normal;
1874
+ cursor: var(--wpds-cursor-control, pointer);
1875
+ }
1876
+ .has-local-override-from-global-styles__reset:hover, .has-local-override-from-global-styles__reset:focus {
1877
+ background: transparent !important;
1878
+ }
1879
+ .has-local-override-from-global-styles__reset:hover .has-local-override-from-global-styles__dot, .has-local-override-from-global-styles__reset:focus .has-local-override-from-global-styles__dot {
1880
+ display: none;
1881
+ }
1882
+ .has-local-override-from-global-styles__reset:hover .has-local-override-from-global-styles__reset-icon, .has-local-override-from-global-styles__reset:focus .has-local-override-from-global-styles__reset-icon {
1883
+ display: block;
1884
+ }
1885
+ .has-local-override-from-global-styles__reset:focus-visible {
1886
+ outline: 1.5px solid var(--wp-admin-theme-color, #007cba);
1887
+ outline-offset: 1px;
1888
+ }
1889
+ .has-local-override-from-global-styles__reset.block-editor-panel-color-gradient-settings__reset {
1890
+ position: absolute;
1891
+ justify-content: center;
1892
+ top: 50%;
1893
+ transform: translateY(-50%);
1894
+ margin-block: 0;
1895
+ margin-inline-start: 0;
1896
+ opacity: 1;
1897
+ }
1898
+ .has-local-override-from-global-styles__reset.block-editor-global-styles__shadow-editor__remove-button {
1899
+ position: absolute;
1900
+ justify-content: center;
1901
+ inset-inline-end: 8px;
1902
+ top: 50%;
1903
+ transform: translateY(-50%);
1904
+ margin-block: 0;
1905
+ margin-inline-start: 0;
1906
+ opacity: 1;
1907
+ }
1908
+ .has-local-override-from-global-styles__reset.block-editor-panel-duotone-settings__reset {
1909
+ position: absolute;
1910
+ justify-content: center;
1911
+ inset-inline-end: 8px;
1912
+ top: 50%;
1913
+ transform: translateY(-50%);
1914
+ margin-block: 0;
1915
+ margin-inline-start: 0;
1916
+ opacity: 1;
1917
+ }
1918
+
1919
+ .has-local-override-from-global-styles__dot {
1920
+ display: block;
1921
+ width: 8px;
1922
+ height: 8px;
1923
+ background-color: var(--wp-admin-theme-color, #007cba);
1924
+ border-radius: 50%;
1925
+ }
1926
+
1927
+ .has-local-override-from-global-styles__reset-icon {
1928
+ display: none;
1929
+ position: absolute;
1930
+ top: 50%;
1931
+ left: 50%;
1932
+ transform: translate(-50%, -50%);
1933
+ color: var(--wp-admin-theme-color, #007cba);
1934
+ }
1935
+
1812
1936
  .block-editor-grid-visualizer.block-editor-grid-visualizer.block-editor-grid-visualizer {
1813
1937
  z-index: 30;
1814
1938
  }
@@ -2038,6 +2162,25 @@ iframe[name=editor-canvas] {
2038
2162
  right: 0;
2039
2163
  }
2040
2164
 
2165
+ .wp-block-image__crop-area {
2166
+ position: relative;
2167
+ max-width: 100%;
2168
+ width: 100%;
2169
+ overflow: hidden;
2170
+ }
2171
+ .wp-block-image__crop-area .reactEasyCrop_Container {
2172
+ pointer-events: auto;
2173
+ }
2174
+ .wp-block-image__crop-area .reactEasyCrop_Container .reactEasyCrop_Image {
2175
+ border: none;
2176
+ border-radius: 0;
2177
+ }
2178
+
2179
+ .wp-block-image__zoom .components-popover__content {
2180
+ min-width: 260px;
2181
+ overflow: visible !important;
2182
+ }
2183
+
2041
2184
  .block-editor-block-types-list__list-item {
2042
2185
  display: block;
2043
2186
  width: 33.33%;
@@ -3579,8 +3722,8 @@ iframe[name=editor-canvas] {
3579
3722
  }
3580
3723
  }
3581
3724
  .block-editor-content-only-controls__rich-text:focus {
3582
- border-color: var(--wp-admin-theme-color, #3858e9);
3583
- box-shadow: 0 0 0 0.5px var(--wp-admin-theme-color, #3858e9);
3725
+ border-color: var(--wp-admin-theme-color);
3726
+ box-shadow: 0 0 0 0.5px var(--wp-admin-theme-color);
3584
3727
  outline: 2px solid transparent;
3585
3728
  }
3586
3729
  .block-editor-content-only-controls__rich-text::-moz-placeholder {