@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
@@ -0,0 +1,159 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useSelect } from '@wordpress/data';
5
+ import { store as coreStore } from '@wordpress/core-data';
6
+ import { useContext, useMemo } from '@wordpress/element';
7
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
8
+
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+ import { mergeBaseAndUserConfigs } from '../../components/global-styles/global-styles-provider';
13
+ import cloneDeep from '../../utils/clone-deep';
14
+ import { unlock } from '../../lock-unlock';
15
+
16
+ const { GlobalStylesContext } = unlock( blockEditorPrivateApis );
17
+
18
+ /**
19
+ * Removes all instances of a property from an object.
20
+ *
21
+ * @param {Object} object The object to remove the property from.
22
+ * @param {string} property The property to remove.
23
+ * @return {Object} The modified object.
24
+ */
25
+ export function removePropertyFromObject( object, property ) {
26
+ if ( ! property || typeof property !== 'string' ) {
27
+ return object;
28
+ }
29
+
30
+ if ( typeof object !== 'object' || ! Object.keys( object ).length ) {
31
+ return object;
32
+ }
33
+
34
+ for ( const key in object ) {
35
+ if ( key === property ) {
36
+ delete object[ key ];
37
+ } else if ( typeof object[ key ] === 'object' ) {
38
+ removePropertyFromObject( object[ key ], property );
39
+ }
40
+ }
41
+ return object;
42
+ }
43
+
44
+ /**
45
+ * A convenience wrapper for `useThemeStyleVariationsByProperty()` that fetches the current theme style variations,
46
+ * and user-defined global style/settings object.
47
+ *
48
+ * @param {Object} props Object of hook args.
49
+ * @param {string} props.property The property to filter by.
50
+ * @param {Function} props.filter Optional. The filter function to apply to the variations.
51
+ * @return {Object[]|*} The merged object.
52
+ */
53
+ export function useCurrentMergeThemeStyleVariationsWithUserConfig( {
54
+ property,
55
+ filter,
56
+ } ) {
57
+ const variations = useSelect( ( select ) => {
58
+ return select(
59
+ coreStore
60
+ ).__experimentalGetCurrentThemeGlobalStylesVariations();
61
+ }, [] );
62
+ const { user: baseVariation } = useContext( GlobalStylesContext );
63
+
64
+ return useThemeStyleVariationsByProperty( {
65
+ variations,
66
+ property,
67
+ filter,
68
+ baseVariation: removePropertyFromObject(
69
+ cloneDeep( baseVariation ),
70
+ property
71
+ ),
72
+ } );
73
+ }
74
+
75
+ /**
76
+ * Returns a new object, with properties specified in `property`,
77
+ * maintain the original object tree structure.
78
+ * The function is recursive, so it will perform a deep search for the given property.
79
+ * E.g., the function will return `{ a: { b: { c: { test: 1 } } } }` if the property is `test`.
80
+ *
81
+ * @param {Object} object The object to filter
82
+ * @param {Object} property The property to filter by
83
+ * @return {Object} The merged object.
84
+ */
85
+ export const filterObjectByProperty = ( object, property ) => {
86
+ if ( ! object ) {
87
+ return {};
88
+ }
89
+
90
+ const newObject = {};
91
+ Object.keys( object ).forEach( ( key ) => {
92
+ if ( key === property ) {
93
+ newObject[ key ] = object[ key ];
94
+ } else if ( typeof object[ key ] === 'object' ) {
95
+ const newFilter = filterObjectByProperty( object[ key ], property );
96
+ if ( Object.keys( newFilter ).length ) {
97
+ newObject[ key ] = newFilter;
98
+ }
99
+ }
100
+ } );
101
+ return newObject;
102
+ };
103
+
104
+ /**
105
+ * Returns a new object with only the properties specified in `property`.
106
+ * Optional merges the baseVariation object with the variation object.
107
+ * Note: this function will only overwrite the specified property in baseVariation if it exists.
108
+ * The baseVariation will not be otherwise modified. To strip a property from the baseVariation object, use `removePropertyFromObject`.
109
+ * See useCurrentMergeThemeStyleVariationsWithUserConfig for an example of how to use this function.
110
+ *
111
+ * @param {Object} props Object of hook args.
112
+ * @param {Object[]} props.variations The theme style variations to filter.
113
+ * @param {string} props.property The property to filter by.
114
+ * @param {Function} props.filter Optional. The filter function to apply to the variations.
115
+ * @param {Object} props.baseVariation Optional. Base or user settings to be updated with variation properties.
116
+ * @return {Object[]|*} The merged object.
117
+ */
118
+ export default function useThemeStyleVariationsByProperty( {
119
+ variations,
120
+ property,
121
+ filter,
122
+ baseVariation,
123
+ } ) {
124
+ return useMemo( () => {
125
+ if ( ! property || ! variations || variations?.length === 0 ) {
126
+ return variations;
127
+ }
128
+
129
+ const clonedBaseVariation =
130
+ typeof baseVariation === 'object' &&
131
+ Object.keys( baseVariation ).length > 0
132
+ ? cloneDeep( baseVariation )
133
+ : null;
134
+
135
+ let processedStyleVariations = variations.map( ( variation ) => {
136
+ let result = {
137
+ ...filterObjectByProperty( cloneDeep( variation ), property ),
138
+ title: variation?.title,
139
+ description: variation?.description,
140
+ };
141
+
142
+ if ( clonedBaseVariation ) {
143
+ /*
144
+ * Overwrites all baseVariation object `styleProperty` properties
145
+ * with the theme variation `styleProperty` properties.
146
+ */
147
+ result = mergeBaseAndUserConfigs( clonedBaseVariation, result );
148
+ }
149
+ return result;
150
+ } );
151
+
152
+ if ( 'function' === typeof filter ) {
153
+ processedStyleVariations =
154
+ processedStyleVariations.filter( filter );
155
+ }
156
+
157
+ return processedStyleVariations;
158
+ }, [ variations, property, baseVariation, filter ] );
159
+ }
@@ -11,7 +11,6 @@ import { store as coreStore } from '@wordpress/core-data';
11
11
  import { store as interfaceStore } from '@wordpress/interface';
