@wordpress/block-editor 16.0.1-next.v.202607070741.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 (679) hide show
  1. package/CHANGELOG.md +27 -1
  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-canvas/index.cjs +6 -1
  10. package/build/components/block-canvas/index.cjs.map +2 -2
  11. package/build/components/block-controls/groups.cjs +3 -1
  12. package/build/components/block-controls/groups.cjs.map +2 -2
  13. package/build/components/block-edit/edit.cjs +10 -18
  14. package/build/components/block-edit/edit.cjs.map +2 -2
  15. package/build/components/block-inspector/index.cjs +73 -46
  16. package/build/components/block-inspector/index.cjs.map +2 -2
  17. package/build/components/block-list/block-html.cjs +4 -1
  18. package/build/components/block-list/block-html.cjs.map +2 -2
  19. package/build/components/block-list/block.cjs +9 -3
  20. package/build/components/block-list/block.cjs.map +3 -3
  21. package/build/components/block-list/index.cjs +1 -3
  22. package/build/components/block-list/index.cjs.map +2 -2
  23. package/build/components/block-list/use-block-props/index.cjs +7 -2
  24. package/build/components/block-list/use-block-props/index.cjs.map +2 -2
  25. package/build/components/block-list/use-block-props/use-focus-first-element.cjs +9 -4
  26. package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
  27. package/build/components/block-list/use-block-props/use-focus-handler.cjs +11 -4
  28. package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
  29. package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs +48 -0
  30. package/build/components/block-list/use-block-props/use-register-block-event-handlers.cjs.map +7 -0
  31. package/build/components/block-parent-selector/index.cjs +2 -2
  32. package/build/components/block-parent-selector/index.cjs.map +2 -2
  33. package/build/components/block-toolbar/index.cjs +43 -24
  34. package/build/components/block-toolbar/index.cjs.map +2 -2
  35. package/build/components/block-toolbar/switch-section-style.cjs +4 -2
  36. package/build/components/block-toolbar/switch-section-style.cjs.map +3 -3
  37. package/build/components/block-tools/empty-block-inserter.cjs +2 -7
  38. package/build/components/block-tools/empty-block-inserter.cjs.map +2 -2
  39. package/build/components/block-tools/index.cjs +7 -2
  40. package/build/components/block-tools/index.cjs.map +2 -2
  41. package/build/components/block-vertical-alignment-control/ui.cjs +3 -5
  42. package/build/components/block-vertical-alignment-control/ui.cjs.map +2 -2
  43. package/build/components/block-visibility/modal.cjs +20 -6
  44. package/build/components/block-visibility/modal.cjs.map +2 -2
  45. package/build/components/block-visibility/use-block-visibility.cjs +16 -6
  46. package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
  47. package/build/components/block-visibility/utils.cjs +15 -2
  48. package/build/components/block-visibility/utils.cjs.map +3 -3
  49. package/build/components/block-visibility/viewport-menu-item.cjs +7 -1
  50. package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
  51. package/build/components/block-visibility/viewport-toolbar.cjs +5 -0
  52. package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
  53. package/build/components/block-visibility/viewport-visibility-info.cjs +5 -1
  54. package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
  55. package/build/components/border-radius-control/utils.cjs +8 -58
  56. package/build/components/border-radius-control/utils.cjs.map +2 -2
  57. package/build/components/child-layout-control/index.cjs +0 -4
  58. package/build/components/child-layout-control/index.cjs.map +2 -2
  59. package/build/components/colors-gradients/control.cjs +5 -3
  60. package/build/components/colors-gradients/control.cjs.map +2 -2
  61. package/build/components/dimension-control/index.cjs +30 -20
  62. package/build/components/dimension-control/index.cjs.map +3 -3
  63. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +9 -2
  64. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +3 -3
  65. package/build/components/editor-styles/index.cjs +9 -1
  66. package/build/components/editor-styles/index.cjs.map +2 -2
  67. package/build/components/global-styles/background-panel.cjs +66 -25
  68. package/build/components/global-styles/background-panel.cjs.map +3 -3
  69. package/build/components/global-styles/border-panel.cjs +153 -55
  70. package/build/components/global-styles/border-panel.cjs.map +3 -3
  71. package/build/components/global-styles/color-gradient-dropdown-item.cjs +46 -14
  72. package/build/components/global-styles/color-gradient-dropdown-item.cjs.map +3 -3
  73. package/build/components/global-styles/color-panel.cjs +63 -17
  74. package/build/components/global-styles/color-panel.cjs.map +2 -2
  75. package/build/components/global-styles/dimensions-panel.cjs +242 -64
  76. package/build/components/global-styles/dimensions-panel.cjs.map +3 -3
  77. package/build/components/global-styles/filters-panel.cjs +59 -20
  78. package/build/components/global-styles/filters-panel.cjs.map +3 -3
  79. package/build/components/global-styles/hooks.cjs +4 -1
  80. package/build/components/global-styles/hooks.cjs.map +2 -2
  81. package/build/components/global-styles/inheritance/index.cjs +142 -0
  82. package/build/components/global-styles/inheritance/index.cjs.map +7 -0
  83. package/build/components/global-styles/inherited-value-context.cjs +173 -0
  84. package/build/components/global-styles/inherited-value-context.cjs.map +7 -0
  85. package/build/components/global-styles/shadow-panel-components.cjs +38 -20
  86. package/build/components/global-styles/shadow-panel-components.cjs.map +2 -2
  87. package/build/components/global-styles/state-control-badges.cjs +39 -3
  88. package/build/components/global-styles/state-control-badges.cjs.map +2 -2
  89. package/build/components/global-styles/state-control.cjs +1 -1
  90. package/build/components/global-styles/state-control.cjs.map +2 -2
  91. package/build/components/global-styles/typography-panel.cjs +271 -79
  92. package/build/components/global-styles/typography-panel.cjs.map +3 -3
  93. package/build/components/image-size-control/index.cjs +2 -4
  94. package/build/components/image-size-control/index.cjs.map +2 -2
  95. package/build/components/inserter/media-tab/hooks.cjs +33 -6
  96. package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
  97. package/build/components/inserter/media-tab/media-panel.cjs +78 -16
  98. package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
  99. package/build/components/inspector-controls-tabs/styles-tab.cjs +10 -1
  100. package/build/components/inspector-controls-tabs/styles-tab.cjs.map +2 -2
  101. package/build/components/keyboard-shortcuts/index.cjs +19 -11
  102. package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
  103. package/build/components/line-height-control/index.cjs +1 -2
  104. package/build/components/line-height-control/index.cjs.map +2 -2
  105. package/build/components/link-control/index.cjs +3 -1
  106. package/build/components/link-control/index.cjs.map +2 -2
  107. package/build/components/list-view/block.cjs +13 -4
  108. package/build/components/list-view/block.cjs.map +2 -2
  109. package/build/components/media-placeholder/index.cjs +0 -1
  110. package/build/components/media-placeholder/index.cjs.map +2 -2
  111. package/build/components/preset-input-control/index.cjs +2 -1
  112. package/build/components/preset-input-control/index.cjs.map +2 -2
  113. package/build/components/provider/block-refs-provider.cjs +8 -2
  114. package/build/components/provider/block-refs-provider.cjs.map +2 -2
  115. package/build/components/provider/index.cjs +1 -1
  116. package/build/components/provider/index.cjs.map +2 -2
  117. package/build/components/provider/use-block-sync.cjs +18 -6
  118. package/build/components/provider/use-block-sync.cjs.map +2 -2
  119. package/build/components/provider/use-media-upload-settings.cjs +3 -1
  120. package/build/components/provider/use-media-upload-settings.cjs.map +2 -2
  121. package/build/components/rich-text/event-listeners/before-input-rules.cjs +3 -4
  122. package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
  123. package/build/components/rich-text/event-listeners/delete.cjs +2 -3
  124. package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
  125. package/build/components/rich-text/event-listeners/enter.cjs +3 -2
  126. package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
  127. package/build/components/rich-text/event-listeners/input-events.cjs +3 -3
  128. package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
  129. package/build/components/rich-text/event-listeners/input-rules.cjs +3 -4
  130. package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
  131. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +3 -3
  132. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
  133. package/build/components/rich-text/event-listeners/paste-handler.cjs +2 -1
  134. package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
  135. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +3 -3
  136. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
  137. package/build/components/rich-text/event-listeners/shortcuts.cjs +3 -3
  138. package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
  139. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +3 -3
  140. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
  141. package/build/components/rich-text/index.cjs +76 -17
  142. package/build/components/rich-text/index.cjs.map +2 -2
  143. package/build/components/spacing-sizes-control/utils.cjs +6 -19
  144. package/build/components/spacing-sizes-control/utils.cjs.map +2 -2
  145. package/build/components/text-indent-control/index.cjs +8 -2
  146. package/build/components/text-indent-control/index.cjs.map +2 -2
  147. package/build/components/typewriter/index.cjs +129 -136
  148. package/build/components/typewriter/index.cjs.map +3 -3
  149. package/build/components/url-input/index.cjs +303 -344
  150. package/build/components/url-input/index.cjs.map +3 -3
  151. package/build/components/use-block-commands/index.cjs +21 -17
  152. package/build/components/use-block-commands/index.cjs.map +2 -2
  153. package/build/components/use-on-block-drop/index.cjs +1 -1
  154. package/build/components/use-on-block-drop/index.cjs.map +2 -2
  155. package/build/components/writing-flow/index.cjs +14 -1
  156. package/build/components/writing-flow/index.cjs.map +3 -3
  157. package/build/components/writing-flow/use-arrow-nav.cjs +42 -6
  158. package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
  159. package/build/components/writing-flow/use-click-selection.cjs +29 -3
  160. package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
  161. package/build/components/writing-flow/use-clipboard-handler.cjs +4 -1
  162. package/build/components/writing-flow/use-clipboard-handler.cjs.map +2 -2
  163. package/build/components/writing-flow/use-drag-selection.cjs +3 -8
  164. package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
  165. package/build/components/writing-flow/use-editable-root-event-handlers.cjs +179 -0
  166. package/build/components/writing-flow/use-editable-root-event-handlers.cjs.map +7 -0
  167. package/build/components/writing-flow/use-editable-root.cjs +75 -0
  168. package/build/components/writing-flow/use-editable-root.cjs.map +7 -0
  169. package/build/components/writing-flow/use-home-end.cjs +64 -0
  170. package/build/components/writing-flow/use-home-end.cjs.map +7 -0
  171. package/build/components/writing-flow/use-input.cjs +15 -5
  172. package/build/components/writing-flow/use-input.cjs.map +2 -2
  173. package/build/components/writing-flow/use-multi-selection.cjs +2 -2
  174. package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
  175. package/build/components/writing-flow/use-select-all.cjs +14 -2
  176. package/build/components/writing-flow/use-select-all.cjs.map +2 -2
  177. package/build/components/writing-flow/use-selection-observer.cjs +132 -22
  178. package/build/components/writing-flow/use-selection-observer.cjs.map +3 -3
  179. package/build/components/writing-flow/utils.cjs +28 -2
  180. package/build/components/writing-flow/utils.cjs.map +2 -2
  181. package/build/hooks/background.cjs +14 -10
  182. package/build/hooks/background.cjs.map +2 -2
  183. package/build/hooks/block-fields/rich-text/index.cjs +2 -3
  184. package/build/hooks/block-fields/rich-text/index.cjs.map +3 -3
  185. package/build/hooks/block-style-variation.cjs +4 -45
  186. package/build/hooks/block-style-variation.cjs.map +3 -3
  187. package/build/hooks/border.cjs +19 -4
  188. package/build/hooks/border.cjs.map +2 -2
  189. package/build/hooks/custom-css.cjs +6 -2
  190. package/build/hooks/custom-css.cjs.map +2 -2
  191. package/build/hooks/dimensions.cjs +15 -4
  192. package/build/hooks/dimensions.cjs.map +2 -2
  193. package/build/hooks/duotone.cjs +26 -14
  194. package/build/hooks/duotone.cjs.map +3 -3
  195. package/build/hooks/elements.cjs +15 -5
  196. package/build/hooks/elements.cjs.map +2 -2
  197. package/build/hooks/grid-visualizer.cjs +5 -3
  198. package/build/hooks/grid-visualizer.cjs.map +2 -2
  199. package/build/hooks/layout-child.cjs +22 -12
  200. package/build/hooks/layout-child.cjs.map +3 -3
  201. package/build/hooks/layout.cjs +28 -13
  202. package/build/hooks/layout.cjs.map +3 -3
  203. package/build/hooks/line-height.cjs +1 -2
  204. package/build/hooks/line-height.cjs.map +2 -2
  205. package/build/hooks/states.cjs +27 -7
  206. package/build/hooks/states.cjs.map +3 -3
  207. package/build/hooks/style.cjs +31 -9
  208. package/build/hooks/style.cjs.map +3 -3
  209. package/build/hooks/text-align.cjs +36 -6
  210. package/build/hooks/text-align.cjs.map +3 -3
  211. package/build/hooks/typography.cjs +14 -5
  212. package/build/hooks/typography.cjs.map +2 -2
  213. package/build/layouts/constrained.cjs +14 -6
  214. package/build/layouts/constrained.cjs.map +2 -2
  215. package/build/layouts/flex.cjs +27 -19
  216. package/build/layouts/flex.cjs.map +2 -2
  217. package/build/layouts/grid.cjs +0 -2
  218. package/build/layouts/grid.cjs.map +2 -2
  219. package/build/private-apis.cjs +9 -5
  220. package/build/private-apis.cjs.map +3 -3
  221. package/build/store/actions.cjs +11 -6
  222. package/build/store/actions.cjs.map +2 -2
  223. package/build/store/private-selectors.cjs +41 -3
  224. package/build/store/private-selectors.cjs.map +3 -3
  225. package/build/store/reducer.cjs +6 -6
  226. package/build/store/reducer.cjs.map +2 -2
  227. package/build/store/selectors.cjs +23 -0
  228. package/build/store/selectors.cjs.map +2 -2
  229. package/build/utils/block-bindings.cjs +29 -0
  230. package/build/utils/block-bindings.cjs.map +2 -2
  231. package/build/utils/dom.cjs +14 -0
  232. package/build/utils/dom.cjs.map +2 -2
  233. package/build/{components/rich-text/input-event.cjs → utils/native-undo.cjs} +29 -24
  234. package/build/utils/native-undo.cjs.map +7 -0
  235. package/build-module/components/alignment-control/ui.mjs +2 -4
  236. package/build-module/components/alignment-control/ui.mjs.map +2 -2
  237. package/build-module/components/background-image-control/index.mjs +43 -10
  238. package/build-module/components/background-image-control/index.mjs.map +2 -2
  239. package/build-module/components/block-alignment-control/ui.mjs +5 -3
  240. package/build-module/components/block-alignment-control/ui.mjs.map +2 -2
  241. package/build-module/components/block-canvas/index.mjs +7 -2
  242. package/build-module/components/block-canvas/index.mjs.map +2 -2
  243. package/build-module/components/block-controls/groups.mjs +3 -1
  244. package/build-module/components/block-controls/groups.mjs.map +2 -2
  245. package/build-module/components/block-edit/edit.mjs +11 -18
  246. package/build-module/components/block-edit/edit.mjs.map +2 -2
  247. package/build-module/components/block-inspector/index.mjs +74 -46
  248. package/build-module/components/block-inspector/index.mjs.map +2 -2
  249. package/build-module/components/block-list/block-html.mjs +4 -1
  250. package/build-module/components/block-list/block-html.mjs.map +2 -2
  251. package/build-module/components/block-list/block.mjs +9 -3
  252. package/build-module/components/block-list/block.mjs.map +3 -3
  253. package/build-module/components/block-list/index.mjs +1 -3
  254. package/build-module/components/block-list/index.mjs.map +2 -2
  255. package/build-module/components/block-list/use-block-props/index.mjs +7 -2
  256. package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
  257. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +9 -4
  258. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
  259. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs +11 -4
  260. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
  261. package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs +28 -0
  262. package/build-module/components/block-list/use-block-props/use-register-block-event-handlers.mjs.map +7 -0
  263. package/build-module/components/block-parent-selector/index.mjs +2 -2
  264. package/build-module/components/block-parent-selector/index.mjs.map +2 -2
  265. package/build-module/components/block-toolbar/index.mjs +43 -24
  266. package/build-module/components/block-toolbar/index.mjs.map +2 -2
  267. package/build-module/components/block-toolbar/switch-section-style.mjs +4 -2
  268. package/build-module/components/block-toolbar/switch-section-style.mjs.map +2 -2
  269. package/build-module/components/block-tools/empty-block-inserter.mjs +2 -7
  270. package/build-module/components/block-tools/empty-block-inserter.mjs.map +2 -2
  271. package/build-module/components/block-tools/index.mjs +7 -2
  272. package/build-module/components/block-tools/index.mjs.map +2 -2
  273. package/build-module/components/block-vertical-alignment-control/ui.mjs +4 -6
  274. package/build-module/components/block-vertical-alignment-control/ui.mjs.map +2 -2
  275. package/build-module/components/block-visibility/modal.mjs +22 -10
  276. package/build-module/components/block-visibility/modal.mjs.map +2 -2
  277. package/build-module/components/block-visibility/use-block-visibility.mjs +17 -7
  278. package/build-module/components/block-visibility/use-block-visibility.mjs.map +2 -2
  279. package/build-module/components/block-visibility/utils.mjs +18 -3
  280. package/build-module/components/block-visibility/utils.mjs.map +2 -2
  281. package/build-module/components/block-visibility/viewport-menu-item.mjs +7 -1
  282. package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
  283. package/build-module/components/block-visibility/viewport-toolbar.mjs +5 -0
  284. package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
  285. package/build-module/components/block-visibility/viewport-visibility-info.mjs +5 -1
  286. package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
  287. package/build-module/components/border-radius-control/utils.mjs +11 -53
  288. package/build-module/components/border-radius-control/utils.mjs.map +2 -2
  289. package/build-module/components/child-layout-control/index.mjs +0 -4
  290. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  291. package/build-module/components/colors-gradients/control.mjs +5 -3
  292. package/build-module/components/colors-gradients/control.mjs.map +2 -2
  293. package/build-module/components/dimension-control/index.mjs +30 -20
  294. package/build-module/components/dimension-control/index.mjs.map +2 -2
  295. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +10 -6
  296. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
  297. package/build-module/components/editor-styles/index.mjs +9 -1
  298. package/build-module/components/editor-styles/index.mjs.map +2 -2
  299. package/build-module/components/global-styles/background-panel.mjs +71 -29
  300. package/build-module/components/global-styles/background-panel.mjs.map +2 -2
  301. package/build-module/components/global-styles/border-panel.mjs +157 -56
  302. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  303. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs +51 -15
  304. package/build-module/components/global-styles/color-gradient-dropdown-item.mjs.map +2 -2
  305. package/build-module/components/global-styles/color-panel.mjs +63 -17
  306. package/build-module/components/global-styles/color-panel.mjs.map +2 -2
  307. package/build-module/components/global-styles/dimensions-panel.mjs +248 -66
  308. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  309. package/build-module/components/global-styles/filters-panel.mjs +64 -21
  310. package/build-module/components/global-styles/filters-panel.mjs.map +2 -2
  311. package/build-module/components/global-styles/hooks.mjs +4 -1
  312. package/build-module/components/global-styles/hooks.mjs.map +2 -2
  313. package/build-module/components/global-styles/inheritance/index.mjs +108 -0
  314. package/build-module/components/global-styles/inheritance/index.mjs.map +7 -0
  315. package/build-module/components/global-styles/inherited-value-context.mjs +141 -0
  316. package/build-module/components/global-styles/inherited-value-context.mjs.map +7 -0
  317. package/build-module/components/global-styles/shadow-panel-components.mjs +38 -20
  318. package/build-module/components/global-styles/shadow-panel-components.mjs.map +2 -2
  319. package/build-module/components/global-styles/state-control-badges.mjs +41 -5
  320. package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
  321. package/build-module/components/global-styles/state-control.mjs +1 -1
  322. package/build-module/components/global-styles/state-control.mjs.map +2 -2
  323. package/build-module/components/global-styles/typography-panel.mjs +276 -80
  324. package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
  325. package/build-module/components/image-size-control/index.mjs +2 -4
  326. package/build-module/components/image-size-control/index.mjs.map +2 -2
  327. package/build-module/components/inserter/media-tab/hooks.mjs +33 -6
  328. package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
  329. package/build-module/components/inserter/media-tab/media-panel.mjs +86 -18
  330. package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
  331. package/build-module/components/inspector-controls-tabs/styles-tab.mjs +6 -1
  332. package/build-module/components/inspector-controls-tabs/styles-tab.mjs.map +2 -2
  333. package/build-module/components/keyboard-shortcuts/index.mjs +19 -11
  334. package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
  335. package/build-module/components/line-height-control/index.mjs +1 -2
  336. package/build-module/components/line-height-control/index.mjs.map +2 -2
  337. package/build-module/components/link-control/index.mjs +4 -2
  338. package/build-module/components/link-control/index.mjs.map +2 -2
  339. package/build-module/components/list-view/block.mjs +13 -4
  340. package/build-module/components/list-view/block.mjs.map +2 -2
  341. package/build-module/components/media-placeholder/index.mjs +0 -1
  342. package/build-module/components/media-placeholder/index.mjs.map +2 -2
  343. package/build-module/components/preset-input-control/index.mjs +2 -1
  344. package/build-module/components/preset-input-control/index.mjs.map +2 -2
  345. package/build-module/components/provider/block-refs-provider.mjs +8 -2
  346. package/build-module/components/provider/block-refs-provider.mjs.map +2 -2
  347. package/build-module/components/provider/index.mjs +1 -1
  348. package/build-module/components/provider/index.mjs.map +2 -2
  349. package/build-module/components/provider/use-block-sync.mjs +18 -6
  350. package/build-module/components/provider/use-block-sync.mjs.map +2 -2
  351. package/build-module/components/provider/use-media-upload-settings.mjs +3 -1
  352. package/build-module/components/provider/use-media-upload-settings.mjs.map +2 -2
  353. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs +8 -5
  354. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
  355. package/build-module/components/rich-text/event-listeners/delete.mjs +7 -4
  356. package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
  357. package/build-module/components/rich-text/event-listeners/enter.mjs +8 -3
  358. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  359. package/build-module/components/rich-text/event-listeners/input-events.mjs +3 -3
  360. package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
  361. package/build-module/components/rich-text/event-listeners/input-rules.mjs +8 -5
  362. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  363. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +3 -3
  364. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
  365. package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -2
  366. package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
  367. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +3 -3
  368. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
  369. package/build-module/components/rich-text/event-listeners/shortcuts.mjs +3 -3
  370. package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
  371. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +3 -3
  372. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
  373. package/build-module/components/rich-text/index.mjs +79 -14
  374. package/build-module/components/rich-text/index.mjs.map +2 -2
  375. package/build-module/components/spacing-sizes-control/utils.mjs +6 -18
  376. package/build-module/components/spacing-sizes-control/utils.mjs.map +2 -2
  377. package/build-module/components/text-indent-control/index.mjs +8 -2
  378. package/build-module/components/text-indent-control/index.mjs.map +2 -2
  379. package/build-module/components/typewriter/index.mjs +129 -136
  380. package/build-module/components/typewriter/index.mjs.map +2 -2
  381. package/build-module/components/url-input/index.mjs +306 -353
  382. package/build-module/components/url-input/index.mjs.map +2 -2
  383. package/build-module/components/use-block-commands/index.mjs +21 -17
  384. package/build-module/components/use-block-commands/index.mjs.map +2 -2
  385. package/build-module/components/use-on-block-drop/index.mjs +2 -2
  386. package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
  387. package/build-module/components/writing-flow/index.mjs +14 -1
  388. package/build-module/components/writing-flow/index.mjs.map +2 -2
  389. package/build-module/components/writing-flow/use-arrow-nav.mjs +43 -7
  390. package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
  391. package/build-module/components/writing-flow/use-click-selection.mjs +29 -3
  392. package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
  393. package/build-module/components/writing-flow/use-clipboard-handler.mjs +5 -2
  394. package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
  395. package/build-module/components/writing-flow/use-drag-selection.mjs +1 -6
  396. package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
  397. package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs +154 -0
  398. package/build-module/components/writing-flow/use-editable-root-event-handlers.mjs.map +7 -0
  399. package/build-module/components/writing-flow/use-editable-root.mjs +54 -0
  400. package/build-module/components/writing-flow/use-editable-root.mjs.map +7 -0
  401. package/build-module/components/writing-flow/use-home-end.mjs +43 -0
  402. package/build-module/components/writing-flow/use-home-end.mjs.map +7 -0
  403. package/build-module/components/writing-flow/use-input.mjs +15 -5
  404. package/build-module/components/writing-flow/use-input.mjs.map +2 -2
  405. package/build-module/components/writing-flow/use-multi-selection.mjs +2 -2
  406. package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
  407. package/build-module/components/writing-flow/use-select-all.mjs +19 -3
  408. package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
  409. package/build-module/components/writing-flow/use-selection-observer.mjs +134 -21
  410. package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
  411. package/build-module/components/writing-flow/utils.mjs +26 -1
  412. package/build-module/components/writing-flow/utils.mjs.map +2 -2
  413. package/build-module/hooks/background.mjs +14 -10
  414. package/build-module/hooks/background.mjs.map +2 -2
  415. package/build-module/hooks/block-fields/rich-text/index.mjs +2 -6
  416. package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
  417. package/build-module/hooks/block-style-variation.mjs +8 -44
  418. package/build-module/hooks/block-style-variation.mjs.map +2 -2
  419. package/build-module/hooks/border.mjs +19 -4
  420. package/build-module/hooks/border.mjs.map +2 -2
  421. package/build-module/hooks/custom-css.mjs +7 -3
  422. package/build-module/hooks/custom-css.mjs.map +2 -2
  423. package/build-module/hooks/dimensions.mjs +15 -4
  424. package/build-module/hooks/dimensions.mjs.map +2 -2
  425. package/build-module/hooks/duotone.mjs +20 -9
  426. package/build-module/hooks/duotone.mjs.map +2 -2
  427. package/build-module/hooks/elements.mjs +15 -5
  428. package/build-module/hooks/elements.mjs.map +2 -2
  429. package/build-module/hooks/grid-visualizer.mjs +5 -3
  430. package/build-module/hooks/grid-visualizer.mjs.map +2 -2
  431. package/build-module/hooks/layout-child.mjs +22 -12
  432. package/build-module/hooks/layout-child.mjs.map +2 -2
  433. package/build-module/hooks/layout.mjs +28 -13
  434. package/build-module/hooks/layout.mjs.map +2 -2
  435. package/build-module/hooks/line-height.mjs +1 -2
  436. package/build-module/hooks/line-height.mjs.map +2 -2
  437. package/build-module/hooks/states.mjs +27 -7
  438. package/build-module/hooks/states.mjs.map +2 -2
  439. package/build-module/hooks/style.mjs +40 -11
  440. package/build-module/hooks/style.mjs.map +2 -2
  441. package/build-module/hooks/text-align.mjs +39 -10
  442. package/build-module/hooks/text-align.mjs.map +2 -2
  443. package/build-module/hooks/typography.mjs +14 -5
  444. package/build-module/hooks/typography.mjs.map +2 -2
  445. package/build-module/layouts/constrained.mjs +14 -6
  446. package/build-module/layouts/constrained.mjs.map +2 -2
  447. package/build-module/layouts/flex.mjs +27 -19
  448. package/build-module/layouts/flex.mjs.map +2 -2
  449. package/build-module/layouts/grid.mjs +0 -2
  450. package/build-module/layouts/grid.mjs.map +2 -2
  451. package/build-module/private-apis.mjs +7 -3
  452. package/build-module/private-apis.mjs.map +2 -2
  453. package/build-module/store/actions.mjs +12 -7
  454. package/build-module/store/actions.mjs.map +2 -2
  455. package/build-module/store/private-selectors.mjs +42 -3
  456. package/build-module/store/private-selectors.mjs.map +2 -2
  457. package/build-module/store/reducer.mjs +6 -6
  458. package/build-module/store/reducer.mjs.map +2 -2
  459. package/build-module/store/selectors.mjs +23 -0
  460. package/build-module/store/selectors.mjs.map +2 -2
  461. package/build-module/utils/block-bindings.mjs +28 -0
  462. package/build-module/utils/block-bindings.mjs.map +2 -2
  463. package/build-module/utils/dom.mjs +13 -0
  464. package/build-module/utils/dom.mjs.map +2 -2
  465. package/build-module/utils/native-undo.mjs +29 -0
  466. package/build-module/utils/native-undo.mjs.map +7 -0
  467. package/build-style/content-rtl.css +14 -27
  468. package/build-style/content.css +14 -27
  469. package/build-style/default-editor-styles-rtl.css +1 -1
  470. package/build-style/default-editor-styles.css +1 -1
  471. package/build-style/style-rtl.css +191 -61
  472. package/build-style/style.css +191 -61
  473. package/build-types/components/block-context/index.d.ts +7 -0
  474. package/build-types/components/block-context/index.d.ts.map +1 -1
  475. package/build-types/utils/block-bindings.d.ts +19 -0
  476. package/build-types/utils/block-bindings.d.ts.map +1 -1
  477. package/build-types/utils/dom.d.ts +11 -0
  478. package/build-types/utils/dom.d.ts.map +1 -1
  479. package/build-types/utils/get-px-from-css-unit.d.ts +2 -2
  480. package/build-types/utils/get-px-from-css-unit.d.ts.map +1 -1
  481. package/build-types/utils/pasting.d.ts +1 -1
  482. package/build-types/utils/pasting.d.ts.map +1 -1
  483. package/package.json +43 -44
  484. package/src/components/alignment-control/test/__snapshots__/index.js.snap +1 -1
  485. package/src/components/alignment-control/ui.js +2 -4
  486. package/src/components/background-image-control/index.js +74 -37
  487. package/src/components/background-image-control/style.scss +13 -4
  488. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +3 -3
  489. package/src/components/block-alignment-control/test/index.js +1 -1
  490. package/src/components/block-alignment-control/ui.js +4 -2
  491. package/src/components/block-breadcrumb/test/__snapshots__/index.js.snap +1 -1
  492. package/src/components/block-canvas/index.js +9 -2
  493. package/src/components/block-card/style.scss +1 -1
  494. package/src/components/block-compare/test/__snapshots__/block-view.js.snap +1 -1
  495. package/src/components/block-controls/groups.js +2 -0
  496. package/src/components/block-edit/edit.js +13 -31
  497. package/src/components/block-icon/test/__snapshots__/index.js.snap +1 -1
  498. package/src/components/block-inspector/index.js +60 -31
  499. package/src/components/block-list/block-html.js +5 -0
  500. package/src/components/block-list/block.js +6 -0
  501. package/src/components/block-list/content.scss +1 -11
  502. package/src/components/block-list/index.js +0 -2
  503. package/src/components/block-list/use-block-props/index.js +7 -1
  504. package/src/components/block-list/use-block-props/use-focus-first-element.js +23 -4
  505. package/src/components/block-list/use-block-props/use-focus-handler.js +35 -9
  506. package/src/components/block-list/use-block-props/use-register-block-event-handlers.js +45 -0
  507. package/src/components/block-lock/style.scss +1 -1
  508. package/src/components/block-manager/style.scss +1 -1
  509. package/src/components/block-navigation/style.scss +1 -1
  510. package/src/components/block-parent-selector/index.js +5 -2
  511. package/src/components/block-quick-navigation/style.scss +1 -3
  512. package/src/components/block-styles/style.scss +2 -2
  513. package/src/components/block-toolbar/index.js +41 -18
  514. package/src/components/block-toolbar/switch-section-style.js +5 -2
  515. package/src/components/block-tools/empty-block-inserter.js +3 -7
  516. package/src/components/block-tools/index.js +7 -0
  517. package/src/components/block-types-list/style.scss +0 -1
  518. package/src/components/block-vertical-alignment-control/test/__snapshots__/index.js.snap +3 -3
  519. package/src/components/block-vertical-alignment-control/test/index.js +18 -2
  520. package/src/components/block-vertical-alignment-control/ui.js +3 -5
  521. package/src/components/block-visibility/modal.js +24 -10
  522. package/src/components/block-visibility/style.scss +1 -1
  523. package/src/components/block-visibility/test/use-block-visibility.js +128 -35
  524. package/src/components/block-visibility/test/utils.js +11 -0
  525. package/src/components/block-visibility/use-block-visibility.js +33 -11
  526. package/src/components/block-visibility/utils.js +31 -6
  527. package/src/components/block-visibility/viewport-menu-item.js +10 -1
  528. package/src/components/block-visibility/viewport-toolbar.js +6 -0
  529. package/src/components/block-visibility/viewport-visibility-info.js +5 -1
  530. package/src/components/border-radius-control/test/utils.js +0 -41
  531. package/src/components/border-radius-control/utils.js +16 -107
  532. package/src/components/button-block-appender/content.scss +7 -9
  533. package/src/components/child-layout-control/index.js +0 -4
  534. package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -3
  535. package/src/components/colors-gradients/control.js +6 -3
  536. package/src/components/default-block-appender/test/__snapshots__/index.js.snap +1 -1
  537. package/src/components/dimension-control/index.js +13 -1
  538. package/src/components/dimensions-tool/aspect-ratio-tool.js +13 -6
  539. package/src/components/editor-styles/index.js +16 -1
  540. package/src/components/font-family/stories/index.story.jsx +1 -1
  541. package/src/components/global-styles/background-panel.js +107 -34
  542. package/src/components/global-styles/border-panel.js +219 -48
  543. package/src/components/global-styles/color-gradient-dropdown-item.js +93 -28
  544. package/src/components/global-styles/color-panel.js +92 -11
  545. package/src/components/global-styles/dimensions-panel.js +422 -71
  546. package/src/components/global-styles/filters-panel.js +88 -28
  547. package/src/components/global-styles/hooks.js +8 -1
  548. package/src/components/global-styles/inheritance/index.js +204 -0
  549. package/src/components/global-styles/inheritance/style.scss +184 -0
  550. package/src/components/global-styles/inheritance/test/index.js +281 -0
  551. package/src/components/global-styles/inherited-value-context.js +271 -0
  552. package/src/components/global-styles/shadow-panel-components.js +48 -26
  553. package/src/components/global-styles/state-control-badges.js +45 -6
  554. package/src/components/global-styles/state-control.js +2 -2
  555. package/src/components/global-styles/style.scss +5 -0
  556. package/src/components/global-styles/test/background-panel.js +338 -1
  557. package/src/components/global-styles/test/border-panel.js +441 -0
  558. package/src/components/global-styles/test/color-panel.js +182 -2
  559. package/src/components/global-styles/test/dimensions-panel.js +753 -0
  560. package/src/components/global-styles/test/filters-panel.js +194 -0
  561. package/src/components/global-styles/test/inherited-value-context-core.js +98 -0
  562. package/src/components/global-styles/test/inherited-value-context.js +454 -0
  563. package/src/components/global-styles/test/state-control-badges.js +65 -0
  564. package/src/components/global-styles/test/typography-panel-core.js +185 -0
  565. package/src/components/global-styles/test/typography-panel.js +849 -12
  566. package/src/components/global-styles/typography-panel.js +449 -101
  567. package/src/components/image-editor/style.scss +33 -0
  568. package/src/components/image-size-control/index.js +0 -2
  569. package/src/components/inner-blocks/test/__snapshots__/index.js.snap +1 -1
  570. package/src/components/inserter/media-tab/hooks.js +55 -7
  571. package/src/components/inserter/media-tab/media-panel.js +117 -21
  572. package/src/components/inserter/media-tab/test/hooks.js +63 -0
  573. package/src/components/inserter/media-tab/test/media-panel.js +127 -0
  574. package/src/components/inserter/style.scss +19 -16
  575. package/src/components/inserter-list-item/style.scss +0 -15
  576. package/src/components/inspector-controls-tabs/styles-tab.js +5 -1
  577. package/src/components/keyboard-shortcuts/index.js +28 -11
  578. package/src/components/line-height-control/index.js +1 -2
  579. package/src/components/link-control/index.js +7 -2
  580. package/src/components/link-control/style.scss +2 -2
  581. package/src/components/link-control/test/index.js +6 -6
  582. package/src/components/link-picker/style.scss +1 -2
  583. package/src/components/list-view/block.js +13 -4
  584. package/src/components/list-view/style.scss +4 -5
  585. package/src/components/media-placeholder/index.js +0 -1
  586. package/src/components/multi-selection-inspector/style.scss +1 -1
  587. package/src/components/preset-input-control/index.js +4 -1
  588. package/src/components/provider/block-refs-provider.js +12 -2
  589. package/src/components/provider/index.js +2 -2
  590. package/src/components/provider/use-block-sync.js +18 -6
  591. package/src/components/provider/use-media-upload-settings.js +2 -0
  592. package/src/components/responsive-block-control/style.scss +1 -1
  593. package/src/components/rich-text/event-listeners/before-input-rules.js +8 -5
  594. package/src/components/rich-text/event-listeners/delete.js +7 -4
  595. package/src/components/rich-text/event-listeners/enter.js +10 -4
  596. package/src/components/rich-text/event-listeners/input-events.js +4 -3
  597. package/src/components/rich-text/event-listeners/input-rules.js +8 -5
  598. package/src/components/rich-text/event-listeners/insert-replacement-text.js +4 -3
  599. package/src/components/rich-text/event-listeners/paste-handler.js +15 -3
  600. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +4 -3
  601. package/src/components/rich-text/event-listeners/shortcuts.js +4 -3
  602. package/src/components/rich-text/event-listeners/undo-automatic-change.js +4 -3
  603. package/src/components/rich-text/index.js +116 -26
  604. package/src/components/skip-to-selected-block/style.scss +1 -1
  605. package/src/components/spacing-sizes-control/test/utils.js +16 -5
  606. package/src/components/spacing-sizes-control/utils.js +11 -28
  607. package/src/components/text-indent-control/index.js +8 -0
  608. package/src/components/typewriter/index.js +228 -224
  609. package/src/components/url-input/index.js +363 -431
  610. package/src/components/url-input/test/index.js +592 -0
  611. package/src/components/use-block-commands/index.js +27 -17
  612. package/src/components/use-on-block-drop/index.js +2 -2
  613. package/src/components/warning/test/__snapshots__/index.js.snap +1 -1
  614. package/src/components/writing-flow/index.js +17 -1
  615. package/src/components/writing-flow/use-arrow-nav.js +90 -13
  616. package/src/components/writing-flow/use-click-selection.js +55 -5
  617. package/src/components/writing-flow/use-clipboard-handler.js +5 -2
  618. package/src/components/writing-flow/use-drag-selection.js +1 -14
  619. package/src/components/writing-flow/use-editable-root-event-handlers.js +266 -0
  620. package/src/components/writing-flow/use-editable-root.js +112 -0
  621. package/src/components/writing-flow/use-home-end.js +71 -0
  622. package/src/components/writing-flow/use-input.js +25 -8
  623. package/src/components/writing-flow/use-multi-selection.js +2 -3
  624. package/src/components/writing-flow/use-select-all.js +33 -3
  625. package/src/components/writing-flow/use-selection-observer.js +218 -42
  626. package/src/components/writing-flow/utils.js +62 -0
  627. package/src/hooks/background.js +27 -24
  628. package/src/hooks/block-fields/link/styles.scss +1 -6
  629. package/src/hooks/block-fields/media/styles.scss +1 -6
  630. package/src/hooks/block-fields/rich-text/index.js +6 -9
  631. package/src/hooks/block-fields/rich-text/styles.scss +1 -1
  632. package/src/hooks/block-style-variation.js +8 -74
  633. package/src/hooks/border.js +19 -4
  634. package/src/hooks/custom-css.js +15 -6
  635. package/src/hooks/dimensions.js +17 -4
  636. package/src/hooks/duotone.js +26 -8
  637. package/src/hooks/elements.js +14 -4
  638. package/src/hooks/grid-visualizer.js +40 -36
  639. package/src/hooks/layout-child.js +19 -9
  640. package/src/hooks/layout.js +48 -31
  641. package/src/hooks/line-height.js +0 -1
  642. package/src/hooks/states.js +38 -9
  643. package/src/hooks/style.js +67 -17
  644. package/src/hooks/test/inherited-value-wiring.js +411 -0
  645. package/src/hooks/test/preset-round-trip.js +456 -0
  646. package/src/hooks/test/style.js +29 -0
  647. package/src/hooks/test/text-align.js +34 -1
  648. package/src/hooks/text-align.js +41 -10
  649. package/src/hooks/typography.js +35 -24
  650. package/src/layouts/constrained.js +5 -1
  651. package/src/layouts/flex.js +5 -1
  652. package/src/layouts/grid.js +0 -2
  653. package/src/private-apis.js +11 -2
  654. package/src/store/actions.js +53 -19
  655. package/src/store/private-selectors.js +82 -6
  656. package/src/store/reducer.js +9 -9
  657. package/src/store/selectors.js +56 -8
  658. package/src/store/test/actions.js +1 -1
  659. package/src/store/test/private-selectors.js +271 -1
  660. package/src/style.scss +2 -0
  661. package/src/utils/block-bindings.ts +50 -0
  662. package/src/utils/dom.ts +33 -0
  663. package/src/utils/native-undo.js +56 -0
  664. package/src/utils/test/block-bindings.js +181 -0
  665. package/build/components/duotone/utils.cjs +0 -87
  666. package/build/components/duotone/utils.cjs.map +0 -7
  667. package/build/components/rich-text/input-event.cjs.map +0 -7
  668. package/build/components/rich-text/shortcut.cjs +0 -51
  669. package/build/components/rich-text/shortcut.cjs.map +0 -7
  670. package/build-module/components/duotone/utils.mjs +0 -59
  671. package/build-module/components/duotone/utils.mjs.map +0 -7
  672. package/build-module/components/rich-text/input-event.mjs +0 -25
  673. package/build-module/components/rich-text/input-event.mjs.map +0 -7
  674. package/build-module/components/rich-text/shortcut.mjs +0 -26
  675. package/build-module/components/rich-text/shortcut.mjs.map +0 -7
  676. package/src/components/duotone/utils.js +0 -90
  677. package/src/components/rich-text/input-event.js +0 -31
  678. package/src/components/rich-text/shortcut.js +0 -32
  679. package/src/hooks/test/get-variation-styles-with-ref-values.js +0 -91
