@wordpress/block-editor 12.11.1 → 12.12.2-next.f8d8eceb.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 (453) hide show
  1. package/CHANGELOG.md +14 -10
  2. package/README.md +35 -3
  3. package/build/components/block-alignment-control/use-available-alignments.js +30 -28
  4. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  5. package/build/components/block-controls/hook.js +4 -1
  6. package/build/components/block-controls/hook.js.map +1 -1
  7. package/build/components/block-list/block-outline.native.js +1 -1
  8. package/build/components/block-list/block-outline.native.js.map +1 -1
  9. package/build/components/block-list/block.js +2 -0
  10. package/build/components/block-list/block.js.map +1 -1
  11. package/build/components/block-list/block.native.js +4 -4
  12. package/build/components/block-list/block.native.js.map +1 -1
  13. package/build/components/block-list/layout.js +2 -3
  14. package/build/components/block-list/layout.js.map +1 -1
  15. package/build/components/block-preview/index.js +4 -1
  16. package/build/components/block-preview/index.js.map +1 -1
  17. package/build/components/block-styles/index.js +1 -2
  18. package/build/components/block-styles/index.js.map +1 -1
  19. package/build/components/block-switcher/pattern-transformations-menu.js +2 -4
  20. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  21. package/build/components/block-tools/block-contextual-toolbar.js +1 -0
  22. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  23. package/build/components/border-radius-control/index.js +3 -2
  24. package/build/components/border-radius-control/index.js.map +1 -1
  25. package/build/components/color-palette/with-color-context.js +6 -6
  26. package/build/components/color-palette/with-color-context.js.map +1 -1
  27. package/build/components/colors/with-colors.js +2 -8
  28. package/build/components/colors/with-colors.js.map +1 -1
  29. package/build/components/colors-gradients/control.js +6 -7
  30. package/build/components/colors-gradients/control.js.map +1 -1
  31. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +5 -13
  32. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  33. package/build/components/dimensions-tool/index.js +22 -22
  34. package/build/components/dimensions-tool/index.js.map +1 -1
  35. package/build/components/dimensions-tool/scale-tool.js +1 -1
  36. package/build/components/dimensions-tool/scale-tool.js.map +1 -1
  37. package/build/components/font-family/index.js +2 -3
  38. package/build/components/font-family/index.js.map +1 -1
  39. package/build/components/font-sizes/font-size-picker.js +3 -5
  40. package/build/components/font-sizes/font-size-picker.js.map +1 -1
  41. package/build/components/font-sizes/with-font-sizes.js +3 -4
  42. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  43. package/build/components/global-styles/filters-panel.js +7 -8
  44. package/build/components/global-styles/filters-panel.js.map +1 -1
  45. package/build/components/global-styles/image-settings-panel.js +2 -2
  46. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  47. package/build/components/global-styles/typography-panel.js +1 -1
  48. package/build/components/global-styles/typography-panel.js.map +1 -1
  49. package/build/components/gradients/use-gradient.js +2 -5
  50. package/build/components/gradients/use-gradient.js.map +1 -1
  51. package/build/components/height-control/index.js +93 -5
  52. package/build/components/height-control/index.js.map +1 -1
  53. package/build/components/iframe/index.js +9 -1
  54. package/build/components/iframe/index.js.map +1 -1
  55. package/build/components/image-editor/aspect-ratio-dropdown.js +0 -6
  56. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  57. package/build/components/index.js +9 -2
  58. package/build/components/index.js.map +1 -1
  59. package/build/components/index.native.js +17 -2
  60. package/build/components/index.native.js.map +1 -1
  61. package/build/components/inner-blocks/index.js +2 -2
  62. package/build/components/inner-blocks/index.js.map +1 -1
  63. package/build/components/letter-spacing-control/index.js +3 -3
  64. package/build/components/letter-spacing-control/index.js.map +1 -1
  65. package/build/components/link-control/link-preview.js +5 -2
  66. package/build/components/link-control/link-preview.js.map +1 -1
  67. package/build/components/link-control/search-item.js +11 -0
  68. package/build/components/link-control/search-item.js.map +1 -1
  69. package/build/components/link-control/search-results.js +2 -1
  70. package/build/components/link-control/search-results.js.map +1 -1
  71. package/build/components/link-control/use-internal-value.js +14 -8
  72. package/build/components/link-control/use-internal-value.js.map +1 -1
  73. package/build/components/link-control/use-search-handler.js +10 -5
  74. package/build/components/link-control/use-search-handler.js.map +1 -1
  75. package/build/components/list-view/index.js +6 -5
  76. package/build/components/list-view/index.js.map +1 -1
  77. package/build/components/media-replace-flow/index.js +2 -4
  78. package/build/components/media-replace-flow/index.js.map +1 -1
  79. package/build/components/provider/use-block-sync.js +2 -2
  80. package/build/components/provider/use-block-sync.js.map +1 -1
  81. package/build/components/rich-text/index.js +1 -1
  82. package/build/components/rich-text/index.js.map +1 -1
  83. package/build/components/rich-text/index.native.js +14 -3
  84. package/build/components/rich-text/index.native.js.map +1 -1
  85. package/build/components/rich-text/use-delete.js +1 -1
  86. package/build/components/rich-text/use-delete.js.map +1 -1
  87. package/build/components/rich-text/use-paste-handler.js +25 -22
  88. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  89. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +6 -3
  90. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  91. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +91 -3
  92. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  93. package/build/components/tool-selector/index.js +1 -2
  94. package/build/components/tool-selector/index.js.map +1 -1
  95. package/build/components/unit-control/index.js +3 -3
  96. package/build/components/unit-control/index.js.map +1 -1
  97. package/build/components/use-block-commands/index.js +96 -47
  98. package/build/components/use-block-commands/index.js.map +1 -1
  99. package/build/components/use-settings/index.js +212 -0
  100. package/build/components/use-settings/index.js.map +1 -0
  101. package/build/components/writing-flow/use-arrow-nav.js +4 -0
  102. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  103. package/build/hooks/align.js +51 -35
  104. package/build/hooks/align.js.map +1 -1
  105. package/build/hooks/anchor.js +37 -32
  106. package/build/hooks/anchor.js.map +1 -1
  107. package/build/hooks/background.js +4 -4
  108. package/build/hooks/background.js.map +1 -1
  109. package/build/hooks/block-rename-ui.js +5 -5
  110. package/build/hooks/block-rename-ui.js.map +1 -1
  111. package/build/hooks/{metadata-name.js → block-renaming.js} +3 -7
  112. package/build/hooks/block-renaming.js.map +1 -0
  113. package/build/hooks/color.js +2 -4
  114. package/build/hooks/color.js.map +1 -1
  115. package/build/hooks/custom-class-name.js +28 -21
  116. package/build/hooks/custom-class-name.js.map +1 -1
  117. package/build/hooks/duotone.js +33 -8
  118. package/build/hooks/duotone.js.map +1 -1
  119. package/build/hooks/font-size.js +4 -4
  120. package/build/hooks/font-size.js.map +1 -1
  121. package/build/hooks/index.js +1 -1
  122. package/build/hooks/index.js.map +1 -1
  123. package/build/hooks/layout.js +16 -17
  124. package/build/hooks/layout.js.map +1 -1
  125. package/build/hooks/line-height.js +3 -3
  126. package/build/hooks/line-height.js.map +1 -1
  127. package/build/hooks/metadata.js +6 -27
  128. package/build/hooks/metadata.js.map +1 -1
  129. package/build/hooks/position.js +2 -3
  130. package/build/hooks/position.js.map +1 -1
  131. package/build/hooks/use-color-props.js +3 -11
  132. package/build/hooks/use-color-props.js.map +1 -1
  133. package/build/hooks/utils.js +2 -43
  134. package/build/hooks/utils.js.map +1 -1
  135. package/build/layouts/constrained.js +3 -3
  136. package/build/layouts/constrained.js.map +1 -1
  137. package/build/layouts/grid.js +25 -3
  138. package/build/layouts/grid.js.map +1 -1
  139. package/build/layouts/utils.js +1 -1
  140. package/build/layouts/utils.js.map +1 -1
  141. package/build/lock-unlock.js +1 -1
  142. package/build/lock-unlock.js.map +1 -1
  143. package/build/store/actions.js +13 -5
  144. package/build/store/actions.js.map +1 -1
  145. package/build/utils/object.js +4 -1
  146. package/build/utils/object.js.map +1 -1
  147. package/build/utils/parse-css-unit-to-px.js +20 -0
  148. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  149. package/build/utils/pasting.js +1 -1
  150. package/build/utils/pasting.js.map +1 -1
  151. package/build/utils/transform-styles/index.js +19 -24
  152. package/build/utils/transform-styles/index.js.map +1 -1
  153. package/build-module/components/block-alignment-control/use-available-alignments.js +30 -28
  154. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  155. package/build-module/components/block-controls/hook.js +4 -1
  156. package/build-module/components/block-controls/hook.js.map +1 -1
  157. package/build-module/components/block-list/block-outline.native.js +1 -1
  158. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  159. package/build-module/components/block-list/block.js +2 -0
  160. package/build-module/components/block-list/block.js.map +1 -1
  161. package/build-module/components/block-list/block.native.js +4 -4
  162. package/build-module/components/block-list/block.native.js.map +1 -1
  163. package/build-module/components/block-list/layout.js +2 -2
  164. package/build-module/components/block-list/layout.js.map +1 -1
  165. package/build-module/components/block-preview/index.js +4 -1
  166. package/build-module/components/block-preview/index.js.map +1 -1
  167. package/build-module/components/block-styles/index.js +1 -2
  168. package/build-module/components/block-styles/index.js.map +1 -1
  169. package/build-module/components/block-switcher/pattern-transformations-menu.js +2 -4
  170. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  171. package/build-module/components/block-tools/block-contextual-toolbar.js +1 -0
  172. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  173. package/build-module/components/border-radius-control/index.js +3 -2
  174. package/build-module/components/border-radius-control/index.js.map +1 -1
  175. package/build-module/components/color-palette/with-color-context.js +6 -5
  176. package/build-module/components/color-palette/with-color-context.js.map +1 -1
  177. package/build-module/components/colors/with-colors.js +2 -7
  178. package/build-module/components/colors/with-colors.js.map +1 -1
  179. package/build-module/components/colors-gradients/control.js +6 -7
  180. package/build-module/components/colors-gradients/control.js.map +1 -1
  181. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +5 -12
  182. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  183. package/build-module/components/dimensions-tool/index.js +22 -22
  184. package/build-module/components/dimensions-tool/index.js.map +1 -1
  185. package/build-module/components/dimensions-tool/scale-tool.js +1 -1
  186. package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
  187. package/build-module/components/font-family/index.js +2 -2
  188. package/build-module/components/font-family/index.js.map +1 -1
  189. package/build-module/components/font-sizes/font-size-picker.js +3 -4
  190. package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
  191. package/build-module/components/font-sizes/with-font-sizes.js +3 -3
  192. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  193. package/build-module/components/global-styles/filters-panel.js +7 -8
  194. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  195. package/build-module/components/global-styles/image-settings-panel.js +2 -2
  196. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  197. package/build-module/components/global-styles/typography-panel.js +1 -1
  198. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  199. package/build-module/components/gradients/use-gradient.js +2 -4
  200. package/build-module/components/gradients/use-gradient.js.map +1 -1
  201. package/build-module/components/height-control/index.js +93 -4
  202. package/build-module/components/height-control/index.js.map +1 -1
  203. package/build-module/components/iframe/index.js +9 -1
  204. package/build-module/components/iframe/index.js.map +1 -1
  205. package/build-module/components/image-editor/aspect-ratio-dropdown.js +0 -6
  206. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
  207. package/build-module/components/index.js +1 -1
  208. package/build-module/components/index.js.map +1 -1
  209. package/build-module/components/index.native.js +2 -1
  210. package/build-module/components/index.native.js.map +1 -1
  211. package/build-module/components/inner-blocks/index.js +2 -2
  212. package/build-module/components/inner-blocks/index.js.map +1 -1
  213. package/build-module/components/letter-spacing-control/index.js +3 -2
  214. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  215. package/build-module/components/link-control/link-preview.js +6 -3
  216. package/build-module/components/link-control/link-preview.js.map +1 -1
  217. package/build-module/components/link-control/search-item.js +12 -1
  218. package/build-module/components/link-control/search-item.js.map +1 -1
  219. package/build-module/components/link-control/search-results.js +2 -1
  220. package/build-module/components/link-control/search-results.js.map +1 -1
  221. package/build-module/components/link-control/use-internal-value.js +14 -9
  222. package/build-module/components/link-control/use-internal-value.js.map +1 -1
  223. package/build-module/components/link-control/use-search-handler.js +10 -5
  224. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  225. package/build-module/components/list-view/index.js +7 -6
  226. package/build-module/components/list-view/index.js.map +1 -1
  227. package/build-module/components/media-replace-flow/index.js +3 -5
  228. package/build-module/components/media-replace-flow/index.js.map +1 -1
  229. package/build-module/components/provider/use-block-sync.js +2 -2
  230. package/build-module/components/provider/use-block-sync.js.map +1 -1
  231. package/build-module/components/rich-text/index.js +1 -1
  232. package/build-module/components/rich-text/index.js.map +1 -1
  233. package/build-module/components/rich-text/index.native.js +15 -4
  234. package/build-module/components/rich-text/index.native.js.map +1 -1
  235. package/build-module/components/rich-text/use-delete.js +1 -1
  236. package/build-module/components/rich-text/use-delete.js.map +1 -1
  237. package/build-module/components/rich-text/use-paste-handler.js +25 -22
  238. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  239. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +6 -2
  240. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  241. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +91 -2
  242. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  243. package/build-module/components/tool-selector/index.js +1 -2
  244. package/build-module/components/tool-selector/index.js.map +1 -1
  245. package/build-module/components/unit-control/index.js +3 -2
  246. package/build-module/components/unit-control/index.js.map +1 -1
  247. package/build-module/components/use-block-commands/index.js +95 -47
  248. package/build-module/components/use-block-commands/index.js.map +1 -1
  249. package/build-module/components/use-settings/index.js +203 -0
  250. package/build-module/components/use-settings/index.js.map +1 -0
  251. package/build-module/components/writing-flow/use-arrow-nav.js +4 -0
  252. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  253. package/build-module/hooks/align.js +51 -35
  254. package/build-module/hooks/align.js.map +1 -1
  255. package/build-module/hooks/anchor.js +37 -32
  256. package/build-module/hooks/anchor.js.map +1 -1
  257. package/build-module/hooks/background.js +4 -4
  258. package/build-module/hooks/background.js.map +1 -1
  259. package/build-module/hooks/block-rename-ui.js +6 -6
  260. package/build-module/hooks/block-rename-ui.js.map +1 -1
  261. package/build-module/hooks/{metadata-name.js → block-renaming.js} +3 -6
  262. package/build-module/hooks/block-renaming.js.map +1 -0
  263. package/build-module/hooks/color.js +2 -4
  264. package/build-module/hooks/color.js.map +1 -1
  265. package/build-module/hooks/custom-class-name.js +28 -21
  266. package/build-module/hooks/custom-class-name.js.map +1 -1
  267. package/build-module/hooks/duotone.js +34 -9
  268. package/build-module/hooks/duotone.js.map +1 -1
  269. package/build-module/hooks/font-size.js +4 -4
  270. package/build-module/hooks/font-size.js.map +1 -1
  271. package/build-module/hooks/index.js +1 -1
  272. package/build-module/hooks/index.js.map +1 -1
  273. package/build-module/hooks/layout.js +16 -17
  274. package/build-module/hooks/layout.js.map +1 -1
  275. package/build-module/hooks/line-height.js +3 -3
  276. package/build-module/hooks/line-height.js.map +1 -1
  277. package/build-module/hooks/metadata.js +6 -25
  278. package/build-module/hooks/metadata.js.map +1 -1
  279. package/build-module/hooks/position.js +2 -3
  280. package/build-module/hooks/position.js.map +1 -1
  281. package/build-module/hooks/use-color-props.js +3 -11
  282. package/build-module/hooks/use-color-props.js.map +1 -1
  283. package/build-module/hooks/utils.js +3 -44
  284. package/build-module/hooks/utils.js.map +1 -1
  285. package/build-module/layouts/constrained.js +3 -2
  286. package/build-module/layouts/constrained.js.map +1 -1
  287. package/build-module/layouts/grid.js +25 -3
  288. package/build-module/layouts/grid.js.map +1 -1
  289. package/build-module/layouts/utils.js +1 -1
  290. package/build-module/layouts/utils.js.map +1 -1
  291. package/build-module/lock-unlock.js +1 -1
  292. package/build-module/lock-unlock.js.map +1 -1
  293. package/build-module/store/actions.js +14 -6
  294. package/build-module/store/actions.js.map +1 -1
  295. package/build-module/utils/object.js +3 -1
  296. package/build-module/utils/object.js.map +1 -1
  297. package/build-module/utils/parse-css-unit-to-px.js +20 -0
  298. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  299. package/build-module/utils/pasting.js +1 -1
  300. package/build-module/utils/pasting.js.map +1 -1
  301. package/build-module/utils/transform-styles/index.js +20 -24
  302. package/build-module/utils/transform-styles/index.js.map +1 -1
  303. package/build-style/style-rtl.css +24 -12
  304. package/build-style/style.css +24 -12
  305. package/package.json +36 -34
  306. package/src/components/block-alignment-control/use-available-alignments.js +49 -34
  307. package/src/components/block-controls/hook.js +6 -3
  308. package/src/components/block-list/block-outline.native.js +1 -1
  309. package/src/components/block-list/block.js +2 -0
  310. package/src/components/block-list/block.native.js +4 -4
  311. package/src/components/block-list/layout.js +2 -2
  312. package/src/components/block-preview/index.js +7 -1
  313. package/src/components/block-styles/index.js +1 -4
  314. package/src/components/block-styles/style.scss +1 -1
  315. package/src/components/block-switcher/pattern-transformations-menu.js +1 -4
  316. package/src/components/block-switcher/style.scss +6 -0
  317. package/src/components/block-tools/block-contextual-toolbar.js +1 -0
  318. package/src/components/block-tools/style.scss +0 -1
  319. package/src/components/border-radius-control/index.js +3 -2
  320. package/src/components/color-palette/test/__snapshots__/control.js.snap +3 -1
  321. package/src/components/color-palette/with-color-context.js +9 -9
  322. package/src/components/colors/with-colors.js +6 -7
  323. package/src/components/colors-gradients/control.js +10 -7
  324. package/src/components/colors-gradients/style.scss +4 -2
  325. package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +29 -15
  326. package/src/components/dimensions-tool/index.js +25 -25
  327. package/src/components/dimensions-tool/scale-tool.js +1 -1
  328. package/src/components/font-family/index.js +2 -2
  329. package/src/components/font-sizes/font-size-picker.js +6 -4
  330. package/src/components/font-sizes/with-font-sizes.js +3 -5
  331. package/src/components/global-styles/filters-panel.js +9 -15
  332. package/src/components/global-styles/image-settings-panel.js +2 -2
  333. package/src/components/global-styles/typography-panel.js +1 -1
  334. package/src/components/gradients/use-gradient.js +10 -4
  335. package/src/components/height-control/index.js +53 -4
  336. package/src/components/iframe/index.js +8 -1
  337. package/src/components/image-editor/aspect-ratio-dropdown.js +0 -8
  338. package/src/components/index.js +1 -1
  339. package/src/components/index.native.js +2 -1
  340. package/src/components/inner-blocks/index.js +2 -2
  341. package/src/components/inserter/style.scss +9 -1
  342. package/src/components/letter-spacing-control/index.js +3 -2
  343. package/src/components/link-control/README.md +43 -0
  344. package/src/components/link-control/link-preview.js +11 -5
  345. package/src/components/link-control/search-item.js +14 -0
  346. package/src/components/link-control/search-results.js +1 -0
  347. package/src/components/link-control/style.scss +3 -3
  348. package/src/components/link-control/test/index.js +19 -0
  349. package/src/components/link-control/use-internal-value.js +14 -10
  350. package/src/components/link-control/use-search-handler.js +22 -15
  351. package/src/components/list-view/index.js +13 -3
  352. package/src/components/media-replace-flow/index.js +9 -14
  353. package/src/components/provider/test/use-block-sync.js +1 -1
  354. package/src/components/provider/use-block-sync.js +2 -2
  355. package/src/components/rich-text/index.js +1 -1
  356. package/src/components/rich-text/index.native.js +19 -3
  357. package/src/components/rich-text/use-delete.js +1 -1
  358. package/src/components/rich-text/use-paste-handler.js +27 -24
  359. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +7 -5
  360. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +25 -2
  361. package/src/components/tool-selector/index.js +1 -1
  362. package/src/components/unit-control/index.js +3 -8
  363. package/src/components/use-block-commands/index.js +93 -47
  364. package/src/components/{use-setting → use-settings}/README.md +9 -10
  365. package/src/components/use-settings/index.js +272 -0
  366. package/src/components/{use-setting → use-settings}/test/index.js +47 -5
  367. package/src/components/writing-flow/use-arrow-nav.js +4 -0
  368. package/src/hooks/align.js +79 -54
  369. package/src/hooks/anchor.js +75 -65
  370. package/src/hooks/background.js +7 -9
  371. package/src/hooks/block-rename-ui.js +5 -14
  372. package/src/hooks/{metadata-name.js → block-renaming.js} +4 -7
  373. package/src/hooks/color.js +7 -4
  374. package/src/hooks/custom-class-name.js +36 -31
  375. package/src/hooks/duotone.js +51 -14
  376. package/src/hooks/font-size.js +4 -4
  377. package/src/hooks/index.js +1 -1
  378. package/src/hooks/layout.js +17 -17
  379. package/src/hooks/line-height.js +3 -3
  380. package/src/hooks/metadata.js +6 -38
  381. package/src/hooks/position.js +5 -3
  382. package/src/hooks/use-color-props.js +21 -14
  383. package/src/hooks/utils.js +90 -43
  384. package/src/layouts/constrained.js +3 -8
  385. package/src/layouts/grid.js +50 -2
  386. package/src/layouts/utils.js +2 -1
  387. package/src/lock-unlock.js +1 -1
  388. package/src/store/actions.js +25 -8
  389. package/src/utils/object.js +4 -1
  390. package/src/utils/parse-css-unit-to-px.js +20 -0
  391. package/src/utils/pasting.js +1 -4
  392. package/src/utils/test/__snapshots__/transform-styles.js.snap +103 -0
  393. package/src/utils/test/pasting.js +12 -19
  394. package/src/utils/test/transform-styles.js +217 -0
  395. package/src/utils/transform-styles/index.js +25 -25
  396. package/build/components/use-setting/index.js +0 -159
  397. package/build/components/use-setting/index.js.map +0 -1
  398. package/build/hooks/metadata-name.js.map +0 -1
  399. package/build/utils/transform-styles/ast/index.js +0 -21
  400. package/build/utils/transform-styles/ast/index.js.map +0 -1
  401. package/build/utils/transform-styles/ast/parse.js +0 -660
  402. package/build/utils/transform-styles/ast/parse.js.map +0 -1
  403. package/build/utils/transform-styles/ast/stringify/compiler.js +0 -52
  404. package/build/utils/transform-styles/ast/stringify/compiler.js.map +0 -1
  405. package/build/utils/transform-styles/ast/stringify/compress.js +0 -178
  406. package/build/utils/transform-styles/ast/stringify/compress.js.map +0 -1
  407. package/build/utils/transform-styles/ast/stringify/identity.js +0 -207
  408. package/build/utils/transform-styles/ast/stringify/identity.js.map +0 -1
  409. package/build/utils/transform-styles/ast/stringify/index.js +0 -36
  410. package/build/utils/transform-styles/ast/stringify/index.js.map +0 -1
  411. package/build/utils/transform-styles/transforms/url-rewrite.js +0 -130
  412. package/build/utils/transform-styles/transforms/url-rewrite.js.map +0 -1
  413. package/build/utils/transform-styles/transforms/wrap.js +0 -59
  414. package/build/utils/transform-styles/transforms/wrap.js.map +0 -1
  415. package/build/utils/transform-styles/traverse.js +0 -37
  416. package/build/utils/transform-styles/traverse.js.map +0 -1
  417. package/build-module/components/use-setting/index.js +0 -152
  418. package/build-module/components/use-setting/index.js.map +0 -1
  419. package/build-module/hooks/metadata-name.js.map +0 -1
  420. package/build-module/utils/transform-styles/ast/index.js +0 -6
  421. package/build-module/utils/transform-styles/ast/index.js.map +0 -1
  422. package/build-module/utils/transform-styles/ast/parse.js +0 -654
  423. package/build-module/utils/transform-styles/ast/parse.js.map +0 -1
  424. package/build-module/utils/transform-styles/ast/stringify/compiler.js +0 -49
  425. package/build-module/utils/transform-styles/ast/stringify/compiler.js.map +0 -1
  426. package/build-module/utils/transform-styles/ast/stringify/compress.js +0 -176
  427. package/build-module/utils/transform-styles/ast/stringify/compress.js.map +0 -1
  428. package/build-module/utils/transform-styles/ast/stringify/identity.js +0 -206
  429. package/build-module/utils/transform-styles/ast/stringify/identity.js.map +0 -1
  430. package/build-module/utils/transform-styles/ast/stringify/index.js +0 -29
  431. package/build-module/utils/transform-styles/ast/stringify/index.js.map +0 -1
  432. package/build-module/utils/transform-styles/transforms/url-rewrite.js +0 -123
  433. package/build-module/utils/transform-styles/transforms/url-rewrite.js.map +0 -1
  434. package/build-module/utils/transform-styles/transforms/wrap.js +0 -52
  435. package/build-module/utils/transform-styles/transforms/wrap.js.map +0 -1
  436. package/build-module/utils/transform-styles/traverse.js +0 -28
  437. package/build-module/utils/transform-styles/traverse.js.map +0 -1
  438. package/src/components/use-setting/index.js +0 -213
  439. package/src/utils/transform-styles/ast/index.js +0 -5
  440. package/src/utils/transform-styles/ast/parse.js +0 -732
  441. package/src/utils/transform-styles/ast/stringify/compiler.js +0 -50
  442. package/src/utils/transform-styles/ast/stringify/compress.js +0 -238
  443. package/src/utils/transform-styles/ast/stringify/identity.js +0 -286
  444. package/src/utils/transform-styles/ast/stringify/index.js +0 -32
  445. package/src/utils/transform-styles/test/__snapshots__/traverse.js.snap +0 -7
  446. package/src/utils/transform-styles/test/traverse.js +0 -24
  447. package/src/utils/transform-styles/transforms/test/__snapshots__/url-rewrite.js.snap +0 -25
  448. package/src/utils/transform-styles/transforms/test/__snapshots__/wrap.js.snap +0 -64
  449. package/src/utils/transform-styles/transforms/test/url-rewrite.js +0 -39
  450. package/src/utils/transform-styles/transforms/test/wrap.js +0 -95
  451. package/src/utils/transform-styles/transforms/url-rewrite.js +0 -139
  452. package/src/utils/transform-styles/transforms/wrap.js +0 -56
  453. package/src/utils/transform-styles/traverse.js +0 -32
