@wordpress/edit-site 5.28.5 → 5.30.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 (446) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/actions/index.js +1 -1
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/block-editor/editor-canvas.js +10 -11
  5. package/build/components/block-editor/editor-canvas.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +2 -1
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/code-editor/index.js +3 -2
  9. package/build/components/code-editor/index.js.map +1 -1
  10. package/build/components/editor/index.js +5 -19
  11. package/build/components/editor/index.js.map +1 -1
  12. package/build/components/editor-canvas-container/index.js +1 -1
  13. package/build/components/editor-canvas-container/index.js.map +1 -1
  14. package/build/components/global-styles/color-palette-panel.js +9 -0
  15. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  16. package/build/components/global-styles/font-families.js +1 -1
  17. package/build/components/global-styles/font-families.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  19. package/build/components/global-styles/font-library-modal/context.js +11 -0
  20. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  21. package/build/components/global-styles/font-library-modal/font-collection.js +5 -16
  22. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  23. package/build/components/global-styles/font-library-modal/index.js +2 -2
  24. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  25. package/build/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  26. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  27. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  29. package/build/components/global-styles/font-library-modal/utils/index.js +27 -0
  30. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  31. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +1 -1
  32. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  33. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  34. package/build/components/global-styles/header.js +1 -1
  35. package/build/components/global-styles/header.js.map +1 -1
  36. package/build/components/global-styles/highlighted-colors.js +50 -0
  37. package/build/components/global-styles/highlighted-colors.js.map +1 -0
  38. package/build/components/global-styles/preview-colors.js +62 -0
  39. package/build/components/global-styles/preview-colors.js.map +1 -0
  40. package/build/components/global-styles/preview-iframe.js +131 -0
  41. package/build/components/global-styles/preview-iframe.js.map +1 -0
  42. package/build/components/global-styles/preview-styles.js +163 -0
  43. package/build/components/global-styles/preview-styles.js.map +1 -0
  44. package/build/components/global-styles/preview-typography.js +65 -0
  45. package/build/components/global-styles/preview-typography.js.map +1 -0
  46. package/build/components/global-styles/screen-block-list.js +1 -1
  47. package/build/components/global-styles/screen-block-list.js.map +1 -1
  48. package/build/components/global-styles/screen-block.js +1 -1
  49. package/build/components/global-styles/screen-block.js.map +1 -1
  50. package/build/components/global-styles/screen-colors.js +10 -2
  51. package/build/components/global-styles/screen-colors.js.map +1 -1
  52. package/build/components/global-styles/screen-root.js +2 -2
  53. package/build/components/global-styles/screen-root.js.map +1 -1
  54. package/build/components/global-styles/screen-typography.js +10 -2
  55. package/build/components/global-styles/screen-typography.js.map +1 -1
  56. package/build/components/global-styles/style-variations-container.js +12 -84
  57. package/build/components/global-styles/style-variations-container.js.map +1 -1
  58. package/build/components/global-styles/{typogrphy-elements.js → typography-elements.js} +1 -1
  59. package/build/components/global-styles/typography-elements.js.map +1 -0
  60. package/build/components/global-styles/utils.js +22 -0
  61. package/build/components/global-styles/utils.js.map +1 -1
  62. package/build/components/global-styles/variations/variation.js +90 -0
  63. package/build/components/global-styles/variations/variation.js.map +1 -0
  64. package/build/components/global-styles/variations/variations-color.js +36 -0
  65. package/build/components/global-styles/variations/variations-color.js.map +1 -0
  66. package/build/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
  67. package/build/components/global-styles/variations/variations-panel.js.map +1 -0
  68. package/build/components/global-styles/variations/variations-typography.js +64 -0
  69. package/build/components/global-styles/variations/variations-typography.js.map +1 -0
  70. package/build/components/header-edit-mode/document-tools/index.js +1 -2
  71. package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
  72. package/build/components/header-edit-mode/index.js +16 -13
  73. package/build/components/header-edit-mode/index.js.map +1 -1
  74. package/build/components/header-edit-mode/more-menu/index.js +17 -6
  75. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  76. package/build/components/keyboard-shortcuts/edit-mode.js +0 -13
  77. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  78. package/build/components/keyboard-shortcuts/register.js +0 -18
  79. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  80. package/build/components/layout/index.js +4 -2
  81. package/build/components/layout/index.js.map +1 -1
  82. package/build/components/page-patterns/dataviews-pattern-actions.js +25 -8
  83. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  84. package/build/components/page-patterns/header.js +2 -1
  85. package/build/components/page-patterns/header.js.map +1 -1
  86. package/build/components/page-patterns/index.js +0 -1
  87. package/build/components/page-patterns/index.js.map +1 -1
  88. package/build/components/{list/added-by.js → page-templates-template-parts/hooks.js} +1 -61
  89. package/build/components/page-templates-template-parts/hooks.js.map +1 -0
  90. package/build/components/page-templates-template-parts/index.js +14 -6
  91. package/build/components/page-templates-template-parts/index.js.map +1 -1
  92. package/build/components/revisions/index.js.map +1 -1
  93. package/build/components/save-button/index.js +2 -1
  94. package/build/components/save-button/index.js.map +1 -1
  95. package/build/components/save-panel/index.js +18 -3
  96. package/build/components/save-panel/index.js.map +1 -1
  97. package/build/components/sidebar/index.js +1 -1
  98. package/build/components/sidebar/index.js.map +1 -1
  99. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
  100. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  101. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  102. package/build/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
  103. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  104. package/build/components/sidebar-edit-mode/template-panel/index.js +48 -5
  105. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  106. package/build/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
  107. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-global-styles/index.js +6 -2
  109. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  110. package/build/components/sidebar-navigation-screen-main/index.js +1 -2
  111. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  112. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  113. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -3
  114. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  115. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  116. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  117. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +2 -2
  118. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  119. package/build/components/sidebar-navigation-screen-template/index.js +2 -2
  120. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  121. package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  122. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  123. package/build/components/start-template-options/index.js.map +1 -1
  124. package/build/hooks/commands/use-edit-mode-commands.js +3 -171
  125. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  126. package/build/hooks/index.js +0 -1
  127. package/build/hooks/index.js.map +1 -1
  128. package/build/hooks/push-changes-to-global-styles/index.js +4 -5
  129. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  130. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +156 -0
  131. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
  132. package/build/store/actions.js +19 -50
  133. package/build/store/actions.js.map +1 -1
  134. package/build/utils/clone-deep.js +15 -0
  135. package/build/utils/clone-deep.js.map +1 -0
  136. package/build-module/components/actions/index.js +1 -1
  137. package/build-module/components/actions/index.js.map +1 -1
  138. package/build-module/components/block-editor/editor-canvas.js +10 -11
  139. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  140. package/build-module/components/block-editor/use-site-editor-settings.js +2 -1
  141. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  142. package/build-module/components/code-editor/index.js +3 -2
  143. package/build-module/components/code-editor/index.js.map +1 -1
  144. package/build-module/components/editor/index.js +6 -20
  145. package/build-module/components/editor/index.js.map +1 -1
  146. package/build-module/components/editor-canvas-container/index.js +2 -2
  147. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  148. package/build-module/components/global-styles/color-palette-panel.js +8 -0
  149. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  150. package/build-module/components/global-styles/font-families.js +1 -1
  151. package/build-module/components/global-styles/font-families.js.map +1 -1
  152. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  153. package/build-module/components/global-styles/font-library-modal/context.js +12 -1
  154. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  155. package/build-module/components/global-styles/font-library-modal/font-collection.js +7 -18
  156. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  157. package/build-module/components/global-styles/font-library-modal/index.js +2 -2
  158. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  159. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  160. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  161. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  162. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  163. package/build-module/components/global-styles/font-library-modal/utils/index.js +26 -0
  164. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  165. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +1 -1
  166. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  167. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  168. package/build-module/components/global-styles/header.js +1 -1
  169. package/build-module/components/global-styles/header.js.map +1 -1
  170. package/build-module/components/global-styles/highlighted-colors.js +43 -0
  171. package/build-module/components/global-styles/highlighted-colors.js.map +1 -0
  172. package/build-module/components/global-styles/preview-colors.js +54 -0
  173. package/build-module/components/global-styles/preview-colors.js.map +1 -0
  174. package/build-module/components/global-styles/preview-iframe.js +124 -0
  175. package/build-module/components/global-styles/preview-iframe.js.map +1 -0
  176. package/build-module/components/global-styles/preview-styles.js +155 -0
  177. package/build-module/components/global-styles/preview-styles.js.map +1 -0
  178. package/build-module/components/global-styles/preview-typography.js +58 -0
  179. package/build-module/components/global-styles/preview-typography.js.map +1 -0
  180. package/build-module/components/global-styles/screen-block-list.js +1 -1
  181. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  182. package/build-module/components/global-styles/screen-block.js +1 -1
  183. package/build-module/components/global-styles/screen-block.js.map +1 -1
  184. package/build-module/components/global-styles/screen-colors.js +10 -2
  185. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  186. package/build-module/components/global-styles/screen-root.js +2 -2
  187. package/build-module/components/global-styles/screen-root.js.map +1 -1
  188. package/build-module/components/global-styles/screen-typography.js +10 -2
  189. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  190. package/build-module/components/global-styles/style-variations-container.js +13 -85
  191. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  192. package/build-module/components/global-styles/{typogrphy-elements.js → typography-elements.js} +1 -1
  193. package/build-module/components/global-styles/typography-elements.js.map +1 -0
  194. package/build-module/components/global-styles/utils.js +21 -0
  195. package/build-module/components/global-styles/utils.js.map +1 -1
  196. package/build-module/components/global-styles/variations/variation.js +82 -0
  197. package/build-module/components/global-styles/variations/variation.js.map +1 -0
  198. package/build-module/components/global-styles/variations/variations-color.js +28 -0
  199. package/build-module/components/global-styles/variations/variations-color.js.map +1 -0
  200. package/build-module/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
  201. package/build-module/components/global-styles/variations/variations-panel.js.map +1 -0
  202. package/build-module/components/global-styles/variations/variations-typography.js +56 -0
  203. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -0
  204. package/build-module/components/header-edit-mode/document-tools/index.js +1 -2
  205. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
  206. package/build-module/components/header-edit-mode/index.js +17 -14
  207. package/build-module/components/header-edit-mode/index.js.map +1 -1
  208. package/build-module/components/header-edit-mode/more-menu/index.js +19 -8
  209. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  210. package/build-module/components/keyboard-shortcuts/edit-mode.js +0 -13
  211. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  212. package/build-module/components/keyboard-shortcuts/register.js +0 -18
  213. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  214. package/build-module/components/layout/index.js +5 -3
  215. package/build-module/components/layout/index.js.map +1 -1
  216. package/build-module/components/page-patterns/dataviews-pattern-actions.js +25 -8
  217. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  218. package/build-module/components/page-patterns/header.js +2 -1
  219. package/build-module/components/page-patterns/header.js.map +1 -1
  220. package/build-module/components/page-patterns/index.js +0 -1
  221. package/build-module/components/page-patterns/index.js.map +1 -1
  222. package/build-module/components/{list/added-by.js → page-templates-template-parts/hooks.js} +2 -59
  223. package/build-module/components/page-templates-template-parts/hooks.js.map +1 -0
  224. package/build-module/components/page-templates-template-parts/index.js +13 -5
  225. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  226. package/build-module/components/revisions/index.js.map +1 -1
  227. package/build-module/components/save-button/index.js +2 -1
  228. package/build-module/components/save-button/index.js.map +1 -1
  229. package/build-module/components/save-panel/index.js +18 -3
  230. package/build-module/components/save-panel/index.js.map +1 -1
  231. package/build-module/components/sidebar/index.js +1 -1
  232. package/build-module/components/sidebar/index.js.map +1 -1
  233. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
  234. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  235. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  236. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
  237. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  238. package/build-module/components/sidebar-edit-mode/template-panel/index.js +50 -7
  239. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  240. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
  241. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  242. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -2
  243. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  244. package/build-module/components/sidebar-navigation-screen-main/index.js +1 -2
  245. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  246. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  247. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -3
  248. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  249. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  250. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  251. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  252. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  253. package/build-module/components/sidebar-navigation-screen-template/index.js +1 -1
  254. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  255. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
  256. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  257. package/build-module/components/start-template-options/index.js.map +1 -1
  258. package/build-module/hooks/commands/use-edit-mode-commands.js +4 -172
  259. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  260. package/build-module/hooks/index.js +0 -1
  261. package/build-module/hooks/index.js.map +1 -1
  262. package/build-module/hooks/push-changes-to-global-styles/index.js +1 -3
  263. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  264. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +144 -0
  265. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
  266. package/build-module/store/actions.js +19 -50
  267. package/build-module/store/actions.js.map +1 -1
  268. package/build-module/utils/clone-deep.js +9 -0
  269. package/build-module/utils/clone-deep.js.map +1 -0
  270. package/build-style/style-rtl.css +152 -472
  271. package/build-style/style.css +152 -472
  272. package/package.json +43 -42
  273. package/src/components/actions/index.js +1 -1
  274. package/src/components/block-editor/editor-canvas.js +13 -12
  275. package/src/components/block-editor/style.scss +0 -3
  276. package/src/components/block-editor/use-site-editor-settings.js +1 -0
  277. package/src/components/code-editor/index.js +3 -2
  278. package/src/components/editor/index.js +10 -27
  279. package/src/components/editor-canvas-container/index.js +2 -5
  280. package/src/components/{test → error-boundary/test}/error-boundary.js +7 -5
  281. package/src/components/global-styles/color-palette-panel.js +11 -1
  282. package/src/components/global-styles/font-families.js +1 -1
  283. package/src/components/global-styles/font-library-modal/collection-font-variant.js +1 -1
  284. package/src/components/global-styles/font-library-modal/context.js +24 -0
  285. package/src/components/global-styles/font-library-modal/font-collection.js +7 -24
  286. package/src/components/global-styles/font-library-modal/index.js +2 -2
  287. package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  288. package/src/components/global-styles/font-library-modal/library-font-variant.js +1 -1
  289. package/src/components/global-styles/font-library-modal/upload-fonts.js +1 -1
  290. package/src/components/global-styles/font-library-modal/utils/index.js +34 -0
  291. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +2 -1
  292. package/src/components/global-styles/gradients-palette-panel.js +2 -2
  293. package/src/components/global-styles/header.js +1 -1
  294. package/src/components/global-styles/highlighted-colors.js +39 -0
  295. package/src/components/global-styles/preview-colors.js +61 -0
  296. package/src/components/global-styles/preview-iframe.js +153 -0
  297. package/src/components/global-styles/preview-styles.js +185 -0
  298. package/src/components/global-styles/preview-typography.js +62 -0
  299. package/src/components/global-styles/screen-block-list.js +1 -1
  300. package/src/components/global-styles/screen-block.js +4 -1
  301. package/src/components/global-styles/screen-colors.js +13 -1
  302. package/src/components/global-styles/screen-revisions/style.scss +2 -2
  303. package/src/components/global-styles/screen-root.js +2 -2
  304. package/src/components/global-styles/screen-typography.js +19 -2
  305. package/src/components/global-styles/style-variations-container.js +14 -92
  306. package/src/components/global-styles/style.scss +1 -35
  307. package/src/components/global-styles/utils.js +37 -0
  308. package/src/components/global-styles/variations/style.scss +44 -0
  309. package/src/components/global-styles/variations/variation.js +93 -0
  310. package/src/components/global-styles/variations/variations-color.js +30 -0
  311. package/src/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
  312. package/src/components/global-styles/variations/variations-typography.js +85 -0
  313. package/src/components/header-edit-mode/document-tools/index.js +1 -2
  314. package/src/components/header-edit-mode/index.js +22 -31
  315. package/src/components/header-edit-mode/more-menu/index.js +25 -11
  316. package/src/components/header-edit-mode/style.scss +4 -0
  317. package/src/components/keyboard-shortcuts/edit-mode.js +0 -11
  318. package/src/components/keyboard-shortcuts/register.js +0 -19
  319. package/src/components/layout/index.js +5 -2
  320. package/src/components/page-patterns/dataviews-pattern-actions.js +41 -10
  321. package/src/components/page-patterns/header.js +1 -0
  322. package/src/components/page-patterns/index.js +1 -2
  323. package/src/components/page-patterns/style.scss +0 -182
  324. package/src/components/{list/added-by.js → page-templates-template-parts/hooks.js} +1 -66
  325. package/src/components/page-templates-template-parts/index.js +20 -3
  326. package/src/components/page-templates-template-parts/style.scss +48 -0
  327. package/src/components/revisions/index.js +1 -1
  328. package/src/components/save-button/index.js +2 -1
  329. package/src/components/save-hub/style.scss +1 -1
  330. package/src/components/save-panel/index.js +34 -12
  331. package/src/components/sidebar/index.js +1 -1
  332. package/src/components/sidebar-button/style.scss +1 -1
  333. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +5 -7
  334. package/src/components/sidebar-edit-mode/page-panels/page-status.js +1 -1
  335. package/src/components/sidebar-edit-mode/style.scss +4 -0
  336. package/src/components/sidebar-edit-mode/template-panel/hooks.js +37 -24
  337. package/src/components/sidebar-edit-mode/template-panel/index.js +76 -18
  338. package/src/components/sidebar-edit-mode/template-panel/style.scss +5 -14
  339. package/src/components/sidebar-edit-mode/template-panel/template-actions.js +1 -12
  340. package/src/components/sidebar-navigation-screen-global-styles/index.js +4 -1
  341. package/src/components/sidebar-navigation-screen-main/index.js +0 -2
  342. package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +1 -1
  343. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -2
  344. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +1 -1
  345. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +1 -1
  346. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  347. package/src/components/sidebar-navigation-screen-template/index.js +1 -1
  348. package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
  349. package/src/components/start-template-options/index.js +1 -1
  350. package/src/hooks/commands/use-edit-mode-commands.js +3 -184
  351. package/src/hooks/index.js +0 -1
  352. package/src/hooks/push-changes-to-global-styles/index.js +1 -4
  353. package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +1137 -0
  354. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +159 -0
  355. package/src/store/actions.js +21 -85
  356. package/src/store/test/actions.js +0 -75
  357. package/src/style.scss +3 -8
  358. package/src/utils/clone-deep.js +8 -0
  359. package/build/components/global-styles/preview.js +0 -271
  360. package/build/components/global-styles/preview.js.map +0 -1
  361. package/build/components/global-styles/typogrphy-elements.js.map +0 -1
  362. package/build/components/global-styles/variations-panel.js.map +0 -1
  363. package/build/components/header-edit-mode/mode-switcher/index.js +0 -62
  364. package/build/components/header-edit-mode/mode-switcher/index.js.map +0 -1
  365. package/build/components/list/added-by.js.map +0 -1
  366. package/build/components/list/header.js +0 -55
  367. package/build/components/list/header.js.map +0 -1
  368. package/build/components/list/index.js +0 -80
  369. package/build/components/list/index.js.map +0 -1
  370. package/build/components/list/table.js +0 -94
  371. package/build/components/list/table.js.map +0 -1
  372. package/build/components/list/use-register-shortcuts.js +0 -51
  373. package/build/components/list/use-register-shortcuts.js.map +0 -1
  374. package/build/components/page-patterns/duplicate-menu-item.js +0 -93
  375. package/build/components/page-patterns/duplicate-menu-item.js.map +0 -1
  376. package/build/components/page-patterns/grid-item.js +0 -223
  377. package/build/components/page-patterns/grid-item.js.map +0 -1
  378. package/build/components/page-patterns/grid.js +0 -31
  379. package/build/components/page-patterns/grid.js.map +0 -1
  380. package/build/components/page-patterns/no-patterns.js +0 -18
  381. package/build/components/page-patterns/no-patterns.js.map +0 -1
  382. package/build/components/page-patterns/patterns-list.js +0 -168
  383. package/build/components/page-patterns/patterns-list.js.map +0 -1
  384. package/build/components/page-patterns/rename-menu-item.js +0 -105
  385. package/build/components/page-patterns/rename-menu-item.js.map +0 -1
  386. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -83
  387. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
  388. package/build/components/sidebar-navigation-screen-main/template-part-hint.js +0 -36
  389. package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +0 -1
  390. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -36
  391. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +0 -1
  392. package/build/hooks/navigation-menu-edit.js +0 -82
  393. package/build/hooks/navigation-menu-edit.js.map +0 -1
  394. package/build-module/components/global-styles/preview.js +0 -264
  395. package/build-module/components/global-styles/preview.js.map +0 -1
  396. package/build-module/components/global-styles/typogrphy-elements.js.map +0 -1
  397. package/build-module/components/global-styles/variations-panel.js.map +0 -1
  398. package/build-module/components/header-edit-mode/mode-switcher/index.js +0 -56
  399. package/build-module/components/header-edit-mode/mode-switcher/index.js.map +0 -1
  400. package/build-module/components/list/added-by.js.map +0 -1
  401. package/build-module/components/list/header.js +0 -47
  402. package/build-module/components/list/header.js.map +0 -1
  403. package/build-module/components/list/index.js +0 -72
  404. package/build-module/components/list/index.js.map +0 -1
  405. package/build-module/components/list/table.js +0 -86
  406. package/build-module/components/list/table.js.map +0 -1
  407. package/build-module/components/list/use-register-shortcuts.js +0 -45
  408. package/build-module/components/list/use-register-shortcuts.js.map +0 -1
  409. package/build-module/components/page-patterns/duplicate-menu-item.js +0 -85
  410. package/build-module/components/page-patterns/duplicate-menu-item.js.map +0 -1
  411. package/build-module/components/page-patterns/grid-item.js +0 -215
  412. package/build-module/components/page-patterns/grid-item.js.map +0 -1
  413. package/build-module/components/page-patterns/grid.js +0 -23
  414. package/build-module/components/page-patterns/grid.js.map +0 -1
  415. package/build-module/components/page-patterns/no-patterns.js +0 -11
  416. package/build-module/components/page-patterns/no-patterns.js.map +0 -1
  417. package/build-module/components/page-patterns/patterns-list.js +0 -160
  418. package/build-module/components/page-patterns/patterns-list.js.map +0 -1
  419. package/build-module/components/page-patterns/rename-menu-item.js +0 -98
  420. package/build-module/components/page-patterns/rename-menu-item.js.map +0 -1
  421. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -76
  422. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
  423. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +0 -29
  424. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +0 -1
  425. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -27
  426. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +0 -1
  427. package/build-module/hooks/navigation-menu-edit.js +0 -75
  428. package/build-module/hooks/navigation-menu-edit.js.map +0 -1
  429. package/src/components/global-styles/preview.js +0 -327
  430. package/src/components/header-edit-mode/mode-switcher/index.js +0 -60
  431. package/src/components/list/header.js +0 -48
  432. package/src/components/list/index.js +0 -87
  433. package/src/components/list/style.scss +0 -188
  434. package/src/components/list/table.js +0 -140
  435. package/src/components/list/use-register-shortcuts.js +0 -49
  436. package/src/components/page-patterns/duplicate-menu-item.js +0 -105
  437. package/src/components/page-patterns/grid-item.js +0 -331
  438. package/src/components/page-patterns/grid.js +0 -22
  439. package/src/components/page-patterns/no-patterns.js +0 -12
  440. package/src/components/page-patterns/patterns-list.js +0 -229
  441. package/src/components/page-patterns/rename-menu-item.js +0 -132
  442. package/src/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -89
  443. package/src/components/sidebar-navigation-screen-main/template-part-hint.js +0 -34
  444. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -22
  445. package/src/hooks/navigation-menu-edit.js +0 -92
  446. /package/src/components/global-styles/{typogrphy-elements.js → typography-elements.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-site",
3
- "version": "5.28.5",
3
+ "version": "5.30.0",
4
4
  "description": "Edit Site Page module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,48 +27,49 @@
27
27
  "react-native": "src/index",
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
- "@wordpress/a11y": "^3.51.1",
31
- "@wordpress/api-fetch": "^6.48.1",
32
- "@wordpress/blob": "^3.51.1",
33
- "@wordpress/block-editor": "^12.19.5",
34
- "@wordpress/block-library": "^8.28.5",
35
- "@wordpress/blocks": "^12.28.5",
36
- "@wordpress/commands": "^0.22.4",
37
- "@wordpress/components": "^26.0.4",
38
- "@wordpress/compose": "^6.28.1",
39
- "@wordpress/core-commands": "^0.20.5",
40
- "@wordpress/core-data": "^6.28.5",
41
- "@wordpress/data": "^9.21.1",
42
- "@wordpress/dataviews": "^0.5.5",
43
- "@wordpress/date": "^4.51.1",
44
- "@wordpress/deprecated": "^3.51.1",
45
- "@wordpress/dom": "^3.51.1",
46
- "@wordpress/editor": "^13.28.5",
47
- "@wordpress/element": "^5.28.1",
48
- "@wordpress/escape-html": "^2.51.1",
49
- "@wordpress/hooks": "^3.51.1",
50
- "@wordpress/html-entities": "^3.51.1",
51
- "@wordpress/i18n": "^4.51.1",
52
- "@wordpress/icons": "^9.42.3",
53
- "@wordpress/interface": "^5.28.4",
54
- "@wordpress/keyboard-shortcuts": "^4.28.1",
55
- "@wordpress/keycodes": "^3.51.1",
56
- "@wordpress/media-utils": "^4.42.1",
57
- "@wordpress/notices": "^4.19.1",
58
- "@wordpress/patterns": "^1.12.5",
59
- "@wordpress/plugins": "^6.19.4",
60
- "@wordpress/preferences": "^3.28.4",
61
- "@wordpress/primitives": "^3.49.1",
62
- "@wordpress/private-apis": "^0.33.1",
63
- "@wordpress/reusable-blocks": "^4.28.5",
64
- "@wordpress/router": "^0.20.1",
65
- "@wordpress/style-engine": "^1.34.1",
66
- "@wordpress/url": "^3.52.1",
67
- "@wordpress/viewport": "^5.28.1",
68
- "@wordpress/widgets": "^3.28.5",
69
- "@wordpress/wordcount": "^3.51.1",
30
+ "@wordpress/a11y": "^3.53.0",
31
+ "@wordpress/api-fetch": "^6.50.0",
32
+ "@wordpress/blob": "^3.53.0",
33
+ "@wordpress/block-editor": "^12.21.0",
34
+ "@wordpress/block-library": "^8.30.0",
35
+ "@wordpress/blocks": "^12.30.0",
36
+ "@wordpress/commands": "^0.24.0",
37
+ "@wordpress/components": "^27.1.0",
38
+ "@wordpress/compose": "^6.30.0",
39
+ "@wordpress/core-commands": "^0.22.0",
40
+ "@wordpress/core-data": "^6.30.0",
41
+ "@wordpress/data": "^9.23.0",
42
+ "@wordpress/dataviews": "^0.7.0",
43
+ "@wordpress/date": "^4.53.0",
44
+ "@wordpress/deprecated": "^3.53.0",
45
+ "@wordpress/dom": "^3.53.0",
46
+ "@wordpress/editor": "^13.30.0",
47
+ "@wordpress/element": "^5.30.0",
48
+ "@wordpress/escape-html": "^2.53.0",
49
+ "@wordpress/hooks": "^3.53.0",
50
+ "@wordpress/html-entities": "^3.53.0",
51
+ "@wordpress/i18n": "^4.53.0",
52
+ "@wordpress/icons": "^9.44.0",
53
+ "@wordpress/interface": "^5.30.0",
54
+ "@wordpress/keyboard-shortcuts": "^4.30.0",
55
+ "@wordpress/keycodes": "^3.53.0",
56
+ "@wordpress/media-utils": "^4.44.0",
57
+ "@wordpress/notices": "^4.21.0",
58
+ "@wordpress/patterns": "^1.14.0",
59
+ "@wordpress/plugins": "^6.21.0",
60
+ "@wordpress/preferences": "^3.30.0",
61
+ "@wordpress/primitives": "^3.51.0",
62
+ "@wordpress/private-apis": "^0.35.0",
63
+ "@wordpress/reusable-blocks": "^4.30.0",
64
+ "@wordpress/router": "^0.22.0",
65
+ "@wordpress/style-engine": "^1.36.0",
66
+ "@wordpress/url": "^3.54.0",
67
+ "@wordpress/viewport": "^5.30.0",
68
+ "@wordpress/widgets": "^3.30.0",
69
+ "@wordpress/wordcount": "^3.53.0",
70
70
  "change-case": "^4.1.2",
71
71
  "classnames": "^2.3.1",
72
+ "client-zip": "^2.4.4",
72
73
  "colord": "^2.9.2",
73
74
  "deepmerge": "^4.3.0",
74
75
  "fast-deep-equal": "^3.1.3",
@@ -85,5 +86,5 @@
85
86
  "publishConfig": {
86
87
  "access": "public"
87
88
  },
88
- "gitHead": "4927ea437069f9aed12f696df294a79bd8e12fd5"
89
+ "gitHead": "ac3c3e465a083081a86a4da6ee6fb817b41e5130"
89
90
  }
