@wordpress/block-editor 9.0.0 → 9.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 (235) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +1 -0
  3. package/build/components/block-alignment-matrix-control/index.js +1 -6
  4. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  5. package/build/components/block-content-overlay/index.js +4 -82
  6. package/build/components/block-content-overlay/index.js.map +1 -1
  7. package/build/components/block-draggable/draggable-chip.native.js +64 -0
  8. package/build/components/block-draggable/draggable-chip.native.js.map +1 -0
  9. package/build/components/block-draggable/dropping-insertion-point.native.js +157 -0
  10. package/build/components/block-draggable/dropping-insertion-point.native.js.map +1 -0
  11. package/build/components/block-draggable/index.native.js +484 -0
  12. package/build/components/block-draggable/index.native.js.map +1 -0
  13. package/build/components/block-draggable/use-scroll-when-dragging.native.js +130 -0
  14. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -0
  15. package/build/components/block-list/block-list-context.native.js +195 -0
  16. package/build/components/block-list/block-list-context.native.js.map +1 -0
  17. package/build/components/block-list/block-list-item-cell.native.js +67 -0
  18. package/build/components/block-list/block-list-item-cell.native.js.map +1 -0
  19. package/build/components/block-list/block-list-item.native.js +12 -9
  20. package/build/components/block-list/block-list-item.native.js.map +1 -1
  21. package/build/components/block-list/block.native.js +26 -5
  22. package/build/components/block-list/block.native.js.map +1 -1
  23. package/build/components/block-list/index.native.js +75 -23
  24. package/build/components/block-list/index.native.js.map +1 -1
  25. package/build/components/block-list/use-block-props/index.js +8 -4
  26. package/build/components/block-list/use-block-props/index.js.map +1 -1
  27. package/build/components/block-list/use-in-between-inserter.js +1 -1
  28. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  29. package/build/components/block-mobile-toolbar/index.native.js +9 -3
  30. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  31. package/build/components/block-mover/index.native.js +17 -4
  32. package/build/components/block-mover/index.native.js.map +1 -1
  33. package/build/components/block-popover/inbetween.js +10 -2
  34. package/build/components/block-popover/inbetween.js.map +1 -1
  35. package/build/components/block-popover/index.js +4 -16
  36. package/build/components/block-popover/index.js.map +1 -1
  37. package/build/components/block-preview/index.js +1 -1
  38. package/build/components/block-preview/index.js.map +1 -1
  39. package/build/components/block-tools/selected-block-popover.js +1 -29
  40. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  41. package/build/components/border-radius-control/input-controls.js +10 -3
  42. package/build/components/border-radius-control/input-controls.js.map +1 -1
  43. package/build/components/colors-gradients/dropdown.js +149 -44
  44. package/build/components/colors-gradients/dropdown.js.map +1 -1
  45. package/build/components/iframe/index.js +51 -50
  46. package/build/components/iframe/index.js.map +1 -1
  47. package/build/components/image-editor/use-save-image.js +3 -1
  48. package/build/components/image-editor/use-save-image.js.map +1 -1
  49. package/build/components/index.js +5 -14
  50. package/build/components/index.js.map +1 -1
  51. package/build/components/inserter/index.native.js +1 -1
  52. package/build/components/inserter/index.native.js.map +1 -1
  53. package/build/components/link-control/constants.js +11 -1
  54. package/build/components/link-control/constants.js.map +1 -1
  55. package/build/components/link-control/search-results.js +4 -3
  56. package/build/components/link-control/search-results.js.map +1 -1
  57. package/build/components/link-control/use-search-handler.js +4 -4
  58. package/build/components/link-control/use-search-handler.js.map +1 -1
  59. package/build/components/list-view/drop-indicator.js +0 -1
  60. package/build/components/list-view/drop-indicator.js.map +1 -1
  61. package/build/components/navigable-toolbar/index.js +12 -2
  62. package/build/components/navigable-toolbar/index.js.map +1 -1
  63. package/build/components/rich-text/format-toolbar-container.js +0 -1
  64. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  65. package/build/components/rich-text/index.js +1 -1
  66. package/build/components/rich-text/index.js.map +1 -1
  67. package/build/components/url-input/index.js +4 -1
  68. package/build/components/url-input/index.js.map +1 -1
  69. package/build/components/use-block-drop-zone/index.native.js +167 -0
  70. package/build/components/use-block-drop-zone/index.native.js.map +1 -0
  71. package/build/components/use-on-block-drop/index.native.js +95 -0
  72. package/build/components/use-on-block-drop/index.native.js.map +1 -0
  73. package/build/components/warning/index.js +6 -1
  74. package/build/components/warning/index.js.map +1 -1
  75. package/build/hooks/anchor.js.map +1 -1
  76. package/build/hooks/border.js +2 -7
  77. package/build/hooks/border.js.map +1 -1
  78. package/build/hooks/color-panel.js +14 -7
  79. package/build/hooks/color-panel.js.map +1 -1
  80. package/build/hooks/style.js +14 -13
  81. package/build/hooks/style.js.map +1 -1
  82. package/build/hooks/typography.js +6 -2
  83. package/build/hooks/typography.js.map +1 -1
  84. package/build-module/components/block-alignment-matrix-control/index.js +1 -6
  85. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  86. package/build-module/components/block-content-overlay/index.js +3 -78
  87. package/build-module/components/block-content-overlay/index.js.map +1 -1
  88. package/build-module/components/block-draggable/draggable-chip.native.js +50 -0
  89. package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -0
  90. package/build-module/components/block-draggable/dropping-insertion-point.native.js +137 -0
  91. package/build-module/components/block-draggable/dropping-insertion-point.native.js.map +1 -0
  92. package/build-module/components/block-draggable/index.native.js +449 -0
  93. package/build-module/components/block-draggable/index.native.js.map +1 -0
  94. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +120 -0
  95. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -0
  96. package/build-module/components/block-list/block-list-context.native.js +179 -0
  97. package/build-module/components/block-list/block-list-context.native.js.map +1 -0
  98. package/build-module/components/block-list/block-list-item-cell.native.js +59 -0
  99. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -0
  100. package/build-module/components/block-list/block-list-item.native.js +12 -9
  101. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  102. package/build-module/components/block-list/block.native.js +25 -5
  103. package/build-module/components/block-list/block.native.js.map +1 -1
  104. package/build-module/components/block-list/index.native.js +72 -23
  105. package/build-module/components/block-list/index.native.js.map +1 -1
  106. package/build-module/components/block-list/use-block-props/index.js +9 -5
  107. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  108. package/build-module/components/block-list/use-in-between-inserter.js +1 -1
  109. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  110. package/build-module/components/block-mobile-toolbar/index.native.js +8 -3
  111. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  112. package/build-module/components/block-mover/index.native.js +18 -5
  113. package/build-module/components/block-mover/index.native.js.map +1 -1
  114. package/build-module/components/block-popover/inbetween.js +10 -2
  115. package/build-module/components/block-popover/inbetween.js.map +1 -1
  116. package/build-module/components/block-popover/index.js +4 -15
  117. package/build-module/components/block-popover/index.js.map +1 -1
  118. package/build-module/components/block-preview/index.js +1 -1
  119. package/build-module/components/block-preview/index.js.map +1 -1
  120. package/build-module/components/block-tools/selected-block-popover.js +2 -29
  121. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  122. package/build-module/components/border-radius-control/input-controls.js +11 -4
  123. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  124. package/build-module/components/colors-gradients/dropdown.js +151 -46
  125. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  126. package/build-module/components/iframe/index.js +52 -51
  127. package/build-module/components/iframe/index.js.map +1 -1
  128. package/build-module/components/image-editor/use-save-image.js +2 -1
  129. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  130. package/build-module/components/index.js +1 -2
  131. package/build-module/components/index.js.map +1 -1
  132. package/build-module/components/inserter/index.native.js +1 -1
  133. package/build-module/components/inserter/index.native.js.map +1 -1
  134. package/build-module/components/link-control/constants.js +5 -0
  135. package/build-module/components/link-control/constants.js.map +1 -1
  136. package/build-module/components/link-control/search-results.js +3 -4
  137. package/build-module/components/link-control/search-results.js.map +1 -1
  138. package/build-module/components/link-control/use-search-handler.js +5 -5
  139. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  140. package/build-module/components/list-view/drop-indicator.js +0 -1
  141. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  142. package/build-module/components/navigable-toolbar/index.js +12 -2
  143. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  144. package/build-module/components/rich-text/format-toolbar-container.js +0 -1
  145. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  146. package/build-module/components/rich-text/index.js +1 -1
  147. package/build-module/components/rich-text/index.js.map +1 -1
  148. package/build-module/components/url-input/index.js +4 -1
  149. package/build-module/components/url-input/index.js.map +1 -1
  150. package/build-module/components/use-block-drop-zone/index.native.js +148 -0
  151. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -0
  152. package/build-module/components/use-on-block-drop/index.native.js +83 -0
  153. package/build-module/components/use-on-block-drop/index.native.js.map +1 -0
  154. package/build-module/components/warning/index.js +6 -1
  155. package/build-module/components/warning/index.js.map +1 -1
  156. package/build-module/hooks/anchor.js.map +1 -1
  157. package/build-module/hooks/border.js +2 -7
  158. package/build-module/hooks/border.js.map +1 -1
  159. package/build-module/hooks/color-panel.js +11 -6
  160. package/build-module/hooks/color-panel.js.map +1 -1
  161. package/build-module/hooks/style.js +15 -14
  162. package/build-module/hooks/style.js.map +1 -1
  163. package/build-module/hooks/typography.js +6 -2
  164. package/build-module/hooks/typography.js.map +1 -1
  165. package/build-style/style-rtl.css +60 -174
  166. package/build-style/style.css +60 -174
  167. package/package.json +28 -28
  168. package/src/components/block-alignment-matrix-control/index.js +1 -5
  169. package/src/components/block-content-overlay/index.js +8 -95
  170. package/src/components/block-content-overlay/style.scss +2 -11
  171. package/src/components/block-draggable/draggable-chip.native.js +49 -0
  172. package/src/components/block-draggable/dropping-insertion-point.native.js +181 -0
  173. package/src/components/block-draggable/dropping-insertion-point.native.scss +8 -0
  174. package/src/components/block-draggable/index.native.js +458 -0
  175. package/src/components/block-draggable/style.native.scss +19 -0
  176. package/src/components/block-draggable/use-scroll-when-dragging.native.js +135 -0
  177. package/src/components/block-list/block-list-context.native.js +175 -0
  178. package/src/components/block-list/block-list-item-cell.native.js +49 -0
  179. package/src/components/block-list/block-list-item.native.js +7 -11
  180. package/src/components/block-list/block.native.js +36 -8
  181. package/src/components/block-list/index.native.js +54 -13
  182. package/src/components/block-list/test/block-list-context.native.js +253 -0
  183. package/src/components/block-list/test/fixtures/block-list-context.native.js +79 -0
  184. package/src/components/block-list/use-block-props/index.js +10 -5
  185. package/src/components/block-list/use-in-between-inserter.js +1 -1
  186. package/src/components/block-mobile-toolbar/index.native.js +8 -1
  187. package/src/components/block-mover/index.native.js +22 -6
  188. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +6 -0
  189. package/src/components/block-popover/inbetween.js +9 -1
  190. package/src/components/block-popover/index.js +1 -16
  191. package/src/components/block-popover/style.scss +1 -0
  192. package/src/components/block-preview/index.js +1 -4
  193. package/src/components/block-switcher/style.scss +2 -39
  194. package/src/components/block-tools/selected-block-popover.js +1 -36
  195. package/src/components/block-tools/style.scss +1 -12
  196. package/src/components/border-radius-control/input-controls.js +16 -8
  197. package/src/components/border-radius-control/style.scss +3 -2
  198. package/src/components/colors-gradients/dropdown.js +156 -62
  199. package/src/components/colors-gradients/style.scss +51 -23
  200. package/src/components/duotone-control/style.scss +1 -7
  201. package/src/components/iframe/index.js +62 -54
  202. package/src/components/image-editor/use-save-image.js +2 -1
  203. package/src/components/index.js +1 -2
  204. package/src/components/inserter/index.native.js +1 -1
  205. package/src/components/inserter/style.scss +2 -1
  206. package/src/components/link-control/constants.js +11 -0
  207. package/src/components/link-control/search-results.js +4 -5
  208. package/src/components/link-control/use-search-handler.js +11 -5
  209. package/src/components/list-view/drop-indicator.js +0 -1
  210. package/src/components/list-view/style.scss +2 -1
  211. package/src/components/navigable-toolbar/index.js +12 -2
  212. package/src/components/preview-options/style.scss +0 -4
  213. package/src/components/rich-text/format-toolbar-container.js +0 -1
  214. package/src/components/rich-text/index.js +1 -1
  215. package/src/components/rich-text/style.scss +2 -8
  216. package/src/components/url-input/index.js +3 -1
  217. package/src/components/use-block-drop-zone/index.native.js +173 -0
  218. package/src/components/use-on-block-drop/index.native.js +119 -0
  219. package/src/components/warning/index.js +47 -42
  220. package/src/components/warning/test/__snapshots__/index.js.snap +15 -6
  221. package/src/components/warning/test/index.js +1 -1
  222. package/src/hooks/anchor.js +1 -1
  223. package/src/hooks/border.js +2 -11
  224. package/src/hooks/border.scss +0 -48
  225. package/src/hooks/color-panel.js +13 -9
  226. package/src/hooks/color.scss +0 -62
  227. package/src/hooks/style.js +25 -39
  228. package/src/hooks/typography.js +2 -0
  229. package/src/style.scss +0 -1
  230. package/build/components/colors-gradients/tools-panel-color-dropdown.js +0 -89
  231. package/build/components/colors-gradients/tools-panel-color-dropdown.js.map +0 -1
  232. package/build-module/components/colors-gradients/tools-panel-color-dropdown.js +0 -75
  233. package/build-module/components/colors-gradients/tools-panel-color-dropdown.js.map +0 -1
  234. package/src/components/block-alignment-matrix-control/style.scss +0 -10
  235. package/src/components/colors-gradients/tools-panel-color-dropdown.js +0 -85
