@wordpress/edit-site 5.30.0 → 5.31.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 (305) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +2 -4
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/block-editor/editor-canvas.js +16 -3
  5. package/build/components/block-editor/editor-canvas.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +1 -1
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/global-styles/color-palette-panel.js +0 -9
  9. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  10. package/build/components/global-styles/font-library-modal/context.js +15 -8
  11. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  12. package/build/components/global-styles/font-library-modal/font-collection.js +4 -3
  13. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +3 -2
  15. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  16. package/build/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  17. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/upload-fonts.js +44 -10
  19. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/utils/index.js +2 -2
  21. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +3 -0
  23. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  24. package/build/components/global-styles/header.js +1 -1
  25. package/build/components/global-styles/header.js.map +1 -1
  26. package/build/components/global-styles/hooks.js +50 -1
  27. package/build/components/global-styles/hooks.js.map +1 -1
  28. package/build/components/global-styles/preview-iframe.js +0 -1
  29. package/build/components/global-styles/preview-iframe.js.map +1 -1
  30. package/build/components/global-styles/preview-styles.js +2 -2
  31. package/build/components/global-styles/preview-styles.js.map +1 -1
  32. package/build/components/global-styles/screen-colors.js +2 -9
  33. package/build/components/global-styles/screen-colors.js.map +1 -1
  34. package/build/components/global-styles/screen-typography.js +1 -6
  35. package/build/components/global-styles/screen-typography.js.map +1 -1
  36. package/build/components/global-styles/typography-elements.js +3 -1
  37. package/build/components/global-styles/typography-elements.js.map +1 -1
  38. package/build/components/global-styles/{preview-typography.js → typography-example.js} +4 -2
  39. package/build/components/global-styles/typography-example.js.map +1 -0
  40. package/build/components/global-styles/typography-preview.js +3 -1
  41. package/build/components/global-styles/typography-preview.js.map +1 -1
  42. package/build/components/global-styles/utils.js +1 -1
  43. package/build/components/global-styles/utils.js.map +1 -1
  44. package/build/components/global-styles/variations/variations-color.js +8 -9
  45. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  46. package/build/components/global-styles/variations/variations-typography.js +27 -37
  47. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  48. package/build/components/header-edit-mode/index.js +2 -1
  49. package/build/components/header-edit-mode/index.js.map +1 -1
  50. package/build/components/keyboard-shortcut-help-modal/config.js +6 -0
  51. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  52. package/build/components/keyboard-shortcuts/global.js +17 -3
  53. package/build/components/keyboard-shortcuts/global.js.map +1 -1
  54. package/build/components/layout/router.js +2 -5
  55. package/build/components/layout/router.js.map +1 -1
  56. package/build/components/page-pages/index.js +6 -11
  57. package/build/components/page-pages/index.js.map +1 -1
  58. package/build/components/page-patterns/delete-category-menu-item.js +6 -1
  59. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
  60. package/build/components/page-patterns/index.js +1 -4
  61. package/build/components/page-patterns/index.js.map +1 -1
  62. package/build/components/page-patterns/use-patterns.js +9 -9
  63. package/build/components/page-patterns/use-patterns.js.map +1 -1
  64. package/build/components/page-templates-template-parts/index.js +11 -16
  65. package/build/components/page-templates-template-parts/index.js.map +1 -1
  66. package/build/components/save-panel/index.js +14 -9
  67. package/build/components/save-panel/index.js.map +1 -1
  68. package/build/components/sidebar/index.js +2 -3
  69. package/build/components/sidebar/index.js.map +1 -1
  70. package/build/components/sidebar-dataviews/custom-dataviews-list.js +2 -2
  71. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  72. package/build/components/sidebar-dataviews/dataview-item.js +2 -2
  73. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  74. package/build/components/sidebar-dataviews/default-views.js +2 -2
  75. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  76. package/build/components/sidebar-dataviews/index.js +4 -3
  77. package/build/components/sidebar-dataviews/index.js.map +1 -1
  78. package/build/components/sidebar-edit-mode/page-panels/index.js +2 -2
  79. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  80. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +3 -1
  81. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  82. package/build/components/sidebar-edit-mode/sidebar-card/index.js +12 -6
  83. package/build/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -1
  84. package/build/components/sidebar-edit-mode/template-panel/index.js +23 -3
  85. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  86. package/build/components/sidebar-navigation-screen-global-styles/index.js +13 -1
  87. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen-navigation-menu/{delete-modal.js → delete-confirm-dialog.js} +4 -5
  89. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +1 -0
  90. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +6 -6
  91. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  92. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
  93. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  94. package/build/components/sidebar-navigation-screen-template/index.js +5 -1
  95. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  96. package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  97. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  98. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +1 -1
  99. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  100. package/build/components/sync-state-with-url/use-sync-path-with-url.js +1 -11
  101. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  102. package/build/components/template-actions/index.js +44 -27
  103. package/build/components/template-actions/index.js.map +1 -1
  104. package/build/components/welcome-guide/editor.js +11 -2
  105. package/build/components/welcome-guide/editor.js.map +1 -1
  106. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +15 -2
  107. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  108. package/build/utils/constants.js +5 -3
  109. package/build/utils/constants.js.map +1 -1
  110. package/build/utils/get-is-list-page.js +1 -1
  111. package/build/utils/get-is-list-page.js.map +1 -1
  112. package/build/utils/math.js +98 -0
  113. package/build/utils/math.js.map +1 -0
  114. package/build-module/components/actions/index.js +3 -5
  115. package/build-module/components/actions/index.js.map +1 -1
  116. package/build-module/components/block-editor/editor-canvas.js +16 -3
  117. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  118. package/build-module/components/block-editor/use-site-editor-settings.js +1 -1
  119. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  120. package/build-module/components/global-styles/color-palette-panel.js +0 -8
  121. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  122. package/build-module/components/global-styles/font-library-modal/context.js +16 -9
  123. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  124. package/build-module/components/global-styles/font-library-modal/font-collection.js +4 -3
  125. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  126. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +4 -3
  127. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  128. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  129. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  130. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +44 -10
  131. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  132. package/build-module/components/global-styles/font-library-modal/utils/index.js +2 -2
  133. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  134. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +3 -0
  135. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  136. package/build-module/components/global-styles/header.js +1 -1
  137. package/build-module/components/global-styles/header.js.map +1 -1
  138. package/build-module/components/global-styles/hooks.js +48 -1
  139. package/build-module/components/global-styles/hooks.js.map +1 -1
  140. package/build-module/components/global-styles/preview-iframe.js +0 -1
  141. package/build-module/components/global-styles/preview-iframe.js.map +1 -1
  142. package/build-module/components/global-styles/preview-styles.js +2 -2
  143. package/build-module/components/global-styles/preview-styles.js.map +1 -1
  144. package/build-module/components/global-styles/screen-colors.js +2 -9
  145. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  146. package/build-module/components/global-styles/screen-typography.js +1 -6
  147. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  148. package/build-module/components/global-styles/typography-elements.js +3 -1
  149. package/build-module/components/global-styles/typography-elements.js.map +1 -1
  150. package/build-module/components/global-styles/{preview-typography.js → typography-example.js} +4 -2
  151. package/build-module/components/global-styles/typography-example.js.map +1 -0
  152. package/build-module/components/global-styles/typography-preview.js +3 -1
  153. package/build-module/components/global-styles/typography-preview.js.map +1 -1
  154. package/build-module/components/global-styles/utils.js +1 -1
  155. package/build-module/components/global-styles/utils.js.map +1 -1
  156. package/build-module/components/global-styles/variations/variations-color.js +8 -9
  157. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  158. package/build-module/components/global-styles/variations/variations-typography.js +28 -38
  159. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  160. package/build-module/components/header-edit-mode/index.js +2 -1
  161. package/build-module/components/header-edit-mode/index.js.map +1 -1
  162. package/build-module/components/keyboard-shortcut-help-modal/config.js +6 -0
  163. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  164. package/build-module/components/keyboard-shortcuts/global.js +17 -3
  165. package/build-module/components/keyboard-shortcuts/global.js.map +1 -1
  166. package/build-module/components/layout/router.js +2 -5
  167. package/build-module/components/layout/router.js.map +1 -1
  168. package/build-module/components/page-pages/index.js +7 -12
  169. package/build-module/components/page-pages/index.js.map +1 -1
  170. package/build-module/components/page-patterns/delete-category-menu-item.js +6 -1
  171. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
  172. package/build-module/components/page-patterns/index.js +2 -5
  173. package/build-module/components/page-patterns/index.js.map +1 -1
  174. package/build-module/components/page-patterns/use-patterns.js +9 -9
  175. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  176. package/build-module/components/page-templates-template-parts/index.js +12 -17
  177. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  178. package/build-module/components/save-panel/index.js +14 -9
  179. package/build-module/components/save-panel/index.js.map +1 -1
  180. package/build-module/components/sidebar/index.js +2 -3
  181. package/build-module/components/sidebar/index.js.map +1 -1
  182. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +2 -2
  183. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  184. package/build-module/components/sidebar-dataviews/dataview-item.js +2 -2
  185. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  186. package/build-module/components/sidebar-dataviews/default-views.js +3 -3
  187. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  188. package/build-module/components/sidebar-dataviews/index.js +4 -3
  189. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  190. package/build-module/components/sidebar-edit-mode/page-panels/index.js +3 -3
  191. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  192. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +4 -2
  193. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  194. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js +13 -7
  195. package/build-module/components/sidebar-edit-mode/sidebar-card/index.js.map +1 -1
  196. package/build-module/components/sidebar-edit-mode/template-panel/index.js +24 -4
  197. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  198. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +14 -2
  199. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  200. package/build-module/components/sidebar-navigation-screen-navigation-menu/{delete-modal.js → delete-confirm-dialog.js} +3 -4
  201. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +1 -0
  202. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +6 -6
  203. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  204. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
  205. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  206. package/build-module/components/sidebar-navigation-screen-template/index.js +5 -1
  207. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  208. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  209. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  210. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +1 -1
  211. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  212. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +1 -11
  213. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  214. package/build-module/components/template-actions/index.js +44 -27
  215. package/build-module/components/template-actions/index.js.map +1 -1
  216. package/build-module/components/welcome-guide/editor.js +11 -2
  217. package/build-module/components/welcome-guide/editor.js.map +1 -1
  218. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +15 -2
  219. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  220. package/build-module/utils/constants.js +4 -2
  221. package/build-module/utils/constants.js.map +1 -1
  222. package/build-module/utils/get-is-list-page.js +1 -1
  223. package/build-module/utils/get-is-list-page.js.map +1 -1
  224. package/build-module/utils/math.js +92 -0
  225. package/build-module/utils/math.js.map +1 -0
  226. package/build-style/style-rtl.css +41 -37
  227. package/build-style/style.css +41 -37
  228. package/package.json +42 -42
  229. package/src/components/actions/index.js +3 -5
  230. package/src/components/block-editor/editor-canvas.js +20 -7
  231. package/src/components/block-editor/use-site-editor-settings.js +0 -2
  232. package/src/components/global-styles/color-palette-panel.js +0 -11
  233. package/src/components/global-styles/font-library-modal/context.js +34 -17
  234. package/src/components/global-styles/font-library-modal/font-collection.js +4 -3
  235. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +9 -2
  236. package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
  237. package/src/components/global-styles/font-library-modal/style.scss +14 -5
  238. package/src/components/global-styles/font-library-modal/upload-fonts.js +53 -8
  239. package/src/components/global-styles/font-library-modal/utils/index.js +4 -4
  240. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +4 -0
  241. package/src/components/global-styles/header.js +1 -1
  242. package/src/components/global-styles/hooks.js +68 -1
  243. package/src/components/global-styles/preview-iframe.js +0 -1
  244. package/src/components/global-styles/preview-styles.js +2 -2
  245. package/src/components/global-styles/screen-colors.js +2 -13
  246. package/src/components/global-styles/screen-typography.js +1 -12
  247. package/src/components/global-styles/style.scss +4 -1
  248. package/src/components/global-styles/typography-elements.js +5 -1
  249. package/src/components/global-styles/{preview-typography.js → typography-example.js} +3 -1
  250. package/src/components/global-styles/typography-preview.js +3 -1
  251. package/src/components/global-styles/utils.js +1 -1
  252. package/src/components/global-styles/variations/style.scss +0 -6
  253. package/src/components/global-styles/variations/variations-color.js +9 -5
  254. package/src/components/global-styles/variations/variations-typography.js +37 -59
  255. package/src/components/header-edit-mode/index.js +1 -0
  256. package/src/components/keyboard-shortcut-help-modal/config.js +4 -0
  257. package/src/components/keyboard-shortcuts/global.js +16 -4
  258. package/src/components/layout/router.js +2 -7
  259. package/src/components/page-pages/index.js +8 -13
  260. package/src/components/page-patterns/delete-category-menu-item.js +7 -0
  261. package/src/components/page-patterns/index.js +2 -3
  262. package/src/components/page-patterns/use-patterns.js +17 -10
  263. package/src/components/page-templates-template-parts/index.js +14 -22
  264. package/src/components/save-panel/index.js +24 -17
  265. package/src/components/sidebar/index.js +2 -3
  266. package/src/components/sidebar-dataviews/custom-dataviews-list.js +2 -2
  267. package/src/components/sidebar-dataviews/dataview-item.js +2 -2
  268. package/src/components/sidebar-dataviews/default-views.js +11 -3
  269. package/src/components/sidebar-dataviews/index.js +4 -3
  270. package/src/components/sidebar-edit-mode/page-panels/index.js +2 -2
  271. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -0
  272. package/src/components/sidebar-edit-mode/sidebar-card/index.js +30 -11
  273. package/src/components/sidebar-edit-mode/sidebar-card/style.scss +10 -11
  274. package/src/components/sidebar-edit-mode/template-panel/index.js +24 -5
  275. package/src/components/sidebar-navigation-screen/style.scss +10 -1
  276. package/src/components/sidebar-navigation-screen-global-styles/index.js +35 -2
  277. package/src/components/sidebar-navigation-screen-navigation-menu/{delete-modal.js → delete-confirm-dialog.js} +2 -3
  278. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +11 -9
  279. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +6 -3
  280. package/src/components/sidebar-navigation-screen-template/index.js +6 -1
  281. package/src/components/sidebar-navigation-screen-templates-browse/content.js +2 -2
  282. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +1 -1
  283. package/src/components/sync-state-with-url/use-sync-path-with-url.js +3 -19
  284. package/src/components/template-actions/index.js +63 -46
  285. package/src/components/welcome-guide/editor.js +9 -6
  286. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +21 -4
  287. package/src/style.scss +0 -1
  288. package/src/utils/constants.js +4 -2
  289. package/src/utils/get-is-list-page.js +1 -1
  290. package/src/utils/math.js +93 -0
  291. package/build/components/global-styles/preview-typography.js.map +0 -1
  292. package/build/components/sidebar-edit-mode/template-panel/template-actions.js +0 -50
  293. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +0 -1
  294. package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +0 -1
  295. package/build/components/sidebar-navigation-screen-templates/index.js +0 -132
  296. package/build/components/sidebar-navigation-screen-templates/index.js.map +0 -1
  297. package/build-module/components/global-styles/preview-typography.js.map +0 -1
  298. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +0 -42
  299. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +0 -1
  300. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +0 -1
  301. package/build-module/components/sidebar-navigation-screen-templates/index.js +0 -124
  302. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +0 -1
  303. package/src/components/sidebar-edit-mode/template-panel/template-actions.js +0 -49
  304. package/src/components/sidebar-navigation-screen-templates/index.js +0 -156
  305. package/src/components/sidebar-navigation-screen-templates/style.scss +0 -9
