@wordpress/edit-site 6.9.0 → 6.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 (383) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  3. package/build/components/add-new-template/utils.js.map +1 -1
  4. package/build/components/app/index.js +1 -1
  5. package/build/components/app/index.js.map +1 -1
  6. package/build/components/editor/index.js +0 -1
  7. package/build/components/editor/index.js.map +1 -1
  8. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  9. package/build/components/global-styles/font-families.js +41 -25
  10. package/build/components/global-styles/font-families.js.map +1 -1
  11. package/build/components/global-styles/font-family-item.js +1 -1
  12. package/build/components/global-styles/font-family-item.js.map +1 -1
  13. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/context.js +1 -0
  15. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  16. package/build/components/global-styles/font-library-modal/font-card.js +1 -1
  17. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  19. package/build/components/global-styles/font-library-modal/installed-fonts.js +4 -3
  20. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  21. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  23. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/upload-fonts.js +1 -0
  25. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
  27. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  29. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +1 -1
  30. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -1
  31. package/build/components/global-styles/font-sizes/font-size.js +8 -9
  32. package/build/components/global-styles/font-sizes/font-size.js.map +1 -1
  33. package/build/components/global-styles/font-sizes/font-sizes-count.js +1 -1
  34. package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -1
  35. package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -1
  36. package/build/components/global-styles/highlighted-colors.js.map +1 -1
  37. package/build/components/global-styles/palette.js.map +1 -1
  38. package/build/components/global-styles/preset-colors.js.map +1 -1
  39. package/build/components/global-styles/screen-block-list.js +2 -2
  40. package/build/components/global-styles/screen-block-list.js.map +1 -1
  41. package/build/components/global-styles/screen-revisions/index.js +3 -8
  42. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  43. package/build/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  44. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  45. package/build/components/global-styles/screen-style-variations.js +9 -2
  46. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  47. package/build/components/global-styles/shadow-utils.js.map +1 -1
  48. package/build/components/global-styles/shadows-edit-panel.js +17 -5
  49. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  50. package/build/components/global-styles/shadows-panel.js +1 -1
  51. package/build/components/global-styles/shadows-panel.js.map +1 -1
  52. package/build/components/global-styles/style-variations-container.js +1 -5
  53. package/build/components/global-styles/style-variations-container.js.map +1 -1
  54. package/build/components/global-styles/typography-elements.js.map +1 -1
  55. package/build/components/global-styles/typography-preview.js.map +1 -1
  56. package/build/components/global-styles/ui.js +20 -14
  57. package/build/components/global-styles/ui.js.map +1 -1
  58. package/build/components/global-styles/utils.js.map +1 -1
  59. package/build/components/global-styles/variations/variation.js +1 -1
  60. package/build/components/global-styles/variations/variation.js.map +1 -1
  61. package/build/components/global-styles-sidebar/index.js +0 -6
  62. package/build/components/global-styles-sidebar/index.js.map +1 -1
  63. package/build/components/layout/animation.js.map +1 -1
  64. package/build/components/layout/index.js +3 -14
  65. package/build/components/layout/index.js.map +1 -1
  66. package/build/components/page-patterns/delete-category-menu-item.js +1 -1
  67. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
  68. package/build/components/page-patterns/fields.js.map +1 -1
  69. package/build/components/page-patterns/header.js +1 -1
  70. package/build/components/page-patterns/header.js.map +1 -1
  71. package/build/components/page-patterns/index.js +4 -2
  72. package/build/components/page-patterns/index.js.map +1 -1
  73. package/build/components/page-templates/index.js +1 -0
  74. package/build/components/page-templates/index.js.map +1 -1
  75. package/build/components/post-fields/index.js +4 -4
  76. package/build/components/post-fields/index.js.map +1 -1
  77. package/build/components/revisions/index.js.map +1 -1
  78. package/build/components/routes/use-title.js +1 -1
  79. package/build/components/routes/use-title.js.map +1 -1
  80. package/build/components/save-button/index.js +3 -3
  81. package/build/components/save-button/index.js.map +1 -1
  82. package/build/components/save-panel/index.js +1 -1
  83. package/build/components/save-panel/index.js.map +1 -1
  84. package/build/components/sidebar-button/index.js +1 -1
  85. package/build/components/sidebar-button/index.js.map +1 -1
  86. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  87. package/build/components/sidebar-navigation-screen-details-footer/index.js +1 -1
  88. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  89. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  90. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +4 -4
  91. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  92. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +2 -2
  93. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  94. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  95. package/build/components/style-book/constants.js.map +1 -1
  96. package/build/components/style-book/index.js.map +1 -1
  97. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  98. package/build/deprecated.js.map +1 -1
  99. package/build/hooks/commands/use-edit-mode-commands.js +5 -5
  100. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  101. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  102. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -1
  103. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  104. package/build/index.js +2 -4
  105. package/build/index.js.map +1 -1
  106. package/build/posts.js +1 -1
  107. package/build/posts.js.map +1 -1
  108. package/build/store/actions.js.map +1 -1
  109. package/build/store/private-actions.js +0 -1
  110. package/build/store/private-actions.js.map +1 -1
  111. package/build/store/selectors.js.map +1 -1
  112. package/build/utils/get-filtered-template-parts.js.map +1 -1
  113. package/build-module/components/add-new-pattern/index.js +1 -3
  114. package/build-module/components/add-new-pattern/index.js.map +1 -1
  115. package/build-module/components/add-new-post/index.js +1 -2
  116. package/build-module/components/add-new-post/index.js.map +1 -1
  117. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +1 -2
  118. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  119. package/build-module/components/add-new-template/add-custom-template-modal-content.js +1 -3
  120. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  121. package/build-module/components/add-new-template/index.js +1 -3
  122. package/build-module/components/add-new-template/index.js.map +1 -1
  123. package/build-module/components/add-new-template/utils.js.map +1 -1
  124. package/build-module/components/app/index.js +2 -3
  125. package/build-module/components/app/index.js.map +1 -1
  126. package/build-module/components/editor/index.js +1 -4
  127. package/build-module/components/editor/index.js.map +1 -1
  128. package/build-module/components/editor-canvas-container/index.js +1 -2
  129. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  130. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  131. package/build-module/components/global-styles/color-palette-panel.js +1 -2
  132. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  133. package/build-module/components/global-styles/font-families.js +45 -31
  134. package/build-module/components/global-styles/font-families.js.map +1 -1
  135. package/build-module/components/global-styles/font-family-item.js +2 -3
  136. package/build-module/components/global-styles/font-family-item.js.map +1 -1
  137. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +1 -2
  138. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  139. package/build-module/components/global-styles/font-library-modal/context.js +1 -0
  140. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  141. package/build-module/components/global-styles/font-library-modal/font-card.js +2 -3
  142. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
  143. package/build-module/components/global-styles/font-library-modal/font-collection.js +1 -3
  144. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  145. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -2
  146. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  147. package/build-module/components/global-styles/font-library-modal/index.js +1 -2
  148. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  149. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +5 -6
  150. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  151. package/build-module/components/global-styles/font-library-modal/library-font-details.js +1 -3
  152. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  153. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +1 -2
  154. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  155. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  156. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +2 -2
  157. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  158. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
  159. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  160. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  161. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +1 -1
  162. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -1
  163. package/build-module/components/global-styles/font-sizes/font-size.js +9 -12
  164. package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -1
  165. package/build-module/components/global-styles/font-sizes/font-sizes-count.js +2 -3
  166. package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -1
  167. package/build-module/components/global-styles/font-sizes/font-sizes.js +1 -3
  168. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -1
  169. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +1 -2
  170. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -1
  171. package/build-module/components/global-styles/gradients-palette-panel.js +1 -2
  172. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  173. package/build-module/components/global-styles/header.js +1 -2
  174. package/build-module/components/global-styles/header.js.map +1 -1
  175. package/build-module/components/global-styles/highlighted-colors.js.map +1 -1
  176. package/build-module/components/global-styles/navigation-button.js +1 -2
  177. package/build-module/components/global-styles/navigation-button.js.map +1 -1
  178. package/build-module/components/global-styles/palette.js +1 -2
  179. package/build-module/components/global-styles/palette.js.map +1 -1
  180. package/build-module/components/global-styles/preset-colors.js.map +1 -1
  181. package/build-module/components/global-styles/preview-iframe.js +1 -3
  182. package/build-module/components/global-styles/preview-iframe.js.map +1 -1
  183. package/build-module/components/global-styles/preview-styles.js +1 -2
  184. package/build-module/components/global-styles/preview-styles.js.map +1 -1
  185. package/build-module/components/global-styles/root-menu.js +1 -3
  186. package/build-module/components/global-styles/root-menu.js.map +1 -1
  187. package/build-module/components/global-styles/screen-background.js +1 -3
  188. package/build-module/components/global-styles/screen-background.js.map +1 -1
  189. package/build-module/components/global-styles/screen-block-list.js +3 -5
  190. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  191. package/build-module/components/global-styles/screen-block.js +1 -3
  192. package/build-module/components/global-styles/screen-block.js.map +1 -1
  193. package/build-module/components/global-styles/screen-color-palette.js +1 -3
  194. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  195. package/build-module/components/global-styles/screen-colors.js +1 -3
  196. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  197. package/build-module/components/global-styles/screen-css.js +1 -3
  198. package/build-module/components/global-styles/screen-css.js.map +1 -1
  199. package/build-module/components/global-styles/screen-layout.js +1 -3
  200. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  201. package/build-module/components/global-styles/screen-revisions/index.js +5 -12
  202. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  203. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +2 -3
  204. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  205. package/build-module/components/global-styles/screen-root.js +1 -3
  206. package/build-module/components/global-styles/screen-root.js.map +1 -1
  207. package/build-module/components/global-styles/screen-style-variations.js +10 -5
  208. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  209. package/build-module/components/global-styles/screen-typography-element.js +1 -3
  210. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  211. package/build-module/components/global-styles/screen-typography.js +1 -3
  212. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  213. package/build-module/components/global-styles/shadow-utils.js.map +1 -1
  214. package/build-module/components/global-styles/shadows-edit-panel.js +19 -9
  215. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  216. package/build-module/components/global-styles/shadows-panel.js +2 -4
  217. package/build-module/components/global-styles/shadows-panel.js.map +1 -1
  218. package/build-module/components/global-styles/size-control/index.js +1 -2
  219. package/build-module/components/global-styles/size-control/index.js.map +1 -1
  220. package/build-module/components/global-styles/style-variations-container.js +2 -6
  221. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  222. package/build-module/components/global-styles/typeset.js +3 -5
  223. package/build-module/components/global-styles/typeset.js.map +1 -1
  224. package/build-module/components/global-styles/typography-elements.js +1 -2
  225. package/build-module/components/global-styles/typography-elements.js.map +1 -1
  226. package/build-module/components/global-styles/typography-example.js +1 -2
  227. package/build-module/components/global-styles/typography-example.js.map +1 -1
  228. package/build-module/components/global-styles/typography-preview.js.map +1 -1
  229. package/build-module/components/global-styles/ui.js +21 -17
  230. package/build-module/components/global-styles/ui.js.map +1 -1
  231. package/build-module/components/global-styles/utils.js.map +1 -1
  232. package/build-module/components/global-styles/variations/variation.js +1 -1
  233. package/build-module/components/global-styles/variations/variation.js.map +1 -1
  234. package/build-module/components/global-styles/variations/variations-color.js +1 -2
  235. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  236. package/build-module/components/global-styles/variations/variations-typography.js +1 -2
  237. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  238. package/build-module/components/global-styles-sidebar/default-sidebar.js +1 -3
  239. package/build-module/components/global-styles-sidebar/default-sidebar.js.map +1 -1
  240. package/build-module/components/global-styles-sidebar/index.js +2 -9
  241. package/build-module/components/global-styles-sidebar/index.js.map +1 -1
  242. package/build-module/components/layout/animation.js.map +1 -1
  243. package/build-module/components/layout/index.js +4 -17
  244. package/build-module/components/layout/index.js.map +1 -1
  245. package/build-module/components/more-menu/index.js +1 -3
  246. package/build-module/components/more-menu/index.js.map +1 -1
  247. package/build-module/components/page/header.js +1 -2
  248. package/build-module/components/page/header.js.map +1 -1
  249. package/build-module/components/page/index.js +1 -2
  250. package/build-module/components/page/index.js.map +1 -1
  251. package/build-module/components/page-patterns/delete-category-menu-item.js +2 -4
  252. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
  253. package/build-module/components/page-patterns/fields.js +1 -2
  254. package/build-module/components/page-patterns/fields.js.map +1 -1
  255. package/build-module/components/page-patterns/header.js +2 -3
  256. package/build-module/components/page-patterns/header.js.map +1 -1
  257. package/build-module/components/page-patterns/index.js +5 -4
  258. package/build-module/components/page-patterns/index.js.map +1 -1
  259. package/build-module/components/page-patterns/rename-category-menu-item.js +1 -3
  260. package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -1
  261. package/build-module/components/page-templates/fields.js +1 -2
  262. package/build-module/components/page-templates/fields.js.map +1 -1
  263. package/build-module/components/page-templates/index.js +1 -0
  264. package/build-module/components/page-templates/index.js.map +1 -1
  265. package/build-module/components/pagination/index.js +1 -2
  266. package/build-module/components/pagination/index.js.map +1 -1
  267. package/build-module/components/post-edit/index.js +1 -2
  268. package/build-module/components/post-edit/index.js.map +1 -1
  269. package/build-module/components/post-fields/index.js +5 -6
  270. package/build-module/components/post-fields/index.js.map +1 -1
  271. package/build-module/components/post-list/index.js +1 -3
  272. package/build-module/components/post-list/index.js.map +1 -1
  273. package/build-module/components/posts-app/index.js +1 -2
  274. package/build-module/components/posts-app/index.js.map +1 -1
  275. package/build-module/components/resizable-frame/index.js +1 -3
  276. package/build-module/components/resizable-frame/index.js.map +1 -1
  277. package/build-module/components/revisions/index.js +1 -2
  278. package/build-module/components/revisions/index.js.map +1 -1
  279. package/build-module/components/routes/use-title.js +1 -1
  280. package/build-module/components/routes/use-title.js.map +1 -1
  281. package/build-module/components/save-button/index.js +3 -3
  282. package/build-module/components/save-button/index.js.map +1 -1
  283. package/build-module/components/save-panel/index.js +2 -3
  284. package/build-module/components/save-panel/index.js.map +1 -1
  285. package/build-module/components/sidebar-button/index.js +1 -1
  286. package/build-module/components/sidebar-button/index.js.map +1 -1
  287. package/build-module/components/sidebar-dataviews/add-new-view.js +1 -3
  288. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  289. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +1 -3
  290. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  291. package/build-module/components/sidebar-dataviews/dataview-item.js +1 -2
  292. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  293. package/build-module/components/sidebar-dataviews/index.js +1 -3
  294. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  295. package/build-module/components/sidebar-navigation-item/index.js +1 -2
  296. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  297. package/build-module/components/sidebar-navigation-screen/index.js +1 -3
  298. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  299. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +2 -3
  300. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  301. package/build-module/components/sidebar-navigation-screen-details-panel/index.js +1 -2
  302. package/build-module/components/sidebar-navigation-screen-details-panel/index.js.map +1 -1
  303. package/build-module/components/sidebar-navigation-screen-global-styles/content.js +1 -2
  304. package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -1
  305. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -3
  306. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  307. package/build-module/components/sidebar-navigation-screen-main/index.js +1 -3
  308. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  309. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  310. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -3
  311. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  312. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +1 -2
  313. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  314. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +1 -2
  315. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  316. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +4 -4
  317. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  318. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +3 -5
  319. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  320. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -3
  321. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  322. package/build-module/components/sidebar-navigation-screen-patterns/index.js +1 -3
  323. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  324. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +1 -2
  325. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  326. package/build-module/components/site-hub/index.js +1 -2
  327. package/build-module/components/site-hub/index.js.map +1 -1
  328. package/build-module/components/style-book/constants.js.map +1 -1
  329. package/build-module/components/style-book/index.js +1 -2
  330. package/build-module/components/style-book/index.js.map +1 -1
  331. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  332. package/build-module/components/welcome-guide/editor.js +1 -3
  333. package/build-module/components/welcome-guide/editor.js.map +1 -1
  334. package/build-module/components/welcome-guide/image.js +1 -2
  335. package/build-module/components/welcome-guide/image.js.map +1 -1
  336. package/build-module/components/welcome-guide/index.js +1 -3
  337. package/build-module/components/welcome-guide/index.js.map +1 -1
  338. package/build-module/components/welcome-guide/page.js +1 -3
  339. package/build-module/components/welcome-guide/page.js.map +1 -1
  340. package/build-module/components/welcome-guide/styles.js +1 -3
  341. package/build-module/components/welcome-guide/styles.js.map +1 -1
  342. package/build-module/components/welcome-guide/template.js +1 -3
  343. package/build-module/components/welcome-guide/template.js.map +1 -1
  344. package/build-module/deprecated.js.map +1 -1
  345. package/build-module/hooks/commands/use-edit-mode-commands.js +5 -5
  346. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  347. package/build-module/hooks/push-changes-to-global-styles/index.js +1 -3
  348. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  349. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -1
  350. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  351. package/build-module/index.js +2 -4
  352. package/build-module/index.js.map +1 -1
  353. package/build-module/posts.js +1 -1
  354. package/build-module/posts.js.map +1 -1
  355. package/build-module/store/actions.js.map +1 -1
  356. package/build-module/store/private-actions.js +0 -1
  357. package/build-module/store/private-actions.js.map +1 -1
  358. package/build-module/store/selectors.js.map +1 -1
  359. package/build-module/utils/get-filtered-template-parts.js.map +1 -1
  360. package/build-style/posts-rtl.css +34 -37
  361. package/build-style/posts.css +34 -37
  362. package/build-style/style-rtl.css +38 -39
  363. package/build-style/style.css +38 -39
  364. package/package.json +42 -42
  365. package/src/components/editor/index.js +0 -1
  366. package/src/components/global-styles/font-families.js +51 -35
  367. package/src/components/global-styles/font-sizes/font-size.js +9 -6
  368. package/src/components/global-styles/font-sizes/font-sizes-count.js +1 -1
  369. package/src/components/global-styles/screen-block-list.js +1 -1
  370. package/src/components/global-styles/screen-revisions/index.js +2 -11
  371. package/src/components/global-styles/screen-style-variations.js +7 -2
  372. package/src/components/global-styles/shadows-edit-panel.js +21 -5
  373. package/src/components/global-styles/style-variations-container.js +2 -7
  374. package/src/components/global-styles/ui.js +18 -12
  375. package/src/components/global-styles-sidebar/index.js +1 -11
  376. package/src/components/layout/index.js +7 -23
  377. package/src/components/page-patterns/index.js +3 -2
  378. package/src/components/sidebar-button/index.js +1 -1
  379. package/src/components/sidebar-button/style.scss +2 -2
  380. package/src/components/sidebar-navigation-screen/style.scss +5 -1
  381. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -1
  382. package/src/index.js +1 -5
  383. package/src/store/private-actions.js +0 -3