@@ -107,14 +107,6 @@
107
107
  margin-top: 0;
108
108
  }
109
109
 
110
- .block-editor-block-alignment-matrix-control__popover .components-popover__content {
111
- min-width: 0;
112
- width: auto;
113
- }
114
- .block-editor-block-alignment-matrix-control__popover .components-popover__content > div {
115
- padding: 8px;
116
- }
117
-
118
110
  .block-editor-block-icon {
119
111
  display: flex;
120
112
  align-items: center;
@@ -524,18 +516,8 @@
524
516
  }
525
517
  }
526
518
 
527
- .block-editor-block-list__block-popover-inserter {
528
- position: absolute;
529
- top: -9999em;
530
- margin-bottom: 14px;
531
- }
532
- .block-editor-block-list__block-popover-inserter.is-visible {
533
- position: static;
534
- }
535
-
536
519
  .block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon,
537
- .block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon,
538
- .block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button.has-icon {
520
+ .block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon {
539
521
  background: #1e1e1e;
540
522
  border-radius: 2px;
541
523
  color: #fff;
@@ -544,8 +526,7 @@
544
526
  height: 24px;
545
527
  }
546
528
  .block-editor-default-block-appender .block-editor-inserter__toggle.components-button.has-icon:hover,
547
- .block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon:hover,
548
- .block-editor-block-list__block-popover-inserter .block-editor-inserter__toggle.components-button.has-icon:hover {
529
+ .block-editor-block-list__insertion-point-inserter .block-editor-inserter__toggle.components-button.has-icon:hover {
549
530
  color: #fff;
550
531
  background: var(--wp-admin-theme-color);
551
532
  }
@@ -889,7 +870,7 @@
889
870
  margin: 0.67em 0;
890
871
  }
891
872
 
892
- .block-editor-block-content-overlay.overlay-active::before {
873
+ .block-editor-block-content-overlay::before {
893
874
  content: "";
894
875
  position: absolute;
895
876
  top: 0;
@@ -901,16 +882,10 @@
901
882
  border-radius: 2px;
902
883
  z-index: 10;
903
884
  }
904
- .block-editor-block-content-overlay:hover:not(.is-dragging-blocks).overlay-active::before, .block-editor-block-content-overlay.parent-highlighted.overlay-active::before {
885
+ .block-editor-block-content-overlay:hover:not(.is-dragging-blocks)::before {
905
886
  background: rgba(var(--wp-admin-theme-color--rgb), 0.1);
906
887
  box-shadow: 0 0 0 1px var(--wp-admin-theme-color) inset;
907
888
  }
908
- .block-editor-block-content-overlay.overlay-active:not(.is-dragging-blocks) * {
909
- pointer-events: none;
910
- }
911
- .block-editor-block-content-overlay.is-dragging-blocks {
912
- box-shadow: 0 0 0 1px var(--wp-admin-theme-color);
913
- }
914
889
 
915
890
  .block-editor-block-draggable-chip-wrapper {
916
891
  position: absolute;
@@ -1094,6 +1069,7 @@
1094
1069
  width: max-content;
1095
1070
  background: none;
1096
1071
  border: none;
1072
+ outline: none;
1097
1073
  box-shadow: none;
1098
1074
  overflow-y: visible;
1099
1075
  pointer-events: none;
@@ -1240,10 +1216,6 @@
1240
1216
  font-size: 14px;
1241
1217
  }
1242
1218
 
1243
- .block-editor-block-switcher__popover {
1244
- margin-left: 6px;
1245
- }
1246
-
1247
1219
  .components-button.block-editor-block-switcher__no-switcher-icon {
1248
1220
  display: flex;
1249
1221
  }
@@ -1286,39 +1258,16 @@
1286
1258
  min-width: 300px;
1287
1259
  }
1288
1260
 
1289
- .components-popover.block-editor-block-switcher__popover .components-popover__content > div {
1290
- min-width: auto;
1291
- display: flex;
1292
- background: #fff;
1293
- padding: 0;
1294
- }
1295
- .components-popover.block-editor-block-switcher__popover .components-popover__content > div .components-menu-group {
1296
- margin: 0;
1297
- }
1298
-
1299
- .block-editor-block-switcher__popover .components-popover__content .block-editor-block-styles {
1300
- margin: 0 -3px;
1301
- }
1302
- .block-editor-block-switcher__popover .components-popover__content .components-panel__body {
1303
- border: 0;
1304
- position: relative;
1305
- z-index: 1;
1306
- }
1307
- .block-editor-block-switcher__popover .components-popover__content .components-panel__body + .components-panel__body {
1308
- border-top: 1px solid #e0e0e0;
1309
- }
1310
-
1311
1261
  .block-editor-block-switcher__popover__preview__parent .block-editor-block-switcher__popover__preview__container {
1312
1262
  position: absolute;
1313
1263
  top: -12px;
1314
- left: calc(100% + 32px);
1264
+ left: calc(100% + 16px);
1315
1265
  }
1316
1266
 
1317
1267
  .block-editor-block-switcher__preview__popover {
1318
1268
  display: none;
1319
1269
  }
1320
1270
  .block-editor-block-switcher__preview__popover.components-popover {
1321
- margin-left: 4px;
1322
1271
  margin-top: 11px;
1323
1272
  }
1324
1273
  @media (min-width: 782px) {
@@ -1331,6 +1280,7 @@
1331
1280
  border: 1px solid #1e1e1e;
1332
1281
  background: #fff;
1333
1282
  border-radius: 2px;
1283
+ outline: none;
1334
1284
  }
1335
1285
  .block-editor-block-switcher__preview__popover .block-editor-block-switcher__preview {
1336
1286
  width: 300px;
@@ -1631,7 +1581,7 @@
1631
1581
  .components-border-radius-control .components-border-radius-control__wrapper > .components-unit-control-wrapper {
1632
1582
  width: 110px;
1633
1583
  margin-bottom: 0;
1634
- margin-right: 8px;
1584
+ margin-right: 12px;
1635
1585
  flex-shrink: 0;
1636
1586
  }
1637
1587
  .components-border-radius-control .components-border-radius-control__wrapper .components-range-control {
@@ -1653,7 +1603,7 @@
1653
1603
  width: 70%;
1654
1604
  flex-wrap: wrap;
1655
1605
  }
1656
- .components-border-radius-control .components-border-radius-control__input-controls-wrapper .components-unit-control-wrapper {
1606
+ .components-border-radius-control .components-border-radius-control__input-controls-wrapper .components-border-radius-control__tooltip-wrapper {
1657
1607
  width: calc(50% - 8px);
1658
1608
  margin-bottom: 8px;
1659
1609
  margin-right: 8px;
@@ -1662,6 +1612,7 @@
1662
1612
  display: flex;
1663
1613
  justify-content: center;
1664
1614
  margin-left: 2px;
1615
+ margin-top: 3px;
1665
1616
  }
1666
1617
  .components-border-radius-control .component-border-radius-control__linked-button.has-icon svg {
1667
1618
  margin-right: 0;
@@ -1736,21 +1687,10 @@
1736
1687
  width: 100%;
1737
1688
  }
1738
1689
 
1739
- .block-editor-panel-color-gradient-settings__dropdown-content .components-popover__content > div {
1690
+ .block-editor-panel-color-gradient-settings__dropdown-content .components-popover__content {
1740
1691
  width: 280px;
1741
1692
  }
1742
1693
 
1743
- @media (min-width: 782px) {
1744
- .block-editor-panel-color-gradient-settings__dropdown-content .components-popover__content {
1745
- margin-right: 156px !important;
1746
- }
1747
- .block-editor-panel-color-gradient-settings__dropdown-content.is-from-top .components-popover__content {
1748
- margin-top: -60px !important;
1749
- }
1750
- .block-editor-panel-color-gradient-settings__dropdown-content.is-from-bottom .components-popover__content {
1751
- margin-bottom: -60px !important;
1752
- }
1753
- }
1754
1694
  .block-editor-panel-color-gradient-settings__dropdown:last-child > div {
1755
1695
  border-bottom-width: 0;
1756
1696
  }
@@ -1759,10 +1699,50 @@
1759
1699
  padding-top: 12px !important;
1760
1700
  padding-bottom: 12px !important;
1761
1701
  }
1762
- .block-editor-panel-color-gradient-settings__item .block-editor-panel-color-gradient-settings__color-indicator {
1702
+ .block-editor-panel-color-gradient-settings__item.is-open {
1703
+ background: #f0f0f0;
1704
+ color: var(--wp-admin-theme-color);
1705
+ }
1706
+
1707
+ .block-editor-panel-color-gradient-settings__color-indicator {
1763
1708
  background: linear-gradient(-45deg, transparent 48%, #ddd 48%, #ddd 52%, transparent 52%);
1764
1709
  }
1765
- .block-editor-panel-color-gradient-settings__item.is-open {
1710
+
1711
+ /**
1712
+ * The following styles replicate the separated border of the
1713
+ * `ItemGroup` component but allows for hidden items. This is because
1714
+ * to maintain the order of `ToolsPanel` controls, each `ToolsPanelItem`
1715
+ * must at least render a placeholder which would otherwise interfere
1716
+ * with the `:last-child` styles.
1717
+ */
1718
+ .block-editor-tools-panel-color-gradient-settings__item {
1719
+ padding: 0;
1720
+ border-left: 1px solid rgba(0, 0, 0, 0.1);
1721
+ border-right: 1px solid rgba(0, 0, 0, 0.1);
1722
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
1723
+ }
1724
+ .block-editor-tools-panel-color-gradient-settings__item.first {
1725
+ border-top-left-radius: 2px;
1726
+ border-top-right-radius: 2px;
1727
+ border-top: 1px solid rgba(0, 0, 0, 0.1);
1728
+ }
1729
+ .block-editor-tools-panel-color-gradient-settings__item.last {
1730
+ border-bottom-left-radius: 2px;
1731
+ border-bottom-right-radius: 2px;
1732
+ }
1733
+ .block-editor-tools-panel-color-gradient-settings__item > div,
1734
+ .block-editor-tools-panel-color-gradient-settings__item > div > button {
1735
+ border-radius: inherit;
1736
+ }
1737
+
1738
+ .block-editor-tools-panel-color-gradient-settings__dropdown {
1739
+ display: block;
1740
+ padding: 0;
1741
+ }
1742
+ .block-editor-tools-panel-color-gradient-settings__dropdown > button {
1743
+ height: 46px;
1744
+ }
1745
+ .block-editor-tools-panel-color-gradient-settings__dropdown > button.is-open {
1766
1746
  background: #f0f0f0;
1767
1747
  color: var(--wp-admin-theme-color);
1768
1748
  }
@@ -1892,7 +1872,7 @@
1892
1872
  text-align: left;
1893
1873
  }
1894
1874
 
1895
- .block-editor-duotone-control__popover > .components-popover__content > div {
1875
+ .block-editor-duotone-control__popover > .components-popover__content {
1896
1876
  padding: 16px;
1897
1877
  width: 280px;
1898
1878
  }
@@ -1914,10 +1894,6 @@
1914
1894
  font-size: 12px;
1915
1895
  }
1916
1896
 
1917
- .block-editor-duotone-control__popover:not([data-y-axis=middle][data-x-axis=right]) > .components-popover__content {
1918
- margin-left: -14px;
1919
- }
1920
-
1921
1897
  .components-font-appearance-control {
1922
1898
  margin-bottom: 24px;
1923
1899
  }
@@ -2887,10 +2863,11 @@
2887
2863
  height: 1px;
2888
2864
  }
2889
2865
 
2890
- .block-editor-list-view-drop-indicator:not([data-y-axis=middle][data-x-axis=right]) > .components-popover__content {
2866
+ .block-editor-list-view-drop-indicator > .components-popover__content {
2891
2867
  margin-left: 0;
2892
2868
  border: none;
2893
2869
  box-shadow: none;
2870
+ outline: none;
2894
2871
  }
2895
2872
 
2896
2873
  .block-editor-list-view-placeholder {
@@ -3119,13 +3096,10 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before
3119
3096
  min-width: auto;
3120
3097
  margin-bottom: 8px;
3121
3098
  box-shadow: none;
3122
- border: 1px solid #1e1e1e;
3123
- border-radius: 2px;
3124
- background-color: #fff;
3099
+ outline: none;
3125
3100
  }
3126
- .components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar-group,
3127
3101
  .components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar {
3128
- border: none;
3102
+ border-radius: 2px;
3129
3103
  }
3130
3104
  .components-popover.block-editor-rich-text__inline-format-toolbar .components-toolbar__control,
3131
3105
  .components-popover.block-editor-rich-text__inline-format-toolbar .components-dropdown-menu__toggle {
@@ -3578,44 +3552,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before
3578
3552
  grid-column: span 1;
3579
3553
  }
3580
3554
 
3581
- .block-editor__border-box-control__popover .components-popover__content,
3582
- .block-editor__border-box-control__popover-top .components-popover__content,
3583
- .block-editor__border-box-control__popover-right .components-popover__content,
3584
- .block-editor__border-box-control__popover-bottom .components-popover__content,
3585
- .block-editor__border-box-control__popover-left .components-popover__content {
3586
- width: 282px;
3587
- }
3588
-
3589
- @media (min-width: 782px) {
3590
- .block-editor__border-box-control__popover .components-popover__content,
3591
- .block-editor__border-box-control__popover-left .components-popover__content {
3592
- margin-right: 52px !important;
3593
- }
3594
-
3595
- .block-editor__border-box-control__popover-top .components-popover__content,
3596
- .block-editor__border-box-control__popover-bottom .components-popover__content {
3597
- margin-right: 107px !important;
3598
- }
3599
-
3600
- .block-editor__border-box-control__popover-right .components-popover__content {
3601
- margin-right: 162px !important;
3602
- }
3603
-
3604
- .block-editor__border-box-control__popover.is-from-top .components-popover__content,
3605
- .block-editor__border-box-control__popover-top.is-from-top .components-popover__content,
3606
- .block-editor__border-box-control__popover-right.is-from-top .components-popover__content,
3607
- .block-editor__border-box-control__popover-bottom.is-from-top .components-popover__content,
3608
- .block-editor__border-box-control__popover-left.is-from-top .components-popover__content {
3609
- margin-top: -52px !important;
3610
- }
3611
- .block-editor__border-box-control__popover.is-from-bottom .components-popover__content,
3612
- .block-editor__border-box-control__popover-top.is-from-bottom .components-popover__content,
3613
- .block-editor__border-box-control__popover-right.is-from-bottom .components-popover__content,
3614
- .block-editor__border-box-control__popover-bottom.is-from-bottom .components-popover__content,
3615
- .block-editor__border-box-control__popover-left.is-from-bottom .components-popover__content {
3616
- margin-bottom: -52px !important;
3617
- }
3618
- }
3619
3555
  .dimensions-block-support-panel .single-column {
3620
3556
  grid-column: span 1;
3621
3557
  }
@@ -3632,17 +3568,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before
3632
3568
 
3633
3569
  .color-block-support-panel {
3634
3570
  /* Increased specificity required to remove the slot wrapper's row gap */
3635
- /**
3636
- * The following styles replicate the separated border of the
3637
- * `ItemGroup` component but allows for hidden items. This is because
3638
- * to maintain the order of `ToolsPanel` controls, each `ToolsPanelItem`
3639
- * must at least render a placeholder which would otherwise interfere
3640
- * with the `:last-child` styles.
3641
- */
3642
- /**
3643
- * The following few styles fix the layout and spacing for the due to the
3644
- * introduced wrapper element by the `Item` component.
3645
- */
3646
3571
  }
3647
3572
  .color-block-support-panel .block-editor-contrast-checker {
3648
3573
  /**
@@ -3660,43 +3585,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before
3660
3585
  .color-block-support-panel.color-block-support-panel .color-block-support-panel__inner-wrapper {
3661
3586
  row-gap: 0;
3662
3587
  }
3663
- .color-block-support-panel .block-editor-tools-panel-color-gradient-settings__item {
3664
- padding: 0;
3665
- border-left: 1px solid rgba(0, 0, 0, 0.1);
3666
- border-right: 1px solid rgba(0, 0, 0, 0.1);
3667
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
3668
- }
3669
- .color-block-support-panel .block-editor-tools-panel-color-gradient-settings__item.first {
3670
- border-top-left-radius: 2px;
3671
- border-top-right-radius: 2px;
3672
- border-top: 1px solid rgba(0, 0, 0, 0.1);
3673
- }
3674
- .color-block-support-panel .block-editor-tools-panel-color-gradient-settings__item.last {
3675
- border-bottom-left-radius: 2px;
3676
- border-bottom-right-radius: 2px;
3677
- }
3678
- .color-block-support-panel .block-editor-tools-panel-color-gradient-settings__item > div,
3679
- .color-block-support-panel .block-editor-tools-panel-color-gradient-settings__item > div > button {
3680
- border-radius: inherit;
3681
- }
3682
- .color-block-support-panel .block-editor-panel-color-gradient-settings__color-indicator {
3683
- background: linear-gradient(-45deg, transparent 48%, #ddd 48%, #ddd 52%, transparent 52%);
3684
- }
3685
- .color-block-support-panel .block-editor-tools-panel-color-dropdown {
3686
- display: block;
3687
- padding: 0;
3688
- }
3689
- .color-block-support-panel .block-editor-tools-panel-color-dropdown > button {
3690
- height: 46px;
3691
- }
3692
- .color-block-support-panel .block-editor-tools-panel-color-dropdown > button.is-open {
3693
- background: #f0f0f0;
3694
- color: var(--wp-admin-theme-color);
3695
- }
3696
- .color-block-support-panel .color-block-support-panel__item-group > div {
3697
- grid-column: span 2;
3698
- border-radius: inherit;
3699
- }
3700
3588
 
3701
3589
  .block-editor__padding-visualizer {
3702
3590
  position: absolute;
@@ -3880,6 +3768,7 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before
3880
3768
 
3881
3769
  .block-editor-inserter__popover.is-quick .components-popover__content {
3882
3770
  border: none;
3771
+ outline: none;
3883
3772
  }
3884
3773
  .block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter > * {
3885
3774
  border-left: 1px solid #ccc;
@@ -4152,7 +4041,7 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before
4152
4041
  border-top: 1px solid #ddd;
4153
4042
  }
4154
4043
 
4155
- .block-editor-inserter__popover.is-quick > .components-popover__content > div {
4044
+ .block-editor-inserter__popover.is-quick > .components-popover__content {
4156
4045
  padding: 0;
4157
4046
  }
4158
4047
 
@@ -4236,9 +4125,6 @@ figcaption.block-editor-rich-text__editable [data-rich-text-placeholder]::before
4236
4125
  padding-left: 8px;
4237
4126
  }
4238
4127
 
4239
- .block-editor-post-preview__dropdown-content .components-popover__content {
4240
- overflow-y: visible;
4241
- }
4242
4128
  .block-editor-post-preview__dropdown-content.edit-post-post-preview-dropdown .components-menu-group:first-child {
4243
4129
  padding-bottom: 8px;
4244
4130
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-editor",
3
- "version": "9.0.0",
3
+ "version": "9.1.0",
4
4
  "description": "Generic block editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -33,32 +33,32 @@
33
33
  "dependencies": {
34
34
  "@babel/runtime": "^7.16.0",
35
35
  "@react-spring/web": "^9.2.4",
36
- "@wordpress/a11y": "^3.8.0",
37
- "@wordpress/api-fetch": "^6.5.0",
38
- "@wordpress/blob": "^3.8.0",
39
- "@wordpress/blocks": "^11.7.0",
40
- "@wordpress/components": "^19.10.0",
41
- "@wordpress/compose": "^5.6.0",
42
- "@wordpress/data": "^6.8.0",
43
- "@wordpress/date": "^4.8.0",
44
- "@wordpress/deprecated": "^3.8.0",
45
- "@wordpress/dom": "^3.8.0",
46
- "@wordpress/element": "^4.6.0",
47
- "@wordpress/hooks": "^3.8.0",
48
- "@wordpress/html-entities": "^3.8.0",
49
- "@wordpress/i18n": "^4.8.0",
50
- "@wordpress/icons": "^8.4.0",
51
- "@wordpress/is-shallow-equal": "^4.8.0",
52
- "@wordpress/keyboard-shortcuts": "^3.6.0",
53
- "@wordpress/keycodes": "^3.8.0",
54
- "@wordpress/notices": "^3.8.0",
55
- "@wordpress/rich-text": "^5.6.0",
56
- "@wordpress/shortcode": "^3.8.0",
57
- "@wordpress/style-engine": "^0.7.0",
58
- "@wordpress/token-list": "^2.8.0",
59
- "@wordpress/url": "^3.9.0",
60
- "@wordpress/warning": "^2.8.0",
61
- "@wordpress/wordcount": "^3.8.0",
36
+ "@wordpress/a11y": "^3.9.0",
37
+ "@wordpress/api-fetch": "^6.6.0",
38
+ "@wordpress/blob": "^3.9.0",
39
+ "@wordpress/blocks": "^11.8.0",
40
+ "@wordpress/components": "^19.11.0",
41
+ "@wordpress/compose": "^5.7.0",
42
+ "@wordpress/data": "^6.9.0",
43
+ "@wordpress/date": "^4.9.0",
44
+ "@wordpress/deprecated": "^3.9.0",
45
+ "@wordpress/dom": "^3.9.0",
46
+ "@wordpress/element": "^4.7.0",
47
+ "@wordpress/hooks": "^3.9.0",
48
+ "@wordpress/html-entities": "^3.9.0",
49
+ "@wordpress/i18n": "^4.9.0",
50
+ "@wordpress/icons": "^9.0.0",
51
+ "@wordpress/is-shallow-equal": "^4.9.0",
52
+ "@wordpress/keyboard-shortcuts": "^3.7.0",
53
+ "@wordpress/keycodes": "^3.9.0",
54
+ "@wordpress/notices": "^3.9.0",
55
+ "@wordpress/rich-text": "^5.7.0",
56
+ "@wordpress/shortcode": "^3.9.0",
57
+ "@wordpress/style-engine": "^0.8.0",
58
+ "@wordpress/token-list": "^2.9.0",
59
+ "@wordpress/url": "^3.10.0",
60
+ "@wordpress/warning": "^2.9.0",
61
+ "@wordpress/wordcount": "^3.9.0",
62
62
  "classnames": "^2.3.1",
63
63
  "colord": "^2.7.0",
64
64
  "diff": "^4.0.2",
@@ -77,5 +77,5 @@
77
77
  "publishConfig": {
78
78
  "access": "public"
79
79
  },
80
- "gitHead": "4631d515033397fcfeda77e5755960253caef9bf"
80
+ "gitHead": "198fa129cf1af8dc615918987ea6795cd40ab7df"
81
81
  }
@@ -22,15 +22,11 @@ function BlockAlignmentMatrixControl( props ) {
22
22
  } = props;
23
23
 
24
24
  const icon = <AlignmentMatrixControl.Icon value={ value } />;
25
- const className = 'block-editor-block-alignment-matrix-control';
26
- const popoverClassName = `${ className }__popover`;
27
- const isAlternate = true;
28
25
 
29
26
  return (
30
27
  <Dropdown
31
28
  position="bottom right"
32
- className={ className }
33
- popoverProps={ { className: popoverClassName, isAlternate } }
29
+ popoverProps={ { isAlternate: true } }
34
30
  renderToggle={ ( { onToggle, isOpen } ) => {
35
31
  const openOnArrowDown = ( event ) => {
36
32
  if ( ! isOpen && event.keyCode === DOWN ) {
@@ -2,114 +2,27 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { useSelect } from '@wordpress/data';
5
- import { useState, useEffect } from '@wordpress/element';
6
5
 
7
6
  /**
8
7
  * Internal dependencies
9
8
  */
10
9
  import { store as blockEditorStore } from '../../store';
11
10
 
12
- /**
13
- * External dependencies
14
- */
15
- import classnames from 'classnames';
16
-
17
- export default function BlockContentOverlay( {
18
- clientId,
19
- tagName: TagName = 'div',
20
- wrapperProps,
21
- className,
22
- } ) {
23
- const baseClassName = 'block-editor-block-content-overlay';
24
- const [ isOverlayActive, setIsOverlayActive ] = useState( true );
25
- const [ isHovered, setIsHovered ] = useState( false );
26
-
27
- const {
28
- canEdit,
29
- isParentSelected,
30
- hasChildSelected,
31
- isDraggingBlocks,
32
- isParentHighlighted,
33
- } = useSelect(
11
+ export default function useBlockOverlayActive( clientId ) {
12
+ return useSelect(
34
13
  ( select ) => {
35
14
  const {
36
15
  isBlockSelected,
37
16
  hasSelectedInnerBlock,
38
- isDraggingBlocks: _isDraggingBlocks,
39
- isBlockHighlighted,
40
17
  canEditBlock,
41
18
  } = select( blockEditorStore );
42
- return {
43
- canEdit: canEditBlock( clientId ),
44
- isParentSelected: isBlockSelected( clientId ),
45
- hasChildSelected: hasSelectedInnerBlock( clientId, true ),
46
- isDraggingBlocks: _isDraggingBlocks(),
47
- isParentHighlighted: isBlockHighlighted( clientId ),
48
- };
19
+
20
+ return (
21
+ ! canEditBlock( clientId ) ||
22
+ ( ! isBlockSelected( clientId ) &&
23
+ ! hasSelectedInnerBlock( clientId, true ) )
24
+ );
49
25
  },
50
26
  [ clientId ]
51
27
  );
52
-
53
- const classes = classnames(
54
- baseClassName,
55
- wrapperProps?.className,
56
- className,
57
- {
58
- 'overlay-active': isOverlayActive,
59
- 'parent-highlighted': isParentHighlighted,
60
- 'is-dragging-blocks': isDraggingBlocks,
61
- }
62
- );
63
-
64
- useEffect( () => {
65
- // The overlay is always active when editing is locked.
66
- if ( ! canEdit ) {
67
- setIsOverlayActive( true );
68
- return;
69
- }
70
-
71
- // Reenable when blocks are not in use.
72
- if ( ! isParentSelected && ! hasChildSelected && ! isOverlayActive ) {
73
- setIsOverlayActive( true );
74
- }
75
- // Disable if parent selected by another means (such as list view).
76
- // We check hover to ensure the overlay click interaction is not taking place.
77
- // Trying to click the overlay will select the parent block via its 'focusin'
78
- // listener on the wrapper, so if the block is selected while hovered we will
79
- // let the mouseup disable the overlay instead.
80
- if ( isParentSelected && ! isHovered && isOverlayActive ) {
81
- setIsOverlayActive( false );
82
- }
83
- // Ensure overlay is disabled if a child block is selected.
84
- if ( hasChildSelected && isOverlayActive ) {
85
- setIsOverlayActive( false );
86
- }
87
- }, [
88
- isParentSelected,
89
- hasChildSelected,
90
- isOverlayActive,
91
- isHovered,
92
- canEdit,
93
- ] );
94
-
95
- // Disabled because the overlay div doesn't actually have a role or functionality
96
- // as far as the a11y is concerned. We're just catching the first click so that
97
- // the block can be selected without interacting with its contents.
98
- /* eslint-disable jsx-a11y/no-static-element-interactions */
99
- return (
100
- <TagName
101
- { ...wrapperProps }
102
- className={ classes }
103
- onMouseEnter={ () => setIsHovered( true ) }
104
- onMouseLeave={ () => setIsHovered( false ) }
105
- onMouseUp={
106
- isOverlayActive && canEdit
107
- ? () => setIsOverlayActive( false )
108
- : undefined
109
- }
110
- >
111
- { wrapperProps?.children }
112
- </TagName>
113
- );
114
28
  }
115
- /* eslint-enable jsx-a11y/no-static-element-interactions */
@@ -1,5 +1,5 @@
1
1
  .block-editor-block-content-overlay {
2
- &.overlay-active::before {
2
+ &::before {
3
3
  content: "";
4
4
  position: absolute;
5
5
  top: 0;
@@ -12,17 +12,8 @@
12
12
  z-index: z-index(".block-editor-block-content-overlay__overlay");
13
13
  }
14
14
 
15
- &:hover:not(.is-dragging-blocks).overlay-active::before,
16
- &.parent-highlighted.overlay-active::before {
15
+ &:hover:not(.is-dragging-blocks)::before {
17
16
  background: rgba(var(--wp-admin-theme-color--rgb), 0.1);
18
17
  box-shadow: 0 0 0 $border-width var(--wp-admin-theme-color) inset;
19
18
  }
20
-
21
- &.overlay-active:not(.is-dragging-blocks) * {
22
- pointer-events: none;
23
- }
24
-
25
- &.is-dragging-blocks {
26
- box-shadow: 0 0 0 $border-width var(--wp-admin-theme-color);
27
- }
28
19
  }