@@ -12,6 +12,7 @@ var _data = require("@wordpress/data");
12
12
  var _coreData = require("@wordpress/core-data");
13
13
  var _element = require("@wordpress/element");
14
14
  var _blockEditor = require("@wordpress/block-editor");
15
+ var _i18n = require("@wordpress/i18n");
15
16
  var _globalStylesProvider = require("../../components/global-styles/global-styles-provider");
16
17
  var _cloneDeep = _interopRequireDefault(require("../../utils/clone-deep"));
17
18
  var _lockUnlock = require("../../lock-unlock");
@@ -64,12 +65,24 @@ function useCurrentMergeThemeStyleVariationsWithUserConfig({
64
65
  property,
65
66
  filter
66
67
  }) {
67
- const variations = (0, _data.useSelect)(select => {
68
- return select(_coreData.store).__experimentalGetCurrentThemeGlobalStylesVariations();
68
+ const {
69
+ variationsFromTheme
70
+ } = (0, _data.useSelect)(select => {
71
+ const _variationsFromTheme = select(_coreData.store).__experimentalGetCurrentThemeGlobalStylesVariations();
72
+ return {
73
+ variationsFromTheme: _variationsFromTheme || []
74
+ };
69
75
  }, []);
70
76
  const {
71
77
  user: baseVariation
72
78
  } = (0, _element.useContext)(GlobalStylesContext);
79
+ const variations = (0, _element.useMemo)(() => {
80
+ return [{
81
+ title: (0, _i18n.__)('Default'),
82
+ settings: {},
83
+ styles: {}
84
+ }, ...variationsFromTheme];
85
+ }, [variationsFromTheme]);
73
86
  return useThemeStyleVariationsByProperty({
74
87
  variations,
75
88
  property,
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_coreData","_element","_blockEditor","_globalStylesProvider","_cloneDeep","_interopRequireDefault","_lockUnlock","GlobalStylesContext","unlock","blockEditorPrivateApis","removePropertyFromObject","object","property","Object","keys","length","key","useCurrentMergeThemeStyleVariationsWithUserConfig","filter","variations","useSelect","select","coreStore","__experimentalGetCurrentThemeGlobalStylesVariations","user","baseVariation","useContext","useThemeStyleVariationsByProperty","cloneDeep","filterObjectByProperty","newObject","forEach","newFilter","exports","useMemo","clonedBaseVariation","processedStyleVariations","map","variation","result","title","description","mergeBaseAndUserConfigs"],"sources":["@wordpress/edit-site/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { mergeBaseAndUserConfigs } from '../../components/global-styles/global-styles-provider';\nimport cloneDeep from '../../utils/clone-deep';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\n\n/**\n * Removes all instances of a property from an object.\n *\n * @param {Object} object The object to remove the property from.\n * @param {string} property The property to remove.\n * @return {Object} The modified object.\n */\nexport function removePropertyFromObject( object, property ) {\n\tif ( ! property || typeof property !== 'string' ) {\n\t\treturn object;\n\t}\n\n\tif ( typeof object !== 'object' || ! Object.keys( object ).length ) {\n\t\treturn object;\n\t}\n\n\tfor ( const key in object ) {\n\t\tif ( key === property ) {\n\t\t\tdelete object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tremovePropertyFromObject( object[ key ], property );\n\t\t}\n\t}\n\treturn object;\n}\n\n/**\n * A convenience wrapper for `useThemeStyleVariationsByProperty()` that fetches the current theme style variations,\n * and user-defined global style/settings object.\n *\n * @param {Object} props Object of hook args.\n * @param {string} props.property The property to filter by.\n * @param {Function} props.filter Optional. The filter function to apply to the variations.\n * @return {Object[]|*} The merged object.\n */\nexport function useCurrentMergeThemeStyleVariationsWithUserConfig( {\n\tproperty,\n\tfilter,\n} ) {\n\tconst variations = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\t}, [] );\n\tconst { user: baseVariation } = useContext( GlobalStylesContext );\n\n\treturn useThemeStyleVariationsByProperty( {\n\t\tvariations,\n\t\tproperty,\n\t\tfilter,\n\t\tbaseVariation: removePropertyFromObject(\n\t\t\tcloneDeep( baseVariation ),\n\t\t\tproperty\n\t\t),\n\t} );\n}\n\n/**\n * Returns a new object, with properties specified in `property`,\n * maintain the original object tree structure.\n * The function is recursive, so it will perform a deep search for the given property.\n * E.g., the function will return `{ a: { b: { c: { test: 1 } } } }` if the property is `test`.\n *\n * @param {Object} object The object to filter\n * @param {Object} property The property to filter by\n * @return {Object} The merged object.\n */\nexport const filterObjectByProperty = ( object, property ) => {\n\tif ( ! object ) {\n\t\treturn {};\n\t}\n\n\tconst newObject = {};\n\tObject.keys( object ).forEach( ( key ) => {\n\t\tif ( key === property ) {\n\t\t\tnewObject[ key ] = object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tconst newFilter = filterObjectByProperty( object[ key ], property );\n\t\t\tif ( Object.keys( newFilter ).length ) {\n\t\t\t\tnewObject[ key ] = newFilter;\n\t\t\t}\n\t\t}\n\t} );\n\treturn newObject;\n};\n\n/**\n * Returns a new object with only the properties specified in `property`.\n * Optional merges the baseVariation object with the variation object.\n * Note: this function will only overwrite the specified property in baseVariation if it exists.\n * The baseVariation will not be otherwise modified. To strip a property from the baseVariation object, use `removePropertyFromObject`.\n * See useCurrentMergeThemeStyleVariationsWithUserConfig for an example of how to use this function.\n *\n * @param {Object} props Object of hook args.\n * @param {Object[]} props.variations The theme style variations to filter.\n * @param {string} props.property The property to filter by.\n * @param {Function} props.filter Optional. The filter function to apply to the variations.\n * @param {Object} props.baseVariation Optional. Base or user settings to be updated with variation properties.\n * @return {Object[]|*} The merged object.\n */\nexport default function useThemeStyleVariationsByProperty( {\n\tvariations,\n\tproperty,\n\tfilter,\n\tbaseVariation,\n} ) {\n\treturn useMemo( () => {\n\t\tif ( ! property || ! variations || variations?.length === 0 ) {\n\t\t\treturn variations;\n\t\t}\n\n\t\tconst clonedBaseVariation =\n\t\t\ttypeof baseVariation === 'object' &&\n\t\t\tObject.keys( baseVariation ).length > 0\n\t\t\t\t? cloneDeep( baseVariation )\n\t\t\t\t: null;\n\n\t\tlet processedStyleVariations = variations.map( ( variation ) => {\n\t\t\tlet result = {\n\t\t\t\t...filterObjectByProperty( cloneDeep( variation ), property ),\n\t\t\t\ttitle: variation?.title,\n\t\t\t\tdescription: variation?.description,\n\t\t\t};\n\n\t\t\tif ( clonedBaseVariation ) {\n\t\t\t\t/*\n\t\t\t\t * Overwrites all baseVariation object `styleProperty` properties\n\t\t\t\t * with the theme variation `styleProperty` properties.\n\t\t\t\t */\n\t\t\t\tresult = mergeBaseAndUserConfigs( clonedBaseVariation, result );\n\t\t\t}\n\t\t\treturn result;\n\t\t} );\n\n\t\tif ( 'function' === typeof filter ) {\n\t\t\tprocessedStyleVariations =\n\t\t\t\tprocessedStyleVariations.filter( filter );\n\t\t}\n\n\t\treturn processedStyleVariations;\n\t}, [ variations, property, baseVariation, filter ] );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_data","require","_coreData","_element","_blockEditor","_i18n","_globalStylesProvider","_cloneDeep","_interopRequireDefault","_lockUnlock","GlobalStylesContext","unlock","blockEditorPrivateApis","removePropertyFromObject","object","property","Object","keys","length","key","useCurrentMergeThemeStyleVariationsWithUserConfig","filter","variationsFromTheme","useSelect","select","_variationsFromTheme","coreStore","__experimentalGetCurrentThemeGlobalStylesVariations","user","baseVariation","useContext","variations","useMemo","title","__","settings","styles","useThemeStyleVariationsByProperty","cloneDeep","filterObjectByProperty","newObject","forEach","newFilter","exports","clonedBaseVariation","processedStyleVariations","map","variation","result","description","mergeBaseAndUserConfigs"],"sources":["@wordpress/edit-site/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { mergeBaseAndUserConfigs } from '../../components/global-styles/global-styles-provider';\nimport cloneDeep from '../../utils/clone-deep';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\n\n/**\n * Removes all instances of a property from an object.\n *\n * @param {Object} object The object to remove the property from.\n * @param {string} property The property to remove.\n * @return {Object} The modified object.\n */\nexport function removePropertyFromObject( object, property ) {\n\tif ( ! property || typeof property !== 'string' ) {\n\t\treturn object;\n\t}\n\n\tif ( typeof object !== 'object' || ! Object.keys( object ).length ) {\n\t\treturn object;\n\t}\n\n\tfor ( const key in object ) {\n\t\tif ( key === property ) {\n\t\t\tdelete object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tremovePropertyFromObject( object[ key ], property );\n\t\t}\n\t}\n\treturn object;\n}\n\n/**\n * A convenience wrapper for `useThemeStyleVariationsByProperty()` that fetches the current theme style variations,\n * and user-defined global style/settings object.\n *\n * @param {Object} props Object of hook args.\n * @param {string} props.property The property to filter by.\n * @param {Function} props.filter Optional. The filter function to apply to the variations.\n * @return {Object[]|*} The merged object.\n */\nexport function useCurrentMergeThemeStyleVariationsWithUserConfig( {\n\tproperty,\n\tfilter,\n} ) {\n\tconst { variationsFromTheme } = useSelect( ( select ) => {\n\t\tconst _variationsFromTheme =\n\t\t\tselect(\n\t\t\t\tcoreStore\n\t\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\n\t\treturn {\n\t\t\tvariationsFromTheme: _variationsFromTheme || [],\n\t\t};\n\t}, [] );\n\tconst { user: baseVariation } = useContext( GlobalStylesContext );\n\n\tconst variations = useMemo( () => {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttitle: __( 'Default' ),\n\t\t\t\tsettings: {},\n\t\t\t\tstyles: {},\n\t\t\t},\n\t\t\t...variationsFromTheme,\n\t\t];\n\t}, [ variationsFromTheme ] );\n\n\treturn useThemeStyleVariationsByProperty( {\n\t\tvariations,\n\t\tproperty,\n\t\tfilter,\n\t\tbaseVariation: removePropertyFromObject(\n\t\t\tcloneDeep( baseVariation ),\n\t\t\tproperty\n\t\t),\n\t} );\n}\n\n/**\n * Returns a new object, with properties specified in `property`,\n * maintain the original object tree structure.\n * The function is recursive, so it will perform a deep search for the given property.\n * E.g., the function will return `{ a: { b: { c: { test: 1 } } } }` if the property is `test`.\n *\n * @param {Object} object The object to filter\n * @param {Object} property The property to filter by\n * @return {Object} The merged object.\n */\nexport const filterObjectByProperty = ( object, property ) => {\n\tif ( ! object ) {\n\t\treturn {};\n\t}\n\n\tconst newObject = {};\n\tObject.keys( object ).forEach( ( key ) => {\n\t\tif ( key === property ) {\n\t\t\tnewObject[ key ] = object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tconst newFilter = filterObjectByProperty( object[ key ], property );\n\t\t\tif ( Object.keys( newFilter ).length ) {\n\t\t\t\tnewObject[ key ] = newFilter;\n\t\t\t}\n\t\t}\n\t} );\n\treturn newObject;\n};\n\n/**\n * Returns a new object with only the properties specified in `property`.\n * Optional merges the baseVariation object with the variation object.\n * Note: this function will only overwrite the specified property in baseVariation if it exists.\n * The baseVariation will not be otherwise modified. To strip a property from the baseVariation object, use `removePropertyFromObject`.\n * See useCurrentMergeThemeStyleVariationsWithUserConfig for an example of how to use this function.\n *\n * @param {Object} props Object of hook args.\n * @param {Object[]} props.variations The theme style variations to filter.\n * @param {string} props.property The property to filter by.\n * @param {Function} props.filter Optional. The filter function to apply to the variations.\n * @param {Object} props.baseVariation Optional. Base or user settings to be updated with variation properties.\n * @return {Object[]|*} The merged object.\n */\nexport default function useThemeStyleVariationsByProperty( {\n\tvariations,\n\tproperty,\n\tfilter,\n\tbaseVariation,\n} ) {\n\treturn useMemo( () => {\n\t\tif ( ! property || ! variations || variations?.length === 0 ) {\n\t\t\treturn variations;\n\t\t}\n\n\t\tconst clonedBaseVariation =\n\t\t\ttypeof baseVariation === 'object' &&\n\t\t\tObject.keys( baseVariation ).length > 0\n\t\t\t\t? cloneDeep( baseVariation )\n\t\t\t\t: null;\n\n\t\tlet processedStyleVariations = variations.map( ( variation ) => {\n\t\t\tlet result = {\n\t\t\t\t...filterObjectByProperty( cloneDeep( variation ), property ),\n\t\t\t\ttitle: variation?.title,\n\t\t\t\tdescription: variation?.description,\n\t\t\t};\n\n\t\t\tif ( clonedBaseVariation ) {\n\t\t\t\t/*\n\t\t\t\t * Overwrites all baseVariation object `styleProperty` properties\n\t\t\t\t * with the theme variation `styleProperty` properties.\n\t\t\t\t */\n\t\t\t\tresult = mergeBaseAndUserConfigs( clonedBaseVariation, result );\n\t\t\t}\n\t\t\treturn result;\n\t\t} );\n\n\t\tif ( 'function' === typeof filter ) {\n\t\t\tprocessedStyleVariations =\n\t\t\t\tprocessedStyleVariations.filter( filter );\n\t\t}\n\n\t\treturn processedStyleVariations;\n\t}, [ variations, property, baseVariation, filter ] );\n}\n"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TEMPLATE_POST_TYPE = exports.TEMPLATE_PART_POST_TYPE = exports.TEMPLATE_PART_AREA_DEFAULT_CATEGORY = exports.TEMPLATE_ORIGINS = exports.POST_TYPE_LABELS = exports.PATTERN_USER_CATEGORY = exports.PATTERN_TYPES = exports.PATTERN_SYNC_TYPES = exports.PATTERN_DEFAULT_CATEGORY = exports.OPERATOR_NOT_IN = exports.OPERATOR_IN = exports.NAVIGATION_POST_TYPE = exports.LAYOUT_TABLE = exports.LAYOUT_LIST = exports.LAYOUT_GRID = exports.FOCUSABLE_ENTITIES = exports.EXCLUDED_PATTERN_SOURCES = exports.ENUMERATION_TYPE = void 0;
6
+ exports.TEMPLATE_POST_TYPE = exports.TEMPLATE_PART_POST_TYPE = exports.TEMPLATE_PART_AREA_DEFAULT_CATEGORY = exports.TEMPLATE_ORIGINS = exports.POST_TYPE_LABELS = exports.PATTERN_USER_CATEGORY = exports.PATTERN_TYPES = exports.PATTERN_SYNC_TYPES = exports.PATTERN_DEFAULT_CATEGORY = exports.OPERATOR_IS_NOT = exports.OPERATOR_IS_NONE = exports.OPERATOR_IS_ANY = exports.OPERATOR_IS = exports.NAVIGATION_POST_TYPE = exports.LAYOUT_TABLE = exports.LAYOUT_LIST = exports.LAYOUT_GRID = exports.FOCUSABLE_ENTITIES = exports.EXCLUDED_PATTERN_SOURCES = exports.ENUMERATION_TYPE = void 0;
7
7
  var _i18n = require("@wordpress/i18n");
8
8
  var _patterns = require("@wordpress/patterns");
9
9
  var _lockUnlock = require("../lock-unlock");
@@ -56,6 +56,8 @@ const LAYOUT_GRID = exports.LAYOUT_GRID = 'grid';
56
56
  const LAYOUT_TABLE = exports.LAYOUT_TABLE = 'table';
57
57
  const LAYOUT_LIST = exports.LAYOUT_LIST = 'list';
58
58
  const ENUMERATION_TYPE = exports.ENUMERATION_TYPE = 'enumeration';
59
- const OPERATOR_IN = exports.OPERATOR_IN = 'in';
60
- const OPERATOR_NOT_IN = exports.OPERATOR_NOT_IN = 'notIn';
59
+ const OPERATOR_IS = exports.OPERATOR_IS = 'is';
60
+ const OPERATOR_IS_NOT = exports.OPERATOR_IS_NOT = 'isNot';
61
+ const OPERATOR_IS_ANY = exports.OPERATOR_IS_ANY = 'isAny';
62
+ const OPERATOR_IS_NONE = exports.OPERATOR_IS_NONE = 'isNone';
61
63
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_patterns","_lockUnlock","NAVIGATION_POST_TYPE","exports","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","TEMPLATE_ORIGINS","custom","theme","plugin","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","PATTERN_USER_CATEGORY","EXCLUDED_PATTERN_SOURCES","PATTERN_SYNC_TYPES","unlock","patternPrivateApis","FOCUSABLE_ENTITIES","user","POST_TYPE_LABELS","__","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","ENUMERATION_TYPE","OPERATOR_IN","OPERATOR_NOT_IN"],"sources":["@wordpress/edit-site/src/utils/constants.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as patternPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\n// Navigation\nexport const NAVIGATION_POST_TYPE = 'wp_navigation';\n\n// Templates.\nexport const TEMPLATE_POST_TYPE = 'wp_template';\nexport const TEMPLATE_PART_POST_TYPE = 'wp_template_part';\nexport const TEMPLATE_ORIGINS = {\n\tcustom: 'custom',\n\ttheme: 'theme',\n\tplugin: 'plugin',\n};\nexport const TEMPLATE_PART_AREA_DEFAULT_CATEGORY = 'uncategorized';\n\n// Patterns.\nexport const {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n} = unlock( patternPrivateApis );\n\n// Entities that are editable in focus mode.\nexport const FOCUSABLE_ENTITIES = [\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nexport const POST_TYPE_LABELS = {\n\t[ TEMPLATE_POST_TYPE ]: __( 'Template' ),\n\t[ TEMPLATE_PART_POST_TYPE ]: __( 'Template part' ),\n\t[ PATTERN_TYPES.user ]: __( 'Pattern' ),\n\t[ NAVIGATION_POST_TYPE ]: __( 'Navigation' ),\n};\n\n// DataViews constants\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_LIST = 'list';\nexport const ENUMERATION_TYPE = 'enumeration';\nexport const OPERATOR_IN = 'in';\nexport const OPERATOR_NOT_IN = 'notIn';\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,WAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACO,MAAMG,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,eAAe;;AAEnD;AACO,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,aAAa;AACxC,MAAMC,uBAAuB,GAAAF,OAAA,CAAAE,uBAAA,GAAG,kBAAkB;AAClD,MAAMC,gBAAgB,GAAAH,OAAA,CAAAG,gBAAA,GAAG;EAC/BC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACT,CAAC;AACM,MAAMC,mCAAmC,GAAAP,OAAA,CAAAO,mCAAA,GAAG,eAAe;;AAElE;AACO,MAAM;EACZC,aAAa;EACbC,wBAAwB;EACxBC,qBAAqB;EACrBC,wBAAwB;EACxBC;AACD,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAmB,CAAC;;AAEhC;AAAAd,OAAA,CAAAY,kBAAA,GAAAA,kBAAA;AAAAZ,OAAA,CAAAW,wBAAA,GAAAA,wBAAA;AAAAX,OAAA,CAAAU,qBAAA,GAAAA,qBAAA;AAAAV,OAAA,CAAAS,wBAAA,GAAAA,wBAAA;AAAAT,OAAA,CAAAQ,aAAA,GAAAA,aAAA;AACO,MAAMO,kBAAkB,GAAAf,OAAA,CAAAe,kBAAA,GAAG,CACjCb,uBAAuB,EACvBH,oBAAoB,EACpBS,aAAa,CAACQ,IAAI,CAClB;AAEM,MAAMC,gBAAgB,GAAAjB,OAAA,CAAAiB,gBAAA,GAAG;EAC/B,CAAEhB,kBAAkB,GAAI,IAAAiB,QAAE,EAAE,UAAW,CAAC;EACxC,CAAEhB,uBAAuB,GAAI,IAAAgB,QAAE,EAAE,eAAgB,CAAC;EAClD,CAAEV,aAAa,CAACQ,IAAI,GAAI,IAAAE,QAAE,EAAE,SAAU,CAAC;EACvC,CAAEnB,oBAAoB,GAAI,IAAAmB,QAAE,EAAE,YAAa;AAC5C,CAAC;;AAED;AACO,MAAMC,WAAW,GAAAnB,OAAA,CAAAmB,WAAA,GAAG,MAAM;AAC1B,MAAMC,YAAY,GAAApB,OAAA,CAAAoB,YAAA,GAAG,OAAO;AAC5B,MAAMC,WAAW,GAAArB,OAAA,CAAAqB,WAAA,GAAG,MAAM;AAC1B,MAAMC,gBAAgB,GAAAtB,OAAA,CAAAsB,gBAAA,GAAG,aAAa;AACtC,MAAMC,WAAW,GAAAvB,OAAA,CAAAuB,WAAA,GAAG,IAAI;AACxB,MAAMC,eAAe,GAAAxB,OAAA,CAAAwB,eAAA,GAAG,OAAO"}
1
+ {"version":3,"names":["_i18n","require","_patterns","_lockUnlock","NAVIGATION_POST_TYPE","exports","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","TEMPLATE_ORIGINS","custom","theme","plugin","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","PATTERN_USER_CATEGORY","EXCLUDED_PATTERN_SOURCES","PATTERN_SYNC_TYPES","unlock","patternPrivateApis","FOCUSABLE_ENTITIES","user","POST_TYPE_LABELS","__","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","ENUMERATION_TYPE","OPERATOR_IS","OPERATOR_IS_NOT","OPERATOR_IS_ANY","OPERATOR_IS_NONE"],"sources":["@wordpress/edit-site/src/utils/constants.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as patternPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\n// Navigation\nexport const NAVIGATION_POST_TYPE = 'wp_navigation';\n\n// Templates.\nexport const TEMPLATE_POST_TYPE = 'wp_template';\nexport const TEMPLATE_PART_POST_TYPE = 'wp_template_part';\nexport const TEMPLATE_ORIGINS = {\n\tcustom: 'custom',\n\ttheme: 'theme',\n\tplugin: 'plugin',\n};\nexport const TEMPLATE_PART_AREA_DEFAULT_CATEGORY = 'uncategorized';\n\n// Patterns.\nexport const {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n} = unlock( patternPrivateApis );\n\n// Entities that are editable in focus mode.\nexport const FOCUSABLE_ENTITIES = [\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nexport const POST_TYPE_LABELS = {\n\t[ TEMPLATE_POST_TYPE ]: __( 'Template' ),\n\t[ TEMPLATE_PART_POST_TYPE ]: __( 'Template part' ),\n\t[ PATTERN_TYPES.user ]: __( 'Pattern' ),\n\t[ NAVIGATION_POST_TYPE ]: __( 'Navigation' ),\n};\n\n// DataViews constants\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_LIST = 'list';\nexport const ENUMERATION_TYPE = 'enumeration';\nexport const OPERATOR_IS = 'is';\nexport const OPERATOR_IS_NOT = 'isNot';\nexport const OPERATOR_IS_ANY = 'isAny';\nexport const OPERATOR_IS_NONE = 'isNone';\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,WAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACO,MAAMG,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,eAAe;;AAEnD;AACO,MAAME,kBAAkB,GAAAD,OAAA,CAAAC,kBAAA,GAAG,aAAa;AACxC,MAAMC,uBAAuB,GAAAF,OAAA,CAAAE,uBAAA,GAAG,kBAAkB;AAClD,MAAMC,gBAAgB,GAAAH,OAAA,CAAAG,gBAAA,GAAG;EAC/BC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACT,CAAC;AACM,MAAMC,mCAAmC,GAAAP,OAAA,CAAAO,mCAAA,GAAG,eAAe;;AAElE;AACO,MAAM;EACZC,aAAa;EACbC,wBAAwB;EACxBC,qBAAqB;EACrBC,wBAAwB;EACxBC;AACD,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAmB,CAAC;;AAEhC;AAAAd,OAAA,CAAAY,kBAAA,GAAAA,kBAAA;AAAAZ,OAAA,CAAAW,wBAAA,GAAAA,wBAAA;AAAAX,OAAA,CAAAU,qBAAA,GAAAA,qBAAA;AAAAV,OAAA,CAAAS,wBAAA,GAAAA,wBAAA;AAAAT,OAAA,CAAAQ,aAAA,GAAAA,aAAA;AACO,MAAMO,kBAAkB,GAAAf,OAAA,CAAAe,kBAAA,GAAG,CACjCb,uBAAuB,EACvBH,oBAAoB,EACpBS,aAAa,CAACQ,IAAI,CAClB;AAEM,MAAMC,gBAAgB,GAAAjB,OAAA,CAAAiB,gBAAA,GAAG;EAC/B,CAAEhB,kBAAkB,GAAI,IAAAiB,QAAE,EAAE,UAAW,CAAC;EACxC,CAAEhB,uBAAuB,GAAI,IAAAgB,QAAE,EAAE,eAAgB,CAAC;EAClD,CAAEV,aAAa,CAACQ,IAAI,GAAI,IAAAE,QAAE,EAAE,SAAU,CAAC;EACvC,CAAEnB,oBAAoB,GAAI,IAAAmB,QAAE,EAAE,YAAa;AAC5C,CAAC;;AAED;AACO,MAAMC,WAAW,GAAAnB,OAAA,CAAAmB,WAAA,GAAG,MAAM;AAC1B,MAAMC,YAAY,GAAApB,OAAA,CAAAoB,YAAA,GAAG,OAAO;AAC5B,MAAMC,WAAW,GAAArB,OAAA,CAAAqB,WAAA,GAAG,MAAM;AAC1B,MAAMC,gBAAgB,GAAAtB,OAAA,CAAAsB,gBAAA,GAAG,aAAa;AACtC,MAAMC,WAAW,GAAAvB,OAAA,CAAAuB,WAAA,GAAG,IAAI;AACxB,MAAMC,eAAe,GAAAxB,OAAA,CAAAwB,eAAA,GAAG,OAAO;AAC/B,MAAMC,eAAe,GAAAzB,OAAA,CAAAyB,eAAA,GAAG,OAAO;AAC/B,MAAMC,gBAAgB,GAAA1B,OAAA,CAAA0B,gBAAA,GAAG,QAAQ"}
@@ -20,7 +20,7 @@ function getIsListPage({
20
20
  categoryType,
21
21
  categoryId
22
22
  }, isMobileViewport) {
23
- return ['/wp_template/all', '/wp_template_part/all', '/pages'].includes(path) || path === '/patterns' && (
23
+ return ['/wp_template', '/wp_template_part/all', '/pages'].includes(path) || path === '/patterns' && (
24
24
  // Don't treat "/patterns" without categoryType and categoryId as a
25
25
  // list page in mobile because the sidebar covers the whole page.
26
26
  !isMobileViewport || !!categoryType && !!categoryId);
@@ -1 +1 @@
1
- {"version":3,"names":["getIsListPage","path","categoryType","categoryId","isMobileViewport","includes"],"sources":["@wordpress/edit-site/src/utils/get-is-list-page.js"],"sourcesContent":["/**\n * Returns if the params match the list page route.\n *\n * @param {Object} params The url params.\n * @param {string} params.path The current path.\n * @param {string} [params.categoryType] The current category type.\n * @param {string} [params.categoryId] The current category id.\n * @param {boolean} isMobileViewport Is mobile viewport.\n *\n * @return {boolean} Is list page or not.\n */\nexport default function getIsListPage(\n\t{ path, categoryType, categoryId },\n\tisMobileViewport\n) {\n\treturn (\n\t\t[ '/wp_template/all', '/wp_template_part/all', '/pages' ].includes(\n\t\t\tpath\n\t\t) ||\n\t\t( path === '/patterns' &&\n\t\t\t// Don't treat \"/patterns\" without categoryType and categoryId as a\n\t\t\t// list page in mobile because the sidebar covers the whole page.\n\t\t\t( ! isMobileViewport || ( !! categoryType && !! categoryId ) ) )\n\t);\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,aAAaA,CACpC;EAAEC,IAAI;EAAEC,YAAY;EAAEC;AAAW,CAAC,EAClCC,gBAAgB,EACf;EACD,OACC,CAAE,kBAAkB,EAAE,uBAAuB,EAAE,QAAQ,CAAE,CAACC,QAAQ,CACjEJ,IACD,CAAC,IACCA,IAAI,KAAK,WAAW;EACrB;EACA;EACE,CAAEG,gBAAgB,IAAM,CAAC,CAAEF,YAAY,IAAI,CAAC,CAAEC,UAAY,CAAI;AAEnE"}
1
+ {"version":3,"names":["getIsListPage","path","categoryType","categoryId","isMobileViewport","includes"],"sources":["@wordpress/edit-site/src/utils/get-is-list-page.js"],"sourcesContent":["/**\n * Returns if the params match the list page route.\n *\n * @param {Object} params The url params.\n * @param {string} params.path The current path.\n * @param {string} [params.categoryType] The current category type.\n * @param {string} [params.categoryId] The current category id.\n * @param {boolean} isMobileViewport Is mobile viewport.\n *\n * @return {boolean} Is list page or not.\n */\nexport default function getIsListPage(\n\t{ path, categoryType, categoryId },\n\tisMobileViewport\n) {\n\treturn (\n\t\t[ '/wp_template', '/wp_template_part/all', '/pages' ].includes(\n\t\t\tpath\n\t\t) ||\n\t\t( path === '/patterns' &&\n\t\t\t// Don't treat \"/patterns\" without categoryType and categoryId as a\n\t\t\t// list page in mobile because the sidebar covers the whole page.\n\t\t\t( ! isMobileViewport || ( !! categoryType && !! categoryId ) ) )\n\t);\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,aAAaA,CACpC;EAAEC,IAAI;EAAEC,YAAY;EAAEC;AAAW,CAAC,EAClCC,gBAAgB,EACf;EACD,OACC,CAAE,cAAc,EAAE,uBAAuB,EAAE,QAAQ,CAAE,CAACC,QAAQ,CAC7DJ,IACD,CAAC,IACCA,IAAI,KAAK,WAAW;EACrB;EACA;EACE,CAAEG,gBAAgB,IAAM,CAAC,CAAEF,YAAY,IAAI,CAAC,CAAEC,UAAY,CAAI;AAEnE"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.computeIFrameScale = computeIFrameScale;
7
+ /**
8
+ * @typedef {Object} WPPoint
9
+ * @property {number} x The horizontal coordinate.
10
+ * @property {number} y The vertical coordinate.
11
+ */
12
+
13
+ /**
14
+ * Clamps a value to a range. Uses the CSS `clamp()` ordering for arguments.
15
+ *
16
+ * @param {number} min Minimum range.
17
+ * @param {number} value Value to clamp.
18
+ * @param {number} max Maximum range.
19
+ *
20
+ * @return {number} Clamped value.
21
+ */
22
+ function clamp(min, value, max) {
23
+ return Math.max(min, Math.min(value, max));
24
+ }
25
+
26
+ /**
27
+ * Evaluates a linear function passing through two points at the given x value.
28
+ *
29
+ * Example:
30
+ * f(x)
31
+ * │ ╲
32
+ * │ * (p0)
33
+ * │ ╲
34
+ * │ ╲
35
+ * │ (p1) *
36
+ * │ ╲
37
+ * └──────────── x
38
+ *
39
+ * @param {WPPoint} p0 First point.
40
+ * @param {WPPoint} p1 Second point.
41
+ * @param {number} x Value to evaluate at.
42
+ *
43
+ * @return {number} Result of the two-point linear function at x.
44
+ */
45
+ function twoPointLinearFn(p0, p1, x) {
46
+ return (p1.y - p0.y) / (p1.x - p0.x) * (x - p0.x) + p0.y;
47
+ }
48
+
49
+ /**
50
+ * Evaluates a two-point linear function at a given x value, clamped to the range of the points.
51
+ *
52
+ * Example:
53
+ * f(x)
54
+ * │ ───* (p0)
55
+ * │ ╲
56
+ * │ ╲
57
+ * │ (p1) *───
58
+ * └──────────── x
59
+ *
60
+ * @param {WPPoint} p0 First point.
61
+ * @param {WPPoint} p1 Second point.
62
+ * @param {number} x Value to evaluate at.
63
+ *
64
+ * @return {number} Result of the two-point linear function clamped to the range of the points.
65
+ */
66
+ function clampedTwoPointLinearFn(p0, p1, x) {
67
+ return clamp(Math.min(p0.y, p1.y), twoPointLinearFn(p0, p1, x), Math.max(p0.y, p1.y));
68
+ }
69
+
70
+ /**
71
+ * Computes the iframe scale using a start and end width/scale pair and the current width.
72
+ *
73
+ * The scale is clamped outside the points and is linearly interpolated between.
74
+ *
75
+ * Example:
76
+ * scale
77
+ * │ ───* (start)
78
+ * │ ╲
79
+ * │ ╲
80
+ * │ (end) *───
81
+ * └──────────── width
82
+ *
83
+ * @param {Object} start First width and scale pair.
84
+ * @param {Object} end Second width and scale pair.
85
+ * @param {number} currentWidth Current width.
86
+ *
87
+ * @return {number} The scale of the current width between the two points.
88
+ */
89
+ function computeIFrameScale(start, end, currentWidth) {
90
+ return clampedTwoPointLinearFn({
91
+ x: start.width,
92
+ y: start.scale
93
+ }, {
94
+ x: end.width,
95
+ y: end.scale
96
+ }, currentWidth);
97
+ }
98
+ //# sourceMappingURL=math.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["clamp","min","value","max","Math","twoPointLinearFn","p0","p1","x","y","clampedTwoPointLinearFn","computeIFrameScale","start","end","currentWidth","width","scale"],"sources":["@wordpress/edit-site/src/utils/math.js"],"sourcesContent":["/**\n * @typedef {Object} WPPoint\n * @property {number} x The horizontal coordinate.\n * @property {number} y The vertical coordinate.\n */\n\n/**\n * Clamps a value to a range. Uses the CSS `clamp()` ordering for arguments.\n *\n * @param {number} min Minimum range.\n * @param {number} value Value to clamp.\n * @param {number} max Maximum range.\n *\n * @return {number} Clamped value.\n */\nfunction clamp( min, value, max ) {\n\treturn Math.max( min, Math.min( value, max ) );\n}\n\n/**\n * Evaluates a linear function passing through two points at the given x value.\n *\n * Example:\n * f(x)\n * │ ╲\n * │ * (p0)\n * │ ╲\n * │ ╲\n * │ (p1) *\n * │ ╲\n * └──────────── x\n *\n * @param {WPPoint} p0 First point.\n * @param {WPPoint} p1 Second point.\n * @param {number} x Value to evaluate at.\n *\n * @return {number} Result of the two-point linear function at x.\n */\nfunction twoPointLinearFn( p0, p1, x ) {\n\treturn ( ( p1.y - p0.y ) / ( p1.x - p0.x ) ) * ( x - p0.x ) + p0.y;\n}\n\n/**\n * Evaluates a two-point linear function at a given x value, clamped to the range of the points.\n *\n * Example:\n * f(x)\n * │ ───* (p0)\n * │ ╲\n * │ ╲\n * │ (p1) *───\n * └──────────── x\n *\n * @param {WPPoint} p0 First point.\n * @param {WPPoint} p1 Second point.\n * @param {number} x Value to evaluate at.\n *\n * @return {number} Result of the two-point linear function clamped to the range of the points.\n */\nfunction clampedTwoPointLinearFn( p0, p1, x ) {\n\treturn clamp(\n\t\tMath.min( p0.y, p1.y ),\n\t\ttwoPointLinearFn( p0, p1, x ),\n\t\tMath.max( p0.y, p1.y )\n\t);\n}\n\n/**\n * Computes the iframe scale using a start and end width/scale pair and the current width.\n *\n * The scale is clamped outside the points and is linearly interpolated between.\n *\n * Example:\n * scale\n * │ ───* (start)\n * │ ╲\n * │ ╲\n * │ (end) *───\n * └──────────── width\n *\n * @param {Object} start First width and scale pair.\n * @param {Object} end Second width and scale pair.\n * @param {number} currentWidth Current width.\n *\n * @return {number} The scale of the current width between the two points.\n */\nexport function computeIFrameScale( start, end, currentWidth ) {\n\treturn clampedTwoPointLinearFn(\n\t\t{ x: start.width, y: start.scale },\n\t\t{ x: end.width, y: end.scale },\n\t\tcurrentWidth\n\t);\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,KAAKA,CAAEC,GAAG,EAAEC,KAAK,EAAEC,GAAG,EAAG;EACjC,OAAOC,IAAI,CAACD,GAAG,CAAEF,GAAG,EAAEG,IAAI,CAACH,GAAG,CAAEC,KAAK,EAAEC,GAAI,CAAE,CAAC;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,gBAAgBA,CAAEC,EAAE,EAAEC,EAAE,EAAEC,CAAC,EAAG;EACtC,OAAS,CAAED,EAAE,CAACE,CAAC,GAAGH,EAAE,CAACG,CAAC,KAAOF,EAAE,CAACC,CAAC,GAAGF,EAAE,CAACE,CAAC,CAAE,IAAOA,CAAC,GAAGF,EAAE,CAACE,CAAC,CAAE,GAAGF,EAAE,CAACG,CAAC;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,uBAAuBA,CAAEJ,EAAE,EAAEC,EAAE,EAAEC,CAAC,EAAG;EAC7C,OAAOR,KAAK,CACXI,IAAI,CAACH,GAAG,CAAEK,EAAE,CAACG,CAAC,EAAEF,EAAE,CAACE,CAAE,CAAC,EACtBJ,gBAAgB,CAAEC,EAAE,EAAEC,EAAE,EAAEC,CAAE,CAAC,EAC7BJ,IAAI,CAACD,GAAG,CAAEG,EAAE,CAACG,CAAC,EAAEF,EAAE,CAACE,CAAE,CACtB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,kBAAkBA,CAAEC,KAAK,EAAEC,GAAG,EAAEC,YAAY,EAAG;EAC9D,OAAOJ,uBAAuB,CAC7B;IAAEF,CAAC,EAAEI,KAAK,CAACG,KAAK;IAAEN,CAAC,EAAEG,KAAK,CAACI;EAAM,CAAC,EAClC;IAAER,CAAC,EAAEK,GAAG,CAACE,KAAK;IAAEN,CAAC,EAAEI,GAAG,CAACG;EAAM,CAAC,EAC9BF,YACD,CAAC;AACF"}
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { external, trash, backup } from '@wordpress/icons';
5
+ import { external, edit, backup } from '@wordpress/icons';
6
6
  import { addQueryArgs } from '@wordpress/url';
7
7
  import { useDispatch } from '@wordpress/data';
8
8
  import { decodeEntities } from '@wordpress/html-entities';
@@ -23,8 +23,6 @@ const {
23
23
  export const trashPostAction = {
24
24
  id: 'move-to-trash',
25
25
  label: __('Move to Trash'),
26
- isPrimary: true,
27
- icon: trash,
28
26
  isEligible({
29
27
  status
30
28
  }) {
@@ -132,8 +130,6 @@ export function usePermanentlyDeletePostAction() {
132
130
  return useMemo(() => ({
133
131
  id: 'permanently-delete',
134
132
  label: __('Permanently delete'),
135
- isPrimary: true,
136
- icon: trash,
137
133
  supportsBulk: true,
138
134
  isEligible({
139
135
  status
@@ -271,6 +267,8 @@ export function useEditPostAction() {
271
267
  return useMemo(() => ({
272
268
  id: 'edit-post',
273
269
  label: __('Edit'),
270
+ isPrimary: true,
271
+ icon: edit,
274
272
  isEligible({
275
273
  status
276
274
  }) {
@@ -1 +1 @@
1
- {"version":3,"names":["external","trash","backup","addQueryArgs","useDispatch","decodeEntities","store","coreStore","__","sprintf","noticesStore","useMemo","privateApis","routerPrivateApis","Button","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","unlock","useHistory","trashPostAction","id","label","isPrimary","icon","isEligible","status","supportsBulk","hideModalHeader","RenderModal","items","posts","closeModal","onPerform","createSuccessNotice","createErrorNotice","deleteEntityRecord","createElement","spacing","length","title","rendered","justify","variant","onClick","promiseResult","Promise","allSettled","map","post","type","throwOnError","every","successMessage","errorMessage","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","usePermanentlyDeletePostAction","callback","force","useRestorePostAction","editEntityRecord","saveEditedEntityRecord","error","code","viewPostAction","window","open","link","useEditPostAction","history","push","postId","postType","canvas","postRevisionsAction","_post$_links$predeces","_post$_links$version","lastRevisionId","_links","revisionsCount","count","href","revision","document","location"],"sources":["@wordpress/edit-site/src/components/actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external, trash, backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport const trashPostAction = {\n\tid: 'move-to-trash',\n\tlabel: __( 'Move to Trash' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items: posts, closeModal, onPerform } ) => {\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ posts.length === 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The page's title.\n\t\t\t\t\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\t\t\t\t\tdecodeEntities( posts[ 0 ].title.rendered )\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: The number of pages (2 or more).\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to delete %d pages?'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\t\t\t\treturn deleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tlet successMessage;\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" moved to the Trash.' ),\n\t\t\t\t\t\t\t\t\t\tdecodeEntities(\n\t\t\t\t\t\t\t\t\t\t\tposts[ 0 ].title.rendered\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t\t\t\t'Pages moved to the Trash.'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tid: 'edit-site-page-trashed',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t\t\t\t// If we were trying to move a single post to the trash.\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\t\t\t\t\tpromiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the post to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// If we were trying to move multiple posts to the trash\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the posts to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the posts to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Some errors occurred while moving the pages to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( onPerform ) {\n\t\t\t\t\t\t\t\tonPerform();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport function usePermanentlyDeletePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'permanently-delete',\n\t\t\tlabel: __( 'Permanently delete' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: trash,\n\t\t\tsupportsBulk: true,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( posts ) {\n\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\treturn deleteEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\tif (\n\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlet successMessage;\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t__( '\"%s\" permanently deleted.' ),\n\t\t\t\t\t\t\tdecodeEntities( posts[ 0 ].title.rendered )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t'The posts were permanently deleted.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'edit-site-post-permanently-deleted',\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t// If we were trying to permanently delete a single post.\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the post.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If we were trying to permanently delete multiple posts\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the posts.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Some errors occurred while permanently deleting the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nexport function useRestorePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'restore',\n\t\t\tlabel: __( 'Restore' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: backup,\n\t\t\tsupportsBulk: true,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( posts ) {\n\t\t\t\ttry {\n\t\t\t\t\tfor ( const post of posts ) {\n\t\t\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tposts.length > 1\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t\t\t__( '%d posts have been restored.' ),\n\t\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t\t\t__( '\"%s\" has been restored.' ),\n\t\t\t\t\t\t\t\t\tdecodeEntities( posts[ 0 ].title.rendered )\n\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-post-restored',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\tif (\n\t\t\t\t\t\terror.message &&\n\t\t\t\t\t\terror.code !== 'unknown_error' &&\n\t\t\t\t\t\terror.message\n\t\t\t\t\t) {\n\t\t\t\t\t\terrorMessage = error.message;\n\t\t\t\t\t} else if ( posts.length > 1 ) {\n\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t'An error occurred while restoring the posts.'\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t'An error occurred while restoring the post.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t\teditEntityRecord,\n\t\t\tsaveEditedEntityRecord,\n\t\t]\n\t);\n}\n\nexport const viewPostAction = {\n\tid: 'view-post',\n\tlabel: __( 'View' ),\n\tisPrimary: true,\n\ticon: external,\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tcallback( posts ) {\n\t\tconst post = posts[ 0 ];\n\t\twindow.open( post.link, '_blank' );\n\t},\n};\n\nexport function useEditPostAction() {\n\tconst history = useHistory();\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'edit-post',\n\t\t\tlabel: __( 'Edit' ),\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tcallback( posts ) {\n\t\t\t\tconst post = posts[ 0 ];\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostId: post.id,\n\t\t\t\t\tpostType: post.type,\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} );\n\t\t\t},\n\t\t} ),\n\t\t[ history ]\n\t);\n}\nexport const postRevisionsAction = {\n\tid: 'view-post-revisions',\n\tlabel: __( 'View revisions' ),\n\tisPrimary: false,\n\tisEligible: ( post ) => {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastRevisionId =\n\t\t\tpost?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\t\tconst revisionsCount =\n\t\t\tpost?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn lastRevisionId && revisionsCount > 1;\n\t},\n\tcallback( posts ) {\n\t\tconst post = posts[ 0 ];\n\t\tconst href = addQueryArgs( 'revision.php', {\n\t\t\trevision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,\n\t\t} );\n\t\tdocument.location.href = href;\n\t},\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["external","edit","backup","addQueryArgs","useDispatch","decodeEntities","store","coreStore","__","sprintf","noticesStore","useMemo","privateApis","routerPrivateApis","Button","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","unlock","useHistory","trashPostAction","id","label","isEligible","status","supportsBulk","hideModalHeader","RenderModal","items","posts","closeModal","onPerform","createSuccessNotice","createErrorNotice","deleteEntityRecord","createElement","spacing","length","title","rendered","justify","variant","onClick","promiseResult","Promise","allSettled","map","post","type","throwOnError","every","successMessage","errorMessage","reason","message","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","usePermanentlyDeletePostAction","callback","force","useRestorePostAction","editEntityRecord","saveEditedEntityRecord","isPrimary","icon","error","code","viewPostAction","window","open","link","useEditPostAction","history","push","postId","postType","canvas","postRevisionsAction","_post$_links$predeces","_post$_links$version","lastRevisionId","_links","revisionsCount","count","href","revision","document","location"],"sources":["@wordpress/edit-site/src/components/actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external, edit, backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport const trashPostAction = {\n\tid: 'move-to-trash',\n\tlabel: __( 'Move to Trash' ),\n\tisEligible( { status } ) {\n\t\treturn status !== 'trash';\n\t},\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items: posts, closeModal, onPerform } ) => {\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ posts.length === 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The page's title.\n\t\t\t\t\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\t\t\t\t\tdecodeEntities( posts[ 0 ].title.rendered )\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: The number of pages (2 or more).\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to delete %d pages?'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\t\t\t\treturn deleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tlet successMessage;\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t\t\t\t__( '\"%s\" moved to the Trash.' ),\n\t\t\t\t\t\t\t\t\t\tdecodeEntities(\n\t\t\t\t\t\t\t\t\t\t\tposts[ 0 ].title.rendered\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t\t\t\t'Pages moved to the Trash.'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\tid: 'edit-site-page-trashed',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t\t\t\t// If we were trying to move a single post to the trash.\n\t\t\t\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage =\n\t\t\t\t\t\t\t\t\t\t\tpromiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the post to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t// If we were trying to move multiple posts to the trash\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the posts to the trash.'\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'An error occurred while moving the posts to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Some errors occurred while moving the pages to the trash: %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( onPerform ) {\n\t\t\t\t\t\t\t\tonPerform();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport function usePermanentlyDeletePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'permanently-delete',\n\t\t\tlabel: __( 'Permanently delete' ),\n\t\t\tsupportsBulk: true,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( posts ) {\n\t\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\t\tposts.map( ( post ) => {\n\t\t\t\t\t\treturn deleteEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t\t// If all the promises were fulfilled with success.\n\t\t\t\tif (\n\t\t\t\t\tpromiseResult.every(\n\t\t\t\t\t\t( { status } ) => status === 'fulfilled'\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tlet successMessage;\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t__( '\"%s\" permanently deleted.' ),\n\t\t\t\t\t\t\tdecodeEntities( posts[ 0 ].title.rendered )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsuccessMessage = __(\n\t\t\t\t\t\t\t'The posts were permanently deleted.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'edit-site-post-permanently-deleted',\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\t// If there was at lease one failure.\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\t// If we were trying to permanently delete a single post.\n\t\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the post.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If we were trying to permanently delete multiple posts\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\t\terrorMessages.add(\n\t\t\t\t\t\t\t\t\tfailedPromise.reason.message\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the posts.'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Some errors occurred while permanently deleting the posts: %s'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nexport function useRestorePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'restore',\n\t\t\tlabel: __( 'Restore' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: backup,\n\t\t\tsupportsBulk: true,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( posts ) {\n\t\t\t\ttry {\n\t\t\t\t\tfor ( const post of posts ) {\n\t\t\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tstatus: 'draft',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tposts.length > 1\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t\t\t__( '%d posts have been restored.' ),\n\t\t\t\t\t\t\t\t\tposts.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The number of posts. */\n\t\t\t\t\t\t\t\t\t__( '\"%s\" has been restored.' ),\n\t\t\t\t\t\t\t\t\tdecodeEntities( posts[ 0 ].title.rendered )\n\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-post-restored',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tlet errorMessage;\n\t\t\t\t\tif (\n\t\t\t\t\t\terror.message &&\n\t\t\t\t\t\terror.code !== 'unknown_error' &&\n\t\t\t\t\t\terror.message\n\t\t\t\t\t) {\n\t\t\t\t\t\terrorMessage = error.message;\n\t\t\t\t\t} else if ( posts.length > 1 ) {\n\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t'An error occurred while restoring the posts.'\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t'An error occurred while restoring the post.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t\teditEntityRecord,\n\t\t\tsaveEditedEntityRecord,\n\t\t]\n\t);\n}\n\nexport const viewPostAction = {\n\tid: 'view-post',\n\tlabel: __( 'View' ),\n\tisPrimary: true,\n\ticon: external,\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tcallback( posts ) {\n\t\tconst post = posts[ 0 ];\n\t\twindow.open( post.link, '_blank' );\n\t},\n};\n\nexport function useEditPostAction() {\n\tconst history = useHistory();\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'edit-post',\n\t\t\tlabel: __( 'Edit' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: edit,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tcallback( posts ) {\n\t\t\t\tconst post = posts[ 0 ];\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostId: post.id,\n\t\t\t\t\tpostType: post.type,\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} );\n\t\t\t},\n\t\t} ),\n\t\t[ history ]\n\t);\n}\nexport const postRevisionsAction = {\n\tid: 'view-post-revisions',\n\tlabel: __( 'View revisions' ),\n\tisPrimary: false,\n\tisEligible: ( post ) => {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastRevisionId =\n\t\t\tpost?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\t\tconst revisionsCount =\n\t\t\tpost?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn lastRevisionId && revisionsCount > 1;\n\t},\n\tcallback( posts ) {\n\t\tconst post = posts[ 0 ];\n\t\tconst href = addQueryArgs( 'revision.php', {\n\t\t\trevision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,\n\t\t} );\n\t\tdocument.location.href = href;\n\t},\n};\n"],"mappings":"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"}
@@ -20,6 +20,7 @@ import { privateApis as editorPrivateApis } from '@wordpress/editor';
20
20
  import { unlock } from '../../lock-unlock';
21
21
  import { store as editSiteStore } from '../../store';
22
22
  import { FOCUSABLE_ENTITIES, NAVIGATION_POST_TYPE } from '../../utils/constants';
23
+ import { computeIFrameScale } from '../../utils/math';
23
24
  const {
24
25
  EditorCanvas: EditorCanvasRoot
25
26
  } = unlock(editorPrivateApis);
@@ -33,10 +34,12 @@ function EditorCanvas({
33
34
  hasBlocks,
34
35
  isFocusMode,
35
36
  templateType,
36
- canvasMode
37
+ canvasMode,
38
+ isZoomOutMode
37
39
  } = useSelect(select => {
38
40
  const {
39
- getBlockCount
41
+ getBlockCount,
42
+ __unstableGetEditorMode
40
43
  } = select(blockEditorStore);
41
44
  const {
42
45
  getEditedPostType,
@@ -46,6 +49,7 @@ function EditorCanvas({
46
49
  return {
47
50
  templateType: _templateType,
48
51
  isFocusMode: FOCUSABLE_ENTITIES.includes(_templateType),
52
+ isZoomOutMode: __unstableGetEditorMode() === 'zoom-out',
49
53
  canvasMode: getCanvasMode(),
50
54
  hasBlocks: !!getBlockCount()
51
55
  };
@@ -96,6 +100,14 @@ function EditorCanvas({
96
100
  // which isn't a requirement in auto resize mode.
97
101
  enableResizing ? 'min-height:0!important;' : ''}}body{position:relative; ${canvasMode === 'view' ? 'cursor: pointer; min-height: 100vh;' : ''}}}`
98
102
  }], [settings.styles, enableResizing, canvasMode]);
103
+ const frameSize = isZoomOutMode ? 20 : undefined;
104
+ const scale = isZoomOutMode ? contentWidth => computeIFrameScale({
105
+ width: 1000,
106
+ scale: 0.45
107
+ }, {
108
+ width: 400,
109
+ scale: 0.9
110
+ }, contentWidth) : undefined;
99
111
  return createElement(EditorCanvasRoot, {
100
112
  className: classnames('edit-site-editor-canvas__block-list', {
101
113
  'is-navigation-block': isTemplateTypeNavigation
@@ -103,7 +115,8 @@ function EditorCanvas({
103
115
  renderAppender: showBlockAppender,
104
116
  styles: styles,
105
117
  iframeProps: {
106
- shouldZoom: true,
118
+ scale,
119
+ frameSize,
107
120
  className: classnames('edit-site-visual-editor__editor-canvas', {
108
121
  'is-focused': isFocused && canvasMode === 'view'
109
122
  }),
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","store","blockEditorStore","useSelect","useDispatch","ENTER","SPACE","useState","useEffect","useMemo","__","privateApis","editorPrivateApis","unlock","editSiteStore","FOCUSABLE_ENTITIES","NAVIGATION_POST_TYPE","EditorCanvas","EditorCanvasRoot","enableResizing","settings","children","props","hasBlocks","isFocusMode","templateType","canvasMode","select","getBlockCount","getEditedPostType","getCanvasMode","_templateType","includes","setCanvasMode","isFocused","setIsFocused","viewModeIframeProps","title","role","tabIndex","onFocus","onBlur","onKeyDown","event","keyCode","preventDefault","onClick","readonly","isTemplateTypeNavigation","isNavigationFocusMode","showBlockAppender","undefined","styles","css","createElement","className","renderAppender","iframeProps","shouldZoom"],"sources":["@wordpress/edit-site/src/components/block-editor/editor-canvas.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tFOCUSABLE_ENTITIES,\n\tNAVIGATION_POST_TYPE,\n} from '../../utils/constants';\n\nconst { EditorCanvas: EditorCanvasRoot } = unlock( editorPrivateApis );\n\nfunction EditorCanvas( { enableResizing, settings, children, ...props } ) {\n\tconst { hasBlocks, isFocusMode, templateType, canvasMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount } = select( blockEditorStore );\n\t\t\tconst { getEditedPostType, getCanvasMode } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst _templateType = getEditedPostType();\n\n\t\t\treturn {\n\t\t\t\ttemplateType: _templateType,\n\t\t\t\tisFocusMode: FOCUSABLE_ENTITIES.includes( _templateType ),\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\thasBlocks: !! getBlockCount(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( canvasMode === 'edit' ) {\n\t\t\tsetIsFocused( false );\n\t\t}\n\t}, [ canvasMode ] );\n\n\t// In view mode, make the canvas iframe be perceived and behave as a button\n\t// to switch to edit mode, with a meaningful label and no title attribute.\n\tconst viewModeIframeProps = {\n\t\t'aria-label': __( 'Edit' ),\n\t\ttitle: null,\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( keyCode === ENTER || keyCode === SPACE ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetCanvasMode( 'edit' );\n\t\t\t}\n\t\t},\n\t\tonClick: () => setCanvasMode( 'edit' ),\n\t\treadonly: true,\n\t};\n\tconst isTemplateTypeNavigation = templateType === NAVIGATION_POST_TYPE;\n\tconst isNavigationFocusMode = isTemplateTypeNavigation && isFocusMode;\n\t// Hide the appender when:\n\t// - In navigation focus mode (should only allow the root Nav block).\n\t// - In view mode (i.e. not editing).\n\tconst showBlockAppender =\n\t\t( isNavigationFocusMode && hasBlocks ) || canvasMode === 'view'\n\t\t\t? false\n\t\t\t: undefined;\n\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\t...settings.styles,\n\t\t\t{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\n\t\t\t\tcss: `.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}body{position:relative; ${\n\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t? 'cursor: pointer; min-height: 100vh;'\n\t\t\t\t\t\t: ''\n\t\t\t\t}}}`,\n\t\t\t},\n\t\t],\n\t\t[ settings.styles, enableResizing, canvasMode ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasRoot\n\t\t\tclassName={ classnames( 'edit-site-editor-canvas__block-list', {\n\t\t\t\t'is-navigation-block': isTemplateTypeNavigation,\n\t\t\t} ) }\n\t\t\trenderAppender={ showBlockAppender }\n\t\t\tstyles={ styles }\n\t\t\tiframeProps={ {\n\t\t\t\tshouldZoom: true,\n\t\t\t\tclassName: classnames(\n\t\t\t\t\t'edit-site-visual-editor__editor-canvas',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-focused': isFocused && canvasMode === 'view',\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\t...props,\n\t\t\t\t...( canvasMode === 'view' ? viewModeIframeProps : {} ),\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</EditorCanvasRoot>\n\t);\n}\n\nexport default EditorCanvas;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","store","blockEditorStore","useSelect","useDispatch","ENTER","SPACE","useState","useEffect","useMemo","__","privateApis","editorPrivateApis","unlock","editSiteStore","FOCUSABLE_ENTITIES","NAVIGATION_POST_TYPE","computeIFrameScale","EditorCanvas","EditorCanvasRoot","enableResizing","settings","children","props","hasBlocks","isFocusMode","templateType","canvasMode","isZoomOutMode","select","getBlockCount","__unstableGetEditorMode","getEditedPostType","getCanvasMode","_templateType","includes","setCanvasMode","isFocused","setIsFocused","viewModeIframeProps","title","role","tabIndex","onFocus","onBlur","onKeyDown","event","keyCode","preventDefault","onClick","readonly","isTemplateTypeNavigation","isNavigationFocusMode","showBlockAppender","undefined","styles","css","frameSize","scale","contentWidth","width","createElement","className","renderAppender","iframeProps"],"sources":["@wordpress/edit-site/src/components/block-editor/editor-canvas.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tFOCUSABLE_ENTITIES,\n\tNAVIGATION_POST_TYPE,\n} from '../../utils/constants';\nimport { computeIFrameScale } from '../../utils/math';\n\nconst { EditorCanvas: EditorCanvasRoot } = unlock( editorPrivateApis );\n\nfunction EditorCanvas( { enableResizing, settings, children, ...props } ) {\n\tconst { hasBlocks, isFocusMode, templateType, canvasMode, isZoomOutMode } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getBlockCount, __unstableGetEditorMode } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getEditedPostType, getCanvasMode } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst _templateType = getEditedPostType();\n\n\t\t\treturn {\n\t\t\t\ttemplateType: _templateType,\n\t\t\t\tisFocusMode: FOCUSABLE_ENTITIES.includes( _templateType ),\n\t\t\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\thasBlocks: !! getBlockCount(),\n\t\t\t};\n\t\t}, [] );\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( canvasMode === 'edit' ) {\n\t\t\tsetIsFocused( false );\n\t\t}\n\t}, [ canvasMode ] );\n\n\t// In view mode, make the canvas iframe be perceived and behave as a button\n\t// to switch to edit mode, with a meaningful label and no title attribute.\n\tconst viewModeIframeProps = {\n\t\t'aria-label': __( 'Edit' ),\n\t\ttitle: null,\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( keyCode === ENTER || keyCode === SPACE ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetCanvasMode( 'edit' );\n\t\t\t}\n\t\t},\n\t\tonClick: () => setCanvasMode( 'edit' ),\n\t\treadonly: true,\n\t};\n\tconst isTemplateTypeNavigation = templateType === NAVIGATION_POST_TYPE;\n\tconst isNavigationFocusMode = isTemplateTypeNavigation && isFocusMode;\n\t// Hide the appender when:\n\t// - In navigation focus mode (should only allow the root Nav block).\n\t// - In view mode (i.e. not editing).\n\tconst showBlockAppender =\n\t\t( isNavigationFocusMode && hasBlocks ) || canvasMode === 'view'\n\t\t\t? false\n\t\t\t: undefined;\n\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\t...settings.styles,\n\t\t\t{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\n\t\t\t\tcss: `.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}body{position:relative; ${\n\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t? 'cursor: pointer; min-height: 100vh;'\n\t\t\t\t\t\t: ''\n\t\t\t\t}}}`,\n\t\t\t},\n\t\t],\n\t\t[ settings.styles, enableResizing, canvasMode ]\n\t);\n\n\tconst frameSize = isZoomOutMode ? 20 : undefined;\n\n\tconst scale = isZoomOutMode\n\t\t? ( contentWidth ) =>\n\t\t\t\tcomputeIFrameScale(\n\t\t\t\t\t{ width: 1000, scale: 0.45 },\n\t\t\t\t\t{ width: 400, scale: 0.9 },\n\t\t\t\t\tcontentWidth\n\t\t\t\t)\n\t\t: undefined;\n\n\treturn (\n\t\t<EditorCanvasRoot\n\t\t\tclassName={ classnames( 'edit-site-editor-canvas__block-list', {\n\t\t\t\t'is-navigation-block': isTemplateTypeNavigation,\n\t\t\t} ) }\n\t\t\trenderAppender={ showBlockAppender }\n\t\t\tstyles={ styles }\n\t\t\tiframeProps={ {\n\t\t\t\tscale,\n\t\t\t\tframeSize,\n\t\t\t\tclassName: classnames(\n\t\t\t\t\t'edit-site-visual-editor__editor-canvas',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-focused': isFocused && canvasMode === 'view',\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\t...props,\n\t\t\t\t...( canvasMode === 'view' ? viewModeIframeProps : {} ),\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</EditorCanvasRoot>\n\t);\n}\n\nexport default EditorCanvas;\n"],"mappings":"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"}
@@ -94,7 +94,7 @@ function useNavigateToPreviousEntityRecord() {
94
94
  const history = useHistory();
95
95
  const goBack = useMemo(() => {
96
96
  const isFocusMode = location.params.focusMode || location.params.postId && FOCUSABLE_ENTITIES.includes(location.params.postType);
97
- const didComeFromEditorCanvas = previousLocation?.params.postId && previousLocation?.params.postType && previousLocation?.params.canvas === 'edit';
97
+ const didComeFromEditorCanvas = previousLocation?.params.canvas === 'edit';
98
98
  const showBackButton = isFocusMode && didComeFromEditorCanvas;
99
99
  return showBackButton ? () => history.back() : undefined;
100
100
  // Disable reason: previousLocation changes when the component updates for any reason, not
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useMemo","store","coreStore","privateApis","editorPrivateApis","routerPrivateApis","usePrevious","editSiteStore","unlock","useNavigateToEntityRecord","FOCUSABLE_ENTITIES","useBlockEditorSettings","useLocation","useHistory","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","isAuthor","authorSlug","authorMatches","select","getEntityRecords","getTaxonomy","getAuthors","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","authorRecords","useNavigateToPreviousEntityRecord","location","previousLocation","history","goBack","isFocusMode","params","focusMode","postId","includes","postType","didComeFromEditorCanvas","canvas","showBackButton","back","undefined","useSpecificEditorSettings","onNavigateToEntityRecord","canvasMode","settings","postWithTemplate","getEditedPostType","getEditedPostId","getEditedPostContext","getCanvasMode","getSettings","getEditedEntityRecord","usedPostType","usedPostId","_record","_context","archiveLabels","defaultRenderingMode","onNavigateToPreviousEntityRecord","defaultEditorSettings","richEditingEnabled","supportsTemplateMode","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel","__unstableIsPreviewMode","useSiteEditorSettings"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.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 { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useNavigateToEntityRecord from './use-navigate-to-entity-record';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useBlockEditorSettings } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tlet isAuthor = false;\n\tlet authorSlug;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t} else {\n\t\tconst authorMatches = templateSlug?.match( /^(author)$|^author-(.+)$/ );\n\t\tif ( authorMatches ) {\n\t\t\tisAuthor = true;\n\t\t\tif ( authorMatches[ 2 ] ) {\n\t\t\t\tauthorSlug = authorMatches[ 2 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, getAuthors } =\n\t\t\t\tselect( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( isAuthor ) {\n\t\t\t\tarchiveTypeLabel = 'Author';\n\t\t\t\tif ( authorSlug ) {\n\t\t\t\t\tconst authorRecords = getAuthors( { slug: authorSlug } );\n\t\t\t\t\tif ( authorRecords && authorRecords[ 0 ] ) {\n\t\t\t\t\t\tarchiveNameLabel = authorRecords[ 0 ].name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ authorSlug, isAuthor, taxonomy, term ]\n\t);\n}\n\nfunction useNavigateToPreviousEntityRecord() {\n\tconst location = useLocation();\n\tconst previousLocation = usePrevious( location );\n\tconst history = useHistory();\n\tconst goBack = useMemo( () => {\n\t\tconst isFocusMode =\n\t\t\tlocation.params.focusMode ||\n\t\t\t( location.params.postId &&\n\t\t\t\tFOCUSABLE_ENTITIES.includes( location.params.postType ) );\n\t\tconst didComeFromEditorCanvas =\n\t\t\tpreviousLocation?.params.postId &&\n\t\t\tpreviousLocation?.params.postType &&\n\t\t\tpreviousLocation?.params.canvas === 'edit';\n\t\tconst showBackButton = isFocusMode && didComeFromEditorCanvas;\n\t\treturn showBackButton ? () => history.back() : undefined;\n\t\t// Disable reason: previousLocation changes when the component updates for any reason, not\n\t\t// just when location changes. Until this is fixed we can't add it to deps. See\n\t\t// https://github.com/WordPress/gutenberg/pull/58710#discussion_r1479219465.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ location, history ] );\n\treturn goBack;\n}\n\nexport function useSpecificEditorSettings() {\n\tconst onNavigateToEntityRecord = useNavigateToEntityRecord();\n\tconst { templateSlug, canvasMode, settings, postWithTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedPostType,\n\t\t\t\tgetEditedPostId,\n\t\t\t\tgetEditedPostContext,\n\t\t\t\tgetCanvasMode,\n\t\t\t\tgetSettings,\n\t\t\t} = unlock( select( editSiteStore ) );\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst usedPostType = getEditedPostType();\n\t\t\tconst usedPostId = getEditedPostId();\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tusedPostType,\n\t\t\t\tusedPostId\n\t\t\t);\n\t\t\tconst _context = getEditedPostContext();\n\t\t\treturn {\n\t\t\t\ttemplateSlug: _record.slug,\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tsettings: getSettings(),\n\t\t\t\tpostWithTemplate: _context?.postId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\tconst defaultRenderingMode = postWithTemplate\n\t\t? 'template-locked'\n\t\t: 'post-only';\n\tconst onNavigateToPreviousEntityRecord =\n\t\tuseNavigateToPreviousEntityRecord();\n\tconst defaultEditorSettings = useMemo( () => {\n\t\treturn {\n\t\t\t...settings,\n\n\t\t\trichEditingEnabled: true,\n\t\t\tsupportsTemplateMode: true,\n\t\t\tfocusMode: canvasMode !== 'view',\n\t\t\tdefaultRenderingMode,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\t// I wonder if they should be set in the post editor too\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t\t__unstableIsPreviewMode: canvasMode === 'view',\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tcanvasMode,\n\t\tdefaultRenderingMode,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n\nexport default function useSiteEditorSettings() {\n\tconst defaultEditorSettings = useSpecificEditorSettings();\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\treturn {\n\t\t\tpostType: usedPostType,\n\t\t\tpostId: usedPostId,\n\t\t};\n\t}, [] );\n\treturn useBlockEditorSettings( defaultEditorSettings, postType, postId );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useSelect","useMemo","store","coreStore","privateApis","editorPrivateApis","routerPrivateApis","usePrevious","editSiteStore","unlock","useNavigateToEntityRecord","FOCUSABLE_ENTITIES","useBlockEditorSettings","useLocation","useHistory","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","isAuthor","authorSlug","authorMatches","select","getEntityRecords","getTaxonomy","getAuthors","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","authorRecords","useNavigateToPreviousEntityRecord","location","previousLocation","history","goBack","isFocusMode","params","focusMode","postId","includes","postType","didComeFromEditorCanvas","canvas","showBackButton","back","undefined","useSpecificEditorSettings","onNavigateToEntityRecord","canvasMode","settings","postWithTemplate","getEditedPostType","getEditedPostId","getEditedPostContext","getCanvasMode","getSettings","getEditedEntityRecord","usedPostType","usedPostId","_record","_context","archiveLabels","defaultRenderingMode","onNavigateToPreviousEntityRecord","defaultEditorSettings","richEditingEnabled","supportsTemplateMode","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel","__unstableIsPreviewMode","useSiteEditorSettings"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.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 { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useNavigateToEntityRecord from './use-navigate-to-entity-record';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useBlockEditorSettings } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tlet isAuthor = false;\n\tlet authorSlug;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t} else {\n\t\tconst authorMatches = templateSlug?.match( /^(author)$|^author-(.+)$/ );\n\t\tif ( authorMatches ) {\n\t\t\tisAuthor = true;\n\t\t\tif ( authorMatches[ 2 ] ) {\n\t\t\t\tauthorSlug = authorMatches[ 2 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, getAuthors } =\n\t\t\t\tselect( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( isAuthor ) {\n\t\t\t\tarchiveTypeLabel = 'Author';\n\t\t\t\tif ( authorSlug ) {\n\t\t\t\t\tconst authorRecords = getAuthors( { slug: authorSlug } );\n\t\t\t\t\tif ( authorRecords && authorRecords[ 0 ] ) {\n\t\t\t\t\t\tarchiveNameLabel = authorRecords[ 0 ].name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ authorSlug, isAuthor, taxonomy, term ]\n\t);\n}\n\nfunction useNavigateToPreviousEntityRecord() {\n\tconst location = useLocation();\n\tconst previousLocation = usePrevious( location );\n\tconst history = useHistory();\n\tconst goBack = useMemo( () => {\n\t\tconst isFocusMode =\n\t\t\tlocation.params.focusMode ||\n\t\t\t( location.params.postId &&\n\t\t\t\tFOCUSABLE_ENTITIES.includes( location.params.postType ) );\n\t\tconst didComeFromEditorCanvas =\n\t\t\tpreviousLocation?.params.canvas === 'edit';\n\t\tconst showBackButton = isFocusMode && didComeFromEditorCanvas;\n\t\treturn showBackButton ? () => history.back() : undefined;\n\t\t// Disable reason: previousLocation changes when the component updates for any reason, not\n\t\t// just when location changes. Until this is fixed we can't add it to deps. See\n\t\t// https://github.com/WordPress/gutenberg/pull/58710#discussion_r1479219465.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ location, history ] );\n\treturn goBack;\n}\n\nexport function useSpecificEditorSettings() {\n\tconst onNavigateToEntityRecord = useNavigateToEntityRecord();\n\tconst { templateSlug, canvasMode, settings, postWithTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedPostType,\n\t\t\t\tgetEditedPostId,\n\t\t\t\tgetEditedPostContext,\n\t\t\t\tgetCanvasMode,\n\t\t\t\tgetSettings,\n\t\t\t} = unlock( select( editSiteStore ) );\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst usedPostType = getEditedPostType();\n\t\t\tconst usedPostId = getEditedPostId();\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tusedPostType,\n\t\t\t\tusedPostId\n\t\t\t);\n\t\t\tconst _context = getEditedPostContext();\n\t\t\treturn {\n\t\t\t\ttemplateSlug: _record.slug,\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tsettings: getSettings(),\n\t\t\t\tpostWithTemplate: _context?.postId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\tconst defaultRenderingMode = postWithTemplate\n\t\t? 'template-locked'\n\t\t: 'post-only';\n\tconst onNavigateToPreviousEntityRecord =\n\t\tuseNavigateToPreviousEntityRecord();\n\tconst defaultEditorSettings = useMemo( () => {\n\t\treturn {\n\t\t\t...settings,\n\n\t\t\trichEditingEnabled: true,\n\t\t\tsupportsTemplateMode: true,\n\t\t\tfocusMode: canvasMode !== 'view',\n\t\t\tdefaultRenderingMode,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\t// I wonder if they should be set in the post editor too\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t\t__unstableIsPreviewMode: canvasMode === 'view',\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tcanvasMode,\n\t\tdefaultRenderingMode,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n\nexport default function useSiteEditorSettings() {\n\tconst defaultEditorSettings = useSpecificEditorSettings();\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\treturn {\n\t\t\tpostType: usedPostType,\n\t\t\tpostId: usedPostId,\n\t\t};\n\t}, [] );\n\treturn useBlockEditorSettings( defaultEditorSettings, postType, postId );\n}\n"],"mappings":"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"}