@wordpress/block-editor 11.5.0 → 11.7.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 (345) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +4 -0
  3. package/build/components/block-list/block-html.js +1 -3
  4. package/build/components/block-list/block-html.js.map +1 -1
  5. package/build/components/block-list/block-invalid-warning.js +63 -80
  6. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  7. package/build/components/block-preview/auto.js +6 -23
  8. package/build/components/block-preview/auto.js.map +1 -1
  9. package/build/components/block-settings-menu-controls/index.js +1 -1
  10. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  11. package/build/components/block-switcher/block-transformations-menu.native.js +1 -0
  12. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  13. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
  14. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  15. package/build/components/editor-styles/index.js +20 -2
  16. package/build/components/editor-styles/index.js.map +1 -1
  17. package/build/components/global-styles/border-panel.js +306 -0
  18. package/build/components/global-styles/border-panel.js.map +1 -0
  19. package/build/components/global-styles/color-panel.js +583 -0
  20. package/build/components/global-styles/color-panel.js.map +1 -0
  21. package/build/components/global-styles/dimensions-panel.js +8 -30
  22. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  23. package/build/components/global-styles/get-block-css-selector.js +129 -0
  24. package/build/components/global-styles/get-block-css-selector.js.map +1 -0
  25. package/build/components/global-styles/hooks.js +109 -3
  26. package/build/components/global-styles/hooks.js.map +1 -1
  27. package/build/components/global-styles/index.js +36 -0
  28. package/build/components/global-styles/index.js.map +1 -1
  29. package/build/components/global-styles/typography-panel.js +66 -45
  30. package/build/components/global-styles/typography-panel.js.map +1 -1
  31. package/build/components/global-styles/use-global-styles-output.js +180 -99
  32. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  33. package/build/components/global-styles/utils.js +2 -1
  34. package/build/components/global-styles/utils.js.map +1 -1
  35. package/build/components/image-size-control/index.js +8 -5
  36. package/build/components/image-size-control/index.js.map +1 -1
  37. package/build/components/inserter/index.js +29 -17
  38. package/build/components/inserter/index.js.map +1 -1
  39. package/build/components/inserter/menu.js +1 -1
  40. package/build/components/inserter/menu.js.map +1 -1
  41. package/build/components/inserter/quick-inserter.js +4 -2
  42. package/build/components/inserter/quick-inserter.js.map +1 -1
  43. package/build/components/inserter/search-results.js +10 -3
  44. package/build/components/inserter/search-results.js.map +1 -1
  45. package/build/components/inserter/tabs.js +1 -1
  46. package/build/components/inserter/tabs.js.map +1 -1
  47. package/build/components/inspector-controls-tabs/position-controls-panel.js +43 -7
  48. package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  49. package/build/components/line-height-control/index.js +15 -1
  50. package/build/components/line-height-control/index.js.map +1 -1
  51. package/build/components/link-control/index.js +1 -1
  52. package/build/components/link-control/index.js.map +1 -1
  53. package/build/components/link-control/search-item.js +5 -2
  54. package/build/components/link-control/search-item.js.map +1 -1
  55. package/build/components/list-view/appender.js +105 -0
  56. package/build/components/list-view/appender.js.map +1 -0
  57. package/build/components/list-view/block.js +5 -5
  58. package/build/components/list-view/block.js.map +1 -1
  59. package/build/components/list-view/branch.js +25 -5
  60. package/build/components/list-view/branch.js.map +1 -1
  61. package/build/components/list-view/index.js +37 -13
  62. package/build/components/list-view/index.js.map +1 -1
  63. package/build/components/list-view/use-block-selection.js +1 -2
  64. package/build/components/list-view/use-block-selection.js.map +1 -1
  65. package/build/components/media-replace-flow/index.js +13 -4
  66. package/build/components/media-replace-flow/index.js.map +1 -1
  67. package/build/components/off-canvas-editor/appender.js +28 -3
  68. package/build/components/off-canvas-editor/appender.js.map +1 -1
  69. package/build/components/off-canvas-editor/branch.js +5 -3
  70. package/build/components/off-canvas-editor/branch.js.map +1 -1
  71. package/build/components/off-canvas-editor/index.js +9 -7
  72. package/build/components/off-canvas-editor/index.js.map +1 -1
  73. package/build/components/off-canvas-editor/link-ui.js +0 -1
  74. package/build/components/off-canvas-editor/link-ui.js.map +1 -1
  75. package/build/components/provider/use-block-sync.js +17 -3
  76. package/build/components/provider/use-block-sync.js.map +1 -1
  77. package/build/components/rich-text/format-edit.js +2 -30
  78. package/build/components/rich-text/format-edit.js.map +1 -1
  79. package/build/components/rich-text/format-toolbar-container.js +0 -3
  80. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  81. package/build/components/writing-flow/use-input.js +4 -8
  82. package/build/components/writing-flow/use-input.js.map +1 -1
  83. package/build/hooks/border.js +90 -240
  84. package/build/hooks/border.js.map +1 -1
  85. package/build/hooks/color.js +92 -229
  86. package/build/hooks/color.js.map +1 -1
  87. package/build/hooks/content-lock-ui.js +4 -2
  88. package/build/hooks/content-lock-ui.js.map +1 -1
  89. package/build/hooks/{color-panel.js → contrast-checker.js} +11 -49
  90. package/build/hooks/contrast-checker.js.map +1 -0
  91. package/build/hooks/custom-class-name.js +4 -4
  92. package/build/hooks/custom-class-name.js.map +1 -1
  93. package/build/hooks/custom-class-name.native.js +3 -4
  94. package/build/hooks/custom-class-name.native.js.map +1 -1
  95. package/build/hooks/dimensions.js +0 -1
  96. package/build/hooks/dimensions.js.map +1 -1
  97. package/build/hooks/duotone.js +3 -1
  98. package/build/hooks/duotone.js.map +1 -1
  99. package/build/hooks/layout.js +19 -22
  100. package/build/hooks/layout.js.map +1 -1
  101. package/build/hooks/position.js +2 -2
  102. package/build/hooks/position.js.map +1 -1
  103. package/build/hooks/style.js +23 -26
  104. package/build/hooks/style.js.map +1 -1
  105. package/build/hooks/supports.js +7 -1
  106. package/build/hooks/supports.js.map +1 -1
  107. package/build/hooks/typography.js +2 -2
  108. package/build/hooks/typography.js.map +1 -1
  109. package/build/hooks/utils.js +50 -75
  110. package/build/hooks/utils.js.map +1 -1
  111. package/build/layouts/constrained.js +6 -2
  112. package/build/layouts/constrained.js.map +1 -1
  113. package/build/layouts/grid.js +165 -0
  114. package/build/layouts/grid.js.map +1 -0
  115. package/build/layouts/index.js +3 -1
  116. package/build/layouts/index.js.map +1 -1
  117. package/build/private-apis.js +7 -1
  118. package/build/private-apis.js.map +1 -1
  119. package/build/store/actions.js +10 -8
  120. package/build/store/actions.js.map +1 -1
  121. package/build/store/selectors.js +19 -3
  122. package/build/store/selectors.js.map +1 -1
  123. package/build/utils/object.js +76 -0
  124. package/build/utils/object.js.map +1 -0
  125. package/build/utils/parse-css-unit-to-px.js +15 -9
  126. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  127. package/build-module/components/block-list/block-html.js +1 -3
  128. package/build-module/components/block-list/block-html.js.map +1 -1
  129. package/build-module/components/block-list/block-invalid-warning.js +66 -78
  130. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  131. package/build-module/components/block-preview/auto.js +6 -22
  132. package/build-module/components/block-preview/auto.js.map +1 -1
  133. package/build-module/components/block-settings-menu-controls/index.js +1 -1
  134. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  135. package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -0
  136. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  137. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
  138. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  139. package/build-module/components/editor-styles/index.js +19 -2
  140. package/build-module/components/editor-styles/index.js.map +1 -1
  141. package/build-module/components/global-styles/border-panel.js +291 -0
  142. package/build-module/components/global-styles/border-panel.js.map +1 -0
  143. package/build-module/components/global-styles/color-panel.js +554 -0
  144. package/build-module/components/global-styles/color-panel.js.map +1 -0
  145. package/build-module/components/global-styles/dimensions-panel.js +7 -30
  146. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  147. package/build-module/components/global-styles/get-block-css-selector.js +120 -0
  148. package/build-module/components/global-styles/get-block-css-selector.js.map +1 -0
  149. package/build-module/components/global-styles/hooks.js +104 -3
  150. package/build-module/components/global-styles/hooks.js.map +1 -1
  151. package/build-module/components/global-styles/index.js +3 -0
  152. package/build-module/components/global-styles/index.js.map +1 -1
  153. package/build-module/components/global-styles/typography-panel.js +65 -46
  154. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  155. package/build-module/components/global-styles/use-global-styles-output.js +181 -100
  156. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  157. package/build-module/components/global-styles/utils.js +2 -1
  158. package/build-module/components/global-styles/utils.js.map +1 -1
  159. package/build-module/components/image-size-control/index.js +8 -5
  160. package/build-module/components/image-size-control/index.js.map +1 -1
  161. package/build-module/components/inserter/index.js +28 -16
  162. package/build-module/components/inserter/index.js.map +1 -1
  163. package/build-module/components/inserter/menu.js +1 -1
  164. package/build-module/components/inserter/menu.js.map +1 -1
  165. package/build-module/components/inserter/quick-inserter.js +4 -2
  166. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  167. package/build-module/components/inserter/search-results.js +10 -3
  168. package/build-module/components/inserter/search-results.js.map +1 -1
  169. package/build-module/components/inserter/tabs.js +1 -1
  170. package/build-module/components/inserter/tabs.js.map +1 -1
  171. package/build-module/components/inspector-controls-tabs/position-controls-panel.js +42 -7
  172. package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
  173. package/build-module/components/line-height-control/index.js +15 -1
  174. package/build-module/components/line-height-control/index.js.map +1 -1
  175. package/build-module/components/link-control/index.js +1 -1
  176. package/build-module/components/link-control/index.js.map +1 -1
  177. package/build-module/components/link-control/search-item.js +4 -2
  178. package/build-module/components/link-control/search-item.js.map +1 -1
  179. package/build-module/components/list-view/appender.js +88 -0
  180. package/build-module/components/list-view/appender.js.map +1 -0
  181. package/build-module/components/list-view/block.js +5 -4
  182. package/build-module/components/list-view/block.js.map +1 -1
  183. package/build-module/components/list-view/branch.js +22 -5
  184. package/build-module/components/list-view/branch.js.map +1 -1
  185. package/build-module/components/list-view/index.js +32 -12
  186. package/build-module/components/list-view/index.js.map +1 -1
  187. package/build-module/components/list-view/use-block-selection.js +1 -2
  188. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  189. package/build-module/components/media-replace-flow/index.js +12 -4
  190. package/build-module/components/media-replace-flow/index.js.map +1 -1
  191. package/build-module/components/off-canvas-editor/appender.js +28 -4
  192. package/build-module/components/off-canvas-editor/appender.js.map +1 -1
  193. package/build-module/components/off-canvas-editor/branch.js +5 -3
  194. package/build-module/components/off-canvas-editor/branch.js.map +1 -1
  195. package/build-module/components/off-canvas-editor/index.js +9 -7
  196. package/build-module/components/off-canvas-editor/index.js.map +1 -1
  197. package/build-module/components/off-canvas-editor/link-ui.js +0 -1
  198. package/build-module/components/off-canvas-editor/link-ui.js.map +1 -1
  199. package/build-module/components/provider/use-block-sync.js +17 -3
  200. package/build-module/components/provider/use-block-sync.js.map +1 -1
  201. package/build-module/components/rich-text/format-edit.js +3 -31
  202. package/build-module/components/rich-text/format-edit.js.map +1 -1
  203. package/build-module/components/rich-text/format-toolbar-container.js +0 -3
  204. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  205. package/build-module/components/writing-flow/use-input.js +4 -8
  206. package/build-module/components/writing-flow/use-input.js.map +1 -1
  207. package/build-module/hooks/border.js +92 -240
  208. package/build-module/hooks/border.js.map +1 -1
  209. package/build-module/hooks/color.js +90 -232
  210. package/build-module/hooks/color.js.map +1 -1
  211. package/build-module/hooks/content-lock-ui.js +4 -2
  212. package/build-module/hooks/content-lock-ui.js.map +1 -1
  213. package/build-module/hooks/{color-panel.js → contrast-checker.js} +10 -44
  214. package/build-module/hooks/contrast-checker.js.map +1 -0
  215. package/build-module/hooks/custom-class-name.js +4 -4
  216. package/build-module/hooks/custom-class-name.js.map +1 -1
  217. package/build-module/hooks/custom-class-name.native.js +3 -4
  218. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  219. package/build-module/hooks/dimensions.js +0 -1
  220. package/build-module/hooks/dimensions.js.map +1 -1
  221. package/build-module/hooks/duotone.js +4 -2
  222. package/build-module/hooks/duotone.js.map +1 -1
  223. package/build-module/hooks/layout.js +19 -22
  224. package/build-module/hooks/layout.js.map +1 -1
  225. package/build-module/hooks/position.js +3 -3
  226. package/build-module/hooks/position.js.map +1 -1
  227. package/build-module/hooks/style.js +23 -26
  228. package/build-module/hooks/style.js.map +1 -1
  229. package/build-module/hooks/supports.js +7 -1
  230. package/build-module/hooks/supports.js.map +1 -1
  231. package/build-module/hooks/typography.js +2 -2
  232. package/build-module/hooks/typography.js.map +1 -1
  233. package/build-module/hooks/utils.js +48 -72
  234. package/build-module/hooks/utils.js.map +1 -1
  235. package/build-module/layouts/constrained.js +6 -2
  236. package/build-module/layouts/constrained.js.map +1 -1
  237. package/build-module/layouts/grid.js +151 -0
  238. package/build-module/layouts/grid.js.map +1 -0
  239. package/build-module/layouts/index.js +2 -1
  240. package/build-module/layouts/index.js.map +1 -1
  241. package/build-module/private-apis.js +5 -1
  242. package/build-module/private-apis.js.map +1 -1
  243. package/build-module/store/actions.js +10 -8
  244. package/build-module/store/actions.js.map +1 -1
  245. package/build-module/store/selectors.js +17 -3
  246. package/build-module/store/selectors.js.map +1 -1
  247. package/build-module/utils/object.js +69 -0
  248. package/build-module/utils/object.js.map +1 -0
  249. package/build-module/utils/parse-css-unit-to-px.js +15 -9
  250. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  251. package/build-style/style-rtl.css +32 -12
  252. package/build-style/style.css +32 -12
  253. package/package.json +31 -31
  254. package/src/components/block-draggable/content.scss +1 -1
  255. package/src/components/block-inspector/style.scss +3 -0
  256. package/src/components/block-list/block-html.js +1 -1
  257. package/src/components/block-list/block-invalid-warning.js +72 -64
  258. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +20 -2
  259. package/src/components/block-preview/auto.js +2 -17
  260. package/src/components/block-preview/test/index.js +0 -2
  261. package/src/components/block-settings-menu-controls/index.js +2 -1
  262. package/src/components/block-styles/style.scss +2 -2
  263. package/src/components/block-switcher/block-transformations-menu.native.js +1 -0
  264. package/src/components/color-palette/test/__snapshots__/control.js.snap +16 -14
  265. package/src/components/colors-gradients/style.scss +8 -8
  266. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +48 -38
  267. package/src/components/editor-styles/index.js +29 -1
  268. package/src/components/global-styles/border-panel.js +285 -0
  269. package/src/components/global-styles/color-panel.js +706 -0
  270. package/src/components/global-styles/dimensions-panel.js +13 -42
  271. package/src/components/global-styles/get-block-css-selector.js +129 -0
  272. package/src/components/global-styles/hooks.js +154 -1
  273. package/src/components/global-styles/index.js +3 -0
  274. package/src/components/global-styles/test/use-global-styles-output.js +31 -2
  275. package/src/components/global-styles/typography-panel.js +67 -45
  276. package/src/components/global-styles/use-global-styles-output.js +176 -93
  277. package/src/components/global-styles/utils.js +3 -0
  278. package/src/components/image-size-control/index.js +4 -3
  279. package/src/components/image-size-control/test/index.js +2 -2
  280. package/src/components/inner-blocks/README.md +1 -1
  281. package/src/components/inserter/index.js +30 -11
  282. package/src/components/inserter/menu.js +0 -1
  283. package/src/components/inserter/quick-inserter.js +2 -0
  284. package/src/components/inserter/search-results.js +7 -1
  285. package/src/components/inserter/style.scss +3 -0
  286. package/src/components/inserter/tabs.js +1 -9
  287. package/src/components/inspector-controls-tabs/position-controls-panel.js +40 -9
  288. package/src/components/line-height-control/index.js +10 -1
  289. package/src/components/link-control/index.js +1 -1
  290. package/src/components/link-control/search-item.js +3 -1
  291. package/src/components/link-control/style.scss +0 -4
  292. package/src/components/link-control/test/index.js +0 -2
  293. package/src/components/list-view/appender.js +101 -0
  294. package/src/components/list-view/block.js +5 -4
  295. package/src/components/list-view/branch.js +30 -1
  296. package/src/components/list-view/index.js +43 -10
  297. package/src/components/list-view/style.scss +19 -0
  298. package/src/components/list-view/use-block-selection.js +0 -2
  299. package/src/components/media-replace-flow/index.js +36 -24
  300. package/src/components/media-replace-flow/style.scss +5 -2
  301. package/src/components/off-canvas-editor/appender.js +31 -5
  302. package/src/components/off-canvas-editor/branch.js +3 -1
  303. package/src/components/off-canvas-editor/index.js +7 -7
  304. package/src/components/off-canvas-editor/link-ui.js +0 -1
  305. package/src/components/provider/use-block-sync.js +21 -4
  306. package/src/components/rich-text/format-edit.js +2 -32
  307. package/src/components/rich-text/format-toolbar-container.js +1 -7
  308. package/src/components/url-popover/test/index.js +0 -2
  309. package/src/components/writing-flow/use-input.js +4 -5
  310. package/src/hooks/border.js +93 -225
  311. package/src/hooks/color.js +120 -296
  312. package/src/hooks/content-lock-ui.js +6 -2
  313. package/src/hooks/{color-panel.js → contrast-checker.js} +10 -46
  314. package/src/hooks/custom-class-name.js +4 -4
  315. package/src/hooks/custom-class-name.native.js +3 -4
  316. package/src/hooks/dimensions.js +0 -1
  317. package/src/hooks/duotone.js +8 -5
  318. package/src/hooks/layout.js +19 -16
  319. package/src/hooks/position.js +3 -3
  320. package/src/hooks/style.js +29 -28
  321. package/src/hooks/supports.js +6 -0
  322. package/src/hooks/test/style.js +2 -1
  323. package/src/hooks/test/use-typography-props.js +2 -0
  324. package/src/hooks/test/utils.js +0 -104
  325. package/src/hooks/typography.js +2 -1
  326. package/src/hooks/utils.js +63 -70
  327. package/src/layouts/constrained.js +23 -17
  328. package/src/layouts/grid.js +172 -0
  329. package/src/layouts/index.js +2 -1
  330. package/src/layouts/test/grid.js +21 -0
  331. package/src/private-apis.js +4 -0
  332. package/src/store/actions.js +10 -8
  333. package/src/store/selectors.js +20 -3
  334. package/src/utils/object.js +69 -0
  335. package/src/utils/parse-css-unit-to-px.js +14 -9
  336. package/src/utils/test/object.js +107 -0
  337. package/src/utils/test/parse-css-unit-to-px.js +1 -2
  338. package/tsconfig.tsbuildinfo +1 -1
  339. package/build/hooks/border-radius.js +0 -100
  340. package/build/hooks/border-radius.js.map +0 -1
  341. package/build/hooks/color-panel.js.map +0 -1
  342. package/build-module/hooks/border-radius.js +0 -84
  343. package/build-module/hooks/border-radius.js.map +0 -1
  344. package/build-module/hooks/color-panel.js.map +0 -1
  345. package/src/hooks/border-radius.js +0 -70
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Converts a path to an array of its fragments.
3
+ * Supports strings, numbers and arrays:
4
+ *
5
+ * 'foo' => [ 'foo' ]
6
+ * 2 => [ '2' ]
7
+ * [ 'foo', 'bar' ] => [ 'foo', 'bar' ]
8
+ *
9
+ * @param {string|number|Array} path Path
10
+ * @return {Array} Normalized path.
11
+ */
12
+ function normalizePath(path) {
13
+ if (Array.isArray(path)) {
14
+ return path;
15
+ } else if (typeof path === 'number') {
16
+ return [path.toString()];
17
+ }
18
+
19
+ return [path];
20
+ }
21
+ /**
22
+ * Clones an object.
23
+ * Non-object values are returned unchanged.
24
+ *
25
+ * @param {*} object Object to clone.
26
+ * @return {*} Cloned object, or original literal non-object value.
27
+ */
28
+
29
+
30
+ function cloneObject(object) {
31
+ if (typeof object === 'object') {
32
+ return { ...Object.fromEntries(Object.entries(object).map(_ref => {
33
+ let [key, value] = _ref;
34
+ return [key, cloneObject(value)];
35
+ }))
36
+ };
37
+ }
38
+
39
+ return object;
40
+ }
41
+ /**
42
+ * Perform an immutable set.
43
+ * Handles nullish initial values.
44
+ * Clones all nested objects in the specified object.
45
+ *
46
+ * @param {Object} object Object to set a value in.
47
+ * @param {number|string|Array} path Path in the object to modify.
48
+ * @param {*} value New value to set.
49
+ * @return {Object} Cloned object with the new value set.
50
+ */
51
+
52
+
53
+ export function immutableSet(object, path, value) {
54
+ const normalizedPath = normalizePath(path);
55
+ const newObject = object ? cloneObject(object) : {};
56
+ normalizedPath.reduce((acc, key, i) => {
57
+ if (acc[key] === undefined) {
58
+ acc[key] = {};
59
+ }
60
+
61
+ if (i === normalizedPath.length - 1) {
62
+ acc[key] = value;
63
+ }
64
+
65
+ return acc[key];
66
+ }, newObject);
67
+ return newObject;
68
+ }
69
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-editor/src/utils/object.js"],"names":["normalizePath","path","Array","isArray","toString","cloneObject","object","Object","fromEntries","entries","map","key","value","immutableSet","normalizedPath","newObject","reduce","acc","i","undefined","length"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,aAAT,CAAwBC,IAAxB,EAA+B;AAC9B,MAAKC,KAAK,CAACC,OAAN,CAAeF,IAAf,CAAL,EAA6B;AAC5B,WAAOA,IAAP;AACA,GAFD,MAEO,IAAK,OAAOA,IAAP,KAAgB,QAArB,EAAgC;AACtC,WAAO,CAAEA,IAAI,CAACG,QAAL,EAAF,CAAP;AACA;;AAED,SAAO,CAAEH,IAAF,CAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASI,WAAT,CAAsBC,MAAtB,EAA+B;AAC9B,MAAK,OAAOA,MAAP,KAAkB,QAAvB,EAAkC;AACjC,WAAO,EACN,GAAGC,MAAM,CAACC,WAAP,CACFD,MAAM,CAACE,OAAP,CAAgBH,MAAhB,EAAyBI,GAAzB,CAA8B;AAAA,YAAE,CAAEC,GAAF,EAAOC,KAAP,CAAF;AAAA,eAAsB,CACnDD,GADmD,EAEnDN,WAAW,CAAEO,KAAF,CAFwC,CAAtB;AAAA,OAA9B,CADE;AADG,KAAP;AAQA;;AAED,SAAON,MAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,SAASO,YAAT,CAAuBP,MAAvB,EAA+BL,IAA/B,EAAqCW,KAArC,EAA6C;AACnD,QAAME,cAAc,GAAGd,aAAa,CAAEC,IAAF,CAApC;AACA,QAAMc,SAAS,GAAGT,MAAM,GAAGD,WAAW,CAAEC,MAAF,CAAd,GAA2B,EAAnD;AAEAQ,EAAAA,cAAc,CAACE,MAAf,CAAuB,CAAEC,GAAF,EAAON,GAAP,EAAYO,CAAZ,KAAmB;AACzC,QAAKD,GAAG,CAAEN,GAAF,CAAH,KAAeQ,SAApB,EAAgC;AAC/BF,MAAAA,GAAG,CAAEN,GAAF,CAAH,GAAa,EAAb;AACA;;AACD,QAAKO,CAAC,KAAKJ,cAAc,CAACM,MAAf,GAAwB,CAAnC,EAAuC;AACtCH,MAAAA,GAAG,CAAEN,GAAF,CAAH,GAAaC,KAAb;AACA;;AACD,WAAOK,GAAG,CAAEN,GAAF,CAAV;AACA,GARD,EAQGI,SARH;AAUA,SAAOA,SAAP;AACA","sourcesContent":["/**\n * Converts a path to an array of its fragments.\n * Supports strings, numbers and arrays:\n *\n * 'foo' => [ 'foo' ]\n * 2 => [ '2' ]\n * [ 'foo', 'bar' ] => [ 'foo', 'bar' ]\n *\n * @param {string|number|Array} path Path\n * @return {Array} Normalized path.\n */\nfunction normalizePath( path ) {\n\tif ( Array.isArray( path ) ) {\n\t\treturn path;\n\t} else if ( typeof path === 'number' ) {\n\t\treturn [ path.toString() ];\n\t}\n\n\treturn [ path ];\n}\n\n/**\n * Clones an object.\n * Non-object values are returned unchanged.\n *\n * @param {*} object Object to clone.\n * @return {*} Cloned object, or original literal non-object value.\n */\nfunction cloneObject( object ) {\n\tif ( typeof object === 'object' ) {\n\t\treturn {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( object ).map( ( [ key, value ] ) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tcloneObject( value ),\n\t\t\t\t] )\n\t\t\t),\n\t\t};\n\t}\n\n\treturn object;\n}\n\n/**\n * Perform an immutable set.\n * Handles nullish initial values.\n * Clones all nested objects in the specified object.\n *\n * @param {Object} object Object to set a value in.\n * @param {number|string|Array} path Path in the object to modify.\n * @param {*} value New value to set.\n * @return {Object} Cloned object with the new value set.\n */\nexport function immutableSet( object, path, value ) {\n\tconst normalizedPath = normalizePath( path );\n\tconst newObject = object ? cloneObject( object ) : {};\n\n\tnormalizedPath.reduce( ( acc, key, i ) => {\n\t\tif ( acc[ key ] === undefined ) {\n\t\t\tacc[ key ] = {};\n\t\t}\n\t\tif ( i === normalizedPath.length - 1 ) {\n\t\t\tacc[ key ] = value;\n\t\t}\n\t\treturn acc[ key ];\n\t}, newObject );\n\n\treturn newObject;\n}\n"]}
@@ -142,21 +142,27 @@ function evalMathExpression(cssUnit) {
142
142
 
143
143
  const cssUnitsBits = cssUnit.match(/\d+\.?\d*[a-zA-Z]+|\.\d+[a-zA-Z]+/g);
144
144
 
145
- for (const unit of cssUnitsBits) {
146
- // Standardize the unit to px and extract the value.
147
- const parsedUnit = parseUnit(getPxFromCssUnit(unit));
145
+ if (cssUnitsBits) {
146
+ for (const unit of cssUnitsBits) {
147
+ // Standardize the unit to px and extract the value.
148
+ const parsedUnit = parseUnit(getPxFromCssUnit(unit));
148
149
 
149
- if (!parseFloat(parsedUnit.value)) {
150
- errorFound = true; // End early since we are dealing with a null value.
150
+ if (!parseFloat(parsedUnit.value)) {
151
+ errorFound = true; // End early since we are dealing with a null value.
151
152
 
152
- break;
153
- }
153
+ break;
154
+ }
154
155
 
155
- cssUnit = cssUnit.replace(unit, parsedUnit.value);
156
+ cssUnit = cssUnit.replace(unit, parsedUnit.value);
157
+ }
158
+ } else {
159
+ errorFound = true;
156
160
  } // For mixed math expressions wrapped within CSS expressions
157
161
 
158
162
 
159
- if (!errorFound && cssUnit.match(/(max|min|clamp)/g)) {
163
+ const expressionsMatches = cssUnit.match(/(max|min|clamp)/g);
164
+
165
+ if (!errorFound && expressionsMatches) {
160
166
  const values = cssUnit.split(',');
161
167
 
162
168
  for (const currentValue of values) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/utils/parse-css-unit-to-px.js"],"names":["parseUnit","cssUnit","match","trim","isNaN","parseFloat","value","unit","undefined","calculate","expression","Function","err","getFunctionUnitValue","functionUnitValue","options","functionUnit","split","filter","Boolean","units","slice","map","getPxFromCssUnit","Math","min","max","length","parseUnitFunction","currentCssUnit","regExp","matches","exec","replace","isMathExpression","i","includes","evalMathExpression","errorFound","cssUnitsBits","parsedUnit","values","currentValue","rawCurrentValue","calculatedExpression","calculatedValue","toFixed","parsedValue","calculatedResult","convertParsedUnitToPx","PIXELS_PER_INCH","ONE_PERCENT","defaultProperties","fontSize","lineHeight","width","height","type","setOptions","Object","assign","relativeUnits","em","rem","vh","vw","vmin","vmax","ch","ex","lh","absoluteUnits","in","cm","mm","pt","pc","px","Q","Number","isFinite","cache","memoizedGetPxFromCssUnit","hash","hashOptions","hasOwnProperty"],"mappings":"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","sourcesContent":["/**\n * Converts string to object { value, unit }.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit\n */\nfunction parseUnit( cssUnit ) {\n\tconst match = cssUnit\n\t\t?.trim()\n\t\t.match(\n\t\t\t/^(0?[-.]?\\d*\\.?\\d+)(r?e[m|x]|v[h|w|min|max]+|p[x|t|c]|[c|m]m|%|in|ch|Q|lh)$/\n\t\t);\n\tif ( ! isNaN( cssUnit ) && ! isNaN( parseFloat( cssUnit ) ) ) {\n\t\treturn { value: parseFloat( cssUnit ), unit: 'px' };\n\t}\n\treturn match\n\t\t? { value: parseFloat( match[ 1 ] ) || match[ 1 ], unit: match[ 2 ] }\n\t\t: { value: cssUnit, unit: undefined };\n}\n/**\n * Evaluate a math expression.\n *\n * @param {string} expression\n * @return {number} evaluated expression.\n */\nfunction calculate( expression ) {\n\ttry {\n\t\treturn Function( `'use strict'; return (${ expression })` )();\n\t} catch ( err ) {\n\t\treturn null;\n\t}\n}\n\n/**\n * Calculates the css function value for the supported css functions such as max, min, clamp and calc.\n *\n * @param {string} functionUnitValue string should be in a particular format (for example min(12px,12px) ) no nested loops.\n * @param {Object} options\n * @return {string} unit containing the unit in PX.\n */\nfunction getFunctionUnitValue( functionUnitValue, options ) {\n\tconst functionUnit = functionUnitValue.split( /[(),]/g ).filter( Boolean );\n\n\tconst units = functionUnit\n\t\t.slice( 1 )\n\t\t.map( ( unit ) => parseUnit( getPxFromCssUnit( unit, options ) ).value )\n\t\t.filter( Boolean );\n\n\tswitch ( functionUnit[ 0 ] ) {\n\t\tcase 'min':\n\t\t\treturn Math.min( ...units ) + 'px';\n\t\tcase 'max':\n\t\t\treturn Math.max( ...units ) + 'px';\n\t\tcase 'clamp':\n\t\t\tif ( units.length !== 3 ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif ( units[ 1 ] < units[ 0 ] ) {\n\t\t\t\treturn units[ 0 ] + 'px';\n\t\t\t}\n\t\t\tif ( units[ 1 ] > units[ 2 ] ) {\n\t\t\t\treturn units[ 2 ] + 'px';\n\t\t\t}\n\t\t\treturn units[ 1 ] + 'px';\n\t\tcase 'calc':\n\t\t\treturn units[ 0 ] + 'px';\n\t}\n}\n\n/**\n * Take a css function such as min, max, calc, clamp and returns parsedUnit\n *\n * How this works for the nested function is that it first replaces the inner function call.\n * Then it tackles the outer onces.\n * So for example: min( max(25px, 35px), 40px )\n * in the first pass we would replace max(25px, 35px) with 35px.\n * then we would try to evaluate min( 35px, 40px )\n * and then finally return 35px.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit object.\n */\nfunction parseUnitFunction( cssUnit ) {\n\twhile ( true ) {\n\t\tconst currentCssUnit = cssUnit;\n\t\tconst regExp = /(max|min|calc|clamp)\\(([^()]*)\\)/g;\n\t\tconst matches = regExp.exec( cssUnit ) || [];\n\t\tif ( matches[ 0 ] ) {\n\t\t\tconst functionUnitValue = getFunctionUnitValue( matches[ 0 ] );\n\t\t\tcssUnit = cssUnit.replace( matches[ 0 ], functionUnitValue );\n\t\t}\n\n\t\t// If the unit hasn't been modified or we have a single value break free.\n\t\tif ( cssUnit === currentCssUnit || parseFloat( cssUnit ) ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn parseUnit( cssUnit );\n}\n/**\n * Return true if we think this is a math expression.\n *\n * @param {string} cssUnit the cssUnit value being evaluted.\n * @return {boolean} Whether the cssUnit is a math expression.\n */\nfunction isMathExpression( cssUnit ) {\n\tfor ( let i = 0; i < cssUnit.length; i++ ) {\n\t\tif ( [ '+', '-', '/', '*' ].includes( cssUnit[ i ] ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n/**\n * Evaluates the math expression and return a px value.\n *\n * @param {string} cssUnit the cssUnit value being evaluted.\n * @return {string} return a converfted value to px.\n */\nfunction evalMathExpression( cssUnit ) {\n\tlet errorFound = false;\n\t// Convert every part of the expression to px values.\n\t// The following regex matches numbers that have a following unit\n\t// E.g. 5.25rem, 1vw\n\tconst cssUnitsBits = cssUnit.match( /\\d+\\.?\\d*[a-zA-Z]+|\\.\\d+[a-zA-Z]+/g );\n\tfor ( const unit of cssUnitsBits ) {\n\t\t// Standardize the unit to px and extract the value.\n\t\tconst parsedUnit = parseUnit( getPxFromCssUnit( unit ) );\n\t\tif ( ! parseFloat( parsedUnit.value ) ) {\n\t\t\terrorFound = true;\n\t\t\t// End early since we are dealing with a null value.\n\t\t\tbreak;\n\t\t}\n\t\tcssUnit = cssUnit.replace( unit, parsedUnit.value );\n\t}\n\n\t// For mixed math expressions wrapped within CSS expressions\n\tif ( ! errorFound && cssUnit.match( /(max|min|clamp)/g ) ) {\n\t\tconst values = cssUnit.split( ',' );\n\t\tfor ( const currentValue of values ) {\n\t\t\t// Check for nested calc() and remove them to calculate the value.\n\t\t\tconst rawCurrentValue = currentValue.replace( /\\s|calc/g, '' );\n\n\t\t\tif ( isMathExpression( rawCurrentValue ) ) {\n\t\t\t\tconst calculatedExpression = calculate( rawCurrentValue );\n\n\t\t\t\tif ( calculatedExpression ) {\n\t\t\t\t\tconst calculatedValue =\n\t\t\t\t\t\tcalculatedExpression.toFixed( 0 ) + 'px';\n\t\t\t\t\tcssUnit = cssUnit.replace( currentValue, calculatedValue );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst parsedValue = parseUnitFunction( cssUnit );\n\t\treturn ! parsedValue ? null : parsedValue.value + parsedValue.unit;\n\t}\n\n\tif ( errorFound ) {\n\t\treturn null;\n\t}\n\n\tconst calculatedResult = calculate( cssUnit );\n\treturn calculatedResult ? calculatedResult.toFixed( 0 ) + 'px' : null;\n}\n\n/**\n * Convert a parsedUnit object to px value.\n *\n * @param {Object} parsedUnit\n * @param {Object} options\n * @return {string} or {null} returns the converted with in a px value format.\n */\nfunction convertParsedUnitToPx( parsedUnit, options ) {\n\tconst PIXELS_PER_INCH = 96;\n\tconst ONE_PERCENT = 0.01;\n\n\tconst defaultProperties = {\n\t\tfontSize: 16,\n\t\tlineHeight: 16,\n\t\twidth: 375,\n\t\theight: 812,\n\t\ttype: 'font',\n\t};\n\n\tconst setOptions = Object.assign( {}, defaultProperties, options );\n\n\tconst relativeUnits = {\n\t\tem: setOptions.fontSize,\n\t\trem: setOptions.fontSize,\n\t\tvh: setOptions.height * ONE_PERCENT,\n\t\tvw: setOptions.width * ONE_PERCENT,\n\t\tvmin:\n\t\t\t( setOptions.width < setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\tvmax:\n\t\t\t( setOptions.width > setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\t'%':\n\t\t\t( setOptions.type === 'font'\n\t\t\t\t? setOptions.fontSize\n\t\t\t\t: setOptions.width ) * ONE_PERCENT,\n\t\tch: 8, // The advance measure (width) of the glyph \"0\" of the element's font. Approximate\n\t\tex: 7.15625, // X-height of the element's font. Approximate.\n\t\tlh: setOptions.lineHeight,\n\t};\n\n\tconst absoluteUnits = {\n\t\tin: PIXELS_PER_INCH,\n\t\tcm: PIXELS_PER_INCH / 2.54,\n\t\tmm: PIXELS_PER_INCH / 25.4,\n\t\tpt: PIXELS_PER_INCH / 72,\n\t\tpc: PIXELS_PER_INCH / 6,\n\t\tpx: 1,\n\t\tQ: PIXELS_PER_INCH / 2.54 / 40,\n\t};\n\n\tif ( relativeUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( relativeUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\tif ( absoluteUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( absoluteUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\treturn null;\n}\n\n/**\n * Returns the px value of a cssUnit.\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nexport function getPxFromCssUnit( cssUnit, options = {} ) {\n\tif ( Number.isFinite( cssUnit ) ) {\n\t\treturn cssUnit.toFixed( 0 ) + 'px';\n\t}\n\tif ( cssUnit === undefined ) {\n\t\treturn null;\n\t}\n\tlet parsedUnit = parseUnit( cssUnit );\n\n\tif ( ! parsedUnit.unit ) {\n\t\tparsedUnit = parseUnitFunction( cssUnit );\n\t}\n\n\tif ( isMathExpression( cssUnit ) && ! parsedUnit.unit ) {\n\t\treturn evalMathExpression( cssUnit );\n\t}\n\n\treturn convertParsedUnitToPx( parsedUnit, options );\n}\n\n// Use simple cache.\nconst cache = {};\n/**\n * Returns the px value of a cssUnit. The memoized version of getPxFromCssUnit;\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nfunction memoizedGetPxFromCssUnit( cssUnit, options = {} ) {\n\tconst hash = cssUnit + hashOptions( options );\n\n\tif ( ! cache[ hash ] ) {\n\t\tcache[ hash ] = getPxFromCssUnit( cssUnit, options );\n\t}\n\treturn cache[ hash ];\n}\n\nfunction hashOptions( options ) {\n\tlet hash = '';\n\tif ( options.hasOwnProperty( 'fontSize' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'lineHeight' ) ) {\n\t\thash = ':' + options.lineHeight;\n\t}\n\tif ( options.hasOwnProperty( 'width' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'height' ) ) {\n\t\thash = ':' + options.height;\n\t}\n\tif ( options.hasOwnProperty( 'type' ) ) {\n\t\thash = ':' + options.type;\n\t}\n\treturn hash;\n}\n\nexport default memoizedGetPxFromCssUnit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/utils/parse-css-unit-to-px.js"],"names":["parseUnit","cssUnit","match","trim","isNaN","parseFloat","value","unit","undefined","calculate","expression","Function","err","getFunctionUnitValue","functionUnitValue","options","functionUnit","split","filter","Boolean","units","slice","map","getPxFromCssUnit","Math","min","max","length","parseUnitFunction","currentCssUnit","regExp","matches","exec","replace","isMathExpression","i","includes","evalMathExpression","errorFound","cssUnitsBits","parsedUnit","expressionsMatches","values","currentValue","rawCurrentValue","calculatedExpression","calculatedValue","toFixed","parsedValue","calculatedResult","convertParsedUnitToPx","PIXELS_PER_INCH","ONE_PERCENT","defaultProperties","fontSize","lineHeight","width","height","type","setOptions","Object","assign","relativeUnits","em","rem","vh","vw","vmin","vmax","ch","ex","lh","absoluteUnits","in","cm","mm","pt","pc","px","Q","Number","isFinite","cache","memoizedGetPxFromCssUnit","hash","hashOptions","hasOwnProperty"],"mappings":"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","sourcesContent":["/**\n * Converts string to object { value, unit }.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit\n */\nfunction parseUnit( cssUnit ) {\n\tconst match = cssUnit\n\t\t?.trim()\n\t\t.match(\n\t\t\t/^(0?[-.]?\\d*\\.?\\d+)(r?e[m|x]|v[h|w|min|max]+|p[x|t|c]|[c|m]m|%|in|ch|Q|lh)$/\n\t\t);\n\tif ( ! isNaN( cssUnit ) && ! isNaN( parseFloat( cssUnit ) ) ) {\n\t\treturn { value: parseFloat( cssUnit ), unit: 'px' };\n\t}\n\treturn match\n\t\t? { value: parseFloat( match[ 1 ] ) || match[ 1 ], unit: match[ 2 ] }\n\t\t: { value: cssUnit, unit: undefined };\n}\n/**\n * Evaluate a math expression.\n *\n * @param {string} expression\n * @return {number} evaluated expression.\n */\nfunction calculate( expression ) {\n\ttry {\n\t\treturn Function( `'use strict'; return (${ expression })` )();\n\t} catch ( err ) {\n\t\treturn null;\n\t}\n}\n\n/**\n * Calculates the css function value for the supported css functions such as max, min, clamp and calc.\n *\n * @param {string} functionUnitValue string should be in a particular format (for example min(12px,12px) ) no nested loops.\n * @param {Object} options\n * @return {string} unit containing the unit in PX.\n */\nfunction getFunctionUnitValue( functionUnitValue, options ) {\n\tconst functionUnit = functionUnitValue.split( /[(),]/g ).filter( Boolean );\n\n\tconst units = functionUnit\n\t\t.slice( 1 )\n\t\t.map( ( unit ) => parseUnit( getPxFromCssUnit( unit, options ) ).value )\n\t\t.filter( Boolean );\n\n\tswitch ( functionUnit[ 0 ] ) {\n\t\tcase 'min':\n\t\t\treturn Math.min( ...units ) + 'px';\n\t\tcase 'max':\n\t\t\treturn Math.max( ...units ) + 'px';\n\t\tcase 'clamp':\n\t\t\tif ( units.length !== 3 ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif ( units[ 1 ] < units[ 0 ] ) {\n\t\t\t\treturn units[ 0 ] + 'px';\n\t\t\t}\n\t\t\tif ( units[ 1 ] > units[ 2 ] ) {\n\t\t\t\treturn units[ 2 ] + 'px';\n\t\t\t}\n\t\t\treturn units[ 1 ] + 'px';\n\t\tcase 'calc':\n\t\t\treturn units[ 0 ] + 'px';\n\t}\n}\n\n/**\n * Take a css function such as min, max, calc, clamp and returns parsedUnit\n *\n * How this works for the nested function is that it first replaces the inner function call.\n * Then it tackles the outer onces.\n * So for example: min( max(25px, 35px), 40px )\n * in the first pass we would replace max(25px, 35px) with 35px.\n * then we would try to evaluate min( 35px, 40px )\n * and then finally return 35px.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit object.\n */\nfunction parseUnitFunction( cssUnit ) {\n\twhile ( true ) {\n\t\tconst currentCssUnit = cssUnit;\n\t\tconst regExp = /(max|min|calc|clamp)\\(([^()]*)\\)/g;\n\t\tconst matches = regExp.exec( cssUnit ) || [];\n\t\tif ( matches[ 0 ] ) {\n\t\t\tconst functionUnitValue = getFunctionUnitValue( matches[ 0 ] );\n\t\t\tcssUnit = cssUnit.replace( matches[ 0 ], functionUnitValue );\n\t\t}\n\n\t\t// If the unit hasn't been modified or we have a single value break free.\n\t\tif ( cssUnit === currentCssUnit || parseFloat( cssUnit ) ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn parseUnit( cssUnit );\n}\n/**\n * Return true if we think this is a math expression.\n *\n * @param {string} cssUnit the cssUnit value being evaluted.\n * @return {boolean} Whether the cssUnit is a math expression.\n */\nfunction isMathExpression( cssUnit ) {\n\tfor ( let i = 0; i < cssUnit.length; i++ ) {\n\t\tif ( [ '+', '-', '/', '*' ].includes( cssUnit[ i ] ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n/**\n * Evaluates the math expression and return a px value.\n *\n * @param {string} cssUnit the cssUnit value being evaluted.\n * @return {string} return a converfted value to px.\n */\nfunction evalMathExpression( cssUnit ) {\n\tlet errorFound = false;\n\t// Convert every part of the expression to px values.\n\t// The following regex matches numbers that have a following unit\n\t// E.g. 5.25rem, 1vw\n\tconst cssUnitsBits = cssUnit.match( /\\d+\\.?\\d*[a-zA-Z]+|\\.\\d+[a-zA-Z]+/g );\n\tif ( cssUnitsBits ) {\n\t\tfor ( const unit of cssUnitsBits ) {\n\t\t\t// Standardize the unit to px and extract the value.\n\t\t\tconst parsedUnit = parseUnit( getPxFromCssUnit( unit ) );\n\t\t\tif ( ! parseFloat( parsedUnit.value ) ) {\n\t\t\t\terrorFound = true;\n\t\t\t\t// End early since we are dealing with a null value.\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcssUnit = cssUnit.replace( unit, parsedUnit.value );\n\t\t}\n\t} else {\n\t\terrorFound = true;\n\t}\n\n\t// For mixed math expressions wrapped within CSS expressions\n\tconst expressionsMatches = cssUnit.match( /(max|min|clamp)/g );\n\tif ( ! errorFound && expressionsMatches ) {\n\t\tconst values = cssUnit.split( ',' );\n\t\tfor ( const currentValue of values ) {\n\t\t\t// Check for nested calc() and remove them to calculate the value.\n\t\t\tconst rawCurrentValue = currentValue.replace( /\\s|calc/g, '' );\n\n\t\t\tif ( isMathExpression( rawCurrentValue ) ) {\n\t\t\t\tconst calculatedExpression = calculate( rawCurrentValue );\n\n\t\t\t\tif ( calculatedExpression ) {\n\t\t\t\t\tconst calculatedValue =\n\t\t\t\t\t\tcalculatedExpression.toFixed( 0 ) + 'px';\n\t\t\t\t\tcssUnit = cssUnit.replace( currentValue, calculatedValue );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst parsedValue = parseUnitFunction( cssUnit );\n\t\treturn ! parsedValue ? null : parsedValue.value + parsedValue.unit;\n\t}\n\n\tif ( errorFound ) {\n\t\treturn null;\n\t}\n\n\tconst calculatedResult = calculate( cssUnit );\n\treturn calculatedResult ? calculatedResult.toFixed( 0 ) + 'px' : null;\n}\n\n/**\n * Convert a parsedUnit object to px value.\n *\n * @param {Object} parsedUnit\n * @param {Object} options\n * @return {string} or {null} returns the converted with in a px value format.\n */\nfunction convertParsedUnitToPx( parsedUnit, options ) {\n\tconst PIXELS_PER_INCH = 96;\n\tconst ONE_PERCENT = 0.01;\n\n\tconst defaultProperties = {\n\t\tfontSize: 16,\n\t\tlineHeight: 16,\n\t\twidth: 375,\n\t\theight: 812,\n\t\ttype: 'font',\n\t};\n\n\tconst setOptions = Object.assign( {}, defaultProperties, options );\n\n\tconst relativeUnits = {\n\t\tem: setOptions.fontSize,\n\t\trem: setOptions.fontSize,\n\t\tvh: setOptions.height * ONE_PERCENT,\n\t\tvw: setOptions.width * ONE_PERCENT,\n\t\tvmin:\n\t\t\t( setOptions.width < setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\tvmax:\n\t\t\t( setOptions.width > setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\t'%':\n\t\t\t( setOptions.type === 'font'\n\t\t\t\t? setOptions.fontSize\n\t\t\t\t: setOptions.width ) * ONE_PERCENT,\n\t\tch: 8, // The advance measure (width) of the glyph \"0\" of the element's font. Approximate\n\t\tex: 7.15625, // X-height of the element's font. Approximate.\n\t\tlh: setOptions.lineHeight,\n\t};\n\n\tconst absoluteUnits = {\n\t\tin: PIXELS_PER_INCH,\n\t\tcm: PIXELS_PER_INCH / 2.54,\n\t\tmm: PIXELS_PER_INCH / 25.4,\n\t\tpt: PIXELS_PER_INCH / 72,\n\t\tpc: PIXELS_PER_INCH / 6,\n\t\tpx: 1,\n\t\tQ: PIXELS_PER_INCH / 2.54 / 40,\n\t};\n\n\tif ( relativeUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( relativeUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\tif ( absoluteUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( absoluteUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\treturn null;\n}\n\n/**\n * Returns the px value of a cssUnit.\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nexport function getPxFromCssUnit( cssUnit, options = {} ) {\n\tif ( Number.isFinite( cssUnit ) ) {\n\t\treturn cssUnit.toFixed( 0 ) + 'px';\n\t}\n\tif ( cssUnit === undefined ) {\n\t\treturn null;\n\t}\n\tlet parsedUnit = parseUnit( cssUnit );\n\n\tif ( ! parsedUnit.unit ) {\n\t\tparsedUnit = parseUnitFunction( cssUnit );\n\t}\n\n\tif ( isMathExpression( cssUnit ) && ! parsedUnit.unit ) {\n\t\treturn evalMathExpression( cssUnit );\n\t}\n\n\treturn convertParsedUnitToPx( parsedUnit, options );\n}\n\n// Use simple cache.\nconst cache = {};\n/**\n * Returns the px value of a cssUnit. The memoized version of getPxFromCssUnit;\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nfunction memoizedGetPxFromCssUnit( cssUnit, options = {} ) {\n\tconst hash = cssUnit + hashOptions( options );\n\n\tif ( ! cache[ hash ] ) {\n\t\tcache[ hash ] = getPxFromCssUnit( cssUnit, options );\n\t}\n\treturn cache[ hash ];\n}\n\nfunction hashOptions( options ) {\n\tlet hash = '';\n\tif ( options.hasOwnProperty( 'fontSize' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'lineHeight' ) ) {\n\t\thash = ':' + options.lineHeight;\n\t}\n\tif ( options.hasOwnProperty( 'width' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'height' ) ) {\n\t\thash = ':' + options.height;\n\t}\n\tif ( options.hasOwnProperty( 'type' ) ) {\n\t\thash = ':' + options.type;\n\t}\n\treturn hash;\n}\n\nexport default memoizedGetPxFromCssUnit;\n"]}
@@ -164,6 +164,7 @@
164
164
  .block-editor-block-inspector .components-panel__body {
165
165
  border: none;
166
166
  border-top: 1px solid #e0e0e0;
167
+ margin-top: -1px;
167
168
  }
168
169
  .block-editor-block-inspector .block-editor-block-card {
169
170
  padding: 16px;
@@ -875,7 +876,7 @@
875
876
  gap: 8px;
876
877
  }
877
878
  .block-editor-block-styles__variants .block-editor-block-styles__item {
878
- color: #2f2f2f;
879
+ color: #1e1e1e;
879
880
  box-shadow: inset 0 0 0 1px #ccc;
880
881
  display: inline-block;
881
882
  width: calc(50% - 4px);
@@ -885,7 +886,7 @@
885
886
  box-shadow: inset 0 0 0 2px var(--wp-admin-theme-color);
886
887
  }
887
888
  .block-editor-block-styles__variants .block-editor-block-styles__item.is-active, .block-editor-block-styles__variants .block-editor-block-styles__item.is-active:hover {
888
- background-color: #2f2f2f;
889
+ background-color: #1e1e1e;
889
890
  box-shadow: none;
890
891
  }
891
892
  .block-editor-block-styles__variants .block-editor-block-styles__item.is-active .block-editor-block-styles__item-text, .block-editor-block-styles__variants .block-editor-block-styles__item.is-active:hover .block-editor-block-styles__item-text {
@@ -1341,15 +1342,15 @@
1341
1342
  .block-editor-tools-panel-color-gradient-settings__item {
1342
1343
  padding: 0;
1343
1344
  max-width: 100%;
1344
- border-right: 1px solid rgba(0, 0, 0, 0.1);
1345
- border-left: 1px solid rgba(0, 0, 0, 0.1);
1346
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
1345
+ border-right: 1px solid #ddd;
1346
+ border-left: 1px solid #ddd;
1347
+ border-bottom: 1px solid #ddd;
1347
1348
  }
1348
1349
  .block-editor-tools-panel-color-gradient-settings__item.first {
1349
1350
  margin-top: 24px;
1350
1351
  border-top-right-radius: 2px;
1351
1352
  border-top-left-radius: 2px;
1352
- border-top: 1px solid rgba(0, 0, 0, 0.1);
1353
+ border-top: 1px solid #ddd;
1353
1354
  }
1354
1355
  .block-editor-tools-panel-color-gradient-settings__item.last {
1355
1356
  border-bottom-right-radius: 2px;
@@ -1725,10 +1726,6 @@
1725
1726
  order: 20;
1726
1727
  }
1727
1728
 
1728
- .components-button .block-editor-link-control__search-submit .has-icon {
1729
- margin: -1px;
1730
- }
1731
-
1732
1729
  .block-editor-link-control__search-results-wrapper {
1733
1730
  position: relative;
1734
1731
  margin-top: -15px;
@@ -2466,6 +2463,24 @@
2466
2463
  height: 36px;
2467
2464
  }
2468
2465
 
2466
+ .list-view-appender .block-editor-inserter__toggle {
2467
+ background-color: #1e1e1e;
2468
+ color: #fff;
2469
+ margin: 8px 24px 0 0;
2470
+ border-radius: 2px;
2471
+ height: 24px;
2472
+ min-width: 24px;
2473
+ padding: 0;
2474
+ }
2475
+ .list-view-appender .block-editor-inserter__toggle:hover, .list-view-appender .block-editor-inserter__toggle:focus {
2476
+ background: var(--wp-admin-theme-color);
2477
+ color: #fff;
2478
+ }
2479
+
2480
+ .list-view-appender__description {
2481
+ display: none;
2482
+ }
2483
+
2469
2484
  .modal-open .block-editor-media-replace-flow__options {
2470
2485
  display: none;
2471
2486
  }
@@ -2475,12 +2490,14 @@
2475
2490
  }
2476
2491
 
2477
2492
  .block-editor-media-flow__url-input {
2478
- border-top: 1px solid #1e1e1e;
2479
- margin-top: 8px;
2480
2493
  margin-left: -8px;
2481
2494
  margin-right: -8px;
2482
2495
  padding: 16px;
2483
2496
  }
2497
+ .block-editor-media-flow__url-input.has-siblings {
2498
+ border-top: 1px solid #1e1e1e;
2499
+ margin-top: 8px;
2500
+ }
2484
2501
  .block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label {
2485
2502
  display: block;
2486
2503
  top: 16px;
@@ -3282,6 +3299,7 @@
3282
3299
  .block-editor-inserter__popover.is-quick .components-popover__content {
3283
3300
  border: none;
3284
3301
  outline: none;
3302
+ box-shadow: 0 0.7px 1px rgba(0, 0, 0, 0.1), 0 1.2px 1.7px -0.2px rgba(0, 0, 0, 0.1), 0 2.3px 3.3px -0.5px rgba(0, 0, 0, 0.1);
3285
3303
  }
3286
3304
  .block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter > * {
3287
3305
  border-right: 1px solid #ccc;
@@ -3289,9 +3307,11 @@
3289
3307
  }
3290
3308
  .block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter > *:first-child {
3291
3309
  border-top: 1px solid #ccc;
3310
+ border-radius: 2px 2px 0 0;
3292
3311
  }
3293
3312
  .block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter > *:last-child {
3294
3313
  border-bottom: 1px solid #ccc;
3314
+ border-radius: 0 0 2px 2px;
3295
3315
  }
3296
3316
  .block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter > *.components-button {
3297
3317
  border: 1px solid #1e1e1e;
@@ -164,6 +164,7 @@
164
164
  .block-editor-block-inspector .components-panel__body {
165
165
  border: none;
166
166
  border-top: 1px solid #e0e0e0;
167
+ margin-top: -1px;
167
168
  }
168
169
  .block-editor-block-inspector .block-editor-block-card {
169
170
  padding: 16px;
@@ -875,7 +876,7 @@
875
876
  gap: 8px;
876
877
  }
877
878
  .block-editor-block-styles__variants .block-editor-block-styles__item {
878
- color: #2f2f2f;
879
+ color: #1e1e1e;
879
880
  box-shadow: inset 0 0 0 1px #ccc;
880
881
  display: inline-block;
881
882
  width: calc(50% - 4px);
@@ -885,7 +886,7 @@
885
886
  box-shadow: inset 0 0 0 2px var(--wp-admin-theme-color);
886
887
  }
887
888
  .block-editor-block-styles__variants .block-editor-block-styles__item.is-active, .block-editor-block-styles__variants .block-editor-block-styles__item.is-active:hover {
888
- background-color: #2f2f2f;
889
+ background-color: #1e1e1e;
889
890
  box-shadow: none;
890
891
  }
891
892
  .block-editor-block-styles__variants .block-editor-block-styles__item.is-active .block-editor-block-styles__item-text, .block-editor-block-styles__variants .block-editor-block-styles__item.is-active:hover .block-editor-block-styles__item-text {
@@ -1341,15 +1342,15 @@
1341
1342
  .block-editor-tools-panel-color-gradient-settings__item {
1342
1343
  padding: 0;
1343
1344
  max-width: 100%;
1344
- border-left: 1px solid rgba(0, 0, 0, 0.1);
1345
- border-right: 1px solid rgba(0, 0, 0, 0.1);
1346
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
1345
+ border-left: 1px solid #ddd;
1346
+ border-right: 1px solid #ddd;
1347
+ border-bottom: 1px solid #ddd;
1347
1348
  }
1348
1349
  .block-editor-tools-panel-color-gradient-settings__item.first {
1349
1350
  margin-top: 24px;
1350
1351
  border-top-left-radius: 2px;
1351
1352
  border-top-right-radius: 2px;
1352
- border-top: 1px solid rgba(0, 0, 0, 0.1);
1353
+ border-top: 1px solid #ddd;
1353
1354
  }
1354
1355
  .block-editor-tools-panel-color-gradient-settings__item.last {
1355
1356
  border-bottom-left-radius: 2px;
@@ -1725,10 +1726,6 @@
1725
1726
  order: 20;
1726
1727
  }
1727
1728
 
1728
- .components-button .block-editor-link-control__search-submit .has-icon {
1729
- margin: -1px;
1730
- }
1731
-
1732
1729
  .block-editor-link-control__search-results-wrapper {
1733
1730
  position: relative;
1734
1731
  margin-top: -15px;
@@ -2466,6 +2463,24 @@
2466
2463
  height: 36px;
2467
2464
  }
2468
2465
 
2466
+ .list-view-appender .block-editor-inserter__toggle {
2467
+ background-color: #1e1e1e;
2468
+ color: #fff;
2469
+ margin: 8px 0 0 24px;
2470
+ border-radius: 2px;
2471
+ height: 24px;
2472
+ min-width: 24px;
2473
+ padding: 0;
2474
+ }
2475
+ .list-view-appender .block-editor-inserter__toggle:hover, .list-view-appender .block-editor-inserter__toggle:focus {
2476
+ background: var(--wp-admin-theme-color);
2477
+ color: #fff;
2478
+ }
2479
+
2480
+ .list-view-appender__description {
2481
+ display: none;
2482
+ }
2483
+
2469
2484
  .modal-open .block-editor-media-replace-flow__options {
2470
2485
  display: none;
2471
2486
  }
@@ -2475,12 +2490,14 @@
2475
2490
  }
2476
2491
 
2477
2492
  .block-editor-media-flow__url-input {
2478
- border-top: 1px solid #1e1e1e;
2479
- margin-top: 8px;
2480
2493
  margin-right: -8px;
2481
2494
  margin-left: -8px;
2482
2495
  padding: 16px;
2483
2496
  }
2497
+ .block-editor-media-flow__url-input.has-siblings {
2498
+ border-top: 1px solid #1e1e1e;
2499
+ margin-top: 8px;
2500
+ }
2484
2501
  .block-editor-media-flow__url-input .block-editor-media-replace-flow__image-url-label {
2485
2502
  display: block;
2486
2503
  top: 16px;
@@ -3282,6 +3299,7 @@
3282
3299
  .block-editor-inserter__popover.is-quick .components-popover__content {
3283
3300
  border: none;
3284
3301
  outline: none;
3302
+ box-shadow: 0 0.7px 1px rgba(0, 0, 0, 0.1), 0 1.2px 1.7px -0.2px rgba(0, 0, 0, 0.1), 0 2.3px 3.3px -0.5px rgba(0, 0, 0, 0.1);
3285
3303
  }
3286
3304
  .block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter > * {
3287
3305
  border-left: 1px solid #ccc;
@@ -3289,9 +3307,11 @@
3289
3307
  }
3290
3308
  .block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter > *:first-child {
3291
3309
  border-top: 1px solid #ccc;
3310
+ border-radius: 2px 2px 0 0;
3292
3311
  }
3293
3312
  .block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter > *:last-child {
3294
3313
  border-bottom: 1px solid #ccc;
3314
+ border-radius: 0 0 2px 2px;
3295
3315
  }
3296
3316
  .block-editor-inserter__popover.is-quick .components-popover__content .block-editor-inserter__quick-inserter > *.components-button {
3297
3317
  border: 1px solid #1e1e1e;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-editor",
3
- "version": "11.5.0",
3
+ "version": "11.7.0",
4
4
  "description": "Generic block editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -33,35 +33,35 @@
33
33
  "dependencies": {
34
34
  "@babel/runtime": "^7.16.0",
35
35
  "@react-spring/web": "^9.4.5",
36
- "@wordpress/a11y": "^3.28.0",
37
- "@wordpress/api-fetch": "^6.25.0",
38
- "@wordpress/blob": "^3.28.0",
39
- "@wordpress/blocks": "^12.5.0",
40
- "@wordpress/components": "^23.5.0",
41
- "@wordpress/compose": "^6.5.0",
42
- "@wordpress/data": "^8.5.0",
43
- "@wordpress/date": "^4.28.0",
44
- "@wordpress/deprecated": "^3.28.0",
45
- "@wordpress/dom": "^3.28.0",
46
- "@wordpress/element": "^5.5.0",
47
- "@wordpress/escape-html": "^2.28.0",
48
- "@wordpress/hooks": "^3.28.0",
49
- "@wordpress/html-entities": "^3.28.0",
50
- "@wordpress/i18n": "^4.28.0",
51
- "@wordpress/icons": "^9.19.0",
52
- "@wordpress/is-shallow-equal": "^4.28.0",
53
- "@wordpress/keyboard-shortcuts": "^4.5.0",
54
- "@wordpress/keycodes": "^3.28.0",
55
- "@wordpress/notices": "^3.28.0",
56
- "@wordpress/preferences": "^3.5.0",
57
- "@wordpress/private-apis": "^0.10.0",
58
- "@wordpress/rich-text": "^6.5.0",
59
- "@wordpress/shortcode": "^3.28.0",
60
- "@wordpress/style-engine": "^1.11.0",
61
- "@wordpress/token-list": "^2.28.0",
62
- "@wordpress/url": "^3.29.0",
63
- "@wordpress/warning": "^2.28.0",
64
- "@wordpress/wordcount": "^3.28.0",
36
+ "@wordpress/a11y": "^3.30.0",
37
+ "@wordpress/api-fetch": "^6.27.0",
38
+ "@wordpress/blob": "^3.30.0",
39
+ "@wordpress/blocks": "^12.7.0",
40
+ "@wordpress/components": "^23.7.0",
41
+ "@wordpress/compose": "^6.7.0",
42
+ "@wordpress/data": "^9.0.0",
43
+ "@wordpress/date": "^4.30.0",
44
+ "@wordpress/deprecated": "^3.30.0",
45
+ "@wordpress/dom": "^3.30.0",
46
+ "@wordpress/element": "^5.7.0",
47
+ "@wordpress/escape-html": "^2.30.0",
48
+ "@wordpress/hooks": "^3.30.0",
49
+ "@wordpress/html-entities": "^3.30.0",
50
+ "@wordpress/i18n": "^4.30.0",
51
+ "@wordpress/icons": "^9.21.0",
52
+ "@wordpress/is-shallow-equal": "^4.30.0",
53
+ "@wordpress/keyboard-shortcuts": "^4.7.0",
54
+ "@wordpress/keycodes": "^3.30.0",
55
+ "@wordpress/notices": "^3.30.0",
56
+ "@wordpress/preferences": "^3.7.0",
57
+ "@wordpress/private-apis": "^0.12.0",
58
+ "@wordpress/rich-text": "^6.7.0",
59
+ "@wordpress/shortcode": "^3.30.0",
60
+ "@wordpress/style-engine": "^1.13.0",
61
+ "@wordpress/token-list": "^2.30.0",
62
+ "@wordpress/url": "^3.31.0",
63
+ "@wordpress/warning": "^2.30.0",
64
+ "@wordpress/wordcount": "^3.30.0",
65
65
  "change-case": "^4.1.2",
66
66
  "classnames": "^2.3.1",
67
67
  "colord": "^2.7.0",
@@ -83,5 +83,5 @@
83
83
  "publishConfig": {
84
84
  "access": "public"
85
85
  },
86
- "gitHead": "d5e03a74b79e3ca84afda24375474a103a063ee4"
86
+ "gitHead": "d5c28a67b11e91e3e4b8e90346bfcb90909364d6"
87
87
  }
@@ -1,5 +1,5 @@
1
1
  // This creates a "slot" where the block you're dragging appeared.
2
- // We use !important as one of the rules are meant to be overriden.
2
+ // We use !important as one of the rules are meant to be overridden.
3
3
  .block-editor-block-list__layout .is-dragging {
4
4
  background-color: currentColor !important;
5
5
  opacity: 0.05 !important;
@@ -27,6 +27,9 @@
27
27
  .components-panel__body {
28
28
  border: none;
29
29
  border-top: $border-width solid $gray-200;
30
+
31
+ // Ensures this PanelBody is treated like the ToolsPanel, removing double borders.
32
+ margin-top: -$border-width;
30
33
  }
31
34
 
32
35
  .block-editor-block-card {
@@ -59,7 +59,7 @@ function BlockHTML( { clientId } ) {
59
59
 
60
60
  // Ensure the state is updated if we reset so it displays the default content.
61
61
  if ( ! html ) {
62
- setHtml( { content } );
62
+ setHtml( content );
63
63
  }
64
64
  };
65
65