@wordpress/edit-site 5.8.0 → 5.10.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 (471) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-template/add-custom-template-modal.js +21 -6
  3. package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
  4. package/build/components/add-new-template/new-template-part.js +8 -2
  5. package/build/components/add-new-template/new-template-part.js.map +1 -1
  6. package/build/components/add-new-template/new-template.js +8 -4
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/app/index.js +8 -2
  9. package/build/components/app/index.js.map +1 -1
  10. package/build/components/block-editor/back-button.js +10 -3
  11. package/build/components/block-editor/back-button.js.map +1 -1
  12. package/build/components/block-editor/editor-canvas.js +39 -6
  13. package/build/components/block-editor/editor-canvas.js.map +1 -1
  14. package/build/components/block-editor/index.js +7 -7
  15. package/build/components/block-editor/index.js.map +1 -1
  16. package/build/components/editor/index.js +43 -9
  17. package/build/components/editor/index.js.map +1 -1
  18. package/build/components/editor-canvas-container/index.js +131 -0
  19. package/build/components/editor-canvas-container/index.js.map +1 -0
  20. package/build/components/global-styles/block-preview-panel.js +1 -1
  21. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  22. package/build/components/global-styles/border-panel.js +53 -5
  23. package/build/components/global-styles/border-panel.js.map +1 -1
  24. package/build/components/global-styles/color-palette-panel.js +14 -3
  25. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  26. package/build/components/global-styles/dimensions-panel.js +17 -18
  27. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  28. package/build/components/global-styles/global-styles-provider.js +4 -18
  29. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  30. package/build/components/global-styles/gradients-palette-panel.js +14 -3
  31. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  32. package/build/components/global-styles/root-menu.js +61 -0
  33. package/build/components/global-styles/root-menu.js.map +1 -0
  34. package/build/components/global-styles/screen-block-list.js +3 -1
  35. package/build/components/global-styles/screen-block-list.js.map +1 -1
  36. package/build/components/global-styles/screen-block.js +158 -7
  37. package/build/components/global-styles/screen-block.js.map +1 -1
  38. package/build/components/global-styles/screen-colors.js +9 -26
  39. package/build/components/global-styles/screen-colors.js.map +1 -1
  40. package/build/components/global-styles/screen-css.js +20 -15
  41. package/build/components/global-styles/screen-css.js.map +1 -1
  42. package/build/components/global-styles/screen-layout.js +4 -17
  43. package/build/components/global-styles/screen-layout.js.map +1 -1
  44. package/build/components/global-styles/screen-revisions/index.js +148 -0
  45. package/build/components/global-styles/screen-revisions/index.js.map +1 -0
  46. package/build/components/global-styles/screen-revisions/revisions-buttons.js +132 -0
  47. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -0
  48. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +130 -0
  49. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -0
  50. package/build/components/global-styles/screen-root.js +2 -2
  51. package/build/components/global-styles/screen-root.js.map +1 -1
  52. package/build/components/global-styles/screen-typography-element.js +0 -3
  53. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  54. package/build/components/global-styles/screen-typography.js +11 -39
  55. package/build/components/global-styles/screen-typography.js.map +1 -1
  56. package/build/components/global-styles/style-variations-container.js +3 -8
  57. package/build/components/global-styles/style-variations-container.js.map +1 -1
  58. package/build/components/global-styles/typography-panel.js +7 -11
  59. package/build/components/global-styles/typography-panel.js.map +1 -1
  60. package/build/components/global-styles/ui.js +66 -120
  61. package/build/components/global-styles/ui.js.map +1 -1
  62. package/build/components/global-styles/variations-panel.js +4 -28
  63. package/build/components/global-styles/variations-panel.js.map +1 -1
  64. package/build/components/header-edit-mode/index.js +11 -7
  65. package/build/components/header-edit-mode/index.js.map +1 -1
  66. package/build/components/keyboard-shortcuts/register.js +1 -1
  67. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  68. package/build/components/layout/index.js +22 -14
  69. package/build/components/layout/index.js.map +1 -1
  70. package/build/components/list/index.js +9 -3
  71. package/build/components/list/index.js.map +1 -1
  72. package/build/components/list/table.js +4 -4
  73. package/build/components/list/table.js.map +1 -1
  74. package/build/components/plugin-template-setting-panel/index.js +44 -0
  75. package/build/components/plugin-template-setting-panel/index.js.map +1 -0
  76. package/build/components/revisions/index.js +95 -0
  77. package/build/components/revisions/index.js.map +1 -0
  78. package/build/components/routes/link.js +17 -2
  79. package/build/components/routes/link.js.map +1 -1
  80. package/build/components/routes/use-title.js +8 -2
  81. package/build/components/routes/use-title.js.map +1 -1
  82. package/build/components/save-button/index.js +31 -6
  83. package/build/components/save-button/index.js.map +1 -1
  84. package/build/components/save-hub/index.js +14 -31
  85. package/build/components/save-hub/index.js.map +1 -1
  86. package/build/components/save-panel/index.js +20 -7
  87. package/build/components/save-panel/index.js.map +1 -1
  88. package/build/components/secondary-sidebar/list-view-sidebar.js +2 -7
  89. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  90. package/build/components/sidebar/index.js +16 -2
  91. package/build/components/sidebar/index.js.map +1 -1
  92. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +35 -14
  93. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  94. package/build/components/sidebar-edit-mode/index.js +9 -2
  95. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  96. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +40 -0
  97. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -0
  98. package/build/components/sidebar-edit-mode/template-card/index.js +1 -8
  99. package/build/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  100. package/build/components/sidebar-edit-mode/{template-card/last-revision.js → template-revisions/index.js} +1 -1
  101. package/build/components/sidebar-edit-mode/template-revisions/index.js.map +1 -0
  102. package/build/components/sidebar-navigation-item/index.js +5 -7
  103. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen/index.js +14 -4
  105. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  106. package/build/components/sidebar-navigation-screen-main/index.js +24 -7
  107. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  109. package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  110. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +17 -5
  111. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  112. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +3 -3
  113. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  114. package/build/components/sidebar-navigation-screen-page/index.js +67 -0
  115. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -0
  116. package/build/components/sidebar-navigation-screen-pages/index.js +74 -0
  117. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -0
  118. package/build/components/sidebar-navigation-screen-templates/index.js +5 -3
  119. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  120. package/build/components/sidebar-navigation-subtitle/index.js +18 -0
  121. package/build/components/sidebar-navigation-subtitle/index.js.map +1 -0
  122. package/build/components/site-hub/index.js +64 -12
  123. package/build/components/site-hub/index.js.map +1 -1
  124. package/build/components/site-icon/index.js +8 -7
  125. package/build/components/site-icon/index.js.map +1 -1
  126. package/build/components/start-template-options/index.js +21 -24
  127. package/build/components/start-template-options/index.js.map +1 -1
  128. package/build/components/style-book/index.js +9 -41
  129. package/build/components/style-book/index.js.map +1 -1
  130. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +13 -5
  131. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  132. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +9 -4
  133. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  134. package/build/components/sync-state-with-url/use-sync-path-with-url.js +17 -3
  135. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  136. package/build/components/template-details/index.js +3 -1
  137. package/build/components/template-details/index.js.map +1 -1
  138. package/build/components/template-details/template-areas.js +9 -3
  139. package/build/components/template-details/template-areas.js.map +1 -1
  140. package/build/hooks/template-part-edit.js +8 -2
  141. package/build/hooks/template-part-edit.js.map +1 -1
  142. package/build/index.js +8 -0
  143. package/build/index.js.map +1 -1
  144. package/build/store/private-actions.js +19 -1
  145. package/build/store/private-actions.js.map +1 -1
  146. package/build/store/private-selectors.js +13 -0
  147. package/build/store/private-selectors.js.map +1 -1
  148. package/build/store/reducer.js +23 -1
  149. package/build/store/reducer.js.map +1 -1
  150. package/build/utils/is-previewing-theme.js +27 -0
  151. package/build/utils/is-previewing-theme.js.map +1 -0
  152. package/build/utils/use-activate-theme.js +46 -0
  153. package/build/utils/use-activate-theme.js.map +1 -0
  154. package/build-module/components/add-new-template/add-custom-template-modal.js +21 -6
  155. package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
  156. package/build-module/components/add-new-template/new-template-part.js +5 -1
  157. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  158. package/build-module/components/add-new-template/new-template.js +7 -3
  159. package/build-module/components/add-new-template/new-template.js.map +1 -1
  160. package/build-module/components/app/index.js +6 -2
  161. package/build-module/components/app/index.js.map +1 -1
  162. package/build-module/components/block-editor/back-button.js +6 -1
  163. package/build-module/components/block-editor/back-button.js.map +1 -1
  164. package/build-module/components/block-editor/editor-canvas.js +37 -6
  165. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  166. package/build-module/components/block-editor/index.js +6 -6
  167. package/build-module/components/block-editor/index.js.map +1 -1
  168. package/build-module/components/editor/index.js +45 -11
  169. package/build-module/components/editor/index.js.map +1 -1
  170. package/build-module/components/editor-canvas-container/index.js +115 -0
  171. package/build-module/components/editor-canvas-container/index.js.map +1 -0
  172. package/build-module/components/global-styles/block-preview-panel.js +1 -1
  173. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  174. package/build-module/components/global-styles/border-panel.js +54 -5
  175. package/build-module/components/global-styles/border-panel.js.map +1 -1
  176. package/build-module/components/global-styles/color-palette-panel.js +13 -3
  177. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  178. package/build-module/components/global-styles/dimensions-panel.js +17 -18
  179. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  180. package/build-module/components/global-styles/global-styles-provider.js +5 -19
  181. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  182. package/build-module/components/global-styles/gradients-palette-panel.js +13 -3
  183. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  184. package/build-module/components/global-styles/root-menu.js +47 -0
  185. package/build-module/components/global-styles/root-menu.js.map +1 -0
  186. package/build-module/components/global-styles/screen-block-list.js +4 -2
  187. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  188. package/build-module/components/global-styles/screen-block.js +151 -7
  189. package/build-module/components/global-styles/screen-block.js.map +1 -1
  190. package/build-module/components/global-styles/screen-colors.js +9 -25
  191. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  192. package/build-module/components/global-styles/screen-css.js +20 -15
  193. package/build-module/components/global-styles/screen-css.js.map +1 -1
  194. package/build-module/components/global-styles/screen-layout.js +4 -16
  195. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  196. package/build-module/components/global-styles/screen-revisions/index.js +128 -0
  197. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -0
  198. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +121 -0
  199. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -0
  200. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +116 -0
  201. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -0
  202. package/build-module/components/global-styles/screen-root.js +2 -2
  203. package/build-module/components/global-styles/screen-root.js.map +1 -1
  204. package/build-module/components/global-styles/screen-typography-element.js +0 -3
  205. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  206. package/build-module/components/global-styles/screen-typography.js +11 -37
  207. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  208. package/build-module/components/global-styles/style-variations-container.js +3 -7
  209. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  210. package/build-module/components/global-styles/typography-panel.js +7 -11
  211. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  212. package/build-module/components/global-styles/ui.js +66 -118
  213. package/build-module/components/global-styles/ui.js.map +1 -1
  214. package/build-module/components/global-styles/variations-panel.js +3 -22
  215. package/build-module/components/global-styles/variations-panel.js.map +1 -1
  216. package/build-module/components/header-edit-mode/index.js +10 -7
  217. package/build-module/components/header-edit-mode/index.js.map +1 -1
  218. package/build-module/components/keyboard-shortcuts/register.js +1 -1
  219. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  220. package/build-module/components/layout/index.js +17 -10
  221. package/build-module/components/layout/index.js.map +1 -1
  222. package/build-module/components/list/index.js +5 -1
  223. package/build-module/components/list/index.js.map +1 -1
  224. package/build-module/components/list/table.js +4 -4
  225. package/build-module/components/list/table.js.map +1 -1
  226. package/build-module/components/plugin-template-setting-panel/index.js +35 -0
  227. package/build-module/components/plugin-template-setting-panel/index.js.map +1 -0
  228. package/build-module/components/revisions/index.js +77 -0
  229. package/build-module/components/revisions/index.js.map +1 -0
  230. package/build-module/components/routes/link.js +13 -1
  231. package/build-module/components/routes/link.js.map +1 -1
  232. package/build-module/components/routes/use-title.js +5 -1
  233. package/build-module/components/routes/use-title.js.map +1 -1
  234. package/build-module/components/save-button/index.js +28 -6
  235. package/build-module/components/save-button/index.js.map +1 -1
  236. package/build-module/components/save-hub/index.js +13 -32
  237. package/build-module/components/save-hub/index.js.map +1 -1
  238. package/build-module/components/save-panel/index.js +19 -7
  239. package/build-module/components/save-panel/index.js.map +1 -1
  240. package/build-module/components/secondary-sidebar/list-view-sidebar.js +3 -8
  241. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  242. package/build-module/components/sidebar/index.js +11 -1
  243. package/build-module/components/sidebar/index.js.map +1 -1
  244. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +35 -16
  245. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  246. package/build-module/components/sidebar-edit-mode/index.js +10 -5
  247. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  248. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +29 -0
  249. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -0
  250. package/build-module/components/sidebar-edit-mode/template-card/index.js +2 -7
  251. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  252. package/build-module/components/sidebar-edit-mode/{template-card/last-revision.js → template-revisions/index.js} +1 -1
  253. package/build-module/components/sidebar-edit-mode/template-revisions/index.js.map +1 -0
  254. package/build-module/components/sidebar-navigation-item/index.js +6 -8
  255. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  256. package/build-module/components/sidebar-navigation-screen/index.js +13 -5
  257. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  258. package/build-module/components/sidebar-navigation-screen-main/index.js +25 -8
  259. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  260. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  261. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  262. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +13 -3
  263. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  264. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +3 -3
  265. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  266. package/build-module/components/sidebar-navigation-screen-page/index.js +48 -0
  267. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -0
  268. package/build-module/components/sidebar-navigation-screen-pages/index.js +57 -0
  269. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -0
  270. package/build-module/components/sidebar-navigation-screen-templates/index.js +5 -3
  271. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  272. package/build-module/components/sidebar-navigation-subtitle/index.js +10 -0
  273. package/build-module/components/sidebar-navigation-subtitle/index.js.map +1 -0
  274. package/build-module/components/site-hub/index.js +64 -14
  275. package/build-module/components/site-hub/index.js.map +1 -1
  276. package/build-module/components/site-icon/index.js +8 -7
  277. package/build-module/components/site-icon/index.js.map +1 -1
  278. package/build-module/components/start-template-options/index.js +22 -25
  279. package/build-module/components/start-template-options/index.js.map +1 -1
  280. package/build-module/components/style-book/index.js +10 -41
  281. package/build-module/components/style-book/index.js.map +1 -1
  282. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -4
  283. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  284. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +5 -1
  285. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  286. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +13 -1
  287. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  288. package/build-module/components/template-details/index.js +3 -1
  289. package/build-module/components/template-details/index.js.map +1 -1
  290. package/build-module/components/template-details/template-areas.js +5 -1
  291. package/build-module/components/template-details/template-areas.js.map +1 -1
  292. package/build-module/hooks/template-part-edit.js +5 -1
  293. package/build-module/hooks/template-part-edit.js.map +1 -1
  294. package/build-module/index.js +1 -0
  295. package/build-module/index.js.map +1 -1
  296. package/build-module/store/private-actions.js +15 -0
  297. package/build-module/store/private-actions.js.map +1 -1
  298. package/build-module/store/private-selectors.js +11 -0
  299. package/build-module/store/private-selectors.js.map +1 -1
  300. package/build-module/store/reducer.js +23 -1
  301. package/build-module/store/reducer.js.map +1 -1
  302. package/build-module/utils/is-previewing-theme.js +17 -0
  303. package/build-module/utils/is-previewing-theme.js.map +1 -0
  304. package/build-module/utils/use-activate-theme.js +36 -0
  305. package/build-module/utils/use-activate-theme.js.map +1 -0
  306. package/build-style/style-rtl.css +310 -137
  307. package/build-style/style.css +310 -137
  308. package/package.json +37 -35
  309. package/src/components/add-new-template/add-custom-template-modal.js +31 -8
  310. package/src/components/add-new-template/new-template-part.js +4 -1
  311. package/src/components/add-new-template/new-template.js +6 -1
  312. package/src/components/add-new-template/style.scss +52 -48
  313. package/src/components/app/index.js +6 -3
  314. package/src/components/block-editor/back-button.js +4 -1
  315. package/src/components/block-editor/editor-canvas.js +36 -8
  316. package/src/components/block-editor/index.js +8 -8
  317. package/src/components/block-editor/style.scss +15 -8
  318. package/src/components/editor/index.js +48 -7
  319. package/src/components/editor-canvas-container/index.js +128 -0
  320. package/src/components/editor-canvas-container/style.scss +19 -0
  321. package/src/components/global-styles/block-preview-panel.js +1 -1
  322. package/src/components/global-styles/border-panel.js +46 -3
  323. package/src/components/global-styles/color-palette-panel.js +9 -0
  324. package/src/components/global-styles/dimensions-panel.js +15 -15
  325. package/src/components/global-styles/global-styles-provider.js +4 -18
  326. package/src/components/global-styles/gradients-palette-panel.js +8 -0
  327. package/src/components/global-styles/root-menu.js +66 -0
  328. package/src/components/global-styles/screen-block-list.js +2 -2
  329. package/src/components/global-styles/screen-block.js +184 -7
  330. package/src/components/global-styles/screen-colors.js +9 -16
  331. package/src/components/global-styles/screen-css.js +21 -21
  332. package/src/components/global-styles/screen-layout.js +5 -9
  333. package/src/components/global-styles/screen-revisions/index.js +177 -0
  334. package/src/components/global-styles/screen-revisions/revisions-buttons.js +131 -0
  335. package/src/components/global-styles/screen-revisions/style.scss +99 -0
  336. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +125 -0
  337. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +103 -0
  338. package/src/components/global-styles/screen-root.js +2 -2
  339. package/src/components/global-styles/screen-typography-element.js +1 -3
  340. package/src/components/global-styles/screen-typography.js +44 -79
  341. package/src/components/global-styles/style-variations-container.js +4 -10
  342. package/src/components/global-styles/style.scss +1 -23
  343. package/src/components/global-styles/typography-panel.js +12 -13
  344. package/src/components/global-styles/ui.js +82 -107
  345. package/src/components/global-styles/variations-panel.js +3 -26
  346. package/src/components/header-edit-mode/index.js +17 -5
  347. package/src/components/keyboard-shortcuts/register.js +1 -1
  348. package/src/components/layout/index.js +16 -19
  349. package/src/components/layout/style.scss +32 -7
  350. package/src/components/list/index.js +4 -1
  351. package/src/components/list/style.scss +4 -0
  352. package/src/components/list/table.js +19 -3
  353. package/src/components/plugin-template-setting-panel/index.js +33 -0
  354. package/src/components/revisions/index.js +104 -0
  355. package/src/components/routes/link.js +16 -1
  356. package/src/components/routes/use-title.js +4 -1
  357. package/src/components/save-button/index.js +27 -6
  358. package/src/components/save-hub/index.js +17 -35
  359. package/src/components/save-panel/index.js +15 -3
  360. package/src/components/secondary-sidebar/list-view-sidebar.js +2 -6
  361. package/src/components/secondary-sidebar/style.scss +23 -5
  362. package/src/components/sidebar/index.js +12 -1
  363. package/src/components/sidebar/style.scss +2 -1
  364. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +39 -18
  365. package/src/components/sidebar-edit-mode/index.js +17 -6
  366. package/src/components/sidebar-edit-mode/sidebar-fixed-bottom.js +26 -0
  367. package/src/components/sidebar-edit-mode/style.scss +10 -0
  368. package/src/components/sidebar-edit-mode/template-card/index.js +1 -9
  369. package/src/components/sidebar-navigation-item/index.js +13 -14
  370. package/src/components/sidebar-navigation-item/style.scss +8 -1
  371. package/src/components/sidebar-navigation-screen/index.js +26 -5
  372. package/src/components/sidebar-navigation-screen-main/index.js +43 -22
  373. package/src/components/sidebar-navigation-screen-navigation-item/index.js +3 -9
  374. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +13 -1
  375. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +3 -3
  376. package/src/components/sidebar-navigation-screen-page/index.js +59 -0
  377. package/src/components/sidebar-navigation-screen-pages/index.js +82 -0
  378. package/src/components/sidebar-navigation-screen-pages/style.scss +4 -0
  379. package/src/components/sidebar-navigation-screen-templates/index.js +5 -1
  380. package/src/components/sidebar-navigation-subtitle/index.js +5 -0
  381. package/src/components/sidebar-navigation-subtitle/style.scss +7 -0
  382. package/src/components/site-hub/index.js +92 -33
  383. package/src/components/site-hub/style.scss +8 -0
  384. package/src/components/site-icon/index.js +6 -11
  385. package/src/components/site-icon/style.scss +8 -3
  386. package/src/components/start-template-options/index.js +32 -39
  387. package/src/components/start-template-options/style.scss +36 -46
  388. package/src/components/style-book/index.js +7 -51
  389. package/src/components/style-book/style.scss +0 -18
  390. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +8 -4
  391. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +3 -1
  392. package/src/components/sync-state-with-url/use-sync-path-with-url.js +14 -1
  393. package/src/components/template-details/index.js +1 -0
  394. package/src/components/template-details/template-areas.js +4 -1
  395. package/src/hooks/template-part-edit.js +4 -1
  396. package/src/index.js +1 -0
  397. package/src/store/private-actions.js +14 -0
  398. package/src/store/private-selectors.js +11 -0
  399. package/src/store/reducer.js +18 -0
  400. package/src/store/test/actions.js +6 -14
  401. package/src/style.scss +5 -1
  402. package/src/utils/is-previewing-theme.js +18 -0
  403. package/src/utils/use-activate-theme.js +38 -0
  404. package/build/components/global-styles/context-menu.js +0 -126
  405. package/build/components/global-styles/context-menu.js.map +0 -1
  406. package/build/components/global-styles/custom-css.js +0 -113
  407. package/build/components/global-styles/custom-css.js.map +0 -1
  408. package/build/components/global-styles/effects-panel.js +0 -53
  409. package/build/components/global-styles/effects-panel.js.map +0 -1
  410. package/build/components/global-styles/filters-panel.js +0 -45
  411. package/build/components/global-styles/filters-panel.js.map +0 -1
  412. package/build/components/global-styles/screen-border.js +0 -61
  413. package/build/components/global-styles/screen-border.js.map +0 -1
  414. package/build/components/global-styles/screen-effects.js +0 -61
  415. package/build/components/global-styles/screen-effects.js.map +0 -1
  416. package/build/components/global-styles/screen-filters.js +0 -46
  417. package/build/components/global-styles/screen-filters.js.map +0 -1
  418. package/build/components/global-styles/screen-variations.js +0 -71
  419. package/build/components/global-styles/screen-variations.js.map +0 -1
  420. package/build/components/routes/index.js +0 -60
  421. package/build/components/routes/index.js.map +0 -1
  422. package/build/components/sidebar-edit-mode/template-card/last-revision.js.map +0 -1
  423. package/build/hooks/commands/index.js +0 -19
  424. package/build/hooks/commands/index.js.map +0 -1
  425. package/build/hooks/commands/use-navigation-commands.js +0 -117
  426. package/build/hooks/commands/use-navigation-commands.js.map +0 -1
  427. package/build/hooks/commands/use-wp-admin-commands.js +0 -94
  428. package/build/hooks/commands/use-wp-admin-commands.js.map +0 -1
  429. package/build/utils/history.js +0 -41
  430. package/build/utils/history.js.map +0 -1
  431. package/build-module/components/global-styles/context-menu.js +0 -107
  432. package/build-module/components/global-styles/context-menu.js.map +0 -1
  433. package/build-module/components/global-styles/custom-css.js +0 -98
  434. package/build-module/components/global-styles/custom-css.js.map +0 -1
  435. package/build-module/components/global-styles/effects-panel.js +0 -43
  436. package/build-module/components/global-styles/effects-panel.js.map +0 -1
  437. package/build-module/components/global-styles/filters-panel.js +0 -35
  438. package/build-module/components/global-styles/filters-panel.js.map +0 -1
  439. package/build-module/components/global-styles/screen-border.js +0 -44
  440. package/build-module/components/global-styles/screen-border.js.map +0 -1
  441. package/build-module/components/global-styles/screen-effects.js +0 -44
  442. package/build-module/components/global-styles/screen-effects.js.map +0 -1
  443. package/build-module/components/global-styles/screen-filters.js +0 -33
  444. package/build-module/components/global-styles/screen-filters.js.map +0 -1
  445. package/build-module/components/global-styles/screen-variations.js +0 -54
  446. package/build-module/components/global-styles/screen-variations.js.map +0 -1
  447. package/build-module/components/routes/index.js +0 -47
  448. package/build-module/components/routes/index.js.map +0 -1
  449. package/build-module/components/sidebar-edit-mode/template-card/last-revision.js.map +0 -1
  450. package/build-module/hooks/commands/index.js +0 -10
  451. package/build-module/hooks/commands/index.js.map +0 -1
  452. package/build-module/hooks/commands/use-navigation-commands.js +0 -101
  453. package/build-module/hooks/commands/use-navigation-commands.js.map +0 -1
  454. package/build-module/hooks/commands/use-wp-admin-commands.js +0 -79
  455. package/build-module/hooks/commands/use-wp-admin-commands.js.map +0 -1
  456. package/build-module/utils/history.js +0 -31
  457. package/build-module/utils/history.js.map +0 -1
  458. package/src/components/global-styles/context-menu.js +0 -175
  459. package/src/components/global-styles/custom-css.js +0 -131
  460. package/src/components/global-styles/effects-panel.js +0 -40
  461. package/src/components/global-styles/filters-panel.js +0 -33
  462. package/src/components/global-styles/screen-border.js +0 -35
  463. package/src/components/global-styles/screen-effects.js +0 -35
  464. package/src/components/global-styles/screen-filters.js +0 -27
  465. package/src/components/global-styles/screen-variations.js +0 -46
  466. package/src/components/routes/index.js +0 -53
  467. package/src/hooks/commands/index.js +0 -10
  468. package/src/hooks/commands/use-navigation-commands.js +0 -103
  469. package/src/hooks/commands/use-wp-admin-commands.js +0 -77
  470. package/src/utils/history.js +0 -39
  471. /package/src/components/sidebar-edit-mode/{template-card/last-revision.js → template-revisions/index.js} +0 -0