@@ -7,7 +7,7 @@ import { useMemo } from '@wordpress/element';
7
7
  /**
8
8
  * Internal dependencies
9
9
  */
10
- import { useSetting } from '../components';
10
+ import { useSettings } from '../components';
11
11
  import { useSettingsForBlockElement } from '../components/global-styles/hooks';
12
12
  import { getValueFromObjectPath, setImmutably } from '../utils/object';
13
13
 
@@ -126,48 +126,93 @@ export function shouldSkipSerialization( blockType, featureSet, feature ) {
126
126
  * @return {Object} Settings object.
127
127
  */
128
128
  export function useBlockSettings( name, parentLayout ) {
129
- const fontFamilies = useSetting( 'typography.fontFamilies' );
130
- const fontSizes = useSetting( 'typography.fontSizes' );
131
- const customFontSize = useSetting( 'typography.customFontSize' );
132
- const fontStyle = useSetting( 'typography.fontStyle' );
133
- const fontWeight = useSetting( 'typography.fontWeight' );
134
- const lineHeight = useSetting( 'typography.lineHeight' );
135
- const textColumns = useSetting( 'typography.textColumns' );
136
- const textDecoration = useSetting( 'typography.textDecoration' );
137
- const writingMode = useSetting( 'typography.writingMode' );
138
- const textTransform = useSetting( 'typography.textTransform' );
139
- const letterSpacing = useSetting( 'typography.letterSpacing' );
140
- const padding = useSetting( 'spacing.padding' );
141
- const margin = useSetting( 'spacing.margin' );
142
- const blockGap = useSetting( 'spacing.blockGap' );
143
- const spacingSizes = useSetting( 'spacing.spacingSizes' );
144
- const units = useSetting( 'spacing.units' );
145
- const minHeight = useSetting( 'dimensions.minHeight' );
146
- const layout = useSetting( 'layout' );
147
- const borderColor = useSetting( 'border.color' );
148
- const borderRadius = useSetting( 'border.radius' );
149
- const borderStyle = useSetting( 'border.style' );
150
- const borderWidth = useSetting( 'border.width' );
151
- const customColorsEnabled = useSetting( 'color.custom' );
152
- const customColors = useSetting( 'color.palette.custom' );
153
- const customDuotone = useSetting( 'color.customDuotone' );
154
- const themeColors = useSetting( 'color.palette.theme' );
155
- const defaultColors = useSetting( 'color.palette.default' );
156
- const defaultPalette = useSetting( 'color.defaultPalette' );
157
- const defaultDuotone = useSetting( 'color.defaultDuotone' );
158
- const userDuotonePalette = useSetting( 'color.duotone.custom' );
159
- const themeDuotonePalette = useSetting( 'color.duotone.theme' );
160
- const defaultDuotonePalette = useSetting( 'color.duotone.default' );
161
- const userGradientPalette = useSetting( 'color.gradients.custom' );
162
- const themeGradientPalette = useSetting( 'color.gradients.theme' );
163
- const defaultGradientPalette = useSetting( 'color.gradients.default' );
164
- const defaultGradients = useSetting( 'color.defaultGradients' );
165
- const areCustomGradientsEnabled = useSetting( 'color.customGradient' );
166
- const isBackgroundEnabled = useSetting( 'color.background' );
167
- const isLinkEnabled = useSetting( 'color.link' );
168
- const isTextEnabled = useSetting( 'color.text' );
169
- const isHeadingEnabled = useSetting( 'color.heading' );
170
- const isButtonEnabled = useSetting( 'color.button' );
129
+ const [
130
+ fontFamilies,
131
+ fontSizes,
132
+ customFontSize,
133
+ fontStyle,
134
+ fontWeight,
135
+ lineHeight,
136
+ textColumns,
137
+ textDecoration,
138
+ writingMode,
139
+ textTransform,
140
+ letterSpacing,
141
+ padding,
142
+ margin,
143
+ blockGap,
144
+ spacingSizes,
145
+ units,
146
+ minHeight,
147
+ layout,
148
+ borderColor,
149
+ borderRadius,
150
+ borderStyle,
151
+ borderWidth,
152
+ customColorsEnabled,
153
+ customColors,
154
+ customDuotone,
155
+ themeColors,
156
+ defaultColors,
157
+ defaultPalette,
158
+ defaultDuotone,
159
+ userDuotonePalette,
160
+ themeDuotonePalette,
161
+ defaultDuotonePalette,
162
+ userGradientPalette,
163
+ themeGradientPalette,
164
+ defaultGradientPalette,
165
+ defaultGradients,
166
+ areCustomGradientsEnabled,
167
+ isBackgroundEnabled,
168
+ isLinkEnabled,
169
+ isTextEnabled,
170
+ isHeadingEnabled,
171
+ isButtonEnabled,
172
+ ] = useSettings(
173
+ 'typography.fontFamilies',
174
+ 'typography.fontSizes',
175
+ 'typography.customFontSize',
176
+ 'typography.fontStyle',
177
+ 'typography.fontWeight',
178
+ 'typography.lineHeight',
179
+ 'typography.textColumns',
180
+ 'typography.textDecoration',
181
+ 'typography.writingMode',
182
+ 'typography.textTransform',
183
+ 'typography.letterSpacing',
184
+ 'spacing.padding',
185
+ 'spacing.margin',
186
+ 'spacing.blockGap',
187
+ 'spacing.spacingSizes',
188
+ 'spacing.units',
189
+ 'dimensions.minHeight',
190
+ 'layout',
191
+ 'border.color',
192
+ 'border.radius',
193
+ 'border.style',
194
+ 'border.width',
195
+ 'color.custom',
196
+ 'color.palette.custom',
197
+ 'color.customDuotone',
198
+ 'color.palette.theme',
199
+ 'color.palette.default',
200
+ 'color.defaultPalette',
201
+ 'color.defaultDuotone',
202
+ 'color.duotone.custom',
203
+ 'color.duotone.theme',
204
+ 'color.duotone.default',
205
+ 'color.gradients.custom',
206
+ 'color.gradients.theme',
207
+ 'color.gradients.default',
208
+ 'color.defaultGradients',
209
+ 'color.customGradient',
210
+ 'color.background',
211
+ 'color.link',
212
+ 'color.text',
213
+ 'color.heading',
214
+ 'color.button'
215
+ );
171
216
 
172
217
  const rawSettings = useMemo( () => {
173
218
  return {
@@ -279,6 +324,8 @@ export function useBlockSettings( name, parentLayout ) {
279
324
  isBackgroundEnabled,
280
325
  isLinkEnabled,
281
326
  isTextEnabled,
327
+ isHeadingEnabled,
328
+ isButtonEnabled,
282
329
  ] );
283
330
 
284
331
  return useSettingsForBlockElement( rawSettings, name );
@@ -21,7 +21,7 @@ import { getCSSRules } from '@wordpress/style-engine';
21
21
  /**
22
22
  * Internal dependencies
23
23
  */
24
- import useSetting from '../components/use-setting';
24
+ import { useSettings } from '../components/use-settings';
25
25
  import { appendSelectors, getBlockGapCSS, getAlignmentsInfo } from './utils';
26
26
  import { getGapCSSValue } from '../hooks/gap';
27
27
  import { shouldSkipSerialization } from '../hooks/utils';
@@ -60,14 +60,9 @@ export default {
60
60
  label: __( 'Justify items right' ),
61
61
  },
62
62
  ];
63
+ const [ availableUnits ] = useSettings( 'spacing.units' );
63
64
  const units = useCustomUnits( {
64
- availableUnits: useSetting( 'spacing.units' ) || [
65
- '%',
66
- 'px',
67
- 'em',
68
- 'rem',
69
- 'vw',
70
- ],
65
+ availableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],
71
66
  } );
72
67
  return (
73
68
  <>
@@ -27,6 +27,28 @@ const RANGE_CONTROL_MAX_VALUES = {
27
27
  vh: 100,
28
28
  em: 38,
29
29
  rem: 38,
30
+ svw: 100,
31
+ lvw: 100,
32
+ dvw: 100,
33
+ svh: 100,
34
+ lvh: 100,
35
+ dvh: 100,
36
+ vi: 100,
37
+ svi: 100,
38
+ lvi: 100,
39
+ dvi: 100,
40
+ vb: 100,
41
+ svb: 100,
42
+ lvb: 100,
43
+ dvb: 100,
44
+ vmin: 100,
45
+ svmin: 100,
46
+ lvmin: 100,
47
+ dvmin: 100,
48
+ vmax: 100,
49
+ svmax: 100,
50
+ lvmax: 100,
51
+ dvmax: 100,
30
52
  };
31
53
 
32
54
  export default {
@@ -131,10 +153,36 @@ function GridLayoutMinimumWidthControl( { layout, onChange } ) {
131
153
  // Convert to pixel value assuming a root size of 16px.
132
154
  newValue = Math.round( quantity * 16 ) + newUnit;
133
155
  } else if (
134
- [ 'vh', 'vw', '%' ].includes( newUnit ) &&
156
+ [
157
+ 'vh',
158
+ 'vw',
159
+ '%',
160
+ 'svw',
161
+ 'lvw',
162
+ 'dvw',
163
+ 'svh',
164
+ 'lvh',
165
+ 'dvh',
166
+ 'vi',
167
+ 'svi',
168
+ 'lvi',
169
+ 'dvi',
170
+ 'vb',
171
+ 'svb',
172
+ 'lvb',
173
+ 'dvb',
174
+ 'vmin',
175
+ 'svmin',
176
+ 'lvmin',
177
+ 'dvmin',
178
+ 'vmax',
179
+ 'svmax',
180
+ 'lvmax',
181
+ 'dvmax',
182
+ ].includes( newUnit ) &&
135
183
  quantity > 100
136
184
  ) {
137
- // When converting to `vh`, `vw`, or `%` units, cap the new value at 100.
185
+ // When converting to `%` or viewport-relative units, cap the new value at 100.
138
186
  newValue = 100 + newUnit;
139
187
  }
140
188
 
@@ -90,7 +90,8 @@ export function getBlockGapCSS(
90
90
  export function getAlignmentsInfo( layout ) {
91
91
  const { contentSize, wideSize, type = 'default' } = layout;
92
92
  const alignmentInfo = {};
93
- const sizeRegex = /^(?!0)\d+(px|em|rem|vw|vh|%)?$/i;
93
+ const sizeRegex =
94
+ /^(?!0)\d+(px|em|rem|vw|vh|%|svw|lvw|dvw|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax)?$/i;
94
95
  if ( sizeRegex.test( contentSize ) && type === 'constrained' ) {
95
96
  // translators: %s: container size (i.e. 600px etc)
96
97
  alignmentInfo.none = sprintf( __( 'Max %s wide' ), contentSize );
@@ -5,6 +5,6 @@ import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/pri
5
5
 
6
6
  export const { lock, unlock } =
7
7
  __dangerousOptInToUnstableAPIsOnlyForCoreModules(
8
- 'I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.',
8
+ 'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.',
9
9
  '@wordpress/block-editor'
10
10
  );
@@ -13,6 +13,7 @@ import {
13
13
  switchToBlockType,
14
14
  synchronizeBlocksWithTemplate,
15
15
  getBlockSupport,
16
+ isUnmodifiedDefaultBlock,
16
17
  } from '@wordpress/blocks';
17
18
  import { speak } from '@wordpress/a11y';
18
19
  import { __, _n, sprintf } from '@wordpress/i18n';
@@ -1013,17 +1014,12 @@ export const mergeBlocks =
1013
1014
 
1014
1015
  if ( ! blockAType ) return;
1015
1016
 
1017
+ const blockB = select.getBlock( clientIdB );
1018
+
1016
1019
  if (
1017
1020
  ! blockAType.merge &&
1018
- ! getBlockSupport( blockA.name, '__experimentalOnMerge' )
1021
+ getBlockSupport( blockA.name, '__experimentalOnMerge' )
1019
1022
  ) {
1020
- dispatch.selectBlock( blockA.clientId );
1021
- return;
1022
- }
1023
-
1024
- const blockB = select.getBlock( clientIdB );
1025
-
1026
- if ( ! blockAType.merge ) {
1027
1023
  // If there's no merge function defined, attempt merging inner
1028
1024
  // blocks.
1029
1025
  const blocksWithTheSameType = switchToBlockType(
@@ -1090,6 +1086,27 @@ export const mergeBlocks =
1090
1086
  return;
1091
1087
  }
1092
1088
 
1089
+ if ( isUnmodifiedDefaultBlock( blockA ) ) {
1090
+ dispatch.removeBlock(
1091
+ clientIdA,
1092
+ select.isBlockSelected( clientIdA )
1093
+ );
1094
+ return;
1095
+ }
1096
+
1097
+ if ( isUnmodifiedDefaultBlock( blockB ) ) {
1098
+ dispatch.removeBlock(
1099
+ clientIdB,
1100
+ select.isBlockSelected( clientIdB )
1101
+ );
1102
+ return;
1103
+ }
1104
+
1105
+ if ( ! blockAType.merge ) {
1106
+ dispatch.selectBlock( blockA.clientId );
1107
+ return;
1108
+ }
1109
+
1093
1110
  const blockBType = getBlockType( blockB.name );
1094
1111
  const { clientId, attributeKey, offset } = select.getSelectionStart();
1095
1112
  const selectedBlockType =
@@ -2,6 +2,7 @@
2
2
  * External dependencies
3
3
  */
4
4
  import { paramCase } from 'change-case';
5
+ import memoize from 'memize';
5
6
 
6
7
  /**
7
8
  * Converts a path to an array of its fragments.
@@ -112,6 +113,8 @@ export function setImmutably( object, path, value ) {
112
113
  return newObject;
113
114
  }
114
115
 
116
+ const stringToPath = memoize( ( path ) => path.split( '.' ) );
117
+
115
118
  /**
116
119
  * Helper util to return a value from a certain path of the object.
117
120
  * Path is specified as either:
@@ -125,7 +128,7 @@ export function setImmutably( object, path, value ) {
125
128
  * @return {*} Value of the object property at the specified path.
126
129
  */
127
130
  export const getValueFromObjectPath = ( object, path, defaultValue ) => {
128
- const normalizedPath = Array.isArray( path ) ? path : path.split( '.' );
131
+ const normalizedPath = Array.isArray( path ) ? path : stringToPath( path );
129
132
  let value = object;
130
133
  normalizedPath.forEach( ( fieldName ) => {
131
134
  value = value?.[ fieldName ];
@@ -211,6 +211,26 @@ function convertParsedUnitToPx( parsedUnit, options ) {
211
211
  ex: 7.15625, // X-height of the element's font. Approximate.
212
212
  lh: setOptions.lineHeight,
213
213
  };
214
+ relativeUnits.svw = relativeUnits.vmin;
215
+ relativeUnits.lvw = relativeUnits.vmax;
216
+ relativeUnits.dvw = relativeUnits.vw;
217
+ relativeUnits.svh = relativeUnits.vmin;
218
+ relativeUnits.lvh = relativeUnits.vmax;
219
+ relativeUnits.dvh = relativeUnits.vh;
220
+ relativeUnits.vi = relativeUnits.vh;
221
+ relativeUnits.svi = relativeUnits.vmin;
222
+ relativeUnits.lvi = relativeUnits.vmax;
223
+ relativeUnits.dvi = relativeUnits.vw;
224
+ relativeUnits.vb = relativeUnits.vh;
225
+ relativeUnits.svb = relativeUnits.vmin;
226
+ relativeUnits.lvb = relativeUnits.vmax;
227
+ relativeUnits.dvb = relativeUnits.vh;
228
+ relativeUnits.svmin = relativeUnits.vmin;
229
+ relativeUnits.lvmin = relativeUnits.vmin;
230
+ relativeUnits.dvmin = relativeUnits.vmin;
231
+ relativeUnits.svmax = relativeUnits.vmax;
232
+ relativeUnits.lvmax = relativeUnits.vmax;
233
+ relativeUnits.dvmax = relativeUnits.vmax;
214
234
 
215
235
  const absoluteUnits = {
216
236
  in: PIXELS_PER_INCH,
@@ -77,10 +77,7 @@ export function getPasteEventData( { clipboardData } ) {
77
77
 
78
78
  const files = getFilesFromDataTransfer( clipboardData );
79
79
 
80
- if (
81
- files.length &&
82
- ! shouldDismissPastedFiles( files, html, plainText )
83
- ) {
80
+ if ( files.length && ! shouldDismissPastedFiles( files, html ) ) {
84
81
  return { files };
85
82
  }
86
83
 
@@ -0,0 +1,103 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`transformStyles URL rewrite should not replace absolute paths 1`] = `
4
+ [
5
+ "h1 { background: url(/images/test.png); }",
6
+ ]
7
+ `;
8
+
9
+ exports[`transformStyles URL rewrite should not replace remote paths 1`] = `
10
+ [
11
+ "h1 { background: url(http://wp.org/images/test.png); }",
12
+ ]
13
+ `;
14
+
15
+ exports[`transformStyles URL rewrite should replace complex relative paths 1`] = `
16
+ [
17
+ "h1 { background: url(http://wp-site.local/themes/gut/images/test.png); }",
18
+ ]
19
+ `;
20
+
21
+ exports[`transformStyles URL rewrite should rewrite relative paths 1`] = `
22
+ [
23
+ "h1 { background: url(http://wp-site.local/themes/gut/css/images/test.png); }",
24
+ ]
25
+ `;
26
+
27
+ exports[`transformStyles selector wrap should ignore font-face selectors 1`] = `
28
+ [
29
+ "
30
+ @font-face {
31
+ font-family: myFirstFont;
32
+ src: url(sansation_light.woff);
33
+ }",
34
+ ]
35
+ `;
36
+
37
+ exports[`transformStyles selector wrap should ignore keyframes 1`] = `
38
+ [
39
+ "
40
+ @keyframes edit-post__fade-in-animation {
41
+ from {
42
+ opacity: 0;
43
+ }
44
+ }",
45
+ ]
46
+ `;
47
+
48
+ exports[`transformStyles selector wrap should ignore selectors 1`] = `
49
+ [
50
+ ".my-namespace h1, body { color: red; }",
51
+ ]
52
+ `;
53
+
54
+ exports[`transformStyles selector wrap should not double wrap selectors 1`] = `
55
+ [
56
+ " .my-namespace h1, .my-namespace .red { color: red; }",
57
+ ]
58
+ `;
59
+
60
+ exports[`transformStyles selector wrap should replace :root selectors 1`] = `
61
+ [
62
+ "
63
+ .my-namespace {
64
+ --my-color: #ff0000;
65
+ }",
66
+ ]
67
+ `;
68
+
69
+ exports[`transformStyles selector wrap should replace root tags 1`] = `
70
+ [
71
+ ".my-namespace, .my-namespace h1 { color: red; }",
72
+ ]
73
+ `;
74
+
75
+ exports[`transformStyles selector wrap should wrap multiple selectors 1`] = `
76
+ [
77
+ ".my-namespace h1, .my-namespace h2 { color: red; }",
78
+ ]
79
+ `;
80
+
81
+ exports[`transformStyles selector wrap should wrap regular selectors 1`] = `
82
+ [
83
+ ".my-namespace h1 { color: red; }",
84
+ ]
85
+ `;
86
+
87
+ exports[`transformStyles selector wrap should wrap selectors inside container queries 1`] = `
88
+ [
89
+ "
90
+ @container (width > 400px) {
91
+ .my-namespace h1 { color: red; }
92
+ }",
93
+ ]
94
+ `;
95
+
96
+ exports[`transformStyles should not break with data urls 1`] = `
97
+ [
98
+ ".wp-block-group {
99
+ background-image: url("data:image/svg+xml,%3Csvg%3E.b%7Bclip-path:url(test);%7D%3C/svg%3E");
100
+ color: red !important;
101
+ }",
102
+ ]
103
+ `;
@@ -11,20 +11,19 @@ const mocks = {
11
11
 
12
12
  describe( 'shouldDismissPastedFiles', () => {
13
13
  it( 'should return false when no HTML is present', () => {
14
- expect(
15
- shouldDismissPastedFiles( [ mocks.pngImageFile ], '', '' )
16
- ).toBe( false );
14
+ expect( shouldDismissPastedFiles( [ mocks.pngImageFile ], '' ) ).toBe(
15
+ false
16
+ );
17
17
  } );
18
18
  it( 'should return false when file is not an image', () => {
19
- expect(
20
- shouldDismissPastedFiles( [ mocks.documentFile ], '', '' )
21
- ).toBe( false );
19
+ expect( shouldDismissPastedFiles( [ mocks.documentFile ], '' ) ).toBe(
20
+ false
21
+ );
22
22
  } );
23
23
  it( 'should return false when multiple images are present', () => {
24
24
  expect(
25
25
  shouldDismissPastedFiles(
26
26
  [ mocks.pngImageFile, mocks.jpgImageFile ],
27
- '',
28
27
  ''
29
28
  )
30
29
  ).toBe( false );
@@ -33,8 +32,7 @@ describe( 'shouldDismissPastedFiles', () => {
33
32
  expect(
34
33
  shouldDismissPastedFiles(
35
34
  [ mocks.pngImageFile ],
36
- '<img src="path.png">',
37
- ''
35
+ '<img src="path.png">'
38
36
  )
39
37
  ).toBe( false );
40
38
  } );
@@ -42,8 +40,7 @@ describe( 'shouldDismissPastedFiles', () => {
42
40
  expect(
43
41
  shouldDismissPastedFiles(
44
42
  [ mocks.pngImageFile ],
45
- '<img src="1.png"><br><img src="2.png">',
46
- ''
43
+ '<img src="1.png"><br><img src="2.png">'
47
44
  )
48
45
  ).toBe( true );
49
46
  } );
@@ -56,8 +53,7 @@ describe( 'shouldDismissPastedFiles', () => {
56
53
  expect(
57
54
  shouldDismissPastedFiles(
58
55
  [ mocks.pngImageFile ],
59
- '<img src="https://lh3.googleusercontent.com/ab/SOMESTRING?authuser=0">',
60
- 'https://lh3.googleusercontent.com/ab/SOMESTRING?authuser=0'
56
+ '<img src="https://lh3.googleusercontent.com/ab/SOMESTRING?authuser=0">'
61
57
  )
62
58
  ).toBe( false );
63
59
  } );
@@ -66,8 +62,7 @@ describe( 'shouldDismissPastedFiles', () => {
66
62
  expect(
67
63
  shouldDismissPastedFiles(
68
64
  [ mocks.pngImageFile ],
69
- '<figure><img src="blob:..."></figure>',
70
- ''
65
+ '<figure><img src="blob:..."></figure>'
71
66
  )
72
67
  ).toBe( false );
73
68
  } );
@@ -76,8 +71,7 @@ describe( 'shouldDismissPastedFiles', () => {
76
71
  expect(
77
72
  shouldDismissPastedFiles(
78
73
  [ mocks.pngImageFile ],
79
- '<meta charset="UTF-8"><table>Some table text</table>',
80
- 'Some table text'
74
+ '<meta charset="UTF-8"><table>Some table text</table>'
81
75
  )
82
76
  ).toBe( true );
83
77
  } );
@@ -86,8 +80,7 @@ describe( 'shouldDismissPastedFiles', () => {
86
80
  expect(
87
81
  shouldDismissPastedFiles(
88
82
  [ mocks.pngImageFile ],
89
- '<p>A</p><img src="file:////.../clip_image001.png" alt="..."><p>B</p>',
90
- 'A\nB'
83
+ '<p>A</p><img src="file:////.../clip_image001.png" alt="..."><p>B</p>'
91
84
  )
92
85
  ).toBe( true );
93
86
  } );