@@ -33,9 +33,6 @@ const {
33
33
  } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
34
34
  const PAGE_SIZE = 10;
35
35
  function ScreenRevisions() {
36
- const {
37
- goTo
38
- } = (0, _components.useNavigator)();
39
36
  const {
40
37
  user: currentEditorGlobalStyles,
41
38
  setUserConfig
@@ -67,6 +64,9 @@ function ScreenRevisions() {
67
64
  setEditorCanvasContainerView
68
65
  } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
69
66
  const selectedRevisionMatchesEditorStyles = areGlobalStyleConfigsEqual(currentlySelectedRevision, currentEditorGlobalStyles);
67
+
68
+ // The actual code that triggers the revisions screen to navigate back
69
+ // to the home screen in in `packages/edit-site/src/components/global-styles/ui.js`.
70
70
  const onCloseRevisions = () => {
71
71
  const canvasContainerView = editorCanvasContainerView === 'global-styles-revisions:style-book' ? 'style-book' : undefined;
72
72
  setEditorCanvasContainerView(canvasContainerView);
@@ -76,11 +76,6 @@ function ScreenRevisions() {
76
76
  setIsLoadingRevisionWithUnsavedChanges(false);
77
77
  onCloseRevisions();
78
78
  };
79
- (0, _element.useEffect)(() => {
80
- if (!editorCanvasContainerView || !editorCanvasContainerView.startsWith('global-styles-revisions')) {
81
- goTo('/'); // Return to global styles main panel.
82
- }
83
- }, [editorCanvasContainerView]);
84
79
  (0, _element.useEffect)(() => {
85
80
  if (!isLoading && revisions.length) {
86
81
  setCurrentRevisions(revisions);
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_data","_element","_blockEditor","_header","_interopRequireDefault","_lockUnlock","_revisions","_store","_useGlobalStylesRevisions","_revisionsButtons","_styleBook","_pagination","_jsxRuntime","GlobalStylesContext","areGlobalStyleConfigsEqual","unlock","blockEditorPrivateApis","PAGE_SIZE","ScreenRevisions","goTo","useNavigator","user","currentEditorGlobalStyles","setUserConfig","useContext","blocks","editorCanvasContainerView","useSelect","select","editSiteStore","getEditorCanvasContainerView","blockEditorStore","getBlocks","currentPage","setCurrentPage","useState","currentRevisions","setCurrentRevisions","revisions","isLoading","hasUnsavedChanges","revisionsCount","useGlobalStylesRevisions","query","per_page","page","numPages","Math","ceil","currentlySelectedRevision","setCurrentlySelectedRevision","isLoadingRevisionWithUnsavedChanges","setIsLoadingRevisionWithUnsavedChanges","setEditorCanvasContainerView","useDispatch","selectedRevisionMatchesEditorStyles","onCloseRevisions","canvasContainerView","undefined","restoreRevision","revision","useEffect","startsWith","length","firstRevision","currentlySelectedRevisionId","id","shouldSelectFirstItem","isLoadButtonEnabled","hasRevisions","jsxs","Fragment","children","jsx","default","title","sprintf","__","description","onBack","Spinner","className","userConfig","isSelected","onClose","closeButtonLabel","onChange","selectedRevisionId","userRevisions","canApplyRevision","onApplyRevision","changePage","totalItems","disabled","label","__experimentalConfirmDialog","isOpen","confirmButtonText","onConfirm","onCancel","size","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tuseNavigator,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext, useState, useEffect } from '@wordpress/element';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from '../header';\nimport { unlock } from '../../../lock-unlock';\nimport Revisions from '../../revisions';\nimport { store as editSiteStore } from '../../../store';\nimport useGlobalStylesRevisions from './use-global-styles-revisions';\nimport RevisionsButtons from './revisions-buttons';\nimport StyleBook from '../../style-book';\nimport Pagination from '../../pagination';\n\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst PAGE_SIZE = 10;\n\nfunction ScreenRevisions() {\n\tconst { goTo } = useNavigator();\n\tconst { user: currentEditorGlobalStyles, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\tconst { blocks, editorCanvasContainerView } = useSelect(\n\t\t( select ) => ( {\n\t\t\teditorCanvasContainerView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\tblocks: select( blockEditorStore ).getBlocks(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst [ currentPage, setCurrentPage ] = useState( 1 );\n\tconst [ currentRevisions, setCurrentRevisions ] = useState( [] );\n\tconst { revisions, isLoading, hasUnsavedChanges, revisionsCount } =\n\t\tuseGlobalStylesRevisions( {\n\t\t\tquery: {\n\t\t\t\tper_page: PAGE_SIZE,\n\t\t\t\tpage: currentPage,\n\t\t\t},\n\t\t} );\n\n\tconst numPages = Math.ceil( revisionsCount / PAGE_SIZE );\n\n\tconst [ currentlySelectedRevision, setCurrentlySelectedRevision ] =\n\t\tuseState( currentEditorGlobalStyles );\n\tconst [\n\t\tisLoadingRevisionWithUnsavedChanges,\n\t\tsetIsLoadingRevisionWithUnsavedChanges,\n\t] = useState( false );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst selectedRevisionMatchesEditorStyles = areGlobalStyleConfigsEqual(\n\t\tcurrentlySelectedRevision,\n\t\tcurrentEditorGlobalStyles\n\t);\n\n\tconst onCloseRevisions = () => {\n\t\tconst canvasContainerView =\n\t\t\teditorCanvasContainerView === 'global-styles-revisions:style-book'\n\t\t\t\t? 'style-book'\n\t\t\t\t: undefined;\n\t\tsetEditorCanvasContainerView( canvasContainerView );\n\t};\n\n\tconst restoreRevision = ( revision ) => {\n\t\tsetUserConfig( () => revision );\n\t\tsetIsLoadingRevisionWithUnsavedChanges( false );\n\t\tonCloseRevisions();\n\t};\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! editorCanvasContainerView ||\n\t\t\t! editorCanvasContainerView.startsWith( 'global-styles-revisions' )\n\t\t) {\n\t\t\tgoTo( '/' ); // Return to global styles main panel.\n\t\t}\n\t}, [ editorCanvasContainerView ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isLoading && revisions.length ) {\n\t\t\tsetCurrentRevisions( revisions );\n\t\t}\n\t}, [ revisions, isLoading ] );\n\n\tconst firstRevision = revisions[ 0 ];\n\tconst currentlySelectedRevisionId = currentlySelectedRevision?.id;\n\tconst shouldSelectFirstItem =\n\t\t!! firstRevision?.id &&\n\t\t! selectedRevisionMatchesEditorStyles &&\n\t\t! currentlySelectedRevisionId;\n\n\tuseEffect( () => {\n\t\t/*\n\t\t * Ensure that the first item is selected and loaded into the preview pane\n\t\t * when no revision is selected and the selected styles don't match the current editor styles.\n\t\t * This is required in case editor styles are changed outside the revisions panel,\n\t\t * e.g., via the reset styles function of useGlobalStylesReset().\n\t\t * See: https://github.com/WordPress/gutenberg/issues/55866\n\t\t */\n\t\tif ( shouldSelectFirstItem ) {\n\t\t\tsetCurrentlySelectedRevision( firstRevision );\n\t\t}\n\t}, [ shouldSelectFirstItem, firstRevision ] );\n\n\t// Only display load button if there is a revision to load,\n\t// and it is different from the current editor styles.\n\tconst isLoadButtonEnabled =\n\t\t!! currentlySelectedRevisionId &&\n\t\tcurrentlySelectedRevisionId !== 'unsaved' &&\n\t\t! selectedRevisionMatchesEditorStyles;\n\tconst hasRevisions = !! currentRevisions.length;\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={\n\t\t\t\t\trevisionsCount &&\n\t\t\t\t\t// translators: %s: number of revisions.\n\t\t\t\t\tsprintf( __( 'Revisions (%s)' ), revisionsCount )\n\t\t\t\t}\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Click on previously saved styles to preview them. To restore a selected version to the editor, hit \"Apply.\" When you\\'re ready, use the Save button to save your changes.'\n\t\t\t\t) }\n\t\t\t\tonBack={ onCloseRevisions }\n\t\t\t/>\n\t\t\t{ ! hasRevisions && (\n\t\t\t\t<Spinner className=\"edit-site-global-styles-screen-revisions__loading\" />\n\t\t\t) }\n\t\t\t{ hasRevisions &&\n\t\t\t\t( editorCanvasContainerView ===\n\t\t\t\t'global-styles-revisions:style-book' ? (\n\t\t\t\t\t<StyleBook\n\t\t\t\t\t\tuserConfig={ currentlySelectedRevision }\n\t\t\t\t\t\tisSelected={ () => {} }\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetEditorCanvasContainerView(\n\t\t\t\t\t\t\t\t'global-styles-revisions'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<Revisions\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tuserConfig={ currentlySelectedRevision }\n\t\t\t\t\t\tcloseButtonLabel={ __( 'Close revisions' ) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t<RevisionsButtons\n\t\t\t\tonChange={ setCurrentlySelectedRevision }\n\t\t\t\tselectedRevisionId={ currentlySelectedRevisionId }\n\t\t\t\tuserRevisions={ currentRevisions }\n\t\t\t\tcanApplyRevision={ isLoadButtonEnabled }\n\t\t\t\tonApplyRevision={ () =>\n\t\t\t\t\thasUnsavedChanges\n\t\t\t\t\t\t? setIsLoadingRevisionWithUnsavedChanges( true )\n\t\t\t\t\t\t: restoreRevision( currentlySelectedRevision )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ numPages > 1 && (\n\t\t\t\t<div className=\"edit-site-global-styles-screen-revisions__footer\">\n\t\t\t\t\t<Pagination\n\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__pagination\"\n\t\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\t\tnumPages={ numPages }\n\t\t\t\t\t\tchangePage={ setCurrentPage }\n\t\t\t\t\t\ttotalItems={ revisionsCount }\n\t\t\t\t\t\tdisabled={ isLoading }\n\t\t\t\t\t\tlabel={ __( 'Global Styles pagination navigation' ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ isLoadingRevisionWithUnsavedChanges && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen={ isLoadingRevisionWithUnsavedChanges }\n\t\t\t\t\tconfirmButtonText={ __( 'Apply' ) }\n\t\t\t\t\tonConfirm={ () =>\n\t\t\t\t\t\trestoreRevision( currentlySelectedRevision )\n\t\t\t\t\t}\n\t\t\t\t\tonCancel={ () =>\n\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges( false )\n\t\t\t\t\t}\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Are you sure you want to apply this revision? Any unsaved changes will be lost.'\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenRevisions;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAQA,IAAAK,OAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAF,sBAAA,CAAAN,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,yBAAA,GAAAJ,sBAAA,CAAAN,OAAA;AACA,IAAAW,iBAAA,GAAAL,sBAAA,CAAAN,OAAA;AACA,IAAAY,UAAA,GAAAN,sBAAA,CAAAN,OAAA;AACA,IAAAa,WAAA,GAAAP,sBAAA,CAAAN,OAAA;AAA0C,IAAAc,WAAA,GAAAd,OAAA;AA1B1C;AACA;AACA;;AAcA;AACA;AACA;;AAUA,MAAM;EAAEe,mBAAmB;EAAEC;AAA2B,CAAC,GAAG,IAAAC,kBAAM,EACjEC,wBACD,CAAC;AAED,MAAMC,SAAS,GAAG,EAAE;AAEpB,SAASC,eAAeA,CAAA,EAAG;EAC1B,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,wBAAY,EAAC,CAAC;EAC/B,MAAM;IAAEC,IAAI,EAAEC,yBAAyB;IAAEC;EAAc,CAAC,GACvD,IAAAC,mBAAU,EAAEX,mBAAoB,CAAC;EAClC,MAAM;IAAEY,MAAM;IAAEC;EAA0B,CAAC,GAAG,IAAAC,eAAS,EACpDC,MAAM,KAAQ;IACfF,yBAAyB,EAAE,IAAAX,kBAAM,EAChCa,MAAM,CAAEC,YAAc,CACvB,CAAC,CAACC,4BAA4B,CAAC,CAAC;IAChCL,MAAM,EAAEG,MAAM,CAAEG,kBAAiB,CAAC,CAACC,SAAS,CAAC;EAC9C,CAAC,CAAE,EACH,EACD,CAAC;EACD,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAG,IAAAC,iBAAQ,EAAE,CAAE,CAAC;EACrD,MAAM,CAAEC,gBAAgB,EAAEC,mBAAmB,CAAE,GAAG,IAAAF,iBAAQ,EAAE,EAAG,CAAC;EAChE,MAAM;IAAEG,SAAS;IAAEC,SAAS;IAAEC,iBAAiB;IAAEC;EAAe,CAAC,GAChE,IAAAC,iCAAwB,EAAE;IACzBC,KAAK,EAAE;MACNC,QAAQ,EAAE3B,SAAS;MACnB4B,IAAI,EAAEZ;IACP;EACD,CAAE,CAAC;EAEJ,MAAMa,QAAQ,GAAGC,IAAI,CAACC,IAAI,CAAEP,cAAc,GAAGxB,SAAU,CAAC;EAExD,MAAM,CAAEgC,yBAAyB,EAAEC,4BAA4B,CAAE,GAChE,IAAAf,iBAAQ,EAAEb,yBAA0B,CAAC;EACtC,MAAM,CACL6B,mCAAmC,EACnCC,sCAAsC,CACtC,GAAG,IAAAjB,iBAAQ,EAAE,KAAM,CAAC;EACrB,MAAM;IAAEkB;EAA6B,CAAC,GAAG,IAAAtC,kBAAM,EAC9C,IAAAuC,iBAAW,EAAEzB,YAAc,CAC5B,CAAC;EACD,MAAM0B,mCAAmC,GAAGzC,0BAA0B,CACrEmC,yBAAyB,EACzB3B,yBACD,CAAC;EAED,MAAMkC,gBAAgB,GAAGA,CAAA,KAAM;IAC9B,MAAMC,mBAAmB,GACxB/B,yBAAyB,KAAK,oCAAoC,GAC/D,YAAY,GACZgC,SAAS;IACbL,4BAA4B,CAAEI,mBAAoB,CAAC;EACpD,CAAC;EAED,MAAME,eAAe,GAAKC,QAAQ,IAAM;IACvCrC,aAAa,CAAE,MAAMqC,QAAS,CAAC;IAC/BR,sCAAsC,CAAE,KAAM,CAAC;IAC/CI,gBAAgB,CAAC,CAAC;EACnB,CAAC;EAED,IAAAK,kBAAS,EAAE,MAAM;IAChB,IACC,CAAEnC,yBAAyB,IAC3B,CAAEA,yBAAyB,CAACoC,UAAU,CAAE,yBAA0B,CAAC,EAClE;MACD3C,IAAI,CAAE,GAAI,CAAC,CAAC,CAAC;IACd;EACD,CAAC,EAAE,CAAEO,yBAAyB,CAAG,CAAC;EAElC,IAAAmC,kBAAS,EAAE,MAAM;IAChB,IAAK,CAAEtB,SAAS,IAAID,SAAS,CAACyB,MAAM,EAAG;MACtC1B,mBAAmB,CAAEC,SAAU,CAAC;IACjC;EACD,CAAC,EAAE,CAAEA,SAAS,EAAEC,SAAS,CAAG,CAAC;EAE7B,MAAMyB,aAAa,GAAG1B,SAAS,CAAE,CAAC,CAAE;EACpC,MAAM2B,2BAA2B,GAAGhB,yBAAyB,EAAEiB,EAAE;EACjE,MAAMC,qBAAqB,GAC1B,CAAC,CAAEH,aAAa,EAAEE,EAAE,IACpB,CAAEX,mCAAmC,IACrC,CAAEU,2BAA2B;EAE9B,IAAAJ,kBAAS,EAAE,MAAM;IAChB;AACF;AACA;AACA;AACA;AACA;AACA;IACE,IAAKM,qBAAqB,EAAG;MAC5BjB,4BAA4B,CAAEc,aAAc,CAAC;IAC9C;EACD,CAAC,EAAE,CAAEG,qBAAqB,EAAEH,aAAa,CAAG,CAAC;;EAE7C;EACA;EACA,MAAMI,mBAAmB,GACxB,CAAC,CAAEH,2BAA2B,IAC9BA,2BAA2B,KAAK,SAAS,IACzC,CAAEV,mCAAmC;EACtC,MAAMc,YAAY,GAAG,CAAC,CAAEjC,gBAAgB,CAAC2B,MAAM;EAE/C,oBACC,IAAAnD,WAAA,CAAA0D,IAAA,EAAA1D,WAAA,CAAA2D,QAAA;IAAAC,QAAA,gBACC,IAAA5D,WAAA,CAAA6D,GAAA,EAACtE,OAAA,CAAAuE,OAAY;MACZC,KAAK,EACJlC,cAAc;MACd;MACA,IAAAmC,aAAO,EAAE,IAAAC,QAAE,EAAE,gBAAiB,CAAC,EAAEpC,cAAe,CAChD;MACDqC,WAAW,EAAG,IAAAD,QAAE,EACf,2KACD,CAAG;MACHE,MAAM,EAAGvB;IAAkB,CAC3B,CAAC,EACA,CAAEa,YAAY,iBACf,IAAAzD,WAAA,CAAA6D,GAAA,EAAC1E,WAAA,CAAAiF,OAAO;MAACC,SAAS,EAAC;IAAmD,CAAE,CACxE,EACCZ,YAAY,KACX3C,yBAAyB,KAC3B,oCAAoC,gBACnC,IAAAd,WAAA,CAAA6D,GAAA,EAAC/D,UAAA,CAAAgE,OAAS;MACTQ,UAAU,EAAGjC,yBAA2B;MACxCkC,UAAU,EAAGA,CAAA,KAAM,CAAC,CAAG;MACvBC,OAAO,EAAGA,CAAA,KAAM;QACf/B,4BAA4B,CAC3B,yBACD,CAAC;MACF;IAAG,CACH,CAAC,gBAEF,IAAAzC,WAAA,CAAA6D,GAAA,EAACnE,UAAA,CAAAoE,OAAS;MACTjD,MAAM,EAAGA,MAAQ;MACjByD,UAAU,EAAGjC,yBAA2B;MACxCoC,gBAAgB,EAAG,IAAAR,QAAE,EAAE,iBAAkB;IAAG,CAC5C,CACD,CAAE,eACJ,IAAAjE,WAAA,CAAA6D,GAAA,EAAChE,iBAAA,CAAAiE,OAAgB;MAChBY,QAAQ,EAAGpC,4BAA8B;MACzCqC,kBAAkB,EAAGtB,2BAA6B;MAClDuB,aAAa,EAAGpD,gBAAkB;MAClCqD,gBAAgB,EAAGrB,mBAAqB;MACxCsB,eAAe,EAAGA,CAAA,KACjBlD,iBAAiB,GACdY,sCAAsC,CAAE,IAAK,CAAC,GAC9CO,eAAe,CAAEV,yBAA0B;IAC9C,CACD,CAAC,EACAH,QAAQ,GAAG,CAAC,iBACb,IAAAlC,WAAA,CAAA6D,GAAA;MAAKQ,SAAS,EAAC,kDAAkD;MAAAT,QAAA,eAChE,IAAA5D,WAAA,CAAA6D,GAAA,EAAC9D,WAAA,CAAA+D,OAAU;QACVO,SAAS,EAAC,sDAAsD;QAChEhD,WAAW,EAAGA,WAAa;QAC3Ba,QAAQ,EAAGA,QAAU;QACrB6C,UAAU,EAAGzD,cAAgB;QAC7B0D,UAAU,EAAGnD,cAAgB;QAC7BoD,QAAQ,EAAGtD,SAAW;QACtBuD,KAAK,EAAG,IAAAjB,QAAE,EAAE,qCAAsC;MAAG,CACrD;IAAC,CACE,CACL,EACC1B,mCAAmC,iBACpC,IAAAvC,WAAA,CAAA6D,GAAA,EAAC1E,WAAA,CAAAgG,2BAAa;MACbC,MAAM,EAAG7C,mCAAqC;MAC9C8C,iBAAiB,EAAG,IAAApB,QAAE,EAAE,OAAQ,CAAG;MACnCqB,SAAS,EAAGA,CAAA,KACXvC,eAAe,CAAEV,yBAA0B,CAC3C;MACDkD,QAAQ,EAAGA,CAAA,KACV/C,sCAAsC,CAAE,KAAM,CAC9C;MACDgD,IAAI,EAAC,QAAQ;MAAA5B,QAAA,EAEX,IAAAK,QAAE,EACH,iFACD;IAAC,CACa,CACf;EAAA,CACA,CAAC;AAEL;AAAC,IAAAwB,QAAA,GAAAC,OAAA,CAAA5B,OAAA,GAEcxD,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_data","_element","_blockEditor","_header","_interopRequireDefault","_lockUnlock","_revisions","_store","_useGlobalStylesRevisions","_revisionsButtons","_styleBook","_pagination","_jsxRuntime","GlobalStylesContext","areGlobalStyleConfigsEqual","unlock","blockEditorPrivateApis","PAGE_SIZE","ScreenRevisions","user","currentEditorGlobalStyles","setUserConfig","useContext","blocks","editorCanvasContainerView","useSelect","select","editSiteStore","getEditorCanvasContainerView","blockEditorStore","getBlocks","currentPage","setCurrentPage","useState","currentRevisions","setCurrentRevisions","revisions","isLoading","hasUnsavedChanges","revisionsCount","useGlobalStylesRevisions","query","per_page","page","numPages","Math","ceil","currentlySelectedRevision","setCurrentlySelectedRevision","isLoadingRevisionWithUnsavedChanges","setIsLoadingRevisionWithUnsavedChanges","setEditorCanvasContainerView","useDispatch","selectedRevisionMatchesEditorStyles","onCloseRevisions","canvasContainerView","undefined","restoreRevision","revision","useEffect","length","firstRevision","currentlySelectedRevisionId","id","shouldSelectFirstItem","isLoadButtonEnabled","hasRevisions","jsxs","Fragment","children","jsx","default","title","sprintf","__","description","onBack","Spinner","className","userConfig","isSelected","onClose","closeButtonLabel","onChange","selectedRevisionId","userRevisions","canApplyRevision","onApplyRevision","changePage","totalItems","disabled","label","__experimentalConfirmDialog","isOpen","confirmButtonText","onConfirm","onCancel","size","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tSpinner,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useContext, useState, useEffect } from '@wordpress/element';\nimport {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from '../header';\nimport { unlock } from '../../../lock-unlock';\nimport Revisions from '../../revisions';\nimport { store as editSiteStore } from '../../../store';\nimport useGlobalStylesRevisions from './use-global-styles-revisions';\nimport RevisionsButtons from './revisions-buttons';\nimport StyleBook from '../../style-book';\nimport Pagination from '../../pagination';\n\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst PAGE_SIZE = 10;\n\nfunction ScreenRevisions() {\n\tconst { user: currentEditorGlobalStyles, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\tconst { blocks, editorCanvasContainerView } = useSelect(\n\t\t( select ) => ( {\n\t\t\teditorCanvasContainerView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\tblocks: select( blockEditorStore ).getBlocks(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst [ currentPage, setCurrentPage ] = useState( 1 );\n\tconst [ currentRevisions, setCurrentRevisions ] = useState( [] );\n\tconst { revisions, isLoading, hasUnsavedChanges, revisionsCount } =\n\t\tuseGlobalStylesRevisions( {\n\t\t\tquery: {\n\t\t\t\tper_page: PAGE_SIZE,\n\t\t\t\tpage: currentPage,\n\t\t\t},\n\t\t} );\n\n\tconst numPages = Math.ceil( revisionsCount / PAGE_SIZE );\n\n\tconst [ currentlySelectedRevision, setCurrentlySelectedRevision ] =\n\t\tuseState( currentEditorGlobalStyles );\n\tconst [\n\t\tisLoadingRevisionWithUnsavedChanges,\n\t\tsetIsLoadingRevisionWithUnsavedChanges,\n\t] = useState( false );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst selectedRevisionMatchesEditorStyles = areGlobalStyleConfigsEqual(\n\t\tcurrentlySelectedRevision,\n\t\tcurrentEditorGlobalStyles\n\t);\n\n\t// The actual code that triggers the revisions screen to navigate back\n\t// to the home screen in in `packages/edit-site/src/components/global-styles/ui.js`.\n\tconst onCloseRevisions = () => {\n\t\tconst canvasContainerView =\n\t\t\teditorCanvasContainerView === 'global-styles-revisions:style-book'\n\t\t\t\t? 'style-book'\n\t\t\t\t: undefined;\n\t\tsetEditorCanvasContainerView( canvasContainerView );\n\t};\n\n\tconst restoreRevision = ( revision ) => {\n\t\tsetUserConfig( () => revision );\n\t\tsetIsLoadingRevisionWithUnsavedChanges( false );\n\t\tonCloseRevisions();\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! isLoading && revisions.length ) {\n\t\t\tsetCurrentRevisions( revisions );\n\t\t}\n\t}, [ revisions, isLoading ] );\n\n\tconst firstRevision = revisions[ 0 ];\n\tconst currentlySelectedRevisionId = currentlySelectedRevision?.id;\n\tconst shouldSelectFirstItem =\n\t\t!! firstRevision?.id &&\n\t\t! selectedRevisionMatchesEditorStyles &&\n\t\t! currentlySelectedRevisionId;\n\n\tuseEffect( () => {\n\t\t/*\n\t\t * Ensure that the first item is selected and loaded into the preview pane\n\t\t * when no revision is selected and the selected styles don't match the current editor styles.\n\t\t * This is required in case editor styles are changed outside the revisions panel,\n\t\t * e.g., via the reset styles function of useGlobalStylesReset().\n\t\t * See: https://github.com/WordPress/gutenberg/issues/55866\n\t\t */\n\t\tif ( shouldSelectFirstItem ) {\n\t\t\tsetCurrentlySelectedRevision( firstRevision );\n\t\t}\n\t}, [ shouldSelectFirstItem, firstRevision ] );\n\n\t// Only display load button if there is a revision to load,\n\t// and it is different from the current editor styles.\n\tconst isLoadButtonEnabled =\n\t\t!! currentlySelectedRevisionId &&\n\t\tcurrentlySelectedRevisionId !== 'unsaved' &&\n\t\t! selectedRevisionMatchesEditorStyles;\n\tconst hasRevisions = !! currentRevisions.length;\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={\n\t\t\t\t\trevisionsCount &&\n\t\t\t\t\t// translators: %s: number of revisions.\n\t\t\t\t\tsprintf( __( 'Revisions (%s)' ), revisionsCount )\n\t\t\t\t}\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Click on previously saved styles to preview them. To restore a selected version to the editor, hit \"Apply.\" When you\\'re ready, use the Save button to save your changes.'\n\t\t\t\t) }\n\t\t\t\tonBack={ onCloseRevisions }\n\t\t\t/>\n\t\t\t{ ! hasRevisions && (\n\t\t\t\t<Spinner className=\"edit-site-global-styles-screen-revisions__loading\" />\n\t\t\t) }\n\t\t\t{ hasRevisions &&\n\t\t\t\t( editorCanvasContainerView ===\n\t\t\t\t'global-styles-revisions:style-book' ? (\n\t\t\t\t\t<StyleBook\n\t\t\t\t\t\tuserConfig={ currentlySelectedRevision }\n\t\t\t\t\t\tisSelected={ () => {} }\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetEditorCanvasContainerView(\n\t\t\t\t\t\t\t\t'global-styles-revisions'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<Revisions\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tuserConfig={ currentlySelectedRevision }\n\t\t\t\t\t\tcloseButtonLabel={ __( 'Close revisions' ) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t<RevisionsButtons\n\t\t\t\tonChange={ setCurrentlySelectedRevision }\n\t\t\t\tselectedRevisionId={ currentlySelectedRevisionId }\n\t\t\t\tuserRevisions={ currentRevisions }\n\t\t\t\tcanApplyRevision={ isLoadButtonEnabled }\n\t\t\t\tonApplyRevision={ () =>\n\t\t\t\t\thasUnsavedChanges\n\t\t\t\t\t\t? setIsLoadingRevisionWithUnsavedChanges( true )\n\t\t\t\t\t\t: restoreRevision( currentlySelectedRevision )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ numPages > 1 && (\n\t\t\t\t<div className=\"edit-site-global-styles-screen-revisions__footer\">\n\t\t\t\t\t<Pagination\n\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__pagination\"\n\t\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\t\tnumPages={ numPages }\n\t\t\t\t\t\tchangePage={ setCurrentPage }\n\t\t\t\t\t\ttotalItems={ revisionsCount }\n\t\t\t\t\t\tdisabled={ isLoading }\n\t\t\t\t\t\tlabel={ __( 'Global Styles pagination navigation' ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ isLoadingRevisionWithUnsavedChanges && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen={ isLoadingRevisionWithUnsavedChanges }\n\t\t\t\t\tconfirmButtonText={ __( 'Apply' ) }\n\t\t\t\t\tonConfirm={ () =>\n\t\t\t\t\t\trestoreRevision( currentlySelectedRevision )\n\t\t\t\t\t}\n\t\t\t\t\tonCancel={ () =>\n\t\t\t\t\t\tsetIsLoadingRevisionWithUnsavedChanges( false )\n\t\t\t\t\t}\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Are you sure you want to apply this revision? Any unsaved changes will be lost.'\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenRevisions;\n"],"mappings":"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","ignoreList":[]}
@@ -63,7 +63,7 @@ function getRevisionLabel(id, authorDisplayName, formattedModifiedDate, areStyle
63
63
  return (0, _i18n.__)('Reset the styles to the theme defaults');
64
64
  }
65
65
  if ('unsaved' === id) {
66
- return (0, _i18n.sprintf)( /* translators: %s: author display name */
66
+ return (0, _i18n.sprintf)(/* translators: %s: author display name */
67
67
  (0, _i18n.__)('Unsaved changes by %s'), authorDisplayName);
68
68
  }
69
69
  return areStylesEqual ? (0, _i18n.sprintf)(
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_components","_date","_coreData","_data","_blockEditor","_lockUnlock","_jsxRuntime","DAY_IN_MILLISECONDS","getGlobalStylesChanges","unlock","blockEditorPrivateApis","ChangesSummary","revision","previousRevision","changes","maxResults","length","jsx","className","children","map","change","getRevisionLabel","id","authorDisplayName","formattedModifiedDate","areStylesEqual","__","sprintf","RevisionsButtons","userRevisions","selectedRevisionId","onChange","canApplyRevision","onApplyRevision","currentThemeName","currentUser","useSelect","select","getCurrentTheme","getCurrentUser","coreStore","currentTheme","name","rendered","stylesheet","dateNowInMs","getDate","getTime","datetimeAbbreviated","getSettings","formats","role","index","author","modified","isUnsaved","revisionAuthor","authorAvatar","avatar_urls","isFirstItem","isSelected","isReset","modifiedDate","displayDate","dateI18n","humanTimeDiff","revisionLabel","jsxs","clsx","Button","__next40pxDefaultSize","accessibleWhenDisabled","disabled","onClick","dateTime","alt","src","size","variant","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/revisions-buttons.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst DAY_IN_MILLISECONDS = 60 * 60 * 1000 * 24;\nconst { getGlobalStylesChanges } = unlock( blockEditorPrivateApis );\n\nfunction ChangesSummary( { revision, previousRevision } ) {\n\tconst changes = getGlobalStylesChanges( revision, previousRevision, {\n\t\tmaxResults: 7,\n\t} );\n\n\tif ( ! changes.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ul\n\t\t\tdata-testid=\"global-styles-revision-changes\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__changes\"\n\t\t>\n\t\t\t{ changes.map( ( change ) => (\n\t\t\t\t<li key={ change }>{ change }</li>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n\n/**\n * Returns a button label for the revision.\n *\n * @param {string|number} id A revision object.\n * @param {string} authorDisplayName Author name.\n * @param {string} formattedModifiedDate Revision modified date formatted.\n * @param {boolean} areStylesEqual Whether the revision matches the current editor styles.\n * @return {string} Translated label.\n */\nfunction getRevisionLabel(\n\tid,\n\tauthorDisplayName,\n\tformattedModifiedDate,\n\tareStylesEqual\n) {\n\tif ( 'parent' === id ) {\n\t\treturn __( 'Reset the styles to the theme defaults' );\n\t}\n\n\tif ( 'unsaved' === id ) {\n\t\treturn sprintf(\n\t\t\t/* translators: %s: author display name */\n\t\t\t__( 'Unsaved changes by %s' ),\n\t\t\tauthorDisplayName\n\t\t);\n\t}\n\n\treturn areStylesEqual\n\t\t? sprintf(\n\t\t\t\t// translators: %1$s: author display name, %2$s: revision creation date.\n\t\t\t\t__(\n\t\t\t\t\t'Changes saved by %1$s on %2$s. This revision matches current editor styles.'\n\t\t\t\t),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %1$s: author display name, %2$s: revision creation date.\n\t\t\t\t__( 'Changes saved by %1$s on %2$s' ),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t );\n}\n\n/**\n * Returns a rendered list of revisions buttons.\n *\n * @typedef {Object} props\n * @property {Array<Object>} userRevisions A collection of user revisions.\n * @property {number} selectedRevisionId The id of the currently-selected revision.\n * @property {Function} onChange Callback fired when a revision is selected.\n *\n * @param {props} Component props.\n * @return {JSX.Element} The modal component.\n */\nfunction RevisionsButtons( {\n\tuserRevisions,\n\tselectedRevisionId,\n\tonChange,\n\tcanApplyRevision,\n\tonApplyRevision,\n} ) {\n\tconst { currentThemeName, currentUser } = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getCurrentUser } = select( coreStore );\n\t\tconst currentTheme = getCurrentTheme();\n\t\treturn {\n\t\t\tcurrentThemeName:\n\t\t\t\tcurrentTheme?.name?.rendered || currentTheme?.stylesheet,\n\t\t\tcurrentUser: getCurrentUser(),\n\t\t};\n\t}, [] );\n\tconst dateNowInMs = getDate().getTime();\n\tconst { datetimeAbbreviated } = getSettings().formats;\n\n\treturn (\n\t\t<ol\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revisions-list\"\n\t\t\taria-label={ __( 'Global styles revisions list' ) }\n\t\t\trole=\"group\"\n\t\t>\n\t\t\t{ userRevisions.map( ( revision, index ) => {\n\t\t\t\tconst { id, author, modified } = revision;\n\t\t\t\tconst isUnsaved = 'unsaved' === id;\n\t\t\t\t// Unsaved changes are created by the current user.\n\t\t\t\tconst revisionAuthor = isUnsaved ? currentUser : author;\n\t\t\t\tconst authorDisplayName = revisionAuthor?.name || __( 'User' );\n\t\t\t\tconst authorAvatar = revisionAuthor?.avatar_urls?.[ '48' ];\n\t\t\t\tconst isFirstItem = index === 0;\n\t\t\t\tconst isSelected = selectedRevisionId\n\t\t\t\t\t? selectedRevisionId === id\n\t\t\t\t\t: isFirstItem;\n\t\t\t\tconst areStylesEqual = ! canApplyRevision && isSelected;\n\t\t\t\tconst isReset = 'parent' === id;\n\t\t\t\tconst modifiedDate = getDate( modified );\n\t\t\t\tconst displayDate =\n\t\t\t\t\tmodified &&\n\t\t\t\t\tdateNowInMs - modifiedDate.getTime() > DAY_IN_MILLISECONDS\n\t\t\t\t\t\t? dateI18n( datetimeAbbreviated, modifiedDate )\n\t\t\t\t\t\t: humanTimeDiff( modified );\n\t\t\t\tconst revisionLabel = getRevisionLabel(\n\t\t\t\t\tid,\n\t\t\t\t\tauthorDisplayName,\n\t\t\t\t\tdateI18n( datetimeAbbreviated, modifiedDate ),\n\t\t\t\t\tareStylesEqual\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'edit-site-global-styles-screen-revisions__revision-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t\t'is-active': areStylesEqual,\n\t\t\t\t\t\t\t\t'is-reset': isReset,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\taria-current={ isSelected }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revision-button\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tdisabled={ isSelected }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-label={ revisionLabel }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isReset ? (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ __( 'Default styles' ) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t{ currentThemeName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ isUnsaved ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__date\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( '(Unsaved)' ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__date\"\n\t\t\t\t\t\t\t\t\t\t\tdateTime={ modified }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ displayDate }\n\t\t\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\talt={ authorDisplayName }\n\t\t\t\t\t\t\t\t\t\t\tsrc={ authorAvatar }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ authorDisplayName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t\t\t<ChangesSummary\n\t\t\t\t\t\t\t\t\t\t\trevision={ revision }\n\t\t\t\t\t\t\t\t\t\t\tpreviousRevision={\n\t\t\t\t\t\t\t\t\t\t\t\tindex < userRevisions.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t? userRevisions[ index + 1 ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t( areStylesEqual ? (\n\t\t\t\t\t\t\t\t<p className=\"edit-site-global-styles-screen-revisions__applied-text\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'These styles are already applied to your site.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__apply-button\"\n\t\t\t\t\t\t\t\t\tonClick={ onApplyRevision }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ isReset\n\t\t\t\t\t\t\t\t\t\t? __( 'Reset to defaults' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Apply' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ol>\n\t);\n}\n\nexport default RevisionsButtons;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_components","_date","_coreData","_data","_blockEditor","_lockUnlock","_jsxRuntime","DAY_IN_MILLISECONDS","getGlobalStylesChanges","unlock","blockEditorPrivateApis","ChangesSummary","revision","previousRevision","changes","maxResults","length","jsx","className","children","map","change","getRevisionLabel","id","authorDisplayName","formattedModifiedDate","areStylesEqual","__","sprintf","RevisionsButtons","userRevisions","selectedRevisionId","onChange","canApplyRevision","onApplyRevision","currentThemeName","currentUser","useSelect","select","getCurrentTheme","getCurrentUser","coreStore","currentTheme","name","rendered","stylesheet","dateNowInMs","getDate","getTime","datetimeAbbreviated","getSettings","formats","role","index","author","modified","isUnsaved","revisionAuthor","authorAvatar","avatar_urls","isFirstItem","isSelected","isReset","modifiedDate","displayDate","dateI18n","humanTimeDiff","revisionLabel","jsxs","clsx","Button","__next40pxDefaultSize","accessibleWhenDisabled","disabled","onClick","dateTime","alt","src","size","variant","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/revisions-buttons.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst DAY_IN_MILLISECONDS = 60 * 60 * 1000 * 24;\nconst { getGlobalStylesChanges } = unlock( blockEditorPrivateApis );\n\nfunction ChangesSummary( { revision, previousRevision } ) {\n\tconst changes = getGlobalStylesChanges( revision, previousRevision, {\n\t\tmaxResults: 7,\n\t} );\n\n\tif ( ! changes.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ul\n\t\t\tdata-testid=\"global-styles-revision-changes\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__changes\"\n\t\t>\n\t\t\t{ changes.map( ( change ) => (\n\t\t\t\t<li key={ change }>{ change }</li>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n\n/**\n * Returns a button label for the revision.\n *\n * @param {string|number} id A revision object.\n * @param {string} authorDisplayName Author name.\n * @param {string} formattedModifiedDate Revision modified date formatted.\n * @param {boolean} areStylesEqual Whether the revision matches the current editor styles.\n * @return {string} Translated label.\n */\nfunction getRevisionLabel(\n\tid,\n\tauthorDisplayName,\n\tformattedModifiedDate,\n\tareStylesEqual\n) {\n\tif ( 'parent' === id ) {\n\t\treturn __( 'Reset the styles to the theme defaults' );\n\t}\n\n\tif ( 'unsaved' === id ) {\n\t\treturn sprintf(\n\t\t\t/* translators: %s: author display name */\n\t\t\t__( 'Unsaved changes by %s' ),\n\t\t\tauthorDisplayName\n\t\t);\n\t}\n\n\treturn areStylesEqual\n\t\t? sprintf(\n\t\t\t\t// translators: %1$s: author display name, %2$s: revision creation date.\n\t\t\t\t__(\n\t\t\t\t\t'Changes saved by %1$s on %2$s. This revision matches current editor styles.'\n\t\t\t\t),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %1$s: author display name, %2$s: revision creation date.\n\t\t\t\t__( 'Changes saved by %1$s on %2$s' ),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t );\n}\n\n/**\n * Returns a rendered list of revisions buttons.\n *\n * @typedef {Object} props\n * @property {Array<Object>} userRevisions A collection of user revisions.\n * @property {number} selectedRevisionId The id of the currently-selected revision.\n * @property {Function} onChange Callback fired when a revision is selected.\n *\n * @param {props} Component props.\n * @return {JSX.Element} The modal component.\n */\nfunction RevisionsButtons( {\n\tuserRevisions,\n\tselectedRevisionId,\n\tonChange,\n\tcanApplyRevision,\n\tonApplyRevision,\n} ) {\n\tconst { currentThemeName, currentUser } = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getCurrentUser } = select( coreStore );\n\t\tconst currentTheme = getCurrentTheme();\n\t\treturn {\n\t\t\tcurrentThemeName:\n\t\t\t\tcurrentTheme?.name?.rendered || currentTheme?.stylesheet,\n\t\t\tcurrentUser: getCurrentUser(),\n\t\t};\n\t}, [] );\n\tconst dateNowInMs = getDate().getTime();\n\tconst { datetimeAbbreviated } = getSettings().formats;\n\n\treturn (\n\t\t<ol\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revisions-list\"\n\t\t\taria-label={ __( 'Global styles revisions list' ) }\n\t\t\trole=\"group\"\n\t\t>\n\t\t\t{ userRevisions.map( ( revision, index ) => {\n\t\t\t\tconst { id, author, modified } = revision;\n\t\t\t\tconst isUnsaved = 'unsaved' === id;\n\t\t\t\t// Unsaved changes are created by the current user.\n\t\t\t\tconst revisionAuthor = isUnsaved ? currentUser : author;\n\t\t\t\tconst authorDisplayName = revisionAuthor?.name || __( 'User' );\n\t\t\t\tconst authorAvatar = revisionAuthor?.avatar_urls?.[ '48' ];\n\t\t\t\tconst isFirstItem = index === 0;\n\t\t\t\tconst isSelected = selectedRevisionId\n\t\t\t\t\t? selectedRevisionId === id\n\t\t\t\t\t: isFirstItem;\n\t\t\t\tconst areStylesEqual = ! canApplyRevision && isSelected;\n\t\t\t\tconst isReset = 'parent' === id;\n\t\t\t\tconst modifiedDate = getDate( modified );\n\t\t\t\tconst displayDate =\n\t\t\t\t\tmodified &&\n\t\t\t\t\tdateNowInMs - modifiedDate.getTime() > DAY_IN_MILLISECONDS\n\t\t\t\t\t\t? dateI18n( datetimeAbbreviated, modifiedDate )\n\t\t\t\t\t\t: humanTimeDiff( modified );\n\t\t\t\tconst revisionLabel = getRevisionLabel(\n\t\t\t\t\tid,\n\t\t\t\t\tauthorDisplayName,\n\t\t\t\t\tdateI18n( datetimeAbbreviated, modifiedDate ),\n\t\t\t\t\tareStylesEqual\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'edit-site-global-styles-screen-revisions__revision-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t\t'is-active': areStylesEqual,\n\t\t\t\t\t\t\t\t'is-reset': isReset,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\taria-current={ isSelected }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revision-button\"\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tdisabled={ isSelected }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-label={ revisionLabel }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isReset ? (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ __( 'Default styles' ) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t{ currentThemeName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ isUnsaved ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__date\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( '(Unsaved)' ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__date\"\n\t\t\t\t\t\t\t\t\t\t\tdateTime={ modified }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ displayDate }\n\t\t\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\talt={ authorDisplayName }\n\t\t\t\t\t\t\t\t\t\t\tsrc={ authorAvatar }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ authorDisplayName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t\t\t<ChangesSummary\n\t\t\t\t\t\t\t\t\t\t\trevision={ revision }\n\t\t\t\t\t\t\t\t\t\t\tpreviousRevision={\n\t\t\t\t\t\t\t\t\t\t\t\tindex < userRevisions.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t? userRevisions[ index + 1 ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t( areStylesEqual ? (\n\t\t\t\t\t\t\t\t<p className=\"edit-site-global-styles-screen-revisions__applied-text\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'These styles are already applied to your site.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__apply-button\"\n\t\t\t\t\t\t\t\t\tonClick={ onApplyRevision }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ isReset\n\t\t\t\t\t\t\t\t\t\t? __( 'Reset to defaults' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Apply' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ol>\n\t);\n}\n\nexport default RevisionsButtons;\n"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,8 @@ exports.default = void 0;
8
8
  var _components = require("@wordpress/components");
9
9
  var _i18n = require("@wordpress/i18n");
10
10
  var _blockEditor = require("@wordpress/block-editor");
11
+ var _data = require("@wordpress/data");
12
+ var _editor = require("@wordpress/editor");
11
13
  var _header = _interopRequireDefault(require("./header"));
12
14
  var _content = _interopRequireDefault(require("../sidebar-navigation-screen-global-styles/content"));
13
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -20,9 +22,14 @@ var _jsxRuntime = require("react/jsx-runtime");
20
22
  */
21
23
 
22
24
  function ScreenStyleVariations() {
23
- // Move to zoom out mode when this component is mounted
24
- // and back to the previous mode when unmounted.
25
+ // Style Variations should only be previewed in with
26
+ // - a "zoomed out" editor
27
+ // - "Desktop" device preview
28
+ const {
29
+ setDeviceType
30
+ } = (0, _data.useDispatch)(_editor.store);
25
31
  (0, _blockEditor.useZoomOut)();
32
+ setDeviceType('desktop');
26
33
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
27
34
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_header.default, {
28
35
  title: (0, _i18n.__)('Browse styles'),
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_blockEditor","_header","_interopRequireDefault","_content","_jsxRuntime","ScreenStyleVariations","useZoomOut","jsxs","Fragment","children","jsx","default","title","__","description","Card","size","isBorderless","className","CardBody","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-style-variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Card, CardBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useZoomOut } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport SidebarNavigationScreenGlobalStylesContent from '../sidebar-navigation-screen-global-styles/content';\n\nfunction ScreenStyleVariations() {\n\t// Move to zoom out mode when this component is mounted\n\t// and back to the previous mode when unmounted.\n\tuseZoomOut();\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Browse styles' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Choose a variation to change the look of the site.'\n\t\t\t\t) }\n\t\t\t/>\n\n\t\t\t<Card\n\t\t\t\tsize=\"small\"\n\t\t\t\tisBorderless\n\t\t\t\tclassName=\"edit-site-global-styles-screen-style-variations\"\n\t\t\t>\n\t\t\t\t<CardBody>\n\t\t\t\t\t<SidebarNavigationScreenGlobalStylesContent />\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t</>\n\t);\n}\n\nexport default ScreenStyleVariations;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAKA,IAAAG,OAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAA4G,IAAAM,WAAA,GAAAN,OAAA;AAX5G;AACA;AACA;;AAKA;AACA;AACA;;AAIA,SAASO,qBAAqBA,CAAA,EAAG;EAChC;EACA;EACA,IAAAC,uBAAU,EAAC,CAAC;EAEZ,oBACC,IAAAF,WAAA,CAAAG,IAAA,EAAAH,WAAA,CAAAI,QAAA;IAAAC,QAAA,gBACC,IAAAL,WAAA,CAAAM,GAAA,EAACT,OAAA,CAAAU,OAAY;MACZC,KAAK,EAAG,IAAAC,QAAE,EAAE,eAAgB,CAAG;MAC/BC,WAAW,EAAG,IAAAD,QAAE,EACf,oDACD;IAAG,CACH,CAAC,eAEF,IAAAT,WAAA,CAAAM,GAAA,EAACb,WAAA,CAAAkB,IAAI;MACJC,IAAI,EAAC,OAAO;MACZC,YAAY;MACZC,SAAS,EAAC,iDAAiD;MAAAT,QAAA,eAE3D,IAAAL,WAAA,CAAAM,GAAA,EAACb,WAAA,CAAAsB,QAAQ;QAAAV,QAAA,eACR,IAAAL,WAAA,CAAAM,GAAA,EAACP,QAAA,CAAAQ,OAA0C,IAAE;MAAC,CACrC;IAAC,CACN,CAAC;EAAA,CACN,CAAC;AAEL;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAV,OAAA,GAEcN,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_blockEditor","_data","_editor","_header","_interopRequireDefault","_content","_jsxRuntime","ScreenStyleVariations","setDeviceType","useDispatch","editorStore","useZoomOut","jsxs","Fragment","children","jsx","default","title","__","description","Card","size","isBorderless","className","CardBody","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-style-variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Card, CardBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useZoomOut } from '@wordpress/block-editor';\nimport { useDispatch } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport SidebarNavigationScreenGlobalStylesContent from '../sidebar-navigation-screen-global-styles/content';\n\nfunction ScreenStyleVariations() {\n\t// Style Variations should only be previewed in with\n\t// - a \"zoomed out\" editor\n\t// - \"Desktop\" device preview\n\tconst { setDeviceType } = useDispatch( editorStore );\n\tuseZoomOut();\n\tsetDeviceType( 'desktop' );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Browse styles' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Choose a variation to change the look of the site.'\n\t\t\t\t) }\n\t\t\t/>\n\n\t\t\t<Card\n\t\t\t\tsize=\"small\"\n\t\t\t\tisBorderless\n\t\t\t\tclassName=\"edit-site-global-styles-screen-style-variations\"\n\t\t\t>\n\t\t\t\t<CardBody>\n\t\t\t\t\t<SidebarNavigationScreenGlobalStylesContent />\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t</>\n\t);\n}\n\nexport default ScreenStyleVariations;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAKA,IAAAK,OAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,QAAA,GAAAD,sBAAA,CAAAN,OAAA;AAA4G,IAAAQ,WAAA,GAAAR,OAAA;AAb5G;AACA;AACA;;AAOA;AACA;AACA;;AAIA,SAASS,qBAAqBA,CAAA,EAAG;EAChC;EACA;EACA;EACA,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAC,iBAAW,EAAEC,aAAY,CAAC;EACpD,IAAAC,uBAAU,EAAC,CAAC;EACZH,aAAa,CAAE,SAAU,CAAC;EAE1B,oBACC,IAAAF,WAAA,CAAAM,IAAA,EAAAN,WAAA,CAAAO,QAAA;IAAAC,QAAA,gBACC,IAAAR,WAAA,CAAAS,GAAA,EAACZ,OAAA,CAAAa,OAAY;MACZC,KAAK,EAAG,IAAAC,QAAE,EAAE,eAAgB,CAAG;MAC/BC,WAAW,EAAG,IAAAD,QAAE,EACf,oDACD;IAAG,CACH,CAAC,eAEF,IAAAZ,WAAA,CAAAS,GAAA,EAAClB,WAAA,CAAAuB,IAAI;MACJC,IAAI,EAAC,OAAO;MACZC,YAAY;MACZC,SAAS,EAAC,iDAAiD;MAAAT,QAAA,eAE3D,IAAAR,WAAA,CAAAS,GAAA,EAAClB,WAAA,CAAA2B,QAAQ;QAAAV,QAAA,eACR,IAAAR,WAAA,CAAAS,GAAA,EAACV,QAAA,CAAAW,OAA0C,IAAE;MAAC,CACrC;IAAC,CACN,CAAC;EAAA,CACN,CAAC;AAEL;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAV,OAAA,GAEcT,qBAAqB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["CUSTOM_VALUE_SETTINGS","exports","px","max","step","vw","vh","em","rm","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","getShadowParts","shadow","shadowValues","match","map","value","trim","shadowStringToObject","shadowValue","defaultShadow","x","y","blur","spread","color","inset","includes","lengthsRegex","matches","length","lengths","split","filter","insets","hasInset","colorString","replace","colorRegex","colorMatches","shadowObjectToString","shadowObj","shadowString"],"sources":["@wordpress/edit-site/src/components/global-styles/shadow-utils.js"],"sourcesContent":["export const CUSTOM_VALUE_SETTINGS = {\n\tpx: { max: 20, step: 1 },\n\t'%': { max: 100, step: 1 },\n\tvw: { max: 100, step: 1 },\n\tvh: { max: 100, step: 1 },\n\tem: { max: 10, step: 0.1 },\n\trm: { max: 10, step: 0.1 },\n\tsvw: { max: 100, step: 1 },\n\tlvw: { max: 100, step: 1 },\n\tdvw: { max: 100, step: 1 },\n\tsvh: { max: 100, step: 1 },\n\tlvh: { max: 100, step: 1 },\n\tdvh: { max: 100, step: 1 },\n\tvi: { max: 100, step: 1 },\n\tsvi: { max: 100, step: 1 },\n\tlvi: { max: 100, step: 1 },\n\tdvi: { max: 100, step: 1 },\n\tvb: { max: 100, step: 1 },\n\tsvb: { max: 100, step: 1 },\n\tlvb: { max: 100, step: 1 },\n\tdvb: { max: 100, step: 1 },\n\tvmin: { max: 100, step: 1 },\n\tsvmin: { max: 100, step: 1 },\n\tlvmin: { max: 100, step: 1 },\n\tdvmin: { max: 100, step: 1 },\n\tvmax: { max: 100, step: 1 },\n\tsvmax: { max: 100, step: 1 },\n\tlvmax: { max: 100, step: 1 },\n\tdvmax: { max: 100, step: 1 },\n};\n\nexport function getShadowParts( shadow ) {\n\tconst shadowValues = shadow.match( /(?:[^,(]|\\([^)]*\\))+/g ) || [];\n\treturn shadowValues.map( ( value ) => value.trim() );\n}\n\nexport function shadowStringToObject( shadowValue ) {\n\t/*\n\t * Shadow spec: https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow\n\t * Shadow string format: <offset-x> <offset-y> <blur-radius> <spread-radius> <color> [inset]\n\t *\n\t * A shadow to be valid it must satisfy the following.\n\t *\n\t * 1. Should not contain \"none\" keyword.\n\t * 2. Values x, y, blur, spread should be in the order. Color and inset can be anywhere in the string except in between x, y, blur, spread values.\n\t * 3. Should not contain more than one set of x, y, blur, spread values.\n\t * 4. Should contain at least x and y values. Others are optional.\n\t * 5. Should not contain more than one \"inset\" (case insensitive) keyword.\n\t * 6. Should not contain more than one color value.\n\t */\n\n\tconst defaultShadow = {\n\t\tx: '0',\n\t\ty: '0',\n\t\tblur: '0',\n\t\tspread: '0',\n\t\tcolor: '#000',\n\t\tinset: false,\n\t};\n\n\tif ( ! shadowValue ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 1: Should not contain \"none\" keyword.\n\t// if the shadow has \"none\" keyword, it is not a valid shadow string\n\tif ( shadowValue.includes( 'none' ) ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 2: Values x, y, blur, spread should be in the order.\n\t//\t\t Color and inset can be anywhere in the string except in between x, y, blur, spread values.\n\t// Extract length values (x, y, blur, spread) from shadow string\n\t// Regex match groups of 1 to 4 length values.\n\tconst lengthsRegex =\n\t\t/((?:^|\\s+)(-?\\d*\\.?\\d+(?:px|%|in|cm|mm|em|rem|ex|pt|pc|vh|vw|vmin|vmax|ch|lh)?)(?=\\s|$)(?![^(]*\\))){1,4}/g;\n\tconst matches = shadowValue.match( lengthsRegex ) || [];\n\n\t// Rule 3: Should not contain more than one set of x, y, blur, spread values.\n\t// if the string doesn't contain exactly 1 set of x, y, blur, spread values,\n\t// it is not a valid shadow string\n\tif ( matches.length !== 1 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Extract length values (x, y, blur, spread) from shadow string\n\tconst lengths = matches[ 0 ]\n\t\t.split( ' ' )\n\t\t.map( ( value ) => value.trim() )\n\t\t.filter( ( value ) => value );\n\n\t// Rule 4: Should contain at least x and y values. Others are optional.\n\tif ( lengths.length < 2 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 5: Should not contain more than one \"inset\" (case insensitive) keyword.\n\t// check if the shadow string contains \"inset\" keyword\n\tconst insets = shadowValue.match( /inset/gi ) || [];\n\tif ( insets.length > 1 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Strip lengths and inset from shadow string, leaving just color.\n\tconst hasInset = insets.length === 1;\n\tlet colorString = shadowValue.replace( lengthsRegex, '' ).trim();\n\tif ( hasInset ) {\n\t\tcolorString = colorString\n\t\t\t.replace( 'inset', '' )\n\t\t\t.replace( 'INSET', '' )\n\t\t\t.trim();\n\t}\n\n\t// Rule 6: Should not contain more than one color value.\n\t// validate color string with regular expression\n\t// check if color has matching hex, rgb or hsl values\n\tconst colorRegex =\n\t\t/^#([0-9a-f]{3}){1,2}$|^#([0-9a-f]{4}){1,2}$|^(?:rgb|hsl)a?\\(?[\\d*\\.?\\d+%?,?\\/?\\s]*\\)$/gi;\n\tlet colorMatches = ( colorString.match( colorRegex ) || [] )\n\t\t.map( ( value ) => value?.trim() )\n\t\t.filter( ( value ) => value );\n\n\t// If color string has more than one color values, it is not a valid\n\tif ( colorMatches.length > 1 ) {\n\t\treturn defaultShadow;\n\t} else if ( colorMatches.length === 0 ) {\n\t\t// check if color string has multiple named color values separated by space\n\t\tcolorMatches = colorString\n\t\t\t.trim()\n\t\t\t.split( ' ' )\n\t\t\t.filter( ( value ) => value );\n\t\t// If color string has more than one color values, it is not a valid\n\t\tif ( colorMatches.length > 1 ) {\n\t\t\treturn defaultShadow;\n\t\t}\n\t}\n\n\t// Return parsed shadow object.\n\tconst [ x, y, blur, spread ] = lengths;\n\treturn {\n\t\tx,\n\t\ty,\n\t\tblur: blur || defaultShadow.blur,\n\t\tspread: spread || defaultShadow.spread,\n\t\tinset: hasInset,\n\t\tcolor: colorString || defaultShadow.color,\n\t};\n}\n\nexport function shadowObjectToString( shadowObj ) {\n\tconst shadowString = `${ shadowObj.x || '0px' } ${ shadowObj.y || '0px' } ${\n\t\tshadowObj.blur || '0px'\n\t} ${ shadowObj.spread || '0px' }`;\n\n\treturn `${ shadowObj.inset ? 'inset' : '' } ${ shadowString } ${\n\t\tshadowObj.color || ''\n\t}`.trim();\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CUSTOM_VALUE_SETTINGS","exports","px","max","step","vw","vh","em","rm","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","getShadowParts","shadow","shadowValues","match","map","value","trim","shadowStringToObject","shadowValue","defaultShadow","x","y","blur","spread","color","inset","includes","lengthsRegex","matches","length","lengths","split","filter","insets","hasInset","colorString","replace","colorRegex","colorMatches","shadowObjectToString","shadowObj","shadowString"],"sources":["@wordpress/edit-site/src/components/global-styles/shadow-utils.js"],"sourcesContent":["export const CUSTOM_VALUE_SETTINGS = {\n\tpx: { max: 20, step: 1 },\n\t'%': { max: 100, step: 1 },\n\tvw: { max: 100, step: 1 },\n\tvh: { max: 100, step: 1 },\n\tem: { max: 10, step: 0.1 },\n\trm: { max: 10, step: 0.1 },\n\tsvw: { max: 100, step: 1 },\n\tlvw: { max: 100, step: 1 },\n\tdvw: { max: 100, step: 1 },\n\tsvh: { max: 100, step: 1 },\n\tlvh: { max: 100, step: 1 },\n\tdvh: { max: 100, step: 1 },\n\tvi: { max: 100, step: 1 },\n\tsvi: { max: 100, step: 1 },\n\tlvi: { max: 100, step: 1 },\n\tdvi: { max: 100, step: 1 },\n\tvb: { max: 100, step: 1 },\n\tsvb: { max: 100, step: 1 },\n\tlvb: { max: 100, step: 1 },\n\tdvb: { max: 100, step: 1 },\n\tvmin: { max: 100, step: 1 },\n\tsvmin: { max: 100, step: 1 },\n\tlvmin: { max: 100, step: 1 },\n\tdvmin: { max: 100, step: 1 },\n\tvmax: { max: 100, step: 1 },\n\tsvmax: { max: 100, step: 1 },\n\tlvmax: { max: 100, step: 1 },\n\tdvmax: { max: 100, step: 1 },\n};\n\nexport function getShadowParts( shadow ) {\n\tconst shadowValues = shadow.match( /(?:[^,(]|\\([^)]*\\))+/g ) || [];\n\treturn shadowValues.map( ( value ) => value.trim() );\n}\n\nexport function shadowStringToObject( shadowValue ) {\n\t/*\n\t * Shadow spec: https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow\n\t * Shadow string format: <offset-x> <offset-y> <blur-radius> <spread-radius> <color> [inset]\n\t *\n\t * A shadow to be valid it must satisfy the following.\n\t *\n\t * 1. Should not contain \"none\" keyword.\n\t * 2. Values x, y, blur, spread should be in the order. Color and inset can be anywhere in the string except in between x, y, blur, spread values.\n\t * 3. Should not contain more than one set of x, y, blur, spread values.\n\t * 4. Should contain at least x and y values. Others are optional.\n\t * 5. Should not contain more than one \"inset\" (case insensitive) keyword.\n\t * 6. Should not contain more than one color value.\n\t */\n\n\tconst defaultShadow = {\n\t\tx: '0',\n\t\ty: '0',\n\t\tblur: '0',\n\t\tspread: '0',\n\t\tcolor: '#000',\n\t\tinset: false,\n\t};\n\n\tif ( ! shadowValue ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 1: Should not contain \"none\" keyword.\n\t// if the shadow has \"none\" keyword, it is not a valid shadow string\n\tif ( shadowValue.includes( 'none' ) ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 2: Values x, y, blur, spread should be in the order.\n\t//\t\t Color and inset can be anywhere in the string except in between x, y, blur, spread values.\n\t// Extract length values (x, y, blur, spread) from shadow string\n\t// Regex match groups of 1 to 4 length values.\n\tconst lengthsRegex =\n\t\t/((?:^|\\s+)(-?\\d*\\.?\\d+(?:px|%|in|cm|mm|em|rem|ex|pt|pc|vh|vw|vmin|vmax|ch|lh)?)(?=\\s|$)(?![^(]*\\))){1,4}/g;\n\tconst matches = shadowValue.match( lengthsRegex ) || [];\n\n\t// Rule 3: Should not contain more than one set of x, y, blur, spread values.\n\t// if the string doesn't contain exactly 1 set of x, y, blur, spread values,\n\t// it is not a valid shadow string\n\tif ( matches.length !== 1 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Extract length values (x, y, blur, spread) from shadow string\n\tconst lengths = matches[ 0 ]\n\t\t.split( ' ' )\n\t\t.map( ( value ) => value.trim() )\n\t\t.filter( ( value ) => value );\n\n\t// Rule 4: Should contain at least x and y values. Others are optional.\n\tif ( lengths.length < 2 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 5: Should not contain more than one \"inset\" (case insensitive) keyword.\n\t// check if the shadow string contains \"inset\" keyword\n\tconst insets = shadowValue.match( /inset/gi ) || [];\n\tif ( insets.length > 1 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Strip lengths and inset from shadow string, leaving just color.\n\tconst hasInset = insets.length === 1;\n\tlet colorString = shadowValue.replace( lengthsRegex, '' ).trim();\n\tif ( hasInset ) {\n\t\tcolorString = colorString\n\t\t\t.replace( 'inset', '' )\n\t\t\t.replace( 'INSET', '' )\n\t\t\t.trim();\n\t}\n\n\t// Rule 6: Should not contain more than one color value.\n\t// validate color string with regular expression\n\t// check if color has matching hex, rgb or hsl values\n\tconst colorRegex =\n\t\t/^#([0-9a-f]{3}){1,2}$|^#([0-9a-f]{4}){1,2}$|^(?:rgb|hsl)a?\\(?[\\d*\\.?\\d+%?,?\\/?\\s]*\\)$/gi;\n\tlet colorMatches = ( colorString.match( colorRegex ) || [] )\n\t\t.map( ( value ) => value?.trim() )\n\t\t.filter( ( value ) => value );\n\n\t// If color string has more than one color values, it is not a valid\n\tif ( colorMatches.length > 1 ) {\n\t\treturn defaultShadow;\n\t} else if ( colorMatches.length === 0 ) {\n\t\t// check if color string has multiple named color values separated by space\n\t\tcolorMatches = colorString\n\t\t\t.trim()\n\t\t\t.split( ' ' )\n\t\t\t.filter( ( value ) => value );\n\t\t// If color string has more than one color values, it is not a valid\n\t\tif ( colorMatches.length > 1 ) {\n\t\t\treturn defaultShadow;\n\t\t}\n\t}\n\n\t// Return parsed shadow object.\n\tconst [ x, y, blur, spread ] = lengths;\n\treturn {\n\t\tx,\n\t\ty,\n\t\tblur: blur || defaultShadow.blur,\n\t\tspread: spread || defaultShadow.spread,\n\t\tinset: hasInset,\n\t\tcolor: colorString || defaultShadow.color,\n\t};\n}\n\nexport function shadowObjectToString( shadowObj ) {\n\tconst shadowString = `${ shadowObj.x || '0px' } ${ shadowObj.y || '0px' } ${\n\t\tshadowObj.blur || '0px'\n\t} ${ shadowObj.spread || '0px' }`;\n\n\treturn `${ shadowObj.inset ? 'inset' : '' } ${ shadowString } ${\n\t\tshadowObj.color || ''\n\t}`.trim();\n}\n"],"mappings":"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","ignoreList":[]}
@@ -48,13 +48,27 @@ const presetShadowMenuItems = [{
48
48
  }];
49
49
  function ShadowsEditPanel() {
50
50
  const {
51
+ goBack,
51
52
  params: {
52
53
  category,
53
54
  slug
54
- },
55
- goTo
55
+ }
56
56
  } = (0, _components.useNavigator)();
57
57
  const [shadows, setShadows] = useGlobalSetting(`shadow.presets.${category}`);
58
+ (0, _element.useEffect)(() => {
59
+ const hasCurrentShadow = shadows?.some(shadow => shadow.slug === slug);
60
+ // If the shadow being edited doesn't exist anymore in the global styles setting, navigate back
61
+ // to prevent the user from editing a non-existent shadow entry.
62
+ // This can happen, for example:
63
+ // - when the user deletes the shadow
64
+ // - when the user resets the styles while editing a custom shadow
65
+ //
66
+ // The check on the slug is necessary to prevent a double back navigation when the user triggers
67
+ // a backward navigation by interacting with the screen's UI.
68
+ if (!!slug && !hasCurrentShadow) {
69
+ goBack();
70
+ }
71
+ }, [shadows, slug, goBack]);
58
72
  const [baseShadows] = useGlobalSetting(`shadow.presets.${category}`, undefined, 'base');
59
73
  const [selectedShadow, setSelectedShadow] = (0, _element.useState)(() => (shadows || []).find(shadow => shadow.slug === slug));
60
74
  const baseSelectedShadow = (0, _element.useMemo)(() => (baseShadows || []).find(b => b.slug === slug), [baseShadows, slug]);
@@ -87,9 +101,7 @@ function ShadowsEditPanel() {
87
101
  }
88
102
  };
89
103
  const handleShadowDelete = () => {
90
- const updatedShadows = shadows.filter(s => s.slug !== slug);
91
- setShadows(updatedShadows);
92
- goTo(`/shadows`);
104
+ setShadows(shadows.filter(s => s.slug !== slug));
93
105
  };
94
106
  const handleShadowRename = newName => {
95
107
  if (!newName) {
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_blockEditor","_icons","_element","_lockUnlock","_subtitle","_header","_shadowsPanel","_shadowUtils","_jsxRuntime","useGlobalSetting","unlock","blockEditorPrivateApis","DropdownMenuV2","componentsPrivateApis","customShadowMenuItems","label","__","action","presetShadowMenuItems","ShadowsEditPanel","params","category","slug","goTo","useNavigator","shadows","setShadows","baseShadows","undefined","selectedShadow","setSelectedShadow","useState","find","shadow","baseSelectedShadow","useMemo","b","isConfirmDialogVisible","setIsConfirmDialogVisible","isRenameModalVisible","setIsRenameModalVisible","shadowName","setShadowName","name","onShadowChange","updatedShadows","map","s","onMenuClick","handleShadowDelete","filter","handleShadowRename","newName","jsx","default","title","jsxs","Fragment","children","__experimentalHStack","justify","FlexItem","__experimentalSpacer","marginTop","marginBottom","paddingX","trigger","Button","size","icon","moreVertical","item","Item","onClick","disabled","ItemLabel","className","ShadowsPreview","ShadowEditor","onChange","__experimentalConfirmDialog","isOpen","onConfirm","onCancel","confirmButtonText","sprintf","Modal","onRequestClose","onSubmit","event","preventDefault","__experimentalInputControl","__next40pxDefaultSize","autoComplete","placeholder","value","Flex","expanded","variant","type","shadowStyle","boxShadow","align","style","shadowParts","getShadowParts","onChangeShadowPart","index","part","join","onAddShadowPart","push","defaultShadow","onRemoveShadowPart","splice","__experimentalVStack","spacing","level","plus","__experimentalItemGroup","isBordered","isSeparated","ShadowItem","canRemove","length","onRemove","popoverProps","placement","offset","shift","shadowObj","shadowStringToObject","newShadow","shadowObjectToString","Dropdown","renderToggle","onToggle","toggleProps","clsx","removeButtonProps","flexGrow","shadowIcon","inset","reset","renderContent","__experimentalDropdownContentWrapper","paddingSize","ShadowPopover","__experimentalIsRenderedInSidebar","enableAlpha","key","ColorPalette","clearable","color","__experimentalToggleGroupControl","__nextHasNoMarginBottom","isBlock","hideLabelFromVision","__experimentalToggleGroupControlOption","__experimentalGrid","columns","gap","ShadowInputControl","x","y","blur","spread","onValueChange","next","isNumeric","isNaN","parseFloat","nextValue","__experimentalUnitControl"],"sources":["@wordpress/edit-site/src/components/global-styles/shadows-edit-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalInputControl as InputControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalGrid as Grid,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tuseNavigator,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdown,\n\tButton,\n\tFlex,\n\tFlexItem,\n\tColorPalette,\n\tModal,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport {\n\tplus,\n\tshadow as shadowIcon,\n\treset,\n\tmoreVertical,\n} from '@wordpress/icons';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport ScreenHeader from './header';\nimport { defaultShadow } from './shadows-panel';\nimport {\n\tgetShadowParts,\n\tshadowStringToObject,\n\tshadowObjectToString,\n} from './shadow-utils';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nconst { DropdownMenuV2 } = unlock( componentsPrivateApis );\n\nconst customShadowMenuItems = [\n\t{\n\t\tlabel: __( 'Rename' ),\n\t\taction: 'rename',\n\t},\n\t{\n\t\tlabel: __( 'Delete' ),\n\t\taction: 'delete',\n\t},\n];\n\nconst presetShadowMenuItems = [\n\t{\n\t\tlabel: __( 'Reset' ),\n\t\taction: 'reset',\n\t},\n];\n\nexport default function ShadowsEditPanel() {\n\tconst {\n\t\tparams: { category, slug },\n\t\tgoTo,\n\t} = useNavigator();\n\tconst [ shadows, setShadows ] = useGlobalSetting(\n\t\t`shadow.presets.${ category }`\n\t);\n\tconst [ baseShadows ] = useGlobalSetting(\n\t\t`shadow.presets.${ category }`,\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst [ selectedShadow, setSelectedShadow ] = useState( () =>\n\t\t( shadows || [] ).find( ( shadow ) => shadow.slug === slug )\n\t);\n\tconst baseSelectedShadow = useMemo(\n\t\t() => ( baseShadows || [] ).find( ( b ) => b.slug === slug ),\n\t\t[ baseShadows, slug ]\n\t);\n\tconst [ isConfirmDialogVisible, setIsConfirmDialogVisible ] =\n\t\tuseState( false );\n\tconst [ isRenameModalVisible, setIsRenameModalVisible ] = useState( false );\n\tconst [ shadowName, setShadowName ] = useState( selectedShadow.name );\n\n\tif ( ! category || ! slug ) {\n\t\treturn null;\n\t}\n\n\tconst onShadowChange = ( shadow ) => {\n\t\tsetSelectedShadow( { ...selectedShadow, shadow } );\n\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\ts.slug === slug ? { ...selectedShadow, shadow } : s\n\t\t);\n\t\tsetShadows( updatedShadows );\n\t};\n\n\tconst onMenuClick = ( action ) => {\n\t\tif ( action === 'reset' ) {\n\t\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\t\ts.slug === slug ? baseSelectedShadow : s\n\t\t\t);\n\t\t\tsetSelectedShadow( baseSelectedShadow );\n\t\t\tsetShadows( updatedShadows );\n\t\t} else if ( action === 'delete' ) {\n\t\t\tsetIsConfirmDialogVisible( true );\n\t\t} else if ( action === 'rename' ) {\n\t\t\tsetIsRenameModalVisible( true );\n\t\t}\n\t};\n\n\tconst handleShadowDelete = () => {\n\t\tconst updatedShadows = shadows.filter( ( s ) => s.slug !== slug );\n\t\tsetShadows( updatedShadows );\n\t\tgoTo( `/shadows` );\n\t};\n\n\tconst handleShadowRename = ( newName ) => {\n\t\tif ( ! newName ) {\n\t\t\treturn;\n\t\t}\n\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\ts.slug === slug ? { ...selectedShadow, name: newName } : s\n\t\t);\n\t\tsetSelectedShadow( { ...selectedShadow, name: newName } );\n\t\tsetShadows( updatedShadows );\n\t};\n\n\treturn ! selectedShadow ? (\n\t\t<ScreenHeader title=\"\" />\n\t) : (\n\t\t<>\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<ScreenHeader title={ selectedShadow.name } />\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Spacer marginTop={ 2 } marginBottom={ 0 } paddingX={ 4 }>\n\t\t\t\t\t\t<DropdownMenuV2\n\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( category === 'custom'\n\t\t\t\t\t\t\t\t? customShadowMenuItems\n\t\t\t\t\t\t\t\t: presetShadowMenuItems\n\t\t\t\t\t\t\t).map( ( item ) => (\n\t\t\t\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\t\t\t\tkey={ item.action }\n\t\t\t\t\t\t\t\t\tonClick={ () => onMenuClick( item.action ) }\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\titem.action === 'reset' &&\n\t\t\t\t\t\t\t\t\t\tselectedShadow.shadow ===\n\t\t\t\t\t\t\t\t\t\t\tbaseSelectedShadow.shadow\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ item.label }\n\t\t\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</DropdownMenuV2>\n\t\t\t\t\t</Spacer>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t\t<div className=\"edit-site-global-styles-screen\">\n\t\t\t\t<ShadowsPreview shadow={ selectedShadow.shadow } />\n\t\t\t\t<ShadowEditor\n\t\t\t\t\tshadow={ selectedShadow.shadow }\n\t\t\t\t\tonChange={ onShadowChange }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ isConfirmDialogVisible && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen\n\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\thandleShadowDelete();\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonCancel={ () => {\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: name of the shadow\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\"?',\n\t\t\t\t\t\tselectedShadow.name\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t\t{ isRenameModalVisible && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename' ) }\n\t\t\t\t\tonRequestClose={ () => setIsRenameModalVisible( false ) }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\thandleShadowRename( shadowName );\n\t\t\t\t\t\t\tsetIsRenameModalVisible( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Shadow name' ) }\n\t\t\t\t\t\t\tvalue={ shadowName }\n\t\t\t\t\t\t\tonChange={ ( value ) => setShadowName( value ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Spacer marginBottom={ 6 } />\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tclassName=\"block-editor-shadow-edit-modal__actions\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tsetIsRenameModalVisible( false )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction ShadowsPreview( { shadow } ) {\n\tconst shadowStyle = {\n\t\tboxShadow: shadow,\n\t};\n\n\treturn (\n\t\t<Spacer marginBottom={ 4 } marginTop={ -2 }>\n\t\t\t<HStack\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tclassName=\"edit-site-global-styles__shadow-preview-panel\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadow-preview-block\"\n\t\t\t\t\tstyle={ shadowStyle }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</Spacer>\n\t);\n}\n\nfunction ShadowEditor( { shadow, onChange } ) {\n\tconst shadowParts = useMemo( () => getShadowParts( shadow ), [ shadow ] );\n\n\tconst onChangeShadowPart = ( index, part ) => {\n\t\tshadowParts[ index ] = part;\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\tconst onAddShadowPart = () => {\n\t\tshadowParts.push( defaultShadow );\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\tconst onRemoveShadowPart = ( index ) => {\n\t\tshadowParts.splice( index, 1 );\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t<Flex\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tclassName=\"edit-site-global-styles__shadows-panel__title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Shadows' ) }</Subtitle>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<FlexItem className=\"edit-site-global-styles__shadows-panel__options-container\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={ __( 'Add shadow' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonAddShadowPart();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t\t<Spacer />\n\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t{ shadowParts.map( ( part, index ) => (\n\t\t\t\t\t<ShadowItem\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\tshadow={ part }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tonChangeShadowPart( index, value )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcanRemove={ shadowParts.length > 1 }\n\t\t\t\t\t\tonRemove={ () => onRemoveShadowPart( index ) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction ShadowItem( { shadow, onChange, canRemove, onRemove } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\tconst shadowObj = useMemo(\n\t\t() => shadowStringToObject( shadow ),\n\t\t[ shadow ]\n\t);\n\tconst onShadowChange = ( newShadow ) => {\n\t\tonChange( shadowObjectToString( newShadow ) );\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"edit-site-global-styles__shadow-editor__dropdown\"\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\tconst toggleProps = {\n\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t'edit-site-global-styles__shadow-editor__dropdown-toggle',\n\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t),\n\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t};\n\t\t\t\tconst removeButtonProps = {\n\t\t\t\t\tonClick: onRemove,\n\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t'edit-site-global-styles__shadow-editor__remove-button',\n\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t),\n\t\t\t\t\tlabel: __( 'Remove shadow' ),\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<HStack align=\"center\" justify=\"flex-start\" spacing={ 0 }>\n\t\t\t\t\t\t<FlexItem style={ { flexGrow: 1 } }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\t\t\t{ ...toggleProps }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ shadowObj.inset\n\t\t\t\t\t\t\t\t\t? __( 'Inner shadow' )\n\t\t\t\t\t\t\t\t\t: __( 'Drop shadow' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</HStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tpaddingSize=\"medium\"\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadow-editor__dropdown-content\"\n\t\t\t\t>\n\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\tshadowObj={ shadowObj }\n\t\t\t\t\t\tonChange={ onShadowChange }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction ShadowPopover( { shadowObj, onChange } ) {\n\tconst __experimentalIsRenderedInSidebar = true;\n\tconst enableAlpha = true;\n\n\tconst onShadowChange = ( key, value ) => {\n\t\tconst newShadow = {\n\t\t\t...shadowObj,\n\t\t\t[ key ]: value,\n\t\t};\n\t\tonChange( newShadow );\n\t};\n\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-global-styles__shadow-editor-panel\"\n\t\t>\n\t\t\t<ColorPalette\n\t\t\t\tclearable={ false }\n\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tvalue={ shadowObj.color }\n\t\t\t\tonChange={ ( value ) => onShadowChange( 'color', value ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tvalue={ shadowObj.inset ? 'inset' : 'outset' }\n\t\t\t\tisBlock\n\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\tonShadowChange( 'inset', value === 'inset' )\n\t\t\t\t}\n\t\t\t\thideLabelFromVision\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"outset\"\n\t\t\t\t\tlabel={ __( 'Outset' ) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"inset\"\n\t\t\t\t\tlabel={ __( 'Inset' ) }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'X Position' ) }\n\t\t\t\t\tvalue={ shadowObj.x }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'x', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Y Position' ) }\n\t\t\t\t\tvalue={ shadowObj.y }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'y', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Blur' ) }\n\t\t\t\t\tvalue={ shadowObj.blur }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'blur', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Spread' ) }\n\t\t\t\t\tvalue={ shadowObj.spread }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'spread', value ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t</VStack>\n\t);\n}\n\nfunction ShadowInputControl( { label, value, onChange } ) {\n\tconst onValueChange = ( next ) => {\n\t\tconst isNumeric = next !== undefined && ! isNaN( parseFloat( next ) );\n\t\tconst nextValue = isNumeric ? next : '0px';\n\t\tonChange( nextValue );\n\t};\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ label }\n\t\t\t__next40pxDefaultSize\n\t\t\tvalue={ value }\n\t\t\tonChange={ onValueChange }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_blockEditor","_icons","_element","_lockUnlock","_subtitle","_header","_shadowsPanel","_shadowUtils","_jsxRuntime","useGlobalSetting","unlock","blockEditorPrivateApis","DropdownMenuV2","componentsPrivateApis","customShadowMenuItems","label","__","action","presetShadowMenuItems","ShadowsEditPanel","goBack","params","category","slug","useNavigator","shadows","setShadows","useEffect","hasCurrentShadow","some","shadow","baseShadows","undefined","selectedShadow","setSelectedShadow","useState","find","baseSelectedShadow","useMemo","b","isConfirmDialogVisible","setIsConfirmDialogVisible","isRenameModalVisible","setIsRenameModalVisible","shadowName","setShadowName","name","onShadowChange","updatedShadows","map","s","onMenuClick","handleShadowDelete","filter","handleShadowRename","newName","jsx","default","title","jsxs","Fragment","children","__experimentalHStack","justify","FlexItem","__experimentalSpacer","marginTop","marginBottom","paddingX","trigger","Button","size","icon","moreVertical","item","Item","onClick","disabled","ItemLabel","className","ShadowsPreview","ShadowEditor","onChange","__experimentalConfirmDialog","isOpen","onConfirm","onCancel","confirmButtonText","sprintf","Modal","onRequestClose","onSubmit","event","preventDefault","__experimentalInputControl","__next40pxDefaultSize","autoComplete","placeholder","value","Flex","expanded","variant","type","shadowStyle","boxShadow","align","style","shadowParts","getShadowParts","onChangeShadowPart","index","part","join","onAddShadowPart","push","defaultShadow","onRemoveShadowPart","splice","__experimentalVStack","spacing","level","plus","__experimentalItemGroup","isBordered","isSeparated","ShadowItem","canRemove","length","onRemove","popoverProps","placement","offset","shift","shadowObj","shadowStringToObject","newShadow","shadowObjectToString","Dropdown","renderToggle","onToggle","toggleProps","clsx","removeButtonProps","flexGrow","shadowIcon","inset","reset","renderContent","__experimentalDropdownContentWrapper","paddingSize","ShadowPopover","__experimentalIsRenderedInSidebar","enableAlpha","key","ColorPalette","clearable","color","__experimentalToggleGroupControl","__nextHasNoMarginBottom","isBlock","hideLabelFromVision","__experimentalToggleGroupControlOption","__experimentalGrid","columns","gap","ShadowInputControl","x","y","blur","spread","onValueChange","next","isNumeric","isNaN","parseFloat","nextValue","__experimentalUnitControl"],"sources":["@wordpress/edit-site/src/components/global-styles/shadows-edit-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalInputControl as InputControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalGrid as Grid,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tuseNavigator,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdown,\n\tButton,\n\tFlex,\n\tFlexItem,\n\tColorPalette,\n\tModal,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport {\n\tplus,\n\tshadow as shadowIcon,\n\treset,\n\tmoreVertical,\n} from '@wordpress/icons';\nimport { useState, useMemo, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport ScreenHeader from './header';\nimport { defaultShadow } from './shadows-panel';\nimport {\n\tgetShadowParts,\n\tshadowStringToObject,\n\tshadowObjectToString,\n} from './shadow-utils';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nconst { DropdownMenuV2 } = unlock( componentsPrivateApis );\n\nconst customShadowMenuItems = [\n\t{\n\t\tlabel: __( 'Rename' ),\n\t\taction: 'rename',\n\t},\n\t{\n\t\tlabel: __( 'Delete' ),\n\t\taction: 'delete',\n\t},\n];\n\nconst presetShadowMenuItems = [\n\t{\n\t\tlabel: __( 'Reset' ),\n\t\taction: 'reset',\n\t},\n];\n\nexport default function ShadowsEditPanel() {\n\tconst {\n\t\tgoBack,\n\t\tparams: { category, slug },\n\t} = useNavigator();\n\tconst [ shadows, setShadows ] = useGlobalSetting(\n\t\t`shadow.presets.${ category }`\n\t);\n\n\tuseEffect( () => {\n\t\tconst hasCurrentShadow = shadows?.some(\n\t\t\t( shadow ) => shadow.slug === slug\n\t\t);\n\t\t// If the shadow being edited doesn't exist anymore in the global styles setting, navigate back\n\t\t// to prevent the user from editing a non-existent shadow entry.\n\t\t// This can happen, for example:\n\t\t// - when the user deletes the shadow\n\t\t// - when the user resets the styles while editing a custom shadow\n\t\t//\n\t\t// The check on the slug is necessary to prevent a double back navigation when the user triggers\n\t\t// a backward navigation by interacting with the screen's UI.\n\t\tif ( !! slug && ! hasCurrentShadow ) {\n\t\t\tgoBack();\n\t\t}\n\t}, [ shadows, slug, goBack ] );\n\n\tconst [ baseShadows ] = useGlobalSetting(\n\t\t`shadow.presets.${ category }`,\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst [ selectedShadow, setSelectedShadow ] = useState( () =>\n\t\t( shadows || [] ).find( ( shadow ) => shadow.slug === slug )\n\t);\n\tconst baseSelectedShadow = useMemo(\n\t\t() => ( baseShadows || [] ).find( ( b ) => b.slug === slug ),\n\t\t[ baseShadows, slug ]\n\t);\n\tconst [ isConfirmDialogVisible, setIsConfirmDialogVisible ] =\n\t\tuseState( false );\n\tconst [ isRenameModalVisible, setIsRenameModalVisible ] = useState( false );\n\tconst [ shadowName, setShadowName ] = useState( selectedShadow.name );\n\n\tif ( ! category || ! slug ) {\n\t\treturn null;\n\t}\n\n\tconst onShadowChange = ( shadow ) => {\n\t\tsetSelectedShadow( { ...selectedShadow, shadow } );\n\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\ts.slug === slug ? { ...selectedShadow, shadow } : s\n\t\t);\n\t\tsetShadows( updatedShadows );\n\t};\n\n\tconst onMenuClick = ( action ) => {\n\t\tif ( action === 'reset' ) {\n\t\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\t\ts.slug === slug ? baseSelectedShadow : s\n\t\t\t);\n\t\t\tsetSelectedShadow( baseSelectedShadow );\n\t\t\tsetShadows( updatedShadows );\n\t\t} else if ( action === 'delete' ) {\n\t\t\tsetIsConfirmDialogVisible( true );\n\t\t} else if ( action === 'rename' ) {\n\t\t\tsetIsRenameModalVisible( true );\n\t\t}\n\t};\n\n\tconst handleShadowDelete = () => {\n\t\tsetShadows( shadows.filter( ( s ) => s.slug !== slug ) );\n\t};\n\n\tconst handleShadowRename = ( newName ) => {\n\t\tif ( ! newName ) {\n\t\t\treturn;\n\t\t}\n\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\ts.slug === slug ? { ...selectedShadow, name: newName } : s\n\t\t);\n\t\tsetSelectedShadow( { ...selectedShadow, name: newName } );\n\t\tsetShadows( updatedShadows );\n\t};\n\n\treturn ! selectedShadow ? (\n\t\t<ScreenHeader title=\"\" />\n\t) : (\n\t\t<>\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<ScreenHeader title={ selectedShadow.name } />\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Spacer marginTop={ 2 } marginBottom={ 0 } paddingX={ 4 }>\n\t\t\t\t\t\t<DropdownMenuV2\n\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( category === 'custom'\n\t\t\t\t\t\t\t\t? customShadowMenuItems\n\t\t\t\t\t\t\t\t: presetShadowMenuItems\n\t\t\t\t\t\t\t).map( ( item ) => (\n\t\t\t\t\t\t\t\t<DropdownMenuV2.Item\n\t\t\t\t\t\t\t\t\tkey={ item.action }\n\t\t\t\t\t\t\t\t\tonClick={ () => onMenuClick( item.action ) }\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\titem.action === 'reset' &&\n\t\t\t\t\t\t\t\t\t\tselectedShadow.shadow ===\n\t\t\t\t\t\t\t\t\t\t\tbaseSelectedShadow.shadow\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ item.label }\n\t\t\t\t\t\t\t\t\t</DropdownMenuV2.ItemLabel>\n\t\t\t\t\t\t\t\t</DropdownMenuV2.Item>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</DropdownMenuV2>\n\t\t\t\t\t</Spacer>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t\t<div className=\"edit-site-global-styles-screen\">\n\t\t\t\t<ShadowsPreview shadow={ selectedShadow.shadow } />\n\t\t\t\t<ShadowEditor\n\t\t\t\t\tshadow={ selectedShadow.shadow }\n\t\t\t\t\tonChange={ onShadowChange }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ isConfirmDialogVisible && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen\n\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\thandleShadowDelete();\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonCancel={ () => {\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: name of the shadow\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\"?',\n\t\t\t\t\t\tselectedShadow.name\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t\t{ isRenameModalVisible && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename' ) }\n\t\t\t\t\tonRequestClose={ () => setIsRenameModalVisible( false ) }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\thandleShadowRename( shadowName );\n\t\t\t\t\t\t\tsetIsRenameModalVisible( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Shadow name' ) }\n\t\t\t\t\t\t\tvalue={ shadowName }\n\t\t\t\t\t\t\tonChange={ ( value ) => setShadowName( value ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Spacer marginBottom={ 6 } />\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tclassName=\"block-editor-shadow-edit-modal__actions\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tsetIsRenameModalVisible( false )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction ShadowsPreview( { shadow } ) {\n\tconst shadowStyle = {\n\t\tboxShadow: shadow,\n\t};\n\n\treturn (\n\t\t<Spacer marginBottom={ 4 } marginTop={ -2 }>\n\t\t\t<HStack\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tclassName=\"edit-site-global-styles__shadow-preview-panel\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadow-preview-block\"\n\t\t\t\t\tstyle={ shadowStyle }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</Spacer>\n\t);\n}\n\nfunction ShadowEditor( { shadow, onChange } ) {\n\tconst shadowParts = useMemo( () => getShadowParts( shadow ), [ shadow ] );\n\n\tconst onChangeShadowPart = ( index, part ) => {\n\t\tshadowParts[ index ] = part;\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\tconst onAddShadowPart = () => {\n\t\tshadowParts.push( defaultShadow );\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\tconst onRemoveShadowPart = ( index ) => {\n\t\tshadowParts.splice( index, 1 );\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t<Flex\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tclassName=\"edit-site-global-styles__shadows-panel__title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Shadows' ) }</Subtitle>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<FlexItem className=\"edit-site-global-styles__shadows-panel__options-container\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={ __( 'Add shadow' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonAddShadowPart();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t\t<Spacer />\n\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t{ shadowParts.map( ( part, index ) => (\n\t\t\t\t\t<ShadowItem\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\tshadow={ part }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tonChangeShadowPart( index, value )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcanRemove={ shadowParts.length > 1 }\n\t\t\t\t\t\tonRemove={ () => onRemoveShadowPart( index ) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction ShadowItem( { shadow, onChange, canRemove, onRemove } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\tconst shadowObj = useMemo(\n\t\t() => shadowStringToObject( shadow ),\n\t\t[ shadow ]\n\t);\n\tconst onShadowChange = ( newShadow ) => {\n\t\tonChange( shadowObjectToString( newShadow ) );\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"edit-site-global-styles__shadow-editor__dropdown\"\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\tconst toggleProps = {\n\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t'edit-site-global-styles__shadow-editor__dropdown-toggle',\n\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t),\n\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t};\n\t\t\t\tconst removeButtonProps = {\n\t\t\t\t\tonClick: onRemove,\n\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t'edit-site-global-styles__shadow-editor__remove-button',\n\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t),\n\t\t\t\t\tlabel: __( 'Remove shadow' ),\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<HStack align=\"center\" justify=\"flex-start\" spacing={ 0 }>\n\t\t\t\t\t\t<FlexItem style={ { flexGrow: 1 } }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\t\t\t{ ...toggleProps }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ shadowObj.inset\n\t\t\t\t\t\t\t\t\t? __( 'Inner shadow' )\n\t\t\t\t\t\t\t\t\t: __( 'Drop shadow' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</HStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tpaddingSize=\"medium\"\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadow-editor__dropdown-content\"\n\t\t\t\t>\n\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\tshadowObj={ shadowObj }\n\t\t\t\t\t\tonChange={ onShadowChange }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction ShadowPopover( { shadowObj, onChange } ) {\n\tconst __experimentalIsRenderedInSidebar = true;\n\tconst enableAlpha = true;\n\n\tconst onShadowChange = ( key, value ) => {\n\t\tconst newShadow = {\n\t\t\t...shadowObj,\n\t\t\t[ key ]: value,\n\t\t};\n\t\tonChange( newShadow );\n\t};\n\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-global-styles__shadow-editor-panel\"\n\t\t>\n\t\t\t<ColorPalette\n\t\t\t\tclearable={ false }\n\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tvalue={ shadowObj.color }\n\t\t\t\tonChange={ ( value ) => onShadowChange( 'color', value ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tvalue={ shadowObj.inset ? 'inset' : 'outset' }\n\t\t\t\tisBlock\n\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\tonShadowChange( 'inset', value === 'inset' )\n\t\t\t\t}\n\t\t\t\thideLabelFromVision\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"outset\"\n\t\t\t\t\tlabel={ __( 'Outset' ) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"inset\"\n\t\t\t\t\tlabel={ __( 'Inset' ) }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'X Position' ) }\n\t\t\t\t\tvalue={ shadowObj.x }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'x', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Y Position' ) }\n\t\t\t\t\tvalue={ shadowObj.y }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'y', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Blur' ) }\n\t\t\t\t\tvalue={ shadowObj.blur }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'blur', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Spread' ) }\n\t\t\t\t\tvalue={ shadowObj.spread }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'spread', value ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t</VStack>\n\t);\n}\n\nfunction ShadowInputControl( { label, value, onChange } ) {\n\tconst onValueChange = ( next ) => {\n\t\tconst isNumeric = next !== undefined && ! isNaN( parseFloat( next ) );\n\t\tconst nextValue = isNumeric ? next : '0px';\n\t\tonChange( nextValue );\n\t};\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ label }\n\t\t\t__next40pxDefaultSize\n\t\t\tvalue={ value }\n\t\t\tonChange={ onValueChange }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -74,7 +74,7 @@ function ShadowList({
74
74
  const handleAddShadow = () => {
75
75
  const newIndex = (0, _utils.getNewIndexFromPresets)(shadows, 'shadow-');
76
76
  onCreate({
77
- name: (0, _i18n.sprintf)( /* translators: %s: is an index for a preset */
77
+ name: (0, _i18n.sprintf)(/* translators: %s: is an index for a preset */
78
78
  (0, _i18n.__)('Shadow %s'), newIndex),
79
79
  shadow: defaultShadow,
80
80
  slug: `shadow-${newIndex}`
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_blockEditor","_icons","_lockUnlock","_subtitle","_interopRequireDefault","_navigationButton","_header","_utils","_jsxRuntime","useGlobalSetting","unlock","blockEditorPrivateApis","defaultShadow","exports","ShadowsPanel","defaultShadows","defaultShadowsEnabled","themeShadows","customShadows","setCustomShadows","onCreateShadow","shadow","jsxs","Fragment","children","jsx","default","title","__","description","className","__experimentalVStack","spacing","ShadowList","label","shadows","category","length","canCreate","onCreate","handleAddShadow","newIndex","getNewIndexFromPresets","name","sprintf","slug","__experimentalHStack","justify","Flex","align","level","FlexItem","Button","size","icon","plus","onClick","__experimentalItemGroup","isBordered","isSeparated","map","ShadowItem","NavigationButtonAsItem","path","shadowIcon"],"sources":["@wordpress/edit-site/src/components/global-styles/shadows-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalItemGroup as ItemGroup,\n\tButton,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { plus, shadow as shadowIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport ScreenHeader from './header';\nimport { getNewIndexFromPresets } from './utils';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\n\nexport const defaultShadow = '6px 6px 9px rgba(0, 0, 0, 0.2)';\n\nexport default function ShadowsPanel() {\n\tconst [ defaultShadows ] = useGlobalSetting( 'shadow.presets.default' );\n\tconst [ defaultShadowsEnabled ] = useGlobalSetting(\n\t\t'shadow.defaultPresets'\n\t);\n\tconst [ themeShadows ] = useGlobalSetting( 'shadow.presets.theme' );\n\tconst [ customShadows, setCustomShadows ] = useGlobalSetting(\n\t\t'shadow.presets.custom'\n\t);\n\n\tconst onCreateShadow = ( shadow ) => {\n\t\tsetCustomShadows( [ ...( customShadows || [] ), shadow ] );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Shadows' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Manage and create shadow styles for use across the site.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<div className=\"edit-site-global-styles-screen\">\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadows-panel\"\n\t\t\t\t\tspacing={ 7 }\n\t\t\t\t>\n\t\t\t\t\t{ defaultShadowsEnabled && (\n\t\t\t\t\t\t<ShadowList\n\t\t\t\t\t\t\tlabel={ __( 'Default' ) }\n\t\t\t\t\t\t\tshadows={ defaultShadows || [] }\n\t\t\t\t\t\t\tcategory=\"default\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ themeShadows && themeShadows.length > 0 && (\n\t\t\t\t\t\t<ShadowList\n\t\t\t\t\t\t\tlabel={ __( 'Theme' ) }\n\t\t\t\t\t\t\tshadows={ themeShadows || [] }\n\t\t\t\t\t\t\tcategory=\"theme\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ShadowList\n\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\tshadows={ customShadows || [] }\n\t\t\t\t\t\tcategory=\"custom\"\n\t\t\t\t\t\tcanCreate\n\t\t\t\t\t\tonCreate={ onCreateShadow }\n\t\t\t\t\t/>\n\t\t\t\t</VStack>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nfunction ShadowList( { label, shadows, category, canCreate, onCreate } ) {\n\tconst handleAddShadow = () => {\n\t\tconst newIndex = getNewIndexFromPresets( shadows, 'shadow-' );\n\t\tonCreate( {\n\t\t\tname: sprintf(\n\t\t\t\t/* translators: %s: is an index for a preset */\n\t\t\t\t__( 'Shadow %s' ),\n\t\t\t\tnewIndex\n\t\t\t),\n\t\t\tshadow: defaultShadow,\n\t\t\tslug: `shadow-${ newIndex }`,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<Flex\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadows-panel__title\"\n\t\t\t\t>\n\t\t\t\t\t<Subtitle level={ 3 }>{ label }</Subtitle>\n\t\t\t\t</Flex>\n\t\t\t\t{ canCreate && (\n\t\t\t\t\t<FlexItem className=\"edit-site-global-styles__shadows-panel__options-container\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={ __( 'Add shadow' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\thandleAddShadow();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ shadows.length > 0 && (\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t{ shadows.map( ( shadow ) => (\n\t\t\t\t\t\t<ShadowItem\n\t\t\t\t\t\t\tkey={ shadow.slug }\n\t\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction ShadowItem( { shadow, category } ) {\n\treturn (\n\t\t<NavigationButtonAsItem\n\t\t\tpath={ `/shadows/edit/${ category }/${ shadow.slug }` }\n\t\t\taria-label={\n\t\t\t\t// translators: %s: name of the shadow\n\t\t\t\tsprintf( 'Edit shadow %s', shadow.name )\n\t\t\t}\n\t\t\ticon={ shadowIcon }\n\t\t>\n\t\t\t{ shadow.name }\n\t\t</NavigationButtonAsItem>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_i18n","_blockEditor","_icons","_lockUnlock","_subtitle","_interopRequireDefault","_navigationButton","_header","_utils","_jsxRuntime","useGlobalSetting","unlock","blockEditorPrivateApis","defaultShadow","exports","ShadowsPanel","defaultShadows","defaultShadowsEnabled","themeShadows","customShadows","setCustomShadows","onCreateShadow","shadow","jsxs","Fragment","children","jsx","default","title","__","description","className","__experimentalVStack","spacing","ShadowList","label","shadows","category","length","canCreate","onCreate","handleAddShadow","newIndex","getNewIndexFromPresets","name","sprintf","slug","__experimentalHStack","justify","Flex","align","level","FlexItem","Button","size","icon","plus","onClick","__experimentalItemGroup","isBordered","isSeparated","map","ShadowItem","NavigationButtonAsItem","path","shadowIcon"],"sources":["@wordpress/edit-site/src/components/global-styles/shadows-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalItemGroup as ItemGroup,\n\tButton,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { plus, shadow as shadowIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport ScreenHeader from './header';\nimport { getNewIndexFromPresets } from './utils';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\n\nexport const defaultShadow = '6px 6px 9px rgba(0, 0, 0, 0.2)';\n\nexport default function ShadowsPanel() {\n\tconst [ defaultShadows ] = useGlobalSetting( 'shadow.presets.default' );\n\tconst [ defaultShadowsEnabled ] = useGlobalSetting(\n\t\t'shadow.defaultPresets'\n\t);\n\tconst [ themeShadows ] = useGlobalSetting( 'shadow.presets.theme' );\n\tconst [ customShadows, setCustomShadows ] = useGlobalSetting(\n\t\t'shadow.presets.custom'\n\t);\n\n\tconst onCreateShadow = ( shadow ) => {\n\t\tsetCustomShadows( [ ...( customShadows || [] ), shadow ] );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Shadows' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Manage and create shadow styles for use across the site.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<div className=\"edit-site-global-styles-screen\">\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadows-panel\"\n\t\t\t\t\tspacing={ 7 }\n\t\t\t\t>\n\t\t\t\t\t{ defaultShadowsEnabled && (\n\t\t\t\t\t\t<ShadowList\n\t\t\t\t\t\t\tlabel={ __( 'Default' ) }\n\t\t\t\t\t\t\tshadows={ defaultShadows || [] }\n\t\t\t\t\t\t\tcategory=\"default\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ themeShadows && themeShadows.length > 0 && (\n\t\t\t\t\t\t<ShadowList\n\t\t\t\t\t\t\tlabel={ __( 'Theme' ) }\n\t\t\t\t\t\t\tshadows={ themeShadows || [] }\n\t\t\t\t\t\t\tcategory=\"theme\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ShadowList\n\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\tshadows={ customShadows || [] }\n\t\t\t\t\t\tcategory=\"custom\"\n\t\t\t\t\t\tcanCreate\n\t\t\t\t\t\tonCreate={ onCreateShadow }\n\t\t\t\t\t/>\n\t\t\t\t</VStack>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nfunction ShadowList( { label, shadows, category, canCreate, onCreate } ) {\n\tconst handleAddShadow = () => {\n\t\tconst newIndex = getNewIndexFromPresets( shadows, 'shadow-' );\n\t\tonCreate( {\n\t\t\tname: sprintf(\n\t\t\t\t/* translators: %s: is an index for a preset */\n\t\t\t\t__( 'Shadow %s' ),\n\t\t\t\tnewIndex\n\t\t\t),\n\t\t\tshadow: defaultShadow,\n\t\t\tslug: `shadow-${ newIndex }`,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<VStack spacing={ 2 }>\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<Flex\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadows-panel__title\"\n\t\t\t\t>\n\t\t\t\t\t<Subtitle level={ 3 }>{ label }</Subtitle>\n\t\t\t\t</Flex>\n\t\t\t\t{ canCreate && (\n\t\t\t\t\t<FlexItem className=\"edit-site-global-styles__shadows-panel__options-container\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={ __( 'Add shadow' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\thandleAddShadow();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ shadows.length > 0 && (\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t{ shadows.map( ( shadow ) => (\n\t\t\t\t\t\t<ShadowItem\n\t\t\t\t\t\t\tkey={ shadow.slug }\n\t\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</ItemGroup>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction ShadowItem( { shadow, category } ) {\n\treturn (\n\t\t<NavigationButtonAsItem\n\t\t\tpath={ `/shadows/edit/${ category }/${ shadow.slug }` }\n\t\t\taria-label={\n\t\t\t\t// translators: %s: name of the shadow\n\t\t\t\tsprintf( 'Edit shadow %s', shadow.name )\n\t\t\t}\n\t\t\ticon={ shadowIcon }\n\t\t>\n\t\t\t{ shadow.name }\n\t\t</NavigationButtonAsItem>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -33,11 +33,7 @@ function StyleVariationsContainer({
33
33
  const {
34
34
  user
35
35
  } = (0, _element.useContext)(GlobalStylesContext);
36
- const [currentUserStyles, setCurrentUserStyles] = (0, _element.useState)(user);
37
- const userStyles = currentUserStyles?.styles;
38
- (0, _element.useEffect)(() => {
39
- setCurrentUserStyles(user);
40
- }, [user]);
36
+ const userStyles = user?.styles;
41
37
  const variations = (0, _data.useSelect)(select => {
42
38
  return select(_coreData.store).__experimentalGetCurrentThemeGlobalStylesVariations();
43
39
  }, []);