@@ -362,7 +362,7 @@ export const viewPostAction = {
362
362
  },
363
363
  callback( posts ) {
364
364
  const post = posts[ 0 ];
365
- document.location.href = post.link;
365
+ window.open( post.link, '_blank' );
366
366
  },
367
367
  };
368
368
 
@@ -26,10 +26,9 @@ import {
26
26
  const { EditorCanvas: EditorCanvasRoot } = unlock( editorPrivateApis );
27
27
 
28
28
  function EditorCanvas( { enableResizing, settings, children, ...props } ) {
29
- const { hasBlocks, isFocusMode, templateType, canvasMode, isZoomOutMode } =
30
- useSelect( ( select ) => {
31
- const { getBlockCount, __unstableGetEditorMode } =
32
- select( blockEditorStore );
29
+ const { hasBlocks, isFocusMode, templateType, canvasMode } = useSelect(
30
+ ( select ) => {
31
+ const { getBlockCount } = select( blockEditorStore );
33
32
  const { getEditedPostType, getCanvasMode } = unlock(
34
33
  select( editSiteStore )
35
34
  );
@@ -38,11 +37,12 @@ function EditorCanvas( { enableResizing, settings, children, ...props } ) {
38
37
  return {
39
38
  templateType: _templateType,
40
39
  isFocusMode: FOCUSABLE_ENTITIES.includes( _templateType ),
41
- isZoomOutMode: __unstableGetEditorMode() === 'zoom-out',
42
40
  canvasMode: getCanvasMode(),
43
41
  hasBlocks: !! getBlockCount(),
44
42
  };
45
- }, [] );
43
+ },
44
+ []
45
+ );
46
46
  const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
47
47
  const [ isFocused, setIsFocused ] = useState( false );
48
48
 
@@ -52,8 +52,11 @@ function EditorCanvas( { enableResizing, settings, children, ...props } ) {
52
52
  }
53
53
  }, [ canvasMode ] );
54
54
 
55
- const viewModeProps = {
56
- 'aria-label': __( 'Editor Canvas' ),
55
+ // In view mode, make the canvas iframe be perceived and behave as a button
56
+ // to switch to edit mode, with a meaningful label and no title attribute.
57
+ const viewModeIframeProps = {
58
+ 'aria-label': __( 'Edit' ),
59
+ title: null,
57
60
  role: 'button',
58
61
  tabIndex: 0,
59
62
  onFocus: () => setIsFocused( true ),
@@ -107,9 +110,7 @@ function EditorCanvas( { enableResizing, settings, children, ...props } ) {
107
110
  renderAppender={ showBlockAppender }
108
111
  styles={ styles }
109
112
  iframeProps={ {
110
- expand: isZoomOutMode,
111
- scale: isZoomOutMode ? 0.45 : undefined,
112
- frameSize: isZoomOutMode ? 100 : undefined,
113
+ shouldZoom: true,
113
114
  className: classnames(
114
115
  'edit-site-visual-editor__editor-canvas',
115
116
  {
@@ -117,7 +118,7 @@ function EditorCanvas( { enableResizing, settings, children, ...props } ) {
117
118
  }
118
119
  ),
119
120
  ...props,
120
- ...( canvasMode === 'view' ? viewModeProps : {} ),
121
+ ...( canvasMode === 'view' ? viewModeIframeProps : {} ),
121
122
  } }
122
123
  >
123
124
  { children }
@@ -22,7 +22,6 @@
22
22
  position: relative;
23
23
  height: 100%;
24
24
  display: block;
25
- overflow: hidden;
26
25
  background-color: $gray-300;
27
26
  // Centralize the editor horizontally (flex-direction is column).
28
27
  align-items: center;
@@ -62,8 +61,6 @@
62
61
 
63
62
  .components-resizable-box__container {
64
63
  margin: 0 auto;
65
- // Removing this will cancel the bottom margins in the iframe.
66
- overflow: auto;
67
64
  }
68
65
 
69
66
  &.is-view-mode {
@@ -162,6 +162,7 @@ export function useSpecificEditorSettings() {
162
162
  // I wonder if they should be set in the post editor too
163
163
  __experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,
164
164
  __experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,
165
+ __unstableIsPreviewMode: canvasMode === 'view',
165
166
  };
166
167
  }, [
167
168
  settings,
@@ -14,6 +14,7 @@ import { __ } from '@wordpress/i18n';
14
14
  import { Button, VisuallyHidden } from '@wordpress/components';
15
15
  import { useMemo } from '@wordpress/element';
16
16
  import { useInstanceId } from '@wordpress/compose';
17
+ import { store as editorStore } from '@wordpress/editor';
17
18
 
18
19
  /**
19
20
  * Internal dependencies
@@ -31,7 +32,7 @@ export default function CodeEditor() {
31
32
  const editedRecord = getEditedEntityRecord( 'postType', _type, _id );
32
33
 
33
34
  return {
34
- shortcut: getShortcutRepresentation( 'core/edit-site/toggle-mode' ),
35
+ shortcut: getShortcutRepresentation( 'core/editor/toggle-mode' ),
35
36
  content: editedRecord?.content,
36
37
  blocks: editedRecord?.blocks,
37
38
  type: _type,
@@ -52,7 +53,7 @@ export default function CodeEditor() {
52
53
  return content;
53
54
  }, [ content, blocks ] );
54
55
 
55
- const { switchEditorMode } = useDispatch( editSiteStore );
56
+ const { switchEditorMode } = useDispatch( editorStore );
56
57
  return (
57
58
  <div className="edit-site-code-editor">
58
59
  <div className="edit-site-code-editor__toolbar">
@@ -14,7 +14,6 @@ import {
14
14
  BlockBreadcrumb,
15
15
  BlockToolbar,
16
16
  store as blockEditorStore,
17
- privateApis as blockEditorPrivateApis,
18
17
  BlockInspector,
19
18
  } from '@wordpress/block-editor';
20
19
  import {
@@ -56,7 +55,6 @@ import SiteEditorCanvas from '../block-editor/site-editor-canvas';
56
55
  import TemplatePartConverter from '../template-part-converter';
57
56
  import { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';
58
57
 
59
- const { BlockRemovalWarningModal } = unlock( blockEditorPrivateApis );
60
58
  const {
61
59
  ExperimentalEditorProvider: EditorProvider,
62
60
  InserterSidebar,
@@ -74,21 +72,6 @@ const interfaceLabels = {
74
72
  footer: __( 'Editor footer' ),
75
73
  };
76
74
 
77
- // Prevent accidental removal of certain blocks, asking the user for
78
- // confirmation.
79
- const blockRemovalRules = {
80
- 'core/query': __( 'Query Loop displays a list of posts or pages.' ),
81
- 'core/post-content': __(
82
- 'Post Content displays the content of a post or page.'
83
- ),
84
- 'core/post-template': __(
85
- 'Post Template displays each post or page in a Query Loop.'
86
- ),
87
- 'bindings/core/pattern-overrides': __(
88
- 'Blocks from synced patterns that can have overriden content.'
89
- ),
90
- };
91
-
92
75
  export default function Editor( { isLoading } ) {
93
76
  const {
94
77
  record: editedPost,
@@ -115,14 +98,18 @@ export default function Editor( { isLoading } ) {
115
98
  postTypeLabel,
116
99
  } = useSelect( ( select ) => {
117
100
  const { get } = select( preferencesStore );
118
- const { getEditedPostContext, getEditorMode, getCanvasMode } = unlock(
101
+ const { getEditedPostContext, getCanvasMode } = unlock(
119
102
  select( editSiteStore )
120
103
  );
121
104
  const { __unstableGetEditorMode } = select( blockEditorStore );
122
105
  const { getActiveComplementaryArea } = select( interfaceStore );
123
106
  const { getEntityRecord } = select( coreDataStore );
124
- const { isInserterOpened, isListViewOpened, getPostTypeLabel } =
125
- select( editorStore );
107
+ const {
108
+ isInserterOpened,
109
+ isListViewOpened,
110
+ getPostTypeLabel,
111
+ getEditorMode,
112
+ } = select( editorStore );
126
113
  const _context = getEditedPostContext();
127
114
 
128
115
  // The currently selected entity to display.
@@ -239,9 +226,6 @@ export default function Editor( { isLoading } ) {
239
226
  <BlockToolbar hideDragHandle />
240
227
  ) }
241
228
  <SiteEditorCanvas />
242
- <BlockRemovalWarningModal
243
- rules={ blockRemovalRules }
244
- />
245
229
  <PatternModal />
246
230
  </>
247
231
  ) }
@@ -265,10 +249,9 @@ export default function Editor( { isLoading } ) {
265
249
  sidebar={
266
250
  ! isDistractionFree &&
267
251
  isEditMode &&
268
- isRightSidebarOpen && (
269
- <>
270
- <ComplementaryArea.Slot scope="core/edit-site" />
271
- </>
252
+ isRightSidebarOpen &&
253
+ ! isDistractionFree && (
254
+ <ComplementaryArea.Slot scope="core/edit-site" />
272
255
  )
273
256
  }
274
257
  footer={
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { Children, cloneElement, useState, useMemo } from '@wordpress/element';
4
+ import { Children, cloneElement, useState } from '@wordpress/element';
5
5
  import {
6
6
  Button,
7
7
  privateApis as componentsPrivateApis,
@@ -82,10 +82,6 @@ function EditorCanvasContainer( {
82
82
 
83
83
  const focusOnMountRef = useFocusOnMount( 'firstElement' );
84
84
  const sectionFocusReturnRef = useFocusReturn();
85
- const title = useMemo(
86
- () => getEditorCanvasContainerTitle( editorCanvasContainerView ),
87
- [ editorCanvasContainerView ]
88
- );
89
85
 
90
86
  function onCloseContainer() {
91
87
  setIsListViewOpened( showListViewByDefault );
@@ -119,6 +115,7 @@ function EditorCanvasContainer( {
119
115
  return null;
120
116
  }
121
117
 
118
+ const title = getEditorCanvasContainerTitle( editorCanvasContainerView );
122
119
  const shouldShowCloseButton = onClose || closeButtonLabel;
123
120
 
124
121
  return (
@@ -1,15 +1,17 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { render } from '@testing-library/react';
5
+
1
6
  /**
2
7
  * WordPress dependencies
3
8
  */
4
9
  import * as wpHooks from '@wordpress/hooks';
10
+
5
11
  /**
6
12
  * Internal dependencies
7
13
  */
8
- import ErrorBoundary from '../error-boundary';
9
- /**
10
- * External dependencies
11
- */
12
- import { render } from '@testing-library/react';
14
+ import ErrorBoundary from '../index';
13
15
 
14
16
  const theError = new Error( 'Kaboom' );
15
17
 
@@ -13,6 +13,8 @@ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
13
13
  * Internal dependencies
14
14
  */
15
15
  import { unlock } from '../../lock-unlock';
16
+ import ColorVariations from './variations/variations-color';
17
+ import { useCurrentMergeThemeStyleVariationsWithUserConfig } from '../../hooks/use-theme-style-variations/use-theme-style-variations-by-property';
16
18
 
17
19
  const { useGlobalSetting } = unlock( blockEditorPrivateApis );
18
20
  const mobilePopoverProps = { placement: 'bottom-start', offset: 8 };
@@ -45,7 +47,12 @@ export default function ColorPalettePanel( { name } ) {
45
47
  'color.defaultPalette',
46
48
  name
47
49
  );
48
-
50
+ const colorVariations = useCurrentMergeThemeStyleVariationsWithUserConfig( {
51
+ property: 'color',
52
+ filter: ( variation ) =>
53
+ variation?.settings?.color &&
54
+ Object.keys( variation?.settings?.color ).length,
55
+ } );
49
56
  const isMobileViewport = useViewportMatch( 'small', '<' );
50
57
  const popoverProps = isMobileViewport ? mobilePopoverProps : undefined;
51
58
 
@@ -78,6 +85,9 @@ export default function ColorPalettePanel( { name } ) {
78
85
  popoverProps={ popoverProps }
79
86
  />
80
87
  ) }
88
+ { !! colorVariations.length && (
89
+ <ColorVariations variations={ colorVariations } />
90
+ ) }
81
91
  <PaletteEdit
82
92
  colors={ customColors }
83
93
  onChange={ setCustomColors }
@@ -33,7 +33,7 @@ function FontFamilies() {
33
33
  { !! modalTabOpen && (
34
34
  <FontLibraryModal
35
35
  onRequestClose={ () => toggleModal() }
36
- initialTabId={ modalTabOpen }
36
+ defaultTabId={ modalTabOpen }
37
37
  />
38
38
  ) }
39
39
 
@@ -40,7 +40,7 @@ function CollectionFontVariant( {
40
40
  <CheckboxControl
41
41
  checked={ selected }
42
42
  onChange={ handleToggleActivation }
43
- __nextHasNoMarginBottom={ true }
43
+ __nextHasNoMarginBottom
44
44
  id={ checkboxId }
45
45
  />
46
46
  <label htmlFor={ checkboxId }>
@@ -27,6 +27,7 @@ import {
27
27
  setUIValuesNeeded,
28
28
  mergeFontFamilies,
29
29
  loadFontFaceInBrowser,
30
+ unloadFontFaceInBrowser,
30
31
  getDisplaySrcFromFontFace,
31
32
  makeFontFacesFormData,
32
33
  makeFontFamilyFormData,
@@ -363,6 +364,12 @@ function FontLibraryProvider( { children } ) {
363
364
  ...fontFamilies,
364
365
  [ font.source ]: newCustomFonts,
365
366
  } );
367
+
368
+ if ( font.fontFace ) {
369
+ font.fontFace.forEach( ( face ) => {
370
+ unloadFontFaceInBrowser( face, 'all' );
371
+ } );
372
+ }
366
373
  };
367
374
 
368
375
  const activateCustomFontFamilies = ( fontsToAdd ) => {
@@ -398,6 +405,23 @@ function FontLibraryProvider( { children } ) {
398
405
  ...fontFamilies,
399
406
  [ font.source ]: newFonts,
400
407
  } );
408
+
409
+ const isFaceActivated = isFontActivated(
410
+ font.slug,
411
+ face.fontStyle,
412
+ face.fontWeight,
413
+ font.source
414
+ );
415
+
416
+ if ( isFaceActivated ) {
417
+ loadFontFaceInBrowser(
418
+ face,
419
+ getDisplaySrcFromFontFace( face.src ),
420
+ 'all'
421
+ );
422
+ } else {
423
+ unloadFontFaceInBrowser( face, 'all' );
424
+ }
401
425
  };
402
426
 
403
427
  const loadFontFaceAsset = async ( fontFace ) => {
@@ -10,7 +10,6 @@ import {
10
10
  } from '@wordpress/element';
11
11
  import {
12
12
  __experimentalSpacer as Spacer,
13
- __experimentalInputControl as InputControl,
14
13
  __experimentalText as Text,
15
14
  __experimentalHStack as HStack,
16
15
  __experimentalVStack as VStack,
@@ -21,20 +20,15 @@ import {
21
20
  Notice,
22
21
  SelectControl,
23
22
  Spinner,
24
- Icon,
25
23
  FlexItem,
26
24
  Flex,
27
25
  Button,
28
26
  DropdownMenu,
27
+ SearchControl,
29
28
  } from '@wordpress/components';
30
29
  import { debounce } from '@wordpress/compose';
31
30
  import { sprintf, __, _x } from '@wordpress/i18n';
32
- import {
33
- search,
34
- closeSmall,
35
- moreVertical,
36
- chevronLeft,
37
- } from '@wordpress/icons';
31
+ import { moreVertical, chevronLeft } from '@wordpress/icons';
38
32
 
39
33
  /**
40
34
  * Internal dependencies
@@ -168,11 +162,6 @@ function FontCollection( { slug } ) {
168
162
  setPage( 1 );
169
163
  };
170
164
 
171
- const resetSearch = () => {
172
- setFilters( { ...filters, search: '' } );
173
- setPage( 1 );
174
- };
175
-
176
165
  const handleToggleVariant = ( font, face ) => {
177
166
  const newFontsToInstall = toggleFont( font, face, fontsToInstall );
178
167
  setFontsToInstall( newFontsToInstall );
@@ -288,20 +277,14 @@ function FontCollection( { slug } ) {
288
277
  <Spacer margin={ 4 } />
289
278
  <Flex>
290
279
  <FlexItem>
291
- <InputControl
280
+ <SearchControl
281
+ className="font-library-modal__search"
292
282
  value={ filters.search }
293
283
  placeholder={ __( 'Font name…' ) }
294
284
  label={ __( 'Search' ) }
295
285
  onChange={ debouncedUpdateSearchInput }
296
- prefix={ <Icon icon={ search } /> }
297
- suffix={
298
- filters?.search ? (
299
- <Icon
300
- icon={ closeSmall }
301
- onClick={ resetSearch }
302
- />
303
- ) : null
304
- }
286
+ __nextHasNoMarginBottom
287
+ hideLabelFromVision={ false }
305
288
  />
306
289
  </FlexItem>
307
290
  <FlexItem>
@@ -358,7 +341,7 @@ function FontCollection( { slug } ) {
358
341
  <Flex justify="flex-start">
359
342
  <NavigatorToParentButton
360
343
  icon={ chevronLeft }
361
- isSmall
344
+ size="small"
362
345
  onClick={ () => {
363
346
  setSelectedFont( null );
364
347
  } }
@@ -42,7 +42,7 @@ const tabsFromCollections = ( collections ) =>
42
42
 
43
43
  function FontLibraryModal( {
44
44
  onRequestClose,
45
- initialTabId = 'installed-fonts',
45
+ defaultTabId = 'installed-fonts',
46
46
  } ) {
47
47
  const { collections, setNotice } = useContext( FontLibraryContext );
48
48
  const canUserCreate = useSelect( ( select ) => {
@@ -70,7 +70,7 @@ function FontLibraryModal( {
70
70
  className="font-library-modal"
71
71
  >
72
72
  <div className="font-library-modal__tabs">
73
- <Tabs initialTabId={ initialTabId } onSelect={ onSelect }>
73
+ <Tabs defaultTabId={ defaultTabId } onSelect={ onSelect }>
74
74
  <Tabs.TabList>
75
75
  { tabs.map( ( { id, title } ) => (
76
76
  <Tabs.Tab key={ id } tabId={ id }>
@@ -198,7 +198,7 @@ function InstalledFonts() {
198
198
  <Flex justify="flex-start">
199
199
  <NavigatorToParentButton
200
200
  icon={ chevronLeft }
201
- isSmall
201
+ size="small"
202
202
  onClick={ () => {
203
203
  handleSetLibraryFontSelected( null );
204
204
  } }
@@ -50,7 +50,7 @@ function LibraryFontVariant( { face, font } ) {
50
50
  <CheckboxControl
51
51
  checked={ isInstalled }
52
52
  onChange={ handleToggleActivation }
53
- __nextHasNoMarginBottom={ true }
53
+ __nextHasNoMarginBottom
54
54
  id={ checkboxId }
55
55
  />
56
56
  <label htmlFor={ checkboxId }>
@@ -184,7 +184,7 @@ function UploadFonts() {
184
184
  accept={ ALLOWED_FILE_EXTENSIONS.map(
185
185
  ( ext ) => `.${ ext }`
186
186
  ).join( ',' ) }
187
- multiple={ true }
187
+ multiple
188
188
  onChange={ onFilesUpload }
189
189
  render={ ( { openFileDialog } ) => (
190
190
  <Button
@@ -121,6 +121,40 @@ export async function loadFontFaceInBrowser( fontFace, source, addTo = 'all' ) {
121
121
  }
122
122
  }
123
123
 
124
+ /*
125
+ * Unloads the font face and remove it from the browser.
126
+ * It also removes it from the iframe document.
127
+ *
128
+ * Note that Font faces that were added to the set using the CSS @font-face rule
129
+ * remain connected to the corresponding CSS, and cannot be deleted.
130
+ *
131
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/delete.
132
+ */
133
+ export function unloadFontFaceInBrowser( fontFace, removeFrom = 'all' ) {
134
+ const unloadFontFace = ( fonts ) => {
135
+ fonts.forEach( ( f ) => {
136
+ if (
137
+ f.family === formatFontFaceName( fontFace.fontFamily ) &&
138
+ f.weight === fontFace.fontWeight &&
139
+ f.style === fontFace.fontStyle
140
+ ) {
141
+ fonts.delete( f );
142
+ }
143
+ } );
144
+ };
145
+
146
+ if ( removeFrom === 'document' || removeFrom === 'all' ) {
147
+ unloadFontFace( document.fonts );
148
+ }
149
+
150
+ if ( removeFrom === 'iframe' || removeFrom === 'all' ) {
151
+ const iframeDocument = document.querySelector(
152
+ 'iframe[name="editor-canvas"]'
153
+ ).contentDocument;
154
+ unloadFontFace( iframeDocument.fonts );
155
+ }
156
+ }
157
+
124
158
  /**
125
159
  * Retrieves the display source from a font face src.
126
160
  *
@@ -117,7 +117,8 @@ export function getFamilyPreviewStyle( family ) {
117
117
  if ( family.fontFace ) {
118
118
  //get all the font faces with normal style
119
119
  const normalFaces = family.fontFace.filter(
120
- ( face ) => face.fontStyle.toLowerCase() === 'normal'
120
+ ( face ) =>
121
+ face?.fontStyle && face.fontStyle.toLowerCase() === 'normal'
121
122
  );
122
123
  if ( normalFaces.length > 0 ) {
123
124
  style.fontStyle = 'normal';
@@ -114,8 +114,8 @@ export default function GradientPalettePanel( { name } ) {
114
114
  <Spacer margin={ 3 } />
115
115
  <DuotonePicker
116
116
  duotonePalette={ duotonePalette }
117
- disableCustomDuotone={ true }
118
- disableCustomColors={ true }
117
+ disableCustomDuotone
118
+ disableCustomColors
119
119
  clearable={ false }
120
120
  onChange={ noop }
121
121
  />
@@ -25,7 +25,7 @@ function ScreenHeader( { title, description, onBack } ) {
25
25
  { minWidth: 24, padding: 0 }
26
26
  }
27
27
  icon={ isRTL() ? chevronRight : chevronLeft }
28
- isSmall
28
+ size="small"
29
29
  aria-label={ __( 'Navigate to the previous view' ) }
30
30
  onClick={ onBack }
31
31
  />