12
12
  import { store as blockEditorStore } from '@wordpress/block-editor';
13
13
  import { store as editorStore } from '@wordpress/editor';
14
- import { speak } from '@wordpress/a11y';
15
14
  import { store as preferencesStore } from '@wordpress/preferences';
16
15
 
17
16
  /**
@@ -477,13 +476,7 @@ export const revertTemplate =
477
476
  */
478
477
  export const openGeneralSidebar =
479
478
  ( name ) =>
480
- ( { dispatch, registry } ) => {
481
- const isDistractionFree = registry
482
- .select( preferencesStore )
483
- .get( 'core', 'distractionFree' );
484
- if ( isDistractionFree ) {
485
- dispatch.toggleDistractionFree();
486
- }
479
+ ( { registry } ) => {
487
480
  registry
488
481
  .dispatch( interfaceStore )
489
482
  .enableComplementaryArea( editSiteStoreName, name );
@@ -500,29 +493,21 @@ export const closeGeneralSidebar =
500
493
  .disableComplementaryArea( editSiteStoreName );
501
494
  };
502
495
 
496
+ /**
497
+ * Triggers an action used to switch editor mode.
498
+ *
499
+ * @deprecated
500
+ *
501
+ * @param {string} mode The editor mode.
502
+ */
503
503
  export const switchEditorMode =
504
504
  ( mode ) =>
505
- ( { dispatch, registry } ) => {
506
- registry
507
- .dispatch( 'core/preferences' )
508
- .set( 'core', 'editorMode', mode );
509
-
510
- // Unselect blocks when we switch to a non visual mode.
511
- if ( mode !== 'visual' ) {
512
- registry.dispatch( blockEditorStore ).clearSelectedBlock();
513
- }
514
-
515
- if ( mode === 'visual' ) {
516
- speak( __( 'Visual editor selected' ), 'assertive' );
517
- } else if ( mode === 'text' ) {
518
- const isDistractionFree = registry
519
- .select( preferencesStore )
520
- .get( 'core', 'distractionFree' );
521
- if ( isDistractionFree ) {
522
- dispatch.toggleDistractionFree();
523
- }
524
- speak( __( 'Code editor selected' ), 'assertive' );
525
- }
505
+ ( { registry } ) => {
506
+ deprecated( "dispatch( 'core/edit-site' ).switchEditorMode", {
507
+ since: '6.6',
508
+ alternative: "dispatch( 'core/editor').switchEditorMode",
509
+ } );
510
+ registry.dispatch( editorStore ).switchEditorMode( mode );
526
511
  };
527
512
 
528
513
  /**
@@ -552,64 +537,15 @@ export const setHasPageContentFocus =
552
537
  * Action that toggles Distraction free mode.
553
538
  * Distraction free mode expects there are no sidebars, as due to the
554
539
  * z-index values set, you can't close sidebars.
540
+ *
541
+ * @deprecated
555
542
  */
556
543
  export const toggleDistractionFree =
557
544
  () =>
558
- ( { dispatch, registry } ) => {
559
- const isDistractionFree = registry
560
- .select( preferencesStore )
561
- .get( 'core', 'distractionFree' );
562
- if ( isDistractionFree ) {
563
- registry
564
- .dispatch( preferencesStore )
565
- .set( 'core', 'fixedToolbar', false );
566
- }
567
- if ( ! isDistractionFree ) {
568
- registry.batch( () => {
569
- registry
570
- .dispatch( preferencesStore )
571
- .set( 'core', 'fixedToolbar', true );
572
- registry.dispatch( editorStore ).setIsInserterOpened( false );
573
- registry.dispatch( editorStore ).setIsListViewOpened( false );
574
- dispatch.closeGeneralSidebar();
575
- } );
576
- }
577
- registry.batch( () => {
578
- registry
579
- .dispatch( preferencesStore )
580
- .set( 'core', 'distractionFree', ! isDistractionFree );
581
- registry
582
- .dispatch( noticesStore )
583
- .createInfoNotice(
584
- isDistractionFree
585
- ? __( 'Distraction free off.' )
586
- : __( 'Distraction free on.' ),
587
- {
588
- id: 'core/edit-site/distraction-free-mode/notice',
589
- type: 'snackbar',
590
- actions: [
591
- {
592
- label: __( 'Undo' ),
593
- onClick: () => {
594
- registry.batch( () => {
595
- registry
596
- .dispatch( preferencesStore )
597
- .set(
598
- 'core',
599
- 'fixedToolbar',
600
- isDistractionFree ? true : false
601
- );
602
- registry
603
- .dispatch( preferencesStore )
604
- .toggle(
605
- 'core',
606
- 'distractionFree'
607
- );
608
- } );
609
- },
610
- },
611
- ],
612
- }
613
- );
545
+ ( { registry } ) => {
546
+ deprecated( "dispatch( 'core/edit-site' ).toggleDistractionFree", {
547
+ since: '6.6',
548
+ alternative: "dispatch( 'core/editor').toggleDistractionFree",
614
549
  } );
550
+ registry.dispatch( editorStore ).toggleDistractionFree();
615
551
  };
@@ -75,79 +75,4 @@ describe( 'actions', () => {
75
75
  expect( select.getEditedPostType() ).toBe( 'wp_template_part' );
76
76
  } );
77
77
  } );
78
-
79
- describe( 'openGeneralSidebar', () => {
80
- it( 'should turn off distraction free mode when opening a general sidebar', () => {
81
- const registry = createRegistryWithStores();
82
- registry
83
- .dispatch( preferencesStore )
84
- .set( 'core', 'distractionFree', true );
85
- registry
86
- .dispatch( editSiteStore )
87
- .openGeneralSidebar( 'edit-site/global-styles' );
88
- expect(
89
- registry
90
- .select( preferencesStore )
91
- .get( 'core', 'distractionFree' )
92
- ).toBe( false );
93
- } );
94
- } );
95
-
96
- describe( 'switchEditorMode', () => {
97
- it( 'should turn off distraction free mode when switching to code editor', () => {
98
- const registry = createRegistryWithStores();
99
- registry
100
- .dispatch( preferencesStore )
101
- .set( 'core', 'distractionFree', true );
102
- registry.dispatch( editSiteStore ).switchEditorMode( 'visual' );
103
- expect(
104
- registry
105
- .select( preferencesStore )
106
- .get( 'core', 'distractionFree' )
107
- ).toBe( true );
108
- registry.dispatch( editSiteStore ).switchEditorMode( 'text' );
109
- expect(
110
- registry
111
- .select( preferencesStore )
112
- .get( 'core', 'distractionFree' )
113
- ).toBe( false );
114
- } );
115
- } );
116
-
117
- describe( 'toggleDistractionFree', () => {
118
- it( 'should properly update settings to prevent layout corruption when enabling distraction free mode', () => {
119
- const registry = createRegistryWithStores();
120
- // Enable everything that shouldn't be enabled in distraction free mode.
121
- registry
122
- .dispatch( preferencesStore )
123
- .set( 'core', 'fixedToolbar', true );
124
- registry.dispatch( editorStore ).setIsListViewOpened( true );
125
- registry
126
- .dispatch( editSiteStore )
127
- .openGeneralSidebar( 'edit-site/global-styles' );
128
- // Initial state is falsy.
129
- registry.dispatch( editSiteStore ).toggleDistractionFree();
130
- expect(
131
- registry
132
- .select( preferencesStore )
133
- .get( 'core', 'fixedToolbar' )
134
- ).toBe( true );
135
- expect( registry.select( editorStore ).isListViewOpened() ).toBe(
136
- false
137
- );
138
- expect( registry.select( editorStore ).isInserterOpened() ).toBe(
139
- false
140
- );
141
- expect(
142
- registry
143
- .select( interfaceStore )
144
- .getActiveComplementaryArea( editSiteStore.name )
145
- ).toBeNull();
146
- expect(
147
- registry
148
- .select( preferencesStore )
149
- .get( 'core', 'distractionFree' )
150
- ).toBe( true );
151
- } );
152
- } );
153
78
  } );
package/src/style.scss CHANGED
@@ -8,7 +8,6 @@
8
8
  @import "./components/global-styles/style.scss";
9
9
  @import "./components/global-styles/screen-revisions/style.scss";
10
10
  @import "./components/header-edit-mode/style.scss";
11
- @import "./components/list/style.scss";
12
11
  @import "./components/page/style.scss";
13
12
  @import "./components/page-pages/style.scss";
14
13
  @import "./components/page-patterns/style.scss";
@@ -49,6 +48,7 @@
49
48
  @import "./hooks/push-changes-to-global-styles/style.scss";
50
49
  @import "./components/global-styles/font-library-modal/style.scss";
51
50
  @import "./components/pagination/style.scss";
51
+ @import "./components/global-styles/variations/style.scss";
52
52
 
53
53
  body.js #wpadminbar {
54
54
  display: none;
@@ -67,13 +67,8 @@ body.js.site-editor-php {
67
67
  background: $gray-900;
68
68
  }
69
69
 
70
- .edit-site,
71
- // The modals are shown outside the .edit-site wrapper, they need these styles.
72
- .components-modal__frame {
73
- @include reset;
74
- }
75
-
76
70
  .edit-site {
71
+ @include reset;
77
72
  height: 100vh;
78
73
 
79
74
  // On mobile the main content area has to scroll, otherwise you can invoke
@@ -103,7 +98,7 @@ body.js.site-editor-php {
103
98
  }
104
99
 
105
100
  .interface-interface-skeleton__content {
106
- background-color: $gray-900;
101
+ background-color: $gray-300;
107
102
  }
108
103
  }
109
104
 
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Makes a copy of an object without storing any references to the original object.
3
+ * @param {Object} object
4
+ * @return {Object} The cloned object.
5
+ */
6
+ export default function cloneDeep( object ) {
7
+ return ! object ? {} : JSON.parse( JSON.stringify( object ) );
8
+ }
@@ -1,271 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = require("react");
8
- var _blockEditor = require("@wordpress/block-editor");
9
- var _components = require("@wordpress/components");
10
- var _compose = require("@wordpress/compose");
11
- var _element = require("@wordpress/element");
12
- var _lockUnlock = require("../../lock-unlock");
13
- var _hooks = require("./hooks");
14
- /**
15
- * WordPress dependencies
16
- */
17
-
18
- /**
19
- * Internal dependencies
20
- */
21
-
22
- const {
23
- useGlobalStyle,
24
- useGlobalStylesOutput
25
- } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
26
- const firstFrame = {
27
- start: {
28
- scale: 1,
29
- opacity: 1
30
- },
31
- hover: {
32
- scale: 0,
33
- opacity: 0
34
- }
35
- };
36
- const midFrame = {
37
- hover: {
38
- opacity: 1
39
- },
40
- start: {
41
- opacity: 0.5
42
- }
43
- };
44
- const secondFrame = {
45
- hover: {
46
- scale: 1,
47
- opacity: 1
48
- },
49
- start: {
50
- scale: 0,
51
- opacity: 0
52
- }
53
- };
54
- const normalizedWidth = 248;
55
- const normalizedHeight = 152;
56
- const normalizedColorSwatchSize = 32;
57
-
58
- // Throttle options for useThrottle. Must be defined outside of the component,
59
- // so that the object reference is the same on each render.
60
- const THROTTLE_OPTIONS = {
61
- leading: true,
62
- trailing: true
63
- };
64
- const StylesPreview = ({
65
- label,
66
- isFocused,
67
- withHoverView
68
- }) => {
69
- const [fontWeight] = useGlobalStyle('typography.fontWeight');
70
- const [fontFamily = 'serif'] = useGlobalStyle('typography.fontFamily');
71
- const [headingFontFamily = fontFamily] = useGlobalStyle('elements.h1.typography.fontFamily');
72
- const [headingFontWeight = fontWeight] = useGlobalStyle('elements.h1.typography.fontWeight');
73
- const [textColor = 'black'] = useGlobalStyle('color.text');
74
- const [headingColor = textColor] = useGlobalStyle('elements.h1.color.text');
75
- const [backgroundColor = 'white'] = useGlobalStyle('color.background');
76
- const [gradientValue] = useGlobalStyle('color.gradient');
77
- const [styles] = useGlobalStylesOutput();
78
- const disableMotion = (0, _compose.useReducedMotion)();
79
- const [isHovered, setIsHovered] = (0, _element.useState)(false);
80
- const [containerResizeListener, {
81
- width
82
- }] = (0, _compose.useResizeObserver)();
83
- const [throttledWidth, setThrottledWidthState] = (0, _element.useState)(width);
84
- const [ratioState, setRatioState] = (0, _element.useState)();
85
- const setThrottledWidth = (0, _compose.useThrottle)(setThrottledWidthState, 250, THROTTLE_OPTIONS);
86
-
87
- // Must use useLayoutEffect to avoid a flash of the iframe at the wrong
88
- // size before the width is set.
89
- (0, _element.useLayoutEffect)(() => {
90
- if (width) {
91
- setThrottledWidth(width);
92
- }
93
- }, [width, setThrottledWidth]);
94
-
95
- // Must use useLayoutEffect to avoid a flash of the iframe at the wrong
96
- // size before the width is set.
97
- (0, _element.useLayoutEffect)(() => {
98
- const newRatio = throttledWidth ? throttledWidth / normalizedWidth : 1;
99
- const ratioDiff = newRatio - (ratioState || 0);
100
-
101
- // Only update the ratio state if the difference is big enough
102
- // or if the ratio state is not yet set. This is to avoid an
103
- // endless loop of updates at particular viewport heights when the
104
- // presence of a scrollbar causes the width to change slightly.
105
- const isRatioDiffBigEnough = Math.abs(ratioDiff) > 0.1;
106
- if (isRatioDiffBigEnough || !ratioState) {
107
- setRatioState(newRatio);
108
- }
109
- }, [throttledWidth, ratioState]);
110
-
111
- // Set a fallbackRatio to use before the throttled ratio has been set.
112
- const fallbackRatio = width ? width / normalizedWidth : 1;
113
- // Use the throttled ratio if it has been calculated, otherwise
114
- // use the fallback ratio. The throttled ratio is used to avoid
115
- // an endless loop of updates at particular viewport heights.
116
- // See: https://github.com/WordPress/gutenberg/issues/55112
117
- const ratio = ratioState ? ratioState : fallbackRatio;
118
- const {
119
- paletteColors,
120
- highlightedColors
121
- } = (0, _hooks.useStylesPreviewColors)();
122
-
123
- // Reset leaked styles from WP common.css and remove main content layout padding and border.
124
- const editorStyles = (0, _element.useMemo)(() => {
125
- if (styles) {
126
- return [...styles, {
127
- css: 'html{overflow:hidden}body{min-width: 0;padding: 0;border: none;}',
128
- isGlobalStyles: true
129
- }];
130
- }
131
- return styles;
132
- }, [styles]);
133
- const isReady = !!width;
134
- return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)("div", {
135
- style: {
136
- position: 'relative'
137
- }
138
- }, containerResizeListener), isReady && (0, _react.createElement)(_blockEditor.__unstableIframe, {
139
- className: "edit-site-global-styles-preview__iframe",
140
- style: {
141
- width: '100%',
142
- height: normalizedHeight * ratio
143
- },
144
- onMouseEnter: () => setIsHovered(true),
145
- onMouseLeave: () => setIsHovered(false),
146
- tabIndex: -1
147
- }, (0, _react.createElement)(_blockEditor.__unstableEditorStyles, {
148
- styles: editorStyles
149
- }), (0, _react.createElement)(_components.__unstableMotion.div, {
150
- style: {
151
- height: normalizedHeight * ratio,
152
- width: '100%',
153
- background: gradientValue !== null && gradientValue !== void 0 ? gradientValue : backgroundColor,
154
- cursor: withHoverView ? 'pointer' : undefined
155
- },
156
- initial: "start",
157
- animate: (isHovered || isFocused) && !disableMotion && label ? 'hover' : 'start'
158
- }, (0, _react.createElement)(_components.__unstableMotion.div, {
159
- variants: firstFrame,
160
- style: {
161
- height: '100%',
162
- overflow: 'hidden'
163
- }
164
- }, (0, _react.createElement)(_components.__experimentalHStack, {
165
- spacing: 10 * ratio,
166
- justify: "center",
167
- style: {
168
- height: '100%',
169
- overflow: 'hidden'
170
- }
171
- }, (0, _react.createElement)(_components.__unstableMotion.div, {
172
- style: {
173
- fontFamily: headingFontFamily,
174
- fontSize: 65 * ratio,
175
- color: headingColor,
176
- fontWeight: headingFontWeight
177
- },
178
- animate: {
179
- scale: 1,
180
- opacity: 1
181
- },
182
- initial: {
183
- scale: 0.1,
184
- opacity: 0
185
- },
186
- transition: {
187
- delay: 0.3,
188
- type: 'tween'
189
- }
190
- }, "Aa"), (0, _react.createElement)(_components.__experimentalVStack, {
191
- spacing: 4 * ratio
192
- }, highlightedColors.map(({
193
- slug,
194
- color
195
- }, index) => (0, _react.createElement)(_components.__unstableMotion.div, {
196
- key: slug,
197
- style: {
198
- height: normalizedColorSwatchSize * ratio,
199
- width: normalizedColorSwatchSize * ratio,
200
- background: color,
201
- borderRadius: normalizedColorSwatchSize * ratio / 2
202
- },
203
- animate: {
204
- scale: 1,
205
- opacity: 1
206
- },
207
- initial: {
208
- scale: 0.1,
209
- opacity: 0
210
- },
211
- transition: {
212
- delay: index === 1 ? 0.2 : 0.1
213
- }
214
- }))))), (0, _react.createElement)(_components.__unstableMotion.div, {
215
- variants: withHoverView && midFrame,
216
- style: {
217
- height: '100%',
218
- width: '100%',
219
- position: 'absolute',
220
- top: 0,
221
- overflow: 'hidden',
222
- filter: 'blur(60px)',
223
- opacity: 0.1
224
- }
225
- }, (0, _react.createElement)(_components.__experimentalHStack, {
226
- spacing: 0,
227
- justify: "flex-start",
228
- style: {
229
- height: '100%',
230
- overflow: 'hidden'
231
- }
232
- }, paletteColors.slice(0, 4).map(({
233
- color
234
- }, index) => (0, _react.createElement)("div", {
235
- key: index,
236
- style: {
237
- height: '100%',
238
- background: color,
239
- flexGrow: 1
240
- }
241
- })))), (0, _react.createElement)(_components.__unstableMotion.div, {
242
- variants: secondFrame,
243
- style: {
244
- height: '100%',
245
- width: '100%',
246
- overflow: 'hidden',
247
- position: 'absolute',
248
- top: 0
249
- }
250
- }, (0, _react.createElement)(_components.__experimentalVStack, {
251
- spacing: 3 * ratio,
252
- justify: "center",
253
- style: {
254
- height: '100%',
255
- overflow: 'hidden',
256
- padding: 10 * ratio,
257
- boxSizing: 'border-box'
258
- }
259
- }, label && (0, _react.createElement)("div", {
260
- style: {
261
- fontSize: 40 * ratio,
262
- fontFamily: headingFontFamily,
263
- color: headingColor,
264
- fontWeight: headingFontWeight,
265
- lineHeight: '1em',
266
- textAlign: 'center'
267
- }
268
- }, label))))));
269
- };
270
- var _default = exports.default = StylesPreview;
271
- //# sourceMappingURL=preview.js.map