@wordpress/edit-site 5.28.5 → 5.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/actions/index.js +1 -1
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/block-editor/editor-canvas.js +10 -11
  5. package/build/components/block-editor/editor-canvas.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +2 -1
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/code-editor/index.js +3 -2
  9. package/build/components/code-editor/index.js.map +1 -1
  10. package/build/components/editor/index.js +5 -19
  11. package/build/components/editor/index.js.map +1 -1
  12. package/build/components/editor-canvas-container/index.js +1 -1
  13. package/build/components/editor-canvas-container/index.js.map +1 -1
  14. package/build/components/global-styles/color-palette-panel.js +9 -0
  15. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  16. package/build/components/global-styles/font-families.js +1 -1
  17. package/build/components/global-styles/font-families.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  19. package/build/components/global-styles/font-library-modal/context.js +11 -0
  20. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  21. package/build/components/global-styles/font-library-modal/font-collection.js +5 -16
  22. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  23. package/build/components/global-styles/font-library-modal/index.js +2 -2
  24. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  25. package/build/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  26. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  27. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  29. package/build/components/global-styles/font-library-modal/utils/index.js +27 -0
  30. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  31. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +1 -1
  32. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  33. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  34. package/build/components/global-styles/header.js +1 -1
  35. package/build/components/global-styles/header.js.map +1 -1
  36. package/build/components/global-styles/highlighted-colors.js +50 -0
  37. package/build/components/global-styles/highlighted-colors.js.map +1 -0
  38. package/build/components/global-styles/preview-colors.js +62 -0
  39. package/build/components/global-styles/preview-colors.js.map +1 -0
  40. package/build/components/global-styles/preview-iframe.js +131 -0
  41. package/build/components/global-styles/preview-iframe.js.map +1 -0
  42. package/build/components/global-styles/preview-styles.js +163 -0
  43. package/build/components/global-styles/preview-styles.js.map +1 -0
  44. package/build/components/global-styles/preview-typography.js +65 -0
  45. package/build/components/global-styles/preview-typography.js.map +1 -0
  46. package/build/components/global-styles/screen-block-list.js +1 -1
  47. package/build/components/global-styles/screen-block-list.js.map +1 -1
  48. package/build/components/global-styles/screen-block.js +1 -1
  49. package/build/components/global-styles/screen-block.js.map +1 -1
  50. package/build/components/global-styles/screen-colors.js +10 -2
  51. package/build/components/global-styles/screen-colors.js.map +1 -1
  52. package/build/components/global-styles/screen-root.js +2 -2
  53. package/build/components/global-styles/screen-root.js.map +1 -1
  54. package/build/components/global-styles/screen-typography.js +10 -2
  55. package/build/components/global-styles/screen-typography.js.map +1 -1
  56. package/build/components/global-styles/style-variations-container.js +12 -84
  57. package/build/components/global-styles/style-variations-container.js.map +1 -1
  58. package/build/components/global-styles/{typogrphy-elements.js → typography-elements.js} +1 -1
  59. package/build/components/global-styles/typography-elements.js.map +1 -0
  60. package/build/components/global-styles/utils.js +22 -0
  61. package/build/components/global-styles/utils.js.map +1 -1
  62. package/build/components/global-styles/variations/variation.js +90 -0
  63. package/build/components/global-styles/variations/variation.js.map +1 -0
  64. package/build/components/global-styles/variations/variations-color.js +36 -0
  65. package/build/components/global-styles/variations/variations-color.js.map +1 -0
  66. package/build/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
  67. package/build/components/global-styles/variations/variations-panel.js.map +1 -0
  68. package/build/components/global-styles/variations/variations-typography.js +64 -0
  69. package/build/components/global-styles/variations/variations-typography.js.map +1 -0
  70. package/build/components/header-edit-mode/document-tools/index.js +1 -2
  71. package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
  72. package/build/components/header-edit-mode/index.js +16 -13
  73. package/build/components/header-edit-mode/index.js.map +1 -1
  74. package/build/components/header-edit-mode/more-menu/index.js +17 -6
  75. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  76. package/build/components/keyboard-shortcuts/edit-mode.js +0 -13
  77. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  78. package/build/components/keyboard-shortcuts/register.js +0 -18
  79. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  80. package/build/components/layout/index.js +4 -2
  81. package/build/components/layout/index.js.map +1 -1
  82. package/build/components/page-patterns/dataviews-pattern-actions.js +25 -8
  83. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  84. package/build/components/page-patterns/header.js +2 -1
  85. package/build/components/page-patterns/header.js.map +1 -1
  86. package/build/components/page-patterns/index.js +0 -1
  87. package/build/components/page-patterns/index.js.map +1 -1
  88. package/build/components/{list/added-by.js → page-templates-template-parts/hooks.js} +1 -61
  89. package/build/components/page-templates-template-parts/hooks.js.map +1 -0
  90. package/build/components/page-templates-template-parts/index.js +14 -6
  91. package/build/components/page-templates-template-parts/index.js.map +1 -1
  92. package/build/components/revisions/index.js.map +1 -1
  93. package/build/components/save-button/index.js +2 -1
  94. package/build/components/save-button/index.js.map +1 -1
  95. package/build/components/save-panel/index.js +18 -3
  96. package/build/components/save-panel/index.js.map +1 -1
  97. package/build/components/sidebar/index.js +1 -1
  98. package/build/components/sidebar/index.js.map +1 -1
  99. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
  100. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  101. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  102. package/build/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
  103. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  104. package/build/components/sidebar-edit-mode/template-panel/index.js +48 -5
  105. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  106. package/build/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
  107. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-global-styles/index.js +6 -2
  109. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  110. package/build/components/sidebar-navigation-screen-main/index.js +1 -2
  111. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  112. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  113. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -3
  114. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  115. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  116. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  117. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +2 -2
  118. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  119. package/build/components/sidebar-navigation-screen-template/index.js +2 -2
  120. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  121. package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  122. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  123. package/build/components/start-template-options/index.js.map +1 -1
  124. package/build/hooks/commands/use-edit-mode-commands.js +3 -171
  125. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  126. package/build/hooks/index.js +0 -1
  127. package/build/hooks/index.js.map +1 -1
  128. package/build/hooks/push-changes-to-global-styles/index.js +4 -5
  129. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  130. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +156 -0
  131. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
  132. package/build/store/actions.js +19 -50
  133. package/build/store/actions.js.map +1 -1
  134. package/build/utils/clone-deep.js +15 -0
  135. package/build/utils/clone-deep.js.map +1 -0
  136. package/build-module/components/actions/index.js +1 -1
  137. package/build-module/components/actions/index.js.map +1 -1
  138. package/build-module/components/block-editor/editor-canvas.js +10 -11
  139. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  140. package/build-module/components/block-editor/use-site-editor-settings.js +2 -1
  141. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  142. package/build-module/components/code-editor/index.js +3 -2
  143. package/build-module/components/code-editor/index.js.map +1 -1
  144. package/build-module/components/editor/index.js +6 -20
  145. package/build-module/components/editor/index.js.map +1 -1
  146. package/build-module/components/editor-canvas-container/index.js +2 -2
  147. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  148. package/build-module/components/global-styles/color-palette-panel.js +8 -0
  149. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  150. package/build-module/components/global-styles/font-families.js +1 -1
  151. package/build-module/components/global-styles/font-families.js.map +1 -1
  152. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  153. package/build-module/components/global-styles/font-library-modal/context.js +12 -1
  154. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  155. package/build-module/components/global-styles/font-library-modal/font-collection.js +7 -18
  156. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  157. package/build-module/components/global-styles/font-library-modal/index.js +2 -2
  158. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  159. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  160. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  161. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  162. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  163. package/build-module/components/global-styles/font-library-modal/utils/index.js +26 -0
  164. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  165. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +1 -1
  166. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  167. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  168. package/build-module/components/global-styles/header.js +1 -1
  169. package/build-module/components/global-styles/header.js.map +1 -1
  170. package/build-module/components/global-styles/highlighted-colors.js +43 -0
  171. package/build-module/components/global-styles/highlighted-colors.js.map +1 -0
  172. package/build-module/components/global-styles/preview-colors.js +54 -0
  173. package/build-module/components/global-styles/preview-colors.js.map +1 -0
  174. package/build-module/components/global-styles/preview-iframe.js +124 -0
  175. package/build-module/components/global-styles/preview-iframe.js.map +1 -0
  176. package/build-module/components/global-styles/preview-styles.js +155 -0
  177. package/build-module/components/global-styles/preview-styles.js.map +1 -0
  178. package/build-module/components/global-styles/preview-typography.js +58 -0
  179. package/build-module/components/global-styles/preview-typography.js.map +1 -0
  180. package/build-module/components/global-styles/screen-block-list.js +1 -1
  181. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  182. package/build-module/components/global-styles/screen-block.js +1 -1
  183. package/build-module/components/global-styles/screen-block.js.map +1 -1
  184. package/build-module/components/global-styles/screen-colors.js +10 -2
  185. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  186. package/build-module/components/global-styles/screen-root.js +2 -2
  187. package/build-module/components/global-styles/screen-root.js.map +1 -1
  188. package/build-module/components/global-styles/screen-typography.js +10 -2
  189. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  190. package/build-module/components/global-styles/style-variations-container.js +13 -85
  191. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  192. package/build-module/components/global-styles/{typogrphy-elements.js → typography-elements.js} +1 -1
  193. package/build-module/components/global-styles/typography-elements.js.map +1 -0
  194. package/build-module/components/global-styles/utils.js +21 -0
  195. package/build-module/components/global-styles/utils.js.map +1 -1
  196. package/build-module/components/global-styles/variations/variation.js +82 -0
  197. package/build-module/components/global-styles/variations/variation.js.map +1 -0
  198. package/build-module/components/global-styles/variations/variations-color.js +28 -0
  199. package/build-module/components/global-styles/variations/variations-color.js.map +1 -0
  200. package/build-module/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
  201. package/build-module/components/global-styles/variations/variations-panel.js.map +1 -0
  202. package/build-module/components/global-styles/variations/variations-typography.js +56 -0
  203. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -0
  204. package/build-module/components/header-edit-mode/document-tools/index.js +1 -2
  205. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
  206. package/build-module/components/header-edit-mode/index.js +17 -14
  207. package/build-module/components/header-edit-mode/index.js.map +1 -1
  208. package/build-module/components/header-edit-mode/more-menu/index.js +19 -8
  209. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  210. package/build-module/components/keyboard-shortcuts/edit-mode.js +0 -13
  211. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  212. package/build-module/components/keyboard-shortcuts/register.js +0 -18
  213. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  214. package/build-module/components/layout/index.js +5 -3
  215. package/build-module/components/layout/index.js.map +1 -1
  216. package/build-module/components/page-patterns/dataviews-pattern-actions.js +25 -8
  217. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  218. package/build-module/components/page-patterns/header.js +2 -1
  219. package/build-module/components/page-patterns/header.js.map +1 -1
  220. package/build-module/components/page-patterns/index.js +0 -1
  221. package/build-module/components/page-patterns/index.js.map +1 -1
  222. package/build-module/components/{list/added-by.js → page-templates-template-parts/hooks.js} +2 -59
  223. package/build-module/components/page-templates-template-parts/hooks.js.map +1 -0
  224. package/build-module/components/page-templates-template-parts/index.js +13 -5
  225. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  226. package/build-module/components/revisions/index.js.map +1 -1
  227. package/build-module/components/save-button/index.js +2 -1
  228. package/build-module/components/save-button/index.js.map +1 -1
  229. package/build-module/components/save-panel/index.js +18 -3
  230. package/build-module/components/save-panel/index.js.map +1 -1
  231. package/build-module/components/sidebar/index.js +1 -1
  232. package/build-module/components/sidebar/index.js.map +1 -1
  233. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
  234. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  235. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  236. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
  237. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  238. package/build-module/components/sidebar-edit-mode/template-panel/index.js +50 -7
  239. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  240. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
  241. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  242. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -2
  243. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  244. package/build-module/components/sidebar-navigation-screen-main/index.js +1 -2
  245. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  246. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
  247. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -3
  248. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  249. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  250. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  251. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  252. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  253. package/build-module/components/sidebar-navigation-screen-template/index.js +1 -1
  254. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  255. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
  256. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  257. package/build-module/components/start-template-options/index.js.map +1 -1
  258. package/build-module/hooks/commands/use-edit-mode-commands.js +4 -172
  259. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  260. package/build-module/hooks/index.js +0 -1
  261. package/build-module/hooks/index.js.map +1 -1
  262. package/build-module/hooks/push-changes-to-global-styles/index.js +1 -3
  263. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  264. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +144 -0
  265. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
  266. package/build-module/store/actions.js +19 -50
  267. package/build-module/store/actions.js.map +1 -1
  268. package/build-module/utils/clone-deep.js +9 -0
  269. package/build-module/utils/clone-deep.js.map +1 -0
  270. package/build-style/style-rtl.css +152 -472
  271. package/build-style/style.css +152 -472
  272. package/package.json +43 -42
  273. package/src/components/actions/index.js +1 -1
  274. package/src/components/block-editor/editor-canvas.js +13 -12
  275. package/src/components/block-editor/style.scss +0 -3
  276. package/src/components/block-editor/use-site-editor-settings.js +1 -0
  277. package/src/components/code-editor/index.js +3 -2
  278. package/src/components/editor/index.js +10 -27
  279. package/src/components/editor-canvas-container/index.js +2 -5
  280. package/src/components/{test → error-boundary/test}/error-boundary.js +7 -5
  281. package/src/components/global-styles/color-palette-panel.js +11 -1
  282. package/src/components/global-styles/font-families.js +1 -1
  283. package/src/components/global-styles/font-library-modal/collection-font-variant.js +1 -1
  284. package/src/components/global-styles/font-library-modal/context.js +24 -0
  285. package/src/components/global-styles/font-library-modal/font-collection.js +7 -24
  286. package/src/components/global-styles/font-library-modal/index.js +2 -2
  287. package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  288. package/src/components/global-styles/font-library-modal/library-font-variant.js +1 -1
  289. package/src/components/global-styles/font-library-modal/upload-fonts.js +1 -1
  290. package/src/components/global-styles/font-library-modal/utils/index.js +34 -0
  291. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +2 -1
  292. package/src/components/global-styles/gradients-palette-panel.js +2 -2
  293. package/src/components/global-styles/header.js +1 -1
  294. package/src/components/global-styles/highlighted-colors.js +39 -0
  295. package/src/components/global-styles/preview-colors.js +61 -0
  296. package/src/components/global-styles/preview-iframe.js +153 -0
  297. package/src/components/global-styles/preview-styles.js +185 -0
  298. package/src/components/global-styles/preview-typography.js +62 -0
  299. package/src/components/global-styles/screen-block-list.js +1 -1
  300. package/src/components/global-styles/screen-block.js +4 -1
  301. package/src/components/global-styles/screen-colors.js +13 -1
  302. package/src/components/global-styles/screen-revisions/style.scss +2 -2
  303. package/src/components/global-styles/screen-root.js +2 -2
  304. package/src/components/global-styles/screen-typography.js +19 -2
  305. package/src/components/global-styles/style-variations-container.js +14 -92
  306. package/src/components/global-styles/style.scss +1 -35
  307. package/src/components/global-styles/utils.js +37 -0
  308. package/src/components/global-styles/variations/style.scss +44 -0
  309. package/src/components/global-styles/variations/variation.js +93 -0
  310. package/src/components/global-styles/variations/variations-color.js +30 -0
  311. package/src/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
  312. package/src/components/global-styles/variations/variations-typography.js +85 -0
  313. package/src/components/header-edit-mode/document-tools/index.js +1 -2
  314. package/src/components/header-edit-mode/index.js +22 -31
  315. package/src/components/header-edit-mode/more-menu/index.js +25 -11
  316. package/src/components/header-edit-mode/style.scss +4 -0
  317. package/src/components/keyboard-shortcuts/edit-mode.js +0 -11
  318. package/src/components/keyboard-shortcuts/register.js +0 -19
  319. package/src/components/layout/index.js +5 -2
  320. package/src/components/page-patterns/dataviews-pattern-actions.js +41 -10
  321. package/src/components/page-patterns/header.js +1 -0
  322. package/src/components/page-patterns/index.js +1 -2
  323. package/src/components/page-patterns/style.scss +0 -182
  324. package/src/components/{list/added-by.js → page-templates-template-parts/hooks.js} +1 -66
  325. package/src/components/page-templates-template-parts/index.js +20 -3
  326. package/src/components/page-templates-template-parts/style.scss +48 -0
  327. package/src/components/revisions/index.js +1 -1
  328. package/src/components/save-button/index.js +2 -1
  329. package/src/components/save-hub/style.scss +1 -1
  330. package/src/components/save-panel/index.js +34 -12
  331. package/src/components/sidebar/index.js +1 -1
  332. package/src/components/sidebar-button/style.scss +1 -1
  333. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +5 -7
  334. package/src/components/sidebar-edit-mode/page-panels/page-status.js +1 -1
  335. package/src/components/sidebar-edit-mode/style.scss +4 -0
  336. package/src/components/sidebar-edit-mode/template-panel/hooks.js +37 -24
  337. package/src/components/sidebar-edit-mode/template-panel/index.js +76 -18
  338. package/src/components/sidebar-edit-mode/template-panel/style.scss +5 -14
  339. package/src/components/sidebar-edit-mode/template-panel/template-actions.js +1 -12
  340. package/src/components/sidebar-navigation-screen-global-styles/index.js +4 -1
  341. package/src/components/sidebar-navigation-screen-main/index.js +0 -2
  342. package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +1 -1
  343. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -2
  344. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +1 -1
  345. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +1 -1
  346. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  347. package/src/components/sidebar-navigation-screen-template/index.js +1 -1
  348. package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
  349. package/src/components/start-template-options/index.js +1 -1
  350. package/src/hooks/commands/use-edit-mode-commands.js +3 -184
  351. package/src/hooks/index.js +0 -1
  352. package/src/hooks/push-changes-to-global-styles/index.js +1 -4
  353. package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +1137 -0
  354. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +159 -0
  355. package/src/store/actions.js +21 -85
  356. package/src/store/test/actions.js +0 -75
  357. package/src/style.scss +3 -8
  358. package/src/utils/clone-deep.js +8 -0
  359. package/build/components/global-styles/preview.js +0 -271
  360. package/build/components/global-styles/preview.js.map +0 -1
  361. package/build/components/global-styles/typogrphy-elements.js.map +0 -1
  362. package/build/components/global-styles/variations-panel.js.map +0 -1
  363. package/build/components/header-edit-mode/mode-switcher/index.js +0 -62
  364. package/build/components/header-edit-mode/mode-switcher/index.js.map +0 -1
  365. package/build/components/list/added-by.js.map +0 -1
  366. package/build/components/list/header.js +0 -55
  367. package/build/components/list/header.js.map +0 -1
  368. package/build/components/list/index.js +0 -80
  369. package/build/components/list/index.js.map +0 -1
  370. package/build/components/list/table.js +0 -94
  371. package/build/components/list/table.js.map +0 -1
  372. package/build/components/list/use-register-shortcuts.js +0 -51
  373. package/build/components/list/use-register-shortcuts.js.map +0 -1
  374. package/build/components/page-patterns/duplicate-menu-item.js +0 -93
  375. package/build/components/page-patterns/duplicate-menu-item.js.map +0 -1
  376. package/build/components/page-patterns/grid-item.js +0 -223
  377. package/build/components/page-patterns/grid-item.js.map +0 -1
  378. package/build/components/page-patterns/grid.js +0 -31
  379. package/build/components/page-patterns/grid.js.map +0 -1
  380. package/build/components/page-patterns/no-patterns.js +0 -18
  381. package/build/components/page-patterns/no-patterns.js.map +0 -1
  382. package/build/components/page-patterns/patterns-list.js +0 -168
  383. package/build/components/page-patterns/patterns-list.js.map +0 -1
  384. package/build/components/page-patterns/rename-menu-item.js +0 -105
  385. package/build/components/page-patterns/rename-menu-item.js.map +0 -1
  386. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -83
  387. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
  388. package/build/components/sidebar-navigation-screen-main/template-part-hint.js +0 -36
  389. package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +0 -1
  390. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -36
  391. package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +0 -1
  392. package/build/hooks/navigation-menu-edit.js +0 -82
  393. package/build/hooks/navigation-menu-edit.js.map +0 -1
  394. package/build-module/components/global-styles/preview.js +0 -264
  395. package/build-module/components/global-styles/preview.js.map +0 -1
  396. package/build-module/components/global-styles/typogrphy-elements.js.map +0 -1
  397. package/build-module/components/global-styles/variations-panel.js.map +0 -1
  398. package/build-module/components/header-edit-mode/mode-switcher/index.js +0 -56
  399. package/build-module/components/header-edit-mode/mode-switcher/index.js.map +0 -1
  400. package/build-module/components/list/added-by.js.map +0 -1
  401. package/build-module/components/list/header.js +0 -47
  402. package/build-module/components/list/header.js.map +0 -1
  403. package/build-module/components/list/index.js +0 -72
  404. package/build-module/components/list/index.js.map +0 -1
  405. package/build-module/components/list/table.js +0 -86
  406. package/build-module/components/list/table.js.map +0 -1
  407. package/build-module/components/list/use-register-shortcuts.js +0 -45
  408. package/build-module/components/list/use-register-shortcuts.js.map +0 -1
  409. package/build-module/components/page-patterns/duplicate-menu-item.js +0 -85
  410. package/build-module/components/page-patterns/duplicate-menu-item.js.map +0 -1
  411. package/build-module/components/page-patterns/grid-item.js +0 -215
  412. package/build-module/components/page-patterns/grid-item.js.map +0 -1
  413. package/build-module/components/page-patterns/grid.js +0 -23
  414. package/build-module/components/page-patterns/grid.js.map +0 -1
  415. package/build-module/components/page-patterns/no-patterns.js +0 -11
  416. package/build-module/components/page-patterns/no-patterns.js.map +0 -1
  417. package/build-module/components/page-patterns/patterns-list.js +0 -160
  418. package/build-module/components/page-patterns/patterns-list.js.map +0 -1
  419. package/build-module/components/page-patterns/rename-menu-item.js +0 -98
  420. package/build-module/components/page-patterns/rename-menu-item.js.map +0 -1
  421. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -76
  422. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
  423. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +0 -29
  424. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +0 -1
  425. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -27
  426. package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +0 -1
  427. package/build-module/hooks/navigation-menu-edit.js +0 -75
  428. package/build-module/hooks/navigation-menu-edit.js.map +0 -1
  429. package/src/components/global-styles/preview.js +0 -327
  430. package/src/components/header-edit-mode/mode-switcher/index.js +0 -60
  431. package/src/components/list/header.js +0 -48
  432. package/src/components/list/index.js +0 -87
  433. package/src/components/list/style.scss +0 -188
  434. package/src/components/list/table.js +0 -140
  435. package/src/components/list/use-register-shortcuts.js +0 -49
  436. package/src/components/page-patterns/duplicate-menu-item.js +0 -105
  437. package/src/components/page-patterns/grid-item.js +0 -331
  438. package/src/components/page-patterns/grid.js +0 -22
  439. package/src/components/page-patterns/no-patterns.js +0 -12
  440. package/src/components/page-patterns/patterns-list.js +0 -229
  441. package/src/components/page-patterns/rename-menu-item.js +0 -132
  442. package/src/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -89
  443. package/src/components/sidebar-navigation-screen-main/template-part-hint.js +0 -34
  444. package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -22
  445. package/src/hooks/navigation-menu-edit.js +0 -92
  446. /package/src/components/global-styles/{typogrphy-elements.js → typography-elements.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["Disabled","__","BlockList","privateApis","blockEditorPrivateApis","store","blockEditorStore","__unstableEditorStyles","EditorStyles","__unstableIframe","Iframe","useSelect","useContext","useMemo","unlock","mergeBaseAndUserConfigs","EditorCanvasContainer","ExperimentalBlockEditorProvider","GlobalStylesContext","useGlobalStylesOutputWithConfig","isObjectEmpty","object","Object","keys","length","Revisions","userConfig","blocks","base","baseConfig","mergedConfig","renderedBlocksArray","Array","isArray","originalSettings","select","getSettings","settings","__unstableIsPreviewMode","globalStyles","editorStyles","styles","createElement","title","closeButtonLabel","enableResizing","className","name","tabIndex","value","renderAppender"],"sources":["@wordpress/edit-site/src/components/revisions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Disabled } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\nimport { unlock } from '../../lock-unlock';\nimport { mergeBaseAndUserConfigs } from '../global-styles/global-styles-provider';\nimport EditorCanvasContainer from '../editor-canvas-container';\n\nconst {\n\tExperimentalBlockEditorProvider,\n\tGlobalStylesContext,\n\tuseGlobalStylesOutputWithConfig,\n} = unlock( blockEditorPrivateApis );\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\nfunction Revisions( { userConfig, blocks } ) {\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\tconst renderedBlocksArray = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tconst editorStyles =\n\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t? globalStyles\n\t\t\t: settings.styles;\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\ttitle={ __( 'Revisions' ) }\n\t\t\tcloseButtonLabel={ __( 'Close revisions' ) }\n\t\t\tenableResizing={ true }\n\t\t>\n\t\t\t<Iframe\n\t\t\t\tclassName=\"edit-site-revisions__iframe\"\n\t\t\t\tname=\"revisions\"\n\t\t\t\ttabIndex={ 0 }\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ editorStyles } />\n\t\t\t\t<style>\n\t\t\t\t\t{\n\t\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t\t`.is-root-container { display: flow-root; }`\n\t\t\t\t\t}\n\t\t\t\t</style>\n\t\t\t\t<Disabled className=\"edit-site-revisions__example-preview__content\">\n\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\tvalue={ renderedBlocksArray }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t</Disabled>\n\t\t\t</Iframe>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\nexport default Revisions;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Disabled","__","BlockList","privateApis","blockEditorPrivateApis","store","blockEditorStore","__unstableEditorStyles","EditorStyles","__unstableIframe","Iframe","useSelect","useContext","useMemo","unlock","mergeBaseAndUserConfigs","EditorCanvasContainer","ExperimentalBlockEditorProvider","GlobalStylesContext","useGlobalStylesOutputWithConfig","isObjectEmpty","object","Object","keys","length","Revisions","userConfig","blocks","base","baseConfig","mergedConfig","renderedBlocksArray","Array","isArray","originalSettings","select","getSettings","settings","__unstableIsPreviewMode","globalStyles","editorStyles","styles","createElement","title","closeButtonLabel","enableResizing","className","name","tabIndex","value","renderAppender"],"sources":["@wordpress/edit-site/src/components/revisions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Disabled } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\nimport { unlock } from '../../lock-unlock';\nimport { mergeBaseAndUserConfigs } from '../global-styles/global-styles-provider';\nimport EditorCanvasContainer from '../editor-canvas-container';\n\nconst {\n\tExperimentalBlockEditorProvider,\n\tGlobalStylesContext,\n\tuseGlobalStylesOutputWithConfig,\n} = unlock( blockEditorPrivateApis );\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\nfunction Revisions( { userConfig, blocks } ) {\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\tconst renderedBlocksArray = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tconst editorStyles =\n\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t? globalStyles\n\t\t\t: settings.styles;\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\ttitle={ __( 'Revisions' ) }\n\t\t\tcloseButtonLabel={ __( 'Close revisions' ) }\n\t\t\tenableResizing\n\t\t>\n\t\t\t<Iframe\n\t\t\t\tclassName=\"edit-site-revisions__iframe\"\n\t\t\t\tname=\"revisions\"\n\t\t\t\ttabIndex={ 0 }\n\t\t\t>\n\t\t\t\t<EditorStyles styles={ editorStyles } />\n\t\t\t\t<style>\n\t\t\t\t\t{\n\t\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t\t`.is-root-container { display: flow-root; }`\n\t\t\t\t\t}\n\t\t\t\t</style>\n\t\t\t\t<Disabled className=\"edit-site-revisions__example-preview__content\">\n\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\tvalue={ renderedBlocksArray }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t</Disabled>\n\t\t\t</Iframe>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\nexport default Revisions;\n"],"mappings":"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"}