@@ -1,12 +1,32 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
+ import { privateApis as globalStylesEnginePrivateApis } from '@wordpress/global-styles-engine';
4
5
  import { __, sprintf } from '@wordpress/i18n';
5
6
 
6
7
  /**
7
8
  * Internal dependencies
8
9
  */
9
- import { BLOCK_VISIBILITY_VIEWPORT_ENTRIES } from './constants';
10
+ import {
11
+ BLOCK_VISIBILITY_VIEWPORT_ENTRIES,
12
+ BLOCK_VISIBILITY_VIEWPORTS,
13
+ } from './constants';
14
+ import { unlock } from '../../lock-unlock';
15
+
16
+ const { getViewportBreakpoints } = unlock( globalStylesEnginePrivateApis );
17
+
18
+ export function getBlockVisibilityViewportEntries( viewportSettings ) {
19
+ const breakpoints = getViewportBreakpoints( viewportSettings );
20
+
21
+ // Desktop has no breakpoint, so only filter mobile/tablet by configured viewport support.
22
+ return BLOCK_VISIBILITY_VIEWPORT_ENTRIES.filter(
23
+ ( [ viewport ] ) =>
24
+ ( viewport !== BLOCK_VISIBILITY_VIEWPORTS.tablet.key ||
25
+ breakpoints.tablet !== undefined ) &&
26
+ ( viewport !== BLOCK_VISIBILITY_VIEWPORTS.mobile.key ||
27
+ breakpoints.mobile !== undefined )
28
+ );
29
+ }
10
30
 
