@wordpress/edit-site 7.1.0 → 7.2.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 (386) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +0 -7
  3. package/build/components/add-new-pattern/index.cjs.map +2 -2
  4. package/build/components/add-new-post/index.cjs.map +2 -2
  5. package/build/components/add-new-template/add-custom-generic-template-modal-content.cjs.map +2 -2
  6. package/build/components/add-new-template/add-custom-template-modal-content.cjs.map +2 -2
  7. package/build/components/add-new-template/index.cjs.map +2 -2
  8. package/build/components/add-new-template/utils.cjs.map +2 -2
  9. package/build/components/add-new-template-legacy/add-custom-generic-template-modal-content.cjs.map +2 -2
  10. package/build/components/add-new-template-legacy/add-custom-template-modal-content.cjs.map +2 -2
  11. package/build/components/add-new-template-legacy/index.cjs.map +2 -2
  12. package/build/components/add-new-template-legacy/utils.cjs.map +2 -2
  13. package/build/components/app/index.cjs.map +2 -2
  14. package/build/components/block-editor/use-editor-iframe-props.cjs.map +2 -2
  15. package/build/components/block-editor/use-navigate-to-entity-record.cjs.map +2 -2
  16. package/build/components/block-editor/use-site-editor-settings.cjs.map +2 -2
  17. package/build/components/block-editor/use-viewport-sync.cjs.map +2 -2
  18. package/build/components/canvas-loader/index.cjs.map +2 -2
  19. package/build/components/dataviews-actions/index.cjs.map +2 -2
  20. package/build/components/editor/index.cjs +6 -5
  21. package/build/components/editor/index.cjs.map +3 -3
  22. package/build/components/editor/site-preview.cjs.map +2 -2
  23. package/build/components/editor/use-adapt-editor-to-canvas.cjs.map +2 -2
  24. package/build/components/editor/use-editor-title.cjs.map +2 -2
  25. package/build/components/editor/use-resolve-edited-entity.cjs.map +2 -2
  26. package/build/components/editor/use-revisions-url-sync.cjs +122 -0
  27. package/build/components/editor/use-revisions-url-sync.cjs.map +7 -0
  28. package/build/components/layout/animation.cjs.map +2 -2
  29. package/build/components/layout/hooks.cjs.map +2 -2
  30. package/build/components/layout/index.cjs +0 -1
  31. package/build/components/layout/index.cjs.map +2 -2
  32. package/build/components/media/index.cjs.map +2 -2
  33. package/build/components/more-menu/index.cjs.map +2 -2
  34. package/build/components/more-menu/site-export.cjs.map +2 -2
  35. package/build/components/more-menu/welcome-guide-menu-item.cjs.map +2 -2
  36. package/build/components/page-patterns/actions.cjs.map +2 -2
  37. package/build/components/page-patterns/delete-category-menu-item.cjs.map +2 -2
  38. package/build/components/page-patterns/fields.cjs.map +2 -2
  39. package/build/components/page-patterns/index.cjs.map +2 -2
  40. package/build/components/page-patterns/rename-category-menu-item.cjs.map +2 -2
  41. package/build/components/page-patterns/search-items.cjs.map +2 -2
  42. package/build/components/page-patterns/use-pattern-settings.cjs.map +2 -2
  43. package/build/components/page-patterns/use-patterns.cjs.map +2 -2
  44. package/build/components/page-templates/fields.cjs.map +2 -2
  45. package/build/components/page-templates/hooks.cjs.map +2 -2
  46. package/build/components/page-templates/index-legacy.cjs.map +2 -2
  47. package/build/components/page-templates/index.cjs.map +2 -2
  48. package/build/components/pagination/index.cjs.map +2 -2
  49. package/build/components/plugin-template-setting-panel/index.cjs.map +2 -2
  50. package/build/components/post-list/index.cjs.map +2 -2
  51. package/build/components/post-list/quick-edit-modal.cjs.map +2 -2
  52. package/build/components/post-list/use-notes-count.cjs.map +2 -2
  53. package/build/components/resizable-frame/index.cjs.map +2 -2
  54. package/build/components/routes/use-title.cjs.map +2 -2
  55. package/build/components/save-button/index.cjs.map +2 -2
  56. package/build/components/save-hub/index.cjs.map +2 -2
  57. package/build/components/save-keyboard-shortcut/index.cjs.map +2 -2
  58. package/build/components/save-panel/index.cjs.map +2 -2
  59. package/build/components/sidebar/index.cjs.map +2 -2
  60. package/build/components/sidebar-button/index.cjs.map +2 -2
  61. package/build/components/sidebar-dataviews/index.cjs.map +2 -2
  62. package/build/components/sidebar-global-styles/index.cjs.map +2 -2
  63. package/build/components/sidebar-identity/index.cjs +5 -2
  64. package/build/components/sidebar-identity/index.cjs.map +2 -2
  65. package/build/components/sidebar-navigation-item/index.cjs.map +2 -2
  66. package/build/components/sidebar-navigation-screen/index.cjs.map +2 -2
  67. package/build/components/sidebar-navigation-screen-details-footer/index.cjs.map +2 -2
  68. package/build/components/sidebar-navigation-screen-global-styles/content.cjs.map +2 -2
  69. package/build/components/sidebar-navigation-screen-global-styles/index.cjs.map +2 -2
  70. package/build/components/sidebar-navigation-screen-identity/index.cjs.map +2 -2
  71. package/build/components/sidebar-navigation-screen-main/index.cjs.map +2 -2
  72. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.cjs.map +2 -2
  73. package/build/components/sidebar-navigation-screen-navigation-menu/index.cjs.map +2 -2
  74. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.cjs.map +2 -2
  75. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.cjs.map +2 -2
  76. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.cjs.map +2 -2
  77. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.cjs.map +2 -2
  78. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.cjs.map +2 -2
  79. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.cjs.map +2 -2
  80. package/build/components/sidebar-navigation-screen-navigation-menus/index.cjs.map +2 -2
  81. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.cjs +24 -25
  82. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.cjs.map +2 -2
  83. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.cjs.map +2 -2
  84. package/build/components/sidebar-navigation-screen-patterns/category-item.cjs.map +2 -2
  85. package/build/components/sidebar-navigation-screen-patterns/index.cjs.map +2 -2
  86. package/build/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.cjs.map +2 -2
  87. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.cjs.map +2 -2
  88. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.cjs.map +2 -2
  89. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.cjs.map +2 -2
  90. package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs.map +2 -2
  91. package/build/components/sidebar-navigation-screen-templates-browse/content.cjs +1 -1
  92. package/build/components/sidebar-navigation-screen-templates-browse/content.cjs.map +2 -2
  93. package/build/components/sidebar-navigation-screen-templates-browse/index.cjs.map +2 -2
  94. package/build/components/sidebar-navigation-screen-unsupported/index.cjs.map +2 -2
  95. package/build/components/site-editor-routes/home.cjs.map +2 -2
  96. package/build/components/site-editor-routes/identity.cjs.map +2 -2
  97. package/build/components/site-editor-routes/index.cjs.map +2 -2
  98. package/build/components/site-editor-routes/navigation-item.cjs.map +2 -2
  99. package/build/components/site-editor-routes/navigation.cjs.map +2 -2
  100. package/build/components/site-editor-routes/notfound.cjs.map +2 -2
  101. package/build/components/site-editor-routes/page-item.cjs.map +2 -2
  102. package/build/components/site-editor-routes/pages.cjs.map +2 -2
  103. package/build/components/site-editor-routes/pattern-item.cjs.map +2 -2
  104. package/build/components/site-editor-routes/patterns.cjs.map +2 -2
  105. package/build/components/site-editor-routes/stylebook.cjs.map +2 -2
  106. package/build/components/site-editor-routes/styles.cjs.map +2 -2
  107. package/build/components/site-editor-routes/template-item.cjs.map +2 -2
  108. package/build/components/site-editor-routes/template-part-item.cjs.map +2 -2
  109. package/build/components/site-editor-routes/templates.cjs.map +2 -2
  110. package/build/components/site-hub/index.cjs.map +2 -2
  111. package/build/components/welcome-guide/editor.cjs.map +2 -2
  112. package/build/components/welcome-guide/index.cjs.map +2 -2
  113. package/build/components/welcome-guide/page.cjs.map +2 -2
  114. package/build/components/welcome-guide/template.cjs.map +2 -2
  115. package/build/deprecated.cjs.map +2 -2
  116. package/build/hooks/commands/use-common-commands.cjs.map +2 -2
  117. package/build/hooks/commands/use-set-command-context.cjs.map +2 -2
  118. package/build/index.cjs.map +2 -2
  119. package/build/lock-unlock.cjs.map +2 -2
  120. package/build/store/actions.cjs.map +2 -2
  121. package/build/store/index.cjs.map +2 -2
  122. package/build/store/reducer.cjs.map +2 -2
  123. package/build/store/selectors.cjs.map +2 -2
  124. package/build/utils/constants.cjs.map +2 -2
  125. package/build/utils/get-filtered-template-parts.cjs.map +2 -2
  126. package/build/utils/is-previewing-theme.cjs.map +2 -2
  127. package/build/utils/is-template-removable.cjs.map +2 -2
  128. package/build/utils/is-template-revertable.cjs.map +2 -2
  129. package/build/utils/use-activate-theme.cjs.map +2 -2
  130. package/build/utils/use-actual-current-theme.cjs.map +2 -2
  131. package/build-module/components/add-new-pattern/index.mjs.map +2 -2
  132. package/build-module/components/add-new-post/index.mjs.map +2 -2
  133. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.mjs.map +2 -2
  134. package/build-module/components/add-new-template/add-custom-template-modal-content.mjs.map +2 -2
  135. package/build-module/components/add-new-template/index.mjs.map +2 -2
  136. package/build-module/components/add-new-template/utils.mjs.map +2 -2
  137. package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.mjs.map +2 -2
  138. package/build-module/components/add-new-template-legacy/add-custom-template-modal-content.mjs.map +2 -2
  139. package/build-module/components/add-new-template-legacy/index.mjs.map +2 -2
  140. package/build-module/components/add-new-template-legacy/utils.mjs.map +2 -2
  141. package/build-module/components/app/index.mjs.map +2 -2
  142. package/build-module/components/block-editor/use-editor-iframe-props.mjs.map +2 -2
  143. package/build-module/components/block-editor/use-navigate-to-entity-record.mjs.map +2 -2
  144. package/build-module/components/block-editor/use-site-editor-settings.mjs.map +2 -2
  145. package/build-module/components/block-editor/use-viewport-sync.mjs.map +2 -2
  146. package/build-module/components/canvas-loader/index.mjs.map +2 -2
  147. package/build-module/components/dataviews-actions/index.mjs.map +2 -2
  148. package/build-module/components/editor/index.mjs +6 -5
  149. package/build-module/components/editor/index.mjs.map +2 -2
  150. package/build-module/components/editor/site-preview.mjs.map +2 -2
  151. package/build-module/components/editor/use-adapt-editor-to-canvas.mjs.map +2 -2
  152. package/build-module/components/editor/use-editor-title.mjs.map +2 -2
  153. package/build-module/components/editor/use-resolve-edited-entity.mjs.map +2 -2
  154. package/build-module/components/editor/use-revisions-url-sync.mjs +101 -0
  155. package/build-module/components/editor/use-revisions-url-sync.mjs.map +7 -0
  156. package/build-module/components/layout/animation.mjs.map +2 -2
  157. package/build-module/components/layout/hooks.mjs.map +2 -2
  158. package/build-module/components/layout/index.mjs +0 -1
  159. package/build-module/components/layout/index.mjs.map +2 -2
  160. package/build-module/components/media/index.mjs.map +2 -2
  161. package/build-module/components/more-menu/index.mjs.map +2 -2
  162. package/build-module/components/more-menu/site-export.mjs.map +2 -2
  163. package/build-module/components/more-menu/welcome-guide-menu-item.mjs.map +2 -2
  164. package/build-module/components/page-patterns/actions.mjs.map +2 -2
  165. package/build-module/components/page-patterns/delete-category-menu-item.mjs.map +2 -2
  166. package/build-module/components/page-patterns/fields.mjs.map +2 -2
  167. package/build-module/components/page-patterns/index.mjs.map +2 -2
  168. package/build-module/components/page-patterns/rename-category-menu-item.mjs.map +2 -2
  169. package/build-module/components/page-patterns/search-items.mjs.map +2 -2
  170. package/build-module/components/page-patterns/use-pattern-settings.mjs.map +2 -2
  171. package/build-module/components/page-patterns/use-patterns.mjs.map +2 -2
  172. package/build-module/components/page-templates/fields.mjs.map +2 -2
  173. package/build-module/components/page-templates/hooks.mjs.map +2 -2
  174. package/build-module/components/page-templates/index-legacy.mjs.map +2 -2
  175. package/build-module/components/page-templates/index.mjs.map +2 -2
  176. package/build-module/components/pagination/index.mjs.map +2 -2
  177. package/build-module/components/plugin-template-setting-panel/index.mjs.map +2 -2
  178. package/build-module/components/post-list/index.mjs.map +2 -2
  179. package/build-module/components/post-list/quick-edit-modal.mjs.map +2 -2
  180. package/build-module/components/post-list/use-notes-count.mjs.map +2 -2
  181. package/build-module/components/resizable-frame/index.mjs.map +2 -2
  182. package/build-module/components/routes/use-title.mjs.map +2 -2
  183. package/build-module/components/save-button/index.mjs.map +2 -2
  184. package/build-module/components/save-hub/index.mjs.map +2 -2
  185. package/build-module/components/save-keyboard-shortcut/index.mjs.map +2 -2
  186. package/build-module/components/save-panel/index.mjs.map +2 -2
  187. package/build-module/components/sidebar/index.mjs.map +2 -2
  188. package/build-module/components/sidebar-button/index.mjs.map +2 -2
  189. package/build-module/components/sidebar-dataviews/index.mjs.map +2 -2
  190. package/build-module/components/sidebar-global-styles/index.mjs.map +2 -2
  191. package/build-module/components/sidebar-identity/index.mjs +5 -2
  192. package/build-module/components/sidebar-identity/index.mjs.map +2 -2
  193. package/build-module/components/sidebar-navigation-item/index.mjs.map +2 -2
  194. package/build-module/components/sidebar-navigation-screen/index.mjs.map +2 -2
  195. package/build-module/components/sidebar-navigation-screen-details-footer/index.mjs.map +2 -2
  196. package/build-module/components/sidebar-navigation-screen-global-styles/content.mjs.map +2 -2
  197. package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs.map +2 -2
  198. package/build-module/components/sidebar-navigation-screen-identity/index.mjs.map +2 -2
  199. package/build-module/components/sidebar-navigation-screen-main/index.mjs.map +2 -2
  200. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.mjs.map +2 -2
  201. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.mjs.map +2 -2
  202. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.mjs.map +2 -2
  203. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.mjs.map +2 -2
  204. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.mjs.map +2 -2
  205. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.mjs.map +2 -2
  206. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.mjs.map +2 -2
  207. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.mjs.map +2 -2
  208. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.mjs.map +2 -2
  209. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.mjs +24 -25
  210. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.mjs.map +2 -2
  211. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.mjs.map +2 -2
  212. package/build-module/components/sidebar-navigation-screen-patterns/category-item.mjs.map +2 -2
  213. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs.map +2 -2
  214. package/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.mjs.map +2 -2
  215. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.mjs.map +2 -2
  216. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.mjs.map +2 -2
  217. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.mjs.map +2 -2
  218. package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs.map +2 -2
  219. package/build-module/components/sidebar-navigation-screen-templates-browse/content.mjs +1 -1
  220. package/build-module/components/sidebar-navigation-screen-templates-browse/content.mjs.map +2 -2
  221. package/build-module/components/sidebar-navigation-screen-templates-browse/index.mjs.map +2 -2
  222. package/build-module/components/sidebar-navigation-screen-unsupported/index.mjs.map +2 -2
  223. package/build-module/components/site-editor-routes/home.mjs.map +2 -2
  224. package/build-module/components/site-editor-routes/identity.mjs.map +2 -2
  225. package/build-module/components/site-editor-routes/index.mjs.map +2 -2
  226. package/build-module/components/site-editor-routes/navigation-item.mjs.map +2 -2
  227. package/build-module/components/site-editor-routes/navigation.mjs.map +2 -2
  228. package/build-module/components/site-editor-routes/notfound.mjs.map +2 -2
  229. package/build-module/components/site-editor-routes/page-item.mjs.map +2 -2
  230. package/build-module/components/site-editor-routes/pages.mjs.map +2 -2
  231. package/build-module/components/site-editor-routes/pattern-item.mjs.map +2 -2
  232. package/build-module/components/site-editor-routes/patterns.mjs.map +2 -2
  233. package/build-module/components/site-editor-routes/stylebook.mjs.map +2 -2
  234. package/build-module/components/site-editor-routes/styles.mjs.map +2 -2
  235. package/build-module/components/site-editor-routes/template-item.mjs.map +2 -2
  236. package/build-module/components/site-editor-routes/template-part-item.mjs.map +2 -2
  237. package/build-module/components/site-editor-routes/templates.mjs.map +2 -2
  238. package/build-module/components/site-hub/index.mjs.map +2 -2
  239. package/build-module/components/welcome-guide/editor.mjs.map +2 -2
  240. package/build-module/components/welcome-guide/index.mjs.map +2 -2
  241. package/build-module/components/welcome-guide/page.mjs.map +2 -2
  242. package/build-module/components/welcome-guide/template.mjs.map +2 -2
  243. package/build-module/deprecated.mjs.map +2 -2
  244. package/build-module/hooks/commands/use-common-commands.mjs.map +2 -2
  245. package/build-module/hooks/commands/use-set-command-context.mjs.map +2 -2
  246. package/build-module/index.mjs.map +2 -2
  247. package/build-module/lock-unlock.mjs.map +2 -2
  248. package/build-module/store/actions.mjs.map +2 -2
  249. package/build-module/store/index.mjs.map +2 -2
  250. package/build-module/store/reducer.mjs.map +2 -2
  251. package/build-module/store/selectors.mjs.map +2 -2
  252. package/build-module/utils/constants.mjs.map +2 -2
  253. package/build-module/utils/get-filtered-template-parts.mjs.map +2 -2
  254. package/build-module/utils/is-previewing-theme.mjs.map +2 -2
  255. package/build-module/utils/is-template-removable.mjs.map +2 -2
  256. package/build-module/utils/is-template-revertable.mjs.map +2 -2
  257. package/build-module/utils/use-activate-theme.mjs.map +2 -2
  258. package/build-module/utils/use-actual-current-theme.mjs.map +2 -2
  259. package/build-style/style-rtl.css +60 -14
  260. package/build-style/style.css +60 -14
  261. package/package.json +48 -48
  262. package/src/components/add-new-pattern/index.js +0 -7
  263. package/src/components/add-new-post/index.js +0 -3
  264. package/src/components/add-new-template/add-custom-generic-template-modal-content.js +0 -7
  265. package/src/components/add-new-template/add-custom-template-modal-content.js +0 -7
  266. package/src/components/add-new-template/index.js +0 -15
  267. package/src/components/add-new-template/utils.js +0 -7
  268. package/src/components/add-new-template-legacy/add-custom-generic-template-modal-content.js +0 -7
  269. package/src/components/add-new-template-legacy/add-custom-template-modal-content.js +0 -7
  270. package/src/components/add-new-template-legacy/index.js +0 -15
  271. package/src/components/add-new-template-legacy/utils.js +0 -7
  272. package/src/components/app/index.js +0 -7
  273. package/src/components/block-editor/use-editor-iframe-props.js +0 -11
  274. package/src/components/block-editor/use-navigate-to-entity-record.js +0 -7
  275. package/src/components/block-editor/use-site-editor-settings.js +0 -7
  276. package/src/components/block-editor/use-viewport-sync.js +0 -7
  277. package/src/components/canvas-loader/index.js +0 -7
  278. package/src/components/dataviews-actions/index.js +0 -7
  279. package/src/components/editor/index.js +6 -12
  280. package/src/components/editor/site-preview.js +0 -3
  281. package/src/components/editor/use-adapt-editor-to-canvas.js +0 -7
  282. package/src/components/editor/use-editor-title.js +0 -7
  283. package/src/components/editor/use-resolve-edited-entity.js +0 -7
  284. package/src/components/editor/use-revisions-url-sync.js +132 -0
  285. package/src/components/layout/animation.js +0 -7
  286. package/src/components/layout/hooks.js +0 -3
  287. package/src/components/layout/index.js +0 -12
  288. package/src/components/media/index.js +0 -3
  289. package/src/components/more-menu/index.js +0 -7
  290. package/src/components/more-menu/site-export.js +0 -3
  291. package/src/components/more-menu/welcome-guide-menu-item.js +0 -3
  292. package/src/components/page-patterns/actions.js +0 -7
  293. package/src/components/page-patterns/delete-category-menu-item.js +0 -7
  294. package/src/components/page-patterns/fields.js +0 -7
  295. package/src/components/page-patterns/index.js +0 -7
  296. package/src/components/page-patterns/rename-category-menu-item.js +0 -10
  297. package/src/components/page-patterns/search-items.js +0 -12
  298. package/src/components/page-patterns/style.scss +3 -0
  299. package/src/components/page-patterns/use-pattern-settings.js +0 -7
  300. package/src/components/page-patterns/use-patterns.js +0 -7
  301. package/src/components/page-templates/fields.js +0 -11
  302. package/src/components/page-templates/hooks.js +0 -7
  303. package/src/components/page-templates/index-legacy.js +0 -7
  304. package/src/components/page-templates/index.js +0 -7
  305. package/src/components/pagination/index.js +0 -7
  306. package/src/components/plugin-template-setting-panel/index.js +0 -4
  307. package/src/components/post-list/index.js +0 -9
  308. package/src/components/post-list/quick-edit-modal.js +0 -7
  309. package/src/components/post-list/use-notes-count.js +0 -3
  310. package/src/components/resizable-frame/index.js +0 -11
  311. package/src/components/routes/use-title.js +0 -7
  312. package/src/components/save-button/index.js +0 -7
  313. package/src/components/save-hub/index.js +0 -7
  314. package/src/components/save-keyboard-shortcut/index.js +0 -7
  315. package/src/components/save-panel/index.js +0 -11
  316. package/src/components/sidebar/index.js +0 -7
  317. package/src/components/sidebar-button/index.js +0 -7
  318. package/src/components/sidebar-dataviews/index.js +0 -7
  319. package/src/components/sidebar-global-styles/index.js +0 -7
  320. package/src/components/sidebar-identity/index.js +3 -3
  321. package/src/components/sidebar-navigation-item/index.js +0 -11
  322. package/src/components/sidebar-navigation-item/style.scss +3 -10
  323. package/src/components/sidebar-navigation-screen/index.js +0 -11
  324. package/src/components/sidebar-navigation-screen-details-footer/index.js +0 -7
  325. package/src/components/sidebar-navigation-screen-global-styles/content.js +0 -7
  326. package/src/components/sidebar-navigation-screen-global-styles/index.js +0 -7
  327. package/src/components/sidebar-navigation-screen-identity/index.js +0 -7
  328. package/src/components/sidebar-navigation-screen-main/index.js +0 -7
  329. package/src/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +0 -3
  330. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +0 -7
  331. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +0 -7
  332. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +0 -7
  333. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +0 -3
  334. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -6
  335. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +0 -7
  336. package/src/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +0 -3
  337. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +0 -8
  338. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +38 -48
  339. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +0 -7
  340. package/src/components/sidebar-navigation-screen-patterns/category-item.js +0 -3
  341. package/src/components/sidebar-navigation-screen-patterns/index.js +0 -7
  342. package/src/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js +0 -7
  343. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +0 -7
  344. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +0 -7
  345. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +0 -7
  346. package/src/components/sidebar-navigation-screen-templates-browse/content-legacy.js +0 -7
  347. package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -8
  348. package/src/components/sidebar-navigation-screen-templates-browse/index.js +0 -7
  349. package/src/components/sidebar-navigation-screen-unsupported/index.js +0 -3
  350. package/src/components/site-editor-routes/home.js +0 -3
  351. package/src/components/site-editor-routes/identity.js +0 -3
  352. package/src/components/site-editor-routes/index.js +0 -7
  353. package/src/components/site-editor-routes/navigation-item.js +0 -3
  354. package/src/components/site-editor-routes/navigation.js +0 -3
  355. package/src/components/site-editor-routes/notfound.js +0 -7
  356. package/src/components/site-editor-routes/page-item.js +0 -7
  357. package/src/components/site-editor-routes/pages.js +0 -7
  358. package/src/components/site-editor-routes/pattern-item.js +0 -3
  359. package/src/components/site-editor-routes/patterns.js +0 -3
  360. package/src/components/site-editor-routes/stylebook.js +0 -7
  361. package/src/components/site-editor-routes/styles.js +0 -7
  362. package/src/components/site-editor-routes/template-item.js +0 -3
  363. package/src/components/site-editor-routes/template-part-item.js +0 -3
  364. package/src/components/site-editor-routes/templates.js +0 -7
  365. package/src/components/site-hub/index.js +0 -7
  366. package/src/components/welcome-guide/editor.js +0 -7
  367. package/src/components/welcome-guide/index.js +0 -3
  368. package/src/components/welcome-guide/page.js +0 -3
  369. package/src/components/welcome-guide/template.js +0 -3
  370. package/src/deprecated.js +0 -3
  371. package/src/hooks/commands/use-common-commands.js +0 -7
  372. package/src/hooks/commands/use-set-command-context.js +0 -7
  373. package/src/index.js +0 -7
  374. package/src/lock-unlock.js +0 -3
  375. package/src/store/actions.js +0 -7
  376. package/src/store/index.js +0 -7
  377. package/src/store/reducer.js +0 -3
  378. package/src/store/selectors.js +0 -7
  379. package/src/utils/constants.js +0 -7
  380. package/src/utils/get-filtered-template-parts.js +0 -3
  381. package/src/utils/is-previewing-theme.js +0 -3
  382. package/src/utils/is-template-removable.js +0 -3
  383. package/src/utils/is-template-revertable.js +0 -3
  384. package/src/utils/test/get-filtered-template-parts.js +0 -3
  385. package/src/utils/use-activate-theme.js +0 -7
  386. package/src/utils/use-actual-current-theme.js +0 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-templates/hooks.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tcommentAuthorAvatar as authorIcon,\n\tlayout as themeIcon,\n\tplugins as pluginIcon,\n\tglobe as globeIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_ORIGINS } from '../../utils/constants';\n\n/** @typedef {'wp_template'|'wp_template_part'} TemplateType */\n\n/**\n * @typedef {'theme'|'plugin'|'site'|'user'} AddedByType\n *\n * @typedef AddedByData\n * @type {Object}\n * @property {AddedByType} type The type of the data.\n * @property {React.JSX.Element} icon The icon to display.\n * @property {string} [imageUrl] The optional image URL to display.\n * @property {string} [text] The text to display.\n * @property {boolean} isCustomized Whether the template has been customized.\n *\n * @param {TemplateType} postType The template post type.\n * @param {number} postId The template post id.\n * @return {AddedByData} The added by object or null.\n */\nexport function useAddedBy( postType, postId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, getUser, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst template = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst originalSource = template?.original_source;\n\t\t\tconst authorText = template?.author_text;\n\n\t\t\tswitch ( originalSource ) {\n\t\t\t\tcase 'theme': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: themeIcon,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized:\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'plugin': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: pluginIcon,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized:\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'site': {\n\t\t\t\t\tconst siteData = getEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'__unstableBase'\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: globeIcon,\n\t\t\t\t\t\timageUrl: siteData?.site_logo\n\t\t\t\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\t\t\t\tsiteData.site_logo\n\t\t\t\t\t\t\t )?.source_url\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tconst user = getUser( template.author );\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'user',\n\t\t\t\t\t\ticon: authorIcon,\n\t\t\t\t\t\timageUrl: user?.avatar_urls?.[ 48 ],\n\t\t\t\t\t\ttext: authorText ?? user?.name,\n\t\t\t\t\t\tisCustomized: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ postType, postId ]\n\t);\n}\n"],