@@ -19,6 +19,7 @@ export default function SaveButton({
19
19
  showTooltip = true,
20
20
  defaultLabel,
21
21
  icon,
22
+ size,
22
23
  __next40pxDefaultSize = false
23
24
  }) {
24
25
  const {
@@ -98,7 +99,7 @@ export default function SaveButton({
98
99
  showTooltip: showTooltip,
99
100
  icon: icon,
100
101
  __next40pxDefaultSize: __next40pxDefaultSize,
101
- size: "compact"
102
+ size: size
102
103
  }, label);
103
104
  }
104
105
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","Button","__","sprintf","store","coreStore","displayShortcut","editSiteStore","currentlyPreviewingTheme","isPreviewingTheme","SaveButton","className","variant","showTooltip","defaultLabel","icon","__next40pxDefaultSize","isDirty","isSaving","isSaveViewOpen","previewingThemeName","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","isResolving","dirtyEntityRecords","isSaveViewOpened","isActivatingTheme","currentlyPreviewingThemeId","length","some","record","kind","name","key","getTheme","rendered","undefined","setIsSaveViewOpened","activateSaveEnabled","disabled","getLabel","label","createElement","isBusy","onClick","shortcut","primary","size"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tdefaultLabel,\n\ticon,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { isDirty, isSaving, isSaveViewOpen, previewingThemeName } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tisSavingEntityRecord,\n\t\t\t\tisResolving,\n\t\t\t} = select( coreStore );\n\t\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\t\tconst currentlyPreviewingThemeId = currentlyPreviewingTheme();\n\n\t\t\treturn {\n\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\tisSaving:\n\t\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t) || isActivatingTheme,\n\t\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t\t\t// Do not call `getTheme` with null, it will cause a request to\n\t\t\t\t// the server.\n\t\t\t\tpreviewingThemeName: currentlyPreviewingThemeId\n\t\t\t\t\t? select( coreStore ).getTheme( currentlyPreviewingThemeId )\n\t\t\t\t\t\t\t?.name?.rendered\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [] );\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\tconst disabled = isSaving || ! activateSaveEnabled;\n\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activating %s' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( isDirty ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activate %s & Save' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn sprintf(\n\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t__( 'Activate %s' ),\n\t\t\t\tpreviewingThemeName\n\t\t\t);\n\t\t}\n\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t} else if ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t} else if ( defaultLabel ) {\n\t\t\treturn defaultLabel;\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : () => setIsSaveViewOpened( true ) }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t * the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\tsize=\"compact\"\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useSelect","useDispatch","Button","__","sprintf","store","coreStore","displayShortcut","editSiteStore","currentlyPreviewingTheme","isPreviewingTheme","SaveButton","className","variant","showTooltip","defaultLabel","icon","size","__next40pxDefaultSize","isDirty","isSaving","isSaveViewOpen","previewingThemeName","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","isResolving","dirtyEntityRecords","isSaveViewOpened","isActivatingTheme","currentlyPreviewingThemeId","length","some","record","kind","name","key","getTheme","rendered","undefined","setIsSaveViewOpened","activateSaveEnabled","disabled","getLabel","label","createElement","isBusy","onClick","shortcut","primary"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tdefaultLabel,\n\ticon,\n\tsize,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { isDirty, isSaving, isSaveViewOpen, previewingThemeName } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tisSavingEntityRecord,\n\t\t\t\tisResolving,\n\t\t\t} = select( coreStore );\n\t\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\t\tconst currentlyPreviewingThemeId = currentlyPreviewingTheme();\n\n\t\t\treturn {\n\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\tisSaving:\n\t\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t) || isActivatingTheme,\n\t\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t\t\t// Do not call `getTheme` with null, it will cause a request to\n\t\t\t\t// the server.\n\t\t\t\tpreviewingThemeName: currentlyPreviewingThemeId\n\t\t\t\t\t? select( coreStore ).getTheme( currentlyPreviewingThemeId )\n\t\t\t\t\t\t\t?.name?.rendered\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [] );\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\tconst disabled = isSaving || ! activateSaveEnabled;\n\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activating %s' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( isDirty ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activate %s & Save' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn sprintf(\n\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t__( 'Activate %s' ),\n\t\t\t\tpreviewingThemeName\n\t\t\t);\n\t\t}\n\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t} else if ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t} else if ( defaultLabel ) {\n\t\t\treturn defaultLabel;\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : () => setIsSaveViewOpened( true ) }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t * the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\tsize={ size }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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"}
@@ -69,8 +69,17 @@ const _EntitiesSavedStates = ({
69
69
  export default function SavePanel() {
70
70
  const {
71
71
  isSaveViewOpen,
72
- canvasMode
72
+ canvasMode,
73
+ isDirty,
74
+ isSaving
73
75
  } = useSelect(select => {
76
+ const {
77
+ __experimentalGetDirtyEntityRecords,
78
+ isSavingEntityRecord,
79
+ isResolving
80
+ } = select(coreStore);
81
+ const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
82
+ const isActivatingTheme = isResolving('activateTheme');
74
83
  const {
75
84
  isSaveViewOpened,
76
85
  getCanvasMode
@@ -80,7 +89,9 @@ export default function SavePanel() {
80
89
  // Typically template or template part in the site editor.
81
90
  return {
82
91
  isSaveViewOpen: isSaveViewOpened(),
83
- canvasMode: getCanvasMode()
92
+ canvasMode: getCanvasMode(),
93
+ isDirty: dirtyEntityRecords.length > 0,
94
+ isSaving: dirtyEntityRecords.some(record => isSavingEntityRecord(record.kind, record.name, record.key)) || isActivatingTheme
84
95
  };
85
96
  }, []);
86
97
  const {
@@ -97,6 +108,8 @@ export default function SavePanel() {
97
108
  onClose: onClose
98
109
  })) : null;
99
110
  }
111
+ const activateSaveEnabled = isPreviewingTheme() || isDirty;
112
+ const disabled = isSaving || !activateSaveEnabled;
100
113
  return createElement(NavigableRegion, {
101
114
  className: classnames('edit-site-layout__actions', {
102
115
  'is-entity-save-view-open': isSaveViewOpen
@@ -110,7 +123,9 @@ export default function SavePanel() {
110
123
  variant: "secondary",
111
124
  className: "edit-site-editor__toggle-save-panel-button",
112
125
  onClick: () => setIsSaveViewOpened(true),
113
- "aria-expanded": false
126
+ "aria-expanded": false,
127
+ disabled: disabled,
128
+ __experimentalIsFocusable: true
114
129
  }, __('Open save panel'))));
115
130
  }
116
131
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","Button","Modal","EntitiesSavedStates","useEntitiesSavedStatesIsDirty","privateApis","useDispatch","useSelect","__","sprintf","NavigableRegion","store","coreStore","editSiteStore","unlock","useActivateTheme","useActualCurrentTheme","isPreviewingTheme","EntitiesSavedStatesExtensible","EntitiesSavedStatesForPreview","onClose","_currentTheme$name$re","_previewingTheme$name","isDirtyProps","activateSaveLabel","isDirty","currentTheme","previewingTheme","select","getCurrentTheme","additionalPrompt","createElement","name","rendered","activateTheme","onSave","values","close","saveEnabled","saveLabel","_EntitiesSavedStates","SavePanel","isSaveViewOpen","canvasMode","isSaveViewOpened","getCanvasMode","setIsSaveViewOpened","className","onRequestClose","__experimentalHideHeader","contentLabel","ariaLabel","variant","onClick"],"sources":["@wordpress/edit-site/src/components/save-panel/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Modal } from '@wordpress/components';\nimport {\n\tEntitiesSavedStates,\n\tuseEntitiesSavedStatesIsDirty,\n\tprivateApis,\n} from '@wordpress/editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { NavigableRegion } from '@wordpress/interface';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useActivateTheme } from '../../utils/use-activate-theme';\nimport { useActualCurrentTheme } from '../../utils/use-actual-current-theme';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\n\nconst { EntitiesSavedStatesExtensible } = unlock( privateApis );\n\nconst EntitiesSavedStatesForPreview = ( { onClose } ) => {\n\tconst isDirtyProps = useEntitiesSavedStatesIsDirty();\n\tlet activateSaveLabel;\n\tif ( isDirtyProps.isDirty ) {\n\t\tactivateSaveLabel = __( 'Activate & Save' );\n\t} else {\n\t\tactivateSaveLabel = __( 'Activate' );\n\t}\n\n\tconst currentTheme = useActualCurrentTheme();\n\n\tconst previewingTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme(),\n\t\t[]\n\t);\n\n\tconst additionalPrompt = (\n\t\t<p>\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: %1$s: The name of active theme, %2$s: The name of theme to be activated. */\n\t\t\t\t__(\n\t\t\t\t\t'Saving your changes will change your active theme from %1$s to %2$s.'\n\t\t\t\t),\n\t\t\t\tcurrentTheme?.name?.rendered ?? '...',\n\t\t\t\tpreviewingTheme?.name?.rendered ?? '...'\n\t\t\t) }\n\t\t</p>\n\t);\n\n\tconst activateTheme = useActivateTheme();\n\tconst onSave = async ( values ) => {\n\t\tawait activateTheme();\n\t\treturn values;\n\t};\n\n\treturn (\n\t\t<EntitiesSavedStatesExtensible\n\t\t\t{ ...{\n\t\t\t\t...isDirtyProps,\n\t\t\t\tadditionalPrompt,\n\t\t\t\tclose: onClose,\n\t\t\t\tonSave,\n\t\t\t\tsaveEnabled: true,\n\t\t\t\tsaveLabel: activateSaveLabel,\n\t\t\t} }\n\t\t/>\n\t);\n};\n\nconst _EntitiesSavedStates = ( { onClose } ) => {\n\tif ( isPreviewingTheme() ) {\n\t\treturn <EntitiesSavedStatesForPreview onClose={ onClose } />;\n\t}\n\treturn <EntitiesSavedStates close={ onClose } />;\n};\n\nexport default function SavePanel() {\n\tconst { isSaveViewOpen, canvasMode } = useSelect( ( select ) => {\n\t\tconst { isSaveViewOpened, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t};\n\t}, [] );\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\tconst onClose = () => setIsSaveViewOpened( false );\n\n\tif ( canvasMode === 'view' ) {\n\t\treturn isSaveViewOpen ? (\n\t\t\t<Modal\n\t\t\t\tclassName=\"edit-site-save-panel__modal\"\n\t\t\t\tonRequestClose={ onClose }\n\t\t\t\t__experimentalHideHeader\n\t\t\t\tcontentLabel={ __(\n\t\t\t\t\t'Save site, content, and template changes'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<_EntitiesSavedStates onClose={ onClose } />\n\t\t\t</Modal>\n\t\t) : null;\n\t}\n\n\treturn (\n\t\t<NavigableRegion\n\t\t\tclassName={ classnames( 'edit-site-layout__actions', {\n\t\t\t\t'is-entity-save-view-open': isSaveViewOpen,\n\t\t\t} ) }\n\t\t\tariaLabel={ __( 'Save panel' ) }\n\t\t>\n\t\t\t{ isSaveViewOpen ? (\n\t\t\t\t<_EntitiesSavedStates onClose={ onClose } />\n\t\t\t) : (\n\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\tonClick={ () => setIsSaveViewOpened( true ) }\n\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Open save panel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</NavigableRegion>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","Button","Modal","EntitiesSavedStates","useEntitiesSavedStatesIsDirty","privateApis","useDispatch","useSelect","__","sprintf","NavigableRegion","store","coreStore","editSiteStore","unlock","useActivateTheme","useActualCurrentTheme","isPreviewingTheme","EntitiesSavedStatesExtensible","EntitiesSavedStatesForPreview","onClose","_currentTheme$name$re","_previewingTheme$name","isDirtyProps","activateSaveLabel","isDirty","currentTheme","previewingTheme","select","getCurrentTheme","additionalPrompt","createElement","name","rendered","activateTheme","onSave","values","close","saveEnabled","saveLabel","_EntitiesSavedStates","SavePanel","isSaveViewOpen","canvasMode","isSaving","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","isResolving","dirtyEntityRecords","isActivatingTheme","isSaveViewOpened","getCanvasMode","length","some","record","kind","key","setIsSaveViewOpened","className","onRequestClose","__experimentalHideHeader","contentLabel","activateSaveEnabled","disabled","ariaLabel","variant","onClick","__experimentalIsFocusable"],"sources":["@wordpress/edit-site/src/components/save-panel/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button, Modal } from '@wordpress/components';\nimport {\n\tEntitiesSavedStates,\n\tuseEntitiesSavedStatesIsDirty,\n\tprivateApis,\n} from '@wordpress/editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { NavigableRegion } from '@wordpress/interface';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useActivateTheme } from '../../utils/use-activate-theme';\nimport { useActualCurrentTheme } from '../../utils/use-actual-current-theme';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\n\nconst { EntitiesSavedStatesExtensible } = unlock( privateApis );\n\nconst EntitiesSavedStatesForPreview = ( { onClose } ) => {\n\tconst isDirtyProps = useEntitiesSavedStatesIsDirty();\n\tlet activateSaveLabel;\n\tif ( isDirtyProps.isDirty ) {\n\t\tactivateSaveLabel = __( 'Activate & Save' );\n\t} else {\n\t\tactivateSaveLabel = __( 'Activate' );\n\t}\n\n\tconst currentTheme = useActualCurrentTheme();\n\n\tconst previewingTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme(),\n\t\t[]\n\t);\n\n\tconst additionalPrompt = (\n\t\t<p>\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: %1$s: The name of active theme, %2$s: The name of theme to be activated. */\n\t\t\t\t__(\n\t\t\t\t\t'Saving your changes will change your active theme from %1$s to %2$s.'\n\t\t\t\t),\n\t\t\t\tcurrentTheme?.name?.rendered ?? '...',\n\t\t\t\tpreviewingTheme?.name?.rendered ?? '...'\n\t\t\t) }\n\t\t</p>\n\t);\n\n\tconst activateTheme = useActivateTheme();\n\tconst onSave = async ( values ) => {\n\t\tawait activateTheme();\n\t\treturn values;\n\t};\n\n\treturn (\n\t\t<EntitiesSavedStatesExtensible\n\t\t\t{ ...{\n\t\t\t\t...isDirtyProps,\n\t\t\t\tadditionalPrompt,\n\t\t\t\tclose: onClose,\n\t\t\t\tonSave,\n\t\t\t\tsaveEnabled: true,\n\t\t\t\tsaveLabel: activateSaveLabel,\n\t\t\t} }\n\t\t/>\n\t);\n};\n\nconst _EntitiesSavedStates = ( { onClose } ) => {\n\tif ( isPreviewingTheme() ) {\n\t\treturn <EntitiesSavedStatesForPreview onClose={ onClose } />;\n\t}\n\treturn <EntitiesSavedStates close={ onClose } />;\n};\n\nexport default function SavePanel() {\n\tconst { isSaveViewOpen, canvasMode, isDirty, isSaving } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tisSavingEntityRecord,\n\t\t\t\tisResolving,\n\t\t\t} = select( coreStore );\n\t\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\t\tconst { isSaveViewOpened, getCanvasMode } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\n\t\t\t// The currently selected entity to display.\n\t\t\t// Typically template or template part in the site editor.\n\t\t\treturn {\n\t\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\tisSaving:\n\t\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t) || isActivatingTheme,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\tconst onClose = () => setIsSaveViewOpened( false );\n\n\tif ( canvasMode === 'view' ) {\n\t\treturn isSaveViewOpen ? (\n\t\t\t<Modal\n\t\t\t\tclassName=\"edit-site-save-panel__modal\"\n\t\t\t\tonRequestClose={ onClose }\n\t\t\t\t__experimentalHideHeader\n\t\t\t\tcontentLabel={ __(\n\t\t\t\t\t'Save site, content, and template changes'\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<_EntitiesSavedStates onClose={ onClose } />\n\t\t\t</Modal>\n\t\t) : null;\n\t}\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\tconst disabled = isSaving || ! activateSaveEnabled;\n\treturn (\n\t\t<NavigableRegion\n\t\t\tclassName={ classnames( 'edit-site-layout__actions', {\n\t\t\t\t'is-entity-save-view-open': isSaveViewOpen,\n\t\t\t} ) }\n\t\t\tariaLabel={ __( 'Save panel' ) }\n\t\t>\n\t\t\t{ isSaveViewOpen ? (\n\t\t\t\t<_EntitiesSavedStates onClose={ onClose } />\n\t\t\t) : (\n\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\tonClick={ () => setIsSaveViewOpened( true ) }\n\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Open save panel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</NavigableRegion>\n\t);\n}\n"],"mappings":"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"}
@@ -10,8 +10,8 @@ import classNames from 'classnames';
10
10
  import { memo, useRef } from '@wordpress/element';
