@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 @@
1
+ {"version":3,"names":["__unstableIframe","Iframe","__unstableEditorStyles","EditorStyles","privateApis","blockEditorPrivateApis","__unstableMotion","motion","useThrottle","useReducedMotion","useResizeObserver","useLayoutEffect","useState","useMemo","unlock","useGlobalStyle","useGlobalStylesOutput","normalizedWidth","normalizedHeight","THROTTLE_OPTIONS","leading","trailing","PreviewIframe","children","label","isFocused","withHoverView","backgroundColor","gradientValue","styles","disableMotion","isHovered","setIsHovered","containerResizeListener","width","throttledWidth","setThrottledWidthState","ratioState","setRatioState","setThrottledWidth","newRatio","ratioDiff","isRatioDiffBigEnough","Math","abs","fallbackRatio","ratio","editorStyles","css","isGlobalStyles","isReady","createElement","Fragment","style","position","className","height","onMouseEnter","onMouseLeave","tabIndex","div","background","cursor","undefined","initial","animate","concat","map","child","key"],"sources":["@wordpress/edit-site/src/components/global-styles/preview-iframe.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__unstableIframe as Iframe,\n\t__unstableEditorStyles as EditorStyles,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport {\n\tuseThrottle,\n\tuseReducedMotion,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { useLayoutEffect, useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle, useGlobalStylesOutput } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst normalizedWidth = 248;\nconst normalizedHeight = 152;\n\n// Throttle options for useThrottle. Must be defined outside of the component,\n// so that the object reference is the same on each render.\nconst THROTTLE_OPTIONS = {\n\tleading: true,\n\ttrailing: true,\n};\n\nexport default function PreviewIframe( {\n\tchildren,\n\tlabel,\n\tisFocused,\n\twithHoverView,\n} ) {\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\tconst [ styles ] = useGlobalStylesOutput();\n\tconst disableMotion = useReducedMotion();\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ containerResizeListener, { width } ] = useResizeObserver();\n\tconst [ throttledWidth, setThrottledWidthState ] = useState( width );\n\tconst [ ratioState, setRatioState ] = useState();\n\n\tconst setThrottledWidth = useThrottle(\n\t\tsetThrottledWidthState,\n\t\t250,\n\t\tTHROTTLE_OPTIONS\n\t);\n\n\t// Must use useLayoutEffect to avoid a flash of the iframe at the wrong\n\t// size before the width is set.\n\tuseLayoutEffect( () => {\n\t\tif ( width ) {\n\t\t\tsetThrottledWidth( width );\n\t\t}\n\t}, [ width, setThrottledWidth ] );\n\n\t// Must use useLayoutEffect to avoid a flash of the iframe at the wrong\n\t// size before the width is set.\n\tuseLayoutEffect( () => {\n\t\tconst newRatio = throttledWidth ? throttledWidth / normalizedWidth : 1;\n\t\tconst ratioDiff = newRatio - ( ratioState || 0 );\n\n\t\t// Only update the ratio state if the difference is big enough\n\t\t// or if the ratio state is not yet set. This is to avoid an\n\t\t// endless loop of updates at particular viewport heights when the\n\t\t// presence of a scrollbar causes the width to change slightly.\n\t\tconst isRatioDiffBigEnough = Math.abs( ratioDiff ) > 0.1;\n\n\t\tif ( isRatioDiffBigEnough || ! ratioState ) {\n\t\t\tsetRatioState( newRatio );\n\t\t}\n\t}, [ throttledWidth, ratioState ] );\n\n\t// Set a fallbackRatio to use before the throttled ratio has been set.\n\tconst fallbackRatio = width ? width / normalizedWidth : 1;\n\t/*\n\t * Use the throttled ratio if it has been calculated, otherwise\n\t * use the fallback ratio. The throttled ratio is used to avoid\n\t * an endless loop of updates at particular viewport heights.\n\t * See: https://github.com/WordPress/gutenberg/issues/55112\n\t */\n\tconst ratio = ratioState ? ratioState : fallbackRatio;\n\n\t/*\n\t * Reset leaked styles from WP common.css and remove main content layout padding and border.\n\t * Add pointer cursor to the body to indicate the iframe is interactive,\n\t * similar to Typography variation previews.\n\t */\n\tconst editorStyles = useMemo( () => {\n\t\tif ( styles ) {\n\t\t\treturn [\n\t\t\t\t...styles,\n\t\t\t\t{\n\t\t\t\t\tcss: 'html{overflow:hidden}body{min-width: 0;padding: 0;border: none;cursor: pointer;}',\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\treturn styles;\n\t}, [ styles ] );\n\tconst isReady = !! width;\n\n\treturn (\n\t\t<>\n\t\t\t<div style={ { position: 'relative' } }>\n\t\t\t\t{ containerResizeListener }\n\t\t\t</div>\n\t\t\t{ isReady && (\n\t\t\t\t<Iframe\n\t\t\t\t\tclassName=\"edit-site-global-styles-preview__iframe\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\theight: normalizedHeight * ratio,\n\t\t\t\t\t} }\n\t\t\t\t\tonMouseEnter={ () => setIsHovered( true ) }\n\t\t\t\t\tonMouseLeave={ () => setIsHovered( false ) }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t<EditorStyles styles={ editorStyles } />\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\theight: normalizedHeight * ratio,\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\tbackground: gradientValue ?? backgroundColor,\n\t\t\t\t\t\t\tcursor: withHoverView ? 'pointer' : undefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tinitial=\"start\"\n\t\t\t\t\t\tanimate={\n\t\t\t\t\t\t\t( isHovered || isFocused ) &&\n\t\t\t\t\t\t\t! disableMotion &&\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t? 'hover'\n\t\t\t\t\t\t\t\t: 'start'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ []\n\t\t\t\t\t\t\t.concat( children ) // This makes sure children is always an array.\n\t\t\t\t\t\t\t.map( ( child, key ) => child( { ratio, key } ) ) }\n\t\t\t\t\t</motion.div>\n\t\t\t\t</Iframe>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
6
+ import { __experimentalHStack as HStack, __experimentalVStack as VStack, __unstableMotion as motion } from '@wordpress/components';
7
+
8
+ /**
9
+ * Internal dependencies
10
+ */
11
+ import { unlock } from '../../lock-unlock';
12
+ import { useStylesPreviewColors } from './hooks';
13
+ import PreviewTypography from './preview-typography';
14
+ import HighlightedColors from './highlighted-colors';
15
+ import PreviewIframe from './preview-iframe';
16
+ const {
17
+ useGlobalStyle
18
+ } = unlock(blockEditorPrivateApis);
19
+ const firstFrameVariants = {
20
+ start: {
21
+ scale: 1,
22
+ opacity: 1
23
+ },
24
+ hover: {
25
+ scale: 0,
26
+ opacity: 0
27
+ }
28
+ };
29
+ const midFrameVariants = {
30
+ hover: {
31
+ opacity: 1
32
+ },
33
+ start: {
34
+ opacity: 0.5
35
+ }
36
+ };
37
+ const secondFrameVariants = {
38
+ hover: {
39
+ scale: 1,
40
+ opacity: 1
41
+ },
42
+ start: {
43
+ scale: 0,
44
+ opacity: 0
45
+ }
46
+ };
47
+ const PreviewStyles = ({
48
+ label,
49
+ isFocused,
50
+ withHoverView,
51
+ variation
52
+ }) => {
53
+ const [fontWeight] = useGlobalStyle('typography.fontWeight');
54
+ const [fontFamily = 'serif'] = useGlobalStyle('typography.fontFamily');
55
+ const [headingFontFamily = fontFamily] = useGlobalStyle('elements.h1.typography.fontFamily');
56
+ const [headingFontWeight = fontWeight] = useGlobalStyle('elements.h1.typography.fontWeight');
57
+ const [textColor = 'black'] = useGlobalStyle('color.text');
58
+ const [headingColor = textColor] = useGlobalStyle('elements.h1.color.text');
59
+ const {
60
+ paletteColors
61
+ } = useStylesPreviewColors();
62
+ return createElement(PreviewIframe, {
63
+ label: label,
64
+ isFocused: isFocused,
65
+ withHoverView: withHoverView
66
+ }, ({
67
+ ratio,
68
+ key
69
+ }) => createElement(motion.div, {
70
+ key: key,
71
+ variants: firstFrameVariants,
72
+ style: {
73
+ height: '100%',
74
+ overflow: 'hidden'
75
+ }
76
+ }, createElement(HStack, {
77
+ spacing: 10 * ratio,
78
+ justify: "center",
79
+ style: {
80
+ height: '100%',
81
+ overflow: 'hidden'
82
+ }
83
+ }, createElement(PreviewTypography, {
84
+ fontSize: 65 * ratio,
85
+ variation: variation
86
+ }), createElement(VStack, {
87
+ spacing: 4 * ratio
88
+ }, createElement(HighlightedColors, {
89
+ normalizedColorSwatchSize: 32,
90
+ ratio: ratio
91
+ })))), ({
92
+ key
93
+ }) => createElement(motion.div, {
94
+ key: key,
95
+ variants: withHoverView && midFrameVariants,
96
+ style: {
97
+ height: '100%',
98
+ width: '100%',
99
+ position: 'absolute',
100
+ top: 0,
101
+ overflow: 'hidden',
102
+ filter: 'blur(60px)',
103
+ opacity: 0.1
104
+ }
105
+ }, createElement(HStack, {
106
+ spacing: 0,
107
+ justify: "flex-start",
108
+ style: {
109
+ height: '100%',
110
+ overflow: 'hidden'
111
+ }
112
+ }, paletteColors.slice(0, 4).map(({
113
+ color
114
+ }, index) => createElement("div", {
115
+ key: index,
116
+ style: {
117
+ height: '100%',
118
+ background: color,
119
+ flexGrow: 1
120
+ }
121
+ })))), ({
122
+ ratio,
123
+ key
124
+ }) => createElement(motion.div, {
125
+ key: key,
126
+ variants: secondFrameVariants,
127
+ style: {
128
+ height: '100%',
129
+ width: '100%',
130
+ overflow: 'hidden',
131
+ position: 'absolute',
132
+ top: 0
133
+ }
134
+ }, createElement(VStack, {
135
+ spacing: 3 * ratio,
136
+ justify: "center",
137
+ style: {
138
+ height: '100%',
139
+ overflow: 'hidden',
140
+ padding: 10 * ratio,
141
+ boxSizing: 'border-box'
142
+ }
143
+ }, label && createElement("div", {
144
+ style: {
145
+ fontSize: 40 * ratio,
146
+ fontFamily: headingFontFamily,
147
+ color: headingColor,
148
+ fontWeight: headingFontWeight,
149
+ lineHeight: '1em',
150
+ textAlign: 'center'
151
+ }
152
+ }, label))));
153
+ };
154
+ export default PreviewStyles;
155
+ //# sourceMappingURL=preview-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["privateApis","blockEditorPrivateApis","__experimentalHStack","HStack","__experimentalVStack","VStack","__unstableMotion","motion","unlock","useStylesPreviewColors","PreviewTypography","HighlightedColors","PreviewIframe","useGlobalStyle","firstFrameVariants","start","scale","opacity","hover","midFrameVariants","secondFrameVariants","PreviewStyles","label","isFocused","withHoverView","variation","fontWeight","fontFamily","headingFontFamily","headingFontWeight","textColor","headingColor","paletteColors","createElement","ratio","key","div","variants","style","height","overflow","spacing","justify","fontSize","normalizedColorSwatchSize","width","position","top","filter","slice","map","color","index","background","flexGrow","padding","boxSizing","lineHeight","textAlign"],"sources":["@wordpress/edit-site/src/components/global-styles/preview-styles.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { useStylesPreviewColors } from './hooks';\nimport PreviewTypography from './preview-typography';\nimport HighlightedColors from './highlighted-colors';\nimport PreviewIframe from './preview-iframe';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst firstFrameVariants = {\n\tstart: {\n\t\tscale: 1,\n\t\topacity: 1,\n\t},\n\thover: {\n\t\tscale: 0,\n\t\topacity: 0,\n\t},\n};\n\nconst midFrameVariants = {\n\thover: {\n\t\topacity: 1,\n\t},\n\tstart: {\n\t\topacity: 0.5,\n\t},\n};\n\nconst secondFrameVariants = {\n\thover: {\n\t\tscale: 1,\n\t\topacity: 1,\n\t},\n\tstart: {\n\t\tscale: 0,\n\t\topacity: 0,\n\t},\n};\n\nconst PreviewStyles = ( { label, isFocused, withHoverView, variation } ) => {\n\tconst [ fontWeight ] = useGlobalStyle( 'typography.fontWeight' );\n\tconst [ fontFamily = 'serif' ] = useGlobalStyle( 'typography.fontFamily' );\n\tconst [ headingFontFamily = fontFamily ] = useGlobalStyle(\n\t\t'elements.h1.typography.fontFamily'\n\t);\n\tconst [ headingFontWeight = fontWeight ] = useGlobalStyle(\n\t\t'elements.h1.typography.fontWeight'\n\t);\n\tconst [ textColor = 'black' ] = useGlobalStyle( 'color.text' );\n\tconst [ headingColor = textColor ] = useGlobalStyle(\n\t\t'elements.h1.color.text'\n\t);\n\n\tconst { paletteColors } = useStylesPreviewColors();\n\n\treturn (\n\t\t<PreviewIframe\n\t\t\tlabel={ label }\n\t\t\tisFocused={ isFocused }\n\t\t\twithHoverView={ withHoverView }\n\t\t>\n\t\t\t{ ( { ratio, key } ) => (\n\t\t\t\t<motion.div\n\t\t\t\t\tkey={ key }\n\t\t\t\t\tvariants={ firstFrameVariants }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tspacing={ 10 * ratio }\n\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PreviewTypography\n\t\t\t\t\t\t\tfontSize={ 65 * ratio }\n\t\t\t\t\t\t\tvariation={ variation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<VStack spacing={ 4 * ratio }>\n\t\t\t\t\t\t\t<HighlightedColors\n\t\t\t\t\t\t\t\tnormalizedColorSwatchSize={ 32 }\n\t\t\t\t\t\t\t\tratio={ ratio }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</HStack>\n\t\t\t\t</motion.div>\n\t\t\t) }\n\t\t\t{ ( { key } ) => (\n\t\t\t\t<motion.div\n\t\t\t\t\tkey={ key }\n\t\t\t\t\tvariants={ withHoverView && midFrameVariants }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\tfilter: 'blur(60px)',\n\t\t\t\t\t\topacity: 0.1,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ paletteColors\n\t\t\t\t\t\t\t.slice( 0, 4 )\n\t\t\t\t\t\t\t.map( ( { color }, index ) => (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\t\t\t\tbackground: color,\n\t\t\t\t\t\t\t\t\t\tflexGrow: 1,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t</HStack>\n\t\t\t\t</motion.div>\n\t\t\t) }\n\t\t\t{ ( { ratio, key } ) => (\n\t\t\t\t<motion.div\n\t\t\t\t\tkey={ key }\n\t\t\t\t\tvariants={ secondFrameVariants }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing={ 3 * ratio }\n\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\tpadding: 10 * ratio,\n\t\t\t\t\t\t\tboxSizing: 'border-box',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tfontSize: 40 * ratio,\n\t\t\t\t\t\t\t\t\tfontFamily: headingFontFamily,\n\t\t\t\t\t\t\t\t\tcolor: headingColor,\n\t\t\t\t\t\t\t\t\tfontWeight: headingFontWeight,\n\t\t\t\t\t\t\t\t\tlineHeight: '1em',\n\t\t\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t</motion.div>\n\t\t\t) }\n\t\t</PreviewIframe>\n\t);\n};\n\nexport default PreviewStyles;\n"],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { useContext } from '@wordpress/element';
6
+ import { __unstableMotion as motion } from '@wordpress/components';
7
+ import { _x } from '@wordpress/i18n';
8
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
9
+
10
+ /**
11
+ * Internal dependencies
12
+ */
13
+ import { mergeBaseAndUserConfigs } from './global-styles-provider';
14
+ import { unlock } from '../../lock-unlock';
15
+ import { getFamilyPreviewStyle } from './font-library-modal/utils/preview-styles';
16
+ import { getFontFamilies } from './utils';
17
+ const {
18
+ GlobalStylesContext
19
+ } = unlock(blockEditorPrivateApis);
20
+ export default function PreviewTypography({
21
+ fontSize,
22
+ variation
23
+ }) {
24
+ const {
25
+ base
26
+ } = useContext(GlobalStylesContext);
27
+ let config = base;
28
+ if (variation) {
29
+ config = mergeBaseAndUserConfigs(base, variation);
30
+ }
31
+ const [bodyFontFamilies, headingFontFamilies] = getFontFamilies(config);
32
+ const bodyPreviewStyle = bodyFontFamilies ? getFamilyPreviewStyle(bodyFontFamilies) : {};
33
+ const headingPreviewStyle = headingFontFamilies ? getFamilyPreviewStyle(headingFontFamilies) : {};
34
+ if (fontSize) {
35
+ bodyPreviewStyle.fontSize = fontSize;
36
+ headingPreviewStyle.fontSize = fontSize;
37
+ }
38
+ return createElement(motion.div, {
39
+ className: "edit-site-global-styles_preview-typography",
40
+ animate: {
41
+ scale: 1,
42
+ opacity: 1
43
+ },
44
+ initial: {
45
+ scale: 0.1,
46
+ opacity: 0
47
+ },
48
+ transition: {
49
+ delay: 0.3,
50
+ type: 'tween'
51
+ }
52
+ }, createElement("span", {
53
+ style: headingPreviewStyle
54
+ }, _x('A', 'Uppercase letter A')), createElement("span", {
55
+ style: bodyPreviewStyle
56
+ }, _x('a', 'Lowercase letter A')));
57
+ }
58
+ //# sourceMappingURL=preview-typography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useContext","__unstableMotion","motion","_x","privateApis","blockEditorPrivateApis","mergeBaseAndUserConfigs","unlock","getFamilyPreviewStyle","getFontFamilies","GlobalStylesContext","PreviewTypography","fontSize","variation","base","config","bodyFontFamilies","headingFontFamilies","bodyPreviewStyle","headingPreviewStyle","createElement","div","className","animate","scale","opacity","initial","transition","delay","type","style"],"sources":["@wordpress/edit-site/src/components/global-styles/preview-typography.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport { _x } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { mergeBaseAndUserConfigs } from './global-styles-provider';\nimport { unlock } from '../../lock-unlock';\nimport { getFamilyPreviewStyle } from './font-library-modal/utils/preview-styles';\nimport { getFontFamilies } from './utils';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\n\nexport default function PreviewTypography( { fontSize, variation } ) {\n\tconst { base } = useContext( GlobalStylesContext );\n\tlet config = base;\n\tif ( variation ) {\n\t\tconfig = mergeBaseAndUserConfigs( base, variation );\n\t}\n\tconst [ bodyFontFamilies, headingFontFamilies ] = getFontFamilies( config );\n\tconst bodyPreviewStyle = bodyFontFamilies\n\t\t? getFamilyPreviewStyle( bodyFontFamilies )\n\t\t: {};\n\tconst headingPreviewStyle = headingFontFamilies\n\t\t? getFamilyPreviewStyle( headingFontFamilies )\n\t\t: {};\n\n\tif ( fontSize ) {\n\t\tbodyPreviewStyle.fontSize = fontSize;\n\t\theadingPreviewStyle.fontSize = fontSize;\n\t}\n\n\treturn (\n\t\t<motion.div\n\t\t\tclassName=\"edit-site-global-styles_preview-typography\"\n\t\t\tanimate={ {\n\t\t\t\tscale: 1,\n\t\t\t\topacity: 1,\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tscale: 0.1,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\ttransition={ {\n\t\t\t\tdelay: 0.3,\n\t\t\t\ttype: 'tween',\n\t\t\t} }\n\t\t>\n\t\t\t<span style={ headingPreviewStyle }>\n\t\t\t\t{ _x( 'A', 'Uppercase letter A' ) }\n\t\t\t</span>\n\t\t\t<span style={ bodyPreviewStyle }>\n\t\t\t\t{ _x( 'a', 'Lowercase letter A' ) }\n\t\t\t</span>\n\t\t</motion.div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,gBAAgB,IAAIC,MAAM,QAAQ,uBAAuB;AAClE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAE/E;AACA;AACA;AACA,SAASC,uBAAuB,QAAQ,0BAA0B;AAClE,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,qBAAqB,QAAQ,2CAA2C;AACjF,SAASC,eAAe,QAAQ,SAAS;AAEzC,MAAM;EAAEC;AAAoB,CAAC,GAAGH,MAAM,CAAEF,sBAAuB,CAAC;AAEhE,eAAe,SAASM,iBAAiBA,CAAE;EAAEC,QAAQ;EAAEC;AAAU,CAAC,EAAG;EACpE,MAAM;IAAEC;EAAK,CAAC,GAAGd,UAAU,CAAEU,mBAAoB,CAAC;EAClD,IAAIK,MAAM,GAAGD,IAAI;EACjB,IAAKD,SAAS,EAAG;IAChBE,MAAM,GAAGT,uBAAuB,CAAEQ,IAAI,EAAED,SAAU,CAAC;EACpD;EACA,MAAM,CAAEG,gBAAgB,EAAEC,mBAAmB,CAAE,GAAGR,eAAe,CAAEM,MAAO,CAAC;EAC3E,MAAMG,gBAAgB,GAAGF,gBAAgB,GACtCR,qBAAqB,CAAEQ,gBAAiB,CAAC,GACzC,CAAC,CAAC;EACL,MAAMG,mBAAmB,GAAGF,mBAAmB,GAC5CT,qBAAqB,CAAES,mBAAoB,CAAC,GAC5C,CAAC,CAAC;EAEL,IAAKL,QAAQ,EAAG;IACfM,gBAAgB,CAACN,QAAQ,GAAGA,QAAQ;IACpCO,mBAAmB,CAACP,QAAQ,GAAGA,QAAQ;EACxC;EAEA,OACCQ,aAAA,CAAClB,MAAM,CAACmB,GAAG;IACVC,SAAS,EAAC,4CAA4C;IACtDC,OAAO,EAAG;MACTC,KAAK,EAAE,CAAC;MACRC,OAAO,EAAE;IACV,CAAG;IACHC,OAAO,EAAG;MACTF,KAAK,EAAE,GAAG;MACVC,OAAO,EAAE;IACV,CAAG;IACHE,UAAU,EAAG;MACZC,KAAK,EAAE,GAAG;MACVC,IAAI,EAAE;IACP;EAAG,GAEHT,aAAA;IAAMU,KAAK,EAAGX;EAAqB,GAChChB,EAAE,CAAE,GAAG,EAAE,oBAAqB,CAC3B,CAAC,EACPiB,aAAA;IAAMU,KAAK,EAAGZ;EAAkB,GAC7Bf,EAAE,CAAE,GAAG,EAAE,oBAAqB,CAC3B,CACK,CAAC;AAEf"}
@@ -14,7 +14,7 @@ import { speak } from '@wordpress/a11y';
14
14
  /**
15
15
  * Internal dependencies
16
16
  */
17
- import { useBlockVariations } from './variations-panel';
17
+ import { useBlockVariations } from './variations/variations-panel';
18
18
  import ScreenHeader from './header';
19
19
  import { NavigationButtonAsItem } from './navigation-button';
20
20
  import { unlock } from '../../lock-unlock';
@@ -1 +1 @@
1
- {"version":3,"names":["store","blocksStore","__","sprintf","_n","FlexItem","SearchControl","__experimentalHStack","HStack","useSelect","useState","useEffect","useRef","useDeferredValue","memo","BlockIcon","privateApis","blockEditorPrivateApis","useDebounce","speak","useBlockVariations","ScreenHeader","NavigationButtonAsItem","unlock","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useSortedBlockTypes","blockItems","select","getBlockTypes","groupByType","blocks","block","core","noncore","type","name","startsWith","push","coreItems","nonCoreItems","reduce","useBlockHasGlobalStyles","blockName","rawSettings","settings","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasLayoutPanel","hasVariationsPanel","length","hasGlobalStyles","BlockMenuItem","hasBlockMenuItem","navigationButtonLabel","title","createElement","path","encodeURIComponent","justify","icon","BlockList","filterValue","sortedBlockTypes","debouncedSpeak","isMatchingSearchTerm","filteredBlockTypes","filter","blockType","blockTypesListRef","count","current","childElementCount","resultsFoundMessage","ref","className","map","key","MemoizedBlockList","ScreenBlockList","setFilterValue","deferredFilterValue","Fragment","description","__nextHasNoMarginBottom","onChange","value","label","placeholder"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-block-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport {\n\tFlexItem,\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseDeferredValue,\n\tmemo,\n} from '@wordpress/element';\nimport {\n\tBlockIcon,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport { useBlockVariations } from './variations-panel';\nimport ScreenHeader from './header';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction useSortedBlockTypes() {\n\tconst blockItems = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockTypes(),\n\t\t[]\n\t);\n\t// Ensure core blocks are prioritized in the returned results,\n\t// because third party blocks can be registered earlier than\n\t// the core blocks (usually by using the `init` action),\n\t// thus affecting the display order.\n\t// We don't sort reusable blocks as they are handled differently.\n\tconst groupByType = ( blocks, block ) => {\n\t\tconst { core, noncore } = blocks;\n\t\tconst type = block.name.startsWith( 'core/' ) ? core : noncore;\n\t\ttype.push( block );\n\t\treturn blocks;\n\t};\n\tconst { core: coreItems, noncore: nonCoreItems } = blockItems.reduce(\n\t\tgroupByType,\n\t\t{ core: [], noncore: [] }\n\t);\n\treturn [ ...coreItems, ...nonCoreItems ];\n}\n\nexport function useBlockHasGlobalStyles( blockName ) {\n\tconst [ rawSettings ] = useGlobalSetting( '', blockName );\n\tconst settings = useSettingsForBlockElement( rawSettings, blockName );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;\n\tconst hasVariationsPanel = !! useBlockVariations( blockName )?.length;\n\tconst hasGlobalStyles =\n\t\thasTypographyPanel ||\n\t\thasColorPanel ||\n\t\thasLayoutPanel ||\n\t\thasVariationsPanel;\n\treturn hasGlobalStyles;\n}\n\nfunction BlockMenuItem( { block } ) {\n\tconst hasBlockMenuItem = useBlockHasGlobalStyles( block.name );\n\tif ( ! hasBlockMenuItem ) {\n\t\treturn null;\n\t}\n\n\tconst navigationButtonLabel = sprintf(\n\t\t// translators: %s: is the name of a block e.g., 'Image' or 'Table'.\n\t\t__( '%s block styles' ),\n\t\tblock.title\n\t);\n\n\treturn (\n\t\t<NavigationButtonAsItem\n\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\taria-label={ navigationButtonLabel }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<BlockIcon icon={ block.icon } />\n\t\t\t\t<FlexItem>{ block.title }</FlexItem>\n\t\t\t</HStack>\n\t\t</NavigationButtonAsItem>\n\t);\n}\n\nfunction BlockList( { filterValue } ) {\n\tconst sortedBlockTypes = useSortedBlockTypes();\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst { isMatchingSearchTerm } = useSelect( blocksStore );\n\n\tconst filteredBlockTypes = ! filterValue\n\t\t? sortedBlockTypes\n\t\t: sortedBlockTypes.filter( ( blockType ) =>\n\t\t\t\tisMatchingSearchTerm( blockType, filterValue )\n\t\t );\n\n\tconst blockTypesListRef = useRef();\n\n\t// Announce search results on change\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\t// We extract the results from the wrapper div's `ref` because\n\t\t// filtered items can contain items that will eventually not\n\t\t// render and there is no reliable way to detect when a child\n\t\t// will return `null`.\n\t\t// TODO: We should find a better way of handling this as it's\n\t\t// fragile and depends on the number of rendered elements of `BlockMenuItem`,\n\t\t// which is now one.\n\t\t// @see https://github.com/WordPress/gutenberg/pull/39117#discussion_r816022116\n\t\tconst count = blockTypesListRef.current.childElementCount;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage, count );\n\t}, [ filterValue, debouncedSpeak ] );\n\n\treturn (\n\t\t<div\n\t\t\tref={ blockTypesListRef }\n\t\t\tclassName=\"edit-site-block-types-item-list\"\n\t\t>\n\t\t\t{ filteredBlockTypes.map( ( block ) => (\n\t\t\t\t<BlockMenuItem\n\t\t\t\t\tblock={ block }\n\t\t\t\t\tkey={ 'menu-itemblock-' + block.name }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</div>\n\t);\n}\n\nconst MemoizedBlockList = memo( BlockList );\n\nfunction ScreenBlockList() {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst deferredFilterValue = useDeferredValue( filterValue );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Blocks' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Customize the appearance of specific blocks and for the whole site.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<SearchControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tclassName=\"edit-site-block-types-search\"\n\t\t\t\tonChange={ setFilterValue }\n\t\t\t\tvalue={ filterValue }\n\t\t\t\tlabel={ __( 'Search for blocks' ) }\n\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t/>\n\t\t\t<MemoizedBlockList filterValue={ deferredFilterValue } />\n\t\t</>\n\t);\n}\n\nexport default ScreenBlockList;\n"],"mappings":"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"}
1
+ {"version":3,"names":["store","blocksStore","__","sprintf","_n","FlexItem","SearchControl","__experimentalHStack","HStack","useSelect","useState","useEffect","useRef","useDeferredValue","memo","BlockIcon","privateApis","blockEditorPrivateApis","useDebounce","speak","useBlockVariations","ScreenHeader","NavigationButtonAsItem","unlock","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useSortedBlockTypes","blockItems","select","getBlockTypes","groupByType","blocks","block","core","noncore","type","name","startsWith","push","coreItems","nonCoreItems","reduce","useBlockHasGlobalStyles","blockName","rawSettings","settings","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasLayoutPanel","hasVariationsPanel","length","hasGlobalStyles","BlockMenuItem","hasBlockMenuItem","navigationButtonLabel","title","createElement","path","encodeURIComponent","justify","icon","BlockList","filterValue","sortedBlockTypes","debouncedSpeak","isMatchingSearchTerm","filteredBlockTypes","filter","blockType","blockTypesListRef","count","current","childElementCount","resultsFoundMessage","ref","className","map","key","MemoizedBlockList","ScreenBlockList","setFilterValue","deferredFilterValue","Fragment","description","__nextHasNoMarginBottom","onChange","value","label","placeholder"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-block-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport {\n\tFlexItem,\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseDeferredValue,\n\tmemo,\n} from '@wordpress/element';\nimport {\n\tBlockIcon,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport { useBlockVariations } from './variations/variations-panel';\nimport ScreenHeader from './header';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction useSortedBlockTypes() {\n\tconst blockItems = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockTypes(),\n\t\t[]\n\t);\n\t// Ensure core blocks are prioritized in the returned results,\n\t// because third party blocks can be registered earlier than\n\t// the core blocks (usually by using the `init` action),\n\t// thus affecting the display order.\n\t// We don't sort reusable blocks as they are handled differently.\n\tconst groupByType = ( blocks, block ) => {\n\t\tconst { core, noncore } = blocks;\n\t\tconst type = block.name.startsWith( 'core/' ) ? core : noncore;\n\t\ttype.push( block );\n\t\treturn blocks;\n\t};\n\tconst { core: coreItems, noncore: nonCoreItems } = blockItems.reduce(\n\t\tgroupByType,\n\t\t{ core: [], noncore: [] }\n\t);\n\treturn [ ...coreItems, ...nonCoreItems ];\n}\n\nexport function useBlockHasGlobalStyles( blockName ) {\n\tconst [ rawSettings ] = useGlobalSetting( '', blockName );\n\tconst settings = useSettingsForBlockElement( rawSettings, blockName );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;\n\tconst hasVariationsPanel = !! useBlockVariations( blockName )?.length;\n\tconst hasGlobalStyles =\n\t\thasTypographyPanel ||\n\t\thasColorPanel ||\n\t\thasLayoutPanel ||\n\t\thasVariationsPanel;\n\treturn hasGlobalStyles;\n}\n\nfunction BlockMenuItem( { block } ) {\n\tconst hasBlockMenuItem = useBlockHasGlobalStyles( block.name );\n\tif ( ! hasBlockMenuItem ) {\n\t\treturn null;\n\t}\n\n\tconst navigationButtonLabel = sprintf(\n\t\t// translators: %s: is the name of a block e.g., 'Image' or 'Table'.\n\t\t__( '%s block styles' ),\n\t\tblock.title\n\t);\n\n\treturn (\n\t\t<NavigationButtonAsItem\n\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t\taria-label={ navigationButtonLabel }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<BlockIcon icon={ block.icon } />\n\t\t\t\t<FlexItem>{ block.title }</FlexItem>\n\t\t\t</HStack>\n\t\t</NavigationButtonAsItem>\n\t);\n}\n\nfunction BlockList( { filterValue } ) {\n\tconst sortedBlockTypes = useSortedBlockTypes();\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst { isMatchingSearchTerm } = useSelect( blocksStore );\n\n\tconst filteredBlockTypes = ! filterValue\n\t\t? sortedBlockTypes\n\t\t: sortedBlockTypes.filter( ( blockType ) =>\n\t\t\t\tisMatchingSearchTerm( blockType, filterValue )\n\t\t );\n\n\tconst blockTypesListRef = useRef();\n\n\t// Announce search results on change\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\t// We extract the results from the wrapper div's `ref` because\n\t\t// filtered items can contain items that will eventually not\n\t\t// render and there is no reliable way to detect when a child\n\t\t// will return `null`.\n\t\t// TODO: We should find a better way of handling this as it's\n\t\t// fragile and depends on the number of rendered elements of `BlockMenuItem`,\n\t\t// which is now one.\n\t\t// @see https://github.com/WordPress/gutenberg/pull/39117#discussion_r816022116\n\t\tconst count = blockTypesListRef.current.childElementCount;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage, count );\n\t}, [ filterValue, debouncedSpeak ] );\n\n\treturn (\n\t\t<div\n\t\t\tref={ blockTypesListRef }\n\t\t\tclassName=\"edit-site-block-types-item-list\"\n\t\t>\n\t\t\t{ filteredBlockTypes.map( ( block ) => (\n\t\t\t\t<BlockMenuItem\n\t\t\t\t\tblock={ block }\n\t\t\t\t\tkey={ 'menu-itemblock-' + block.name }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</div>\n\t);\n}\n\nconst MemoizedBlockList = memo( BlockList );\n\nfunction ScreenBlockList() {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst deferredFilterValue = useDeferredValue( filterValue );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Blocks' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Customize the appearance of specific blocks and for the whole site.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<SearchControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tclassName=\"edit-site-block-types-search\"\n\t\t\t\tonChange={ setFilterValue }\n\t\t\t\tvalue={ filterValue }\n\t\t\t\tlabel={ __( 'Search for blocks' ) }\n\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t/>\n\t\t\t<MemoizedBlockList filterValue={ deferredFilterValue } />\n\t\t</>\n\t);\n}\n\nexport default ScreenBlockList;\n"],"mappings":"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"}
@@ -17,7 +17,7 @@ import ScreenHeader from './header';
17
17
  import BlockPreviewPanel from './block-preview-panel';
18
18
  import { unlock } from '../../lock-unlock';
19
19
  import Subtitle from './subtitle';
20
- import { useBlockVariations, VariationsPanel } from './variations-panel';
20
+ import { useBlockVariations, VariationsPanel } from './variations/variations-panel';
21
21
  function applyFallbackStyle(border) {
22
22
  if (!border) {
23
23
  return border;
@@ -1 +1 @@
1
- {"version":3,"names":["getBlockType","privateApis","blockEditorPrivateApis","useMemo","useSelect","store","coreStore","PanelBody","__experimentalVStack","VStack","__experimentalHasSplitBorders","hasSplitBorders","__","sprintf","ScreenHeader","BlockPreviewPanel","unlock","Subtitle","useBlockVariations","VariationsPanel","applyFallbackStyle","border","hasColorOrWidth","color","width","style","undefined","applyAllFallbackStyles","top","right","bottom","left","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useHasFiltersPanel","useHasImageSettingsPanel","useGlobalStyle","BorderPanel","StylesBorderPanel","ColorPanel","StylesColorPanel","TypographyPanel","StylesTypographyPanel","DimensionsPanel","StylesDimensionsPanel","FiltersPanel","StylesFiltersPanel","ImageSettingsPanel","AdvancedPanel","StylesAdvancedPanel","ScreenBlock","name","variation","prefixParts","concat","prefix","join","shouldDecodeEncode","inheritedStyle","setStyle","userSettings","rawSettings","setSettings","settings","blockType","spacing","blockGap","supports","__experimentalSkipSerialization","some","spacingType","dimensions","aspectRatio","blockVariations","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasFiltersPanel","hasImageSettingsPanel","hasVariationsPanel","length","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","_links","currentBlockStyle","find","s","inheritedStyleWithLayout","layout","styleWithLayout","onChangeDimensions","newStyle","updatedStyle","onChangeLightbox","newSetting","lightbox","onChangeBorders","radius","newBorder","updatedBorder","createElement","Fragment","title","label","className","inheritedValue","value","onChange","includeLayoutControls","initialOpen"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-block.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tPanelBody,\n\t__experimentalVStack as VStack,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport BlockPreviewPanel from './block-preview-panel';\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport { useBlockVariations, VariationsPanel } from './variations-panel';\n\nfunction applyFallbackStyle( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tconst hasColorOrWidth = border.color || border.width;\n\n\tif ( ! border.style && hasColorOrWidth ) {\n\t\treturn { ...border, style: 'solid' };\n\t}\n\n\tif ( border.style && ! hasColorOrWidth ) {\n\t\treturn undefined;\n\t}\n\n\treturn border;\n}\n\nfunction applyAllFallbackStyles( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tif ( hasSplitBorders( border ) ) {\n\t\treturn {\n\t\t\ttop: applyFallbackStyle( border.top ),\n\t\t\tright: applyFallbackStyle( border.right ),\n\t\t\tbottom: applyFallbackStyle( border.bottom ),\n\t\t\tleft: applyFallbackStyle( border.left ),\n\t\t};\n\t}\n\n\treturn applyFallbackStyle( border );\n}\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n\tuseHasFiltersPanel,\n\tuseHasImageSettingsPanel,\n\tuseGlobalStyle,\n\tBorderPanel: StylesBorderPanel,\n\tColorPanel: StylesColorPanel,\n\tTypographyPanel: StylesTypographyPanel,\n\tDimensionsPanel: StylesDimensionsPanel,\n\tFiltersPanel: StylesFiltersPanel,\n\tImageSettingsPanel,\n\tAdvancedPanel: StylesAdvancedPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction ScreenBlock( { name, variation } ) {\n\tlet prefixParts = [];\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ userSettings ] = useGlobalSetting( '', name, 'user' );\n\tconst [ rawSettings, setSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\n\tconst blockType = getBlockType( name );\n\n\t// Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.\n\tif (\n\t\tsettings?.spacing?.blockGap &&\n\t\tblockType?.supports?.spacing?.blockGap &&\n\t\t( blockType?.supports?.spacing?.__experimentalSkipSerialization ===\n\t\t\ttrue ||\n\t\t\tblockType?.supports?.spacing?.__experimentalSkipSerialization?.some?.(\n\t\t\t\t( spacingType ) => spacingType === 'blockGap'\n\t\t\t) )\n\t) {\n\t\tsettings.spacing.blockGap = false;\n\t}\n\n\t// Only allow `aspectRatio` support if the block is not the grouping block.\n\t// The grouping block allows the user to use Group, Row and Stack variations,\n\t// and it is highly likely that the user will not want to set an aspect ratio\n\t// for all three at once. Until there is the ability to set a different aspect\n\t// ratio for each variation, we disable the aspect ratio controls for the\n\t// grouping block in global styles.\n\tif ( settings?.dimensions?.aspectRatio && name === 'core/group' ) {\n\t\tsettings.dimensions.aspectRatio = false;\n\t}\n\n\tconst blockVariations = useBlockVariations( name );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasFiltersPanel = useHasFiltersPanel( settings );\n\tconst hasImageSettingsPanel = useHasImageSettingsPanel(\n\t\tname,\n\t\tuserSettings,\n\t\tsettings\n\t);\n\tconst hasVariationsPanel = !! blockVariations?.length && ! variation;\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t};\n\t}, [] );\n\tconst currentBlockStyle = variation\n\t\t? blockVariations.find( ( s ) => s.name === variation )\n\t\t: null;\n\n\t// These intermediary objects are needed because the \"layout\" property is stored\n\t// in settings rather than styles.\n\tconst inheritedStyleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...inheritedStyle,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ inheritedStyle, settings.layout ] );\n\tconst styleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...style,\n\t\t\tlayout: userSettings.layout,\n\t\t};\n\t}, [ style, userSettings.layout ] );\n\tconst onChangeDimensions = ( newStyle ) => {\n\t\tconst updatedStyle = { ...newStyle };\n\t\tdelete updatedStyle.layout;\n\t\tsetStyle( updatedStyle );\n\n\t\tif ( newStyle.layout !== userSettings.layout ) {\n\t\t\tsetSettings( {\n\t\t\t\t...userSettings,\n\t\t\t\tlayout: newStyle.layout,\n\t\t\t} );\n\t\t}\n\t};\n\tconst onChangeLightbox = ( newSetting ) => {\n\t\t// If the newSetting is undefined, this means that the user has deselected\n\t\t// (reset) the lightbox setting.\n\t\tif ( newSetting === undefined ) {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\n\t\t\t// Otherwise, we simply set the lightbox setting to the new value but\n\t\t\t// taking care of not overriding the other lightbox settings.\n\t\t} else {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlightbox: {\n\t\t\t\t\t...rawSettings.lightbox,\n\t\t\t\t\t...newSetting,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t};\n\tconst onChangeBorders = ( newStyle ) => {\n\t\tif ( ! newStyle?.border ) {\n\t\t\tsetStyle( newStyle );\n\t\t\treturn;\n\t\t}\n\n\t\t// As Global Styles can't conditionally generate styles based on if\n\t\t// other style properties have been set, we need to force split\n\t\t// border definitions for user set global border styles. Border\n\t\t// radius is derived from the same property i.e. `border.radius` if\n\t\t// it is a string that is used. The longhand border radii styles are\n\t\t// only generated if that property is an object.\n\t\t//\n\t\t// For borders (color, style, and width) those are all properties on\n\t\t// the `border` style property. This means if the theme.json defined\n\t\t// split borders and the user condenses them into a flat border or\n\t\t// vice-versa we'd get both sets of styles which would conflict.\n\t\tconst { radius, ...newBorder } = newStyle.border;\n\t\tconst border = applyAllFallbackStyles( newBorder );\n\t\tconst updatedBorder = ! hasSplitBorders( border )\n\t\t\t? {\n\t\t\t\t\ttop: border,\n\t\t\t\t\tright: border,\n\t\t\t\t\tbottom: border,\n\t\t\t\t\tleft: border,\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tcolor: null,\n\t\t\t\t\tstyle: null,\n\t\t\t\t\twidth: null,\n\t\t\t\t\t...border,\n\t\t\t };\n\n\t\tsetStyle( { ...newStyle, border: { ...updatedBorder, radius } } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ variation ? currentBlockStyle.label : blockType.title }\n\t\t\t/>\n\t\t\t<BlockPreviewPanel name={ name } variation={ variation } />\n\t\t\t{ hasVariationsPanel && (\n\t\t\t\t<div className=\"edit-site-global-styles-screen-variations\">\n\t\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t\t<Subtitle>{ __( 'Style Variations' ) }</Subtitle>\n\t\t\t\t\t\t<VariationsPanel name={ name } />\n\t\t\t\t\t</VStack>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasColorPanel && (\n\t\t\t\t<StylesColorPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasTypographyPanel && (\n\t\t\t\t<StylesTypographyPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasDimensionsPanel && (\n\t\t\t\t<StylesDimensionsPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ onChangeDimensions }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBorderPanel && (\n\t\t\t\t<StylesBorderPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ onChangeBorders }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasFiltersPanel && (\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasImageSettingsPanel && (\n\t\t\t\t<ImageSettingsPanel\n\t\t\t\t\tonChange={ onChangeLightbox }\n\t\t\t\t\tvalue={ userSettings }\n\t\t\t\t\tinheritedValue={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ canEditCSS && (\n\t\t\t\t<PanelBody title={ __( 'Advanced' ) } initialOpen={ false }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: is the name of a block e.g., 'Image' or 'Table'.\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Add your own CSS to customize the appearance of the %s block. You do not need to include a CSS selector, just add the property and value.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tblockType?.title\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<StylesAdvancedPanel\n\t\t\t\t\t\tvalue={ style }\n\t\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenBlock;\n"],"mappings":"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"}
1
+ {"version":3,"names":["getBlockType","privateApis","blockEditorPrivateApis","useMemo","useSelect","store","coreStore","PanelBody","__experimentalVStack","VStack","__experimentalHasSplitBorders","hasSplitBorders","__","sprintf","ScreenHeader","BlockPreviewPanel","unlock","Subtitle","useBlockVariations","VariationsPanel","applyFallbackStyle","border","hasColorOrWidth","color","width","style","undefined","applyAllFallbackStyles","top","right","bottom","left","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useHasFiltersPanel","useHasImageSettingsPanel","useGlobalStyle","BorderPanel","StylesBorderPanel","ColorPanel","StylesColorPanel","TypographyPanel","StylesTypographyPanel","DimensionsPanel","StylesDimensionsPanel","FiltersPanel","StylesFiltersPanel","ImageSettingsPanel","AdvancedPanel","StylesAdvancedPanel","ScreenBlock","name","variation","prefixParts","concat","prefix","join","shouldDecodeEncode","inheritedStyle","setStyle","userSettings","rawSettings","setSettings","settings","blockType","spacing","blockGap","supports","__experimentalSkipSerialization","some","spacingType","dimensions","aspectRatio","blockVariations","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasFiltersPanel","hasImageSettingsPanel","hasVariationsPanel","length","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","_links","currentBlockStyle","find","s","inheritedStyleWithLayout","layout","styleWithLayout","onChangeDimensions","newStyle","updatedStyle","onChangeLightbox","newSetting","lightbox","onChangeBorders","radius","newBorder","updatedBorder","createElement","Fragment","title","label","className","inheritedValue","value","onChange","includeLayoutControls","initialOpen"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-block.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tPanelBody,\n\t__experimentalVStack as VStack,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport BlockPreviewPanel from './block-preview-panel';\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport {\n\tuseBlockVariations,\n\tVariationsPanel,\n} from './variations/variations-panel';\n\nfunction applyFallbackStyle( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tconst hasColorOrWidth = border.color || border.width;\n\n\tif ( ! border.style && hasColorOrWidth ) {\n\t\treturn { ...border, style: 'solid' };\n\t}\n\n\tif ( border.style && ! hasColorOrWidth ) {\n\t\treturn undefined;\n\t}\n\n\treturn border;\n}\n\nfunction applyAllFallbackStyles( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tif ( hasSplitBorders( border ) ) {\n\t\treturn {\n\t\t\ttop: applyFallbackStyle( border.top ),\n\t\t\tright: applyFallbackStyle( border.right ),\n\t\t\tbottom: applyFallbackStyle( border.bottom ),\n\t\t\tleft: applyFallbackStyle( border.left ),\n\t\t};\n\t}\n\n\treturn applyFallbackStyle( border );\n}\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n\tuseHasFiltersPanel,\n\tuseHasImageSettingsPanel,\n\tuseGlobalStyle,\n\tBorderPanel: StylesBorderPanel,\n\tColorPanel: StylesColorPanel,\n\tTypographyPanel: StylesTypographyPanel,\n\tDimensionsPanel: StylesDimensionsPanel,\n\tFiltersPanel: StylesFiltersPanel,\n\tImageSettingsPanel,\n\tAdvancedPanel: StylesAdvancedPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction ScreenBlock( { name, variation } ) {\n\tlet prefixParts = [];\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ userSettings ] = useGlobalSetting( '', name, 'user' );\n\tconst [ rawSettings, setSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\n\tconst blockType = getBlockType( name );\n\n\t// Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.\n\tif (\n\t\tsettings?.spacing?.blockGap &&\n\t\tblockType?.supports?.spacing?.blockGap &&\n\t\t( blockType?.supports?.spacing?.__experimentalSkipSerialization ===\n\t\t\ttrue ||\n\t\t\tblockType?.supports?.spacing?.__experimentalSkipSerialization?.some?.(\n\t\t\t\t( spacingType ) => spacingType === 'blockGap'\n\t\t\t) )\n\t) {\n\t\tsettings.spacing.blockGap = false;\n\t}\n\n\t// Only allow `aspectRatio` support if the block is not the grouping block.\n\t// The grouping block allows the user to use Group, Row and Stack variations,\n\t// and it is highly likely that the user will not want to set an aspect ratio\n\t// for all three at once. Until there is the ability to set a different aspect\n\t// ratio for each variation, we disable the aspect ratio controls for the\n\t// grouping block in global styles.\n\tif ( settings?.dimensions?.aspectRatio && name === 'core/group' ) {\n\t\tsettings.dimensions.aspectRatio = false;\n\t}\n\n\tconst blockVariations = useBlockVariations( name );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasFiltersPanel = useHasFiltersPanel( settings );\n\tconst hasImageSettingsPanel = useHasImageSettingsPanel(\n\t\tname,\n\t\tuserSettings,\n\t\tsettings\n\t);\n\tconst hasVariationsPanel = !! blockVariations?.length && ! variation;\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t};\n\t}, [] );\n\tconst currentBlockStyle = variation\n\t\t? blockVariations.find( ( s ) => s.name === variation )\n\t\t: null;\n\n\t// These intermediary objects are needed because the \"layout\" property is stored\n\t// in settings rather than styles.\n\tconst inheritedStyleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...inheritedStyle,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ inheritedStyle, settings.layout ] );\n\tconst styleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...style,\n\t\t\tlayout: userSettings.layout,\n\t\t};\n\t}, [ style, userSettings.layout ] );\n\tconst onChangeDimensions = ( newStyle ) => {\n\t\tconst updatedStyle = { ...newStyle };\n\t\tdelete updatedStyle.layout;\n\t\tsetStyle( updatedStyle );\n\n\t\tif ( newStyle.layout !== userSettings.layout ) {\n\t\t\tsetSettings( {\n\t\t\t\t...userSettings,\n\t\t\t\tlayout: newStyle.layout,\n\t\t\t} );\n\t\t}\n\t};\n\tconst onChangeLightbox = ( newSetting ) => {\n\t\t// If the newSetting is undefined, this means that the user has deselected\n\t\t// (reset) the lightbox setting.\n\t\tif ( newSetting === undefined ) {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\n\t\t\t// Otherwise, we simply set the lightbox setting to the new value but\n\t\t\t// taking care of not overriding the other lightbox settings.\n\t\t} else {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlightbox: {\n\t\t\t\t\t...rawSettings.lightbox,\n\t\t\t\t\t...newSetting,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t};\n\tconst onChangeBorders = ( newStyle ) => {\n\t\tif ( ! newStyle?.border ) {\n\t\t\tsetStyle( newStyle );\n\t\t\treturn;\n\t\t}\n\n\t\t// As Global Styles can't conditionally generate styles based on if\n\t\t// other style properties have been set, we need to force split\n\t\t// border definitions for user set global border styles. Border\n\t\t// radius is derived from the same property i.e. `border.radius` if\n\t\t// it is a string that is used. The longhand border radii styles are\n\t\t// only generated if that property is an object.\n\t\t//\n\t\t// For borders (color, style, and width) those are all properties on\n\t\t// the `border` style property. This means if the theme.json defined\n\t\t// split borders and the user condenses them into a flat border or\n\t\t// vice-versa we'd get both sets of styles which would conflict.\n\t\tconst { radius, ...newBorder } = newStyle.border;\n\t\tconst border = applyAllFallbackStyles( newBorder );\n\t\tconst updatedBorder = ! hasSplitBorders( border )\n\t\t\t? {\n\t\t\t\t\ttop: border,\n\t\t\t\t\tright: border,\n\t\t\t\t\tbottom: border,\n\t\t\t\t\tleft: border,\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tcolor: null,\n\t\t\t\t\tstyle: null,\n\t\t\t\t\twidth: null,\n\t\t\t\t\t...border,\n\t\t\t };\n\n\t\tsetStyle( { ...newStyle, border: { ...updatedBorder, radius } } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ variation ? currentBlockStyle.label : blockType.title }\n\t\t\t/>\n\t\t\t<BlockPreviewPanel name={ name } variation={ variation } />\n\t\t\t{ hasVariationsPanel && (\n\t\t\t\t<div className=\"edit-site-global-styles-screen-variations\">\n\t\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t\t<Subtitle>{ __( 'Style Variations' ) }</Subtitle>\n\t\t\t\t\t\t<VariationsPanel name={ name } />\n\t\t\t\t\t</VStack>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasColorPanel && (\n\t\t\t\t<StylesColorPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasTypographyPanel && (\n\t\t\t\t<StylesTypographyPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasDimensionsPanel && (\n\t\t\t\t<StylesDimensionsPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ onChangeDimensions }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBorderPanel && (\n\t\t\t\t<StylesBorderPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ onChangeBorders }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasFiltersPanel && (\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasImageSettingsPanel && (\n\t\t\t\t<ImageSettingsPanel\n\t\t\t\t\tonChange={ onChangeLightbox }\n\t\t\t\t\tvalue={ userSettings }\n\t\t\t\t\tinheritedValue={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ canEditCSS && (\n\t\t\t\t<PanelBody title={ __( 'Advanced' ) } initialOpen={ false }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: is the name of a block e.g., 'Image' or 'Table'.\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Add your own CSS to customize the appearance of the %s block. You do not need to include a CSS selector, just add the property and value.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tblockType?.title\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<StylesAdvancedPanel\n\t\t\t\t\t\tvalue={ style }\n\t\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenBlock;\n"],"mappings":"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"}
@@ -12,6 +12,8 @@ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
12
12
  import ScreenHeader from './header';
13
13
  import Palette from './palette';
14
14
  import { unlock } from '../../lock-unlock';
15
+ import ColorVariations from './variations/variations-color';
16
+ import { useCurrentMergeThemeStyleVariationsWithUserConfig } from '../../hooks/use-theme-style-variations/use-theme-style-variations-by-property';
15
17
  const {
16
18
  useGlobalStyle,
17
19
  useGlobalSetting,
@@ -27,14 +29,20 @@ function ScreenColors() {
27
29
  });
28
30
  const [rawSettings] = useGlobalSetting('');
29
31
  const settings = useSettingsForBlockElement(rawSettings);
32
+ const colorVariations = useCurrentMergeThemeStyleVariationsWithUserConfig({
33
+ property: 'color',
34
+ filter: variation => variation?.settings?.color && Object.keys(variation?.settings?.color).length
35
+ });
30
36
  return createElement(Fragment, null, createElement(ScreenHeader, {
31
37
  title: __('Colors'),
32
38
  description: __('Manage palettes and the default color of different global elements on the site.')
33
39
  }), createElement("div", {
34
40
  className: "edit-site-global-styles-screen-colors"
35
41
  }, createElement(VStack, {
36
- spacing: 10
37
- }, createElement(Palette, null), createElement(StylesColorPanel, {
42
+ spacing: 3
43
+ }, !!colorVariations.length && createElement(ColorVariations, {
44
+ variations: colorVariations
45
+ }), createElement(Palette, null), createElement(StylesColorPanel, {
38
46
  inheritedValue: inheritedStyle,
39
47
  value: style,
40
48
  onChange: setStyle,
@@ -1 +1 @@
1
- {"version":3,"names":["__","__experimentalVStack","VStack","privateApis","blockEditorPrivateApis","ScreenHeader","Palette","unlock","useGlobalStyle","useGlobalSetting","useSettingsForBlockElement","ColorPanel","StylesColorPanel","ScreenColors","style","undefined","shouldDecodeEncode","inheritedStyle","setStyle","rawSettings","settings","createElement","Fragment","title","description","className","spacing","inheritedValue","value","onChange"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-colors.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport Palette from './palette';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tColorPanel: StylesColorPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction ScreenColors() {\n\tconst [ style ] = useGlobalStyle( '', undefined, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( '', undefined, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings ] = useGlobalSetting( '' );\n\tconst settings = useSettingsForBlockElement( rawSettings );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Colors' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Manage palettes and the default color of different global elements on the site.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<div className=\"edit-site-global-styles-screen-colors\">\n\t\t\t\t<VStack spacing={ 10 }>\n\t\t\t\t\t<Palette />\n\n\t\t\t\t\t<StylesColorPanel\n\t\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\t\tvalue={ style }\n\t\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</VStack>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ScreenColors;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAE/E;AACA;AACA;AACA,OAAOC,YAAY,MAAM,UAAU;AACnC,OAAOC,OAAO,MAAM,WAAW;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EACLC,cAAc;EACdC,gBAAgB;EAChBC,0BAA0B;EAC1BC,UAAU,EAAEC;AACb,CAAC,GAAGL,MAAM,CAAEH,sBAAuB,CAAC;AAEpC,SAASS,YAAYA,CAAA,EAAG;EACvB,MAAM,CAAEC,KAAK,CAAE,GAAGN,cAAc,CAAE,EAAE,EAAEO,SAAS,EAAE,MAAM,EAAE;IACxDC,kBAAkB,EAAE;EACrB,CAAE,CAAC;EACH,MAAM,CAAEC,cAAc,EAAEC,QAAQ,CAAE,GAAGV,cAAc,CAAE,EAAE,EAAEO,SAAS,EAAE,KAAK,EAAE;IAC1EC,kBAAkB,EAAE;EACrB,CAAE,CAAC;EACH,MAAM,CAAEG,WAAW,CAAE,GAAGV,gBAAgB,CAAE,EAAG,CAAC;EAC9C,MAAMW,QAAQ,GAAGV,0BAA0B,CAAES,WAAY,CAAC;EAE1D,OACCE,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAChB,YAAY;IACZkB,KAAK,EAAGvB,EAAE,CAAE,QAAS,CAAG;IACxBwB,WAAW,EAAGxB,EAAE,CACf,iFACD;EAAG,CACH,CAAC,EACFqB,aAAA;IAAKI,SAAS,EAAC;EAAuC,GACrDJ,aAAA,CAACnB,MAAM;IAACwB,OAAO,EAAG;EAAI,GACrBL,aAAA,CAACf,OAAO,MAAE,CAAC,EAEXe,aAAA,CAACT,gBAAgB;IAChBe,cAAc,EAAGV,cAAgB;IACjCW,KAAK,EAAGd,KAAO;IACfe,QAAQ,EAAGX,QAAU;IACrBE,QAAQ,EAAGA;EAAU,CACrB,CACM,CACJ,CACJ,CAAC;AAEL;AAEA,eAAeP,YAAY"}
1
+ {"version":3,"names":["__","__experimentalVStack","VStack","privateApis","blockEditorPrivateApis","ScreenHeader","Palette","unlock","ColorVariations","useCurrentMergeThemeStyleVariationsWithUserConfig","useGlobalStyle","useGlobalSetting","useSettingsForBlockElement","ColorPanel","StylesColorPanel","ScreenColors","style","undefined","shouldDecodeEncode","inheritedStyle","setStyle","rawSettings","settings","colorVariations","property","filter","variation","color","Object","keys","length","createElement","Fragment","title","description","className","spacing","variations","inheritedValue","value","onChange"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-colors.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport Palette from './palette';\nimport { unlock } from '../../lock-unlock';\nimport ColorVariations from './variations/variations-color';\nimport { useCurrentMergeThemeStyleVariationsWithUserConfig } from '../../hooks/use-theme-style-variations/use-theme-style-variations-by-property';\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tColorPanel: StylesColorPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction ScreenColors() {\n\tconst [ style ] = useGlobalStyle( '', undefined, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( '', undefined, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings ] = useGlobalSetting( '' );\n\tconst settings = useSettingsForBlockElement( rawSettings );\n\n\tconst colorVariations = useCurrentMergeThemeStyleVariationsWithUserConfig( {\n\t\tproperty: 'color',\n\t\tfilter: ( variation ) =>\n\t\t\tvariation?.settings?.color &&\n\t\t\tObject.keys( variation?.settings?.color ).length,\n\t} );\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Colors' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Manage palettes and the default color of different global elements on the site.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<div className=\"edit-site-global-styles-screen-colors\">\n\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t{ !! colorVariations.length && (\n\t\t\t\t\t\t<ColorVariations variations={ colorVariations } />\n\t\t\t\t\t) }\n\n\t\t\t\t\t<Palette />\n\n\t\t\t\t\t<StylesColorPanel\n\t\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\t\tvalue={ style }\n\t\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</VStack>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ScreenColors;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;AACtE,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAE/E;AACA;AACA;AACA,OAAOC,YAAY,MAAM,UAAU;AACnC,OAAOC,OAAO,MAAM,WAAW;AAC/B,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,eAAe,MAAM,+BAA+B;AAC3D,SAASC,iDAAiD,QAAQ,+EAA+E;AAEjJ,MAAM;EACLC,cAAc;EACdC,gBAAgB;EAChBC,0BAA0B;EAC1BC,UAAU,EAAEC;AACb,CAAC,GAAGP,MAAM,CAAEH,sBAAuB,CAAC;AAEpC,SAASW,YAAYA,CAAA,EAAG;EACvB,MAAM,CAAEC,KAAK,CAAE,GAAGN,cAAc,CAAE,EAAE,EAAEO,SAAS,EAAE,MAAM,EAAE;IACxDC,kBAAkB,EAAE;EACrB,CAAE,CAAC;EACH,MAAM,CAAEC,cAAc,EAAEC,QAAQ,CAAE,GAAGV,cAAc,CAAE,EAAE,EAAEO,SAAS,EAAE,KAAK,EAAE;IAC1EC,kBAAkB,EAAE;EACrB,CAAE,CAAC;EACH,MAAM,CAAEG,WAAW,CAAE,GAAGV,gBAAgB,CAAE,EAAG,CAAC;EAC9C,MAAMW,QAAQ,GAAGV,0BAA0B,CAAES,WAAY,CAAC;EAE1D,MAAME,eAAe,GAAGd,iDAAiD,CAAE;IAC1Ee,QAAQ,EAAE,OAAO;IACjBC,MAAM,EAAIC,SAAS,IAClBA,SAAS,EAAEJ,QAAQ,EAAEK,KAAK,IAC1BC,MAAM,CAACC,IAAI,CAAEH,SAAS,EAAEJ,QAAQ,EAAEK,KAAM,CAAC,CAACG;EAC5C,CAAE,CAAC;EACH,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAC1B,YAAY;IACZ4B,KAAK,EAAGjC,EAAE,CAAE,QAAS,CAAG;IACxBkC,WAAW,EAAGlC,EAAE,CACf,iFACD;EAAG,CACH,CAAC,EACF+B,aAAA;IAAKI,SAAS,EAAC;EAAuC,GACrDJ,aAAA,CAAC7B,MAAM;IAACkC,OAAO,EAAG;EAAG,GAClB,CAAC,CAAEb,eAAe,CAACO,MAAM,IAC1BC,aAAA,CAACvB,eAAe;IAAC6B,UAAU,EAAGd;EAAiB,CAAE,CACjD,EAEDQ,aAAA,CAACzB,OAAO,MAAE,CAAC,EAEXyB,aAAA,CAACjB,gBAAgB;IAChBwB,cAAc,EAAGnB,cAAgB;IACjCoB,KAAK,EAAGvB,KAAO;IACfwB,QAAQ,EAAGpB,QAAU;IACrBE,QAAQ,EAAGA;EAAU,CACrB,CACM,CACJ,CACJ,CAAC;AAEL;AAEA,eAAeP,YAAY"}
@@ -15,7 +15,7 @@ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
15
15
  import { IconWithCurrentColor } from './icon-with-current-color';
16
16
  import { NavigationButtonAsItem } from './navigation-button';
17
17
  import RootMenu from './root-menu';
18
- import StylesPreview from './preview';
18
+ import PreviewStyles from './preview-styles';
19
19
  import { unlock } from '../../lock-unlock';
20
20
  const {
21
21
  useGlobalStyle
@@ -43,7 +43,7 @@ function ScreenRoot() {
43
43
  className: "edit-site-global-styles-screen-root"
44
44
  }, createElement(CardBody, null, createElement(VStack, {
45
45
  spacing: 4
46
- }, createElement(Card, null, createElement(CardMedia, null, createElement(StylesPreview, null))), hasVariations && createElement(ItemGroup, null, createElement(NavigationButtonAsItem, {
46
+ }, createElement(Card, null, createElement(CardMedia, null, createElement(PreviewStyles, null))), hasVariations && createElement(ItemGroup, null, createElement(NavigationButtonAsItem, {
47
47
  path: "/variations",
48
48
  "aria-label": __('Browse styles')
49
49
  }, createElement(HStack, {
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalSpacer","Spacer","__experimentalVStack","VStack","FlexItem","CardBody","Card","CardDivider","CardMedia","isRTL","__","chevronLeft","chevronRight","useSelect","store","coreStore","privateApis","blockEditorPrivateApis","IconWithCurrentColor","NavigationButtonAsItem","RootMenu","StylesPreview","unlock","useGlobalStyle","ScreenRoot","customCSS","hasVariations","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","__experimentalGetCurrentThemeGlobalStylesVariations","globalStylesId","globalStyles","undefined","length","_links","createElement","size","className","spacing","path","justify","icon","as","paddingTop","paddingX","marginBottom","Fragment"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-root.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalVStack as VStack,\n\tFlexItem,\n\tCardBody,\n\tCard,\n\tCardDivider,\n\tCardMedia,\n} from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { IconWithCurrentColor } from './icon-with-current-color';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport RootMenu from './root-menu';\nimport StylesPreview from './preview';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction ScreenRoot() {\n\tconst [ customCSS ] = useGlobalStyle( 'css' );\n\n\tconst { hasVariations, canEditCSS } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEntityRecord,\n\t\t\t__experimentalGetCurrentGlobalStylesId,\n\t\t\t__experimentalGetCurrentThemeGlobalStylesVariations,\n\t\t} = select( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\thasVariations:\n\t\t\t\t!! __experimentalGetCurrentThemeGlobalStylesVariations()\n\t\t\t\t\t?.length,\n\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Card size=\"small\" className=\"edit-site-global-styles-screen-root\">\n\t\t\t<CardBody>\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t<Card>\n\t\t\t\t\t\t<CardMedia>\n\t\t\t\t\t\t\t<StylesPreview />\n\t\t\t\t\t\t</CardMedia>\n\t\t\t\t\t</Card>\n\t\t\t\t\t{ hasVariations && (\n\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\t\t\tpath=\"/variations\"\n\t\t\t\t\t\t\t\taria-label={ __( 'Browse styles' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Browse styles' ) }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<IconWithCurrentColor\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronLeft : chevronRight\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<RootMenu />\n\t\t\t\t</VStack>\n\t\t\t</CardBody>\n\n\t\t\t<CardDivider />\n\n\t\t\t<CardBody>\n\t\t\t\t<Spacer\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tpaddingTop={ 2 }\n\t\t\t\t\t/*\n\t\t\t\t\t * 13px matches the text inset of the NavigationButton (12px padding, plus the width of the button's border).\n\t\t\t\t\t * This is an ad hoc override for this instance and the Addtional CSS option below. Other options for matching the\n\t\t\t\t\t * the nav button inset should be looked at before reusing further.\n\t\t\t\t\t */\n\t\t\t\t\tpaddingX=\"13px\"\n\t\t\t\t\tmarginBottom={ 4 }\n\t\t\t\t>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Customize the appearance of specific blocks for the whole site.'\n\t\t\t\t\t) }\n\t\t\t\t</Spacer>\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\tpath=\"/blocks\"\n\t\t\t\t\t\taria-label={ __( 'Blocks styles' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t<FlexItem>{ __( 'Blocks' ) }</FlexItem>\n\t\t\t\t\t\t\t<IconWithCurrentColor\n\t\t\t\t\t\t\t\ticon={ isRTL() ? chevronLeft : chevronRight }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t</ItemGroup>\n\t\t\t</CardBody>\n\n\t\t\t{ canEditCSS && !! customCSS && (\n\t\t\t\t<>\n\t\t\t\t\t<CardDivider />\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<Spacer\n\t\t\t\t\t\t\tas=\"p\"\n\t\t\t\t\t\t\tpaddingTop={ 2 }\n\t\t\t\t\t\t\tpaddingX=\"13px\"\n\t\t\t\t\t\t\tmarginBottom={ 4 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Add your own CSS to customize the appearance and layout of your site.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\t\t\tpath=\"/css\"\n\t\t\t\t\t\t\t\taria-label={ __( 'Additional CSS' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Additional CSS' ) }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<IconWithCurrentColor\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronLeft : chevronRight\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</CardBody>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</Card>\n\t);\n}\n\nexport default ScreenRoot;\n"],"mappings":"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"}
1
+ {"version":3,"names":["__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalSpacer","Spacer","__experimentalVStack","VStack","FlexItem","CardBody","Card","CardDivider","CardMedia","isRTL","__","chevronLeft","chevronRight","useSelect","store","coreStore","privateApis","blockEditorPrivateApis","IconWithCurrentColor","NavigationButtonAsItem","RootMenu","PreviewStyles","unlock","useGlobalStyle","ScreenRoot","customCSS","hasVariations","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","__experimentalGetCurrentThemeGlobalStylesVariations","globalStylesId","globalStyles","undefined","length","_links","createElement","size","className","spacing","path","justify","icon","as","paddingTop","paddingX","marginBottom","Fragment"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-root.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalVStack as VStack,\n\tFlexItem,\n\tCardBody,\n\tCard,\n\tCardDivider,\n\tCardMedia,\n} from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { IconWithCurrentColor } from './icon-with-current-color';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport RootMenu from './root-menu';\nimport PreviewStyles from './preview-styles';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction ScreenRoot() {\n\tconst [ customCSS ] = useGlobalStyle( 'css' );\n\n\tconst { hasVariations, canEditCSS } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEntityRecord,\n\t\t\t__experimentalGetCurrentGlobalStylesId,\n\t\t\t__experimentalGetCurrentThemeGlobalStylesVariations,\n\t\t} = select( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\thasVariations:\n\t\t\t\t!! __experimentalGetCurrentThemeGlobalStylesVariations()\n\t\t\t\t\t?.length,\n\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Card size=\"small\" className=\"edit-site-global-styles-screen-root\">\n\t\t\t<CardBody>\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t<Card>\n\t\t\t\t\t\t<CardMedia>\n\t\t\t\t\t\t\t<PreviewStyles />\n\t\t\t\t\t\t</CardMedia>\n\t\t\t\t\t</Card>\n\t\t\t\t\t{ hasVariations && (\n\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\t\t\tpath=\"/variations\"\n\t\t\t\t\t\t\t\taria-label={ __( 'Browse styles' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Browse styles' ) }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<IconWithCurrentColor\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronLeft : chevronRight\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<RootMenu />\n\t\t\t\t</VStack>\n\t\t\t</CardBody>\n\n\t\t\t<CardDivider />\n\n\t\t\t<CardBody>\n\t\t\t\t<Spacer\n\t\t\t\t\tas=\"p\"\n\t\t\t\t\tpaddingTop={ 2 }\n\t\t\t\t\t/*\n\t\t\t\t\t * 13px matches the text inset of the NavigationButton (12px padding, plus the width of the button's border).\n\t\t\t\t\t * This is an ad hoc override for this instance and the Addtional CSS option below. Other options for matching the\n\t\t\t\t\t * the nav button inset should be looked at before reusing further.\n\t\t\t\t\t */\n\t\t\t\t\tpaddingX=\"13px\"\n\t\t\t\t\tmarginBottom={ 4 }\n\t\t\t\t>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Customize the appearance of specific blocks for the whole site.'\n\t\t\t\t\t) }\n\t\t\t\t</Spacer>\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\tpath=\"/blocks\"\n\t\t\t\t\t\taria-label={ __( 'Blocks styles' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t<FlexItem>{ __( 'Blocks' ) }</FlexItem>\n\t\t\t\t\t\t\t<IconWithCurrentColor\n\t\t\t\t\t\t\t\ticon={ isRTL() ? chevronLeft : chevronRight }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t</ItemGroup>\n\t\t\t</CardBody>\n\n\t\t\t{ canEditCSS && !! customCSS && (\n\t\t\t\t<>\n\t\t\t\t\t<CardDivider />\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<Spacer\n\t\t\t\t\t\t\tas=\"p\"\n\t\t\t\t\t\t\tpaddingTop={ 2 }\n\t\t\t\t\t\t\tpaddingX=\"13px\"\n\t\t\t\t\t\t\tmarginBottom={ 4 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Add your own CSS to customize the appearance and layout of your site.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\t\t\tpath=\"/css\"\n\t\t\t\t\t\t\t\taria-label={ __( 'Additional CSS' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Additional CSS' ) }\n\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t<IconWithCurrentColor\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronLeft : chevronRight\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</CardBody>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</Card>\n\t);\n}\n\nexport default ScreenRoot;\n"],"mappings":"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"}
@@ -10,11 +10,17 @@ import { useSelect } from '@wordpress/data';
10
10
  /**
11
11
  * Internal dependencies
12
12
  */
13
- import TypographyElements from './typogrphy-elements';
13
+ import TypographyElements from './typography-elements';
14
+ import TypographyVariations from './variations/variations-typography';
14
15
  import FontFamilies from './font-families';
15
16
  import ScreenHeader from './header';
17
+ import { useCurrentMergeThemeStyleVariationsWithUserConfig } from '../../hooks/use-theme-style-variations/use-theme-style-variations-by-property';
16
18
  function ScreenTypography() {
17
19
  const fontLibraryEnabled = useSelect(select => select(editorStore).getEditorSettings().fontLibraryEnabled, []);
20
+ const typographyVariations = useCurrentMergeThemeStyleVariationsWithUserConfig({
21
+ property: 'typography',
22
+ filter: variation => variation?.settings?.typography?.fontFamilies && Object.keys(variation?.settings?.typography?.fontFamilies).length
23
+ });
18
24
  return createElement(Fragment, null, createElement(ScreenHeader, {
19
25
  title: __('Typography'),
20
26
  description: __('Manage the typography settings for different elements.')
@@ -22,7 +28,9 @@ function ScreenTypography() {
22
28
  className: "edit-site-global-styles-screen-typography"
23
29
  }, createElement(VStack, {
24
30
  spacing: 6
25
- }, fontLibraryEnabled && createElement(FontFamilies, null), createElement(TypographyElements, null))));
31
+ }, !!typographyVariations.length && createElement(TypographyVariations, null), !window.__experimentalDisableFontLibrary && createElement(VStack, {
32
+ spacing: 3
33
+ }, fontLibraryEnabled && createElement(FontFamilies, null)), createElement(TypographyElements, null))));
26
34
  }
27
35
  export default ScreenTypography;
28
36
  //# sourceMappingURL=screen-typography.js.map