@@ -34,24 +34,15 @@ const DEFAULT_CONTROLS = {
34
34
  childLayout: false
35
35
  };
36
36
 
37
- function DimensionsPanel(_ref) {
38
- let {
39
- name,
40
- variation = ''
41
- } = _ref;
42
- let prefixParts = [];
43
-
44
- if (variation) {
45
- prefixParts = ['variations', variation].concat(prefixParts);
46
- }
47
-
48
- const prefix = prefixParts.join('.');
49
- const [style] = useGlobalStyle(prefix, name, 'user', false);
50
- const [inheritedStyle, setStyle] = useGlobalStyle(prefix, name, 'all', {
37
+ function DimensionsPanel() {
38
+ const [style] = useGlobalStyle('', undefined, 'user', {
39
+ shouldDecodeEncode: false
40
+ });
41
+ const [inheritedStyle, setStyle] = useGlobalStyle('', undefined, 'all', {
51
42
  shouldDecodeEncode: false
52
43
  });
53
- const [rawSettings, setSettings] = useGlobalSetting('', name);
54
- const settings = useSettingsForBlockElement(rawSettings, name); // These intermediary objects are needed because the "layout" property is stored
44
+ const [rawSettings, setSettings] = useGlobalSetting('');
45
+ const settings = useSettingsForBlockElement(rawSettings); // These intermediary objects are needed because the "layout" property is stored
55
46
  // in settings rather than styles.
56
47
 
57
48
  const inheritedStyleWithLayout = (0, _element.useMemo)(() => {
@@ -72,9 +63,17 @@ function DimensionsPanel(_ref) {
72
63
  setStyle(updatedStyle);
73
64
 
74
65
  if (newStyle.layout !== settings.layout) {
75
- setSettings({ ...rawSettings,
66
+ var _updatedSettings$layo;
67
+
68
+ const updatedSettings = { ...rawSettings,
76
69
  layout: newStyle.layout
77
- });
70
+ }; // Ensure any changes to layout definitions are not persisted.
71
+
72
+ if ((_updatedSettings$layo = updatedSettings.layout) !== null && _updatedSettings$layo !== void 0 && _updatedSettings$layo.definitions) {
73
+ delete updatedSettings.layout.definitions;
74
+ }
75
+
76
+ setSettings(updatedSettings);
78
77
  }
79
78
  };
80
79
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/dimensions-panel.js"],"names":["useGlobalStyle","useGlobalSetting","useSettingsForBlockElement","DimensionsPanel","StylesDimensionsPanel","blockEditorPrivateApis","DEFAULT_CONTROLS","contentSize","wideSize","padding","margin","blockGap","minHeight","childLayout","name","variation","prefixParts","concat","prefix","join","style","inheritedStyle","setStyle","shouldDecodeEncode","rawSettings","setSettings","settings","inheritedStyleWithLayout","layout","styleWithLayout","onChange","newStyle","updatedStyle"],"mappings":";;;;;;;AAIA;;AADA;;AAMA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGA,MAAM;AACLA,EAAAA,cADK;AAELC,EAAAA,gBAFK;AAGLC,EAAAA,0BAHK;AAILC,EAAAA,eAAe,EAAEC;AAJZ,IAKF,yBAAQC,wBAAR,CALJ;AAOA,MAAMC,gBAAgB,GAAG;AACxBC,EAAAA,WAAW,EAAE,IADW;AAExBC,EAAAA,QAAQ,EAAE,IAFc;AAGxBC,EAAAA,OAAO,EAAE,IAHe;AAIxBC,EAAAA,MAAM,EAAE,IAJgB;AAKxBC,EAAAA,QAAQ,EAAE,IALc;AAMxBC,EAAAA,SAAS,EAAE,IANa;AAOxBC,EAAAA,WAAW,EAAE;AAPW,CAAzB;;AAUe,SAASV,eAAT,OAAqD;AAAA,MAA3B;AAAEW,IAAAA,IAAF;AAAQC,IAAAA,SAAS,GAAG;AAApB,GAA2B;AACnE,MAAIC,WAAW,GAAG,EAAlB;;AACA,MAAKD,SAAL,EAAiB;AAChBC,IAAAA,WAAW,GAAG,CAAE,YAAF,EAAgBD,SAAhB,EAA4BE,MAA5B,CAAoCD,WAApC,CAAd;AACA;;AACD,QAAME,MAAM,GAAGF,WAAW,CAACG,IAAZ,CAAkB,GAAlB,CAAf;AAEA,QAAM,CAAEC,KAAF,IAAYpB,cAAc,CAAEkB,MAAF,EAAUJ,IAAV,EAAgB,MAAhB,EAAwB,KAAxB,CAAhC;AACA,QAAM,CAAEO,cAAF,EAAkBC,QAAlB,IAA+BtB,cAAc,CAAEkB,MAAF,EAAUJ,IAAV,EAAgB,KAAhB,EAAuB;AACzES,IAAAA,kBAAkB,EAAE;AADqD,GAAvB,CAAnD;AAGA,QAAM,CAAEC,WAAF,EAAeC,WAAf,IAA+BxB,gBAAgB,CAAE,EAAF,EAAMa,IAAN,CAArD;AACA,QAAMY,QAAQ,GAAGxB,0BAA0B,CAAEsB,WAAF,EAAeV,IAAf,CAA3C,CAZmE,CAcnE;AACA;;AACA,QAAMa,wBAAwB,GAAG,sBAAS,MAAM;AAC/C,WAAO,EACN,GAAGN,cADG;AAENO,MAAAA,MAAM,EAAEF,QAAQ,CAACE;AAFX,KAAP;AAIA,GALgC,EAK9B,CAAEP,cAAF,EAAkBK,QAAQ,CAACE,MAA3B,CAL8B,CAAjC;AAOA,QAAMC,eAAe,GAAG,sBAAS,MAAM;AACtC,WAAO,EACN,GAAGT,KADG;AAENQ,MAAAA,MAAM,EAAEF,QAAQ,CAACE;AAFX,KAAP;AAIA,GALuB,EAKrB,CAAER,KAAF,EAASM,QAAQ,CAACE,MAAlB,CALqB,CAAxB;;AAOA,QAAME,QAAQ,GAAKC,QAAF,IAAgB;AAChC,UAAMC,YAAY,GAAG,EAAE,GAAGD;AAAL,KAArB;AACA,WAAOC,YAAY,CAACJ,MAApB;AACAN,IAAAA,QAAQ,CAAEU,YAAF,CAAR;;AAEA,QAAKD,QAAQ,CAACH,MAAT,KAAoBF,QAAQ,CAACE,MAAlC,EAA2C;AAC1CH,MAAAA,WAAW,CAAE,EACZ,GAAGD,WADS;AAEZI,QAAAA,MAAM,EAAEG,QAAQ,CAACH;AAFL,OAAF,CAAX;AAIA;AACD,GAXD;;AAaA,SACC,4BAAC,qBAAD;AACC,IAAA,cAAc,EAAGD,wBADlB;AAEC,IAAA,KAAK,EAAGE,eAFT;AAGC,IAAA,QAAQ,EAAGC,QAHZ;AAIC,IAAA,QAAQ,EAAGJ,QAJZ;AAKC,IAAA,qBAAqB,MALtB;AAMC,IAAA,eAAe,EAAGpB;AANnB,IADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tDimensionsPanel: StylesDimensionsPanel,\n} = unlock( blockEditorPrivateApis );\n\nconst DEFAULT_CONTROLS = {\n\tcontentSize: true,\n\twideSize: true,\n\tpadding: true,\n\tmargin: true,\n\tblockGap: true,\n\tminHeight: true,\n\tchildLayout: false,\n};\n\nexport default function DimensionsPanel( { 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', false );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings, setSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\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\n\tconst styleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...style,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ style, settings.layout ] );\n\n\tconst onChange = ( newStyle ) => {\n\t\tconst updatedStyle = { ...newStyle };\n\t\tdelete updatedStyle.layout;\n\t\tsetStyle( updatedStyle );\n\n\t\tif ( newStyle.layout !== settings.layout ) {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlayout: newStyle.layout,\n\t\t\t} );\n\t\t}\n\t};\n\n\treturn (\n\t\t<StylesDimensionsPanel\n\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\tvalue={ styleWithLayout }\n\t\t\tonChange={ onChange }\n\t\t\tsettings={ settings }\n\t\t\tincludeLayoutControls\n\t\t\tdefaultControls={ DEFAULT_CONTROLS }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/dimensions-panel.js"],"names":["useGlobalStyle","useGlobalSetting","useSettingsForBlockElement","DimensionsPanel","StylesDimensionsPanel","blockEditorPrivateApis","DEFAULT_CONTROLS","contentSize","wideSize","padding","margin","blockGap","minHeight","childLayout","style","undefined","shouldDecodeEncode","inheritedStyle","setStyle","rawSettings","setSettings","settings","inheritedStyleWithLayout","layout","styleWithLayout","onChange","newStyle","updatedStyle","updatedSettings","definitions"],"mappings":";;;;;;;AAIA;;AADA;;AAMA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGA,MAAM;AACLA,EAAAA,cADK;AAELC,EAAAA,gBAFK;AAGLC,EAAAA,0BAHK;AAILC,EAAAA,eAAe,EAAEC;AAJZ,IAKF,yBAAQC,wBAAR,CALJ;AAOA,MAAMC,gBAAgB,GAAG;AACxBC,EAAAA,WAAW,EAAE,IADW;AAExBC,EAAAA,QAAQ,EAAE,IAFc;AAGxBC,EAAAA,OAAO,EAAE,IAHe;AAIxBC,EAAAA,MAAM,EAAE,IAJgB;AAKxBC,EAAAA,QAAQ,EAAE,IALc;AAMxBC,EAAAA,SAAS,EAAE,IANa;AAOxBC,EAAAA,WAAW,EAAE;AAPW,CAAzB;;AAUe,SAASV,eAAT,GAA2B;AACzC,QAAM,CAAEW,KAAF,IAAYd,cAAc,CAAE,EAAF,EAAMe,SAAN,EAAiB,MAAjB,EAAyB;AACxDC,IAAAA,kBAAkB,EAAE;AADoC,GAAzB,CAAhC;AAGA,QAAM,CAAEC,cAAF,EAAkBC,QAAlB,IAA+BlB,cAAc,CAAE,EAAF,EAAMe,SAAN,EAAiB,KAAjB,EAAwB;AAC1EC,IAAAA,kBAAkB,EAAE;AADsD,GAAxB,CAAnD;AAGA,QAAM,CAAEG,WAAF,EAAeC,WAAf,IAA+BnB,gBAAgB,CAAE,EAAF,CAArD;AACA,QAAMoB,QAAQ,GAAGnB,0BAA0B,CAAEiB,WAAF,CAA3C,CARyC,CAUzC;AACA;;AACA,QAAMG,wBAAwB,GAAG,sBAAS,MAAM;AAC/C,WAAO,EACN,GAAGL,cADG;AAENM,MAAAA,MAAM,EAAEF,QAAQ,CAACE;AAFX,KAAP;AAIA,GALgC,EAK9B,CAAEN,cAAF,EAAkBI,QAAQ,CAACE,MAA3B,CAL8B,CAAjC;AAOA,QAAMC,eAAe,GAAG,sBAAS,MAAM;AACtC,WAAO,EACN,GAAGV,KADG;AAENS,MAAAA,MAAM,EAAEF,QAAQ,CAACE;AAFX,KAAP;AAIA,GALuB,EAKrB,CAAET,KAAF,EAASO,QAAQ,CAACE,MAAlB,CALqB,CAAxB;;AAOA,QAAME,QAAQ,GAAKC,QAAF,IAAgB;AAChC,UAAMC,YAAY,GAAG,EAAE,GAAGD;AAAL,KAArB;AACA,WAAOC,YAAY,CAACJ,MAApB;AACAL,IAAAA,QAAQ,CAAES,YAAF,CAAR;;AAEA,QAAKD,QAAQ,CAACH,MAAT,KAAoBF,QAAQ,CAACE,MAAlC,EAA2C;AAAA;;AAC1C,YAAMK,eAAe,GAAG,EAAE,GAAGT,WAAL;AAAkBI,QAAAA,MAAM,EAAEG,QAAQ,CAACH;AAAnC,OAAxB,CAD0C,CAG1C;;AACA,mCAAKK,eAAe,CAACL,MAArB,kDAAK,sBAAwBM,WAA7B,EAA2C;AAC1C,eAAOD,eAAe,CAACL,MAAhB,CAAuBM,WAA9B;AACA;;AAEDT,MAAAA,WAAW,CAAEQ,eAAF,CAAX;AACA;AACD,GAfD;;AAiBA,SACC,4BAAC,qBAAD;AACC,IAAA,cAAc,EAAGN,wBADlB;AAEC,IAAA,KAAK,EAAGE,eAFT;AAGC,IAAA,QAAQ,EAAGC,QAHZ;AAIC,IAAA,QAAQ,EAAGJ,QAJZ;AAKC,IAAA,qBAAqB,MALtB;AAMC,IAAA,eAAe,EAAGf;AANnB,IADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tDimensionsPanel: StylesDimensionsPanel,\n} = unlock( blockEditorPrivateApis );\n\nconst DEFAULT_CONTROLS = {\n\tcontentSize: true,\n\twideSize: true,\n\tpadding: true,\n\tmargin: true,\n\tblockGap: true,\n\tminHeight: true,\n\tchildLayout: false,\n};\n\nexport default function DimensionsPanel() {\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, setSettings ] = useGlobalSetting( '' );\n\tconst settings = useSettingsForBlockElement( rawSettings );\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\n\tconst styleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...style,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ style, settings.layout ] );\n\n\tconst onChange = ( newStyle ) => {\n\t\tconst updatedStyle = { ...newStyle };\n\t\tdelete updatedStyle.layout;\n\t\tsetStyle( updatedStyle );\n\n\t\tif ( newStyle.layout !== settings.layout ) {\n\t\t\tconst updatedSettings = { ...rawSettings, layout: newStyle.layout };\n\n\t\t\t// Ensure any changes to layout definitions are not persisted.\n\t\t\tif ( updatedSettings.layout?.definitions ) {\n\t\t\t\tdelete updatedSettings.layout.definitions;\n\t\t\t}\n\n\t\t\tsetSettings( updatedSettings );\n\t\t}\n\t};\n\n\treturn (\n\t\t<StylesDimensionsPanel\n\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\tvalue={ styleWithLayout }\n\t\t\tonChange={ onChange }\n\t\t\tsettings={ settings }\n\t\t\tincludeLayoutControls\n\t\t\tdefaultControls={ DEFAULT_CONTROLS }\n\t\t/>\n\t);\n}\n"]}
@@ -34,7 +34,8 @@ var _privateApis = require("../../private-apis");
34
34
  * Internal dependencies
35
35
  */
36
36
  const {
37
- GlobalStylesContext
37
+ GlobalStylesContext,
38
+ cleanEmptyObject
38
39
  } = (0, _privateApis.unlock)(_blockEditor.privateApis);
39
40
 
40
41
  function mergeTreesCustomizer(_, srcValue) {
@@ -50,21 +51,6 @@ function mergeBaseAndUserConfigs(base, user) {
50
51
  return (0, _lodash.mergeWith)({}, base, user, mergeTreesCustomizer);
51
52
  }
52
53
 
53
- const cleanEmptyObject = object => {
54
- if (object === null || typeof object !== 'object' || Array.isArray(object)) {
55
- return object;
56
- }
57
-
58
- const cleanedNestedObjects = Object.fromEntries(Object.entries(object).map(_ref => {
59
- let [key, value] = _ref;
60
- return [key, cleanEmptyObject(value)];
61
- }).filter(_ref2 => {
62
- let [, value] = _ref2;
63
- return Boolean(value);
64
- }));
65
- return (0, _lodash.isEmpty)(cleanedNestedObjects) ? undefined : cleanedNestedObjects;
66
- };
67
-
68
54
  function useGlobalStylesUserConfig() {
69
55
  const {
70
56
  globalStylesId,
@@ -152,10 +138,10 @@ function useGlobalStylesContext() {
152
138
  return context;
153
139
  }
154
140
 
155
- function GlobalStylesProvider(_ref3) {
141
+ function GlobalStylesProvider(_ref) {
156
142
  let {
157
143
  children
158
- } = _ref3;
144
+ } = _ref;
159
145
  const context = useGlobalStylesContext();
160
146
 
161
147
  if (!context.isReady) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/global-styles-provider.js"],"names":["GlobalStylesContext","blockEditorPrivateApis","mergeTreesCustomizer","_","srcValue","Array","isArray","mergeBaseAndUserConfigs","base","user","cleanEmptyObject","object","cleanedNestedObjects","Object","fromEntries","entries","map","key","value","filter","Boolean","undefined","useGlobalStylesUserConfig","globalStylesId","isReady","settings","styles","select","getEditedEntityRecord","hasFinishedResolution","coreStore","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","hasResolved","editEntityRecord","config","setConfig","callback","options","currentConfig","updatedConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","userConfig","setUserConfig","isBaseConfigReady","mergedConfig","context","merged","GlobalStylesProvider","children"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { mergeWith, isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } 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 CanvasSpinner from '../canvas-spinner';\nimport { unlock } from '../../private-apis';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\n\nfunction mergeTreesCustomizer( _, srcValue ) {\n\t// We only pass as arrays the presets,\n\t// in which case we want the new array of values\n\t// to override the old array (no merging).\n\tif ( Array.isArray( srcValue ) ) {\n\t\treturn srcValue;\n\t}\n}\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn mergeWith( {}, base, user, mergeTreesCustomizer );\n}\n\nconst cleanEmptyObject = ( object ) => {\n\tif (\n\t\tobject === null ||\n\t\ttypeof object !== 'object' ||\n\t\tArray.isArray( object )\n\t) {\n\t\treturn object;\n\t}\n\tconst cleanedNestedObjects = Object.fromEntries(\n\t\tObject.entries( object )\n\t\t\t.map( ( [ key, value ] ) => [ key, cleanEmptyObject( value ) ] )\n\t\t\t.filter( ( [ , value ] ) => Boolean( value ) )\n\t);\n\treturn isEmpty( cleanedNestedObjects ) ? undefined : cleanedNestedObjects;\n};\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\t\t\tconst record = _globalStylesId\n\t\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId\n\t\t\t\t )\n\t\t\t\t: undefined;\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\thasResolved = _globalStylesId\n\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t ] )\n\t\t\t\t\t: true;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t};\n\t}, [ settings, styles ] );\n\n\tconst setConfig = useCallback(\n\t\t( callback, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t};\n\t\t\tconst updatedConfig = callback( currentConfig );\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nfunction useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn <CanvasSpinner />;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/global-styles-provider.js"],"names":["GlobalStylesContext","cleanEmptyObject","blockEditorPrivateApis","mergeTreesCustomizer","_","srcValue","Array","isArray","mergeBaseAndUserConfigs","base","user","useGlobalStylesUserConfig","globalStylesId","isReady","settings","styles","select","getEditedEntityRecord","hasFinishedResolution","coreStore","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","undefined","hasResolved","editEntityRecord","config","setConfig","callback","options","currentConfig","updatedConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","userConfig","setUserConfig","isBaseConfigReady","mergedConfig","context","merged","GlobalStylesProvider","children"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { mergeWith } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } 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 CanvasSpinner from '../canvas-spinner';\nimport { unlock } from '../../private-apis';\n\nconst { GlobalStylesContext, cleanEmptyObject } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction mergeTreesCustomizer( _, srcValue ) {\n\t// We only pass as arrays the presets,\n\t// in which case we want the new array of values\n\t// to override the old array (no merging).\n\tif ( Array.isArray( srcValue ) ) {\n\t\treturn srcValue;\n\t}\n}\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn mergeWith( {}, base, user, mergeTreesCustomizer );\n}\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\t\t\tconst record = _globalStylesId\n\t\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId\n\t\t\t\t )\n\t\t\t\t: undefined;\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\thasResolved = _globalStylesId\n\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t ] )\n\t\t\t\t\t: true;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t};\n\t}, [ settings, styles ] );\n\n\tconst setConfig = useCallback(\n\t\t( callback, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t};\n\t\t\tconst updatedConfig = callback( currentConfig );\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nfunction useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn <CanvasSpinner />;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
@@ -9,6 +9,8 @@ exports.default = GradientPalettePanel;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
+ var _compose = require("@wordpress/compose");
13
+
12
14
  var _components = require("@wordpress/components");
13
15
 
14
16
  var _i18n = require("@wordpress/i18n");
@@ -29,6 +31,10 @@ var _privateApis = require("../../private-apis");
29
31
  const {
30
32
  useGlobalSetting
31
33
  } = (0, _privateApis.unlock)(_blockEditor.privateApis);
34
+ const mobilePopoverProps = {
35
+ placement: 'bottom-start',
36
+ offset: 8
37
+ };
32
38
 
33
39
  const noop = () => {};
34
40
 
@@ -47,6 +53,8 @@ function GradientPalettePanel(_ref) {
47
53
  const [themeDuotone] = useGlobalSetting('color.duotone.theme') || [];
48
54
  const [defaultDuotoneEnabled] = useGlobalSetting('color.defaultDuotone');
49
55
  const duotonePalette = [...(customDuotone || []), ...(themeDuotone || []), ...(defaultDuotone && defaultDuotoneEnabled ? defaultDuotone : [])];
56
+ const isMobileViewport = (0, _compose.useViewportMatch)('small', '<');
57
+ const popoverProps = isMobileViewport ? mobilePopoverProps : undefined;
50
58
  return (0, _element.createElement)(_components.__experimentalVStack, {
51
59
  className: "edit-site-global-styles-gradient-palette-panel",
52
60
  spacing: 10
@@ -56,21 +64,24 @@ function GradientPalettePanel(_ref) {
56
64
  gradients: themeGradients,
57
65
  onChange: setThemeGradients,
58
66
  paletteLabel: (0, _i18n.__)('Theme'),
59
- paletteLabelHeadingLevel: 3
67
+ paletteLabelHeadingLevel: 3,
68
+ popoverProps: popoverProps
60
69
  }), !!defaultGradients && !!defaultGradients.length && !!defaultPaletteEnabled && (0, _element.createElement)(_components.__experimentalPaletteEdit, {
61
70
  canReset: defaultGradients !== baseDefaultGradients,
62
71
  canOnlyChangeValues: true,
63
72
  gradients: defaultGradients,
64
73
  onChange: setDefaultGradients,
65
74
  paletteLabel: (0, _i18n.__)('Default'),
66
- paletteLabelLevel: 3
75
+ paletteLabelLevel: 3,
76
+ popoverProps: popoverProps
67
77
  }), (0, _element.createElement)(_components.__experimentalPaletteEdit, {
68
78
  gradients: customGradients,
69
79
  onChange: setCustomGradients,
70
80
  paletteLabel: (0, _i18n.__)('Custom'),
71
81
  paletteLabelLevel: 3,
72
82
  emptyMessage: (0, _i18n.__)('Custom gradients are empty! Add some gradients to create your own palette.'),
73
- slugPrefix: "custom-"
83
+ slugPrefix: "custom-",
84
+ popoverProps: popoverProps
74
85
  }), !!duotonePalette && !!duotonePalette.length && (0, _element.createElement)("div", null, (0, _element.createElement)(_subtitle.default, {
75
86
  level: 3
76
87
  }, (0, _i18n.__)('Duotone')), (0, _element.createElement)(_components.__experimentalSpacer, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/gradients-palette-panel.js"],"names":["useGlobalSetting","blockEditorPrivateApis","noop","GradientPalettePanel","name","themeGradients","setThemeGradients","baseThemeGradients","defaultGradients","setDefaultGradients","baseDefaultGradients","customGradients","setCustomGradients","defaultPaletteEnabled","customDuotone","defaultDuotone","themeDuotone","defaultDuotoneEnabled","duotonePalette","length"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalPaletteEdit as PaletteEdit,\n\t__experimentalSpacer as Spacer,\n\tDuotonePicker,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport Subtitle from './subtitle';\nimport { unlock } from '../../private-apis';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\n\nconst noop = () => {};\n\nexport default function GradientPalettePanel( { name } ) {\n\tconst [ themeGradients, setThemeGradients ] = useGlobalSetting(\n\t\t'color.gradients.theme',\n\t\tname\n\t);\n\tconst [ baseThemeGradients ] = useGlobalSetting(\n\t\t'color.gradients.theme',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ defaultGradients, setDefaultGradients ] = useGlobalSetting(\n\t\t'color.gradients.default',\n\t\tname\n\t);\n\tconst [ baseDefaultGradients ] = useGlobalSetting(\n\t\t'color.gradients.default',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ customGradients, setCustomGradients ] = useGlobalSetting(\n\t\t'color.gradients.custom',\n\t\tname\n\t);\n\n\tconst [ defaultPaletteEnabled ] = useGlobalSetting(\n\t\t'color.defaultGradients',\n\t\tname\n\t);\n\n\tconst [ customDuotone ] = useGlobalSetting( 'color.duotone.custom' ) || [];\n\tconst [ defaultDuotone ] =\n\t\tuseGlobalSetting( 'color.duotone.default' ) || [];\n\tconst [ themeDuotone ] = useGlobalSetting( 'color.duotone.theme' ) || [];\n\tconst [ defaultDuotoneEnabled ] = useGlobalSetting(\n\t\t'color.defaultDuotone'\n\t);\n\n\tconst duotonePalette = [\n\t\t...( customDuotone || [] ),\n\t\t...( themeDuotone || [] ),\n\t\t...( defaultDuotone && defaultDuotoneEnabled ? defaultDuotone : [] ),\n\t];\n\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"edit-site-global-styles-gradient-palette-panel\"\n\t\t\tspacing={ 10 }\n\t\t>\n\t\t\t{ !! themeGradients && !! themeGradients.length && (\n\t\t\t\t<PaletteEdit\n\t\t\t\t\tcanReset={ themeGradients !== baseThemeGradients }\n\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\tgradients={ themeGradients }\n\t\t\t\t\tonChange={ setThemeGradients }\n\t\t\t\t\tpaletteLabel={ __( 'Theme' ) }\n\t\t\t\t\tpaletteLabelHeadingLevel={ 3 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! defaultGradients &&\n\t\t\t\t!! defaultGradients.length &&\n\t\t\t\t!! defaultPaletteEnabled && (\n\t\t\t\t\t<PaletteEdit\n\t\t\t\t\t\tcanReset={ defaultGradients !== baseDefaultGradients }\n\t\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\t\tgradients={ defaultGradients }\n\t\t\t\t\t\tonChange={ setDefaultGradients }\n\t\t\t\t\t\tpaletteLabel={ __( 'Default' ) }\n\t\t\t\t\t\tpaletteLabelLevel={ 3 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t<PaletteEdit\n\t\t\t\tgradients={ customGradients }\n\t\t\t\tonChange={ setCustomGradients }\n\t\t\t\tpaletteLabel={ __( 'Custom' ) }\n\t\t\t\tpaletteLabelLevel={ 3 }\n\t\t\t\temptyMessage={ __(\n\t\t\t\t\t'Custom gradients are empty! Add some gradients to create your own palette.'\n\t\t\t\t) }\n\t\t\t\tslugPrefix=\"custom-\"\n\t\t\t/>\n\t\t\t{ !! duotonePalette && !! duotonePalette.length && (\n\t\t\t\t<div>\n\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Duotone' ) }</Subtitle>\n\t\t\t\t\t<Spacer margin={ 3 } />\n\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\tdisableCustomDuotone={ true }\n\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\tonChange={ noop }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/gradients-palette-panel.js"],"names":["useGlobalSetting","blockEditorPrivateApis","mobilePopoverProps","placement","offset","noop","GradientPalettePanel","name","themeGradients","setThemeGradients","baseThemeGradients","defaultGradients","setDefaultGradients","baseDefaultGradients","customGradients","setCustomGradients","defaultPaletteEnabled","customDuotone","defaultDuotone","themeDuotone","defaultDuotoneEnabled","duotonePalette","isMobileViewport","popoverProps","undefined","length"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalPaletteEdit as PaletteEdit,\n\t__experimentalSpacer as Spacer,\n\tDuotonePicker,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport Subtitle from './subtitle';\nimport { unlock } from '../../private-apis';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nconst mobilePopoverProps = { placement: 'bottom-start', offset: 8 };\n\nconst noop = () => {};\n\nexport default function GradientPalettePanel( { name } ) {\n\tconst [ themeGradients, setThemeGradients ] = useGlobalSetting(\n\t\t'color.gradients.theme',\n\t\tname\n\t);\n\tconst [ baseThemeGradients ] = useGlobalSetting(\n\t\t'color.gradients.theme',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ defaultGradients, setDefaultGradients ] = useGlobalSetting(\n\t\t'color.gradients.default',\n\t\tname\n\t);\n\tconst [ baseDefaultGradients ] = useGlobalSetting(\n\t\t'color.gradients.default',\n\t\tname,\n\t\t'base'\n\t);\n\tconst [ customGradients, setCustomGradients ] = useGlobalSetting(\n\t\t'color.gradients.custom',\n\t\tname\n\t);\n\n\tconst [ defaultPaletteEnabled ] = useGlobalSetting(\n\t\t'color.defaultGradients',\n\t\tname\n\t);\n\n\tconst [ customDuotone ] = useGlobalSetting( 'color.duotone.custom' ) || [];\n\tconst [ defaultDuotone ] =\n\t\tuseGlobalSetting( 'color.duotone.default' ) || [];\n\tconst [ themeDuotone ] = useGlobalSetting( 'color.duotone.theme' ) || [];\n\tconst [ defaultDuotoneEnabled ] = useGlobalSetting(\n\t\t'color.defaultDuotone'\n\t);\n\n\tconst duotonePalette = [\n\t\t...( customDuotone || [] ),\n\t\t...( themeDuotone || [] ),\n\t\t...( defaultDuotone && defaultDuotoneEnabled ? defaultDuotone : [] ),\n\t];\n\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst popoverProps = isMobileViewport ? mobilePopoverProps : undefined;\n\n\treturn (\n\t\t<VStack\n\t\t\tclassName=\"edit-site-global-styles-gradient-palette-panel\"\n\t\t\tspacing={ 10 }\n\t\t>\n\t\t\t{ !! themeGradients && !! themeGradients.length && (\n\t\t\t\t<PaletteEdit\n\t\t\t\t\tcanReset={ themeGradients !== baseThemeGradients }\n\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\tgradients={ themeGradients }\n\t\t\t\t\tonChange={ setThemeGradients }\n\t\t\t\t\tpaletteLabel={ __( 'Theme' ) }\n\t\t\t\t\tpaletteLabelHeadingLevel={ 3 }\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ !! defaultGradients &&\n\t\t\t\t!! defaultGradients.length &&\n\t\t\t\t!! defaultPaletteEnabled && (\n\t\t\t\t\t<PaletteEdit\n\t\t\t\t\t\tcanReset={ defaultGradients !== baseDefaultGradients }\n\t\t\t\t\t\tcanOnlyChangeValues\n\t\t\t\t\t\tgradients={ defaultGradients }\n\t\t\t\t\t\tonChange={ setDefaultGradients }\n\t\t\t\t\t\tpaletteLabel={ __( 'Default' ) }\n\t\t\t\t\t\tpaletteLabelLevel={ 3 }\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t<PaletteEdit\n\t\t\t\tgradients={ customGradients }\n\t\t\t\tonChange={ setCustomGradients }\n\t\t\t\tpaletteLabel={ __( 'Custom' ) }\n\t\t\t\tpaletteLabelLevel={ 3 }\n\t\t\t\temptyMessage={ __(\n\t\t\t\t\t'Custom gradients are empty! Add some gradients to create your own palette.'\n\t\t\t\t) }\n\t\t\t\tslugPrefix=\"custom-\"\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t/>\n\t\t\t{ !! duotonePalette && !! duotonePalette.length && (\n\t\t\t\t<div>\n\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Duotone' ) }</Subtitle>\n\t\t\t\t\t<Spacer margin={ 3 } />\n\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\tdisableCustomDuotone={ true }\n\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\tonChange={ noop }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"]}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _components = require("@wordpress/components");
11
+
12
+ var _icons = require("@wordpress/icons");
13
+
14
+ var _i18n = require("@wordpress/i18n");
15
+
16
+ var _blockEditor = require("@wordpress/block-editor");
17
+
18
+ var _navigationButton = require("./navigation-button");
19
+
20
+ var _privateApis = require("../../private-apis");
21
+
22
+ /**
23
+ * WordPress dependencies
24
+ */
25
+
26
+ /**
27
+ * Internal dependencies
28
+ */
29
+ const {
30
+ useHasDimensionsPanel,
31
+ useHasTypographyPanel,
32
+ useHasColorPanel,
33
+ useGlobalSetting,
34
+ useSettingsForBlockElement
35
+ } = (0, _privateApis.unlock)(_blockEditor.privateApis);
36
+
37
+ function RootMenu() {
38
+ const [rawSettings] = useGlobalSetting('');
39
+ const settings = useSettingsForBlockElement(rawSettings);
40
+ const hasTypographyPanel = useHasTypographyPanel(settings);
41
+ const hasColorPanel = useHasColorPanel(settings);
42
+ const hasDimensionsPanel = useHasDimensionsPanel(settings);
43
+ const hasLayoutPanel = hasDimensionsPanel;
44
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalItemGroup, null, hasTypographyPanel && (0, _element.createElement)(_navigationButton.NavigationButtonAsItem, {
45
+ icon: _icons.typography,
46
+ path: "/typography",
47
+ "aria-label": (0, _i18n.__)('Typography styles')
48
+ }, (0, _i18n.__)('Typography')), hasColorPanel && (0, _element.createElement)(_navigationButton.NavigationButtonAsItem, {
49
+ icon: _icons.color,
50
+ path: "/colors",
51
+ "aria-label": (0, _i18n.__)('Colors styles')
52
+ }, (0, _i18n.__)('Colors')), hasLayoutPanel && (0, _element.createElement)(_navigationButton.NavigationButtonAsItem, {
53
+ icon: _icons.layout,
54
+ path: "/layout",
55
+ "aria-label": (0, _i18n.__)('Layout styles')
56
+ }, (0, _i18n.__)('Layout'))));
57
+ }
58
+
59
+ var _default = RootMenu;
60
+ exports.default = _default;
61
+ //# sourceMappingURL=root-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/root-menu.js"],"names":["useHasDimensionsPanel","useHasTypographyPanel","useHasColorPanel","useGlobalSetting","useSettingsForBlockElement","blockEditorPrivateApis","RootMenu","rawSettings","settings","hasTypographyPanel","hasColorPanel","hasDimensionsPanel","hasLayoutPanel","typography","color","layout"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAZA;AACA;AACA;;AAMA;AACA;AACA;AAIA,MAAM;AACLA,EAAAA,qBADK;AAELC,EAAAA,qBAFK;AAGLC,EAAAA,gBAHK;AAILC,EAAAA,gBAJK;AAKLC,EAAAA;AALK,IAMF,yBAAQC,wBAAR,CANJ;;AAQA,SAASC,QAAT,GAAoB;AACnB,QAAM,CAAEC,WAAF,IAAkBJ,gBAAgB,CAAE,EAAF,CAAxC;AACA,QAAMK,QAAQ,GAAGJ,0BAA0B,CAAEG,WAAF,CAA3C;AACA,QAAME,kBAAkB,GAAGR,qBAAqB,CAAEO,QAAF,CAAhD;AACA,QAAME,aAAa,GAAGR,gBAAgB,CAAEM,QAAF,CAAtC;AACA,QAAMG,kBAAkB,GAAGX,qBAAqB,CAAEQ,QAAF,CAAhD;AACA,QAAMI,cAAc,GAAGD,kBAAvB;AAEA,SACC,qDACC,4BAAC,mCAAD,QACGF,kBAAkB,IACnB,4BAAC,wCAAD;AACC,IAAA,IAAI,EAAGI,iBADR;AAEC,IAAA,IAAI,EAAC,aAFN;AAGC,kBAAa,cAAI,mBAAJ;AAHd,KAKG,cAAI,YAAJ,CALH,CAFF,EAUGH,aAAa,IACd,4BAAC,wCAAD;AACC,IAAA,IAAI,EAAGI,YADR;AAEC,IAAA,IAAI,EAAC,SAFN;AAGC,kBAAa,cAAI,eAAJ;AAHd,KAKG,cAAI,QAAJ,CALH,CAXF,EAmBGF,cAAc,IACf,4BAAC,wCAAD;AACC,IAAA,IAAI,EAAGG,aADR;AAEC,IAAA,IAAI,EAAC,SAFN;AAGC,kBAAa,cAAI,eAAJ;AAHd,KAKG,cAAI,QAAJ,CALH,CApBF,CADD,CADD;AAiCA;;eAEcT,Q","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalItemGroup as ItemGroup } from '@wordpress/components';\nimport { typography, color, layout } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { NavigationButtonAsItem } from './navigation-button';\nimport { unlock } from '../../private-apis';\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasColorPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n} = unlock( blockEditorPrivateApis );\n\nfunction RootMenu() {\n\tconst [ rawSettings ] = useGlobalSetting( '' );\n\tconst settings = useSettingsForBlockElement( rawSettings );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasLayoutPanel = hasDimensionsPanel;\n\n\treturn (\n\t\t<>\n\t\t\t<ItemGroup>\n\t\t\t\t{ hasTypographyPanel && (\n\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\ticon={ typography }\n\t\t\t\t\t\tpath=\"/typography\"\n\t\t\t\t\t\taria-label={ __( 'Typography styles' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Typography' ) }\n\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t) }\n\t\t\t\t{ hasColorPanel && (\n\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\ticon={ color }\n\t\t\t\t\t\tpath=\"/colors\"\n\t\t\t\t\t\taria-label={ __( 'Colors styles' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Colors' ) }\n\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t) }\n\t\t\t\t{ hasLayoutPanel && (\n\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\ticon={ layout }\n\t\t\t\t\t\tpath=\"/layout\"\n\t\t\t\t\t\taria-label={ __( 'Layout styles' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Layout' ) }\n\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nexport default RootMenu;\n"]}
@@ -76,6 +76,8 @@ function useSortedBlockTypes() {
76
76
  }
77
77
 
78
78
  function useBlockHasGlobalStyles(blockName) {
79
+ var _useBlockVariations;
80
+
79
81
  const [rawSettings] = useGlobalSetting('', blockName);
80
82
  const settings = useSettingsForBlockElement(rawSettings, blockName);
81
83
  const hasTypographyPanel = useHasTypographyPanel(settings);
@@ -83,7 +85,7 @@ function useBlockHasGlobalStyles(blockName) {
83
85
  const hasBorderPanel = useHasBorderPanel(settings);
84
86
  const hasDimensionsPanel = useHasDimensionsPanel(settings);
85
87
  const hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;
86
- const hasVariationsPanel = (0, _variationsPanel.useHasVariationsPanel)(blockName);
88
+ const hasVariationsPanel = !!((_useBlockVariations = (0, _variationsPanel.useBlockVariations)(blockName)) !== null && _useBlockVariations !== void 0 && _useBlockVariations.length);
87
89
  const hasGlobalStyles = hasTypographyPanel || hasColorPanel || hasLayoutPanel || hasVariationsPanel;
88
90
  return hasGlobalStyles;
89
91
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-block-list.js"],"names":["useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","blockEditorPrivateApis","useSortedBlockTypes","blockItems","select","blocksStore","getBlockTypes","groupByType","blocks","block","core","noncore","type","name","startsWith","push","coreItems","nonCoreItems","reduce","useBlockHasGlobalStyles","blockName","rawSettings","settings","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasLayoutPanel","hasVariationsPanel","hasGlobalStyles","BlockMenuItem","hasBlockMenuItem","navigationButtonLabel","title","encodeURIComponent","icon","ScreenBlockList","sortedBlockTypes","filterValue","setFilterValue","debouncedSpeak","speak","isMatchingSearchTerm","filteredBlockTypes","filter","blockType","blockTypesListRef","count","current","childElementCount","resultsFoundMessage","map"],"mappings":"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","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 { useState, useMemo, useEffect, useRef } 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 { useHasVariationsPanel } from './variations-panel';\nimport ScreenHeader from './header';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport { unlock } from '../../private-apis';\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 = useHasVariationsPanel( blockName );\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 ScreenBlockList() {\n\tconst sortedBlockTypes = useSortedBlockTypes();\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst isMatchingSearchTerm = useSelect(\n\t\t( select ) => select( blocksStore ).isMatchingSearchTerm,\n\t\t[]\n\t);\n\tconst filteredBlockTypes = useMemo( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn sortedBlockTypes;\n\t\t}\n\t\treturn sortedBlockTypes.filter( ( blockType ) =>\n\t\t\tisMatchingSearchTerm( blockType, filterValue )\n\t\t);\n\t}, [ filterValue, sortedBlockTypes, isMatchingSearchTerm ] );\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<>\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<div\n\t\t\t\tref={ blockTypesListRef }\n\t\t\t\tclassName=\"edit-site-block-types-item-list\"\n\t\t\t>\n\t\t\t\t{ filteredBlockTypes.map( ( block ) => (\n\t\t\t\t\t<BlockMenuItem\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tkey={ 'menu-itemblock-' + block.name }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ScreenBlockList;\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/screen-block-list.js"],"names":["useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","blockEditorPrivateApis","useSortedBlockTypes","blockItems","select","blocksStore","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","encodeURIComponent","icon","ScreenBlockList","sortedBlockTypes","filterValue","setFilterValue","debouncedSpeak","speak","isMatchingSearchTerm","filteredBlockTypes","filter","blockType","blockTypesListRef","count","current","childElementCount","resultsFoundMessage","map"],"mappings":"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","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 { useState, useMemo, useEffect, useRef } 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 '../../private-apis';\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 ScreenBlockList() {\n\tconst sortedBlockTypes = useSortedBlockTypes();\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst isMatchingSearchTerm = useSelect(\n\t\t( select ) => select( blocksStore ).isMatchingSearchTerm,\n\t\t[]\n\t);\n\tconst filteredBlockTypes = useMemo( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn sortedBlockTypes;\n\t\t}\n\t\treturn sortedBlockTypes.filter( ( blockType ) =>\n\t\t\tisMatchingSearchTerm( blockType, filterValue )\n\t\t);\n\t}, [ filterValue, sortedBlockTypes, isMatchingSearchTerm ] );\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<>\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<div\n\t\t\t\tref={ blockTypesListRef }\n\t\t\t\tclassName=\"edit-site-block-types-item-list\"\n\t\t\t>\n\t\t\t\t{ filteredBlockTypes.map( ( block ) => (\n\t\t\t\t\t<BlockMenuItem\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tkey={ 'menu-itemblock-' + block.name }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ScreenBlockList;\n"]}
@@ -11,12 +11,26 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _blocks = require("@wordpress/blocks");
13
13
 
14
- var _contextMenu = _interopRequireDefault(require("./context-menu"));
14
+ var _blockEditor = require("@wordpress/block-editor");
15
+
16
+ var _data = require("@wordpress/data");
17
+
18
+ var _coreData = require("@wordpress/core-data");
19
+
20
+ var _components = require("@wordpress/components");
21
+
22
+ var _i18n = require("@wordpress/i18n");
15
23
 
16
24
  var _header = _interopRequireDefault(require("./header"));
17
25
 
18
26
  var _blockPreviewPanel = _interopRequireDefault(require("./block-preview-panel"));
19
27
 
28
+ var _privateApis = require("../../private-apis");
29
+
30
+ var _subtitle = _interopRequireDefault(require("./subtitle"));
31
+
32
+ var _variationsPanel = require("./variations-panel");
33
+
20
34
  /**
21
35
  * WordPress dependencies
22
36
  */
@@ -24,19 +38,156 @@ var _blockPreviewPanel = _interopRequireDefault(require("./block-preview-panel")
24
38
  /**
25
39
  * Internal dependencies
26
40
  */
41
+ const {
42
+ useHasDimensionsPanel,
43
+ useHasTypographyPanel,
44
+ useHasBorderPanel,
45
+ useGlobalSetting,
46
+ useSettingsForBlockElement,
47
+ useHasColorPanel,
48
+ useHasEffectsPanel,
49
+ useHasFiltersPanel,
50
+ useGlobalStyle,
51
+ BorderPanel: StylesBorderPanel,
52
+ ColorPanel: StylesColorPanel,
53
+ TypographyPanel: StylesTypographyPanel,
54
+ DimensionsPanel: StylesDimensionsPanel,
55
+ EffectsPanel: StylesEffectsPanel,
56
+ FiltersPanel: StylesFiltersPanel,
57
+ AdvancedPanel: StylesAdvancedPanel
58
+ } = (0, _privateApis.unlock)(_blockEditor.privateApis);
59
+
27
60
  function ScreenBlock(_ref) {
28
61
  let {
29
- name
62
+ name,
63
+ variation
30
64
  } = _ref;
65
+ let prefixParts = [];
66
+
67
+ if (variation) {
68
+ prefixParts = ['variations', variation].concat(prefixParts);
69
+ }
70
+
71
+ const prefix = prefixParts.join('.');
72
+ const [style] = useGlobalStyle(prefix, name, 'user', {
73
+ shouldDecodeEncode: false
74
+ });
75
+ const [inheritedStyle, setStyle] = useGlobalStyle(prefix, name, 'all', {
76
+ shouldDecodeEncode: false
77
+ });
78
+ const [rawSettings, setSettings] = useGlobalSetting('', name);
79
+ const settings = useSettingsForBlockElement(rawSettings, name);
31
80
  const blockType = (0, _blocks.getBlockType)(name);
81
+ const blockVariations = (0, _variationsPanel.useBlockVariations)(name);
82
+ const hasTypographyPanel = useHasTypographyPanel(settings);
83
+ const hasColorPanel = useHasColorPanel(settings);
84
+ const hasBorderPanel = useHasBorderPanel(settings);
85
+ const hasDimensionsPanel = useHasDimensionsPanel(settings);
86
+ const hasEffectsPanel = useHasEffectsPanel(settings);
87
+ const hasFiltersPanel = useHasFiltersPanel(settings);
88
+ const hasVariationsPanel = !!(blockVariations !== null && blockVariations !== void 0 && blockVariations.length) && !variation;
89
+ const {
90
+ canEditCSS
91
+ } = (0, _data.useSelect)(select => {
92
+ var _globalStyles$_links$, _globalStyles$_links;
93
+
94
+ const {
95
+ getEntityRecord,
96
+ __experimentalGetCurrentGlobalStylesId
97
+ } = select(_coreData.store);
98
+
99
+ const globalStylesId = __experimentalGetCurrentGlobalStylesId();
100
+
101
+ const globalStyles = globalStylesId ? getEntityRecord('root', 'globalStyles', globalStylesId) : undefined;
102
+ return {
103
+ canEditCSS: (_globalStyles$_links$ = !!(globalStyles !== null && globalStyles !== void 0 && (_globalStyles$_links = globalStyles._links) !== null && _globalStyles$_links !== void 0 && _globalStyles$_links['wp:action-edit-css'])) !== null && _globalStyles$_links$ !== void 0 ? _globalStyles$_links$ : false
104
+ };
105
+ }, []);
106
+ const currentBlockStyle = variation ? blockVariations.find(s => s.name === variation) : null; // These intermediary objects are needed because the "layout" property is stored
107
+ // in settings rather than styles.
108
+
109
+ const inheritedStyleWithLayout = (0, _element.useMemo)(() => {
110
+ return { ...inheritedStyle,
111
+ layout: settings.layout
112
+ };
113
+ }, [inheritedStyle, settings.layout]);
114
+ const styleWithLayout = (0, _element.useMemo)(() => {
115
+ return { ...style,
116
+ layout: settings.layout
117
+ };
118
+ }, [style, settings.layout]);
119
+
120
+ const onChangeDimensions = newStyle => {
121
+ const updatedStyle = { ...newStyle
122
+ };
123
+ delete updatedStyle.layout;
124
+ setStyle(updatedStyle);
125
+
126
+ if (newStyle.layout !== settings.layout) {
127
+ setSettings({ ...rawSettings,
128
+ layout: newStyle.layout
129
+ });
130
+ }
131
+ };
132
+
32
133
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_header.default, {
33
- title: blockType.title
134
+ title: variation ? currentBlockStyle.label : blockType.title
34
135
  }), (0, _element.createElement)(_blockPreviewPanel.default, {
136
+ name: name,
137
+ variation: variation
138
+ }), hasVariationsPanel && (0, _element.createElement)("div", {
139
+ className: "edit-site-global-styles-screen-variations"
140
+ }, (0, _element.createElement)(_components.__experimentalVStack, {
141
+ spacing: 3
142
+ }, (0, _element.createElement)(_subtitle.default, null, (0, _i18n.__)('Style Variations')), (0, _element.createElement)(_variationsPanel.VariationsPanel, {
35
143
  name: name
36
- }), (0, _element.createElement)(_contextMenu.default, {
37
- parentMenu: '/blocks/' + encodeURIComponent(name),
38
- name: name
39
- }));
144
+ }))), hasColorPanel && (0, _element.createElement)(StylesColorPanel, {
145
+ inheritedValue: inheritedStyle,
146
+ value: style,
147
+ onChange: setStyle,
148
+ settings: settings
149
+ }), hasTypographyPanel && (0, _element.createElement)(StylesTypographyPanel, {
150
+ inheritedValue: inheritedStyle,
151
+ value: style,
152
+ onChange: setStyle,
153
+ settings: settings
154
+ }), hasDimensionsPanel && (0, _element.createElement)(StylesDimensionsPanel, {
155
+ inheritedValue: inheritedStyleWithLayout,
156
+ value: styleWithLayout,
157
+ onChange: onChangeDimensions,
158
+ settings: settings,
159
+ includeLayoutControls: true
160
+ }), hasBorderPanel && (0, _element.createElement)(StylesBorderPanel, {
161
+ inheritedValue: inheritedStyle,
162
+ value: style,
163
+ onChange: setStyle,
164
+ settings: settings
165
+ }), hasEffectsPanel && (0, _element.createElement)(StylesEffectsPanel, {
166
+ inheritedValue: inheritedStyleWithLayout,
167
+ value: styleWithLayout,
168
+ onChange: onChangeDimensions,
169
+ settings: settings,
170
+ includeLayoutControls: true
171
+ }), hasFiltersPanel && (0, _element.createElement)(StylesFiltersPanel, {
172
+ inheritedValue: inheritedStyleWithLayout,
173
+ value: styleWithLayout,
174
+ onChange: onChangeDimensions,
175
+ settings: { ...settings,
176
+ color: { ...settings.color,
177
+ customDuotone: false //TO FIX: Custom duotone only works on the block level right now
178
+
179
+ }
180
+ },
181
+ includeLayoutControls: true
182
+ }), canEditCSS && (0, _element.createElement)(_components.PanelBody, {
183
+ title: (0, _i18n.__)('Advanced'),
184
+ initialOpen: false
185
+ }, (0, _element.createElement)("p", null, (0, _i18n.sprintf)( // translators: %s: is the name of a block e.g., 'Image' or 'Table'.
186
+ (0, _i18n.__)('Add your own CSS to customize the appearance of the %s block.'), blockType === null || blockType === void 0 ? void 0 : blockType.title)), (0, _element.createElement)(StylesAdvancedPanel, {
187
+ value: style,
188
+ onChange: setStyle,
189
+ inheritedValue: inheritedStyle
190
+ })));
40
191
  }
41
192
 
42
193
  var _default = ScreenBlock;