11
11
  import { __experimentalNavigatorProvider as NavigatorProvider, __experimentalNavigatorScreen as NavigatorScreen } from '@wordpress/components';
12
12
  import { privateApis as routerPrivateApis } from '@wordpress/router';
13
- import { __ } from '@wordpress/i18n';
14
13
  import { useViewportMatch } from '@wordpress/compose';
14
+ import { __ } from '@wordpress/i18n';
15
15
 
16
16
  /**
17
17
  * Internal dependencies
@@ -1 +1 @@
1
- {"version":3,"names":["classNames","memo","useRef","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","privateApis","routerPrivateApis","__","useViewportMatch","SidebarNavigationScreenMain","SidebarNavigationScreenTemplates","SidebarNavigationScreenTemplate","SidebarNavigationScreenPatterns","SidebarNavigationScreenPattern","useSyncPathWithURL","getPathFromURL","SidebarNavigationScreenNavigationMenus","SidebarNavigationScreenNavigationMenu","SidebarNavigationScreenGlobalStyles","SidebarNavigationScreenTemplatesBrowse","SaveHub","unlock","SidebarNavigationScreenPages","SidebarNavigationScreen","DataViewsSidebarContent","SidebarNavigationScreenPage","useLocation","SidebarScreenWrapper","className","props","createElement","SidebarScreens","isMobileViewport","Fragment","path","title","content","backPath","Sidebar","params","urlParams","initialPath","current"],"sources":["@wordpress/edit-site/src/components/sidebar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { memo, useRef } from '@wordpress/element';\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n} from '@wordpress/components';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreenMain from '../sidebar-navigation-screen-main';\nimport SidebarNavigationScreenTemplates from '../sidebar-navigation-screen-templates';\nimport SidebarNavigationScreenTemplate from '../sidebar-navigation-screen-template';\nimport SidebarNavigationScreenPatterns from '../sidebar-navigation-screen-patterns';\nimport SidebarNavigationScreenPattern from '../sidebar-navigation-screen-pattern';\nimport useSyncPathWithURL, {\n\tgetPathFromURL,\n} from '../sync-state-with-url/use-sync-path-with-url';\nimport SidebarNavigationScreenNavigationMenus from '../sidebar-navigation-screen-navigation-menus';\nimport SidebarNavigationScreenNavigationMenu from '../sidebar-navigation-screen-navigation-menu';\nimport SidebarNavigationScreenGlobalStyles from '../sidebar-navigation-screen-global-styles';\nimport SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';\nimport SaveHub from '../save-hub';\nimport { unlock } from '../../lock-unlock';\nimport SidebarNavigationScreenPages from '../sidebar-navigation-screen-pages';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport DataViewsSidebarContent from '../sidebar-dataviews';\nimport SidebarNavigationScreenPage from '../sidebar-navigation-screen-page';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nfunction SidebarScreenWrapper( { className, ...props } ) {\n\treturn (\n\t\t<NavigatorScreen\n\t\t\tclassName={ classNames(\n\t\t\t\t'edit-site-sidebar__screen-wrapper',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction SidebarScreens() {\n\tuseSyncPathWithURL();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\treturn (\n\t\t<>\n\t\t\t<SidebarScreenWrapper path=\"/\">\n\t\t\t\t<SidebarNavigationScreenMain />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/navigation\">\n\t\t\t\t<SidebarNavigationScreenNavigationMenus />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/navigation/:postType/:postId\">\n\t\t\t\t<SidebarNavigationScreenNavigationMenu />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/wp_global_styles\">\n\t\t\t\t<SidebarNavigationScreenGlobalStyles />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/page\">\n\t\t\t\t<SidebarNavigationScreenPages />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/pages\">\n\t\t\t\t<SidebarNavigationScreen\n\t\t\t\t\ttitle={ __( 'Manage pages' ) }\n\t\t\t\t\tcontent={ <DataViewsSidebarContent /> }\n\t\t\t\t\tbackPath=\"/page\"\n\t\t\t\t/>\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/page/:postId\">\n\t\t\t\t<SidebarNavigationScreenPage />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/:postType(wp_template)\">\n\t\t\t\t<SidebarNavigationScreenTemplates />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t{ ! isMobileViewport && (\n\t\t\t\t<SidebarScreenWrapper path=\"/patterns\">\n\t\t\t\t\t<SidebarNavigationScreenPatterns />\n\t\t\t\t</SidebarScreenWrapper>\n\t\t\t) }\n\t\t\t<SidebarScreenWrapper path=\"/:postType(wp_template|wp_template_part)/all\">\n\t\t\t\t<SidebarNavigationScreenTemplatesBrowse />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/:postType(wp_template_part|wp_block)/:postId\">\n\t\t\t\t<SidebarNavigationScreenPattern />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/:postType(wp_template)/:postId\">\n\t\t\t\t<SidebarNavigationScreenTemplate />\n\t\t\t</SidebarScreenWrapper>\n\t\t</>\n\t);\n}\n\nfunction Sidebar() {\n\tconst { params: urlParams } = useLocation();\n\tconst initialPath = useRef( getPathFromURL( urlParams ) );\n\n\treturn (\n\t\t<>\n\t\t\t<NavigatorProvider\n\t\t\t\tclassName=\"edit-site-sidebar__content\"\n\t\t\t\tinitialPath={ initialPath.current }\n\t\t\t>\n\t\t\t\t<SidebarScreens />\n\t\t\t</NavigatorProvider>\n\t\t\t<SaveHub />\n\t\t</>\n\t);\n}\n\nexport default memo( Sidebar );\n"],"mappings":"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"}
1
+ {"version":3,"names":["classNames","memo","useRef","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","privateApis","routerPrivateApis","useViewportMatch","__","SidebarNavigationScreenMain","SidebarNavigationScreenTemplates","SidebarNavigationScreenTemplate","SidebarNavigationScreenPatterns","SidebarNavigationScreenPattern","useSyncPathWithURL","getPathFromURL","SidebarNavigationScreenNavigationMenus","SidebarNavigationScreenNavigationMenu","SidebarNavigationScreenGlobalStyles","SidebarNavigationScreenTemplatesBrowse","SaveHub","unlock","SidebarNavigationScreenPages","SidebarNavigationScreen","DataViewsSidebarContent","SidebarNavigationScreenPage","useLocation","SidebarScreenWrapper","className","props","createElement","SidebarScreens","isMobileViewport","Fragment","path","title","content","backPath","Sidebar","params","urlParams","initialPath","current"],"sources":["@wordpress/edit-site/src/components/sidebar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { memo, useRef } from '@wordpress/element';\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n} from '@wordpress/components';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreenMain from '../sidebar-navigation-screen-main';\nimport SidebarNavigationScreenTemplates from '../sidebar-navigation-screen-templates';\nimport SidebarNavigationScreenTemplate from '../sidebar-navigation-screen-template';\nimport SidebarNavigationScreenPatterns from '../sidebar-navigation-screen-patterns';\nimport SidebarNavigationScreenPattern from '../sidebar-navigation-screen-pattern';\nimport useSyncPathWithURL, {\n\tgetPathFromURL,\n} from '../sync-state-with-url/use-sync-path-with-url';\nimport SidebarNavigationScreenNavigationMenus from '../sidebar-navigation-screen-navigation-menus';\nimport SidebarNavigationScreenNavigationMenu from '../sidebar-navigation-screen-navigation-menu';\nimport SidebarNavigationScreenGlobalStyles from '../sidebar-navigation-screen-global-styles';\nimport SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';\nimport SaveHub from '../save-hub';\nimport { unlock } from '../../lock-unlock';\nimport SidebarNavigationScreenPages from '../sidebar-navigation-screen-pages';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport DataViewsSidebarContent from '../sidebar-dataviews';\nimport SidebarNavigationScreenPage from '../sidebar-navigation-screen-page';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nfunction SidebarScreenWrapper( { className, ...props } ) {\n\treturn (\n\t\t<NavigatorScreen\n\t\t\tclassName={ classNames(\n\t\t\t\t'edit-site-sidebar__screen-wrapper',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction SidebarScreens() {\n\tuseSyncPathWithURL();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\treturn (\n\t\t<>\n\t\t\t<SidebarScreenWrapper path=\"/\">\n\t\t\t\t<SidebarNavigationScreenMain />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/navigation\">\n\t\t\t\t<SidebarNavigationScreenNavigationMenus />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/navigation/:postType/:postId\">\n\t\t\t\t<SidebarNavigationScreenNavigationMenu />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/wp_global_styles\">\n\t\t\t\t<SidebarNavigationScreenGlobalStyles />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/page\">\n\t\t\t\t<SidebarNavigationScreenPages />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/pages\">\n\t\t\t\t<SidebarNavigationScreen\n\t\t\t\t\ttitle={ __( 'Manage pages' ) }\n\t\t\t\t\tcontent={ <DataViewsSidebarContent /> }\n\t\t\t\t\tbackPath=\"/page\"\n\t\t\t\t/>\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/page/:postId\">\n\t\t\t\t<SidebarNavigationScreenPage />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/:postType(wp_template)\">\n\t\t\t\t<SidebarNavigationScreenTemplates />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t{ ! isMobileViewport && (\n\t\t\t\t<SidebarScreenWrapper path=\"/patterns\">\n\t\t\t\t\t<SidebarNavigationScreenPatterns />\n\t\t\t\t</SidebarScreenWrapper>\n\t\t\t) }\n\t\t\t<SidebarScreenWrapper path=\"/:postType(wp_template|wp_template_part)/all\">\n\t\t\t\t<SidebarNavigationScreenTemplatesBrowse />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/:postType(wp_template_part|wp_block)/:postId\">\n\t\t\t\t<SidebarNavigationScreenPattern />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/:postType(wp_template)/:postId\">\n\t\t\t\t<SidebarNavigationScreenTemplate />\n\t\t\t</SidebarScreenWrapper>\n\t\t</>\n\t);\n}\n\nfunction Sidebar() {\n\tconst { params: urlParams } = useLocation();\n\tconst initialPath = useRef( getPathFromURL( urlParams ) );\n\n\treturn (\n\t\t<>\n\t\t\t<NavigatorProvider\n\t\t\t\tclassName=\"edit-site-sidebar__content\"\n\t\t\t\tinitialPath={ initialPath.current }\n\t\t\t>\n\t\t\t\t<SidebarScreens />\n\t\t\t</NavigatorProvider>\n\t\t\t<SaveHub />\n\t\t</>\n\t);\n}\n\nexport default memo( Sidebar );\n"],"mappings":"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"}
@@ -37,7 +37,7 @@ export default function GlobalStylesSidebar() {
37
37
  getCanvasMode
38
38
  } = unlock(select(editSiteStore));
39
39
  const canvasContainerView = getEditorCanvasContainerView();
40
- const _isVisualEditorMode = 'visual' === select(editSiteStore).getEditorMode();
40
+ const _isVisualEditorMode = 'visual' === select(editorStore).getEditorMode();
41
41
  const _isEditCanvasMode = 'edit' === getCanvasMode();
42
42
  const _showListViewByDefault = select(preferencesStore).get('core', 'showListViewByDefault');
43
43
  const {
@@ -108,14 +108,14 @@ export default function GlobalStylesSidebar() {
108
108
  closeLabel: __('Close Styles'),
109
109
  panelClassName: "edit-site-global-styles-sidebar__panel",
110
110
  header: createElement(Flex, {
111
- className: "edit-site-global-styles-sidebar__header",
112
- role: "menubar",
113
- "aria-label": __('Styles actions')
111
+ className: "edit-site-global-styles-sidebar__header"
114
112
  }, createElement(FlexBlock, {
115
113
  style: {
116
114
  minWidth: 'min-content'
117
115
  }
118
- }, createElement("strong", null, __('Styles'))), createElement(FlexItem, null, createElement(Button, {
116
+ }, createElement("h2", {
117
+ className: "edit-site-global-styles-sidebar__header-title"
118
+ }, __('Styles'))), createElement(FlexItem, null, createElement(Button, {
119
119
  icon: seen,
120
120
  label: __('Style Book'),
121
121
  isPressed: isStyleBookOpened || isRevisionsStyleBookOpened,
@@ -1 +1 @@
1
- {"version":3,"names":["FlexItem","FlexBlock","Flex","Button","__experimentalUseNavigator","useNavigator","__","styles","seen","backup","useSelect","useDispatch","useEffect","store","interfaceStore","preferencesStore","editorStore","DefaultSidebar","GlobalStylesUI","editSiteStore","GlobalStylesMenuSlot","unlock","coreStore","GlobalStylesSidebar","shouldClearCanvasContainerView","isStyleBookOpened","showListViewByDefault","hasRevisions","isRevisionsOpened","isRevisionsStyleBookOpened","select","getActiveComplementaryArea","getEditorCanvasContainerView","getCanvasMode","canvasContainerView","_isVisualEditorMode","getEditorMode","_isEditCanvasMode","_showListViewByDefault","get","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","undefined","_links","count","setEditorCanvasContainerView","setIsListViewOpened","goTo","toggleRevisions","toggleStyleBook","createElement","className","identifier","title","icon","closeLabel","panelClassName","header","role","style","minWidth","label","isPressed","disabled","onClick"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/global-styles-sidebar.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFlexItem,\n\tFlexBlock,\n\tFlex,\n\tButton,\n\t__experimentalUseNavigator as useNavigator,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { styles, seen, backup } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport DefaultSidebar from './default-sidebar';\nimport { GlobalStylesUI } from '../global-styles';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesMenuSlot } from '../global-styles/ui';\nimport { unlock } from '../../lock-unlock';\nimport { store as coreStore } from '@wordpress/core-data';\n\nexport default function GlobalStylesSidebar() {\n\tconst {\n\t\tshouldClearCanvasContainerView,\n\t\tisStyleBookOpened,\n\t\tshowListViewByDefault,\n\t\thasRevisions,\n\t\tisRevisionsOpened,\n\t\tisRevisionsStyleBookOpened,\n\t} = useSelect( ( select ) => {\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\t\tconst { getEditorCanvasContainerView, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst canvasContainerView = getEditorCanvasContainerView();\n\t\tconst _isVisualEditorMode =\n\t\t\t'visual' === select( editSiteStore ).getEditorMode();\n\t\tconst _isEditCanvasMode = 'edit' === getCanvasMode();\n\t\tconst _showListViewByDefault = select( preferencesStore ).get(\n\t\t\t'core',\n\t\t\t'showListViewByDefault'\n\t\t);\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tisStyleBookOpened: 'style-book' === canvasContainerView,\n\t\t\tshouldClearCanvasContainerView:\n\t\t\t\t'edit-site/global-styles' !==\n\t\t\t\t\tgetActiveComplementaryArea( 'core/edit-site' ) ||\n\t\t\t\t! _isVisualEditorMode ||\n\t\t\t\t! _isEditCanvasMode,\n\t\t\tshowListViewByDefault: _showListViewByDefault,\n\t\t\thasRevisions:\n\t\t\t\t!! globalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count,\n\t\t\tisRevisionsStyleBookOpened:\n\t\t\t\t'global-styles-revisions:style-book' === canvasContainerView,\n\t\t\tisRevisionsOpened:\n\t\t\t\t'global-styles-revisions' === canvasContainerView,\n\t\t};\n\t}, [] );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\n\tuseEffect( () => {\n\t\tif ( shouldClearCanvasContainerView ) {\n\t\t\tsetEditorCanvasContainerView( undefined );\n\t\t}\n\t}, [ shouldClearCanvasContainerView ] );\n\n\tconst { setIsListViewOpened } = useDispatch( editorStore );\n\tconst { goTo } = useNavigator();\n\n\tconst toggleRevisions = () => {\n\t\tsetIsListViewOpened( false );\n\t\tif ( isRevisionsStyleBookOpened ) {\n\t\t\tgoTo( '/' );\n\t\t\tsetEditorCanvasContainerView( 'style-book' );\n\t\t\treturn;\n\t\t}\n\t\tif ( isRevisionsOpened ) {\n\t\t\tgoTo( '/' );\n\t\t\tsetEditorCanvasContainerView( undefined );\n\t\t\treturn;\n\t\t}\n\t\tgoTo( '/revisions' );\n\n\t\tif ( isStyleBookOpened ) {\n\t\t\tsetEditorCanvasContainerView(\n\t\t\t\t'global-styles-revisions:style-book'\n\t\t\t);\n\t\t} else {\n\t\t\tsetEditorCanvasContainerView( 'global-styles-revisions' );\n\t\t}\n\t};\n\tconst toggleStyleBook = () => {\n\t\tif ( isRevisionsOpened ) {\n\t\t\tsetEditorCanvasContainerView(\n\t\t\t\t'global-styles-revisions:style-book'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif ( isRevisionsStyleBookOpened ) {\n\t\t\tsetEditorCanvasContainerView( 'global-styles-revisions' );\n\t\t\treturn;\n\t\t}\n\t\tsetIsListViewOpened( isStyleBookOpened && showListViewByDefault );\n\t\tsetEditorCanvasContainerView(\n\t\t\tisStyleBookOpened ? undefined : 'style-book'\n\t\t);\n\t};\n\n\treturn (\n\t\t<DefaultSidebar\n\t\t\tclassName=\"edit-site-global-styles-sidebar\"\n\t\t\tidentifier=\"edit-site/global-styles\"\n\t\t\ttitle={ __( 'Styles' ) }\n\t\t\ticon={ styles }\n\t\t\tcloseLabel={ __( 'Close Styles' ) }\n\t\t\tpanelClassName=\"edit-site-global-styles-sidebar__panel\"\n\t\t\theader={\n\t\t\t\t<Flex\n\t\t\t\t\tclassName=\"edit-site-global-styles-sidebar__header\"\n\t\t\t\t\trole=\"menubar\"\n\t\t\t\t\taria-label={ __( 'Styles actions' ) }\n\t\t\t\t>\n\t\t\t\t\t<FlexBlock style={ { minWidth: 'min-content' } }>\n\t\t\t\t\t\t<strong>{ __( 'Styles' ) }</strong>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ seen }\n\t\t\t\t\t\t\tlabel={ __( 'Style Book' ) }\n\t\t\t\t\t\t\tisPressed={\n\t\t\t\t\t\t\t\tisStyleBookOpened || isRevisionsStyleBookOpened\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ shouldClearCanvasContainerView }\n\t\t\t\t\t\t\tonClick={ toggleStyleBook }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={ __( 'Revisions' ) }\n\t\t\t\t\t\t\ticon={ backup }\n\t\t\t\t\t\t\tonClick={ toggleRevisions }\n\t\t\t\t\t\t\tdisabled={ ! hasRevisions }\n\t\t\t\t\t\t\tisPressed={\n\t\t\t\t\t\t\t\tisRevisionsOpened || isRevisionsStyleBookOpened\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\t<GlobalStylesMenuSlot />\n\t\t\t\t</Flex>\n\t\t\t}\n\t\t>\n\t\t\t<GlobalStylesUI />\n\t\t</DefaultSidebar>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["FlexItem","FlexBlock","Flex","Button","__experimentalUseNavigator","useNavigator","__","styles","seen","backup","useSelect","useDispatch","useEffect","store","interfaceStore","preferencesStore","editorStore","DefaultSidebar","GlobalStylesUI","editSiteStore","GlobalStylesMenuSlot","unlock","coreStore","GlobalStylesSidebar","shouldClearCanvasContainerView","isStyleBookOpened","showListViewByDefault","hasRevisions","isRevisionsOpened","isRevisionsStyleBookOpened","select","getActiveComplementaryArea","getEditorCanvasContainerView","getCanvasMode","canvasContainerView","_isVisualEditorMode","getEditorMode","_isEditCanvasMode","_showListViewByDefault","get","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","undefined","_links","count","setEditorCanvasContainerView","setIsListViewOpened","goTo","toggleRevisions","toggleStyleBook","createElement","className","identifier","title","icon","closeLabel","panelClassName","header","style","minWidth","label","isPressed","disabled","onClick"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/global-styles-sidebar.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFlexItem,\n\tFlexBlock,\n\tFlex,\n\tButton,\n\t__experimentalUseNavigator as useNavigator,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { styles, seen, backup } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport DefaultSidebar from './default-sidebar';\nimport { GlobalStylesUI } from '../global-styles';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesMenuSlot } from '../global-styles/ui';\nimport { unlock } from '../../lock-unlock';\nimport { store as coreStore } from '@wordpress/core-data';\n\nexport default function GlobalStylesSidebar() {\n\tconst {\n\t\tshouldClearCanvasContainerView,\n\t\tisStyleBookOpened,\n\t\tshowListViewByDefault,\n\t\thasRevisions,\n\t\tisRevisionsOpened,\n\t\tisRevisionsStyleBookOpened,\n\t} = useSelect( ( select ) => {\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\t\tconst { getEditorCanvasContainerView, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst canvasContainerView = getEditorCanvasContainerView();\n\t\tconst _isVisualEditorMode =\n\t\t\t'visual' === select( editorStore ).getEditorMode();\n\t\tconst _isEditCanvasMode = 'edit' === getCanvasMode();\n\t\tconst _showListViewByDefault = select( preferencesStore ).get(\n\t\t\t'core',\n\t\t\t'showListViewByDefault'\n\t\t);\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tisStyleBookOpened: 'style-book' === canvasContainerView,\n\t\t\tshouldClearCanvasContainerView:\n\t\t\t\t'edit-site/global-styles' !==\n\t\t\t\t\tgetActiveComplementaryArea( 'core/edit-site' ) ||\n\t\t\t\t! _isVisualEditorMode ||\n\t\t\t\t! _isEditCanvasMode,\n\t\t\tshowListViewByDefault: _showListViewByDefault,\n\t\t\thasRevisions:\n\t\t\t\t!! globalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count,\n\t\t\tisRevisionsStyleBookOpened:\n\t\t\t\t'global-styles-revisions:style-book' === canvasContainerView,\n\t\t\tisRevisionsOpened:\n\t\t\t\t'global-styles-revisions' === canvasContainerView,\n\t\t};\n\t}, [] );\n\tconst { setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\n\tuseEffect( () => {\n\t\tif ( shouldClearCanvasContainerView ) {\n\t\t\tsetEditorCanvasContainerView( undefined );\n\t\t}\n\t}, [ shouldClearCanvasContainerView ] );\n\n\tconst { setIsListViewOpened } = useDispatch( editorStore );\n\tconst { goTo } = useNavigator();\n\n\tconst toggleRevisions = () => {\n\t\tsetIsListViewOpened( false );\n\t\tif ( isRevisionsStyleBookOpened ) {\n\t\t\tgoTo( '/' );\n\t\t\tsetEditorCanvasContainerView( 'style-book' );\n\t\t\treturn;\n\t\t}\n\t\tif ( isRevisionsOpened ) {\n\t\t\tgoTo( '/' );\n\t\t\tsetEditorCanvasContainerView( undefined );\n\t\t\treturn;\n\t\t}\n\t\tgoTo( '/revisions' );\n\n\t\tif ( isStyleBookOpened ) {\n\t\t\tsetEditorCanvasContainerView(\n\t\t\t\t'global-styles-revisions:style-book'\n\t\t\t);\n\t\t} else {\n\t\t\tsetEditorCanvasContainerView( 'global-styles-revisions' );\n\t\t}\n\t};\n\tconst toggleStyleBook = () => {\n\t\tif ( isRevisionsOpened ) {\n\t\t\tsetEditorCanvasContainerView(\n\t\t\t\t'global-styles-revisions:style-book'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif ( isRevisionsStyleBookOpened ) {\n\t\t\tsetEditorCanvasContainerView( 'global-styles-revisions' );\n\t\t\treturn;\n\t\t}\n\t\tsetIsListViewOpened( isStyleBookOpened && showListViewByDefault );\n\t\tsetEditorCanvasContainerView(\n\t\t\tisStyleBookOpened ? undefined : 'style-book'\n\t\t);\n\t};\n\n\treturn (\n\t\t<DefaultSidebar\n\t\t\tclassName=\"edit-site-global-styles-sidebar\"\n\t\t\tidentifier=\"edit-site/global-styles\"\n\t\t\ttitle={ __( 'Styles' ) }\n\t\t\ticon={ styles }\n\t\t\tcloseLabel={ __( 'Close Styles' ) }\n\t\t\tpanelClassName=\"edit-site-global-styles-sidebar__panel\"\n\t\t\theader={\n\t\t\t\t<Flex className=\"edit-site-global-styles-sidebar__header\">\n\t\t\t\t\t<FlexBlock style={ { minWidth: 'min-content' } }>\n\t\t\t\t\t\t<h2 className=\"edit-site-global-styles-sidebar__header-title\">\n\t\t\t\t\t\t\t{ __( 'Styles' ) }\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ seen }\n\t\t\t\t\t\t\tlabel={ __( 'Style Book' ) }\n\t\t\t\t\t\t\tisPressed={\n\t\t\t\t\t\t\t\tisStyleBookOpened || isRevisionsStyleBookOpened\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdisabled={ shouldClearCanvasContainerView }\n\t\t\t\t\t\t\tonClick={ toggleStyleBook }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={ __( 'Revisions' ) }\n\t\t\t\t\t\t\ticon={ backup }\n\t\t\t\t\t\t\tonClick={ toggleRevisions }\n\t\t\t\t\t\t\tdisabled={ ! hasRevisions }\n\t\t\t\t\t\t\tisPressed={\n\t\t\t\t\t\t\t\tisRevisionsOpened || isRevisionsStyleBookOpened\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\t<GlobalStylesMenuSlot />\n\t\t\t\t</Flex>\n\t\t\t}\n\t\t>\n\t\t\t<GlobalStylesUI />\n\t\t</DefaultSidebar>\n\t);\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["Button","ToggleControl","Dropdown","__experimentalText","Text","__experimentalVStack","VStack","TextControl","RadioControl","VisuallyHidden","__","useDispatch","useState","useMemo","store","coreStore","noticesStore","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","useInstanceId","privateApis","editorPrivateApis","StatusLabel","unlock","PostPanelRow","STATUS_OPTIONS","label","createElement","Fragment","variant","value","PageStatus","postType","postId","status","password","date","showPassword","setShowPassword","instanceId","editEntityRecord","createErrorNotice","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","saveStatus","newStatus","newPassword","newDate","error","errorMessage","message","code","type","handleTogglePassword","handleStatus","Date","setDate","getDate","contentClassName","focusOnMount","ref","renderToggle","onToggle","className","onClick","renderContent","onClose","title","spacing","hideLabelFromVision","options","onChange","selected","as","size","lineHeight","weight","upperCase","checked","htmlFor","placeholder","id"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/page-status.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tToggleControl,\n\tDropdown,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tTextControl,\n\tRadioControl,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { useInstanceId } from '@wordpress/compose';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport StatusLabel from '../../sidebar-navigation-screen-page/status-label';\nimport { unlock } from '../../../lock-unlock';\n\nconst { PostPanelRow } = unlock( editorPrivateApis );\n\nconst STATUS_OPTIONS = [\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Draft' ) }\n\t\t\t\t<Text variant=\"muted\">{ __( 'Not ready to publish.' ) }</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'draft',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Pending' ) }\n\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t{ __( 'Waiting for review before publishing.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'pending',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Private' ) }\n\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t{ __( 'Only visible to site admins and editors.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'private',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Scheduled' ) }\n\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t{ __( 'Publish automatically on a chosen date.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'future',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Published' ) }\n\t\t\t\t<Text variant=\"muted\">{ __( 'Visible to everyone.' ) }</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'publish',\n\t},\n];\n\nexport default function PageStatus( {\n\tpostType,\n\tpostId,\n\tstatus,\n\tpassword,\n\tdate,\n} ) {\n\tconst [ showPassword, setShowPassword ] = useState( !! password );\n\tconst instanceId = useInstanceId( PageStatus );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\t'aria-label': __( 'Change status' ),\n\t\t\tplacement: 'bottom-end',\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst saveStatus = async ( {\n\t\tstatus: newStatus = status,\n\t\tpassword: newPassword = password,\n\t\tdate: newDate = date,\n\t} ) => {\n\t\ttry {\n\t\t\tawait editEntityRecord( 'postType', postType, postId, {\n\t\t\t\tstatus: newStatus,\n\t\t\t\tdate: newDate,\n\t\t\t\tpassword: newPassword,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while updating the status' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst handleTogglePassword = ( value ) => {\n\t\tsetShowPassword( value );\n\t\tif ( ! value ) {\n\t\t\tsaveStatus( { password: '' } );\n\t\t}\n\t};\n\n\tconst handleStatus = ( value ) => {\n\t\tlet newDate = date;\n\t\tlet newPassword = password;\n\t\tif ( value === 'publish' ) {\n\t\t\tif ( new Date( date ) > new Date() ) {\n\t\t\t\tnewDate = null;\n\t\t\t}\n\t\t} else if ( value === 'future' ) {\n\t\t\tif ( ! date || new Date( date ) < new Date() ) {\n\t\t\t\tnewDate = new Date();\n\t\t\t\tnewDate.setDate( newDate.getDate() + 7 );\n\t\t\t}\n\t\t} else if ( value === 'private' && password ) {\n\t\t\tsetShowPassword( false );\n\t\t\tnewPassword = '';\n\t\t}\n\t\tsaveStatus( {\n\t\t\tstatus: value,\n\t\t\tdate: newDate,\n\t\t\tpassword: newPassword,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<PostPanelRow label={ __( 'Status' ) }>\n\t\t\t<Dropdown\n\t\t\t\tcontentClassName=\"edit-site-change-status__content\"\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tfocusOnMount\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t\trenderToggle={ ( { onToggle } ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-site-summary-field__trigger\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<StatusLabel\n\t\t\t\t\t\t\tstatus={ password ? 'protected' : status }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\ttitle={ __( 'Status' ) }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<form>\n\t\t\t\t\t\t\t<VStack spacing={ 5 }>\n\t\t\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-change-status__options\"\n\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Status' ) }\n\t\t\t\t\t\t\t\t\toptions={ STATUS_OPTIONS }\n\t\t\t\t\t\t\t\t\tonChange={ handleStatus }\n\t\t\t\t\t\t\t\t\tselected={ status }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ status !== 'private' && (\n\t\t\t\t\t\t\t\t\t<fieldset className=\"edit-site-change-status__password-fieldset\">\n\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\tas=\"legend\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-change-status__password-legend\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"11\"\n\t\t\t\t\t\t\t\t\t\t\tlineHeight={ 1.4 }\n\t\t\t\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\t\t\t\tupperCase={ true }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Password' ) }\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Hide this page behind a password'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tchecked={ showPassword }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ handleTogglePassword }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ showPassword && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-change-status__password-input\">\n\t\t\t\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\t\t\t\tas=\"label\"\n\t\t\t\t\t\t\t\t\t\t\t\t\thtmlFor={ `edit-site-change-status__password-input-${ instanceId }` }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Create password' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsaveStatus( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpassword: value,\n\t\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\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ password }\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Use a secure password'\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\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid={ `edit-site-change-status__password-input-${ instanceId }` }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</fieldset>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostPanelRow>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Button","ToggleControl","Dropdown","__experimentalText","Text","__experimentalVStack","VStack","TextControl","RadioControl","VisuallyHidden","__","useDispatch","useState","useMemo","store","coreStore","noticesStore","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","useInstanceId","privateApis","editorPrivateApis","StatusLabel","unlock","PostPanelRow","STATUS_OPTIONS","label","createElement","Fragment","variant","value","PageStatus","postType","postId","status","password","date","showPassword","setShowPassword","instanceId","editEntityRecord","createErrorNotice","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","saveStatus","newStatus","newPassword","newDate","error","errorMessage","message","code","type","handleTogglePassword","handleStatus","Date","setDate","getDate","contentClassName","focusOnMount","ref","renderToggle","onToggle","className","onClick","renderContent","onClose","title","spacing","hideLabelFromVision","options","onChange","selected","as","size","lineHeight","weight","upperCase","checked","htmlFor","placeholder","id"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/page-status.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tToggleControl,\n\tDropdown,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tTextControl,\n\tRadioControl,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { useInstanceId } from '@wordpress/compose';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport StatusLabel from '../../sidebar-navigation-screen-page/status-label';\nimport { unlock } from '../../../lock-unlock';\n\nconst { PostPanelRow } = unlock( editorPrivateApis );\n\nconst STATUS_OPTIONS = [\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Draft' ) }\n\t\t\t\t<Text variant=\"muted\">{ __( 'Not ready to publish.' ) }</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'draft',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Pending' ) }\n\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t{ __( 'Waiting for review before publishing.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'pending',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Private' ) }\n\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t{ __( 'Only visible to site admins and editors.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'private',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Scheduled' ) }\n\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t{ __( 'Publish automatically on a chosen date.' ) }\n\t\t\t\t</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'future',\n\t},\n\t{\n\t\tlabel: (\n\t\t\t<>\n\t\t\t\t{ __( 'Published' ) }\n\t\t\t\t<Text variant=\"muted\">{ __( 'Visible to everyone.' ) }</Text>\n\t\t\t</>\n\t\t),\n\t\tvalue: 'publish',\n\t},\n];\n\nexport default function PageStatus( {\n\tpostType,\n\tpostId,\n\tstatus,\n\tpassword,\n\tdate,\n} ) {\n\tconst [ showPassword, setShowPassword ] = useState( !! password );\n\tconst instanceId = useInstanceId( PageStatus );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\t'aria-label': __( 'Change status' ),\n\t\t\tplacement: 'bottom-end',\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst saveStatus = async ( {\n\t\tstatus: newStatus = status,\n\t\tpassword: newPassword = password,\n\t\tdate: newDate = date,\n\t} ) => {\n\t\ttry {\n\t\t\tawait editEntityRecord( 'postType', postType, postId, {\n\t\t\t\tstatus: newStatus,\n\t\t\t\tdate: newDate,\n\t\t\t\tpassword: newPassword,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while updating the status' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst handleTogglePassword = ( value ) => {\n\t\tsetShowPassword( value );\n\t\tif ( ! value ) {\n\t\t\tsaveStatus( { password: '' } );\n\t\t}\n\t};\n\n\tconst handleStatus = ( value ) => {\n\t\tlet newDate = date;\n\t\tlet newPassword = password;\n\t\tif ( value === 'publish' ) {\n\t\t\tif ( new Date( date ) > new Date() ) {\n\t\t\t\tnewDate = null;\n\t\t\t}\n\t\t} else if ( value === 'future' ) {\n\t\t\tif ( ! date || new Date( date ) < new Date() ) {\n\t\t\t\tnewDate = new Date();\n\t\t\t\tnewDate.setDate( newDate.getDate() + 7 );\n\t\t\t}\n\t\t} else if ( value === 'private' && password ) {\n\t\t\tsetShowPassword( false );\n\t\t\tnewPassword = '';\n\t\t}\n\t\tsaveStatus( {\n\t\t\tstatus: value,\n\t\t\tdate: newDate,\n\t\t\tpassword: newPassword,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<PostPanelRow label={ __( 'Status' ) }>\n\t\t\t<Dropdown\n\t\t\t\tcontentClassName=\"edit-site-change-status__content\"\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tfocusOnMount\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t\trenderToggle={ ( { onToggle } ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-site-summary-field__trigger\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t<StatusLabel\n\t\t\t\t\t\t\tstatus={ password ? 'protected' : status }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\ttitle={ __( 'Status' ) }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<form>\n\t\t\t\t\t\t\t<VStack spacing={ 5 }>\n\t\t\t\t\t\t\t\t<RadioControl\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-change-status__options\"\n\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Status' ) }\n\t\t\t\t\t\t\t\t\toptions={ STATUS_OPTIONS }\n\t\t\t\t\t\t\t\t\tonChange={ handleStatus }\n\t\t\t\t\t\t\t\t\tselected={ status }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ status !== 'private' && (\n\t\t\t\t\t\t\t\t\t<fieldset className=\"edit-site-change-status__password-fieldset\">\n\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\tas=\"legend\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-change-status__password-legend\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"11\"\n\t\t\t\t\t\t\t\t\t\t\tlineHeight={ 1.4 }\n\t\t\t\t\t\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\t\t\t\t\t\tupperCase\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Password' ) }\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Hide this page behind a password'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tchecked={ showPassword }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ handleTogglePassword }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ showPassword && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-change-status__password-input\">\n\t\t\t\t\t\t\t\t\t\t\t\t<VisuallyHidden\n\t\t\t\t\t\t\t\t\t\t\t\t\tas=\"label\"\n\t\t\t\t\t\t\t\t\t\t\t\t\thtmlFor={ `edit-site-change-status__password-input-${ instanceId }` }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Create password' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsaveStatus( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpassword: value,\n\t\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\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ password }\n\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Use a secure password'\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\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tid={ `edit-site-change-status__password-input-${ instanceId }` }\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</fieldset>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostPanelRow>\n\t);\n}\n"],"mappings":"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"}
@@ -21,16 +21,30 @@ function injectThemeAttributeInBlockTemplateContent(block, currentThemeStyleshee
21
21
  }
22
22
  return block;
23
23
  }
24
- function preparePatterns(patterns, template, currentThemeStylesheet) {
24
+
25
+ /**
26
+ * Filter all patterns and return only the ones that are compatible with the current template.
27
+ *
28
+ * @param {Array} patterns An array of patterns.
29
+ * @param {Object} template The current template.
30
+ * @return {Array} Array of patterns that are compatible with the current template.
31
+ */
32
+ function filterPatterns(patterns, template) {
25
33
  // Filter out duplicates.
26
34
  const filterOutDuplicatesByName = (currentItem, index, items) => index === items.findIndex(item => currentItem.name === item.name);
27
35
 
28
36
  // Filter out core/directory patterns not included in theme.json.
29
37
  const filterOutExcludedPatternSources = pattern => !EXCLUDED_PATTERN_SOURCES.includes(pattern.source);
30
38
 
31
- // Filter only the patterns that are compatible with the current template.
32
- const filterCompatiblePatterns = pattern => pattern.templateTypes?.includes(template.slug);
33
- return patterns.filter((pattern, index, items) => filterOutExcludedPatternSources(pattern) && filterOutDuplicatesByName(pattern, index, items) && filterCompatiblePatterns(pattern)).map(pattern => ({
39
+ // Looks for patterns that have the same template type as the current template,
40
+ // or have a block type that matches the current template area.
41
+ const filterCompatiblePatterns = pattern => pattern.templateTypes?.includes(template.slug) || pattern.blockTypes?.includes('core/template-part/' + template.area);
42
+ return patterns.filter((pattern, index, items) => {
43
+ return filterOutDuplicatesByName(pattern, index, items) && filterOutExcludedPatternSources(pattern) && filterCompatiblePatterns(pattern);
44
+ });
45
+ }
46
+ function preparePatterns(patterns, template, currentThemeStylesheet) {
47
+ return patterns.map(pattern => ({
34
48
  ...pattern,
35
49
  keywords: pattern.keywords || [],
36
50
  type: PATTERN_TYPES.theme,
@@ -58,7 +72,8 @@ export function useAvailablePatterns(template) {
58
72
  }, []);
59
73
  return useMemo(() => {
60
74
  const mergedPatterns = [...(blockPatterns || []), ...(restBlockPatterns || [])];
61
- return preparePatterns(mergedPatterns, template, currentThemeStylesheet);
75
+ const filteredPatterns = filterPatterns(mergedPatterns, template);
76
+ return preparePatterns(filteredPatterns, template, currentThemeStylesheet);
62
77
  }, [blockPatterns, restBlockPatterns, template, currentThemeStylesheet]);
63
78
  }
64
79
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useMemo","store","coreStore","parse","editSiteStore","EXCLUDED_PATTERN_SOURCES","PATTERN_TYPES","unlock","injectThemeAttributeInBlockTemplateContent","block","currentThemeStylesheet","innerBlocks","map","innerBlock","name","attributes","theme","undefined","preparePatterns","patterns","template","filterOutDuplicatesByName","currentItem","index","items","findIndex","item","filterOutExcludedPatternSources","pattern","includes","source","filterCompatiblePatterns","templateTypes","slug","filter","keywords","type","blocks","content","__unstableSkipMigrationLogs","useAvailablePatterns","blockPatterns","restBlockPatterns","select","_settings$__experimen","getSettings","settings","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","getBlockPatterns","getCurrentTheme","stylesheet","mergedPatterns"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport {\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_TYPES,\n} from '../../../utils/constants';\nimport { unlock } from '../../../lock-unlock';\n\nfunction injectThemeAttributeInBlockTemplateContent(\n\tblock,\n\tcurrentThemeStylesheet\n) {\n\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\treturn injectThemeAttributeInBlockTemplateContent(\n\t\t\tinnerBlock,\n\t\t\tcurrentThemeStylesheet\n\t\t);\n\t} );\n\n\tif (\n\t\tblock.name === 'core/template-part' &&\n\t\tblock.attributes.theme === undefined\n\t) {\n\t\tblock.attributes.theme = currentThemeStylesheet;\n\t}\n\treturn block;\n}\n\nfunction preparePatterns( patterns, template, currentThemeStylesheet ) {\n\t// Filter out duplicates.\n\tconst filterOutDuplicatesByName = ( currentItem, index, items ) =>\n\t\tindex === items.findIndex( ( item ) => currentItem.name === item.name );\n\n\t// Filter out core/directory patterns not included in theme.json.\n\tconst filterOutExcludedPatternSources = ( pattern ) =>\n\t\t! EXCLUDED_PATTERN_SOURCES.includes( pattern.source );\n\n\t// Filter only the patterns that are compatible with the current template.\n\tconst filterCompatiblePatterns = ( pattern ) =>\n\t\tpattern.templateTypes?.includes( template.slug );\n\n\treturn patterns\n\t\t.filter(\n\t\t\t( pattern, index, items ) =>\n\t\t\t\tfilterOutExcludedPatternSources( pattern ) &&\n\t\t\t\tfilterOutDuplicatesByName( pattern, index, items ) &&\n\t\t\t\tfilterCompatiblePatterns( pattern )\n\t\t)\n\t\t.map( ( pattern ) => ( {\n\t\t\t...pattern,\n\t\t\tkeywords: pattern.keywords || [],\n\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} ).map( ( block ) =>\n\t\t\t\tinjectThemeAttributeInBlockTemplateContent(\n\t\t\t\t\tblock,\n\t\t\t\t\tcurrentThemeStylesheet\n\t\t\t\t)\n\t\t\t),\n\t\t} ) );\n}\n\nexport function useAvailablePatterns( template ) {\n\tconst { blockPatterns, restBlockPatterns, currentThemeStylesheet } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\t\tconst settings = getSettings();\n\n\t\t\treturn {\n\t\t\t\tblockPatterns:\n\t\t\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\t\t\tsettings.__experimentalBlockPatterns,\n\t\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\t\tcurrentThemeStylesheet:\n\t\t\t\t\tselect( coreStore ).getCurrentTheme().stylesheet,\n\t\t\t};\n\t\t}, [] );\n\n\treturn useMemo( () => {\n\t\tconst mergedPatterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t];\n\t\treturn preparePatterns(\n\t\t\tmergedPatterns,\n\t\t\ttemplate,\n\t\t\tcurrentThemeStylesheet\n\t\t);\n\t}, [ blockPatterns, restBlockPatterns, template, currentThemeStylesheet ] );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useSelect","useMemo","store","coreStore","parse","editSiteStore","EXCLUDED_PATTERN_SOURCES","PATTERN_TYPES","unlock","injectThemeAttributeInBlockTemplateContent","block","currentThemeStylesheet","innerBlocks","map","innerBlock","name","attributes","theme","undefined","filterPatterns","patterns","template","filterOutDuplicatesByName","currentItem","index","items","findIndex","item","filterOutExcludedPatternSources","pattern","includes","source","filterCompatiblePatterns","templateTypes","slug","blockTypes","area","filter","preparePatterns","keywords","type","blocks","content","__unstableSkipMigrationLogs","useAvailablePatterns","blockPatterns","restBlockPatterns","select","_settings$__experimen","getSettings","settings","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","getBlockPatterns","getCurrentTheme","stylesheet","mergedPatterns","filteredPatterns"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport {\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_TYPES,\n} from '../../../utils/constants';\nimport { unlock } from '../../../lock-unlock';\n\nfunction injectThemeAttributeInBlockTemplateContent(\n\tblock,\n\tcurrentThemeStylesheet\n) {\n\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\treturn injectThemeAttributeInBlockTemplateContent(\n\t\t\tinnerBlock,\n\t\t\tcurrentThemeStylesheet\n\t\t);\n\t} );\n\n\tif (\n\t\tblock.name === 'core/template-part' &&\n\t\tblock.attributes.theme === undefined\n\t) {\n\t\tblock.attributes.theme = currentThemeStylesheet;\n\t}\n\treturn block;\n}\n\n/**\n * Filter all patterns and return only the ones that are compatible with the current template.\n *\n * @param {Array} patterns An array of patterns.\n * @param {Object} template The current template.\n * @return {Array} Array of patterns that are compatible with the current template.\n */\nfunction filterPatterns( patterns, template ) {\n\t// Filter out duplicates.\n\tconst filterOutDuplicatesByName = ( currentItem, index, items ) =>\n\t\tindex === items.findIndex( ( item ) => currentItem.name === item.name );\n\n\t// Filter out core/directory patterns not included in theme.json.\n\tconst filterOutExcludedPatternSources = ( pattern ) =>\n\t\t! EXCLUDED_PATTERN_SOURCES.includes( pattern.source );\n\n\t// Looks for patterns that have the same template type as the current template,\n\t// or have a block type that matches the current template area.\n\tconst filterCompatiblePatterns = ( pattern ) =>\n\t\tpattern.templateTypes?.includes( template.slug ) ||\n\t\tpattern.blockTypes?.includes( 'core/template-part/' + template.area );\n\n\treturn patterns.filter( ( pattern, index, items ) => {\n\t\treturn (\n\t\t\tfilterOutDuplicatesByName( pattern, index, items ) &&\n\t\t\tfilterOutExcludedPatternSources( pattern ) &&\n\t\t\tfilterCompatiblePatterns( pattern )\n\t\t);\n\t} );\n}\n\nfunction preparePatterns( patterns, template, currentThemeStylesheet ) {\n\treturn patterns.map( ( pattern ) => ( {\n\t\t...pattern,\n\t\tkeywords: pattern.keywords || [],\n\t\ttype: PATTERN_TYPES.theme,\n\t\tblocks: parse( pattern.content, {\n\t\t\t__unstableSkipMigrationLogs: true,\n\t\t} ).map( ( block ) =>\n\t\t\tinjectThemeAttributeInBlockTemplateContent(\n\t\t\t\tblock,\n\t\t\t\tcurrentThemeStylesheet\n\t\t\t)\n\t\t),\n\t} ) );\n}\n\nexport function useAvailablePatterns( template ) {\n\tconst { blockPatterns, restBlockPatterns, currentThemeStylesheet } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\t\tconst settings = getSettings();\n\n\t\t\treturn {\n\t\t\t\tblockPatterns:\n\t\t\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\t\t\tsettings.__experimentalBlockPatterns,\n\t\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\t\tcurrentThemeStylesheet:\n\t\t\t\t\tselect( coreStore ).getCurrentTheme().stylesheet,\n\t\t\t};\n\t\t}, [] );\n\n\treturn useMemo( () => {\n\t\tconst mergedPatterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t];\n\t\tconst filteredPatterns = filterPatterns( mergedPatterns, template );\n\t\treturn preparePatterns(\n\t\t\tfilteredPatterns,\n\t\t\ttemplate,\n\t\t\tcurrentThemeStylesheet\n\t\t);\n\t}, [ blockPatterns, restBlockPatterns, template, currentThemeStylesheet ] );\n}\n"],"mappings":"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"}
@@ -2,12 +2,16 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { useSelect } from '@wordpress/data';
6
- import { PanelBody } from '@wordpress/components';
5
+ import { useSelect, useDispatch } from '@wordpress/data';
6
+ import { PanelBody, PanelRow } from '@wordpress/components';
7
7
  import { PageAttributesPanel, PostDiscussionPanel, PostExcerptPanel, PostFeaturedImagePanel, PostLastRevisionPanel, PostTaxonomiesPanel, store as editorStore } from '@wordpress/editor';
8
8
  import { store as coreStore } from '@wordpress/core-data';
9
9
  import { decodeEntities } from '@wordpress/html-entities';
10
10
  import { navigation, symbol } from '@wordpress/icons';
11
+ import { __ } from '@wordpress/i18n';
12
+ import { useAsyncList } from '@wordpress/compose';
13
+ import { serialize } from '@wordpress/blocks';
14
+ import { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
11
15
 
12
16
  /**
13
17
  * Internal dependencies
@@ -16,17 +20,37 @@ import { store as editSiteStore } from '../../../store';
16
20
  import TemplateActions from './template-actions';
17
21
  import TemplateAreas from './template-areas';
18
22
  import SidebarCard from '../sidebar-card';
23
+ import { useAvailablePatterns } from './hooks';
24
+ import { TEMPLATE_PART_POST_TYPE } from '../../../utils/constants';
19
25
  const CARD_ICONS = {
20
26
  wp_block: symbol,
21
27
  wp_navigation: navigation
22
28
  };
29
+ function TemplatesList({
30
+ availableTemplates,
31
+ onSelect
32
+ }) {
33
+ const shownTemplates = useAsyncList(availableTemplates);
34
+ if (!availableTemplates || availableTemplates?.length === 0) {
35
+ return null;
36
+ }
37
+ return createElement(BlockPatternsList, {
38
+ label: __('Templates'),
39
+ blockPatterns: availableTemplates,
40
+ shownPatterns: shownTemplates,
41
+ onClickPattern: onSelect,
42
+ showTitlesAsTooltip: true
43
+ });
44
+ }
23
45
  export default function TemplatePanel() {
24
46
  var _CARD_ICONS$record$ty;
25
47
  const {
26
48
  title,
27
49
  description,
28
50
  icon,
29
- record
51
+ record,
52
+ postType,
53
+ postId
30
54
  } = useSelect(select => {
31
55
  const {
32
56
  getEditedPostType,
@@ -39,19 +63,31 @@ export default function TemplatePanel() {
39
63
  __experimentalGetTemplateInfo: getTemplateInfo
40
64
  } = select(editorStore);
41
65
  const type = getEditedPostType();
42
- const postId = getEditedPostId();
43
- const _record = getEditedEntityRecord('postType', type, postId);
66
+ const _postId = getEditedPostId();
67
+ const _record = getEditedEntityRecord('postType', type, _postId);
44
68
  const info = getTemplateInfo(_record);
45
69
  return {
46
70
  title: info.title,
47
71
  description: info.description,
48
72
  icon: info.icon,
49
- record: _record
73
+ record: _record,
74
+ postType: type,
75
+ postId: _postId
50
76
  };
51
77
  }, []);
78
+ const availablePatterns = useAvailablePatterns(record);
79
+ const {
80
+ editEntityRecord
81
+ } = useDispatch(coreStore);
52
82
  if (!title && !description) {
53
83
  return null;
54
84
  }
85
+ const onTemplateSelect = async selectedTemplate => {
86
+ await editEntityRecord('postType', postType, postId, {
87
+ blocks: selectedTemplate.blocks,
88
+ content: serialize(selectedTemplate.blocks)
89
+ });
90
+ };
55
91
  return createElement(Fragment, null, createElement(PanelBody, null, createElement(SidebarCard, {
56
92
  className: "edit-site-template-card",
57
93
  title: decodeEntities(title),
@@ -60,6 +96,13 @@ export default function TemplatePanel() {
60
96
  actions: createElement(TemplateActions, {
61
97
  template: record
62
98
  })
63
- }, createElement(TemplateAreas, null))), createElement(PostLastRevisionPanel, null), createElement(PostTaxonomiesPanel, null), createElement(PostFeaturedImagePanel, null), createElement(PostExcerptPanel, null), createElement(PostDiscussionPanel, null), createElement(PageAttributesPanel, null));
99
+ }, createElement(TemplateAreas, null))), availablePatterns?.length > 0 && createElement(PanelBody, {
100
+ title: __('Transform into:'),
101
+ initialOpen: postType === TEMPLATE_PART_POST_TYPE
102
+ }, createElement(PanelRow, null, createElement("p", null, __('Choose a predefined pattern to switch up the look of your template.' // TODO - make this dynamic?
103
+ ))), createElement(TemplatesList, {
104
+ availableTemplates: availablePatterns,
105
+ onSelect: onTemplateSelect
106
+ })), createElement(PostLastRevisionPanel, null), createElement(PostTaxonomiesPanel, null), createElement(PostFeaturedImagePanel, null), createElement(PostExcerptPanel, null), createElement(PostDiscussionPanel, null), createElement(PageAttributesPanel, null));
64
107
  }
65
108
  //# sourceMappingURL=index.js.map