5
- "mappings": ";AAGA,SAAS,SAAS,iBAAiB;AACnC,SAAS,iBAAiB;AAC1B;AAAA,EACC,uBAAuB;AAAA,EACvB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS;AAAA,OACH;AAKP,SAAS,wBAAwB;AAmB1B,SAAS,WAAY,UAAU,QAAS;AAC9C,SAAO;AAAA,IACN,CAAE,WAAY;AACb,YAAM,EAAE,iBAAiB,SAAS,sBAAsB,IACvD,OAAQ,SAAU;AACnB,YAAM,WAAW;AAAA,QAChB;AAAA,QACA;AAAA,QACA;AAAA,MACD;AACA,YAAM,iBAAiB,UAAU;AACjC,YAAM,aAAa,UAAU;AAE7B,cAAS,gBAAiB;AAAA,QACzB,KAAK,SAAS;AACb,iBAAO;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cACC,SAAS,WAAW,iBAAiB;AAAA,UACvC;AAAA,QACD;AAAA,QACA,KAAK,UAAU;AACd,iBAAO;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cACC,SAAS,WAAW,iBAAiB;AAAA,UACvC;AAAA,QACD;AAAA,QACA,KAAK,QAAQ;AACZ,gBAAM,WAAW;AAAA,YAChB;AAAA,YACA;AAAA,UACD;AACA,iBAAO;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,UAAU,UAAU,YACjB;AAAA,cACA;AAAA,cACA;AAAA,cACA,SAAS;AAAA,YACT,GAAG,aACH;AAAA,YACH,MAAM;AAAA,YACN,cAAc;AAAA,UACf;AAAA,QACD;AAAA,QACA,SAAS;AACR,gBAAM,OAAO,QAAS,SAAS,MAAO;AACtC,iBAAO;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,UAAU,MAAM,cAAe,EAAG;AAAA,YAClC,MAAM,cAAc,MAAM;AAAA,YAC1B,cAAc;AAAA,UACf;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,UAAU,MAAO;AAAA,EACpB;AACD;",
4
+ "sourcesContent": ["import { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tcommentAuthorAvatar as authorIcon,\n\tlayout as themeIcon,\n\tplugins as pluginIcon,\n\tglobe as globeIcon,\n} from '@wordpress/icons';\nimport { TEMPLATE_ORIGINS } from '../../utils/constants';\n\n/** @typedef {'wp_template'|'wp_template_part'} TemplateType */\n\n/**\n * @typedef {'theme'|'plugin'|'site'|'user'} AddedByType\n *\n * @typedef AddedByData\n * @type {Object}\n * @property {AddedByType} type The type of the data.\n * @property {React.JSX.Element} icon The icon to display.\n * @property {string} [imageUrl] The optional image URL to display.\n * @property {string} [text] The text to display.\n * @property {boolean} isCustomized Whether the template has been customized.\n *\n * @param {TemplateType} postType The template post type.\n * @param {number} postId The template post id.\n * @return {AddedByData} The added by object or null.\n */\nexport function useAddedBy( postType, postId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, getUser, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst template = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst originalSource = template?.original_source;\n\t\t\tconst authorText = template?.author_text;\n\n\t\t\tswitch ( originalSource ) {\n\t\t\t\tcase 'theme': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: themeIcon,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized:\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'plugin': {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: pluginIcon,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized:\n\t\t\t\t\t\t\ttemplate.source === TEMPLATE_ORIGINS.custom,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tcase 'site': {\n\t\t\t\t\tconst siteData = getEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'__unstableBase'\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: originalSource,\n\t\t\t\t\t\ticon: globeIcon,\n\t\t\t\t\t\timageUrl: siteData?.site_logo\n\t\t\t\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t'attachment',\n\t\t\t\t\t\t\t\t\tsiteData.site_logo\n\t\t\t\t\t\t\t )?.source_url\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\ttext: authorText,\n\t\t\t\t\t\tisCustomized: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tconst user = getUser( template.author );\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: 'user',\n\t\t\t\t\t\ticon: authorIcon,\n\t\t\t\t\t\timageUrl: user?.avatar_urls?.[ 48 ],\n\t\t\t\t\t\ttext: authorText ?? user?.name,\n\t\t\t\t\t\tisCustomized: false,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ postType, postId ]\n\t);\n}\n"],
5
+ "mappings": ";AAAA,SAAS,SAAS,iBAAiB;AACnC,SAAS,iBAAiB;AAC1B;AAAA,EACC,uBAAuB;AAAA,EACvB,UAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS;AAAA,OACH;AACP,SAAS,wBAAwB;AAmB1B,SAAS,WAAY,UAAU,QAAS;AAC9C,SAAO;AAAA,IACN,CAAE,WAAY;AACb,YAAM,EAAE,iBAAiB,SAAS,sBAAsB,IACvD,OAAQ,SAAU;AACnB,YAAM,WAAW;AAAA,QAChB;AAAA,QACA;AAAA,QACA;AAAA,MACD;AACA,YAAM,iBAAiB,UAAU;AACjC,YAAM,aAAa,UAAU;AAE7B,cAAS,gBAAiB;AAAA,QACzB,KAAK,SAAS;AACb,iBAAO;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cACC,SAAS,WAAW,iBAAiB;AAAA,UACvC;AAAA,QACD;AAAA,QACA,KAAK,UAAU;AACd,iBAAO;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,cACC,SAAS,WAAW,iBAAiB;AAAA,UACvC;AAAA,QACD;AAAA,QACA,KAAK,QAAQ;AACZ,gBAAM,WAAW;AAAA,YAChB;AAAA,YACA;AAAA,UACD;AACA,iBAAO;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,UAAU,UAAU,YACjB;AAAA,cACA;AAAA,cACA;AAAA,cACA,SAAS;AAAA,YACT,GAAG,aACH;AAAA,YACH,MAAM;AAAA,YACN,cAAc;AAAA,UACf;AAAA,QACD;AAAA,QACA,SAAS;AACR,gBAAM,OAAO,QAAS,SAAS,MAAO;AACtC,iBAAO;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,YACN,UAAU,MAAM,cAAe,EAAG;AAAA,YAClC,MAAM,cAAc,MAAM;AAAA,YAC1B,cAAc;AAAA,UACf;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,UAAU,MAAO;AAAA,EACpB;AACD;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-templates/index-legacy.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport { privateApis as corePrivateApis } from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEvent } from '@wordpress/compose';\nimport { useView, useViewConfig } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport AddNewTemplate from '../add-new-template-legacy';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { previewField } from './fields';\n\nconst { usePostActions, usePostFields } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nconst VIEW_CONFIG_FIELDS = [ 'default_view', 'default_layouts', 'view_list' ];\n\nexport default function PageTemplates() {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'all', postId } = query;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst {\n\t\tdefault_view: defaultView,\n\t\tdefault_layouts: defaultLayouts,\n\t\tview_list: viewList,\n\t} = useViewConfig( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t\tfields: VIEW_CONFIG_FIELDS,\n\t} );\n\tconst activeViewOverrides = useMemo(\n\t\t() => viewList?.find( ( v ) => v.slug === activeView )?.view ?? {},\n\t\t[ viewList, activeView ]\n\t);\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tactiveViewOverrides,\n\t\tdefaultLayouts,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\n\tconst { records, isResolving: isLoadingData } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === 'list' ) {\n\t\t\t\thistory.navigate(\n\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, path, view?.type ]\n\t);\n\n\tconst postFields = usePostFields( { postType: TEMPLATE_POST_TYPE } );\n\tconst fields = useMemo( () => {\n\t\treturn [ previewField, ...( postFields || [] ) ];\n\t}, [ postFields ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tupdateView( newView );\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t} );\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\theadingLevel={ 2 }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ () => true }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.navigate( `/wp_template/${ id }?canvas=edit` );\n\t\t\t\t} }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\tonReset={\n\t\t\t\t\tisModified\n\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: false\n\t\t\t\t}\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport { privateApis as corePrivateApis } from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEvent } from '@wordpress/compose';\nimport { useView, useViewConfig } from '@wordpress/views';\nimport AddNewTemplate from '../add-new-template-legacy';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { previewField } from './fields';\n\nconst { usePostActions, usePostFields } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nconst VIEW_CONFIG_FIELDS = [ 'default_view', 'default_layouts', 'view_list' ];\n\nexport default function PageTemplates() {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'all', postId } = query;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst {\n\t\tdefault_view: defaultView,\n\t\tdefault_layouts: defaultLayouts,\n\t\tview_list: viewList,\n\t} = useViewConfig( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t\tfields: VIEW_CONFIG_FIELDS,\n\t} );\n\tconst activeViewOverrides = useMemo(\n\t\t() => viewList?.find( ( v ) => v.slug === activeView )?.view ?? {},\n\t\t[ viewList, activeView ]\n\t);\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tactiveViewOverrides,\n\t\tdefaultLayouts,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\n\tconst { records, isResolving: isLoadingData } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === 'list' ) {\n\t\t\t\thistory.navigate(\n\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, path, view?.type ]\n\t);\n\n\tconst postFields = usePostFields( { postType: TEMPLATE_POST_TYPE } );\n\tconst fields = useMemo( () => {\n\t\treturn [ previewField, ...( postFields || [] ) ];\n\t}, [ postFields ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tupdateView( newView );\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t} );\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\theadingLevel={ 2 }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ () => true }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.navigate( `/wp_template/${ id }?canvas=edit` );\n\t\t\t\t} }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\tonReset={\n\t\t\t\t\tisModified\n\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: false\n\t\t\t\t}\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-templates/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport {\n\tprivateApis as corePrivateApis,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEvent } from '@wordpress/compose';\nimport { useView } from '@wordpress/views';\nimport { Modal } from '@wordpress/components';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport AddNewTemplate from '../add-new-template';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tuseEditPostAction,\n\tuseSetActiveTemplateAction,\n} from '../dataviews-actions';\nimport {\n\tauthorField,\n\tdescriptionField,\n\tpreviewField,\n\tactiveField,\n\tslugField,\n\tuseThemeField,\n} from './fields';\nimport {\n\tdefaultLayouts,\n\tDEFAULT_VIEW,\n\tgetActiveViewOverridesForTab,\n} from './view-utils';\n\nconst { usePostActions, usePostFields, templateTitleField } =\n\tunlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nexport default function PageTemplates() {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'active', postId } = query;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\tconst [ selectedRegisteredTemplate, setSelectedRegisteredTemplate ] =\n\t\tuseState( false );\n\tconst defaultView = DEFAULT_VIEW;\n\tconst activeViewOverrides = useMemo(\n\t\t() => getActiveViewOverridesForTab( activeView ),\n\t\t[ activeView ]\n\t);\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tactiveViewOverrides,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\n\tconst { activeTemplatesOption, activeTheme, defaultTemplateTypes } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEntityRecord, getCurrentTheme } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tactiveTemplatesOption: getEntityRecord( 'root', 'site' )\n\t\t\t\t\t?.active_templates,\n\t\t\t\tactiveTheme: getCurrentTheme(),\n\t\t\t\tdefaultTemplateTypes:\n\t\t\t\t\tselect( coreStore ).getCurrentTheme()\n\t\t\t\t\t\t?.default_template_types,\n\t\t\t};\n\t\t} );\n\t// Todo: this will have to be better so that we're not fetching all the\n\t// records all the time. Active templates query will need to move server\n\t// side.\n\tconst { records: userRecords, isResolving: isLoadingUserRecords } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t\tcombinedTemplates: false,\n\t\t} );\n\tconst { records: staticRecords, isResolving: isLoadingStaticData } =\n\t\tuseEntityRecordsWithPermissions( 'root', 'registeredTemplate', {\n\t\t\t// This should not be needed, the endpoint returns all registered\n\t\t\t// templates, but it's not possible right now to turn off pagination\n\t\t\t// for entity configs.\n\t\t\tper_page: -1,\n\t\t} );\n\n\tconst activeTemplates = useMemo( () => {\n\t\tconst _active = [ ...staticRecords ];\n\t\tif ( activeTemplatesOption ) {\n\t\t\tfor ( const activeSlug in activeTemplatesOption ) {\n\t\t\t\tconst activeId = activeTemplatesOption[ activeSlug ];\n\t\t\t\t// Replace the template in the array.\n\t\t\t\tconst template = userRecords.find(\n\t\t\t\t\t( userRecord ) =>\n\t\t\t\t\t\tuserRecord.id === activeId &&\n\t\t\t\t\t\tuserRecord.theme === activeTheme.stylesheet\n\t\t\t\t);\n\t\t\t\tif ( template ) {\n\t\t\t\t\tconst index = _active.findIndex(\n\t\t\t\t\t\t( { slug } ) => slug === template.slug\n\t\t\t\t\t);\n\t\t\t\t\tif ( index !== -1 ) {\n\t\t\t\t\t\t_active[ index ] = template;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_active.push( template );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn _active;\n\t}, [ userRecords, staticRecords, activeTemplatesOption, activeTheme ] );\n\n\tlet isLoadingData;\n\tif ( activeView === 'active' ) {\n\t\tisLoadingData = isLoadingUserRecords || isLoadingStaticData;\n\t} else if ( activeView === 'user' ) {\n\t\tisLoadingData = isLoadingUserRecords;\n\t} else {\n\t\tisLoadingData = isLoadingStaticData;\n\t}\n\n\tconst records = useMemo( () => {\n\t\tfunction isCustom( record ) {\n\t\t\t// For registered templates, the is_custom field is defined.\n\t\t\treturn (\n\t\t\t\trecord.is_custom ??\n\t\t\t\t// For user templates it's custom if the is_wp_suggestion meta\n\t\t\t\t// field is not set and the slug is not found in the default\n\t\t\t\t// template types.\n\t\t\t\t( ! record.meta?.is_wp_suggestion &&\n\t\t\t\t\t! defaultTemplateTypes.some(\n\t\t\t\t\t\t( type ) => type.slug === record.slug\n\t\t\t\t\t) )\n\t\t\t);\n\t\t}\n\n\t\tlet _records;\n\t\tif ( activeView === 'active' ) {\n\t\t\t// Don't show active custom templates in the active view.\n\t\t\t_records = activeTemplates.filter(\n\t\t\t\t( record ) => ! isCustom( record )\n\t\t\t);\n\t\t} else if ( activeView === 'user' ) {\n\t\t\t_records = userRecords;\n\t\t} else {\n\t\t\t_records = staticRecords;\n\t\t}\n\t\treturn _records.map( ( record ) => ( {\n\t\t\t...record,\n\t\t\t_isActive: activeTemplates.some(\n\t\t\t\t( template ) => template.id === record.id\n\t\t\t),\n\t\t\t_isCustom: isCustom( record ),\n\t\t} ) );\n\t}, [\n\t\tactiveTemplates,\n\t\tdefaultTemplateTypes,\n\t\tuserRecords,\n\t\tstaticRecords,\n\t\tactiveView,\n\t] );\n\n\tconst users = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUser } = select( coreStore );\n\t\t\treturn records.reduce( ( acc, record ) => {\n\t\t\t\tif ( record.author_text ) {\n\t\t\t\t\tif ( ! acc[ record.author_text ] ) {\n\t\t\t\t\t\tacc[ record.author_text ] = record.author_text;\n\t\t\t\t\t}\n\t\t\t\t} else if ( record.author ) {\n\t\t\t\t\tif ( ! acc[ record.author ] ) {\n\t\t\t\t\t\tacc[ record.author ] = getUser( record.author );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t},\n\t\t[ records ]\n\t);\n\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === 'list' ) {\n\t\t\t\thistory.navigate(\n\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, path, view?.type ]\n\t);\n\n\tconst postTypeFields = usePostFields( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t} );\n\tconst dateField = postTypeFields.find( ( field ) => field.id === 'date' );\n\tconst themeField = useThemeField();\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\tpreviewField,\n\t\t\ttemplateTitleField,\n\t\t\tdescriptionField,\n\t\t\tactiveField,\n\t\t\tslugField,\n\t\t];\n\t\tif ( activeView === 'user' ) {\n\t\t\t_fields.push( themeField );\n\t\t\tif ( dateField ) {\n\t\t\t\t_fields.push( dateField );\n\t\t\t}\n\t\t}\n\t\tconst elements = [];\n\t\tfor ( const author in users ) {\n\t\t\telements.push( {\n\t\t\t\tvalue: users[ author ]?.id ?? author,\n\t\t\t\tlabel: users[ author ]?.name ?? author,\n\t\t\t} );\n\t\t}\n\t\t_fields.push( {\n\t\t\t...authorField,\n\t\t\telements,\n\t\t} );\n\t\treturn _fields;\n\t}, [ users, activeView, themeField, dateField ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst _title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\thistory.navigate( `/template?activeView=user` );\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( _title ) || __( '(no title)' )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\t\t\t\t`/${ newItem.type }/${ newItem.id }?canvas=edit`\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],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ history, createSuccessNotice ]\n\t);\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t\tonActionPerformed,\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst setActiveTemplateAction = useSetActiveTemplateAction();\n\tconst actions = useMemo(\n\t\t() =>\n\t\t\tactiveView === 'user'\n\t\t\t\t? [ setActiveTemplateAction, editAction, ...postTypeActions ]\n\t\t\t\t: [ setActiveTemplateAction, ...postTypeActions ],\n\t\t[ postTypeActions, setActiveTemplateAction, editAction, activeView ]\n\t);\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tupdateView( newView );\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t} );\n\n\tconst duplicateAction = actions.find(\n\t\t( action ) => action.id === 'duplicate-post'\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\theadingLevel={ 2 }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ () => true }\n\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\tif ( typeof item.id === 'string' ) {\n\t\t\t\t\t\tsetSelectedRegisteredTemplate( item );\n\t\t\t\t\t} else {\n\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t`/${ item.type }/${ item.id }?canvas=edit`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\tonReset={\n\t\t\t\t\tisModified\n\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: false\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ selectedRegisteredTemplate && duplicateAction && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Duplicate' ) }\n\t\t\t\t\tonRequestClose={ () => setSelectedRegisteredTemplate() }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t<duplicateAction.RenderModal\n\t\t\t\t\t\titems={ [ selectedRegisteredTemplate ] }\n\t\t\t\t\t\tcloseModal={ () => setSelectedRegisteredTemplate() }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</Page>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Page } from '@wordpress/admin-ui';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport {\n\tprivateApis as corePrivateApis,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEvent } from '@wordpress/compose';\nimport { useView } from '@wordpress/views';\nimport { Modal } from '@wordpress/components';\nimport { store as noticesStore } from '@wordpress/notices';\nimport AddNewTemplate from '../add-new-template';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tuseEditPostAction,\n\tuseSetActiveTemplateAction,\n} from '../dataviews-actions';\nimport {\n\tauthorField,\n\tdescriptionField,\n\tpreviewField,\n\tactiveField,\n\tslugField,\n\tuseThemeField,\n} from './fields';\nimport {\n\tdefaultLayouts,\n\tDEFAULT_VIEW,\n\tgetActiveViewOverridesForTab,\n} from './view-utils';\n\nconst { usePostActions, usePostFields, templateTitleField } =\n\tunlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nexport default function PageTemplates() {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'active', postId } = query;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\tconst [ selectedRegisteredTemplate, setSelectedRegisteredTemplate ] =\n\t\tuseState( false );\n\tconst defaultView = DEFAULT_VIEW;\n\tconst activeViewOverrides = useMemo(\n\t\t() => getActiveViewOverridesForTab( activeView ),\n\t\t[ activeView ]\n\t);\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tactiveViewOverrides,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\n\tconst { activeTemplatesOption, activeTheme, defaultTemplateTypes } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEntityRecord, getCurrentTheme } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tactiveTemplatesOption: getEntityRecord( 'root', 'site' )\n\t\t\t\t\t?.active_templates,\n\t\t\t\tactiveTheme: getCurrentTheme(),\n\t\t\t\tdefaultTemplateTypes:\n\t\t\t\t\tselect( coreStore ).getCurrentTheme()\n\t\t\t\t\t\t?.default_template_types,\n\t\t\t};\n\t\t} );\n\t// Todo: this will have to be better so that we're not fetching all the\n\t// records all the time. Active templates query will need to move server\n\t// side.\n\tconst { records: userRecords, isResolving: isLoadingUserRecords } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t\tcombinedTemplates: false,\n\t\t} );\n\tconst { records: staticRecords, isResolving: isLoadingStaticData } =\n\t\tuseEntityRecordsWithPermissions( 'root', 'registeredTemplate', {\n\t\t\t// This should not be needed, the endpoint returns all registered\n\t\t\t// templates, but it's not possible right now to turn off pagination\n\t\t\t// for entity configs.\n\t\t\tper_page: -1,\n\t\t} );\n\n\tconst activeTemplates = useMemo( () => {\n\t\tconst _active = [ ...staticRecords ];\n\t\tif ( activeTemplatesOption ) {\n\t\t\tfor ( const activeSlug in activeTemplatesOption ) {\n\t\t\t\tconst activeId = activeTemplatesOption[ activeSlug ];\n\t\t\t\t// Replace the template in the array.\n\t\t\t\tconst template = userRecords.find(\n\t\t\t\t\t( userRecord ) =>\n\t\t\t\t\t\tuserRecord.id === activeId &&\n\t\t\t\t\t\tuserRecord.theme === activeTheme.stylesheet\n\t\t\t\t);\n\t\t\t\tif ( template ) {\n\t\t\t\t\tconst index = _active.findIndex(\n\t\t\t\t\t\t( { slug } ) => slug === template.slug\n\t\t\t\t\t);\n\t\t\t\t\tif ( index !== -1 ) {\n\t\t\t\t\t\t_active[ index ] = template;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t_active.push( template );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn _active;\n\t}, [ userRecords, staticRecords, activeTemplatesOption, activeTheme ] );\n\n\tlet isLoadingData;\n\tif ( activeView === 'active' ) {\n\t\tisLoadingData = isLoadingUserRecords || isLoadingStaticData;\n\t} else if ( activeView === 'user' ) {\n\t\tisLoadingData = isLoadingUserRecords;\n\t} else {\n\t\tisLoadingData = isLoadingStaticData;\n\t}\n\n\tconst records = useMemo( () => {\n\t\tfunction isCustom( record ) {\n\t\t\t// For registered templates, the is_custom field is defined.\n\t\t\treturn (\n\t\t\t\trecord.is_custom ??\n\t\t\t\t// For user templates it's custom if the is_wp_suggestion meta\n\t\t\t\t// field is not set and the slug is not found in the default\n\t\t\t\t// template types.\n\t\t\t\t( ! record.meta?.is_wp_suggestion &&\n\t\t\t\t\t! defaultTemplateTypes.some(\n\t\t\t\t\t\t( type ) => type.slug === record.slug\n\t\t\t\t\t) )\n\t\t\t);\n\t\t}\n\n\t\tlet _records;\n\t\tif ( activeView === 'active' ) {\n\t\t\t// Don't show active custom templates in the active view.\n\t\t\t_records = activeTemplates.filter(\n\t\t\t\t( record ) => ! isCustom( record )\n\t\t\t);\n\t\t} else if ( activeView === 'user' ) {\n\t\t\t_records = userRecords;\n\t\t} else {\n\t\t\t_records = staticRecords;\n\t\t}\n\t\treturn _records.map( ( record ) => ( {\n\t\t\t...record,\n\t\t\t_isActive: activeTemplates.some(\n\t\t\t\t( template ) => template.id === record.id\n\t\t\t),\n\t\t\t_isCustom: isCustom( record ),\n\t\t} ) );\n\t}, [\n\t\tactiveTemplates,\n\t\tdefaultTemplateTypes,\n\t\tuserRecords,\n\t\tstaticRecords,\n\t\tactiveView,\n\t] );\n\n\tconst users = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUser } = select( coreStore );\n\t\t\treturn records.reduce( ( acc, record ) => {\n\t\t\t\tif ( record.author_text ) {\n\t\t\t\t\tif ( ! acc[ record.author_text ] ) {\n\t\t\t\t\t\tacc[ record.author_text ] = record.author_text;\n\t\t\t\t\t}\n\t\t\t\t} else if ( record.author ) {\n\t\t\t\t\tif ( ! acc[ record.author ] ) {\n\t\t\t\t\t\tacc[ record.author ] = getUser( record.author );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t},\n\t\t[ records ]\n\t);\n\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === 'list' ) {\n\t\t\t\thistory.navigate(\n\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, path, view?.type ]\n\t);\n\n\tconst postTypeFields = usePostFields( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t} );\n\tconst dateField = postTypeFields.find( ( field ) => field.id === 'date' );\n\tconst themeField = useThemeField();\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\tpreviewField,\n\t\t\ttemplateTitleField,\n\t\t\tdescriptionField,\n\t\t\tactiveField,\n\t\t\tslugField,\n\t\t];\n\t\tif ( activeView === 'user' ) {\n\t\t\t_fields.push( themeField );\n\t\t\tif ( dateField ) {\n\t\t\t\t_fields.push( dateField );\n\t\t\t}\n\t\t}\n\t\tconst elements = [];\n\t\tfor ( const author in users ) {\n\t\t\telements.push( {\n\t\t\t\tvalue: users[ author ]?.id ?? author,\n\t\t\t\tlabel: users[ author ]?.name ?? author,\n\t\t\t} );\n\t\t}\n\t\t_fields.push( {\n\t\t\t...authorField,\n\t\t\telements,\n\t\t} );\n\t\treturn _fields;\n\t}, [ users, activeView, themeField, dateField ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst onActionPerformed = useCallback(\n\t\t( actionId, items ) => {\n\t\t\tswitch ( actionId ) {\n\t\t\t\tcase 'duplicate-post':\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newItem = items[ 0 ];\n\t\t\t\t\t\tconst _title =\n\t\t\t\t\t\t\ttypeof newItem.title === 'string'\n\t\t\t\t\t\t\t\t? newItem.title\n\t\t\t\t\t\t\t\t: newItem.title?.rendered;\n\t\t\t\t\t\thistory.navigate( `/template?activeView=user` );\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Title of the created post or template, e.g: \"Hello world\".\n\t\t\t\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\t\t\t\tdecodeEntities( _title ) || __( '(no title)' )\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'duplicate-post-action',\n\t\t\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel: __( 'Edit' ),\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\t\t\t\t`/${ newItem.type }/${ newItem.id }?canvas=edit`\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],\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[ history, createSuccessNotice ]\n\t);\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t\tonActionPerformed,\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst setActiveTemplateAction = useSetActiveTemplateAction();\n\tconst actions = useMemo(\n\t\t() =>\n\t\t\tactiveView === 'user'\n\t\t\t\t? [ setActiveTemplateAction, editAction, ...postTypeActions ]\n\t\t\t\t: [ setActiveTemplateAction, ...postTypeActions ],\n\t\t[ postTypeActions, setActiveTemplateAction, editAction, activeView ]\n\t);\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tupdateView( newView );\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t} );\n\n\tconst duplicateAction = actions.find(\n\t\t( action ) => action.id === 'duplicate-post'\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\theadingLevel={ 2 }\n\t\t\tactions={ <AddNewTemplate /> }\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ () => true }\n\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\tif ( typeof item.id === 'string' ) {\n\t\t\t\t\t\tsetSelectedRegisteredTemplate( item );\n\t\t\t\t\t} else {\n\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t`/${ item.type }/${ item.id }?canvas=edit`\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\tonReset={\n\t\t\t\t\tisModified\n\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: false\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ selectedRegisteredTemplate && duplicateAction && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Duplicate' ) }\n\t\t\t\t\tonRequestClose={ () => setSelectedRegisteredTemplate() }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t<duplicateAction.RenderModal\n\t\t\t\t\t\titems={ [ selectedRegisteredTemplate ] }\n\t\t\t\t\t\tcloseModal={ () => setSelectedRegisteredTemplate() }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</Page>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/pagination/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalText as WCText,\n\tButton,\n} from '@wordpress/components';\nimport { __, _x, _n, sprintf, isRTL } from '@wordpress/i18n';\nimport { previous, chevronLeft, chevronRight, next } from '@wordpress/icons';\n\nexport default function Pagination( {\n\tcurrentPage,\n\tnumPages,\n\tchangePage,\n\ttotalItems,\n\tclassName,\n\tdisabled = false,\n\tbuttonVariant = 'tertiary',\n\tlabel = __( 'Pagination' ),\n} ) {\n\treturn (\n\t\t<HStack\n\t\t\texpanded={ false }\n\t\t\tas=\"nav\"\n\t\t\taria-label={ label }\n\t\t\tspacing={ 3 }\n\t\t\tjustify=\"flex-start\"\n\t\t\tclassName={ clsx( 'edit-site-pagination', className ) }\n\t\t>\n\t\t\t<WCText variant=\"muted\" className=\"edit-site-pagination__total\">\n\t\t\t\t{\n\t\t\t\t\t// translators: %s: Total number of patterns.\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Total number of patterns.\n\t\t\t\t\t\t_n( '%s item', '%s items', totalItems ),\n\t\t\t\t\t\ttotalItems\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</WCText>\n\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ buttonVariant }\n\t\t\t\t\tonClick={ () => changePage( 1 ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled || currentPage === 1 }\n\t\t\t\t\tlabel={ __( 'First page' ) }\n\t\t\t\t\ticon={ isRTL() ? next : previous }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ buttonVariant }\n\t\t\t\t\tonClick={ () => changePage( currentPage - 1 ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled || currentPage === 1 }\n\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t<WCText variant=\"muted\">\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: 1: Current page number. 2: Total number of pages.\n\t\t\t\t\t_x( '%1$s of %2$s', 'paging' ),\n\t\t\t\t\tcurrentPage,\n\t\t\t\t\tnumPages\n\t\t\t\t) }\n\t\t\t</WCText>\n\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ buttonVariant }\n\t\t\t\t\tonClick={ () => changePage( currentPage + 1 ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled || currentPage === numPages }\n\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\ticon={ isRTL() ? chevronLeft : chevronRight }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ buttonVariant }\n\t\t\t\t\tonClick={ () => changePage( numPages ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled || currentPage === numPages }\n\t\t\t\t\tlabel={ __( 'Last page' ) }\n\t\t\t\t\ticon={ isRTL() ? previous : next }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</HStack>\n\t);\n}\n"],
5
- "mappings": ";AAGA,OAAO,UAAU;AAKjB;AAAA,EACC,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB;AAAA,OACM;AACP,SAAS,IAAI,IAAI,IAAI,SAAS,aAAa;AAC3C,SAAS,UAAU,aAAa,cAAc,YAAY;AAqBvD,cAUA,YAVA;AAnBY,SAAR,WAA6B;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,QAAQ,GAAI,YAAa;AAC1B,GAAI;AACH,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAW;AAAA,MACX,IAAG;AAAA,MACH,cAAa;AAAA,MACb,SAAU;AAAA,MACV,SAAQ;AAAA,MACR,WAAY,KAAM,wBAAwB,SAAU;AAAA,MAEpD;AAAA,4BAAC;AAAA,UAAO,SAAQ;AAAA,UAAQ,WAAU;AAAA;AAAA,UAGhC;AAAA;AAAA,YAEC,GAAI,WAAW,YAAY,UAAW;AAAA,YACtC;AAAA,UACD;AAAA,SAEF;AAAA,QACA,qBAAC,UAAO,UAAW,OAAQ,SAAU,GACpC;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,SAAU;AAAA,cACV,SAAU,MAAM,WAAY,CAAE;AAAA,cAC9B,wBAAsB;AAAA,cACtB,UAAW,YAAY,gBAAgB;AAAA,cACvC,OAAQ,GAAI,YAAa;AAAA,cACzB,MAAO,MAAM,IAAI,OAAO;AAAA,cACxB,MAAK;AAAA;AAAA,UACN;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,SAAU;AAAA,cACV,SAAU,MAAM,WAAY,cAAc,CAAE;AAAA,cAC5C,wBAAsB;AAAA,cACtB,UAAW,YAAY,gBAAgB;AAAA,cACvC,OAAQ,GAAI,eAAgB;AAAA,cAC5B,MAAO,MAAM,IAAI,eAAe;AAAA,cAChC,MAAK;AAAA;AAAA,UACN;AAAA,WACD;AAAA,QACA,oBAAC,UAAO,SAAQ,SACb;AAAA;AAAA,UAED,GAAI,gBAAgB,QAAS;AAAA,UAC7B;AAAA,UACA;AAAA,QACD,GACD;AAAA,QACA,qBAAC,UAAO,UAAW,OAAQ,SAAU,GACpC;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,SAAU;AAAA,cACV,SAAU,MAAM,WAAY,cAAc,CAAE;AAAA,cAC5C,wBAAsB;AAAA,cACtB,UAAW,YAAY,gBAAgB;AAAA,cACvC,OAAQ,GAAI,WAAY;AAAA,cACxB,MAAO,MAAM,IAAI,cAAc;AAAA,cAC/B,MAAK;AAAA;AAAA,UACN;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,SAAU;AAAA,cACV,SAAU,MAAM,WAAY,QAAS;AAAA,cACrC,wBAAsB;AAAA,cACtB,UAAW,YAAY,gBAAgB;AAAA,cACvC,OAAQ,GAAI,WAAY;AAAA,cACxB,MAAO,MAAM,IAAI,WAAW;AAAA,cAC5B,MAAK;AAAA;AAAA,UACN;AAAA,WACD;AAAA;AAAA;AAAA,EACD;AAEF;",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalText as WCText,\n\tButton,\n} from '@wordpress/components';\nimport { __, _x, _n, sprintf, isRTL } from '@wordpress/i18n';\nimport { previous, chevronLeft, chevronRight, next } from '@wordpress/icons';\n\nexport default function Pagination( {\n\tcurrentPage,\n\tnumPages,\n\tchangePage,\n\ttotalItems,\n\tclassName,\n\tdisabled = false,\n\tbuttonVariant = 'tertiary',\n\tlabel = __( 'Pagination' ),\n} ) {\n\treturn (\n\t\t<HStack\n\t\t\texpanded={ false }\n\t\t\tas=\"nav\"\n\t\t\taria-label={ label }\n\t\t\tspacing={ 3 }\n\t\t\tjustify=\"flex-start\"\n\t\t\tclassName={ clsx( 'edit-site-pagination', className ) }\n\t\t>\n\t\t\t<WCText variant=\"muted\" className=\"edit-site-pagination__total\">\n\t\t\t\t{\n\t\t\t\t\t// translators: %s: Total number of patterns.\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Total number of patterns.\n\t\t\t\t\t\t_n( '%s item', '%s items', totalItems ),\n\t\t\t\t\t\ttotalItems\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</WCText>\n\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ buttonVariant }\n\t\t\t\t\tonClick={ () => changePage( 1 ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled || currentPage === 1 }\n\t\t\t\t\tlabel={ __( 'First page' ) }\n\t\t\t\t\ticon={ isRTL() ? next : previous }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ buttonVariant }\n\t\t\t\t\tonClick={ () => changePage( currentPage - 1 ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled || currentPage === 1 }\n\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t<WCText variant=\"muted\">\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: 1: Current page number. 2: Total number of pages.\n\t\t\t\t\t_x( '%1$s of %2$s', 'paging' ),\n\t\t\t\t\tcurrentPage,\n\t\t\t\t\tnumPages\n\t\t\t\t) }\n\t\t\t</WCText>\n\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ buttonVariant }\n\t\t\t\t\tonClick={ () => changePage( currentPage + 1 ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled || currentPage === numPages }\n\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\ticon={ isRTL() ? chevronLeft : chevronRight }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tvariant={ buttonVariant }\n\t\t\t\t\tonClick={ () => changePage( numPages ) }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tdisabled={ disabled || currentPage === numPages }\n\t\t\t\t\tlabel={ __( 'Last page' ) }\n\t\t\t\t\ticon={ isRTL() ? previous : next }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</HStack>\n\t);\n}\n"],
5
+ "mappings": ";AAAA,OAAO,UAAU;AACjB;AAAA,EACC,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB;AAAA,OACM;AACP,SAAS,IAAI,IAAI,IAAI,SAAS,aAAa;AAC3C,SAAS,UAAU,aAAa,cAAc,YAAY;AAqBvD,cAUA,YAVA;AAnBY,SAAR,WAA6B;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,QAAQ,GAAI,YAAa;AAC1B,GAAI;AACH,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAW;AAAA,MACX,IAAG;AAAA,MACH,cAAa;AAAA,MACb,SAAU;AAAA,MACV,SAAQ;AAAA,MACR,WAAY,KAAM,wBAAwB,SAAU;AAAA,MAEpD;AAAA,4BAAC;AAAA,UAAO,SAAQ;AAAA,UAAQ,WAAU;AAAA;AAAA,UAGhC;AAAA;AAAA,YAEC,GAAI,WAAW,YAAY,UAAW;AAAA,YACtC;AAAA,UACD;AAAA,SAEF;AAAA,QACA,qBAAC,UAAO,UAAW,OAAQ,SAAU,GACpC;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,SAAU;AAAA,cACV,SAAU,MAAM,WAAY,CAAE;AAAA,cAC9B,wBAAsB;AAAA,cACtB,UAAW,YAAY,gBAAgB;AAAA,cACvC,OAAQ,GAAI,YAAa;AAAA,cACzB,MAAO,MAAM,IAAI,OAAO;AAAA,cACxB,MAAK;AAAA;AAAA,UACN;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,SAAU;AAAA,cACV,SAAU,MAAM,WAAY,cAAc,CAAE;AAAA,cAC5C,wBAAsB;AAAA,cACtB,UAAW,YAAY,gBAAgB;AAAA,cACvC,OAAQ,GAAI,eAAgB;AAAA,cAC5B,MAAO,MAAM,IAAI,eAAe;AAAA,cAChC,MAAK;AAAA;AAAA,UACN;AAAA,WACD;AAAA,QACA,oBAAC,UAAO,SAAQ,SACb;AAAA;AAAA,UAED,GAAI,gBAAgB,QAAS;AAAA,UAC7B;AAAA,UACA;AAAA,QACD,GACD;AAAA,QACA,qBAAC,UAAO,UAAW,OAAQ,SAAU,GACpC;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,SAAU;AAAA,cACV,SAAU,MAAM,WAAY,cAAc,CAAE;AAAA,cAC5C,wBAAsB;AAAA,cACtB,UAAW,YAAY,gBAAgB;AAAA,cACvC,OAAQ,GAAI,WAAY;AAAA,cACxB,MAAO,MAAM,IAAI,cAAc;AAAA,cAC/B,MAAK;AAAA;AAAA,UACN;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,SAAU;AAAA,cACV,SAAU,MAAM,WAAY,QAAS;AAAA,cACrC,wBAAsB;AAAA,cACtB,UAAW,YAAY,gBAAgB;AAAA,cACvC,OAAQ,GAAI,WAAY;AAAA,cACxB,MAAO,MAAM,IAAI,WAAW;AAAA,cAC5B,MAAK;AAAA;AAAA,UACN;AAAA,WACD;AAAA;AAAA;AAAA,EACD;AAEF;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/plugin-template-setting-panel/index.js"],
4
- "sourcesContent": ["/**\n * Defines an extensibility slot for the Template sidebar.\n */\n\n/**\n * WordPress dependencies\n */\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { createSlotFill } from '@wordpress/components';\nimport deprecated from '@wordpress/deprecated';\n\nconst { Fill, Slot } = createSlotFill( 'PluginTemplateSettingPanel' );\n\nconst PluginTemplateSettingPanel = ( { children } ) => {\n\tdeprecated( 'wp.editSite.PluginTemplateSettingPanel', {\n\t\tsince: '6.6',\n\t\tversion: '6.8',\n\t\talternative: 'wp.editor.PluginDocumentSettingPanel',\n\t} );\n\tconst isCurrentEntityTemplate = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getCurrentPostType() === 'wp_template',\n\t\t[]\n\t);\n\tif ( ! isCurrentEntityTemplate ) {\n\t\treturn null;\n\t}\n\treturn <Fill>{ children }</Fill>;\n};\n\nPluginTemplateSettingPanel.Slot = Slot;\n\n/**\n * Renders items in the Template Sidebar below the main information\n * like the Template Card.\n *\n * @deprecated since 6.6. Use `wp.editor.PluginDocumentSettingPanel` instead.\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { PluginTemplateSettingPanel } from '@wordpress/edit-site';\n *\n * const MyTemplateSettingTest = () => (\n * \t\t<PluginTemplateSettingPanel>\n *\t\t\t<p>Hello, World!</p>\n *\t\t</PluginTemplateSettingPanel>\n *\t);\n * ```\n *\n * @return {Component} The component to be rendered.\n */\nexport default PluginTemplateSettingPanel;\n"],
5
- "mappings": ";AAOA,SAAS,SAAS,mBAAmB;AACrC,SAAS,iBAAiB;AAC1B,SAAS,sBAAsB;AAC/B,OAAO,gBAAgB;AAkBf;AAhBR,IAAM,EAAE,MAAM,KAAK,IAAI,eAAgB,4BAA6B;AAEpE,IAAM,6BAA6B,CAAE,EAAE,SAAS,MAAO;AACtD,aAAY,0CAA0C;AAAA,IACrD,OAAO;AAAA,IACP,SAAS;AAAA,IACT,aAAa;AAAA,EACd,CAAE;AACF,QAAM,0BAA0B;AAAA,IAC/B,CAAE,WACD,OAAQ,WAAY,EAAE,mBAAmB,MAAM;AAAA,IAChD,CAAC;AAAA,EACF;AACA,MAAK,CAAE,yBAA0B;AAChC,WAAO;AAAA,EACR;AACA,SAAO,oBAAC,QAAO,UAAU;AAC1B;AAEA,2BAA2B,OAAO;AAsBlC,IAAO,wCAAQ;",
4
+ "sourcesContent": ["/**\n * Defines an extensibility slot for the Template sidebar.\n */\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { createSlotFill } from '@wordpress/components';\nimport deprecated from '@wordpress/deprecated';\n\nconst { Fill, Slot } = createSlotFill( 'PluginTemplateSettingPanel' );\n\nconst PluginTemplateSettingPanel = ( { children } ) => {\n\tdeprecated( 'wp.editSite.PluginTemplateSettingPanel', {\n\t\tsince: '6.6',\n\t\tversion: '6.8',\n\t\talternative: 'wp.editor.PluginDocumentSettingPanel',\n\t} );\n\tconst isCurrentEntityTemplate = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getCurrentPostType() === 'wp_template',\n\t\t[]\n\t);\n\tif ( ! isCurrentEntityTemplate ) {\n\t\treturn null;\n\t}\n\treturn <Fill>{ children }</Fill>;\n};\n\nPluginTemplateSettingPanel.Slot = Slot;\n\n/**\n * Renders items in the Template Sidebar below the main information\n * like the Template Card.\n *\n * @deprecated since 6.6. Use `wp.editor.PluginDocumentSettingPanel` instead.\n *\n * @example\n * ```jsx\n * // Using ESNext syntax\n * import { PluginTemplateSettingPanel } from '@wordpress/edit-site';\n *\n * const MyTemplateSettingTest = () => (\n * \t\t<PluginTemplateSettingPanel>\n *\t\t\t<p>Hello, World!</p>\n *\t\t</PluginTemplateSettingPanel>\n *\t);\n * ```\n *\n * @return {Component} The component to be rendered.\n */\nexport default PluginTemplateSettingPanel;\n"],
5
+ "mappings": ";AAGA,SAAS,SAAS,mBAAmB;AACrC,SAAS,iBAAiB;AAC1B,SAAS,sBAAsB;AAC/B,OAAO,gBAAgB;AAkBf;AAhBR,IAAM,EAAE,MAAM,KAAK,IAAI,eAAgB,4BAA6B;AAEpE,IAAM,6BAA6B,CAAE,EAAE,SAAS,MAAO;AACtD,aAAY,0CAA0C;AAAA,IACrD,OAAO;AAAA,IACP,SAAS;AAAA,IACT,aAAa;AAAA,EACd,CAAE;AACF,QAAM,0BAA0B;AAAA,IAC/B,CAAE,WACD,OAAQ,WAAY,EAAE,mBAAmB,MAAM;AAAA,IAChD,CAAC;AAAA,EACF;AACA,MAAK,CAAE,yBAA0B;AAChC,WAAO;AAAA,EACR;AACA,SAAO,oBAAC,QAAO,UAAU;AAC1B;AAEA,2BAA2B,OAAO;AAsBlC,IAAO,wCAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/post-list/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { Button } from '@wordpress/components';\nimport {\n\tstore as coreStore,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect } from '@wordpress/data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useEvent, usePrevious } from '@wordpress/compose';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useView, useViewConfig } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport {\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport AddNewPostModal from '../add-new-post';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tuseEditPostAction,\n\tuseQuickEditPostAction,\n} from '../dataviews-actions';\n\nimport useNotesCount from './use-notes-count';\nimport { QuickEditModal } from './quick-edit-modal';\n\nconst { usePostActions, usePostFields } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( coreDataPrivateApis );\nconst EMPTY_ARRAY = [];\n\nconst DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.\n\nfunction getItemId( item ) {\n\treturn item.id.toString();\n}\n\nfunction getItemLevel( item ) {\n\treturn item.level;\n}\n\nexport default function PostList( { postType } ) {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'all', postId, quickEdit = false } = query;\n\tconst history = useHistory();\n\tconst {\n\t\tdefault_view: defaultView,\n\t\tdefault_layouts: defaultLayouts,\n\t\tview_list: viewList,\n\t\tform: quickEditForm,\n\t} = useViewConfig( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t} );\n\tconst activeViewOverrides = useMemo(\n\t\t() => viewList?.find( ( v ) => v.slug === activeView )?.view ?? {},\n\t\t[ viewList, activeView ]\n\t);\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tdefaultLayouts,\n\t\tactiveViewOverrides,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tupdateView( newView );\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t} );\n\n\tconst [ selection, setSelection ] = useState( postId?.split( ',' ) ?? [] );\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tpostId: items.join( ',' ),\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\t[ path, history ]\n\t);\n\tuseEffect( () => {\n\t\tconst newSelection = postId?.split( ',' ) ?? [];\n\t\tsetSelection( newSelection );\n\t}, [ postId ] );\n\n\tconst fields = usePostFields( {\n\t\tpostType,\n\t} );\n\n\tconst queryArgs = useMemo( () => {\n\t\tconst filters = {};\n\t\tview.filters?.forEach( ( filter ) => {\n\t\t\tif (\n\t\t\t\tfilter.field === 'status' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.status = filter.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.author = filter.value;\n\t\t\t} else if (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_NONE\n\t\t\t) {\n\t\t\t\tfilters.author_exclude = filter.value;\n\t\t\t}\n\t\t\tif ( filter.field === 'date' ) {\n\t\t\t\t// Skip if no value is set yet\n\t\t\t\tif ( ! filter.value ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( filter.operator === OPERATOR_BEFORE ) {\n\t\t\t\t\tfilters.before = filter.value;\n\t\t\t\t} else if ( filter.operator === OPERATOR_AFTER ) {\n\t\t\t\t\tfilters.after = filter.value;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// We want to provide a different default item for the status filter\n\t\t// than the REST API provides.\n\t\tif ( ! filters.status || filters.status === '' ) {\n\t\t\tfilters.status = DEFAULT_STATUSES;\n\t\t}\n\n\t\treturn {\n\t\t\tper_page: view.perPage,\n\t\t\tpage: view.page,\n\t\t\t_embed: 'author,wp:featuredmedia',\n\t\t\torder: view.sort?.direction,\n\t\t\torderby: view.sort?.field,\n\t\t\torderby_hierarchy: !! view.showLevels,\n\t\t\tsearch: view.search,\n\t\t\t...filters,\n\t\t};\n\t}, [ view ] );\n\tconst {\n\t\trecords,\n\t\tisResolving: isLoadingData,\n\t\ttotalItems,\n\t\ttotalPages,\n\t\thasResolved,\n\t} = useEntityRecordsWithPermissions( 'postType', postType, queryArgs );\n\n\tconst postIds = useMemo(\n\t\t() => records?.map( ( record ) => record.id ) ?? [],\n\t\t[ records ]\n\t);\n\tconst { notesCount, isLoading: isLoadingNotesCount } =\n\t\tuseNotesCount( postIds );\n\n\t// The REST API sort the authors by ID, but we want to sort them by name.\n\tconst data = useMemo( () => {\n\t\tlet processedRecords = records;\n\n\t\tif ( view?.sort?.field === 'author' ) {\n\t\t\tprocessedRecords = filterSortAndPaginate(\n\t\t\t\trecords,\n\t\t\t\t{ sort: { ...view.sort } },\n\t\t\t\tfields\n\t\t\t).data;\n\t\t}\n\n\t\tif ( processedRecords ) {\n\t\t\treturn processedRecords.map( ( record ) => ( {\n\t\t\t\t...record,\n\t\t\t\tnotesCount: notesCount[ record.id ] ?? 0,\n\t\t\t} ) );\n\t\t}\n\n\t\treturn processedRecords;\n\t}, [ records, fields, view?.sort, notesCount ] );\n\n\tconst ids = data?.map( ( record ) => getItemId( record ) ) ?? [];\n\tconst prevIds = usePrevious( ids ) ?? [];\n\tconst deletedIds = prevIds.filter( ( id ) => ! ids.includes( id ) );\n\tconst postIdWasDeleted = deletedIds.includes( postId );\n\n\tuseEffect( () => {\n\t\tif ( postIdWasDeleted ) {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tpostId: undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}, [ history, postIdWasDeleted, path ] );\n\n\tconst paginationInfo = useMemo(\n\t\t() => ( {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t} ),\n\t\t[ totalItems, totalPages ]\n\t);\n\n\tconst { labels, canCreateRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType, canUser } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tlabels: getPostType( postType )?.labels,\n\t\t\t\tcanCreateRecord: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: postType,\n\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst quickEditAction = useQuickEditPostAction();\n\tconst actions = useMemo( () => {\n\t\tif ( view.type === LAYOUT_LIST ) {\n\t\t\tconst editActionPrimary = { ...editAction, isPrimary: true };\n\t\t\treturn [ editActionPrimary, ...postTypeActions ];\n\t\t}\n\n\t\treturn [ editAction, quickEditAction, ...postTypeActions ];\n\t}, [ view.type, editAction, quickEditAction, postTypeActions ] );\n\n\tconst [ showAddPostModal, setShowAddPostModal ] = useState( false );\n\n\tconst openModal = () => setShowAddPostModal( true );\n\tconst closeModal = () => setShowAddPostModal( false );\n\tconst handleNewPage = ( { type, id } ) => {\n\t\thistory.navigate( `/${ type }/${ id }?canvas=edit` );\n\t\tcloseModal();\n\t};\n\tconst closeQuickEditModal = () => {\n\t\thistory.navigate(\n\t\t\taddQueryArgs( path, {\n\t\t\t\t...query,\n\t\t\t\tquickEdit: undefined,\n\t\t\t} )\n\t\t);\n\t};\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ labels?.name }\n\t\t\theadingLevel={ 2 }\n\t\t\tactions={\n\t\t\t\t<>\n\t\t\t\t\t{ labels?.add_new_item && canCreateRecord && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ labels.add_new_item }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t{ showAddPostModal && (\n\t\t\t\t\t\t\t\t<AddNewPostModal\n\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\t\t\t\t\tonClose={ closeModal }\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) }\n\t\t\t\t</>\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\tisLoading={\n\t\t\t\t\tisLoadingData || isLoadingNotesCount || ! hasResolved\n\t\t\t\t}\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tselection={ selection }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ ( item ) => item.status !== 'trash' }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.navigate( `/${ postType }/${ id }?canvas=edit` );\n\t\t\t\t} }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tgetItemLevel={ getItemLevel }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\tonReset={\n\t\t\t\t\tisModified\n\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: false\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ quickEdit &&\n\t\t\t\t! isLoadingData &&\n\t\t\t\tselection.length > 0 &&\n\t\t\t\tview.type !== LAYOUT_LIST && (\n\t\t\t\t\t<QuickEditModal\n\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\tpostId={ selection }\n\t\t\t\t\t\tcloseModal={ closeQuickEditModal }\n\t\t\t\t\t\tquickEditForm={ quickEditForm }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</Page>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Page } from '@wordpress/admin-ui';\nimport { Button } from '@wordpress/components';\nimport {\n\tstore as coreStore,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect } from '@wordpress/data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useEvent, usePrevious } from '@wordpress/compose';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useView, useViewConfig } from '@wordpress/views';\nimport {\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport AddNewPostModal from '../add-new-post';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tuseEditPostAction,\n\tuseQuickEditPostAction,\n} from '../dataviews-actions';\nimport useNotesCount from './use-notes-count';\nimport { QuickEditModal } from './quick-edit-modal';\n\nconst { usePostActions, usePostFields } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( coreDataPrivateApis );\nconst EMPTY_ARRAY = [];\n\nconst DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.\n\nfunction getItemId( item ) {\n\treturn item.id.toString();\n}\n\nfunction getItemLevel( item ) {\n\treturn item.level;\n}\n\nexport default function PostList( { postType } ) {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'all', postId, quickEdit = false } = query;\n\tconst history = useHistory();\n\tconst {\n\t\tdefault_view: defaultView,\n\t\tdefault_layouts: defaultLayouts,\n\t\tview_list: viewList,\n\t\tform: quickEditForm,\n\t} = useViewConfig( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t} );\n\tconst activeViewOverrides = useMemo(\n\t\t() => viewList?.find( ( v ) => v.slug === activeView )?.view ?? {},\n\t\t[ viewList, activeView ]\n\t);\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t\tslug: 'default',\n\t\tdefaultView,\n\t\tdefaultLayouts,\n\t\tactiveViewOverrides,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tupdateView( newView );\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t} );\n\n\tconst [ selection, setSelection ] = useState( postId?.split( ',' ) ?? [] );\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tpostId: items.join( ',' ),\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\t[ path, history ]\n\t);\n\tuseEffect( () => {\n\t\tconst newSelection = postId?.split( ',' ) ?? [];\n\t\tsetSelection( newSelection );\n\t}, [ postId ] );\n\n\tconst fields = usePostFields( {\n\t\tpostType,\n\t} );\n\n\tconst queryArgs = useMemo( () => {\n\t\tconst filters = {};\n\t\tview.filters?.forEach( ( filter ) => {\n\t\t\tif (\n\t\t\t\tfilter.field === 'status' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.status = filter.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.author = filter.value;\n\t\t\t} else if (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_NONE\n\t\t\t) {\n\t\t\t\tfilters.author_exclude = filter.value;\n\t\t\t}\n\t\t\tif ( filter.field === 'date' ) {\n\t\t\t\t// Skip if no value is set yet\n\t\t\t\tif ( ! filter.value ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( filter.operator === OPERATOR_BEFORE ) {\n\t\t\t\t\tfilters.before = filter.value;\n\t\t\t\t} else if ( filter.operator === OPERATOR_AFTER ) {\n\t\t\t\t\tfilters.after = filter.value;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// We want to provide a different default item for the status filter\n\t\t// than the REST API provides.\n\t\tif ( ! filters.status || filters.status === '' ) {\n\t\t\tfilters.status = DEFAULT_STATUSES;\n\t\t}\n\n\t\treturn {\n\t\t\tper_page: view.perPage,\n\t\t\tpage: view.page,\n\t\t\t_embed: 'author,wp:featuredmedia',\n\t\t\torder: view.sort?.direction,\n\t\t\torderby: view.sort?.field,\n\t\t\torderby_hierarchy: !! view.showLevels,\n\t\t\tsearch: view.search,\n\t\t\t...filters,\n\t\t};\n\t}, [ view ] );\n\tconst {\n\t\trecords,\n\t\tisResolving: isLoadingData,\n\t\ttotalItems,\n\t\ttotalPages,\n\t\thasResolved,\n\t} = useEntityRecordsWithPermissions( 'postType', postType, queryArgs );\n\n\tconst postIds = useMemo(\n\t\t() => records?.map( ( record ) => record.id ) ?? [],\n\t\t[ records ]\n\t);\n\tconst { notesCount, isLoading: isLoadingNotesCount } =\n\t\tuseNotesCount( postIds );\n\n\t// The REST API sort the authors by ID, but we want to sort them by name.\n\tconst data = useMemo( () => {\n\t\tlet processedRecords = records;\n\n\t\tif ( view?.sort?.field === 'author' ) {\n\t\t\tprocessedRecords = filterSortAndPaginate(\n\t\t\t\trecords,\n\t\t\t\t{ sort: { ...view.sort } },\n\t\t\t\tfields\n\t\t\t).data;\n\t\t}\n\n\t\tif ( processedRecords ) {\n\t\t\treturn processedRecords.map( ( record ) => ( {\n\t\t\t\t...record,\n\t\t\t\tnotesCount: notesCount[ record.id ] ?? 0,\n\t\t\t} ) );\n\t\t}\n\n\t\treturn processedRecords;\n\t}, [ records, fields, view?.sort, notesCount ] );\n\n\tconst ids = data?.map( ( record ) => getItemId( record ) ) ?? [];\n\tconst prevIds = usePrevious( ids ) ?? [];\n\tconst deletedIds = prevIds.filter( ( id ) => ! ids.includes( id ) );\n\tconst postIdWasDeleted = deletedIds.includes( postId );\n\n\tuseEffect( () => {\n\t\tif ( postIdWasDeleted ) {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tpostId: undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}, [ history, postIdWasDeleted, path ] );\n\n\tconst paginationInfo = useMemo(\n\t\t() => ( {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t} ),\n\t\t[ totalItems, totalPages ]\n\t);\n\n\tconst { labels, canCreateRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType, canUser } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tlabels: getPostType( postType )?.labels,\n\t\t\t\tcanCreateRecord: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: postType,\n\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst quickEditAction = useQuickEditPostAction();\n\tconst actions = useMemo( () => {\n\t\tif ( view.type === LAYOUT_LIST ) {\n\t\t\tconst editActionPrimary = { ...editAction, isPrimary: true };\n\t\t\treturn [ editActionPrimary, ...postTypeActions ];\n\t\t}\n\n\t\treturn [ editAction, quickEditAction, ...postTypeActions ];\n\t}, [ view.type, editAction, quickEditAction, postTypeActions ] );\n\n\tconst [ showAddPostModal, setShowAddPostModal ] = useState( false );\n\n\tconst openModal = () => setShowAddPostModal( true );\n\tconst closeModal = () => setShowAddPostModal( false );\n\tconst handleNewPage = ( { type, id } ) => {\n\t\thistory.navigate( `/${ type }/${ id }?canvas=edit` );\n\t\tcloseModal();\n\t};\n\tconst closeQuickEditModal = () => {\n\t\thistory.navigate(\n\t\t\taddQueryArgs( path, {\n\t\t\t\t...query,\n\t\t\t\tquickEdit: undefined,\n\t\t\t} )\n\t\t);\n\t};\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ labels?.name }\n\t\t\theadingLevel={ 2 }\n\t\t\tactions={\n\t\t\t\t<>\n\t\t\t\t\t{ labels?.add_new_item && canCreateRecord && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ labels.add_new_item }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t{ showAddPostModal && (\n\t\t\t\t\t\t\t\t<AddNewPostModal\n\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\t\t\t\t\tonClose={ closeModal }\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) }\n\t\t\t\t</>\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\tisLoading={\n\t\t\t\t\tisLoadingData || isLoadingNotesCount || ! hasResolved\n\t\t\t\t}\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tselection={ selection }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ ( item ) => item.status !== 'trash' }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.navigate( `/${ postType }/${ id }?canvas=edit` );\n\t\t\t\t} }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tgetItemLevel={ getItemLevel }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\tonReset={\n\t\t\t\t\tisModified\n\t\t\t\t\t\t? () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: false\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ quickEdit &&\n\t\t\t\t! isLoadingData &&\n\t\t\t\tselection.length > 0 &&\n\t\t\t\tview.type !== LAYOUT_LIST && (\n\t\t\t\t\t<QuickEditModal\n\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\tpostId={ selection }\n\t\t\t\t\t\tcloseModal={ closeQuickEditModal }\n\t\t\t\t\t\tquickEditForm={ quickEditForm }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</Page>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/post-list/quick-edit-modal.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { DataForm } from '@wordpress/dataviews';\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { usePostFields, PostCardPanel } = unlock( editorPrivateApis );\n\nconst fieldsWithBulkEditSupport = [ 'status', 'date', 'author', 'discussion' ];\n\nexport function QuickEditModal( {\n\tpostType,\n\tpostId,\n\tcloseModal,\n\tquickEditForm,\n} ) {\n\tconst isBulk = postId.length > 1;\n\n\tconst [ localEdits, setLocalEdits ] = useState( {} );\n\tconst { record, hasFinishedResolution, canSwitchTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\thasFinishedResolution: hasFinished,\n\t\t\t} = select( coreDataStore );\n\n\t\t\tif ( isBulk ) {\n\t\t\t\treturn {\n\t\t\t\t\trecord: null,\n\t\t\t\t\thasFinishedResolution: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst args = [ 'postType', postType, postId[ 0 ] ];\n\n\t\t\tconst { getHomePage, getPostsPageId } = unlock(\n\t\t\t\tselect( coreDataStore )\n\t\t\t);\n\t\t\tconst singlePostId = String( postId[ 0 ] );\n\t\t\tconst isPostsPage =\n\t\t\t\tsinglePostId !== undefined && getPostsPageId() === singlePostId;\n\t\t\tconst isFrontPage =\n\t\t\t\tsinglePostId !== undefined &&\n\t\t\t\tpostType === 'page' &&\n\t\t\t\tgetHomePage()?.postId === singlePostId;\n\n\t\t\treturn {\n\t\t\t\trecord: getEditedEntityRecord( ...args ),\n\t\t\t\thasFinishedResolution: hasFinished(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\targs\n\t\t\t\t),\n\t\t\t\tcanSwitchTemplate: ! isPostsPage && ! isFrontPage,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isBulk ]\n\t);\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreDataStore );\n\n\tconst _fields = usePostFields( { postType } );\n\tconst fields = useMemo(\n\t\t() =>\n\t\t\t_fields?.map( ( field ) => {\n\t\t\t\tif ( field.id === 'status' ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\telements: field.elements.filter(\n\t\t\t\t\t\t\t( element ) => element.value !== 'trash'\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif ( field.id === 'template' ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\treadOnly: ! canSwitchTemplate,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn field;\n\t\t\t} ),\n\t\t[ _fields, canSwitchTemplate ]\n\t);\n\n\tconst form = useMemo( () => {\n\t\tif ( ! quickEditForm ) {\n\t\t\treturn { layout: { type: 'panel' }, fields: [] };\n\t\t}\n\t\tif ( ! isBulk ) {\n\t\t\treturn quickEditForm;\n\t\t}\n\t\treturn {\n\t\t\t...quickEditForm,\n\t\t\tfields: ( quickEditForm.fields ?? [] ).filter( ( field ) =>\n\t\t\t\tfieldsWithBulkEditSupport.includes(\n\t\t\t\t\ttypeof field === 'string' ? field : field.id\n\t\t\t\t)\n\t\t\t),\n\t\t};\n\t}, [ isBulk, quickEditForm ] );\n\n\tconst onChange = ( edits ) => {\n\t\tconst currentData = { ...record, ...localEdits };\n\n\t\tif (\n\t\t\tedits.status &&\n\t\t\tedits.status !== 'future' &&\n\t\t\tcurrentData?.status === 'future' &&\n\t\t\tnew Date( currentData.date ) > new Date()\n\t\t) {\n\t\t\tedits.date = null;\n\t\t}\n\t\tif (\n\t\t\tedits.status &&\n\t\t\tedits.status === 'private' &&\n\t\t\tcurrentData?.password\n\t\t) {\n\t\t\tedits.password = '';\n\t\t}\n\n\t\tsetLocalEdits( ( prev ) => ( { ...prev, ...edits } ) );\n\t};\n\tuseEffect( () => {\n\t\tsetLocalEdits( {} );\n\t}, [ postId ] );\n\n\tconst onSave = async () => {\n\t\tfor ( const id of postId ) {\n\t\t\teditEntityRecord( 'postType', postType, id, localEdits );\n\t\t}\n\n\t\tif ( isBulk ) {\n\t\t\tawait Promise.allSettled(\n\t\t\t\tpostId.map( ( id ) =>\n\t\t\t\t\tsaveEditedEntityRecord( 'postType', postType, id )\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\tawait saveEditedEntityRecord( 'postType', postType, postId[ 0 ] );\n\t\t}\n\t\tcloseModal?.();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\toverlayClassName=\"dataviews-action-modal__quick-edit\"\n\t\t\t__experimentalHideHeader\n\t\t\tonRequestClose={ closeModal }\n\t\t\tfocusOnMount=\"firstElement\"\n\t\t>\n\t\t\t<div className=\"dataviews-action-modal__quick-edit-header\">\n\t\t\t\t<PostCardPanel\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tpostId={ postId }\n\t\t\t\t\thideActions\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"dataviews-action-modal__quick-edit-content\">\n\t\t\t\t{ hasFinishedResolution && (\n\t\t\t\t\t<DataForm\n\t\t\t\t\t\tdata={ { ...record, ...localEdits } }\n\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\tform={ form }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<HStack className=\"dataviews-action-modal__quick-edit-footer\">\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ onSave }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t</Modal>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { DataForm } from '@wordpress/dataviews';\nimport {\n\tButton,\n\tModal,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { unlock } from '../../lock-unlock';\n\nconst { usePostFields, PostCardPanel } = unlock( editorPrivateApis );\n\nconst fieldsWithBulkEditSupport = [ 'status', 'date', 'author', 'discussion' ];\n\nexport function QuickEditModal( {\n\tpostType,\n\tpostId,\n\tcloseModal,\n\tquickEditForm,\n} ) {\n\tconst isBulk = postId.length > 1;\n\n\tconst [ localEdits, setLocalEdits ] = useState( {} );\n\tconst { record, hasFinishedResolution, canSwitchTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\thasFinishedResolution: hasFinished,\n\t\t\t} = select( coreDataStore );\n\n\t\t\tif ( isBulk ) {\n\t\t\t\treturn {\n\t\t\t\t\trecord: null,\n\t\t\t\t\thasFinishedResolution: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst args = [ 'postType', postType, postId[ 0 ] ];\n\n\t\t\tconst { getHomePage, getPostsPageId } = unlock(\n\t\t\t\tselect( coreDataStore )\n\t\t\t);\n\t\t\tconst singlePostId = String( postId[ 0 ] );\n\t\t\tconst isPostsPage =\n\t\t\t\tsinglePostId !== undefined && getPostsPageId() === singlePostId;\n\t\t\tconst isFrontPage =\n\t\t\t\tsinglePostId !== undefined &&\n\t\t\t\tpostType === 'page' &&\n\t\t\t\tgetHomePage()?.postId === singlePostId;\n\n\t\t\treturn {\n\t\t\t\trecord: getEditedEntityRecord( ...args ),\n\t\t\t\thasFinishedResolution: hasFinished(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\targs\n\t\t\t\t),\n\t\t\t\tcanSwitchTemplate: ! isPostsPage && ! isFrontPage,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isBulk ]\n\t);\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreDataStore );\n\n\tconst _fields = usePostFields( { postType } );\n\tconst fields = useMemo(\n\t\t() =>\n\t\t\t_fields?.map( ( field ) => {\n\t\t\t\tif ( field.id === 'status' ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\telements: field.elements.filter(\n\t\t\t\t\t\t\t( element ) => element.value !== 'trash'\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif ( field.id === 'template' ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...field,\n\t\t\t\t\t\treadOnly: ! canSwitchTemplate,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn field;\n\t\t\t} ),\n\t\t[ _fields, canSwitchTemplate ]\n\t);\n\n\tconst form = useMemo( () => {\n\t\tif ( ! quickEditForm ) {\n\t\t\treturn { layout: { type: 'panel' }, fields: [] };\n\t\t}\n\t\tif ( ! isBulk ) {\n\t\t\treturn quickEditForm;\n\t\t}\n\t\treturn {\n\t\t\t...quickEditForm,\n\t\t\tfields: ( quickEditForm.fields ?? [] ).filter( ( field ) =>\n\t\t\t\tfieldsWithBulkEditSupport.includes(\n\t\t\t\t\ttypeof field === 'string' ? field : field.id\n\t\t\t\t)\n\t\t\t),\n\t\t};\n\t}, [ isBulk, quickEditForm ] );\n\n\tconst onChange = ( edits ) => {\n\t\tconst currentData = { ...record, ...localEdits };\n\n\t\tif (\n\t\t\tedits.status &&\n\t\t\tedits.status !== 'future' &&\n\t\t\tcurrentData?.status === 'future' &&\n\t\t\tnew Date( currentData.date ) > new Date()\n\t\t) {\n\t\t\tedits.date = null;\n\t\t}\n\t\tif (\n\t\t\tedits.status &&\n\t\t\tedits.status === 'private' &&\n\t\t\tcurrentData?.password\n\t\t) {\n\t\t\tedits.password = '';\n\t\t}\n\n\t\tsetLocalEdits( ( prev ) => ( { ...prev, ...edits } ) );\n\t};\n\tuseEffect( () => {\n\t\tsetLocalEdits( {} );\n\t}, [ postId ] );\n\n\tconst onSave = async () => {\n\t\tfor ( const id of postId ) {\n\t\t\teditEntityRecord( 'postType', postType, id, localEdits );\n\t\t}\n\n\t\tif ( isBulk ) {\n\t\t\tawait Promise.allSettled(\n\t\t\t\tpostId.map( ( id ) =>\n\t\t\t\t\tsaveEditedEntityRecord( 'postType', postType, id )\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\tawait saveEditedEntityRecord( 'postType', postType, postId[ 0 ] );\n\t\t}\n\t\tcloseModal?.();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\toverlayClassName=\"dataviews-action-modal__quick-edit\"\n\t\t\t__experimentalHideHeader\n\t\t\tonRequestClose={ closeModal }\n\t\t\tfocusOnMount=\"firstElement\"\n\t\t>\n\t\t\t<div className=\"dataviews-action-modal__quick-edit-header\">\n\t\t\t\t<PostCardPanel\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tpostId={ postId }\n\t\t\t\t\thideActions\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"dataviews-action-modal__quick-edit-content\">\n\t\t\t\t{ hasFinishedResolution && (\n\t\t\t\t\t<DataForm\n\t\t\t\t\t\tdata={ { ...record, ...localEdits } }\n\t\t\t\t\t\tfields={ fields }\n\t\t\t\t\t\tform={ form }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<HStack className=\"dataviews-action-modal__quick-edit-footer\">\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ onSave }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t</Modal>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/post-list/use-notes-count.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\n\n/**\n * Hook to fetch notes counts for a list of post IDs.\n *\n * Notes are stored as comments with type 'note'.\n * This hook fetches all notes for the given posts and returns\n * a map of post ID to notes count.\n *\n * @param {number[]} postIds - Array of post IDs to fetch notes for.\n * @return {{ notesCount: Object, isResolving: boolean }} Object with notesCount map and loading state.\n */\nexport default function useNotesCount( postIds ) {\n\tconst { records: notes, isResolving } = useEntityRecords(\n\t\t'root',\n\t\t'comment',\n\t\t{\n\t\t\tpost: postIds,\n\t\t\ttype: 'note',\n\t\t\tstatus: 'all',\n\t\t\tper_page: -1,\n\t\t\t_fields: 'id,post',\n\t\t},\n\t\t{\n\t\t\tenabled: postIds?.length > 0,\n\t\t}\n\t);\n\n\tconst notesCount = useMemo( () => {\n\t\tif ( ! notes || notes.length === 0 ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst counts = {};\n\t\tnotes.forEach( ( note ) => {\n\t\t\tconst postId = note.post;\n\t\t\tcounts[ postId ] = ( counts[ postId ] || 0 ) + 1;\n\t\t} );\n\n\t\treturn counts;\n\t}, [ notes ] );\n\n\treturn { notesCount, isResolving };\n}\n"],
5
- "mappings": ";AAGA,SAAS,eAAe;AACxB,SAAS,wBAAwB;AAYlB,SAAR,cAAgC,SAAU;AAChD,QAAM,EAAE,SAAS,OAAO,YAAY,IAAI;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,SAAS;AAAA,IACV;AAAA,IACA;AAAA,MACC,SAAS,SAAS,SAAS;AAAA,IAC5B;AAAA,EACD;AAEA,QAAM,aAAa,QAAS,MAAM;AACjC,QAAK,CAAE,SAAS,MAAM,WAAW,GAAI;AACpC,aAAO,CAAC;AAAA,IACT;AAEA,UAAM,SAAS,CAAC;AAChB,UAAM,QAAS,CAAE,SAAU;AAC1B,YAAM,SAAS,KAAK;AACpB,aAAQ,MAAO,KAAM,OAAQ,MAAO,KAAK,KAAM;AAAA,IAChD,CAAE;AAEF,WAAO;AAAA,EACR,GAAG,CAAE,KAAM,CAAE;AAEb,SAAO,EAAE,YAAY,YAAY;AAClC;",
4
+ "sourcesContent": ["import { useMemo } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\n\n/**\n * Hook to fetch notes counts for a list of post IDs.\n *\n * Notes are stored as comments with type 'note'.\n * This hook fetches all notes for the given posts and returns\n * a map of post ID to notes count.\n *\n * @param {number[]} postIds - Array of post IDs to fetch notes for.\n * @return {{ notesCount: Object, isResolving: boolean }} Object with notesCount map and loading state.\n */\nexport default function useNotesCount( postIds ) {\n\tconst { records: notes, isResolving } = useEntityRecords(\n\t\t'root',\n\t\t'comment',\n\t\t{\n\t\t\tpost: postIds,\n\t\t\ttype: 'note',\n\t\t\tstatus: 'all',\n\t\t\tper_page: -1,\n\t\t\t_fields: 'id,post',\n\t\t},\n\t\t{\n\t\t\tenabled: postIds?.length > 0,\n\t\t}\n\t);\n\n\tconst notesCount = useMemo( () => {\n\t\tif ( ! notes || notes.length === 0 ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tconst counts = {};\n\t\tnotes.forEach( ( note ) => {\n\t\t\tconst postId = note.post;\n\t\t\tcounts[ postId ] = ( counts[ postId ] || 0 ) + 1;\n\t\t} );\n\n\t\treturn counts;\n\t}, [ notes ] );\n\n\treturn { notesCount, isResolving };\n}\n"],
5
+ "mappings": ";AAAA,SAAS,eAAe;AACxB,SAAS,wBAAwB;AAYlB,SAAR,cAAgC,SAAU;AAChD,QAAM,EAAE,SAAS,OAAO,YAAY,IAAI;AAAA,IACvC;AAAA,IACA;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,SAAS;AAAA,IACV;AAAA,IACA;AAAA,MACC,SAAS,SAAS,SAAS;AAAA,IAC5B;AAAA,EACD;AAEA,QAAM,aAAa,QAAS,MAAM;AACjC,QAAK,CAAE,SAAS,MAAM,WAAW,GAAI;AACpC,aAAO,CAAC;AAAA,IACT;AAEA,UAAM,SAAS,CAAC;AAChB,UAAM,QAAS,CAAE,SAAU;AAC1B,YAAM,SAAS,KAAK;AACpB,aAAQ,MAAO,KAAM,OAAQ,MAAO,KAAK,KAAM;AAAA,IAChD,CAAE;AAEF,WAAO;AAAA,EACR,GAAG,CAAE,KAAM,CAAE;AAEb,SAAO,EAAE,YAAY,YAAY;AAClC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/resizable-frame/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tResizableBox,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { useInstanceId, useReducedMotion } from '@wordpress/compose';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { addQueryArgs } from '@wordpress/url';\nimport { Tooltip } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDE = {\n\tposition: undefined,\n\tuserSelect: undefined,\n\tcursor: undefined,\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\n// The minimum width of the frame (in px) while resizing.\nconst FRAME_MIN_WIDTH = 320;\n// The reference width of the frame (in px) used to calculate the aspect ratio.\nconst FRAME_REFERENCE_WIDTH = 1300;\n// 9 : 19.5 is the target aspect ratio enforced (when possible) while resizing.\nconst FRAME_TARGET_ASPECT_RATIO = 9 / 19.5;\n// The minimum distance (in px) between the frame resize handle and the\n// viewport's edge. If the frame is resized to be closer to the viewport's edge\n// than this distance, then \"canvas mode\" will be enabled.\nconst SNAP_TO_EDIT_CANVAS_MODE_THRESHOLD = 200;\n// Default size for the `frameSize` state.\nconst INITIAL_FRAME_SIZE = { width: '100%', height: '100%' };\n\nfunction calculateNewHeight( width, initialAspectRatio ) {\n\tconst lerp = ( a, b, amount ) => {\n\t\treturn a + ( b - a ) * amount;\n\t};\n\n\t// Calculate the intermediate aspect ratio based on the current width.\n\tconst lerpFactor =\n\t\t1 -\n\t\tMath.max(\n\t\t\t0,\n\t\t\tMath.min(\n\t\t\t\t1,\n\t\t\t\t( width - FRAME_MIN_WIDTH ) /\n\t\t\t\t\t( FRAME_REFERENCE_WIDTH - FRAME_MIN_WIDTH )\n\t\t\t)\n\t\t);\n\n\t// Calculate the height based on the intermediate aspect ratio\n\t// ensuring the frame arrives at the target aspect ratio.\n\tconst intermediateAspectRatio = lerp(\n\t\tinitialAspectRatio,\n\t\tFRAME_TARGET_ASPECT_RATIO,\n\t\tlerpFactor\n\t);\n\n\treturn width / intermediateAspectRatio;\n}\n\nfunction ResizableFrame( {\n\tisFullWidth,\n\tisOversized,\n\tsetIsOversized,\n\tisReady,\n\tchildren,\n\t/** The default (unresized) width/height of the frame, based on the space available in the viewport. */\n\tdefaultSize,\n\tinnerContentStyle,\n} ) {\n\tconst history = useHistory();\n\tconst { path, query } = useLocation();\n\tconst { canvas = 'view' } = query;\n\tconst disableMotion = useReducedMotion();\n\tconst [ frameSize, setFrameSize ] = useState( INITIAL_FRAME_SIZE );\n\t// The width of the resizable frame when a new resize gesture starts.\n\tconst [ startingWidth, setStartingWidth ] = useState();\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ shouldShowHandle, setShouldShowHandle ] = useState( false );\n\tconst [ resizeRatio, setResizeRatio ] = useState( 1 );\n\n\tconst FRAME_TRANSITION = { type: 'tween', duration: isResizing ? 0 : 0.5 };\n\tconst frameRef = useRef( null );\n\tconst resizableHandleHelpId = useInstanceId(\n\t\tResizableFrame,\n\t\t'edit-site-resizable-frame-handle-help'\n\t);\n\tconst defaultAspectRatio = defaultSize.width / defaultSize.height;\n\tconst isBlockTheme = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme } = select( coreStore );\n\t\treturn getCurrentTheme()?.is_block_theme;\n\t}, [] );\n\n\tconst handleResizeStart = ( _event, _direction, ref ) => {\n\t\t// Remember the starting width so we don't have to get `ref.offsetWidth` on\n\t\t// every resize event thereafter, which will cause layout thrashing.\n\t\tsetStartingWidth( ref.offsetWidth );\n\t\tsetIsResizing( true );\n\t};\n\n\t// Calculate the frame size based on the window width as its resized.\n\tconst handleResize = ( _event, _direction, _ref, delta ) => {\n\t\tconst normalizedDelta = delta.width / resizeRatio;\n\t\tconst deltaAbs = Math.abs( normalizedDelta );\n\t\tconst maxDoubledDelta =\n\t\t\tdelta.width < 0 // is shrinking\n\t\t\t\t? deltaAbs\n\t\t\t\t: ( defaultSize.width - startingWidth ) / 2;\n\t\tconst deltaToDouble = Math.min( deltaAbs, maxDoubledDelta );\n\t\tconst doubleSegment = deltaAbs === 0 ? 0 : deltaToDouble / deltaAbs;\n\t\tconst singleSegment = 1 - doubleSegment;\n\n\t\tsetResizeRatio( singleSegment + doubleSegment * 2 );\n\n\t\tconst updatedWidth = startingWidth + delta.width;\n\n\t\tsetIsOversized( updatedWidth > defaultSize.width );\n\n\t\t// Width will be controlled by the library (via `resizeRatio`),\n\t\t// so we only need to update the height.\n\t\tsetFrameSize( {\n\t\t\theight: isOversized\n\t\t\t\t? '100%'\n\t\t\t\t: calculateNewHeight( updatedWidth, defaultAspectRatio ),\n\t\t} );\n\t};\n\n\tconst handleResizeStop = ( _event, _direction, ref ) => {\n\t\tsetIsResizing( false );\n\n\t\tif ( ! isOversized ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsOversized( false );\n\n\t\tconst remainingWidth =\n\t\t\tref.ownerDocument.documentElement.offsetWidth - ref.offsetWidth;\n\n\t\tif (\n\t\t\tremainingWidth > SNAP_TO_EDIT_CANVAS_MODE_THRESHOLD ||\n\t\t\t! isBlockTheme\n\t\t) {\n\t\t\t// Reset the initial aspect ratio if the frame is resized slightly\n\t\t\t// above the sidebar but not far enough to trigger full screen.\n\t\t\tsetFrameSize( INITIAL_FRAME_SIZE );\n\t\t} else {\n\t\t\t// Trigger full screen if the frame is resized far enough to the left.\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} ),\n\t\t\t\t{\n\t\t\t\t\ttransition: 'canvas-mode-edit-transition',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t};\n\n\t// Handle resize by arrow keys\n\tconst handleResizableHandleKeyDown = ( event ) => {\n\t\tif ( ! [ 'ArrowLeft', 'ArrowRight' ].includes( event.key ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst step = 20 * ( event.shiftKey ? 5 : 1 );\n\t\tconst delta =\n\t\t\tstep *\n\t\t\t( event.key === 'ArrowLeft' ? 1 : -1 ) *\n\t\t\t( isRTL() ? -1 : 1 );\n\t\tconst newWidth = Math.min(\n\t\t\tMath.max(\n\t\t\t\tFRAME_MIN_WIDTH,\n\t\t\t\tframeRef.current.resizable.offsetWidth + delta\n\t\t\t),\n\t\t\tdefaultSize.width\n\t\t);\n\n\t\tsetFrameSize( {\n\t\t\twidth: newWidth,\n\t\t\theight: calculateNewHeight( newWidth, defaultAspectRatio ),\n\t\t} );\n\t};\n\n\tconst frameAnimationVariants = {\n\t\tdefault: {\n\t\t\tflexGrow: 0,\n\t\t\theight: frameSize.height,\n\t\t},\n\t\tfullWidth: {\n\t\t\tflexGrow: 1,\n\t\t\theight: frameSize.height,\n\t\t},\n\t};\n\n\tconst resizeHandleVariants = {\n\t\thidden: {\n\t\t\topacity: 0,\n\t\t\t...( isRTL() ? { right: 0 } : { left: 0 } ),\n\t\t},\n\t\tvisible: {\n\t\t\topacity: 1,\n\t\t\t// Account for the handle's width.\n\t\t\t...( isRTL() ? { right: -14 } : { left: -14 } ),\n\t\t},\n\t\tactive: {\n\t\t\topacity: 1,\n\t\t\t// Account for the handle's width.\n\t\t\t...( isRTL() ? { right: -14 } : { left: -14 } ),\n\t\t\tscaleY: 1.3,\n\t\t},\n\t};\n\tconst currentResizeHandleVariant = ( () => {\n\t\tif ( isResizing ) {\n\t\t\treturn 'active';\n\t\t}\n\t\treturn shouldShowHandle ? 'visible' : 'hidden';\n\t} )();\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tas={ motion.div }\n\t\t\tref={ frameRef }\n\t\t\tinitial={ false }\n\t\t\tvariants={ frameAnimationVariants }\n\t\t\tanimate={ isFullWidth ? 'fullWidth' : 'default' }\n\t\t\tonAnimationComplete={ ( definition ) => {\n\t\t\t\tif ( definition === 'fullWidth' ) {\n\t\t\t\t\tsetFrameSize( { width: '100%', height: '100%' } );\n\t\t\t\t}\n\t\t\t} }\n\t\t\twhileHover={\n\t\t\t\tcanvas === 'view' && isBlockTheme\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.5,\n\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: {}\n\t\t\t}\n\t\t\ttransition={ FRAME_TRANSITION }\n\t\t\tsize={ frameSize }\n\t\t\tenable={ {\n\t\t\t\ttop: false,\n\t\t\t\tbottom: false,\n\t\t\t\t// Resizing will be disabled until the editor content is loaded.\n\t\t\t\t...( isRTL()\n\t\t\t\t\t? { right: isReady, left: false }\n\t\t\t\t\t: { left: isReady, right: false } ),\n\t\t\t\ttopRight: false,\n\t\t\t\tbottomRight: false,\n\t\t\t\tbottomLeft: false,\n\t\t\t\ttopLeft: false,\n\t\t\t} }\n\t\t\tresizeRatio={ resizeRatio }\n\t\t\thandleClasses={ undefined }\n\t\t\thandleStyles={ {\n\t\t\t\tleft: HANDLE_STYLES_OVERRIDE,\n\t\t\t\tright: HANDLE_STYLES_OVERRIDE,\n\t\t\t} }\n\t\t\tminWidth={ FRAME_MIN_WIDTH }\n\t\t\tmaxWidth={ isFullWidth ? '100%' : '150%' }\n\t\t\tmaxHeight=\"100%\"\n\t\t\tonFocus={ () => setShouldShowHandle( true ) }\n\t\t\tonBlur={ () => setShouldShowHandle( false ) }\n\t\t\tonMouseOver={ () => setShouldShowHandle( true ) }\n\t\t\tonMouseOut={ () => setShouldShowHandle( false ) }\n\t\t\thandleComponent={ {\n\t\t\t\t[ isRTL() ? 'right' : 'left' ]: canvas === 'view' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Tooltip.Root>\n\t\t\t\t\t\t\t<Tooltip.Trigger\n\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t<motion.button\n\t\t\t\t\t\t\t\t\t\tkey=\"handle\"\n\t\t\t\t\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t\t\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'edit-site-resizable-frame__handle',\n\t\t\t\t\t\t\t\t\t\t\t{ 'is-resizing': isResizing }\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tvariants={ resizeHandleVariants }\n\t\t\t\t\t\t\t\t\t\tanimate={ currentResizeHandleVariant }\n\t\t\t\t\t\t\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tresizableHandleHelpId\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-valuenow={\n\t\t\t\t\t\t\t\t\t\t\tframeRef.current?.resizable\n\t\t\t\t\t\t\t\t\t\t\t\t?.offsetWidth || undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-valuemin={ FRAME_MIN_WIDTH }\n\t\t\t\t\t\t\t\t\t\taria-valuemax={ defaultSize.width }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\thandleResizableHandleKeyDown\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tinitial=\"hidden\"\n\t\t\t\t\t\t\t\t\t\texit=\"hidden\"\n\t\t\t\t\t\t\t\t\t\twhileFocus=\"active\"\n\t\t\t\t\t\t\t\t\t\twhileHover=\"active\"\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<Tooltip.Popup>\n\t\t\t\t\t\t\t\t{ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\t</Tooltip.Popup>\n\t\t\t\t\t\t</Tooltip.Root>\n\t\t\t\t\t\t<div hidden id={ resizableHandleHelpId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Use left and right arrow keys to resize the canvas. Hold shift to resize in larger increments.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t} }\n\t\t\tonResizeStart={ handleResizeStart }\n\t\t\tonResize={ handleResize }\n\t\t\tonResizeStop={ handleResizeStop }\n\t\t\tclassName={ clsx( 'edit-site-resizable-frame__inner', {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tshowHandle={ false } // Do not show the default handle, as we're using a custom one.\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-site-resizable-frame__inner-content\"\n\t\t\t\tstyle={ innerContentStyle }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</ResizableBox>\n\t);\n}\n\nexport default ResizableFrame;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tResizableBox,\n\t__unstableMotion as motion,\n} from '@wordpress/components';\nimport { useInstanceId, useReducedMotion } from '@wordpress/compose';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { addQueryArgs } from '@wordpress/url';\nimport { Tooltip } from '@wordpress/ui';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\n// Removes the inline styles in the drag handles.\nconst HANDLE_STYLES_OVERRIDE = {\n\tposition: undefined,\n\tuserSelect: undefined,\n\tcursor: undefined,\n\twidth: undefined,\n\theight: undefined,\n\ttop: undefined,\n\tright: undefined,\n\tbottom: undefined,\n\tleft: undefined,\n};\n\n// The minimum width of the frame (in px) while resizing.\nconst FRAME_MIN_WIDTH = 320;\n// The reference width of the frame (in px) used to calculate the aspect ratio.\nconst FRAME_REFERENCE_WIDTH = 1300;\n// 9 : 19.5 is the target aspect ratio enforced (when possible) while resizing.\nconst FRAME_TARGET_ASPECT_RATIO = 9 / 19.5;\n// The minimum distance (in px) between the frame resize handle and the\n// viewport's edge. If the frame is resized to be closer to the viewport's edge\n// than this distance, then \"canvas mode\" will be enabled.\nconst SNAP_TO_EDIT_CANVAS_MODE_THRESHOLD = 200;\n// Default size for the `frameSize` state.\nconst INITIAL_FRAME_SIZE = { width: '100%', height: '100%' };\n\nfunction calculateNewHeight( width, initialAspectRatio ) {\n\tconst lerp = ( a, b, amount ) => {\n\t\treturn a + ( b - a ) * amount;\n\t};\n\n\t// Calculate the intermediate aspect ratio based on the current width.\n\tconst lerpFactor =\n\t\t1 -\n\t\tMath.max(\n\t\t\t0,\n\t\t\tMath.min(\n\t\t\t\t1,\n\t\t\t\t( width - FRAME_MIN_WIDTH ) /\n\t\t\t\t\t( FRAME_REFERENCE_WIDTH - FRAME_MIN_WIDTH )\n\t\t\t)\n\t\t);\n\n\t// Calculate the height based on the intermediate aspect ratio\n\t// ensuring the frame arrives at the target aspect ratio.\n\tconst intermediateAspectRatio = lerp(\n\t\tinitialAspectRatio,\n\t\tFRAME_TARGET_ASPECT_RATIO,\n\t\tlerpFactor\n\t);\n\n\treturn width / intermediateAspectRatio;\n}\n\nfunction ResizableFrame( {\n\tisFullWidth,\n\tisOversized,\n\tsetIsOversized,\n\tisReady,\n\tchildren,\n\t/** The default (unresized) width/height of the frame, based on the space available in the viewport. */\n\tdefaultSize,\n\tinnerContentStyle,\n} ) {\n\tconst history = useHistory();\n\tconst { path, query } = useLocation();\n\tconst { canvas = 'view' } = query;\n\tconst disableMotion = useReducedMotion();\n\tconst [ frameSize, setFrameSize ] = useState( INITIAL_FRAME_SIZE );\n\t// The width of the resizable frame when a new resize gesture starts.\n\tconst [ startingWidth, setStartingWidth ] = useState();\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ shouldShowHandle, setShouldShowHandle ] = useState( false );\n\tconst [ resizeRatio, setResizeRatio ] = useState( 1 );\n\n\tconst FRAME_TRANSITION = { type: 'tween', duration: isResizing ? 0 : 0.5 };\n\tconst frameRef = useRef( null );\n\tconst resizableHandleHelpId = useInstanceId(\n\t\tResizableFrame,\n\t\t'edit-site-resizable-frame-handle-help'\n\t);\n\tconst defaultAspectRatio = defaultSize.width / defaultSize.height;\n\tconst isBlockTheme = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme } = select( coreStore );\n\t\treturn getCurrentTheme()?.is_block_theme;\n\t}, [] );\n\n\tconst handleResizeStart = ( _event, _direction, ref ) => {\n\t\t// Remember the starting width so we don't have to get `ref.offsetWidth` on\n\t\t// every resize event thereafter, which will cause layout thrashing.\n\t\tsetStartingWidth( ref.offsetWidth );\n\t\tsetIsResizing( true );\n\t};\n\n\t// Calculate the frame size based on the window width as its resized.\n\tconst handleResize = ( _event, _direction, _ref, delta ) => {\n\t\tconst normalizedDelta = delta.width / resizeRatio;\n\t\tconst deltaAbs = Math.abs( normalizedDelta );\n\t\tconst maxDoubledDelta =\n\t\t\tdelta.width < 0 // is shrinking\n\t\t\t\t? deltaAbs\n\t\t\t\t: ( defaultSize.width - startingWidth ) / 2;\n\t\tconst deltaToDouble = Math.min( deltaAbs, maxDoubledDelta );\n\t\tconst doubleSegment = deltaAbs === 0 ? 0 : deltaToDouble / deltaAbs;\n\t\tconst singleSegment = 1 - doubleSegment;\n\n\t\tsetResizeRatio( singleSegment + doubleSegment * 2 );\n\n\t\tconst updatedWidth = startingWidth + delta.width;\n\n\t\tsetIsOversized( updatedWidth > defaultSize.width );\n\n\t\t// Width will be controlled by the library (via `resizeRatio`),\n\t\t// so we only need to update the height.\n\t\tsetFrameSize( {\n\t\t\theight: isOversized\n\t\t\t\t? '100%'\n\t\t\t\t: calculateNewHeight( updatedWidth, defaultAspectRatio ),\n\t\t} );\n\t};\n\n\tconst handleResizeStop = ( _event, _direction, ref ) => {\n\t\tsetIsResizing( false );\n\n\t\tif ( ! isOversized ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsOversized( false );\n\n\t\tconst remainingWidth =\n\t\t\tref.ownerDocument.documentElement.offsetWidth - ref.offsetWidth;\n\n\t\tif (\n\t\t\tremainingWidth > SNAP_TO_EDIT_CANVAS_MODE_THRESHOLD ||\n\t\t\t! isBlockTheme\n\t\t) {\n\t\t\t// Reset the initial aspect ratio if the frame is resized slightly\n\t\t\t// above the sidebar but not far enough to trigger full screen.\n\t\t\tsetFrameSize( INITIAL_FRAME_SIZE );\n\t\t} else {\n\t\t\t// Trigger full screen if the frame is resized far enough to the left.\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} ),\n\t\t\t\t{\n\t\t\t\t\ttransition: 'canvas-mode-edit-transition',\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t};\n\n\t// Handle resize by arrow keys\n\tconst handleResizableHandleKeyDown = ( event ) => {\n\t\tif ( ! [ 'ArrowLeft', 'ArrowRight' ].includes( event.key ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst step = 20 * ( event.shiftKey ? 5 : 1 );\n\t\tconst delta =\n\t\t\tstep *\n\t\t\t( event.key === 'ArrowLeft' ? 1 : -1 ) *\n\t\t\t( isRTL() ? -1 : 1 );\n\t\tconst newWidth = Math.min(\n\t\t\tMath.max(\n\t\t\t\tFRAME_MIN_WIDTH,\n\t\t\t\tframeRef.current.resizable.offsetWidth + delta\n\t\t\t),\n\t\t\tdefaultSize.width\n\t\t);\n\n\t\tsetFrameSize( {\n\t\t\twidth: newWidth,\n\t\t\theight: calculateNewHeight( newWidth, defaultAspectRatio ),\n\t\t} );\n\t};\n\n\tconst frameAnimationVariants = {\n\t\tdefault: {\n\t\t\tflexGrow: 0,\n\t\t\theight: frameSize.height,\n\t\t},\n\t\tfullWidth: {\n\t\t\tflexGrow: 1,\n\t\t\theight: frameSize.height,\n\t\t},\n\t};\n\n\tconst resizeHandleVariants = {\n\t\thidden: {\n\t\t\topacity: 0,\n\t\t\t...( isRTL() ? { right: 0 } : { left: 0 } ),\n\t\t},\n\t\tvisible: {\n\t\t\topacity: 1,\n\t\t\t// Account for the handle's width.\n\t\t\t...( isRTL() ? { right: -14 } : { left: -14 } ),\n\t\t},\n\t\tactive: {\n\t\t\topacity: 1,\n\t\t\t// Account for the handle's width.\n\t\t\t...( isRTL() ? { right: -14 } : { left: -14 } ),\n\t\t\tscaleY: 1.3,\n\t\t},\n\t};\n\tconst currentResizeHandleVariant = ( () => {\n\t\tif ( isResizing ) {\n\t\t\treturn 'active';\n\t\t}\n\t\treturn shouldShowHandle ? 'visible' : 'hidden';\n\t} )();\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tas={ motion.div }\n\t\t\tref={ frameRef }\n\t\t\tinitial={ false }\n\t\t\tvariants={ frameAnimationVariants }\n\t\t\tanimate={ isFullWidth ? 'fullWidth' : 'default' }\n\t\t\tonAnimationComplete={ ( definition ) => {\n\t\t\t\tif ( definition === 'fullWidth' ) {\n\t\t\t\t\tsetFrameSize( { width: '100%', height: '100%' } );\n\t\t\t\t}\n\t\t\t} }\n\t\t\twhileHover={\n\t\t\t\tcanvas === 'view' && isBlockTheme\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tscale: 1.005,\n\t\t\t\t\t\t\ttransition: {\n\t\t\t\t\t\t\t\tduration: disableMotion ? 0 : 0.5,\n\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: {}\n\t\t\t}\n\t\t\ttransition={ FRAME_TRANSITION }\n\t\t\tsize={ frameSize }\n\t\t\tenable={ {\n\t\t\t\ttop: false,\n\t\t\t\tbottom: false,\n\t\t\t\t// Resizing will be disabled until the editor content is loaded.\n\t\t\t\t...( isRTL()\n\t\t\t\t\t? { right: isReady, left: false }\n\t\t\t\t\t: { left: isReady, right: false } ),\n\t\t\t\ttopRight: false,\n\t\t\t\tbottomRight: false,\n\t\t\t\tbottomLeft: false,\n\t\t\t\ttopLeft: false,\n\t\t\t} }\n\t\t\tresizeRatio={ resizeRatio }\n\t\t\thandleClasses={ undefined }\n\t\t\thandleStyles={ {\n\t\t\t\tleft: HANDLE_STYLES_OVERRIDE,\n\t\t\t\tright: HANDLE_STYLES_OVERRIDE,\n\t\t\t} }\n\t\t\tminWidth={ FRAME_MIN_WIDTH }\n\t\t\tmaxWidth={ isFullWidth ? '100%' : '150%' }\n\t\t\tmaxHeight=\"100%\"\n\t\t\tonFocus={ () => setShouldShowHandle( true ) }\n\t\t\tonBlur={ () => setShouldShowHandle( false ) }\n\t\t\tonMouseOver={ () => setShouldShowHandle( true ) }\n\t\t\tonMouseOut={ () => setShouldShowHandle( false ) }\n\t\t\thandleComponent={ {\n\t\t\t\t[ isRTL() ? 'right' : 'left' ]: canvas === 'view' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<Tooltip.Root>\n\t\t\t\t\t\t\t<Tooltip.Trigger\n\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t<motion.button\n\t\t\t\t\t\t\t\t\t\tkey=\"handle\"\n\t\t\t\t\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t\t\t\t\t\taria-orientation=\"vertical\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'edit-site-resizable-frame__handle',\n\t\t\t\t\t\t\t\t\t\t\t{ 'is-resizing': isResizing }\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tvariants={ resizeHandleVariants }\n\t\t\t\t\t\t\t\t\t\tanimate={ currentResizeHandleVariant }\n\t\t\t\t\t\t\t\t\t\taria-label={ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tresizableHandleHelpId\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-valuenow={\n\t\t\t\t\t\t\t\t\t\t\tframeRef.current?.resizable\n\t\t\t\t\t\t\t\t\t\t\t\t?.offsetWidth || undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-valuemin={ FRAME_MIN_WIDTH }\n\t\t\t\t\t\t\t\t\t\taria-valuemax={ defaultSize.width }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={\n\t\t\t\t\t\t\t\t\t\t\thandleResizableHandleKeyDown\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tinitial=\"hidden\"\n\t\t\t\t\t\t\t\t\t\texit=\"hidden\"\n\t\t\t\t\t\t\t\t\t\twhileFocus=\"active\"\n\t\t\t\t\t\t\t\t\t\twhileHover=\"active\"\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<Tooltip.Popup>\n\t\t\t\t\t\t\t\t{ __( 'Drag to resize' ) }\n\t\t\t\t\t\t\t</Tooltip.Popup>\n\t\t\t\t\t\t</Tooltip.Root>\n\t\t\t\t\t\t<div hidden id={ resizableHandleHelpId }>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Use left and right arrow keys to resize the canvas. Hold shift to resize in larger increments.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t} }\n\t\t\tonResizeStart={ handleResizeStart }\n\t\t\tonResize={ handleResize }\n\t\t\tonResizeStop={ handleResizeStop }\n\t\t\tclassName={ clsx( 'edit-site-resizable-frame__inner', {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tshowHandle={ false } // Do not show the default handle, as we're using a custom one.\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-site-resizable-frame__inner-content\"\n\t\t\t\tstyle={ innerContentStyle }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</ResizableBox>\n\t);\n}\n\nexport default ResizableFrame;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/routes/use-title.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function useTitle( title ) {\n\tconst location = useLocation();\n\tconst siteTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecord( 'root', 'site' )?.title,\n\t\t[]\n\t);\n\tconst isInitialLocationRef = useRef( true );\n\n\tuseEffect( () => {\n\t\tisInitialLocationRef.current = false;\n\t}, [ location ] );\n\n\tuseEffect( () => {\n\t\t// Don't update or announce the title for initial page load.\n\t\tif ( isInitialLocationRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( title && siteTitle ) {\n\t\t\t// @see https://github.com/WordPress/wordpress-develop/blob/94849898192d271d533e09756007e176feb80697/src/wp-admin/admin-header.php#L67-L68\n\t\t\tconst formattedTitle = sprintf(\n\t\t\t\t/* translators: Admin document title. 1: Admin screen name, 2: Network or site name. */\n\t\t\t\t__( '%1$s ‹ %2$s ‹ Editor — WordPress' ),\n\t\t\t\tdecodeEntities( title ),\n\t\t\t\tdecodeEntities( siteTitle )\n\t\t\t);\n\n\t\t\tdocument.title = formattedTitle;\n\n\t\t\t// Announce title on route change for screen readers.\n\t\t\tspeak( title, 'assertive' );\n\t\t}\n\t}, [ title, siteTitle, location ] );\n}\n"],
5
- "mappings": ";AAGA,SAAS,WAAW,cAAc;AAClC,SAAS,iBAAiB;AAC1B,SAAS,SAAS,iBAAiB;AACnC,SAAS,IAAI,eAAe;AAC5B,SAAS,aAAa;AACtB,SAAS,sBAAsB;AAC/B,SAAS,eAAe,yBAAyB;AAKjD,SAAS,cAAc;AAEvB,IAAM,EAAE,YAAY,IAAI,OAAQ,iBAAkB;AAEnC,SAAR,SAA2B,OAAQ;AACzC,QAAM,WAAW,YAAY;AAC7B,QAAM,YAAY;AAAA,IACjB,CAAE,WACD,OAAQ,SAAU,EAAE,gBAAiB,QAAQ,MAAO,GAAG;AAAA,IACxD,CAAC;AAAA,EACF;AACA,QAAM,uBAAuB,OAAQ,IAAK;AAE1C,YAAW,MAAM;AAChB,yBAAqB,UAAU;AAAA,EAChC,GAAG,CAAE,QAAS,CAAE;AAEhB,YAAW,MAAM;AAEhB,QAAK,qBAAqB,SAAU;AACnC;AAAA,IACD;AAEA,QAAK,SAAS,WAAY;AAEzB,YAAM,iBAAiB;AAAA;AAAA,QAEtB,GAAI,kCAAmC;AAAA,QACvC,eAAgB,KAAM;AAAA,QACtB,eAAgB,SAAU;AAAA,MAC3B;AAEA,eAAS,QAAQ;AAGjB,YAAO,OAAO,WAAY;AAAA,IAC3B;AAAA,EACD,GAAG,CAAE,OAAO,WAAW,QAAS,CAAE;AACnC;",
4
+ "sourcesContent": ["import { useEffect, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function useTitle( title ) {\n\tconst location = useLocation();\n\tconst siteTitle = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecord( 'root', 'site' )?.title,\n\t\t[]\n\t);\n\tconst isInitialLocationRef = useRef( true );\n\n\tuseEffect( () => {\n\t\tisInitialLocationRef.current = false;\n\t}, [ location ] );\n\n\tuseEffect( () => {\n\t\t// Don't update or announce the title for initial page load.\n\t\tif ( isInitialLocationRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( title && siteTitle ) {\n\t\t\t// @see https://github.com/WordPress/wordpress-develop/blob/94849898192d271d533e09756007e176feb80697/src/wp-admin/admin-header.php#L67-L68\n\t\t\tconst formattedTitle = sprintf(\n\t\t\t\t/* translators: Admin document title. 1: Admin screen name, 2: Network or site name. */\n\t\t\t\t__( '%1$s ‹ %2$s ‹ Editor — WordPress' ),\n\t\t\t\tdecodeEntities( title ),\n\t\t\t\tdecodeEntities( siteTitle )\n\t\t\t);\n\n\t\t\tdocument.title = formattedTitle;\n\n\t\t\t// Announce title on route change for screen readers.\n\t\t\tspeak( title, 'assertive' );\n\t\t}\n\t}, [ title, siteTitle, location ] );\n}\n"],
5
+ "mappings": ";AAAA,SAAS,WAAW,cAAc;AAClC,SAAS,iBAAiB;AAC1B,SAAS,SAAS,iBAAiB;AACnC,SAAS,IAAI,eAAe;AAC5B,SAAS,aAAa;AACtB,SAAS,sBAAsB;AAC/B,SAAS,eAAe,yBAAyB;AACjD,SAAS,cAAc;AAEvB,IAAM,EAAE,YAAY,IAAI,OAAQ,iBAAkB;AAEnC,SAAR,SAA2B,OAAQ;AACzC,QAAM,WAAW,YAAY;AAC7B,QAAM,YAAY;AAAA,IACjB,CAAE,WACD,OAAQ,SAAU,EAAE,gBAAiB,QAAQ,MAAO,GAAG;AAAA,IACxD,CAAC;AAAA,EACF;AACA,QAAM,uBAAuB,OAAQ,IAAK;AAE1C,YAAW,MAAM;AAChB,yBAAqB,UAAU;AAAA,EAChC,GAAG,CAAE,QAAS,CAAE;AAEhB,YAAW,MAAM;AAEhB,QAAK,qBAAqB,SAAU;AACnC;AAAA,IACD;AAEA,QAAK,SAAS,WAAY;AAEzB,YAAM,iBAAiB;AAAA;AAAA,QAEtB,GAAI,kCAAmC;AAAA,QACvC,eAAgB,KAAM;AAAA,QACtB,eAAgB,SAAU;AAAA,MAC3B;AAEA,eAAS,QAAQ;AAGjB,YAAO,OAAO,WAAY;AAAA,IAC3B;AAAA,EACD,GAAG,CAAE,OAAO,WAAW,QAAS,CAAE;AACnC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/save-button/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tstore as coreStore,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useEntitiesSavedStatesIsDirty } = unlock( coreDataPrivateApis );\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tshowReviewMessage,\n\ticon,\n\tsize,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { params } = useLocation();\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\tconst { saveDirtyEntities } = unlock( useDispatch( coreStore ) );\n\tconst { dirtyEntityRecords } = useEntitiesSavedStatesIsDirty();\n\tconst { isSaving, isSaveViewOpen, previewingThemeName } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isSavingEntityRecord, isResolving } = select( coreStore );\n\t\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\t\tconst currentlyPreviewingThemeId = currentlyPreviewingTheme();\n\t\t\treturn {\n\t\t\t\tisSaving:\n\t\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t) || isActivatingTheme,\n\t\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t\t\t// Do not call `getTheme` with null, it will cause a request to\n\t\t\t\t// the server.\n\t\t\t\tpreviewingThemeName: currentlyPreviewingThemeId\n\t\t\t\t\t? select( coreStore ).getTheme( currentlyPreviewingThemeId )\n\t\t\t\t\t\t\t?.name?.rendered\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ dirtyEntityRecords ]\n\t);\n\tconst hasDirtyEntities = !! dirtyEntityRecords.length;\n\tlet isOnlyCurrentEntityDirty;\n\t// Check if the current entity is the only entity with changes.\n\t// We have some extra logic for `wp_global_styles` for now, that\n\t// is used in navigation sidebar.\n\tif ( dirtyEntityRecords.length === 1 ) {\n\t\tif ( params.postId ) {\n\t\t\tisOnlyCurrentEntityDirty =\n\t\t\t\t`${ dirtyEntityRecords[ 0 ].key }` === params.postId &&\n\t\t\t\tdirtyEntityRecords[ 0 ].name === params.postType;\n\t\t} else if ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\tisOnlyCurrentEntityDirty =\n\t\t\t\tdirtyEntityRecords[ 0 ].name === 'globalStyles';\n\t\t}\n\t}\n\tconst disabled =\n\t\tisSaving || ( ! hasDirtyEntities && ! isPreviewingTheme() );\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activating %s' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( hasDirtyEntities ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activate %s & Save' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn sprintf(\n\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t__( 'Activate %s' ),\n\t\t\t\tpreviewingThemeName\n\t\t\t);\n\t\t}\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t}\n\t\tif ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t}\n\t\tif ( ! isOnlyCurrentEntityDirty && showReviewMessage ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change…',\n\t\t\t\t\t'Review %d changes…',\n\t\t\t\t\tdirtyEntityRecords.length\n\t\t\t\t),\n\t\t\t\tdirtyEntityRecords.length\n\t\t\t);\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\tconst onClick = isOnlyCurrentEntityDirty\n\t\t? () => saveDirtyEntities( { dirtyEntityRecords } )\n\t\t: () => setIsSaveViewOpened( true );\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : onClick }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t * the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\tsize={ size }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport {\n\tstore as coreStore,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useEntitiesSavedStatesIsDirty } = unlock( coreDataPrivateApis );\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tshowReviewMessage,\n\ticon,\n\tsize,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { params } = useLocation();\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\tconst { saveDirtyEntities } = unlock( useDispatch( coreStore ) );\n\tconst { dirtyEntityRecords } = useEntitiesSavedStatesIsDirty();\n\tconst { isSaving, isSaveViewOpen, previewingThemeName } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isSavingEntityRecord, isResolving } = select( coreStore );\n\t\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\t\tconst currentlyPreviewingThemeId = currentlyPreviewingTheme();\n\t\t\treturn {\n\t\t\t\tisSaving:\n\t\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t) || isActivatingTheme,\n\t\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t\t\t// Do not call `getTheme` with null, it will cause a request to\n\t\t\t\t// the server.\n\t\t\t\tpreviewingThemeName: currentlyPreviewingThemeId\n\t\t\t\t\t? select( coreStore ).getTheme( currentlyPreviewingThemeId )\n\t\t\t\t\t\t\t?.name?.rendered\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ dirtyEntityRecords ]\n\t);\n\tconst hasDirtyEntities = !! dirtyEntityRecords.length;\n\tlet isOnlyCurrentEntityDirty;\n\t// Check if the current entity is the only entity with changes.\n\t// We have some extra logic for `wp_global_styles` for now, that\n\t// is used in navigation sidebar.\n\tif ( dirtyEntityRecords.length === 1 ) {\n\t\tif ( params.postId ) {\n\t\t\tisOnlyCurrentEntityDirty =\n\t\t\t\t`${ dirtyEntityRecords[ 0 ].key }` === params.postId &&\n\t\t\t\tdirtyEntityRecords[ 0 ].name === params.postType;\n\t\t} else if ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\tisOnlyCurrentEntityDirty =\n\t\t\t\tdirtyEntityRecords[ 0 ].name === 'globalStyles';\n\t\t}\n\t}\n\tconst disabled =\n\t\tisSaving || ( ! hasDirtyEntities && ! isPreviewingTheme() );\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activating %s' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( hasDirtyEntities ) {\n\t\t\t\treturn sprintf(\n\t\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t\t__( 'Activate %s & Save' ),\n\t\t\t\t\tpreviewingThemeName\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn sprintf(\n\t\t\t\t/* translators: %s: The name of theme to be activated. */\n\t\t\t\t__( 'Activate %s' ),\n\t\t\t\tpreviewingThemeName\n\t\t\t);\n\t\t}\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t}\n\t\tif ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t}\n\t\tif ( ! isOnlyCurrentEntityDirty && showReviewMessage ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change…',\n\t\t\t\t\t'Review %d changes…',\n\t\t\t\t\tdirtyEntityRecords.length\n\t\t\t\t),\n\t\t\t\tdirtyEntityRecords.length\n\t\t\t);\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\tconst onClick = isOnlyCurrentEntityDirty\n\t\t? () => saveDirtyEntities( { dirtyEntityRecords } )\n\t\t: () => setIsSaveViewOpened( true );\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : onClick }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t * the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\tsize={ size }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/save-hub/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { Stack } from '@wordpress/ui';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport SaveButton from '../save-button';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\n\nexport default function SaveHub() {\n\tconst { isDisabled, isSaving } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetDirtyEntityRecords, isSavingEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst _isSaving = dirtyEntityRecords.some( ( record ) =>\n\t\t\tisSavingEntityRecord( record.kind, record.name, record.key )\n\t\t);\n\t\treturn {\n\t\t\tisSaving: _isSaving,\n\t\t\tisDisabled:\n\t\t\t\t_isSaving ||\n\t\t\t\t( ! dirtyEntityRecords.length && ! isPreviewingTheme() ),\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<Stack className=\"edit-site-save-hub\" gap=\"lg\">\n\t\t\t<SaveButton\n\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\tvariant={ isDisabled && ! isSaving ? null : 'primary' }\n\t\t\t\tshowTooltip={ false }\n\t\t\t\ticon={ isDisabled && ! isSaving ? check : null }\n\t\t\t\tshowReviewMessage\n\t\t\t\t__next40pxDefaultSize\n\t\t\t/>\n\t\t</Stack>\n\t);\n}\n"],
5
- "mappings": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,aAAa;AACtB,SAAS,SAAS,iBAAiB;AACnC,SAAS,aAAa;AAKtB,OAAO,gBAAgB;AACvB,SAAS,yBAAyB;AAmB/B;AAjBY,SAAR,UAA2B;AACjC,QAAM,EAAE,YAAY,SAAS,IAAI,UAAW,CAAE,WAAY;AACzD,UAAM,EAAE,qCAAqC,qBAAqB,IACjE,OAAQ,SAAU;AACnB,UAAM,qBAAqB,oCAAoC;AAC/D,UAAM,YAAY,mBAAmB;AAAA,MAAM,CAAE,WAC5C,qBAAsB,OAAO,MAAM,OAAO,MAAM,OAAO,GAAI;AAAA,IAC5D;AACA,WAAO;AAAA,MACN,UAAU;AAAA,MACV,YACC,aACE,CAAE,mBAAmB,UAAU,CAAE,kBAAkB;AAAA,IACvD;AAAA,EACD,GAAG,CAAC,CAAE;AACN,SACC,oBAAC,SAAM,WAAU,sBAAqB,KAAI,MACzC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,SAAU,cAAc,CAAE,WAAW,OAAO;AAAA,MAC5C,aAAc;AAAA,MACd,MAAO,cAAc,CAAE,WAAW,QAAQ;AAAA,MAC1C,mBAAiB;AAAA,MACjB,uBAAqB;AAAA;AAAA,EACtB,GACD;AAEF;",
4
+ "sourcesContent": ["import { useSelect } from '@wordpress/data';\nimport { Stack } from '@wordpress/ui';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\nimport SaveButton from '../save-button';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\n\nexport default function SaveHub() {\n\tconst { isDisabled, isSaving } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetDirtyEntityRecords, isSavingEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst _isSaving = dirtyEntityRecords.some( ( record ) =>\n\t\t\tisSavingEntityRecord( record.kind, record.name, record.key )\n\t\t);\n\t\treturn {\n\t\t\tisSaving: _isSaving,\n\t\t\tisDisabled:\n\t\t\t\t_isSaving ||\n\t\t\t\t( ! dirtyEntityRecords.length && ! isPreviewingTheme() ),\n\t\t};\n\t}, [] );\n\treturn (\n\t\t<Stack className=\"edit-site-save-hub\" gap=\"lg\">\n\t\t\t<SaveButton\n\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\tvariant={ isDisabled && ! isSaving ? null : 'primary' }\n\t\t\t\tshowTooltip={ false }\n\t\t\t\ticon={ isDisabled && ! isSaving ? check : null }\n\t\t\t\tshowReviewMessage\n\t\t\t\t__next40pxDefaultSize\n\t\t\t/>\n\t\t</Stack>\n\t);\n}\n"],
5
+ "mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,aAAa;AACtB,SAAS,SAAS,iBAAiB;AACnC,SAAS,aAAa;AACtB,OAAO,gBAAgB;AACvB,SAAS,yBAAyB;AAmB/B;AAjBY,SAAR,UAA2B;AACjC,QAAM,EAAE,YAAY,SAAS,IAAI,UAAW,CAAE,WAAY;AACzD,UAAM,EAAE,qCAAqC,qBAAqB,IACjE,OAAQ,SAAU;AACnB,UAAM,qBAAqB,oCAAoC;AAC/D,UAAM,YAAY,mBAAmB;AAAA,MAAM,CAAE,WAC5C,qBAAsB,OAAO,MAAM,OAAO,MAAM,OAAO,GAAI;AAAA,IAC5D;AACA,WAAO;AAAA,MACN,UAAU;AAAA,MACV,YACC,aACE,CAAE,mBAAmB,UAAU,CAAE,kBAAkB;AAAA,IACvD;AAAA,EACD,GAAG,CAAC,CAAE;AACN,SACC,oBAAC,SAAM,WAAU,sBAAqB,KAAI,MACzC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,SAAU,cAAc,CAAE,WAAW,OAAO;AAAA,MAC5C,aAAc;AAAA,MACd,MAAO,cAAc,CAAE,WAAW,QAAQ;AAAA,MAC1C,mBAAiB;AAAA,MACjB,uBAAqB;AAAA;AAAA,EACtB,GACD;AAEF;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/save-keyboard-shortcut/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\nconst shortcutName = 'core/edit-site/save';\n\n/**\n * Register the save keyboard shortcut in view mode.\n *\n * @return {null} Returns null.\n */\nexport default function SaveKeyboardShortcut() {\n\tconst { __experimentalGetDirtyEntityRecords, isSavingEntityRecord } =\n\t\tuseSelect( coreStore );\n\tconst { hasNonPostEntityChanges, isPostSavingLocked } =\n\t\tuseSelect( editorStore );\n\tconst { savePost } = useDispatch( editorStore );\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\tconst { registerShortcut, unregisterShortcut } = useDispatch(\n\t\tkeyboardShortcutsStore\n\t);\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: shortcutName,\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\t\treturn () => {\n\t\t\tunregisterShortcut( shortcutName );\n\t\t};\n\t}, [ registerShortcut, unregisterShortcut ] );\n\n\tuseShortcut( 'core/edit-site/save', ( event ) => {\n\t\tevent.preventDefault();\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst hasDirtyEntities = !! dirtyEntityRecords.length;\n\t\tconst isSaving = dirtyEntityRecords.some( ( record ) =>\n\t\t\tisSavingEntityRecord( record.kind, record.name, record.key )\n\t\t);\n\t\tif ( ! hasDirtyEntities || isSaving ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( hasNonPostEntityChanges() ) {\n\t\t\tsetIsSaveViewOpened( true );\n\t\t} else if ( ! isPostSavingLocked() ) {\n\t\t\tsavePost();\n\t\t}\n\t} );\n\n\treturn null;\n}\n"],
5
- "mappings": ";AAGA,SAAS,iBAAiB;AAC1B;AAAA,EACC;AAAA,EACA,SAAS;AAAA,OACH;AACP,SAAS,UAAU;AACnB,SAAS,aAAa,iBAAiB;AACvC,SAAS,SAAS,iBAAiB;AACnC,SAAS,SAAS,mBAAmB;AAKrC,SAAS,SAAS,qBAAqB;AAEvC,IAAM,eAAe;AAON,SAAR,uBAAwC;AAC9C,QAAM,EAAE,qCAAqC,qBAAqB,IACjE,UAAW,SAAU;AACtB,QAAM,EAAE,yBAAyB,mBAAmB,IACnD,UAAW,WAAY;AACxB,QAAM,EAAE,SAAS,IAAI,YAAa,WAAY;AAC9C,QAAM,EAAE,oBAAoB,IAAI,YAAa,aAAc;AAC3D,QAAM,EAAE,kBAAkB,mBAAmB,IAAI;AAAA,IAChD;AAAA,EACD;AACA,YAAW,MAAM;AAChB,qBAAkB;AAAA,MACjB,MAAM;AAAA,MACN,UAAU;AAAA,MACV,aAAa,GAAI,oBAAqB;AAAA,MACtC,gBAAgB;AAAA,QACf,UAAU;AAAA,QACV,WAAW;AAAA,MACZ;AAAA,IACD,CAAE;AACF,WAAO,MAAM;AACZ,yBAAoB,YAAa;AAAA,IAClC;AAAA,EACD,GAAG,CAAE,kBAAkB,kBAAmB,CAAE;AAE5C,cAAa,uBAAuB,CAAE,UAAW;AAChD,UAAM,eAAe;AACrB,UAAM,qBAAqB,oCAAoC;AAC/D,UAAM,mBAAmB,CAAC,CAAE,mBAAmB;AAC/C,UAAM,WAAW,mBAAmB;AAAA,MAAM,CAAE,WAC3C,qBAAsB,OAAO,MAAM,OAAO,MAAM,OAAO,GAAI;AAAA,IAC5D;AACA,QAAK,CAAE,oBAAoB,UAAW;AACrC;AAAA,IACD;AACA,QAAK,wBAAwB,GAAI;AAChC,0BAAqB,IAAK;AAAA,IAC3B,WAAY,CAAE,mBAAmB,GAAI;AACpC,eAAS;AAAA,IACV;AAAA,EACD,CAAE;AAEF,SAAO;AACR;",
4
+ "sourcesContent": ["import { useEffect } from '@wordpress/element';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as editSiteStore } from '../../store';\n\nconst shortcutName = 'core/edit-site/save';\n\n/**\n * Register the save keyboard shortcut in view mode.\n *\n * @return {null} Returns null.\n */\nexport default function SaveKeyboardShortcut() {\n\tconst { __experimentalGetDirtyEntityRecords, isSavingEntityRecord } =\n\t\tuseSelect( coreStore );\n\tconst { hasNonPostEntityChanges, isPostSavingLocked } =\n\t\tuseSelect( editorStore );\n\tconst { savePost } = useDispatch( editorStore );\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\tconst { registerShortcut, unregisterShortcut } = useDispatch(\n\t\tkeyboardShortcutsStore\n\t);\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: shortcutName,\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\t\treturn () => {\n\t\t\tunregisterShortcut( shortcutName );\n\t\t};\n\t}, [ registerShortcut, unregisterShortcut ] );\n\n\tuseShortcut( 'core/edit-site/save', ( event ) => {\n\t\tevent.preventDefault();\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst hasDirtyEntities = !! dirtyEntityRecords.length;\n\t\tconst isSaving = dirtyEntityRecords.some( ( record ) =>\n\t\t\tisSavingEntityRecord( record.kind, record.name, record.key )\n\t\t);\n\t\tif ( ! hasDirtyEntities || isSaving ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( hasNonPostEntityChanges() ) {\n\t\t\tsetIsSaveViewOpened( true );\n\t\t} else if ( ! isPostSavingLocked() ) {\n\t\t\tsavePost();\n\t\t}\n\t} );\n\n\treturn null;\n}\n"],
5
+ "mappings": ";AAAA,SAAS,iBAAiB;AAC1B;AAAA,EACC;AAAA,EACA,SAAS;AAAA,OACH;AACP,SAAS,UAAU;AACnB,SAAS,aAAa,iBAAiB;AACvC,SAAS,SAAS,iBAAiB;AACnC,SAAS,SAAS,mBAAmB;AACrC,SAAS,SAAS,qBAAqB;AAEvC,IAAM,eAAe;AAON,SAAR,uBAAwC;AAC9C,QAAM,EAAE,qCAAqC,qBAAqB,IACjE,UAAW,SAAU;AACtB,QAAM,EAAE,yBAAyB,mBAAmB,IACnD,UAAW,WAAY;AACxB,QAAM,EAAE,SAAS,IAAI,YAAa,WAAY;AAC9C,QAAM,EAAE,oBAAoB,IAAI,YAAa,aAAc;AAC3D,QAAM,EAAE,kBAAkB,mBAAmB,IAAI;AAAA,IAChD;AAAA,EACD;AACA,YAAW,MAAM;AAChB,qBAAkB;AAAA,MACjB,MAAM;AAAA,MACN,UAAU;AAAA,MACV,aAAa,GAAI,oBAAqB;AAAA,MACtC,gBAAgB;AAAA,QACf,UAAU;AAAA,QACV,WAAW;AAAA,MACZ;AAAA,IACD,CAAE;AACF,WAAO,MAAM;AACZ,yBAAoB,YAAa;AAAA,IAClC;AAAA,EACD,GAAG,CAAE,kBAAkB,kBAAmB,CAAE;AAE5C,cAAa,uBAAuB,CAAE,UAAW;AAChD,UAAM,eAAe;AACrB,UAAM,qBAAqB,oCAAoC;AAC/D,UAAM,mBAAmB,CAAC,CAAE,mBAAmB;AAC/C,UAAM,WAAW,mBAAmB;AAAA,MAAM,CAAE,WAC3C,qBAAsB,OAAO,MAAM,OAAO,MAAM,OAAO,GAAI;AAAA,IAC5D;AACA,QAAK,CAAE,oBAAoB,UAAW;AACrC;AAAA,IACD;AACA,QAAK,wBAAwB,GAAI;AAChC,0BAAqB,IAAK;AAAA,IAC3B,WAAY,CAAE,mBAAmB,GAAI;AACpC,eAAS;AAAA,IACV;AAAA,EACD,CAAE;AAEF,SAAO;AACR;",
6
6
  "names": []
7
7
  }