11
31
  /**
12
32
  * Checks if a block is hidden for a specific viewport.
@@ -110,10 +130,11 @@ export function getHideEverywhereCheckboxState( blocks ) {
110
130
  /**
111
131
  * Get a human-readable label describing which viewports a block is hidden on.
112
132
  *
113
- * @param {boolean|Object} blockVisibility The block's visibility metadata.
133
+ * @param {boolean|Object} blockVisibility The block's visibility metadata.
134
+ * @param {Object} viewportSettings Viewport breakpoint settings.
114
135
  * @return {string|null} A descriptive label, or null if the block is not hidden.
115
136
  */
116
- export function getBlockVisibilityLabel( blockVisibility ) {
137
+ export function getBlockVisibilityLabel( blockVisibility, viewportSettings ) {
117
138
  // Not hidden at all
118
139
  if ( ! blockVisibility && blockVisibility !== false ) {
119
140
  return null;
@@ -126,9 +147,13 @@ export function getBlockVisibilityLabel( blockVisibility ) {
126
147
 
127
148
  if ( blockVisibility?.viewport ) {
128
149
  // Hidden on specific viewports - list them
129
- const hiddenViewports = BLOCK_VISIBILITY_VIEWPORT_ENTRIES.filter(
130
- ( [ key ] ) => blockVisibility.viewport?.[ key ] === false
131
- ).map( ( [ , viewport ] ) => viewport.label );
150
+ const hiddenViewports = getBlockVisibilityViewportEntries(
151
+ viewportSettings
152
+ )
153
+ .filter(
154
+ ( [ key ] ) => blockVisibility.viewport?.[ key ] === false
155
+ )
156
+ .map( ( [ , viewport ] ) => viewport.label );
132
157
 
133
158
  if ( hiddenViewports.length > 0 ) {
134
159
  return sprintf(
@@ -11,8 +11,10 @@ import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
11
11
  */
12
12
  import { store as blockEditorStore } from '../../store';
13
13
  import { unlock } from '../../lock-unlock';
14
+ import { useSettings } from '../use-settings';
14
15
 
15
16
  export default function BlockVisibilityViewportMenuItem( { clientIds } ) {
17
+ const [ blockVisibility ] = useSettings( 'blockVisibility.allowEditing' );
16
18
  const { areBlocksHiddenAnywhere, shortcut } = useSelect(
17
19
  ( select ) => {
18
20
  const { isBlockHiddenAnywhere } = unlock(
@@ -31,7 +33,14 @@ export default function BlockVisibilityViewportMenuItem( { clientIds } ) {
31
33
  },
32
34
  [ clientIds ]
33
35
  );
34
- const { showViewportModal } = unlock( useDispatch( blockEditorStore ) );
36
+ const dispatch = useDispatch( blockEditorStore );
37
+
38
+ if ( blockVisibility === false ) {
39
+ return null;
40
+ }
41
+
42
+ const { showViewportModal } = unlock( dispatch );
43
+
35
44
  return (
36
45
  <MenuItem
37
46
  onClick={ () => showViewportModal( clientIds ) }
@@ -13,9 +13,11 @@ import { useSelect, useDispatch } from '@wordpress/data';
13
13
  */
14
14
  import { store as blockEditorStore } from '../../store';
15
15
  import { unlock } from '../../lock-unlock';
16
+ import { useSettings } from '../use-settings';
16
17
 
17
18
  export default function BlockVisibilityViewportToolbar( { clientIds } ) {
18
19
  const hasBlockVisibilityButtonShownRef = useRef( false );
20
+ const [ blockVisibility ] = useSettings( 'blockVisibility.allowEditing' );
19
21
  const { canToggleBlockVisibility, areBlocksHiddenAnywhere } = useSelect(
20
22
  ( select ) => {
21
23
  const { getBlocksByClientId, getBlockName, isBlockHiddenAnywhere } =
@@ -52,6 +54,10 @@ export default function BlockVisibilityViewportToolbar( { clientIds } ) {
52
54
  }
53
55
  }, [ areBlocksHiddenAnywhere ] );
54
56
 
57
+ if ( blockVisibility === false ) {
58
+ return null;
59
+ }
60
+
55
61
  if (
56
62
  ! areBlocksHiddenAnywhere &&
57
63
  ! hasBlockVisibilityButtonShownRef.current
@@ -32,6 +32,7 @@ export default function ViewportVisibilityInfo( { clientId } ) {
32
32
  const {
33
33
  currentBlockVisibility,
34
34
  selectedDeviceType,
35
+ viewportSettings,
35
36
  hasParentHiddenEverywhere,
36
37
  } = useSelect(
37
38
  ( select ) => {
@@ -43,13 +44,15 @@ export default function ViewportVisibilityInfo( { clientId } ) {
43
44
  isBlockParentHiddenEverywhere,
44
45
  getSettings,
45
46
  } = unlock( select( blockEditorStore ) );
47
+ const settings = getSettings();
46
48
 
47
49
  return {
48
50
  currentBlockVisibility:
49
51
  getBlockAttributes( clientId )?.metadata?.blockVisibility,
50
52
  selectedDeviceType:
51
- getSettings()?.[ deviceTypeKey ]?.toLowerCase() ||
53
+ settings?.[ deviceTypeKey ]?.toLowerCase() ||
52
54
  BLOCK_VISIBILITY_VIEWPORTS.desktop.key,
55
+ viewportSettings: settings?.__experimentalFeatures?.viewport,
53
56
  hasParentHiddenEverywhere:
54
57
  isBlockParentHiddenEverywhere( clientId ),
55
58
  };
@@ -66,6 +69,7 @@ export default function ViewportVisibilityInfo( { clientId } ) {
66
69
  const { isBlockCurrentlyHidden, currentViewport } = useBlockVisibility( {
67
70
  blockVisibility: currentBlockVisibility,
68
71
  deviceType: selectedDeviceType,
72
+ viewportSettings,
69
73
  view: canvasView,
70
74
  } );
71
75
 
@@ -7,7 +7,6 @@ import {
7
7
  hasMixedValues,
8
8
  hasDefinedValues,
9
9
  mode,
10
- getPresetValueFromCustomValue,
11
10
  getPresetValueFromControlValue,
12
11
  } from '../utils';
13
12
 
@@ -273,46 +272,6 @@ describe( 'mode', () => {
273
272
  } );
274
273
  } );
275
274
 
276
- describe( 'getPresetValueFromCustomValue', () => {
277
- const presets = [
278
- { name: 'None', slug: '0', size: 0 },
279
- { name: 'Small', slug: 'sm', size: '4px' },
280
- { name: 'Medium', slug: 'md', size: 'clamp(2px, 1vw, 8px)' },
281
- ];
282
-
283
- it( 'should return "0" if value is "0"', () => {
284
- expect( getPresetValueFromCustomValue( '0', presets ) ).toBe( '0' );
285
- } );
286
-
287
- it( 'should return preset reference if value matches a preset', () => {
288
- expect( getPresetValueFromCustomValue( '4px', presets ) ).toBe(
289
- 'var:preset|border-radius|sm'
290
- );
291
- expect(
292
- getPresetValueFromCustomValue( 'clamp(2px, 1vw, 8px)', presets )
293
- ).toBe( 'var:preset|border-radius|md' );
294
- } );
295
-
296
- it( 'should return value as-is if no matching preset', () => {
297
- expect( getPresetValueFromCustomValue( '7px', presets ) ).toBe( '7px' );
298
- } );
299
-
300
- it( 'should return value as-is if already a preset reference', () => {
301
- expect(
302
- getPresetValueFromCustomValue(
303
- 'var:preset|border-radius|md',
304
- presets
305
- )
306
- ).toBe( 'var:preset|border-radius|md' );
307
- } );
308
-
309
- it( 'should return undefined if value is undefined', () => {
310
- expect(
311
- getPresetValueFromCustomValue( undefined, presets )
312
- ).toBeUndefined();
313
- } );
314
- } );
315
-
316
275
  describe( 'getPresetValueFromControlValue', () => {
317
276
  const presets = [
318
277
  { name: 'None', slug: '0', size: 0 },
@@ -3,6 +3,16 @@
3
3
  */
4
4
  import { __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue } from '@wordpress/components';
5
5
 
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import {
10
+ getCustomValueFromPreset,
11
+ isValuePreset,
12
+ } from '../preset-input-control/utils';
13
+
14
+ const BORDER_RADIUS_PRESET_TYPE = 'border-radius';
15
+
6
16
  /**
7
17
  * Gets the (non-undefined) item with the highest occurrence within an array
8
18
  * Based in part on: https://stackoverflow.com/a/20762713
@@ -138,84 +148,6 @@ export function hasDefinedValues( values ) {
138
148
  return !! filteredValues.length;
139
149
  }
140
150
 
141
- /**
142
- * Checks is given value is a radius preset.
143
- *
144
- * @param {string} value Value to check
145
- *
146
- * @return {boolean} Return true if value is string in format var:preset|border-radius|.
147
- */
148
- export function isValuePreset( value ) {
149
- if ( ! value?.includes ) {
150
- return false;
151
- }
152
- return value === '0' || value.includes( 'var:preset|border-radius|' );
153
- }
154
-
155
- /**
156
- * Returns the slug section of the given preset string.
157
- *
158
- * @param {string} value Value to extract slug from.
159
- *
160
- * @return {string|undefined} The value slug from given preset.
161
- */
162
- export function getPresetSlug( value ) {
163
- if ( ! value ) {
164
- return;
165
- }
166
-
167
- if ( value === '0' || value === 'default' ) {
168
- return value;
169
- }
170
-
171
- const slug = value.match( /var:preset\|border-radius\|(.+)/ );
172
-
173
- return slug ? slug[ 1 ] : undefined;
174
- }
175
-
176
- /**
177
- * Converts radius preset value into a Range component value .
178
- *
179
- * @param {string} presetValue Value to convert to Range value.
180
- * @param {Array} presets Array of current radius preset value objects.
181
- *
182
- * @return {number} The int value for use in Range control.
183
- */
184
- export function getSliderValueFromPreset( presetValue, presets ) {
185
- if ( presetValue === undefined ) {
186
- return 0;
187
- }
188
- const slug =
189
- parseFloat( presetValue, 10 ) === 0
190
- ? '0'
191
- : getPresetSlug( presetValue );
192
- const sliderValue = presets.findIndex( ( size ) => {
193
- return String( size.slug ) === slug;
194
- } );
195
-
196
- // Returning NaN rather than undefined as undefined makes range control thumb sit in center
197
- return sliderValue !== -1 ? sliderValue : NaN;
198
- }
199
-
200
- /**
201
- * Converts a preset into a custom value.
202
- *
203
- * @param {string} value Value to convert
204
- * @param {Array} presets Array of the current radius preset objects
205
- *
206
- * @return {string} Mapping of the radius preset to its equivalent custom value.
207
- */
208
- export function getCustomValueFromPreset( value, presets ) {
209
- if ( ! isValuePreset( value ) ) {
210
- return value;
211
- }
212
-
213
- const slug = parseFloat( value, 10 ) === 0 ? '0' : getPresetSlug( value );
214
- const radiusSize = presets.find( ( size ) => String( size.slug ) === slug );
215
-
216
- return radiusSize?.size;
217
- }
218
-
219
151
  /**
220
152
  * Converts a control value into a preset value.
221
153
  *
@@ -242,33 +174,6 @@ export function getPresetValueFromControlValue(
242
174
  return `var:preset|border-radius|${ presets[ controlValue ]?.slug }`;
243
175
  }
244
176
 
245
- /**
246
- * Converts a custom value to preset value if one can be found.
247
- *
248
- * Returns value as-is if no match is found.
249
- *
250
- * @param {string} value Value to convert
251
- * @param {Array} presets Array of the current border radius preset objects
252
- *
253
- * @return {string} The preset value if it can be found.
254
- */
255
- export function getPresetValueFromCustomValue( value, presets ) {
256
- // Return value as-is if it is undefined or is already a preset, or '0';
257
- if ( ! value || isValuePreset( value ) || value === '0' ) {
258
- return value;
259
- }
260
-
261
- const spacingMatch = presets.find(
262
- ( size ) => String( size.size ) === String( value )
263
- );
264
-
265
- if ( spacingMatch?.slug ) {
266
- return `var:preset|border-radius|${ spacingMatch.slug }`;
267
- }
268
-
269
- return value;
270
- }
271
-
272
177
  /**
273
178
  * Converts all preset values in a values object to their custom equivalents.
274
179
  *
@@ -285,8 +190,12 @@ export function convertPresetsToCustomValues( values, presets ) {
285
190
  const converted = {};
286
191
  Object.keys( values ).forEach( ( key ) => {
287
192
  const value = values[ key ];
288
- if ( isValuePreset( value ) ) {
289
- const customValue = getCustomValueFromPreset( value, presets );
193
+ if ( isValuePreset( value, BORDER_RADIUS_PRESET_TYPE ) ) {
194
+ const customValue = getCustomValueFromPreset(
195
+ value,
196
+ presets,
197
+ BORDER_RADIUS_PRESET_TYPE
198
+ );
290
199
  converted[ key ] = customValue !== undefined ? customValue : value;
291
200
  } else {
292
201
  converted[ key ] = value;
@@ -9,20 +9,14 @@
9
9
  width: 100%;
10
10
  height: auto;
11
11
  color: $gray-900;
12
- box-shadow: inset 0 0 0 $border-width $gray-900;
12
+ border-color: currentColor;
13
13
 
14
14
  .is-dark-theme & {
15
15
  color: $light-gray-placeholder;
16
- box-shadow: inset 0 0 0 $border-width $light-gray-placeholder;
17
16
  }
18
17
 
19
18
  &:hover {
20
19
  color: var(--wp-admin-theme-color);
21
- box-shadow: inset 0 0 0 $border-width var(--wp-admin-theme-color);
22
- }
23
-
24
- &:focus {
25
- box-shadow: inset 0 0 0 2px var(--wp-admin-theme-color);
26
20
  }
27
21
 
28
22
  &:active {
@@ -31,8 +25,12 @@
31
25
  }
32
26
 
33
27
 
34
- // When the appender shows up in empty container blocks, such as Group and Columns, add an extra click state.
35
- .block-list-appender:only-child {
28
+ // When a button appender shows up in empty container blocks, such as Group
29
+ // and Columns, add an extra click state: the first click selects the
30
+ // container instead of opening the inserter. Default block appenders don't
31
+ // need this because their first click inserts a paragraph and sets the
32
+ // selection.
33
+ .block-list-appender:only-child:has(.block-editor-button-block-appender) {
36
34
  // One level of nesting
37
35
  .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > &,
38
36
  .is-layout-flow.block-editor-block-list__block:not(.is-selected) > &,
@@ -306,7 +306,6 @@ function GridControls( {
306
306
  >
307
307
  <FlexItem style={ { width: '50%' } }>
308
308
  <InputControl
309
- size="__unstable-large"
310
309
  label={ __( 'Column span' ) }
311
310
  type="number"
312
311
  onChange={ ( value ) => {
@@ -331,7 +330,6 @@ function GridControls( {
331
330
  </FlexItem>
332
331
  <FlexItem style={ { width: '50%' } }>
333
332
  <InputControl
334
- size="__unstable-large"
335
333
  label={ __( 'Row span' ) }
336
334
  type="number"
337
335
  onChange={ ( value ) => {
@@ -369,7 +367,6 @@ function GridControls( {
369
367
  >
370
368
  <FlexItem style={ { width: '50%' } }>
371
369
  <InputControl
372
- size="__unstable-large"
373
370
  label={ __( 'Column' ) }
374
371
  type="number"
375
372
  onChange={ ( value ) => {
@@ -404,7 +401,6 @@ function GridControls( {
404
401
  </FlexItem>
405
402
  <FlexItem style={ { width: '50%' } }>
406
403
  <InputControl
407
- size="__unstable-large"
408
404
  label={ __( 'Row' ) }
409
405
  type="number"
410
406
  onChange={ ( value ) => {
@@ -1,8 +1,8 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`ColorPaletteControl matches the snapshot 1`] = `
4
4
  .emotion-0 {
5
- font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;
5
+ font-family: -apple-system,system-ui,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;
6
6
  font-size: 13px;
7
7
  box-sizing: border-box;
8
8
  }
@@ -19,7 +19,7 @@ exports[`ColorPaletteControl matches the snapshot 1`] = `
19
19
 
20
20
  .emotion-4 {
21
21
  font-size: 11px;
22
- font-weight: 499;
22
+ font-weight: 600;
23
23
  line-height: 1.4;
24
24
  text-transform: uppercase;
25
25
  display: block;
@@ -45,6 +45,7 @@ function ColorGradientControlInner( {
45
45
  colorValue,
46
46
  colorSlug,
47
47
  gradientValue,
48
+ gradientSlug,
48
49
  clearable,
49
50
  showTitle = true,
50
51
  enableAlpha,
@@ -102,13 +103,15 @@ function ColorGradientControlInner( {
102
103
  [ TAB_IDS.gradient ]: (
103
104
  <GradientPicker
104
105
  value={ gradientValue }
106
+ selectedSlug={ gradientSlug }
105
107
  onChange={
106
108
  canChooseAColor
107
- ? ( newGradient ) => {
108
- onGradientChange( newGradient );
109
+ ? ( newGradient, _index, newSlug ) => {
110
+ onGradientChange( newGradient, newSlug );
109
111
  onColorChange();
110
112
  }
111
- : onGradientChange
113
+ : ( newGradient, _index, newSlug ) =>
114
+ onGradientChange( newGradient, newSlug )
112
115
  }
113
116
  { ...{ gradients, disableCustomGradients } }
114
117
  __experimentalIsRenderedInSidebar={
@@ -1,4 +1,4 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
1
+ // Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
2
2
 
3
3
  exports[`DefaultBlockAppender should append a default block when input focused 1`] = `
4
4
  <div>
@@ -1,3 +1,8 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import clsx from 'clsx';
5
+
1
6
  /**
2
7
  * WordPress dependencies
3
8
  */
@@ -58,6 +63,8 @@ function useDimensionSizes( presets ) {
58
63
  * @param {?string} props.label A label for the control.
59
64
  * @param {( value: string ) => void } props.onChange Called when the dimension value changes.
60
65
  * @param {string} props.value The current dimension value.
66
+ * @param {?string} props.placeholder Placeholder text for the custom-value input.
67
+ * @param {?string} props.className Additional CSS class on the wrapping fieldset.
61
68
  * @param {?Object} props.dimensionSizes Optional dimension size presets. Falls back to settings from the store.
62
69
  *
63
70
  * @return {Component} The component to be rendered.
@@ -66,6 +73,8 @@ export default function DimensionControl( {
66
73
  label = __( 'Dimension' ),
67
74
  onChange,
68
75
  value,
76
+ placeholder,
77
+ className,
69
78
  dimensionSizes: dimensionSizesProp,
70
79
  } ) {
71
80
  const [ dimensionSizesFromSettings, availableUnits ] = useSettings(
@@ -146,7 +155,9 @@ export default function DimensionControl( {
146
155
  };
147
156
 
148
157
  return (
149
- <fieldset className="block-editor-dimension-control">
158
+ <fieldset
159
+ className={ clsx( 'block-editor-dimension-control', className ) }
160
+ >
150
161
  <BaseControl.VisualLabel as="legend">
151
162
  { label }
152
163
  </BaseControl.VisualLabel>
@@ -157,6 +168,7 @@ export default function DimensionControl( {
157
168
  minimumCustomValue={ 0 }
158
169
  onChange={ onChange }
159
170
  onUnitChange={ handleUnitChange }
171
+ placeholder={ placeholder }
160
172
  presets={ options }
161
173
  presetType="dimension"
162
174
  selectedUnit={ selectedUnit }
@@ -1,15 +1,13 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import {
5
- SelectControl,
6
- __experimentalToolsPanelItem as ToolsPanelItem,
7
- } from '@wordpress/components';
4
+ import { SelectControl } from '@wordpress/components';
8
5
  import { __, _x } from '@wordpress/i18n';
9
6
  /**
10
7
  * Internal dependencies
11
8
  */
12
9
  import { useSettings } from '../use-settings';
10
+ import { InheritanceToolsPanelItem } from '../global-styles/inheritance';
13
11
 
14
12
  /**
15
13
  * @typedef {import('@wordpress/components/build-types/select-control/types').SelectControlProps} SelectControlProps
@@ -29,6 +27,9 @@ import { useSettings } from '../use-settings';
29
27
  * @property {SelectControlProps[]} [options] Aspect ratio options.
30
28
  * @property {string} [defaultValue] Default aspect ratio value.
31
29
  * @property {boolean} [isShownByDefault] Whether the tool is shown by default.
30
+ * @property {string} [className] Additional CSS class on the wrapping panel item.
31
+ * @property {boolean} [isInherited] Whether the control is displaying an inherited Global Styles value.
32
+ * @property {boolean} [hasLocalOverride] Whether a local value is overriding an inherited Global Styles value.
32
33
  */
33
34
 
34
35
  export default function AspectRatioTool( {
@@ -39,6 +40,9 @@ export default function AspectRatioTool( {
39
40
  defaultValue = 'auto',
40
41
  hasValue,
41
42
  isShownByDefault = true,
43
+ className,
44
+ isInherited,
45
+ hasLocalOverride,
42
46
  } ) {
43
47
  // Match the CSS default so if the value is used directly in CSS it will look correct in the control.
44
48
  const displayValue = value ?? 'auto';
@@ -78,7 +82,10 @@ export default function AspectRatioTool( {
78
82
  ];
79
83
 
80
84
  return (
81
- <ToolsPanelItem
85
+ <InheritanceToolsPanelItem
86
+ className={ className }
87
+ isInherited={ isInherited }
88
+ hasLocalOverride={ hasLocalOverride }
82
89
  hasValue={
83
90
  hasValue ? hasValue : () => displayValue !== defaultValue
84
91
  }
@@ -93,6 +100,6 @@ export default function AspectRatioTool( {
93
100
  options={ options ?? aspectRatioOptions }
94
101
  onChange={ onChange }
95
102
  />
96
- </ToolsPanelItem>
103
+ </InheritanceToolsPanelItem>
97
104
  );
98
105
  }
@@ -75,7 +75,22 @@ function EditorStyles( { styles, scope, transformOptions } ) {
75
75
  const [ transformedStyles, transformedSvgs ] = useMemo( () => {
76
76
  const _styles = Object.values( styles ?? [] );
77
77
 
78
- for ( const [ id, override ] of overrides ) {
78
+ /*
79
+ * Custom CSS overrides are applied after all other overrides so they
80
+ * win the cascade at equal specificity, mirroring the front end where
81
+ * the custom CSS stylesheet is printed last. Both partitions keep the
82
+ * block order established by getStyleOverrides.
83
+ */
84
+ const orderedOverrides = [
85
+ ...overrides.filter(
86
+ ( [ , override ] ) => override?.__unstableType !== 'custom-css'
87
+ ),
88
+ ...overrides.filter(
89
+ ( [ , override ] ) => override?.__unstableType === 'custom-css'
90
+ ),
91
+ ];
92
+
93
+ for ( const [ id, override ] of orderedOverrides ) {
79
94
  const index = _styles.findIndex( ( { id: _id } ) => id === _id );
80
95
  const overrideWithId = { ...override, id };
81
96
  if ( index === -1 ) {
@@ -44,7 +44,7 @@ export const Default = {
44
44
  },
45
45
  {
46
46
  fontFamily:
47
- '-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif',
47
+ '-apple-system,system-ui,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif',
48
48
  name: 'System Font',
49
49
  slug: 'system-font',
50
50
  },