@wordpress/edit-site 7.1.0 → 7.3.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 (412) hide show
  1. package/CHANGELOG.md +28 -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 +4 -20
  16. package/build/components/block-editor/use-navigate-to-entity-record.cjs.map +2 -2
  17. package/build/components/block-editor/use-site-editor-settings.cjs +0 -1
  18. package/build/components/block-editor/use-site-editor-settings.cjs.map +2 -2
  19. package/build/components/block-editor/viewport.cjs +46 -0
  20. package/build/components/block-editor/viewport.cjs.map +7 -0
  21. package/build/components/canvas-loader/index.cjs.map +2 -2
  22. package/build/components/dataviews-actions/index.cjs.map +2 -2
  23. package/build/components/editor/index.cjs +14 -12
  24. package/build/components/editor/index.cjs.map +3 -3
  25. package/build/components/editor/site-preview.cjs.map +2 -2
  26. package/build/components/editor/use-adapt-editor-to-canvas.cjs +2 -2
  27. package/build/components/editor/use-adapt-editor-to-canvas.cjs.map +2 -2
  28. package/build/components/editor/use-editor-title.cjs.map +2 -2
  29. package/build/components/editor/use-resolve-edited-entity.cjs.map +2 -2
  30. package/build/components/editor/use-revisions-url-sync.cjs +122 -0
  31. package/build/components/editor/use-revisions-url-sync.cjs.map +7 -0
  32. package/build/components/layout/animation.cjs.map +2 -2
  33. package/build/components/layout/hooks.cjs.map +2 -2
  34. package/build/components/layout/index.cjs +11 -2
  35. package/build/components/layout/index.cjs.map +2 -2
  36. package/build/components/media/index.cjs.map +2 -2
  37. package/build/components/more-menu/index.cjs +2 -3
  38. package/build/components/more-menu/index.cjs.map +3 -3
  39. package/build/components/more-menu/welcome-guide-menu-item.cjs.map +2 -2
  40. package/build/components/page-patterns/actions.cjs.map +2 -2
  41. package/build/components/page-patterns/delete-category-menu-item.cjs.map +2 -2
  42. package/build/components/page-patterns/fields.cjs.map +2 -2
  43. package/build/components/page-patterns/index.cjs.map +2 -2
  44. package/build/components/page-patterns/rename-category-menu-item.cjs.map +2 -2
  45. package/build/components/page-patterns/search-items.cjs.map +2 -2
  46. package/build/components/page-patterns/use-pattern-settings.cjs.map +2 -2
  47. package/build/components/page-patterns/use-patterns.cjs.map +2 -2
  48. package/build/components/page-templates/fields.cjs.map +2 -2
  49. package/build/components/page-templates/hooks.cjs.map +2 -2
  50. package/build/components/page-templates/index-legacy.cjs.map +2 -2
  51. package/build/components/page-templates/index.cjs.map +2 -2
  52. package/build/components/pagination/index.cjs.map +2 -2
  53. package/build/components/plugin-template-setting-panel/index.cjs.map +2 -2
  54. package/build/components/post-list/index.cjs.map +2 -2
  55. package/build/components/post-list/quick-edit-modal.cjs.map +2 -2
  56. package/build/components/post-list/use-notes-count.cjs.map +2 -2
  57. package/build/components/resizable-frame/index.cjs.map +2 -2
  58. package/build/components/routes/use-title.cjs.map +2 -2
  59. package/build/components/save-button/index.cjs.map +2 -2
  60. package/build/components/save-hub/index.cjs.map +2 -2
  61. package/build/components/save-keyboard-shortcut/index.cjs.map +2 -2
  62. package/build/components/save-panel/index.cjs.map +2 -2
  63. package/build/components/sidebar/index.cjs.map +2 -2
  64. package/build/components/sidebar-button/index.cjs.map +2 -2
  65. package/build/components/sidebar-dataviews/index.cjs.map +2 -2
  66. package/build/components/sidebar-global-styles/index.cjs.map +2 -2
  67. package/build/components/sidebar-identity/index.cjs +5 -2
  68. package/build/components/sidebar-identity/index.cjs.map +2 -2
  69. package/build/components/sidebar-navigation-item/index.cjs.map +2 -2
  70. package/build/components/sidebar-navigation-screen/index.cjs.map +2 -2
  71. package/build/components/sidebar-navigation-screen-details-footer/index.cjs.map +2 -2
  72. package/build/components/sidebar-navigation-screen-global-styles/content.cjs.map +2 -2
  73. package/build/components/sidebar-navigation-screen-global-styles/index.cjs.map +2 -2
  74. package/build/components/sidebar-navigation-screen-identity/index.cjs.map +2 -2
  75. package/build/components/sidebar-navigation-screen-main/index.cjs.map +2 -2
  76. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.cjs.map +2 -2
  77. package/build/components/sidebar-navigation-screen-navigation-menu/index.cjs.map +2 -2
  78. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.cjs.map +2 -2
  79. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.cjs.map +2 -2
  80. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.cjs.map +2 -2
  81. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.cjs.map +2 -2
  82. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.cjs.map +2 -2
  83. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.cjs.map +2 -2
  84. package/build/components/sidebar-navigation-screen-navigation-menus/index.cjs +3 -1
  85. package/build/components/sidebar-navigation-screen-navigation-menus/index.cjs.map +2 -2
  86. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.cjs +24 -25
  87. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.cjs.map +2 -2
  88. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.cjs.map +2 -2
  89. package/build/components/sidebar-navigation-screen-patterns/category-item.cjs.map +2 -2
  90. package/build/components/sidebar-navigation-screen-patterns/index.cjs +1 -1
  91. package/build/components/sidebar-navigation-screen-patterns/index.cjs.map +2 -2
  92. package/build/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.cjs.map +2 -2
  93. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.cjs.map +2 -2
  94. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.cjs.map +2 -2
  95. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.cjs.map +2 -2
  96. package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs.map +2 -2
  97. package/build/components/sidebar-navigation-screen-templates-browse/content.cjs +1 -1
  98. package/build/components/sidebar-navigation-screen-templates-browse/content.cjs.map +2 -2
  99. package/build/components/sidebar-navigation-screen-templates-browse/index.cjs +1 -1
  100. package/build/components/sidebar-navigation-screen-templates-browse/index.cjs.map +2 -2
  101. package/build/components/sidebar-navigation-screen-unsupported/index.cjs.map +2 -2
  102. package/build/components/site-editor-routes/home.cjs.map +2 -2
  103. package/build/components/site-editor-routes/identity.cjs.map +2 -2
  104. package/build/components/site-editor-routes/index.cjs.map +2 -2
  105. package/build/components/site-editor-routes/navigation-item.cjs.map +2 -2
  106. package/build/components/site-editor-routes/navigation.cjs.map +2 -2
  107. package/build/components/site-editor-routes/notfound.cjs.map +2 -2
  108. package/build/components/site-editor-routes/page-item.cjs.map +2 -2
  109. package/build/components/site-editor-routes/pages.cjs +3 -0
  110. package/build/components/site-editor-routes/pages.cjs.map +2 -2
  111. package/build/components/site-editor-routes/pattern-item.cjs.map +2 -2
  112. package/build/components/site-editor-routes/patterns.cjs.map +2 -2
  113. package/build/components/site-editor-routes/stylebook.cjs.map +2 -2
  114. package/build/components/site-editor-routes/styles.cjs.map +2 -2
  115. package/build/components/site-editor-routes/template-item.cjs.map +2 -2
  116. package/build/components/site-editor-routes/template-part-item.cjs.map +2 -2
  117. package/build/components/site-editor-routes/templates.cjs.map +2 -2
  118. package/build/components/site-hub/index.cjs.map +2 -2
  119. package/build/components/welcome-guide/editor.cjs.map +2 -2
  120. package/build/components/welcome-guide/index.cjs.map +2 -2
  121. package/build/components/welcome-guide/page.cjs.map +2 -2
  122. package/build/components/welcome-guide/template.cjs.map +2 -2
  123. package/build/deprecated.cjs.map +2 -2
  124. package/build/hooks/commands/use-common-commands.cjs.map +2 -2
  125. package/build/hooks/commands/use-set-command-context.cjs.map +2 -2
  126. package/build/index.cjs.map +2 -2
  127. package/build/lock-unlock.cjs.map +2 -2
  128. package/build/store/actions.cjs.map +2 -2
  129. package/build/store/index.cjs.map +2 -2
  130. package/build/store/reducer.cjs.map +2 -2
  131. package/build/store/selectors.cjs.map +2 -2
  132. package/build/utils/constants.cjs.map +2 -2
  133. package/build/utils/get-filtered-template-parts.cjs.map +2 -2
  134. package/build/utils/is-previewing-theme.cjs.map +2 -2
  135. package/build/utils/is-template-removable.cjs.map +2 -2
  136. package/build/utils/is-template-revertable.cjs.map +2 -2
  137. package/build/utils/use-activate-theme.cjs.map +2 -2
  138. package/build/utils/use-actual-current-theme.cjs.map +2 -2
  139. package/build-module/components/add-new-pattern/index.mjs.map +2 -2
  140. package/build-module/components/add-new-post/index.mjs.map +2 -2
  141. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.mjs.map +2 -2
  142. package/build-module/components/add-new-template/add-custom-template-modal-content.mjs.map +2 -2
  143. package/build-module/components/add-new-template/index.mjs.map +2 -2
  144. package/build-module/components/add-new-template/utils.mjs.map +2 -2
  145. package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.mjs.map +2 -2
  146. package/build-module/components/add-new-template-legacy/add-custom-template-modal-content.mjs.map +2 -2
  147. package/build-module/components/add-new-template-legacy/index.mjs.map +2 -2
  148. package/build-module/components/add-new-template-legacy/utils.mjs.map +2 -2
  149. package/build-module/components/app/index.mjs.map +2 -2
  150. package/build-module/components/block-editor/use-editor-iframe-props.mjs.map +2 -2
  151. package/build-module/components/block-editor/use-navigate-to-entity-record.mjs +5 -21
  152. package/build-module/components/block-editor/use-navigate-to-entity-record.mjs.map +2 -2
  153. package/build-module/components/block-editor/use-site-editor-settings.mjs +0 -1
  154. package/build-module/components/block-editor/use-site-editor-settings.mjs.map +2 -2
  155. package/build-module/components/block-editor/viewport.mjs +19 -0
  156. package/build-module/components/block-editor/viewport.mjs.map +7 -0
  157. package/build-module/components/canvas-loader/index.mjs.map +2 -2
  158. package/build-module/components/dataviews-actions/index.mjs.map +2 -2
  159. package/build-module/components/editor/index.mjs +14 -13
  160. package/build-module/components/editor/index.mjs.map +2 -2
  161. package/build-module/components/editor/site-preview.mjs.map +2 -2
  162. package/build-module/components/editor/use-adapt-editor-to-canvas.mjs +1 -1
  163. package/build-module/components/editor/use-adapt-editor-to-canvas.mjs.map +2 -2
  164. package/build-module/components/editor/use-editor-title.mjs.map +2 -2
  165. package/build-module/components/editor/use-resolve-edited-entity.mjs.map +2 -2
  166. package/build-module/components/editor/use-revisions-url-sync.mjs +101 -0
  167. package/build-module/components/editor/use-revisions-url-sync.mjs.map +7 -0
  168. package/build-module/components/layout/animation.mjs.map +2 -2
  169. package/build-module/components/layout/hooks.mjs.map +2 -2
  170. package/build-module/components/layout/index.mjs +11 -2
  171. package/build-module/components/layout/index.mjs.map +2 -2
  172. package/build-module/components/media/index.mjs.map +2 -2
  173. package/build-module/components/more-menu/index.mjs +1 -2
  174. package/build-module/components/more-menu/index.mjs.map +2 -2
  175. package/build-module/components/more-menu/welcome-guide-menu-item.mjs.map +2 -2
  176. package/build-module/components/page-patterns/actions.mjs.map +2 -2
  177. package/build-module/components/page-patterns/delete-category-menu-item.mjs.map +2 -2
  178. package/build-module/components/page-patterns/fields.mjs.map +2 -2
  179. package/build-module/components/page-patterns/index.mjs.map +2 -2
  180. package/build-module/components/page-patterns/rename-category-menu-item.mjs.map +2 -2
  181. package/build-module/components/page-patterns/search-items.mjs.map +2 -2
  182. package/build-module/components/page-patterns/use-pattern-settings.mjs.map +2 -2
  183. package/build-module/components/page-patterns/use-patterns.mjs.map +2 -2
  184. package/build-module/components/page-templates/fields.mjs.map +2 -2
  185. package/build-module/components/page-templates/hooks.mjs.map +2 -2
  186. package/build-module/components/page-templates/index-legacy.mjs.map +2 -2
  187. package/build-module/components/page-templates/index.mjs.map +2 -2
  188. package/build-module/components/pagination/index.mjs.map +2 -2
  189. package/build-module/components/plugin-template-setting-panel/index.mjs.map +2 -2
  190. package/build-module/components/post-list/index.mjs.map +2 -2
  191. package/build-module/components/post-list/quick-edit-modal.mjs.map +2 -2
  192. package/build-module/components/post-list/use-notes-count.mjs.map +2 -2
  193. package/build-module/components/resizable-frame/index.mjs.map +2 -2
  194. package/build-module/components/routes/use-title.mjs.map +2 -2
  195. package/build-module/components/save-button/index.mjs.map +2 -2
  196. package/build-module/components/save-hub/index.mjs.map +2 -2
  197. package/build-module/components/save-keyboard-shortcut/index.mjs.map +2 -2
  198. package/build-module/components/save-panel/index.mjs.map +2 -2
  199. package/build-module/components/sidebar/index.mjs.map +2 -2
  200. package/build-module/components/sidebar-button/index.mjs.map +2 -2
  201. package/build-module/components/sidebar-dataviews/index.mjs.map +2 -2
  202. package/build-module/components/sidebar-global-styles/index.mjs.map +2 -2
  203. package/build-module/components/sidebar-identity/index.mjs +5 -2
  204. package/build-module/components/sidebar-identity/index.mjs.map +2 -2
  205. package/build-module/components/sidebar-navigation-item/index.mjs.map +2 -2
  206. package/build-module/components/sidebar-navigation-screen/index.mjs.map +2 -2
  207. package/build-module/components/sidebar-navigation-screen-details-footer/index.mjs.map +2 -2
  208. package/build-module/components/sidebar-navigation-screen-global-styles/content.mjs.map +2 -2
  209. package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs.map +2 -2
  210. package/build-module/components/sidebar-navigation-screen-identity/index.mjs.map +2 -2
  211. package/build-module/components/sidebar-navigation-screen-main/index.mjs.map +2 -2
  212. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.mjs.map +2 -2
  213. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.mjs.map +2 -2
  214. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.mjs.map +2 -2
  215. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.mjs.map +2 -2
  216. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.mjs.map +2 -2
  217. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.mjs.map +2 -2
  218. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.mjs.map +2 -2
  219. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.mjs.map +2 -2
  220. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.mjs +3 -1
  221. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.mjs.map +2 -2
  222. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.mjs +24 -25
  223. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.mjs.map +2 -2
  224. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.mjs.map +2 -2
  225. package/build-module/components/sidebar-navigation-screen-patterns/category-item.mjs.map +2 -2
  226. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs +1 -1
  227. package/build-module/components/sidebar-navigation-screen-patterns/index.mjs.map +2 -2
  228. package/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.mjs.map +2 -2
  229. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.mjs.map +2 -2
  230. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.mjs.map +2 -2
  231. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.mjs.map +2 -2
  232. package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs.map +2 -2
  233. package/build-module/components/sidebar-navigation-screen-templates-browse/content.mjs +1 -1
  234. package/build-module/components/sidebar-navigation-screen-templates-browse/content.mjs.map +2 -2
  235. package/build-module/components/sidebar-navigation-screen-templates-browse/index.mjs +1 -1
  236. package/build-module/components/sidebar-navigation-screen-templates-browse/index.mjs.map +2 -2
  237. package/build-module/components/sidebar-navigation-screen-unsupported/index.mjs.map +2 -2
  238. package/build-module/components/site-editor-routes/home.mjs.map +2 -2
  239. package/build-module/components/site-editor-routes/identity.mjs.map +2 -2
  240. package/build-module/components/site-editor-routes/index.mjs.map +2 -2
  241. package/build-module/components/site-editor-routes/navigation-item.mjs.map +2 -2
  242. package/build-module/components/site-editor-routes/navigation.mjs.map +2 -2
  243. package/build-module/components/site-editor-routes/notfound.mjs.map +2 -2
  244. package/build-module/components/site-editor-routes/page-item.mjs.map +2 -2
  245. package/build-module/components/site-editor-routes/pages.mjs +3 -0
  246. package/build-module/components/site-editor-routes/pages.mjs.map +2 -2
  247. package/build-module/components/site-editor-routes/pattern-item.mjs.map +2 -2
  248. package/build-module/components/site-editor-routes/patterns.mjs.map +2 -2
  249. package/build-module/components/site-editor-routes/stylebook.mjs.map +2 -2
  250. package/build-module/components/site-editor-routes/styles.mjs.map +2 -2
  251. package/build-module/components/site-editor-routes/template-item.mjs.map +2 -2
  252. package/build-module/components/site-editor-routes/template-part-item.mjs.map +2 -2
  253. package/build-module/components/site-editor-routes/templates.mjs.map +2 -2
  254. package/build-module/components/site-hub/index.mjs.map +2 -2
  255. package/build-module/components/welcome-guide/editor.mjs.map +2 -2
  256. package/build-module/components/welcome-guide/index.mjs.map +2 -2
  257. package/build-module/components/welcome-guide/page.mjs.map +2 -2
  258. package/build-module/components/welcome-guide/template.mjs.map +2 -2
  259. package/build-module/deprecated.mjs.map +2 -2
  260. package/build-module/hooks/commands/use-common-commands.mjs.map +2 -2
  261. package/build-module/hooks/commands/use-set-command-context.mjs.map +2 -2
  262. package/build-module/index.mjs.map +2 -2
  263. package/build-module/lock-unlock.mjs.map +2 -2
  264. package/build-module/store/actions.mjs.map +2 -2
  265. package/build-module/store/index.mjs.map +2 -2
  266. package/build-module/store/reducer.mjs.map +2 -2
  267. package/build-module/store/selectors.mjs.map +2 -2
  268. package/build-module/utils/constants.mjs.map +2 -2
  269. package/build-module/utils/get-filtered-template-parts.mjs.map +2 -2
  270. package/build-module/utils/is-previewing-theme.mjs.map +2 -2
  271. package/build-module/utils/is-template-removable.mjs.map +2 -2
  272. package/build-module/utils/is-template-revertable.mjs.map +2 -2
  273. package/build-module/utils/use-activate-theme.mjs.map +2 -2
  274. package/build-module/utils/use-actual-current-theme.mjs.map +2 -2
  275. package/build-style/style-rtl.css +157 -66
  276. package/build-style/style.css +157 -66
  277. package/package.json +48 -48
  278. package/src/components/add-new-pattern/index.js +0 -7
  279. package/src/components/add-new-post/index.js +0 -3
  280. package/src/components/add-new-template/add-custom-generic-template-modal-content.js +0 -7
  281. package/src/components/add-new-template/add-custom-template-modal-content.js +0 -7
  282. package/src/components/add-new-template/index.js +0 -15
  283. package/src/components/add-new-template/utils.js +0 -7
  284. package/src/components/add-new-template-legacy/add-custom-generic-template-modal-content.js +0 -7
  285. package/src/components/add-new-template-legacy/add-custom-template-modal-content.js +0 -7
  286. package/src/components/add-new-template-legacy/index.js +0 -15
  287. package/src/components/add-new-template-legacy/utils.js +0 -7
  288. package/src/components/app/index.js +0 -7
  289. package/src/components/block-editor/use-editor-iframe-props.js +0 -11
  290. package/src/components/block-editor/use-navigate-to-entity-record.js +11 -39
  291. package/src/components/block-editor/use-site-editor-settings.js +0 -8
  292. package/src/components/block-editor/viewport.js +34 -0
  293. package/src/components/canvas-loader/index.js +0 -7
  294. package/src/components/dataviews-actions/index.js +0 -7
  295. package/src/components/editor/index.js +19 -20
  296. package/src/components/editor/site-preview.js +0 -3
  297. package/src/components/editor/use-adapt-editor-to-canvas.js +1 -8
  298. package/src/components/editor/use-editor-title.js +0 -7
  299. package/src/components/editor/use-resolve-edited-entity.js +0 -7
  300. package/src/components/editor/use-revisions-url-sync.js +132 -0
  301. package/src/components/layout/animation.js +0 -7
  302. package/src/components/layout/hooks.js +0 -3
  303. package/src/components/layout/index.js +10 -14
  304. package/src/components/media/index.js +0 -3
  305. package/src/components/more-menu/index.js +2 -9
  306. package/src/components/more-menu/welcome-guide-menu-item.js +0 -3
  307. package/src/components/page-patterns/actions.js +0 -7
  308. package/src/components/page-patterns/delete-category-menu-item.js +0 -7
  309. package/src/components/page-patterns/fields.js +0 -7
  310. package/src/components/page-patterns/index.js +0 -7
  311. package/src/components/page-patterns/rename-category-menu-item.js +0 -10
  312. package/src/components/page-patterns/search-items.js +0 -12
  313. package/src/components/page-patterns/style.scss +3 -0
  314. package/src/components/page-patterns/use-pattern-settings.js +0 -7
  315. package/src/components/page-patterns/use-patterns.js +0 -7
  316. package/src/components/page-templates/fields.js +0 -11
  317. package/src/components/page-templates/hooks.js +0 -7
  318. package/src/components/page-templates/index-legacy.js +0 -7
  319. package/src/components/page-templates/index.js +0 -7
  320. package/src/components/pagination/index.js +0 -7
  321. package/src/components/plugin-template-setting-panel/index.js +0 -4
  322. package/src/components/post-list/index.js +0 -9
  323. package/src/components/post-list/quick-edit-modal.js +0 -7
  324. package/src/components/post-list/use-notes-count.js +0 -3
  325. package/src/components/resizable-frame/index.js +0 -11
  326. package/src/components/routes/use-title.js +0 -7
  327. package/src/components/save-button/index.js +0 -7
  328. package/src/components/save-hub/index.js +0 -7
  329. package/src/components/save-keyboard-shortcut/index.js +0 -7
  330. package/src/components/save-panel/index.js +0 -11
  331. package/src/components/sidebar/index.js +0 -7
  332. package/src/components/sidebar-button/index.js +0 -7
  333. package/src/components/sidebar-dataviews/index.js +0 -7
  334. package/src/components/sidebar-global-styles/index.js +0 -7
  335. package/src/components/sidebar-identity/index.js +3 -3
  336. package/src/components/sidebar-navigation-item/index.js +0 -11
  337. package/src/components/sidebar-navigation-item/style.scss +3 -10
  338. package/src/components/sidebar-navigation-screen/index.js +0 -11
  339. package/src/components/sidebar-navigation-screen-details-footer/index.js +0 -7
  340. package/src/components/sidebar-navigation-screen-global-styles/content.js +0 -7
  341. package/src/components/sidebar-navigation-screen-global-styles/index.js +0 -7
  342. package/src/components/sidebar-navigation-screen-identity/index.js +0 -7
  343. package/src/components/sidebar-navigation-screen-main/index.js +0 -7
  344. package/src/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +0 -3
  345. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +0 -7
  346. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +0 -7
  347. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +0 -7
  348. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +0 -3
  349. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -6
  350. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +0 -7
  351. package/src/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +0 -3
  352. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +6 -9
  353. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +38 -48
  354. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +0 -7
  355. package/src/components/sidebar-navigation-screen-patterns/category-item.js +0 -3
  356. package/src/components/sidebar-navigation-screen-patterns/index.js +1 -8
  357. package/src/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js +0 -7
  358. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +0 -7
  359. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +0 -7
  360. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +0 -7
  361. package/src/components/sidebar-navigation-screen-templates-browse/content-legacy.js +0 -7
  362. package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -8
  363. package/src/components/sidebar-navigation-screen-templates-browse/index.js +1 -8
  364. package/src/components/sidebar-navigation-screen-unsupported/index.js +0 -3
  365. package/src/components/site-editor-routes/home.js +0 -3
  366. package/src/components/site-editor-routes/identity.js +0 -3
  367. package/src/components/site-editor-routes/index.js +0 -7
  368. package/src/components/site-editor-routes/navigation-item.js +0 -3
  369. package/src/components/site-editor-routes/navigation.js +0 -3
  370. package/src/components/site-editor-routes/notfound.js +0 -7
  371. package/src/components/site-editor-routes/page-item.js +0 -7
  372. package/src/components/site-editor-routes/pages.js +3 -7
  373. package/src/components/site-editor-routes/pattern-item.js +0 -3
  374. package/src/components/site-editor-routes/patterns.js +0 -3
  375. package/src/components/site-editor-routes/stylebook.js +0 -7
  376. package/src/components/site-editor-routes/styles.js +0 -7
  377. package/src/components/site-editor-routes/template-item.js +0 -3
  378. package/src/components/site-editor-routes/template-part-item.js +0 -3
  379. package/src/components/site-editor-routes/templates.js +0 -7
  380. package/src/components/site-hub/index.js +0 -7
  381. package/src/components/welcome-guide/editor.js +0 -7
  382. package/src/components/welcome-guide/index.js +0 -3
  383. package/src/components/welcome-guide/page.js +0 -3
  384. package/src/components/welcome-guide/template.js +0 -3
  385. package/src/deprecated.js +0 -3
  386. package/src/hooks/commands/use-common-commands.js +0 -7
  387. package/src/hooks/commands/use-set-command-context.js +0 -7
  388. package/src/index.js +0 -7
  389. package/src/lock-unlock.js +0 -3
  390. package/src/store/actions.js +0 -7
  391. package/src/store/index.js +0 -7
  392. package/src/store/reducer.js +0 -3
  393. package/src/store/selectors.js +0 -7
  394. package/src/style.scss +7 -3
  395. package/src/utils/constants.js +0 -7
  396. package/src/utils/get-filtered-template-parts.js +0 -3
  397. package/src/utils/is-previewing-theme.js +0 -3
  398. package/src/utils/is-template-removable.js +0 -3
  399. package/src/utils/is-template-revertable.js +0 -3
  400. package/src/utils/test/get-filtered-template-parts.js +0 -3
  401. package/src/utils/use-activate-theme.js +0 -7
  402. package/src/utils/use-actual-current-theme.js +0 -3
  403. package/build/components/block-editor/use-viewport-sync.cjs +0 -55
  404. package/build/components/block-editor/use-viewport-sync.cjs.map +0 -7
  405. package/build/components/more-menu/site-export.cjs +0 -93
  406. package/build/components/more-menu/site-export.cjs.map +0 -7
  407. package/build-module/components/block-editor/use-viewport-sync.mjs +0 -29
  408. package/build-module/components/block-editor/use-viewport-sync.mjs.map +0 -7
  409. package/build-module/components/more-menu/site-export.mjs +0 -62
  410. package/build-module/components/more-menu/site-export.mjs.map +0 -7
  411. package/src/components/block-editor/use-viewport-sync.js +0 -51
  412. package/src/components/more-menu/site-export.js +0 -74
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/layout/hooks.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { select, subscribe } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst MAX_LOADING_TIME = 10000; // 10 seconds\nconst MAX_PAUSE_TIME = 100;\n\n/**\n * Waits until the site editor has finished its initial loading.\n *\n * Resolves when there's a pause in resolving selectors (no active requests\n * for at least MAX_PAUSE_TIME ms), or after MAX_LOADING_TIME as a fallback\n * to prevent failed requests from blocking the editor indefinitely.\n *\n * @return {Promise<void>} Resolves when loading is considered complete.\n */\nfunction waitWhileSiteEditorLoading() {\n\tlet pauseTimeout;\n\n\tconst { promise, resolve } = Promise.withResolvers();\n\n\tfunction finish() {\n\t\tunsubscribe();\n\t\tclearTimeout( pauseTimeout );\n\t\tclearTimeout( maxTimeout );\n\t\tresolve();\n\t}\n\n\t/*\n\t * If the maximum expected loading time has passed, we consider the\n\t * editor loaded, in order to prevent any failed requests from blocking\n\t * the editor canvas from appearing.\n\t */\n\tconst maxTimeout = setTimeout( finish, MAX_LOADING_TIME );\n\n\tfunction checkResolving() {\n\t\tconst isResolving = select( coreStore ).hasResolvingSelectors();\n\n\t\tif ( isResolving ) {\n\t\t\tclearTimeout( pauseTimeout );\n\t\t\tpauseTimeout = undefined;\n\t\t\treturn;\n\t\t}\n\n\t\t/*\n\t\t * We're using an arbitrary 100ms timeout here to catch brief\n\t\t * moments without any resolving selectors that would result in\n\t\t * displaying brief flickers of loading state and loaded state.\n\t\t *\n\t\t * It's worth experimenting with different values, since this also\n\t\t * adds 100ms of artificial delay after loading has finished.\n\t\t */\n\t\tif ( ! pauseTimeout ) {\n\t\t\tpauseTimeout = setTimeout( finish, MAX_PAUSE_TIME );\n\t\t}\n\t}\n\n\tconst unsubscribe = subscribe( checkResolving, coreStore );\n\tcheckResolving();\n\n\tfunction cancel() {\n\t\tunsubscribe();\n\t\tclearTimeout( pauseTimeout );\n\t\tclearTimeout( maxTimeout );\n\t}\n\n\treturn [ promise, cancel ];\n}\n\nexport function useIsSiteEditorLoading() {\n\tconst [ loaded, setLoaded ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst [ promise, cancel ] = waitWhileSiteEditorLoading();\n\t\tpromise.then( () => setLoaded( true ) );\n\t\treturn cancel;\n\t}, [] );\n\n\treturn ! loaded;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAoC;AACpC,kBAAkC;AAClC,uBAAmC;AAEnC,IAAM,mBAAmB;AACzB,IAAM,iBAAiB;AAWvB,SAAS,6BAA6B;AACrC,MAAI;AAEJ,QAAM,EAAE,SAAS,QAAQ,IAAI,QAAQ,cAAc;AAEnD,WAAS,SAAS;AACjB,gBAAY;AACZ,iBAAc,YAAa;AAC3B,iBAAc,UAAW;AACzB,YAAQ;AAAA,EACT;AAOA,QAAM,aAAa,WAAY,QAAQ,gBAAiB;AAExD,WAAS,iBAAiB;AACzB,UAAM,kBAAc,oBAAQ,iBAAAA,KAAU,EAAE,sBAAsB;AAE9D,QAAK,aAAc;AAClB,mBAAc,YAAa;AAC3B,qBAAe;AACf;AAAA,IACD;AAUA,QAAK,CAAE,cAAe;AACrB,qBAAe,WAAY,QAAQ,cAAe;AAAA,IACnD;AAAA,EACD;AAEA,QAAM,kBAAc,uBAAW,gBAAgB,iBAAAA,KAAU;AACzD,iBAAe;AAEf,WAAS,SAAS;AACjB,gBAAY;AACZ,iBAAc,YAAa;AAC3B,iBAAc,UAAW;AAAA,EAC1B;AAEA,SAAO,CAAE,SAAS,MAAO;AAC1B;AAEO,SAAS,yBAAyB;AACxC,QAAM,CAAE,QAAQ,SAAU,QAAI,yBAAU,KAAM;AAE9C,gCAAW,MAAM;AAChB,UAAM,CAAE,SAAS,MAAO,IAAI,2BAA2B;AACvD,YAAQ,KAAM,MAAM,UAAW,IAAK,CAAE;AACtC,WAAO;AAAA,EACR,GAAG,CAAC,CAAE;AAEN,SAAO,CAAE;AACV;",
4
+ "sourcesContent": ["import { useEffect, useState } from '@wordpress/element';\nimport { select, subscribe } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst MAX_LOADING_TIME = 10000; // 10 seconds\nconst MAX_PAUSE_TIME = 100;\n\n/**\n * Waits until the site editor has finished its initial loading.\n *\n * Resolves when there's a pause in resolving selectors (no active requests\n * for at least MAX_PAUSE_TIME ms), or after MAX_LOADING_TIME as a fallback\n * to prevent failed requests from blocking the editor indefinitely.\n *\n * @return {Promise<void>} Resolves when loading is considered complete.\n */\nfunction waitWhileSiteEditorLoading() {\n\tlet pauseTimeout;\n\n\tconst { promise, resolve } = Promise.withResolvers();\n\n\tfunction finish() {\n\t\tunsubscribe();\n\t\tclearTimeout( pauseTimeout );\n\t\tclearTimeout( maxTimeout );\n\t\tresolve();\n\t}\n\n\t/*\n\t * If the maximum expected loading time has passed, we consider the\n\t * editor loaded, in order to prevent any failed requests from blocking\n\t * the editor canvas from appearing.\n\t */\n\tconst maxTimeout = setTimeout( finish, MAX_LOADING_TIME );\n\n\tfunction checkResolving() {\n\t\tconst isResolving = select( coreStore ).hasResolvingSelectors();\n\n\t\tif ( isResolving ) {\n\t\t\tclearTimeout( pauseTimeout );\n\t\t\tpauseTimeout = undefined;\n\t\t\treturn;\n\t\t}\n\n\t\t/*\n\t\t * We're using an arbitrary 100ms timeout here to catch brief\n\t\t * moments without any resolving selectors that would result in\n\t\t * displaying brief flickers of loading state and loaded state.\n\t\t *\n\t\t * It's worth experimenting with different values, since this also\n\t\t * adds 100ms of artificial delay after loading has finished.\n\t\t */\n\t\tif ( ! pauseTimeout ) {\n\t\t\tpauseTimeout = setTimeout( finish, MAX_PAUSE_TIME );\n\t\t}\n\t}\n\n\tconst unsubscribe = subscribe( checkResolving, coreStore );\n\tcheckResolving();\n\n\tfunction cancel() {\n\t\tunsubscribe();\n\t\tclearTimeout( pauseTimeout );\n\t\tclearTimeout( maxTimeout );\n\t}\n\n\treturn [ promise, cancel ];\n}\n\nexport function useIsSiteEditorLoading() {\n\tconst [ loaded, setLoaded ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst [ promise, cancel ] = waitWhileSiteEditorLoading();\n\t\tpromise.then( () => setLoaded( true ) );\n\t\treturn cancel;\n\t}, [] );\n\n\treturn ! loaded;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoC;AACpC,kBAAkC;AAClC,uBAAmC;AAEnC,IAAM,mBAAmB;AACzB,IAAM,iBAAiB;AAWvB,SAAS,6BAA6B;AACrC,MAAI;AAEJ,QAAM,EAAE,SAAS,QAAQ,IAAI,QAAQ,cAAc;AAEnD,WAAS,SAAS;AACjB,gBAAY;AACZ,iBAAc,YAAa;AAC3B,iBAAc,UAAW;AACzB,YAAQ;AAAA,EACT;AAOA,QAAM,aAAa,WAAY,QAAQ,gBAAiB;AAExD,WAAS,iBAAiB;AACzB,UAAM,kBAAc,oBAAQ,iBAAAA,KAAU,EAAE,sBAAsB;AAE9D,QAAK,aAAc;AAClB,mBAAc,YAAa;AAC3B,qBAAe;AACf;AAAA,IACD;AAUA,QAAK,CAAE,cAAe;AACrB,qBAAe,WAAY,QAAQ,cAAe;AAAA,IACnD;AAAA,EACD;AAEA,QAAM,kBAAc,uBAAW,gBAAgB,iBAAAA,KAAU;AACzD,iBAAe;AAEf,WAAS,SAAS;AACjB,gBAAY;AACZ,iBAAc,YAAa;AAC3B,iBAAc,UAAW;AAAA,EAC1B;AAEA,SAAO,CAAE,SAAS,MAAO;AAC1B;AAEO,SAAS,yBAAyB;AACxC,QAAM,CAAE,QAAQ,SAAU,QAAI,yBAAU,KAAM;AAE9C,gCAAW,MAAM;AAChB,UAAM,CAAE,SAAS,MAAO,IAAI,2BAA2B;AACvD,YAAQ,KAAM,MAAM,UAAW,IAAK,CAAE;AACtC,WAAO;AAAA,EACR,GAAG,CAAC,CAAE;AAEN,SAAO,CAAE;AACV;",
6
6
  "names": ["coreStore"]
7
7
  }
@@ -105,7 +105,6 @@ function Layout() {
105
105
  "div",
106
106
  {
107
107
  ...navigateRegionsProps,
108
- ref: navigateRegionsProps.ref,
109
108
  className: (0, import_clsx.default)(
110
109
  "edit-site-layout",
111
110
  navigateRegionsProps.className,
@@ -270,7 +269,17 @@ function LayoutWithGlobalStylesProvider(props) {
270
269
  }
271
270
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.SlotFillProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ui.Tooltip.Provider, { children: [
272
271
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_plugins.PluginArea, { onError: onPluginAreaError }),
273
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_theme.ThemeProvider, { color: themeColors, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Layout, { ...props }) })
272
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
273
+ import_theme.ThemeProvider,
274
+ {
275
+ isRoot: true,
276
+ color: {
277
+ primary: themeColors.primary,
278
+ ...CONTENT_COLOR
279
+ },
280
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_theme.ThemeProvider, { color: themeColors, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Layout, { ...props }) })
281
+ }
282
+ )
274
283
  ] }) });
275
284
  }
276
285
  //# sourceMappingURL=index.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/layout/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { NavigableRegion, getAdminThemeColors } from '@wordpress/admin-ui';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n\tSlotFillProvider,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { focus } from '@wordpress/dom';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useRef, useEffect, useMemo } from '@wordpress/element';\nimport {\n\tUnsavedChangesWarning,\n\tErrorBoundary,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { ThemeProvider } from '@wordpress/theme';\nimport { PluginArea } from '@wordpress/plugins';\nimport { SnackbarNotices, store as noticesStore } from '@wordpress/notices';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { Tooltip } from '@wordpress/ui';\n\n/**\n * Internal dependencies\n */\nimport { SiteHubMobile } from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport { unlock } from '../../lock-unlock';\nimport SaveKeyboardShortcut from '../save-keyboard-shortcut';\nimport { useIsSiteEditorLoading } from './hooks';\nimport useMovingAnimation from './animation';\nimport { SidebarContent, SidebarNavigationProvider } from '../sidebar';\nimport SaveHub from '../save-hub';\nimport SavePanel from '../save-panel';\n\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useStyle, UploadProgressSnackbar } = unlock( editorPrivateApis );\n\nconst ANIMATION_DURATION = 0.3;\nconst CONTENT_COLOR = { background: '#ffffff' };\n\nfunction Layout() {\n\tconst { query, name: routeKey, areas, widths } = useLocation();\n\t// Force canvas to 'view' on notfound route to show the error message and allow navigation.\n\tconst canvas = routeKey === 'notfound' ? 'view' : query?.canvas ?? 'view';\n\tconst showMobileSiteHub = !! areas.mobileContent;\n\tconst hasMobileAreas =\n\t\tareas.mobileSidebar || areas.mobileContent || areas.preview;\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst mobileToggleRef = useRef();\n\tconst sidebarRegionRef = useRef();\n\tconst navigateRegionsProps = useNavigateRegions();\n\tconst disableMotion = useReducedMotion();\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\tconst animationRef = useMovingAnimation( {\n\t\ttriggerAnimationOnChange: routeKey + '-' + canvas,\n\t} );\n\n\tconst { showIconLabels } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t};\n\t} );\n\n\tconst backgroundColor = useStyle( 'color.background' );\n\tconst gradientValue = useStyle( 'color.gradient' );\n\tconst previousCanvaMode = usePrevious( canvas );\n\tuseEffect( () => {\n\t\tif ( previousCanvaMode === 'edit' ) {\n\t\t\tconst desktopToggle = sidebarRegionRef.current\n\t\t\t\t? // We're typically expecting the `<DashboardBackButton />` component as the first tabbable element.\n\t\t\t\t focus.tabbable.find( sidebarRegionRef.current )[ 0 ]\n\t\t\t\t: undefined;\n\t\t\t( desktopToggle ?? mobileToggleRef.current )?.focus();\n\t\t}\n\t\t// Should not depend on the previous canvas mode value but the next.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ canvas ] );\n\n\treturn (\n\t\t<>\n\t\t\t<UnsavedChangesWarning />\n\t\t\t{ canvas === 'view' && <SaveKeyboardShortcut /> }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tref={ navigateRegionsProps.ref }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-full-canvas': canvas === 'edit',\n\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t\tThe NavigableRegion must always be rendered and not use\n\t\t\t\t\t\t`inert` otherwise `useNavigateRegions` will fail.\n\t\t\t\t\t*/ }\n\t\t\t\t\t{ ( ! isMobileViewport || ! hasMobileAreas ) && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tref={ sidebarRegionRef }\n\t\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar-region\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t\t\t{ canvas === 'view' && (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\tinitial={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\tanimate={ { opacity: 1 } }\n\t\t\t\t\t\t\t\t\t\texit={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\tisMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SidebarNavigationProvider>\n\t\t\t\t\t\t\t\t\t\t\t<SidebarContent\n\t\t\t\t\t\t\t\t\t\t\t\tshouldAnimate={\n\t\t\t\t\t\t\t\t\t\t\t\t\trouteKey !== 'styles' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\trouteKey !== 'identity'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trouteKey={ routeKey }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ areas.sidebar }\n\t\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t</SidebarNavigationProvider>\n\t\t\t\t\t\t\t\t\t\t<SaveHub />\n\t\t\t\t\t\t\t\t\t\t<SavePanel />\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<SnackbarNotices className=\"edit-site-layout__snackbar\" />\n\t\t\t\t\t<UploadProgressSnackbar />\n\n\t\t\t\t\t{ isMobileViewport && hasMobileAreas && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__mobile\">\n\t\t\t\t\t\t\t<SidebarNavigationProvider>\n\t\t\t\t\t\t\t\t{ canvas !== 'edit' ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ showMobileSiteHub && (\n\t\t\t\t\t\t\t\t\t\t\t<SiteHubMobile\n\t\t\t\t\t\t\t\t\t\t\t\tref={ mobileToggleRef }\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\t{ areas.mobileContent ? (\n\t\t\t\t\t\t\t\t\t\t\t/*\n\t\t\t\t\t\t\t\t\t\t\t * ThemeProvider wraps SidebarContent (rather than\n\t\t\t\t\t\t\t\t\t\t\t * just the content) so the scroll wrapper it renders\n\t\t\t\t\t\t\t\t\t\t\t * inherits the content background tokens. See\n\t\t\t\t\t\t\t\t\t\t\t * `.edit-site-sidebar__screen-wrapper` in style.scss.\n\t\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t\t<ThemeProvider\n\t\t\t\t\t\t\t\t\t\t\t\tcolor={ CONTENT_COLOR }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<SidebarContent\n\t\t\t\t\t\t\t\t\t\t\t\t\trouteKey={ routeKey }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-layout__mobile-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tareas.mobileContent\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<SidebarContent\n\t\t\t\t\t\t\t\t\t\t\t\trouteKey={ routeKey }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ areas.mobileSidebar }\n\t\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<SaveHub />\n\t\t\t\t\t\t\t\t\t\t<SavePanel />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<ThemeProvider color={ CONTENT_COLOR }>\n\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</SidebarNavigationProvider>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport &&\n\t\t\t\t\t\tareas.content &&\n\t\t\t\t\t\tcanvas !== 'edit' && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tmaxWidth: widths?.content,\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\t<ThemeProvider color={ CONTENT_COLOR }>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t{ areas.content }\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport && areas.edit && canvas !== 'edit' && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: widths?.edit,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ThemeProvider color={ CONTENT_COLOR }>\n\t\t\t\t\t\t\t\t<ErrorBoundary>{ areas.edit }</ErrorBoundary>\n\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport && areas.preview && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__canvas-container\">\n\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-right-aligned':\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized,\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\tref={ animationRef }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\tisReady={ ! isEditorLoading }\n\t\t\t\t\t\t\t\t\t\t\tisFullWidth={ canvas === 'edit' }\n\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\t\tcanvasSize.width -\n\t\t\t\t\t\t\t\t\t\t\t\t\t24 /* $canvas-padding */,\n\t\t\t\t\t\t\t\t\t\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\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\t\t<ThemeProvider\n\t\t\t\t\t\t\t\t\t\t\t\tcolor={ CONTENT_COLOR }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</div>\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</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default function LayoutWithGlobalStylesProvider( props ) {\n\tconst themeColors = useMemo( getAdminThemeColors, [] );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<Tooltip.Provider>\n\t\t\t\t{ /** This needs to be within the SlotFillProvider */ }\n\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t<ThemeProvider color={ themeColors }>\n\t\t\t\t\t<Layout { ...props } />\n\t\t\t\t</ThemeProvider>\n\t\t\t</Tooltip.Provider>\n\t\t</SlotFillProvider>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { NavigableRegion, getAdminThemeColors } from '@wordpress/admin-ui';\nimport {\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n\t__unstableUseNavigateRegions as useNavigateRegions,\n\tSlotFillProvider,\n} from '@wordpress/components';\nimport {\n\tuseReducedMotion,\n\tuseViewportMatch,\n\tuseResizeObserver,\n\tusePrevious,\n} from '@wordpress/compose';\nimport { focus } from '@wordpress/dom';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useRef, useEffect, useMemo } from '@wordpress/element';\nimport {\n\tUnsavedChangesWarning,\n\tErrorBoundary,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { ThemeProvider } from '@wordpress/theme';\nimport { PluginArea } from '@wordpress/plugins';\nimport { SnackbarNotices, store as noticesStore } from '@wordpress/notices';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { Tooltip } from '@wordpress/ui';\nimport { SiteHubMobile } from '../site-hub';\nimport ResizableFrame from '../resizable-frame';\nimport { unlock } from '../../lock-unlock';\nimport SaveKeyboardShortcut from '../save-keyboard-shortcut';\nimport { useIsSiteEditorLoading } from './hooks';\nimport useMovingAnimation from './animation';\nimport { SidebarContent, SidebarNavigationProvider } from '../sidebar';\nimport SaveHub from '../save-hub';\nimport SavePanel from '../save-panel';\n\nconst { useLocation } = unlock( routerPrivateApis );\nconst { useStyle, UploadProgressSnackbar } = unlock( editorPrivateApis );\n\nconst ANIMATION_DURATION = 0.3;\nconst CONTENT_COLOR = { background: '#ffffff' };\n\nfunction Layout() {\n\tconst { query, name: routeKey, areas, widths } = useLocation();\n\t// Force canvas to 'view' on notfound route to show the error message and allow navigation.\n\tconst canvas = routeKey === 'notfound' ? 'view' : query?.canvas ?? 'view';\n\tconst showMobileSiteHub = !! areas.mobileContent;\n\tconst hasMobileAreas =\n\t\tareas.mobileSidebar || areas.mobileContent || areas.preview;\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst mobileToggleRef = useRef();\n\tconst sidebarRegionRef = useRef();\n\tconst navigateRegionsProps = useNavigateRegions();\n\tconst disableMotion = useReducedMotion();\n\tconst [ canvasResizer, canvasSize ] = useResizeObserver();\n\tconst isEditorLoading = useIsSiteEditorLoading();\n\tconst [ isResizableFrameOversized, setIsResizableFrameOversized ] =\n\t\tuseState( false );\n\tconst animationRef = useMovingAnimation( {\n\t\ttriggerAnimationOnChange: routeKey + '-' + canvas,\n\t} );\n\n\tconst { showIconLabels } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t};\n\t} );\n\n\tconst backgroundColor = useStyle( 'color.background' );\n\tconst gradientValue = useStyle( 'color.gradient' );\n\tconst previousCanvaMode = usePrevious( canvas );\n\tuseEffect( () => {\n\t\tif ( previousCanvaMode === 'edit' ) {\n\t\t\tconst desktopToggle = sidebarRegionRef.current\n\t\t\t\t? // We're typically expecting the `<DashboardBackButton />` component as the first tabbable element.\n\t\t\t\t focus.tabbable.find( sidebarRegionRef.current )[ 0 ]\n\t\t\t\t: undefined;\n\t\t\t( desktopToggle ?? mobileToggleRef.current )?.focus();\n\t\t}\n\t\t// Should not depend on the previous canvas mode value but the next.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ canvas ] );\n\n\treturn (\n\t\t<>\n\t\t\t<UnsavedChangesWarning />\n\t\t\t{ canvas === 'view' && <SaveKeyboardShortcut /> }\n\t\t\t<div\n\t\t\t\t{ ...navigateRegionsProps }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'edit-site-layout',\n\t\t\t\t\tnavigateRegionsProps.className,\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-full-canvas': canvas === 'edit',\n\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-layout__content\">\n\t\t\t\t\t{ /*\n\t\t\t\t\t\tThe NavigableRegion must always be rendered and not use\n\t\t\t\t\t\t`inert` otherwise `useNavigateRegions` will fail.\n\t\t\t\t\t*/ }\n\t\t\t\t\t{ ( ! isMobileViewport || ! hasMobileAreas ) && (\n\t\t\t\t\t\t<NavigableRegion\n\t\t\t\t\t\t\tref={ sidebarRegionRef }\n\t\t\t\t\t\t\tariaLabel={ __( 'Navigation' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar-region\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AnimatePresence>\n\t\t\t\t\t\t\t\t{ canvas === 'view' && (\n\t\t\t\t\t\t\t\t\t<motion.div\n\t\t\t\t\t\t\t\t\t\tinitial={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\tanimate={ { opacity: 1 } }\n\t\t\t\t\t\t\t\t\t\texit={ { opacity: 0 } }\n\t\t\t\t\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\t\t\t\t\ttype: 'tween',\n\t\t\t\t\t\t\t\t\t\t\tduration:\n\t\t\t\t\t\t\t\t\t\t\t\t// Disable transition in mobile to emulate a full page transition.\n\t\t\t\t\t\t\t\t\t\t\t\tdisableMotion ||\n\t\t\t\t\t\t\t\t\t\t\t\tisMobileViewport\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ANIMATION_DURATION,\n\t\t\t\t\t\t\t\t\t\t\tease: 'easeOut',\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__sidebar\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<SidebarNavigationProvider>\n\t\t\t\t\t\t\t\t\t\t\t<SidebarContent\n\t\t\t\t\t\t\t\t\t\t\t\tshouldAnimate={\n\t\t\t\t\t\t\t\t\t\t\t\t\trouteKey !== 'styles' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\trouteKey !== 'identity'\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\trouteKey={ routeKey }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ areas.sidebar }\n\t\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t</SidebarNavigationProvider>\n\t\t\t\t\t\t\t\t\t\t<SaveHub />\n\t\t\t\t\t\t\t\t\t\t<SavePanel />\n\t\t\t\t\t\t\t\t\t</motion.div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</AnimatePresence>\n\t\t\t\t\t\t</NavigableRegion>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<SnackbarNotices className=\"edit-site-layout__snackbar\" />\n\t\t\t\t\t<UploadProgressSnackbar />\n\n\t\t\t\t\t{ isMobileViewport && hasMobileAreas && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__mobile\">\n\t\t\t\t\t\t\t<SidebarNavigationProvider>\n\t\t\t\t\t\t\t\t{ canvas !== 'edit' ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ showMobileSiteHub && (\n\t\t\t\t\t\t\t\t\t\t\t<SiteHubMobile\n\t\t\t\t\t\t\t\t\t\t\t\tref={ mobileToggleRef }\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\t{ areas.mobileContent ? (\n\t\t\t\t\t\t\t\t\t\t\t/*\n\t\t\t\t\t\t\t\t\t\t\t * ThemeProvider wraps SidebarContent (rather than\n\t\t\t\t\t\t\t\t\t\t\t * just the content) so the scroll wrapper it renders\n\t\t\t\t\t\t\t\t\t\t\t * inherits the content background tokens. See\n\t\t\t\t\t\t\t\t\t\t\t * `.edit-site-sidebar__screen-wrapper` in style.scss.\n\t\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t\t<ThemeProvider\n\t\t\t\t\t\t\t\t\t\t\t\tcolor={ CONTENT_COLOR }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<SidebarContent\n\t\t\t\t\t\t\t\t\t\t\t\t\trouteKey={ routeKey }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-layout__mobile-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tareas.mobileContent\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<SidebarContent\n\t\t\t\t\t\t\t\t\t\t\t\trouteKey={ routeKey }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ areas.mobileSidebar }\n\t\t\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t</SidebarContent>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<SaveHub />\n\t\t\t\t\t\t\t\t\t\t<SavePanel />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<ThemeProvider color={ CONTENT_COLOR }>\n\t\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t\t{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</SidebarNavigationProvider>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport &&\n\t\t\t\t\t\tareas.content &&\n\t\t\t\t\t\tcanvas !== 'edit' && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tmaxWidth: widths?.content,\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\t<ThemeProvider color={ CONTENT_COLOR }>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t{ areas.content }\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport && areas.edit && canvas !== 'edit' && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__area\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: widths?.edit,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ThemeProvider color={ CONTENT_COLOR }>\n\t\t\t\t\t\t\t\t<ErrorBoundary>{ areas.edit }</ErrorBoundary>\n\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isMobileViewport && areas.preview && (\n\t\t\t\t\t\t<div className=\"edit-site-layout__canvas-container\">\n\t\t\t\t\t\t\t{ canvasResizer }\n\t\t\t\t\t\t\t{ !! canvasSize.width && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'edit-site-layout__canvas',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-right-aligned':\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized,\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\tref={ animationRef }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary>\n\t\t\t\t\t\t\t\t\t\t<ResizableFrame\n\t\t\t\t\t\t\t\t\t\t\tisReady={ ! isEditorLoading }\n\t\t\t\t\t\t\t\t\t\t\tisFullWidth={ canvas === 'edit' }\n\t\t\t\t\t\t\t\t\t\t\tdefaultSize={ {\n\t\t\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t\t\tcanvasSize.width -\n\t\t\t\t\t\t\t\t\t\t\t\t\t24 /* $canvas-padding */,\n\t\t\t\t\t\t\t\t\t\t\t\theight: canvasSize.height,\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tisOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tisResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetIsOversized={\n\t\t\t\t\t\t\t\t\t\t\t\tsetIsResizableFrameOversized\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tinnerContentStyle={ {\n\t\t\t\t\t\t\t\t\t\t\t\tbackground:\n\t\t\t\t\t\t\t\t\t\t\t\t\tgradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\tbackgroundColor,\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\t\t<ThemeProvider\n\t\t\t\t\t\t\t\t\t\t\t\tcolor={ CONTENT_COLOR }\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ areas.preview }\n\t\t\t\t\t\t\t\t\t\t\t</ThemeProvider>\n\t\t\t\t\t\t\t\t\t\t</ResizableFrame>\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</div>\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</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default function LayoutWithGlobalStylesProvider( props ) {\n\tconst themeColors = useMemo( getAdminThemeColors, [] );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<Tooltip.Provider>\n\t\t\t\t{ /** This needs to be within the SlotFillProvider */ }\n\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t<ThemeProvider\n\t\t\t\t\tisRoot\n\t\t\t\t\tcolor={ {\n\t\t\t\t\t\tprimary: themeColors.primary,\n\t\t\t\t\t\t...CONTENT_COLOR,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<ThemeProvider color={ themeColors }>\n\t\t\t\t\t\t<Layout { ...props } />\n\t\t\t\t\t</ThemeProvider>\n\t\t\t\t</ThemeProvider>\n\t\t\t</Tooltip.Provider>\n\t\t</SlotFillProvider>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["routerPrivateApis", "editorPrivateApis", "useNavigateRegions", "useMovingAnimation", "preferencesStore", "SaveKeyboardShortcut", "clsx", "AnimatePresence", "motion", "SaveHub", "SavePanel", "ResizableFrame", "noticesStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/media/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEntityRecord } from '@wordpress/core-data';\n\nfunction Media( { id, size = [ 'large', 'medium', 'thumbnail' ], ...props } ) {\n\tconst { record: media } = useEntityRecord( 'postType', 'attachment', id );\n\tconst currentSize = size.find(\n\t\t( s ) => !! media?.media_details?.sizes?.[ s ]\n\t);\n\n\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ currentSize ]?.source_url ||\n\t\tmedia?.source_url;\n\n\tif ( ! mediaUrl ) {\n\t\treturn null;\n\t}\n\n\treturn <img { ...props } src={ mediaUrl } alt={ media.alt_text } />;\n}\n\nexport default Media;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,uBAAgC;AAgBxB;AAdR,SAAS,MAAO,EAAE,IAAI,OAAO,CAAE,SAAS,UAAU,WAAY,GAAG,GAAG,MAAM,GAAI;AAC7E,QAAM,EAAE,QAAQ,MAAM,QAAI,kCAAiB,YAAY,cAAc,EAAG;AACxE,QAAM,cAAc,KAAK;AAAA,IACxB,CAAE,MAAO,CAAC,CAAE,OAAO,eAAe,QAAS,CAAE;AAAA,EAC9C;AAEA,QAAM,WACL,OAAO,eAAe,QAAS,WAAY,GAAG,cAC9C,OAAO;AAER,MAAK,CAAE,UAAW;AACjB,WAAO;AAAA,EACR;AAEA,SAAO,4CAAC,SAAM,GAAG,OAAQ,KAAM,UAAW,KAAM,MAAM,UAAW;AAClE;AAEA,IAAO,gBAAQ;",
4
+ "sourcesContent": ["import { useEntityRecord } from '@wordpress/core-data';\n\nfunction Media( { id, size = [ 'large', 'medium', 'thumbnail' ], ...props } ) {\n\tconst { record: media } = useEntityRecord( 'postType', 'attachment', id );\n\tconst currentSize = size.find(\n\t\t( s ) => !! media?.media_details?.sizes?.[ s ]\n\t);\n\n\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ currentSize ]?.source_url ||\n\t\tmedia?.source_url;\n\n\tif ( ! mediaUrl ) {\n\t\treturn null;\n\t}\n\n\treturn <img { ...props } src={ mediaUrl } alt={ media.alt_text } />;\n}\n\nexport default Media;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAgC;AAgBxB;AAdR,SAAS,MAAO,EAAE,IAAI,OAAO,CAAE,SAAS,UAAU,WAAY,GAAG,GAAG,MAAM,GAAI;AAC7E,QAAM,EAAE,QAAQ,MAAM,QAAI,kCAAiB,YAAY,cAAc,EAAG;AACxE,QAAM,cAAc,KAAK;AAAA,IACxB,CAAE,MAAO,CAAC,CAAE,OAAO,eAAe,QAAS,CAAE;AAAA,EAC9C;AAEA,QAAM,WACL,OAAO,eAAe,QAAS,WAAY,GAAG,cAC9C,OAAO;AAER,MAAK,CAAE,UAAW;AACjB,WAAO;AAAA,EACR;AAEA,SAAO,4CAAC,SAAM,GAAG,OAAQ,KAAM,UAAW,KAAM,MAAM,UAAW;AAClE;AAEA,IAAO,gBAAQ;",
6
6
  "names": []
7
7
  }
@@ -34,15 +34,14 @@ __export(more_menu_exports, {
34
34
  });
35
35
  module.exports = __toCommonJS(more_menu_exports);
36
36
  var import_editor = require("@wordpress/editor");
37
- var import_site_export = __toESM(require("./site-export.cjs"));
38
37
  var import_welcome_guide_menu_item = __toESM(require("./welcome-guide-menu-item.cjs"));
39
38
  var import_lock_unlock = require("../../lock-unlock.cjs");
40
39
  var import_jsx_runtime = require("react/jsx-runtime");
41
- var { ToolsMoreMenuGroup, PreferencesModal } = (0, import_lock_unlock.unlock)(import_editor.privateApis);
40
+ var { ToolsMoreMenuGroup, PreferencesModal, SiteExport } = (0, import_lock_unlock.unlock)(import_editor.privateApis);
42
41
  function MoreMenu() {
43
42
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
44
43
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ToolsMoreMenuGroup, { children: [
45
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_site_export.default, {}),
44
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SiteExport, {}),
46
45
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_welcome_guide_menu_item.default, {})
47
46
  ] }),
48
47
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PreferencesModal, {})
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/more-menu/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport SiteExport from './site-export';\nimport WelcomeGuideMenuItem from './welcome-guide-menu-item';\nimport { unlock } from '../../lock-unlock';\n\nconst { ToolsMoreMenuGroup, PreferencesModal } = unlock( editorPrivateApis );\n\nexport default function MoreMenu() {\n\treturn (\n\t\t<>\n\t\t\t<ToolsMoreMenuGroup>\n\t\t\t\t<SiteExport />\n\t\t\t\t<WelcomeGuideMenuItem />\n\t\t\t</ToolsMoreMenuGroup>\n\t\t\t<PreferencesModal />\n\t\t</>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAiD;AAKjD,yBAAuB;AACvB,qCAAiC;AACjC,yBAAuB;AAMrB;AAJF,IAAM,EAAE,oBAAoB,iBAAiB,QAAI,2BAAQ,cAAAA,WAAkB;AAE5D,SAAR,WAA4B;AAClC,SACC,4EACC;AAAA,iDAAC,sBACA;AAAA,kDAAC,mBAAAC,SAAA,EAAW;AAAA,MACZ,4CAAC,+BAAAC,SAAA,EAAqB;AAAA,OACvB;AAAA,IACA,4CAAC,oBAAiB;AAAA,KACnB;AAEF;",
6
- "names": ["editorPrivateApis", "SiteExport", "WelcomeGuideMenuItem"]
4
+ "sourcesContent": ["import { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport WelcomeGuideMenuItem from './welcome-guide-menu-item';\nimport { unlock } from '../../lock-unlock';\n\nconst { ToolsMoreMenuGroup, PreferencesModal, SiteExport } =\n\tunlock( editorPrivateApis );\n\nexport default function MoreMenu() {\n\treturn (\n\t\t<>\n\t\t\t<ToolsMoreMenuGroup>\n\t\t\t\t<SiteExport />\n\t\t\t\t<WelcomeGuideMenuItem />\n\t\t\t</ToolsMoreMenuGroup>\n\t\t\t<PreferencesModal />\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAiD;AACjD,qCAAiC;AACjC,yBAAuB;AAOrB;AALF,IAAM,EAAE,oBAAoB,kBAAkB,WAAW,QACxD,2BAAQ,cAAAA,WAAkB;AAEZ,SAAR,WAA4B;AAClC,SACC,4EACC;AAAA,iDAAC,sBACA;AAAA,kDAAC,cAAW;AAAA,MACZ,4CAAC,+BAAAC,SAAA,EAAqB;AAAA,OACvB;AAAA,IACA,4CAAC,oBAAiB;AAAA,KACnB;AAEF;",
6
+ "names": ["editorPrivateApis", "WelcomeGuideMenuItem"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/more-menu/welcome-guide-menu-item.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { MenuItem } from '@wordpress/components';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\nexport default function WelcomeGuideMenuItem() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\treturn (\n\t\t<MenuItem onClick={ () => toggle( 'core/edit-site', 'welcomeGuide' ) }>\n\t\t\t{ __( 'Welcome Guide' ) }\n\t\t</MenuItem>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,kBAA4B;AAC5B,wBAAyB;AACzB,yBAA0C;AAMxC;AAJa,SAAR,uBAAwC;AAC9C,QAAM,EAAE,OAAO,QAAI,yBAAa,mBAAAA,KAAiB;AAEjD,SACC,4CAAC,8BAAS,SAAU,MAAM,OAAQ,kBAAkB,cAAe,GAChE,8BAAI,eAAgB,GACvB;AAEF;",
4
+ "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { MenuItem } from '@wordpress/components';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\nexport default function WelcomeGuideMenuItem() {\n\tconst { toggle } = useDispatch( preferencesStore );\n\n\treturn (\n\t\t<MenuItem onClick={ () => toggle( 'core/edit-site', 'welcomeGuide' ) }>\n\t\t\t{ __( 'Welcome Guide' ) }\n\t\t</MenuItem>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AACnB,kBAA4B;AAC5B,wBAAyB;AACzB,yBAA0C;AAMxC;AAJa,SAAR,uBAAwC;AAC9C,QAAM,EAAE,OAAO,QAAI,yBAAa,mBAAAA,KAAiB;AAEjD,SACC,4CAAC,8BAAS,SAAU,MAAM,OAAQ,kBAAkB,cAAe,GAChE,8BAAI,eAAgB,GACvB;AAEF;",
6
6
  "names": ["preferencesStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-patterns/actions.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { DropdownMenu, MenuGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport AddNewPattern from '../add-new-pattern';\nimport RenameCategoryMenuItem from './rename-category-menu-item';\nimport DeleteCategoryMenuItem from './delete-category-menu-item';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\nimport { PATTERN_TYPES } from '../../utils/constants';\n\nexport default function PatternsActions( { categoryId, type } ) {\n\tconst { patternCategories } = usePatternCategories();\n\tlet patternCategory;\n\tif ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<AddNewPattern />\n\t\t\t{ !! patternCategory?.id && (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<RenameCategoryMenuItem\n\t\t\t\t\t\t\t\tcategory={ patternCategory }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<DeleteCategoryMenuItem\n\t\t\t\t\t\t\t\tcategory={ patternCategory }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAwC;AACxC,kBAAmB;AACnB,mBAA6B;AAK7B,6BAA0B;AAC1B,uCAAmC;AACnC,uCAAmC;AACnC,oCAAiC;AACjC,uBAA8B;AAY5B;AAVa,SAAR,gBAAkC,EAAE,YAAY,KAAK,GAAI;AAC/D,QAAM,EAAE,kBAAkB,QAAI,8BAAAA,SAAqB;AACnD,MAAI;AACJ,MAAK,SAAS,+BAAc,QAAQ,CAAC,CAAE,YAAa;AACnD,sBAAkB,kBAAkB;AAAA,MACnC,CAAE,aAAc,SAAS,SAAS;AAAA,IACnC;AAAA,EACD;AAEA,SACC,4EACC;AAAA,gDAAC,uBAAAC,SAAA,EAAc;AAAA,IACb,CAAC,CAAE,iBAAiB,MACrB;AAAA,MAAC;AAAA;AAAA,QACA,MAAO;AAAA,QACP,WAAQ,gBAAI,SAAU;AAAA,QACtB,aAAc;AAAA,UACb,WAAW;AAAA,UACX,MAAM;AAAA,QACP;AAAA,QAEE,WAAE,EAAE,QAAQ,MACb,6CAAC,+BACA;AAAA;AAAA,YAAC,iCAAAC;AAAA,YAAA;AAAA,cACA,UAAW;AAAA,cACX;AAAA;AAAA,UACD;AAAA,UACA;AAAA,YAAC,iCAAAC;AAAA,YAAA;AAAA,cACA,UAAW;AAAA,cACX;AAAA;AAAA,UACD;AAAA,WACD;AAAA;AAAA,IAEF;AAAA,KAEF;AAEF;",
4
+ "sourcesContent": ["import { DropdownMenu, MenuGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { moreVertical } from '@wordpress/icons';\nimport AddNewPattern from '../add-new-pattern';\nimport RenameCategoryMenuItem from './rename-category-menu-item';\nimport DeleteCategoryMenuItem from './delete-category-menu-item';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\nimport { PATTERN_TYPES } from '../../utils/constants';\n\nexport default function PatternsActions( { categoryId, type } ) {\n\tconst { patternCategories } = usePatternCategories();\n\tlet patternCategory;\n\tif ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<AddNewPattern />\n\t\t\t{ !! patternCategory?.id && (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\tsize: 'compact',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<RenameCategoryMenuItem\n\t\t\t\t\t\t\t\tcategory={ patternCategory }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<DeleteCategoryMenuItem\n\t\t\t\t\t\t\t\tcategory={ patternCategory }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</DropdownMenu>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAwC;AACxC,kBAAmB;AACnB,mBAA6B;AAC7B,6BAA0B;AAC1B,uCAAmC;AACnC,uCAAmC;AACnC,oCAAiC;AACjC,uBAA8B;AAY5B;AAVa,SAAR,gBAAkC,EAAE,YAAY,KAAK,GAAI;AAC/D,QAAM,EAAE,kBAAkB,QAAI,8BAAAA,SAAqB;AACnD,MAAI;AACJ,MAAK,SAAS,+BAAc,QAAQ,CAAC,CAAE,YAAa;AACnD,sBAAkB,kBAAkB;AAAA,MACnC,CAAE,aAAc,SAAS,SAAS;AAAA,IACnC;AAAA,EACD;AAEA,SACC,4EACC;AAAA,gDAAC,uBAAAC,SAAA,EAAc;AAAA,IACb,CAAC,CAAE,iBAAiB,MACrB;AAAA,MAAC;AAAA;AAAA,QACA,MAAO;AAAA,QACP,WAAQ,gBAAI,SAAU;AAAA,QACtB,aAAc;AAAA,UACb,WAAW;AAAA,UACX,MAAM;AAAA,QACP;AAAA,QAEE,WAAE,EAAE,QAAQ,MACb,6CAAC,+BACA;AAAA;AAAA,YAAC,iCAAAC;AAAA,YAAA;AAAA,cACA,UAAW;AAAA,cACX;AAAA;AAAA,UACD;AAAA,UACA;AAAA,YAAC,iCAAAC;AAAA,YAAA;AAAA,cACA,UAAW;AAAA,cACX;AAAA;AAAA,UACD;AAAA,WACD;AAAA;AAAA,IAEF;AAAA,KAEF;AAEF;",
6
6
  "names": ["usePatternCategories", "AddNewPattern", "RenameCategoryMenuItem", "DeleteCategoryMenuItem"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-patterns/delete-category-menu-item.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tMenuItem,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { PATTERN_TYPES, PATTERN_DEFAULT_CATEGORY } from '../../utils/constants';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport default function DeleteCategoryMenuItem( { category, onClose } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst history = useHistory();\n\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord, invalidateResolution } =\n\t\tuseDispatch( coreStore );\n\n\tconst onDelete = async () => {\n\t\ttry {\n\t\t\tawait deleteEntityRecord(\n\t\t\t\t'taxonomy',\n\t\t\t\t'wp_pattern_category',\n\t\t\t\tcategory.id,\n\t\t\t\t{ force: true },\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Prevent the need to refresh the page to get up-to-date categories\n\t\t\t// and pattern categorization.\n\t\t\tinvalidateResolution( 'getUserPatternCategories' );\n\t\t\tinvalidateResolution( 'getEntityRecords', [\n\t\t\t\t'postType',\n\t\t\t\tPATTERN_TYPES.user,\n\t\t\t\t{ per_page: -1 },\n\t\t\t] );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: The pattern category's name */\n\t\t\t\t\t_x( '\"%s\" deleted.', 'pattern category' ),\n\t\t\t\t\tcategory.label\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'pattern-category-delete' }\n\t\t\t);\n\n\t\t\tonClose?.();\n\t\t\thistory.navigate(\n\t\t\t\t`/pattern?categoryId=${ PATTERN_DEFAULT_CATEGORY }`\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'An error occurred while deleting the pattern category.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-category-delete',\n\t\t\t} );\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem isDestructive onClick={ () => setIsModalOpen( true ) }>\n\t\t\t\t{ __( 'Delete' ) }\n\t\t\t</MenuItem>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ isModalOpen }\n\t\t\t\tonConfirm={ onDelete }\n\t\t\t\tonCancel={ () => setIsModalOpen( false ) }\n\t\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\t\tclassName=\"edit-site-patterns__delete-modal\"\n\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t// translators: %s: The pattern category's name.\n\t\t\t\t\t_x( 'Delete \"%s\"?', 'pattern category' ),\n\t\t\t\t\tdecodeEntities( category.label )\n\t\t\t\t) }\n\t\t\t\tsize=\"medium\"\n\t\t\t\t__experimentalHideHeader={ false }\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: The pattern category's name.\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Are you sure you want to delete the category \"%s\"? The patterns will not be deleted.'\n\t\t\t\t\t),\n\t\t\t\t\tdecodeEntities( category.label )\n\t\t\t\t) }\n\t\t\t</ConfirmDialog>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAGO;AACP,uBAAmC;AACnC,kBAA4B;AAC5B,qBAAyB;AACzB,2BAA+B;AAC/B,kBAAgC;AAChC,qBAAsC;AACtC,oBAAiD;AAKjD,yBAAuB;AACvB,uBAAwD;AA6DtD;AA3DF,IAAM,EAAE,WAAW,QAAI,2BAAQ,cAAAA,WAAkB;AAElC,SAAR,uBAAyC,EAAE,UAAU,QAAQ,GAAI;AACvE,QAAM,CAAE,aAAa,cAAe,QAAI,yBAAU,KAAM;AACxD,QAAM,UAAU,WAAW;AAE3B,QAAM,EAAE,qBAAqB,kBAAkB,QAC9C,yBAAa,eAAAC,KAAa;AAC3B,QAAM,EAAE,oBAAoB,qBAAqB,QAChD,yBAAa,iBAAAC,KAAU;AAExB,QAAM,WAAW,YAAY;AAC5B,QAAI;AACH,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,EAAE,OAAO,KAAK;AAAA,QACd,EAAE,cAAc,KAAK;AAAA,MACtB;AAIA,2BAAsB,0BAA2B;AACjD,2BAAsB,oBAAoB;AAAA,QACzC;AAAA,QACA,+BAAc;AAAA,QACd,EAAE,UAAU,GAAG;AAAA,MAChB,CAAE;AAEF;AAAA,YACC;AAAA;AAAA,cAEC,gBAAI,iBAAiB,kBAAmB;AAAA,UACxC,SAAS;AAAA,QACV;AAAA,QACA,EAAE,MAAM,YAAY,IAAI,0BAA0B;AAAA,MACnD;AAEA,gBAAU;AACV,cAAQ;AAAA,QACP,uBAAwB,yCAAyB;AAAA,MAClD;AAAA,IACD,SAAU,OAAQ;AACjB,YAAM,eACL,MAAM,WAAW,MAAM,SAAS,kBAC7B,MAAM,cACN;AAAA,QACA;AAAA,MACA;AAEJ,wBAAmB,cAAc;AAAA,QAChC,MAAM;AAAA,QACN,IAAI;AAAA,MACL,CAAE;AAAA,IACH;AAAA,EACD;AAEA,SACC,4EACC;AAAA,gDAAC,8BAAS,eAAa,MAAC,SAAU,MAAM,eAAgB,IAAK,GAC1D,8BAAI,QAAS,GAChB;AAAA,IACA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,QAAS;AAAA,QACT,WAAY;AAAA,QACZ,UAAW,MAAM,eAAgB,KAAM;AAAA,QACvC,uBAAoB,gBAAI,QAAS;AAAA,QACjC,WAAU;AAAA,QACV,WAAQ;AAAA;AAAA,cAEP,gBAAI,gBAAgB,kBAAmB;AAAA,cACvC,qCAAgB,SAAS,KAAM;AAAA,QAChC;AAAA,QACA,MAAK;AAAA,QACL,0BAA2B;AAAA,QAEzB;AAAA;AAAA,cAED;AAAA,YACC;AAAA,UACD;AAAA,cACA,qCAAgB,SAAS,KAAM;AAAA,QAChC;AAAA;AAAA,IACD;AAAA,KACD;AAEF;",
4
+ "sourcesContent": ["import {\n\tMenuItem,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { unlock } from '../../lock-unlock';\nimport { PATTERN_TYPES, PATTERN_DEFAULT_CATEGORY } from '../../utils/constants';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport default function DeleteCategoryMenuItem( { category, onClose } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst history = useHistory();\n\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord, invalidateResolution } =\n\t\tuseDispatch( coreStore );\n\n\tconst onDelete = async () => {\n\t\ttry {\n\t\t\tawait deleteEntityRecord(\n\t\t\t\t'taxonomy',\n\t\t\t\t'wp_pattern_category',\n\t\t\t\tcategory.id,\n\t\t\t\t{ force: true },\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Prevent the need to refresh the page to get up-to-date categories\n\t\t\t// and pattern categorization.\n\t\t\tinvalidateResolution( 'getUserPatternCategories' );\n\t\t\tinvalidateResolution( 'getEntityRecords', [\n\t\t\t\t'postType',\n\t\t\t\tPATTERN_TYPES.user,\n\t\t\t\t{ per_page: -1 },\n\t\t\t] );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: The pattern category's name */\n\t\t\t\t\t_x( '\"%s\" deleted.', 'pattern category' ),\n\t\t\t\t\tcategory.label\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'pattern-category-delete' }\n\t\t\t);\n\n\t\t\tonClose?.();\n\t\t\thistory.navigate(\n\t\t\t\t`/pattern?categoryId=${ PATTERN_DEFAULT_CATEGORY }`\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'An error occurred while deleting the pattern category.'\n\t\t\t\t\t );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'pattern-category-delete',\n\t\t\t} );\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem isDestructive onClick={ () => setIsModalOpen( true ) }>\n\t\t\t\t{ __( 'Delete' ) }\n\t\t\t</MenuItem>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ isModalOpen }\n\t\t\t\tonConfirm={ onDelete }\n\t\t\t\tonCancel={ () => setIsModalOpen( false ) }\n\t\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\t\tclassName=\"edit-site-patterns__delete-modal\"\n\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t// translators: %s: The pattern category's name.\n\t\t\t\t\t_x( 'Delete \"%s\"?', 'pattern category' ),\n\t\t\t\t\tdecodeEntities( category.label )\n\t\t\t\t) }\n\t\t\t\tsize=\"medium\"\n\t\t\t\t__experimentalHideHeader={ false }\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t// translators: %s: The pattern category's name.\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Are you sure you want to delete the category \"%s\"? The patterns will not be deleted.'\n\t\t\t\t\t),\n\t\t\t\t\tdecodeEntities( category.label )\n\t\t\t\t) }\n\t\t\t</ConfirmDialog>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAGO;AACP,uBAAmC;AACnC,kBAA4B;AAC5B,qBAAyB;AACzB,2BAA+B;AAC/B,kBAAgC;AAChC,qBAAsC;AACtC,oBAAiD;AACjD,yBAAuB;AACvB,uBAAwD;AA6DtD;AA3DF,IAAM,EAAE,WAAW,QAAI,2BAAQ,cAAAA,WAAkB;AAElC,SAAR,uBAAyC,EAAE,UAAU,QAAQ,GAAI;AACvE,QAAM,CAAE,aAAa,cAAe,QAAI,yBAAU,KAAM;AACxD,QAAM,UAAU,WAAW;AAE3B,QAAM,EAAE,qBAAqB,kBAAkB,QAC9C,yBAAa,eAAAC,KAAa;AAC3B,QAAM,EAAE,oBAAoB,qBAAqB,QAChD,yBAAa,iBAAAC,KAAU;AAExB,QAAM,WAAW,YAAY;AAC5B,QAAI;AACH,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,EAAE,OAAO,KAAK;AAAA,QACd,EAAE,cAAc,KAAK;AAAA,MACtB;AAIA,2BAAsB,0BAA2B;AACjD,2BAAsB,oBAAoB;AAAA,QACzC;AAAA,QACA,+BAAc;AAAA,QACd,EAAE,UAAU,GAAG;AAAA,MAChB,CAAE;AAEF;AAAA,YACC;AAAA;AAAA,cAEC,gBAAI,iBAAiB,kBAAmB;AAAA,UACxC,SAAS;AAAA,QACV;AAAA,QACA,EAAE,MAAM,YAAY,IAAI,0BAA0B;AAAA,MACnD;AAEA,gBAAU;AACV,cAAQ;AAAA,QACP,uBAAwB,yCAAyB;AAAA,MAClD;AAAA,IACD,SAAU,OAAQ;AACjB,YAAM,eACL,MAAM,WAAW,MAAM,SAAS,kBAC7B,MAAM,cACN;AAAA,QACA;AAAA,MACA;AAEJ,wBAAmB,cAAc;AAAA,QAChC,MAAM;AAAA,QACN,IAAI;AAAA,MACL,CAAE;AAAA,IACH;AAAA,EACD;AAEA,SACC,4EACC;AAAA,gDAAC,8BAAS,eAAa,MAAC,SAAU,MAAM,eAAgB,IAAK,GAC1D,8BAAI,QAAS,GAChB;AAAA,IACA;AAAA,MAAC,kBAAAC;AAAA,MAAA;AAAA,QACA,QAAS;AAAA,QACT,WAAY;AAAA,QACZ,UAAW,MAAM,eAAgB,KAAM;AAAA,QACvC,uBAAoB,gBAAI,QAAS;AAAA,QACjC,WAAU;AAAA,QACV,WAAQ;AAAA;AAAA,cAEP,gBAAI,gBAAgB,kBAAmB;AAAA,cACvC,qCAAgB,SAAS,KAAM;AAAA,QAChC;AAAA,QACA,MAAK;AAAA,QACL,0BAA2B;AAAA,QAEzB;AAAA;AAAA,cAED;AAAA,YACC;AAAA,UACD;AAAA,cACA,qCAAgB,SAAS,KAAM;AAAA,QAChC;AAAA;AAAA,IACD;AAAA,KACD;AAEF;",
6
6
  "names": ["routerPrivateApis", "noticesStore", "coreStore", "ConfirmDialog"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-patterns/fields.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useId } from '@wordpress/element';\nimport { BlockPreview } from '@wordpress/block-editor';\nimport { parse } from '@wordpress/blocks';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst { useStyle } = unlock( editorPrivateApis );\n\nfunction PreviewField( { item } ) {\n\tconst descriptionId = useId();\n\tconst description = item.description || item?.excerpt?.raw;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst backgroundColor = useStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn (\n\t\t\titem.blocks ??\n\t\t\tparse( item.content.raw, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} )\n\t\t);\n\t}, [ item?.content?.raw, item.blocks ] );\n\tconst isEmpty = ! blocks?.length;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"page-patterns-preview-field\"\n\t\t\tstyle={ { backgroundColor } }\n\t\t\taria-describedby={ !! description ? descriptionId : undefined }\n\t\t>\n\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t/>\n\t\t\t\t</BlockPreview.Async>\n\t\t\t) }\n\t\t\t{ !! description && (\n\t\t\t\t<div hidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,qBAA+B;AAC/B,0BAA6B;AAC7B,oBAAsB;AACtB,oBAAiD;AAKjD,uBAAwC;AACxC,yBAAuB;AAoBrB;AAlBF,IAAM,EAAE,SAAS,QAAI,2BAAQ,cAAAA,WAAkB;AAE/C,SAAS,aAAc,EAAE,KAAK,GAAI;AACjC,QAAM,oBAAgB,sBAAM;AAC5B,QAAM,cAAc,KAAK,eAAe,MAAM,SAAS;AACvD,QAAM,iBAAiB,KAAK,SAAS;AACrC,QAAM,kBAAkB,SAAU,kBAAmB;AACrD,QAAM,aAAS,wBAAS,MAAM;AAC7B,WACC,KAAK,cACL,qBAAO,KAAK,QAAQ,KAAK;AAAA,MACxB,6BAA6B;AAAA,IAC9B,CAAE;AAAA,EAEJ,GAAG,CAAE,MAAM,SAAS,KAAK,KAAK,MAAO,CAAE;AACvC,QAAM,UAAU,CAAE,QAAQ;AAE1B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ,EAAE,gBAAgB;AAAA,MAC1B,oBAAmB,CAAC,CAAE,cAAc,gBAAgB;AAAA,MAElD;AAAA,mBAAW,sBAAkB,gBAAI,qBAAsB;AAAA,QACvD,WAAW,CAAE,sBAAkB,gBAAI,eAAgB;AAAA,QACnD,CAAE,WACH,4CAAC,iCAAa,OAAb,EACA;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA,eAAgB,KAAK;AAAA;AAAA,QACtB,GACD;AAAA,QAEC,CAAC,CAAE,eACJ,4CAAC,SAAI,QAAM,MAAC,IAAK,eACd,uBACH;AAAA;AAAA;AAAA,EAEF;AAEF;AAEO,IAAM,eAAe;AAAA,EAC3B,WAAO,gBAAI,SAAU;AAAA,EACrB,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,eAAe;AAChB;",
4
+ "sourcesContent": ["import { __ } from '@wordpress/i18n';\nimport { useMemo, useId } from '@wordpress/element';\nimport { BlockPreview } from '@wordpress/block-editor';\nimport { parse } from '@wordpress/blocks';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst { useStyle } = unlock( editorPrivateApis );\n\nfunction PreviewField( { item } ) {\n\tconst descriptionId = useId();\n\tconst description = item.description || item?.excerpt?.raw;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst backgroundColor = useStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn (\n\t\t\titem.blocks ??\n\t\t\tparse( item.content.raw, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} )\n\t\t);\n\t}, [ item?.content?.raw, item.blocks ] );\n\tconst isEmpty = ! blocks?.length;\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"page-patterns-preview-field\"\n\t\t\tstyle={ { backgroundColor } }\n\t\t\taria-describedby={ !! description ? descriptionId : undefined }\n\t\t>\n\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t{ ! isEmpty && (\n\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t/>\n\t\t\t\t</BlockPreview.Async>\n\t\t\t) }\n\t\t\t{ !! description && (\n\t\t\t\t<div hidden id={ descriptionId }>\n\t\t\t\t\t{ description }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAmB;AACnB,qBAA+B;AAC/B,0BAA6B;AAC7B,oBAAsB;AACtB,oBAAiD;AACjD,uBAAwC;AACxC,yBAAuB;AAoBrB;AAlBF,IAAM,EAAE,SAAS,QAAI,2BAAQ,cAAAA,WAAkB;AAE/C,SAAS,aAAc,EAAE,KAAK,GAAI;AACjC,QAAM,oBAAgB,sBAAM;AAC5B,QAAM,cAAc,KAAK,eAAe,MAAM,SAAS;AACvD,QAAM,iBAAiB,KAAK,SAAS;AACrC,QAAM,kBAAkB,SAAU,kBAAmB;AACrD,QAAM,aAAS,wBAAS,MAAM;AAC7B,WACC,KAAK,cACL,qBAAO,KAAK,QAAQ,KAAK;AAAA,MACxB,6BAA6B;AAAA,IAC9B,CAAE;AAAA,EAEJ,GAAG,CAAE,MAAM,SAAS,KAAK,KAAK,MAAO,CAAE;AACvC,QAAM,UAAU,CAAE,QAAQ;AAE1B,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,OAAQ,EAAE,gBAAgB;AAAA,MAC1B,oBAAmB,CAAC,CAAE,cAAc,gBAAgB;AAAA,MAElD;AAAA,mBAAW,sBAAkB,gBAAI,qBAAsB;AAAA,QACvD,WAAW,CAAE,sBAAkB,gBAAI,eAAgB;AAAA,QACnD,CAAE,WACH,4CAAC,iCAAa,OAAb,EACA;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA,eAAgB,KAAK;AAAA;AAAA,QACtB,GACD;AAAA,QAEC,CAAC,CAAE,eACJ,4CAAC,SAAI,QAAM,MAAC,IAAK,eACd,uBACH;AAAA;AAAA;AAAA,EAEF;AAEF;AAEO,IAAM,eAAe;AAAA,EAC3B,WAAO,gBAAI,SAAU;AAAA,EACrB,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,eAAe;AAChB;",
6
6
  "names": ["editorPrivateApis"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-patterns/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useView, useViewConfig } from '@wordpress/views';\nimport { useSelect } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsActions from './actions';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { previewField } from './fields';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions, usePostFields } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst VIEW_CONFIG_FIELDS = [ 'default_view', 'default_layouts' ];\n\nfunction usePagePatternsHeader( type, categoryId ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()\n\t\t\t\t?.default_template_part_areas || [],\n\t\t[]\n\t);\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\treturn { title, description };\n}\n\nexport default function DataviewsPatterns() {\n\tconst { path, query } = useLocation();\n\tconst { postType = 'wp_block', categoryId: categoryIdFromURL } = query;\n\tconst history = useHistory();\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst { default_view: defaultView, default_layouts: defaultLayouts } =\n\t\tuseViewConfig( {\n\t\t\tkind: 'postType',\n\t\t\tname: postType,\n\t\t\tfields: VIEW_CONFIG_FIELDS,\n\t\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\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( params ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: params.page,\n\t\t\t\t\tsearch: params.search,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( postType, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst postTypeFields = usePostFields( { postType } );\n\tconst fields = useMemo( () => {\n\t\treturn [ previewField, ...( postTypeFields || [] ) ];\n\t}, [ postTypeFields ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, postType ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, postType, templatePartActions, patternActions ] );\n\tconst settings = usePatternSettings();\n\tconst { title, description } = usePagePatternsHeader(\n\t\tpostType,\n\t\tcategoryId\n\t);\n\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\ttitle={ title }\n\t\t\t\theadingLevel={ 2 }\n\t\t\t\tsubTitle={ description }\n\t\t\t\tactions={\n\t\t\t\t\t<PatternsActions\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\ttype={ postType }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tisItemClickable={ ( item ) =>\n\t\t\t\t\t\titem.type !== PATTERN_TYPES.theme\n\t\t\t\t\t}\n\t\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t`/${ item.type }/${\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tPATTERN_TYPES.user,\n\t\t\t\t\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t\t\t\t\t].includes( item.type )\n\t\t\t\t\t\t\t\t\t? item.id\n\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t}?canvas=edit`\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ updateView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t\tonReset={ isModified ? resetToDefault : false }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useView, useViewConfig } from '@wordpress/views';\nimport { useSelect } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsActions from './actions';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { previewField } from './fields';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions, usePostFields } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst VIEW_CONFIG_FIELDS = [ 'default_view', 'default_layouts' ];\n\nfunction usePagePatternsHeader( type, categoryId ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()\n\t\t\t\t?.default_template_part_areas || [],\n\t\t[]\n\t);\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\treturn { title, description };\n}\n\nexport default function DataviewsPatterns() {\n\tconst { path, query } = useLocation();\n\tconst { postType = 'wp_block', categoryId: categoryIdFromURL } = query;\n\tconst history = useHistory();\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst { default_view: defaultView, default_layouts: defaultLayouts } =\n\t\tuseViewConfig( {\n\t\t\tkind: 'postType',\n\t\t\tname: postType,\n\t\t\tfields: VIEW_CONFIG_FIELDS,\n\t\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\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( params ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: params.page,\n\t\t\t\t\tsearch: params.search,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( postType, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst postTypeFields = usePostFields( { postType } );\n\tconst fields = useMemo( () => {\n\t\treturn [ previewField, ...( postTypeFields || [] ) ];\n\t}, [ postTypeFields ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, postType ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, postType, templatePartActions, patternActions ] );\n\tconst settings = usePatternSettings();\n\tconst { title, description } = usePagePatternsHeader(\n\t\tpostType,\n\t\tcategoryId\n\t);\n\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\ttitle={ title }\n\t\t\t\theadingLevel={ 2 }\n\t\t\t\tsubTitle={ description }\n\t\t\t\tactions={\n\t\t\t\t\t<PatternsActions\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\ttype={ postType }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tisItemClickable={ ( item ) =>\n\t\t\t\t\t\titem.type !== PATTERN_TYPES.theme\n\t\t\t\t\t}\n\t\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t`/${ item.type }/${\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tPATTERN_TYPES.user,\n\t\t\t\t\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t\t\t\t\t].includes( item.type )\n\t\t\t\t\t\t\t\t\t? item.id\n\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t}?canvas=edit`\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ updateView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t\tonReset={ isModified ? resetToDefault : false }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["blockEditorPrivateApis", "editorPrivateApis", "routerPrivateApis", "usePatternCategories", "coreStore", "usePatterns", "usePatternSettings", "PatternsActions"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-patterns/rename-category-menu-item.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\n/**\n * Internal dependencies\n */\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { RenamePatternCategoryModal } = unlock( patternsPrivateApis );\n\nexport default function RenameCategoryMenuItem( { category, onClose } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={ () => setIsModalOpen( true ) }>\n\t\t\t\t{ __( 'Rename' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<RenameModal\n\t\t\t\t\tcategory={ category }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction RenameModal( { category, onClose } ) {\n\t// User created pattern categories have their properties updated when\n\t// retrieved via `getUserPatternCategories`. The rename modal expects an\n\t// object that will match the pattern category entity.\n\tconst normalizedCategory = {\n\t\tid: category.id,\n\t\tslug: category.slug,\n\t\tname: category.label,\n\t};\n\n\t// Optimization - only use pattern categories when the modal is open.\n\tconst existingCategories = usePatternCategories();\n\n\treturn (\n\t\t<RenamePatternCategoryModal\n\t\t\tcategory={ normalizedCategory }\n\t\t\texistingCategories={ existingCategories }\n\t\t\tonClose={ onClose }\n\t\t\toverlayClassName=\"edit-site-list__rename-modal\"\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t/>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAAyB;AACzB,qBAAyB;AACzB,kBAAmB;AACnB,sBAAmD;AAInD,oCAAiC;AAKjC,yBAAuB;AAQrB;AANF,IAAM,EAAE,2BAA2B,QAAI,2BAAQ,gBAAAA,WAAoB;AAEpD,SAAR,uBAAyC,EAAE,UAAU,QAAQ,GAAI;AACvE,QAAM,CAAE,aAAa,cAAe,QAAI,yBAAU,KAAM;AAExD,SACC,4EACC;AAAA,gDAAC,8BAAS,SAAU,MAAM,eAAgB,IAAK,GAC5C,8BAAI,QAAS,GAChB;AAAA,IACE,eACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,SAAU,MAAM;AACf,yBAAgB,KAAM;AACtB,kBAAQ;AAAA,QACT;AAAA;AAAA,IACD;AAAA,KAEF;AAEF;AAEA,SAAS,YAAa,EAAE,UAAU,QAAQ,GAAI;AAI7C,QAAM,qBAAqB;AAAA,IAC1B,IAAI,SAAS;AAAA,IACb,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,EAChB;AAGA,QAAM,yBAAqB,8BAAAC,SAAqB;AAEhD,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA,kBAAiB;AAAA,MACjB,cAAa;AAAA,MACb,MAAK;AAAA;AAAA,EACN;AAEF;",
4
+ "sourcesContent": ["import { MenuItem } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\nimport { unlock } from '../../lock-unlock';\n\nconst { RenamePatternCategoryModal } = unlock( patternsPrivateApis );\n\nexport default function RenameCategoryMenuItem( { category, onClose } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={ () => setIsModalOpen( true ) }>\n\t\t\t\t{ __( 'Rename' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<RenameModal\n\t\t\t\t\tcategory={ category }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction RenameModal( { category, onClose } ) {\n\t// User created pattern categories have their properties updated when\n\t// retrieved via `getUserPatternCategories`. The rename modal expects an\n\t// object that will match the pattern category entity.\n\tconst normalizedCategory = {\n\t\tid: category.id,\n\t\tslug: category.slug,\n\t\tname: category.label,\n\t};\n\n\t// Optimization - only use pattern categories when the modal is open.\n\tconst existingCategories = usePatternCategories();\n\n\treturn (\n\t\t<RenamePatternCategoryModal\n\t\t\tcategory={ normalizedCategory }\n\t\t\texistingCategories={ existingCategories }\n\t\t\tonClose={ onClose }\n\t\t\toverlayClassName=\"edit-site-list__rename-modal\"\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"small\"\n\t\t/>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAyB;AACzB,qBAAyB;AACzB,kBAAmB;AACnB,sBAAmD;AACnD,oCAAiC;AACjC,yBAAuB;AAQrB;AANF,IAAM,EAAE,2BAA2B,QAAI,2BAAQ,gBAAAA,WAAoB;AAEpD,SAAR,uBAAyC,EAAE,UAAU,QAAQ,GAAI;AACvE,QAAM,CAAE,aAAa,cAAe,QAAI,yBAAU,KAAM;AAExD,SACC,4EACC;AAAA,gDAAC,8BAAS,SAAU,MAAM,eAAgB,IAAK,GAC5C,8BAAI,QAAS,GAChB;AAAA,IACE,eACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,SAAU,MAAM;AACf,yBAAgB,KAAM;AACtB,kBAAQ;AAAA,QACT;AAAA;AAAA,IACD;AAAA,KAEF;AAEF;AAEA,SAAS,YAAa,EAAE,UAAU,QAAQ,GAAI;AAI7C,QAAM,qBAAqB;AAAA,IAC1B,IAAI,SAAS;AAAA,IACb,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,EAChB;AAGA,QAAM,yBAAqB,8BAAAC,SAAqB;AAEhD,SACC;AAAA,IAAC;AAAA;AAAA,MACA,UAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA,kBAAiB;AAAA,MACjB,cAAa;AAAA,MACb,MAAK;AAAA;AAAA,EACN;AAEF;",
6
6
  "names": ["patternsPrivateApis", "usePatternCategories"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-patterns/search-items.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { extractWords, getNormalizedSearchTerms, normalizeString } = unlock(\n\tblockEditorPrivateApis\n);\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_PART_ALL_AREAS_CATEGORY,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => {\n\tif ( item.type === PATTERN_TYPES.user ) {\n\t\treturn item.slug;\n\t}\n\n\tif ( item.type === TEMPLATE_PART_POST_TYPE ) {\n\t\treturn '';\n\t}\n\n\treturn item.name || '';\n};\n\nexport const defaultGetTitle = ( item ) => {\n\tif ( typeof item.title === 'string' ) {\n\t\treturn item.title;\n\t}\n\n\tif ( item.title && item.title.rendered ) {\n\t\treturn item.title.rendered;\n\t}\n\n\tif ( item.title && item.title.raw ) {\n\t\treturn item.title.raw;\n\t}\n\n\treturn '';\n};\n\nconst defaultGetDescription = ( item ) => {\n\tif ( item.type === PATTERN_TYPES.user ) {\n\t\treturn item.excerpt.raw;\n\t}\n\n\treturn item.description || '';\n};\n\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultHasCategory = () => false;\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\n\t// Filter patterns by category: the default category indicates that all patterns will be shown.\n\tconst onlyFilterByCategory =\n\t\tconfig.categoryId !== PATTERN_DEFAULT_CATEGORY &&\n\t\t! normalizedSearchTerms.length;\n\tconst searchRankConfig = { ...config, onlyFilterByCategory };\n\n\t// If we aren't filtering on search terms, matching on category is satisfactory.\n\t// If we are, then we need more than a category match.\n\tconst threshold = onlyFilterByCategory ? 0 : 1;\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [\n\t\t\t\titem,\n\t\t\t\tgetItemSearchRank( item, searchInput, searchRankConfig ),\n\t\t\t];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > threshold );\n\n\t// If we didn't have terms to search on, there's no point sorting.\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn rankedItems.map( ( [ item ] ) => item );\n\t}\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nfunction getItemSearchRank( item, searchTerm, config ) {\n\tconst {\n\t\tcategoryId,\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\thasCategory = defaultHasCategory,\n\t\tonlyFilterByCategory,\n\t} = config;\n\n\tlet rank =\n\t\tcategoryId === PATTERN_DEFAULT_CATEGORY ||\n\t\tcategoryId === TEMPLATE_PART_ALL_AREAS_CATEGORY ||\n\t\t( categoryId === PATTERN_USER_CATEGORY &&\n\t\t\titem.type === PATTERN_TYPES.user ) ||\n\t\thasCategory( item, categoryId )\n\t\t\t? 1\n\t\t\t: 0;\n\n\t// If an item doesn't belong to the current category or we don't have\n\t// search terms to filter by, return the initial rank value.\n\tif ( ! rank || onlyFilterByCategory ) {\n\t\treturn rank;\n\t}\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\n\tconst normalizedSearchInput = normalizeString( searchTerm );\n\tconst normalizedTitle = normalizeString( title );\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, description matches come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [ name, title, description, ...keywords ].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\treturn rank;\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { unlock } from '../../lock-unlock';\nconst { extractWords, getNormalizedSearchTerms, normalizeString } = unlock(\n\tblockEditorPrivateApis\n);\nimport {\n\tTEMPLATE_PART_ALL_AREAS_CATEGORY,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => {\n\tif ( item.type === PATTERN_TYPES.user ) {\n\t\treturn item.slug;\n\t}\n\n\tif ( item.type === TEMPLATE_PART_POST_TYPE ) {\n\t\treturn '';\n\t}\n\n\treturn item.name || '';\n};\n\nexport const defaultGetTitle = ( item ) => {\n\tif ( typeof item.title === 'string' ) {\n\t\treturn item.title;\n\t}\n\n\tif ( item.title && item.title.rendered ) {\n\t\treturn item.title.rendered;\n\t}\n\n\tif ( item.title && item.title.raw ) {\n\t\treturn item.title.raw;\n\t}\n\n\treturn '';\n};\n\nconst defaultGetDescription = ( item ) => {\n\tif ( item.type === PATTERN_TYPES.user ) {\n\t\treturn item.excerpt.raw;\n\t}\n\n\treturn item.description || '';\n};\n\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultHasCategory = () => false;\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\n\t// Filter patterns by category: the default category indicates that all patterns will be shown.\n\tconst onlyFilterByCategory =\n\t\tconfig.categoryId !== PATTERN_DEFAULT_CATEGORY &&\n\t\t! normalizedSearchTerms.length;\n\tconst searchRankConfig = { ...config, onlyFilterByCategory };\n\n\t// If we aren't filtering on search terms, matching on category is satisfactory.\n\t// If we are, then we need more than a category match.\n\tconst threshold = onlyFilterByCategory ? 0 : 1;\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [\n\t\t\t\titem,\n\t\t\t\tgetItemSearchRank( item, searchInput, searchRankConfig ),\n\t\t\t];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > threshold );\n\n\t// If we didn't have terms to search on, there's no point sorting.\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn rankedItems.map( ( [ item ] ) => item );\n\t}\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nfunction getItemSearchRank( item, searchTerm, config ) {\n\tconst {\n\t\tcategoryId,\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\thasCategory = defaultHasCategory,\n\t\tonlyFilterByCategory,\n\t} = config;\n\n\tlet rank =\n\t\tcategoryId === PATTERN_DEFAULT_CATEGORY ||\n\t\tcategoryId === TEMPLATE_PART_ALL_AREAS_CATEGORY ||\n\t\t( categoryId === PATTERN_USER_CATEGORY &&\n\t\t\titem.type === PATTERN_TYPES.user ) ||\n\t\thasCategory( item, categoryId )\n\t\t\t? 1\n\t\t\t: 0;\n\n\t// If an item doesn't belong to the current category or we don't have\n\t// search terms to filter by, return the initial rank value.\n\tif ( ! rank || onlyFilterByCategory ) {\n\t\treturn rank;\n\t}\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\n\tconst normalizedSearchInput = normalizeString( searchTerm );\n\tconst normalizedTitle = normalizeString( title );\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, description matches come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [ name, title, description, ...keywords ].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\treturn rank;\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["blockEditorPrivateApis"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-patterns/use-pattern-settings.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { generateGlobalStyles } from '@wordpress/global-styles-engine';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport { filterOutDuplicatesByName } from './utils';\n\nconst { useGlobalStyles } = unlock( editorPrivateApis );\nconst { globalStylesDataKey } = unlock( blockEditorPrivateApis );\n\nexport default function usePatternSettings() {\n\t/*\n\t * Generate global styles directly because block previews use a separate\n\t * ExperimentalBlockEditorProvider and can't access GlobalStylesRenderer's output.\n\t * Reading config from useGlobalStyles and generating CSS directly keeps us in sync.\n\t * See: https://github.com/WordPress/gutenberg/issues/73350\n\t */\n\tconst { merged: mergedConfig } = useGlobalStyles();\n\n\tconst storedSettings = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\treturn getSettings();\n\t}, [] );\n\n\tconst settingsBlockPatterns =\n\t\tstoredSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatterns; // WP 5.9\n\n\tconst restBlockPatterns = useSelect(\n\t\t( select ) => select( coreStore ).getBlockPatterns(),\n\t\t[]\n\t);\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t].filter( filterOutDuplicatesByName ),\n\t\t[ settingsBlockPatterns, restBlockPatterns ]\n\t);\n\n\tconst [ globalStyles, globalSettings ] = useMemo( () => {\n\t\treturn generateGlobalStyles( mergedConfig, [], {\n\t\t\tdisableRootPadding: false,\n\t\t} );\n\t}, [ mergedConfig ] );\n\n\tconst settings = useMemo( () => {\n\t\tconst {\n\t\t\t__experimentalAdditionalBlockPatterns,\n\t\t\tstyles,\n\t\t\t__experimentalFeatures,\n\t\t\t...restStoredSettings\n\t\t} = storedSettings;\n\n\t\t// Preserve non-global styles from settings.styles (e.g., editor styles from add_editor_style)\n\t\tconst nonGlobalStyles = ( styles ?? [] ).filter(\n\t\t\t( style ) => ! style.isGlobalStyles\n\t\t);\n\n\t\treturn {\n\t\t\t...restStoredSettings,\n\t\t\tstyles: [ ...nonGlobalStyles, ...globalStyles ],\n\t\t\t__experimentalFeatures: globalSettings,\n\t\t\t[ globalStylesDataKey ]: mergedConfig.styles ?? {},\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\tisPreviewMode: true,\n\t\t};\n\t}, [\n\t\tstoredSettings,\n\t\tblockPatterns,\n\t\tglobalStyles,\n\t\tglobalSettings,\n\t\tmergedConfig,\n\t] );\n\n\treturn settings;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,uBAAmC;AACnC,kBAA0B;AAC1B,qBAAwB;AACxB,0BAAsD;AACtD,oBAAiD;AACjD,kCAAqC;AAKrC,yBAAuB;AACvB,mBAAuC;AACvC,mBAA0C;AAE1C,IAAM,EAAE,gBAAgB,QAAI,2BAAQ,cAAAA,WAAkB;AACtD,IAAM,EAAE,oBAAoB,QAAI,2BAAQ,oBAAAC,WAAuB;AAEhD,SAAR,qBAAsC;AAO5C,QAAM,EAAE,QAAQ,aAAa,IAAI,gBAAgB;AAEjD,QAAM,qBAAiB,uBAAW,CAAE,WAAY;AAC/C,UAAM,EAAE,YAAY,QAAI,2BAAQ,OAAQ,aAAAC,KAAc,CAAE;AACxD,WAAO,YAAY;AAAA,EACpB,GAAG,CAAC,CAAE;AAEN,QAAM,wBACL,eAAe;AAAA,EACf,eAAe;AAEhB,QAAM,wBAAoB;AAAA,IACzB,CAAE,WAAY,OAAQ,iBAAAC,KAAU,EAAE,iBAAiB;AAAA,IACnD,CAAC;AAAA,EACF;AAEA,QAAM,oBAAgB;AAAA,IACrB,MACC;AAAA,MACC,GAAK,yBAAyB,CAAC;AAAA,MAC/B,GAAK,qBAAqB,CAAC;AAAA,IAC5B,EAAE,OAAQ,sCAA0B;AAAA,IACrC,CAAE,uBAAuB,iBAAkB;AAAA,EAC5C;AAEA,QAAM,CAAE,cAAc,cAAe,QAAI,wBAAS,MAAM;AACvD,eAAO,kDAAsB,cAAc,CAAC,GAAG;AAAA,MAC9C,oBAAoB;AAAA,IACrB,CAAE;AAAA,EACH,GAAG,CAAE,YAAa,CAAE;AAEpB,QAAM,eAAW,wBAAS,MAAM;AAC/B,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACJ,IAAI;AAGJ,UAAM,mBAAoB,UAAU,CAAC,GAAI;AAAA,MACxC,CAAE,UAAW,CAAE,MAAM;AAAA,IACtB;AAEA,WAAO;AAAA,MACN,GAAG;AAAA,MACH,QAAQ,CAAE,GAAG,iBAAiB,GAAG,YAAa;AAAA,MAC9C,wBAAwB;AAAA,MACxB,CAAE,mBAAoB,GAAG,aAAa,UAAU,CAAC;AAAA,MACjD,6BAA6B;AAAA,MAC7B,eAAe;AAAA,IAChB;AAAA,EACD,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,SAAO;AACR;",
4
+ "sourcesContent": ["import { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { generateGlobalStyles } from '@wordpress/global-styles-engine';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport { filterOutDuplicatesByName } from './utils';\n\nconst { useGlobalStyles } = unlock( editorPrivateApis );\nconst { globalStylesDataKey } = unlock( blockEditorPrivateApis );\n\nexport default function usePatternSettings() {\n\t/*\n\t * Generate global styles directly because block previews use a separate\n\t * ExperimentalBlockEditorProvider and can't access GlobalStylesRenderer's output.\n\t * Reading config from useGlobalStyles and generating CSS directly keeps us in sync.\n\t * See: https://github.com/WordPress/gutenberg/issues/73350\n\t */\n\tconst { merged: mergedConfig } = useGlobalStyles();\n\n\tconst storedSettings = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\treturn getSettings();\n\t}, [] );\n\n\tconst settingsBlockPatterns =\n\t\tstoredSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatterns; // WP 5.9\n\n\tconst restBlockPatterns = useSelect(\n\t\t( select ) => select( coreStore ).getBlockPatterns(),\n\t\t[]\n\t);\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t].filter( filterOutDuplicatesByName ),\n\t\t[ settingsBlockPatterns, restBlockPatterns ]\n\t);\n\n\tconst [ globalStyles, globalSettings ] = useMemo( () => {\n\t\treturn generateGlobalStyles( mergedConfig, [], {\n\t\t\tdisableRootPadding: false,\n\t\t} );\n\t}, [ mergedConfig ] );\n\n\tconst settings = useMemo( () => {\n\t\tconst {\n\t\t\t__experimentalAdditionalBlockPatterns,\n\t\t\tstyles,\n\t\t\t__experimentalFeatures,\n\t\t\t...restStoredSettings\n\t\t} = storedSettings;\n\n\t\t// Preserve non-global styles from settings.styles (e.g., editor styles from add_editor_style)\n\t\tconst nonGlobalStyles = ( styles ?? [] ).filter(\n\t\t\t( style ) => ! style.isGlobalStyles\n\t\t);\n\n\t\treturn {\n\t\t\t...restStoredSettings,\n\t\t\tstyles: [ ...nonGlobalStyles, ...globalStyles ],\n\t\t\t__experimentalFeatures: globalSettings,\n\t\t\t[ globalStylesDataKey ]: mergedConfig.styles ?? {},\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\tisPreviewMode: true,\n\t\t};\n\t}, [\n\t\tstoredSettings,\n\t\tblockPatterns,\n\t\tglobalStyles,\n\t\tglobalSettings,\n\t\tmergedConfig,\n\t] );\n\n\treturn settings;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAmC;AACnC,kBAA0B;AAC1B,qBAAwB;AACxB,0BAAsD;AACtD,oBAAiD;AACjD,kCAAqC;AACrC,yBAAuB;AACvB,mBAAuC;AACvC,mBAA0C;AAE1C,IAAM,EAAE,gBAAgB,QAAI,2BAAQ,cAAAA,WAAkB;AACtD,IAAM,EAAE,oBAAoB,QAAI,2BAAQ,oBAAAC,WAAuB;AAEhD,SAAR,qBAAsC;AAO5C,QAAM,EAAE,QAAQ,aAAa,IAAI,gBAAgB;AAEjD,QAAM,qBAAiB,uBAAW,CAAE,WAAY;AAC/C,UAAM,EAAE,YAAY,QAAI,2BAAQ,OAAQ,aAAAC,KAAc,CAAE;AACxD,WAAO,YAAY;AAAA,EACpB,GAAG,CAAC,CAAE;AAEN,QAAM,wBACL,eAAe;AAAA,EACf,eAAe;AAEhB,QAAM,wBAAoB;AAAA,IACzB,CAAE,WAAY,OAAQ,iBAAAC,KAAU,EAAE,iBAAiB;AAAA,IACnD,CAAC;AAAA,EACF;AAEA,QAAM,oBAAgB;AAAA,IACrB,MACC;AAAA,MACC,GAAK,yBAAyB,CAAC;AAAA,MAC/B,GAAK,qBAAqB,CAAC;AAAA,IAC5B,EAAE,OAAQ,sCAA0B;AAAA,IACrC,CAAE,uBAAuB,iBAAkB;AAAA,EAC5C;AAEA,QAAM,CAAE,cAAc,cAAe,QAAI,wBAAS,MAAM;AACvD,eAAO,kDAAsB,cAAc,CAAC,GAAG;AAAA,MAC9C,oBAAoB;AAAA,IACrB,CAAE;AAAA,EACH,GAAG,CAAE,YAAa,CAAE;AAEpB,QAAM,eAAW,wBAAS,MAAM;AAC/B,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACJ,IAAI;AAGJ,UAAM,mBAAoB,UAAU,CAAC,GAAI;AAAA,MACxC,CAAE,UAAW,CAAE,MAAM;AAAA,IACtB;AAEA,WAAO;AAAA,MACN,GAAG;AAAA,MACH,QAAQ,CAAE,GAAG,iBAAiB,GAAG,YAAa;AAAA,MAC9C,wBAAwB;AAAA,MACxB,CAAE,mBAAoB,GAAG,aAAa,UAAU,CAAC;AAAA,MACjD,6BAA6B;AAAA,MAC7B,eAAe;AAAA,IAChB;AAAA,EACD,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAEF,SAAO;AACR;",
6
6
  "names": ["editorPrivateApis", "blockEditorPrivateApis", "editSiteStore", "coreStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-patterns/use-patterns.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect, createSelector } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst selectTemplateParts = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst {\n\t\t\tgetEntityRecords,\n\t\t\tgetCurrentTheme,\n\t\t\tisResolving: isResolvingSelector,\n\t\t} = select( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst templateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\n\t\t// In the case where a custom template part area has been removed we need\n\t\t// the current list of areas to cross check against so orphaned template\n\t\t// parts can be treated as uncategorized.\n\t\tconst knownAreas = getCurrentTheme()?.default_template_part_areas || [];\n\n\t\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\t\tconst templatePartHasCategory = ( item, category ) => {\n\t\t\tif ( category !== TEMPLATE_PART_AREA_DEFAULT_CATEGORY ) {\n\t\t\t\treturn item.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = isResolvingSelector( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tquery,\n\t\t] );\n\n\t\tconst patterns = searchItems( templateParts, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\n\t\treturn { patterns, isResolving };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{\n\t\t\t\tper_page: -1,\n\t\t\t}\n\t\t),\n\t\tselect( coreStore ).isResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getCurrentTheme()?.default_template_part_areas,\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst { isResolving: isResolvingSelector } = select( coreStore );\n\t\tconst settings = getSettings();\n\t\tconst blockPatterns =\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns;\n\n\t\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\t\tconst patterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t]\n\t\t\t.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\t! EXCLUDED_PATTERN_SOURCES.includes( pattern.source )\n\t\t\t)\n\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t...pattern,\n\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t} ),\n\t\t\t} ) );\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving: isResolvingSelector( 'getBlockPatterns' ),\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tselect( coreStore ).isResolving( 'getBlockPatterns' ),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst {\n\t\t\tpatterns: themePatterns,\n\t\t\tisResolving: isResolvingThemePatterns,\n\t\t} = selectThemePatterns( select );\n\t\tconst {\n\t\t\tpatterns: userPatterns,\n\t\t\tisResolving: isResolvingUserPatterns,\n\t\t\tcategories: userPatternCategories,\n\t\t} = selectUserPatterns( select );\n\n\t\tlet patterns = [\n\t\t\t...( themePatterns || [] ),\n\t\t\t...( userPatterns || [] ),\n\t\t];\n\n\t\tif ( syncStatus ) {\n\t\t\t// User patterns can have their sync statuses checked directly\n\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\tpatterns = patterns.filter( ( pattern ) => {\n\t\t\t\treturn pattern.type === PATTERN_TYPES.user\n\t\t\t\t\t? ( pattern.wp_pattern_sync_status ||\n\t\t\t\t\t\t\tPATTERN_SYNC_TYPES.full ) === syncStatus\n\t\t\t\t\t: syncStatus === PATTERN_SYNC_TYPES.unsynced;\n\t\t\t} );\n\t\t}\n\n\t\tif ( categoryId ) {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\tcategoryId,\n\t\t\t\thasCategory: ( item, currentCategory ) => {\n\t\t\t\t\tif ( item.type === PATTERN_TYPES.user ) {\n\t\t\t\t\t\treturn item.wp_pattern_category?.some(\n\t\t\t\t\t\t\t( catId ) =>\n\t\t\t\t\t\t\t\tuserPatternCategories.find(\n\t\t\t\t\t\t\t\t\t( cat ) => cat.id === catId\n\t\t\t\t\t\t\t\t)?.slug === currentCategory\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn item.categories?.includes( currentCategory );\n\t\t\t\t},\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => {\n\t\t\t\t\tif ( item.type === PATTERN_TYPES.user ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tuserPatternCategories?.length &&\n\t\t\t\t\t\t\t( ! item.wp_pattern_category?.length ||\n\t\t\t\t\t\t\t\t! item.wp_pattern_category?.some( ( catId ) =>\n\t\t\t\t\t\t\t\t\tuserPatternCategories.find(\n\t\t\t\t\t\t\t\t\t\t( cat ) => cat.id === catId\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);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ! item.hasOwnProperty( 'categories' );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving: isResolvingThemePatterns || isResolvingUserPatterns,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst {\n\t\t\tgetEntityRecords,\n\t\t\tisResolving: isResolvingSelector,\n\t\t\tgetUserPatternCategories,\n\t\t} = select( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst patternPosts = getEntityRecords(\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery\n\t\t);\n\t\tconst userPatternCategories = getUserPatternCategories();\n\t\tconst categories = new Map();\n\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\tcategories.set( userCategory.id, userCategory )\n\t\t);\n\t\tlet patterns = patternPosts ?? EMPTY_PATTERN_LIST;\n\t\tconst isResolving = isResolvingSelector( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery,\n\t\t] );\n\n\t\tif ( syncStatus ) {\n\t\t\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\tpattern.wp_pattern_sync_status ||\n\t\t\t\t\tPATTERN_SYNC_TYPES.full === syncStatus\n\t\t\t);\n\t\t}\n\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving,\n\t\t\tcategories: userPatternCategories,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords( 'postType', PATTERN_TYPES.user, {\n\t\t\tper_page: -1,\n\t\t} ),\n\t\tselect( coreStore ).isResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getUserPatternCategories(),\n\t]\n);\n\nexport function useAugmentPatternsWithPermissions( patterns ) {\n\tconst idsAndTypes = useMemo(\n\t\t() =>\n\t\t\tpatterns\n\t\t\t\t?.filter( ( record ) => record.type !== PATTERN_TYPES.theme )\n\t\t\t\t.map( ( record ) => [ record.type, record.id ] ) ?? [],\n\t\t[ patterns ]\n\t);\n\n\tconst permissions = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecordPermissions } = unlock(\n\t\t\t\tselect( coreStore )\n\t\t\t);\n\t\t\treturn idsAndTypes.reduce( ( acc, [ type, id ] ) => {\n\t\t\t\tacc[ id ] = getEntityRecordPermissions( 'postType', type, id );\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t},\n\t\t[ idsAndTypes ]\n\t);\n\n\treturn useMemo(\n\t\t() =>\n\t\t\tpatterns?.map( ( record ) => ( {\n\t\t\t\t...record,\n\t\t\t\tpermissions: permissions?.[ record.id ] ?? {},\n\t\t\t} ) ) ?? [],\n\t\t[ patterns, permissions ]\n\t);\n}\n\nexport const usePatterns = (\n\tpostType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplateParts( select, categoryId, search );\n\t\t\t} else if ( postType === PATTERN_TYPES.user && !! categoryId ) {\n\t\t\t\tconst appliedCategory =\n\t\t\t\t\tcategoryId === 'uncategorized' ? '' : categoryId;\n\t\t\t\treturn selectPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tappliedCategory,\n\t\t\t\t\tsyncStatus,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( postType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, syncStatus, search );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpatterns: EMPTY_PATTERN_LIST,\n\t\t\t\tisResolving: false,\n\t\t\t};\n\t\t},\n\t\t[ categoryId, postType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { parse } from '@wordpress/blocks';\nimport { useSelect, createSelector } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst selectTemplateParts = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst {\n\t\t\tgetEntityRecords,\n\t\t\tgetCurrentTheme,\n\t\t\tisResolving: isResolvingSelector,\n\t\t} = select( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst templateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\n\t\t// In the case where a custom template part area has been removed we need\n\t\t// the current list of areas to cross check against so orphaned template\n\t\t// parts can be treated as uncategorized.\n\t\tconst knownAreas = getCurrentTheme()?.default_template_part_areas || [];\n\n\t\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\t\tconst templatePartHasCategory = ( item, category ) => {\n\t\t\tif ( category !== TEMPLATE_PART_AREA_DEFAULT_CATEGORY ) {\n\t\t\t\treturn item.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = isResolvingSelector( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tquery,\n\t\t] );\n\n\t\tconst patterns = searchItems( templateParts, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\n\t\treturn { patterns, isResolving };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{\n\t\t\t\tper_page: -1,\n\t\t\t}\n\t\t),\n\t\tselect( coreStore ).isResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getCurrentTheme()?.default_template_part_areas,\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst { isResolving: isResolvingSelector } = select( coreStore );\n\t\tconst settings = getSettings();\n\t\tconst blockPatterns =\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns;\n\n\t\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\t\tconst patterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t]\n\t\t\t.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\t! EXCLUDED_PATTERN_SOURCES.includes( pattern.source )\n\t\t\t)\n\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t...pattern,\n\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t} ),\n\t\t\t} ) );\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving: isResolvingSelector( 'getBlockPatterns' ),\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tselect( coreStore ).isResolving( 'getBlockPatterns' ),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst {\n\t\t\tpatterns: themePatterns,\n\t\t\tisResolving: isResolvingThemePatterns,\n\t\t} = selectThemePatterns( select );\n\t\tconst {\n\t\t\tpatterns: userPatterns,\n\t\t\tisResolving: isResolvingUserPatterns,\n\t\t\tcategories: userPatternCategories,\n\t\t} = selectUserPatterns( select );\n\n\t\tlet patterns = [\n\t\t\t...( themePatterns || [] ),\n\t\t\t...( userPatterns || [] ),\n\t\t];\n\n\t\tif ( syncStatus ) {\n\t\t\t// User patterns can have their sync statuses checked directly\n\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\tpatterns = patterns.filter( ( pattern ) => {\n\t\t\t\treturn pattern.type === PATTERN_TYPES.user\n\t\t\t\t\t? ( pattern.wp_pattern_sync_status ||\n\t\t\t\t\t\t\tPATTERN_SYNC_TYPES.full ) === syncStatus\n\t\t\t\t\t: syncStatus === PATTERN_SYNC_TYPES.unsynced;\n\t\t\t} );\n\t\t}\n\n\t\tif ( categoryId ) {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\tcategoryId,\n\t\t\t\thasCategory: ( item, currentCategory ) => {\n\t\t\t\t\tif ( item.type === PATTERN_TYPES.user ) {\n\t\t\t\t\t\treturn item.wp_pattern_category?.some(\n\t\t\t\t\t\t\t( catId ) =>\n\t\t\t\t\t\t\t\tuserPatternCategories.find(\n\t\t\t\t\t\t\t\t\t( cat ) => cat.id === catId\n\t\t\t\t\t\t\t\t)?.slug === currentCategory\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn item.categories?.includes( currentCategory );\n\t\t\t\t},\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => {\n\t\t\t\t\tif ( item.type === PATTERN_TYPES.user ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tuserPatternCategories?.length &&\n\t\t\t\t\t\t\t( ! item.wp_pattern_category?.length ||\n\t\t\t\t\t\t\t\t! item.wp_pattern_category?.some( ( catId ) =>\n\t\t\t\t\t\t\t\t\tuserPatternCategories.find(\n\t\t\t\t\t\t\t\t\t\t( cat ) => cat.id === catId\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);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ! item.hasOwnProperty( 'categories' );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving: isResolvingThemePatterns || isResolvingUserPatterns,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst {\n\t\t\tgetEntityRecords,\n\t\t\tisResolving: isResolvingSelector,\n\t\t\tgetUserPatternCategories,\n\t\t} = select( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst patternPosts = getEntityRecords(\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery\n\t\t);\n\t\tconst userPatternCategories = getUserPatternCategories();\n\t\tconst categories = new Map();\n\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\tcategories.set( userCategory.id, userCategory )\n\t\t);\n\t\tlet patterns = patternPosts ?? EMPTY_PATTERN_LIST;\n\t\tconst isResolving = isResolvingSelector( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery,\n\t\t] );\n\n\t\tif ( syncStatus ) {\n\t\t\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\tpattern.wp_pattern_sync_status ||\n\t\t\t\t\tPATTERN_SYNC_TYPES.full === syncStatus\n\t\t\t);\n\t\t}\n\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving,\n\t\t\tcategories: userPatternCategories,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords( 'postType', PATTERN_TYPES.user, {\n\t\t\tper_page: -1,\n\t\t} ),\n\t\tselect( coreStore ).isResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getUserPatternCategories(),\n\t]\n);\n\nexport function useAugmentPatternsWithPermissions( patterns ) {\n\tconst idsAndTypes = useMemo(\n\t\t() =>\n\t\t\tpatterns\n\t\t\t\t?.filter( ( record ) => record.type !== PATTERN_TYPES.theme )\n\t\t\t\t.map( ( record ) => [ record.type, record.id ] ) ?? [],\n\t\t[ patterns ]\n\t);\n\n\tconst permissions = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecordPermissions } = unlock(\n\t\t\t\tselect( coreStore )\n\t\t\t);\n\t\t\treturn idsAndTypes.reduce( ( acc, [ type, id ] ) => {\n\t\t\t\tacc[ id ] = getEntityRecordPermissions( 'postType', type, id );\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t},\n\t\t[ idsAndTypes ]\n\t);\n\n\treturn useMemo(\n\t\t() =>\n\t\t\tpatterns?.map( ( record ) => ( {\n\t\t\t\t...record,\n\t\t\t\tpermissions: permissions?.[ record.id ] ?? {},\n\t\t\t} ) ) ?? [],\n\t\t[ patterns, permissions ]\n\t);\n}\n\nexport const usePatterns = (\n\tpostType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplateParts( select, categoryId, search );\n\t\t\t} else if ( postType === PATTERN_TYPES.user && !! categoryId ) {\n\t\t\t\tconst appliedCategory =\n\t\t\t\t\tcategoryId === 'uncategorized' ? '' : categoryId;\n\t\t\t\treturn selectPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tappliedCategory,\n\t\t\t\t\tsyncStatus,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( postType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, syncStatus, search );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpatterns: EMPTY_PATTERN_LIST,\n\t\t\t\tisResolving: false,\n\t\t\t};\n\t\t},\n\t\t[ categoryId, postType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],
5
+ "mappings": "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",
6
6
  "names": ["coreStore", "editSiteStore"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-templates/fields.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon as WCIcon,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport { BlockPreview } from '@wordpress/block-editor';\nimport {\n\tEditorProvider,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport {\n\tprivateApis as corePrivateApis,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useAddedBy } from './hooks';\nimport { useDefaultTemplateTypes } from '../add-new-template/utils';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { Badge: WCBadge } = unlock( componentsPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\nconst { useStyle } = unlock( editorPrivateApis );\n\nfunction useAllDefaultTemplateTypes() {\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst { records: staticRecords } = useEntityRecordsWithPermissions(\n\t\t'root',\n\t\t'registeredTemplate'\n\t);\n\treturn [\n\t\t...defaultTemplateTypes,\n\t\t...staticRecords\n\t\t\t?.filter( ( record ) => ! record.is_custom )\n\t\t\t.map( ( record ) => {\n\t\t\t\treturn {\n\t\t\t\t\tslug: record.slug,\n\t\t\t\t\ttitle: record.title.rendered,\n\t\t\t\t\tdescription: record.description,\n\t\t\t\t};\n\t\t\t} ),\n\t];\n}\n\nfunction PreviewField( { item } ) {\n\tconst settings = usePatternSettings();\n\tconst backgroundColor = useStyle( 'color.background' ) ?? 'white';\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<EditorProvider post={ item } settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName=\"page-templates-preview-field\"\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</BlockPreview.Async>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorProvider>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nexport const descriptionField = {\n\tlabel: __( 'Description' ),\n\tid: 'description',\n\trender: window?.__experimentalTemplateActivate\n\t\t? function RenderDescription( { item } ) {\n\t\t\t\tconst defaultTemplateTypes = useAllDefaultTemplateTypes();\n\t\t\t\tconst defaultTemplateType = defaultTemplateTypes.find(\n\t\t\t\t\t( type ) => type.slug === item.slug\n\t\t\t\t);\n\t\t\t\treturn item.description\n\t\t\t\t\t? decodeEntities( item.description )\n\t\t\t\t\t: defaultTemplateType?.description;\n\t\t }\n\t\t: ( { item } ) => {\n\t\t\t\treturn item.description && decodeEntities( item.description );\n\t\t },\n\tenableSorting: false,\n\tenableGlobalSearch: true,\n};\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'fields-controls__author-avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"fields-controls__author-icon\">\n\t\t\t\t\t<WCIcon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"fields-controls__author-name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport const authorField = {\n\tlabel: __( 'Author' ),\n\tid: 'author',\n\tgetValue: ( { item } ) => item.author_text ?? item.author,\n\trender: AuthorField,\n};\n\nexport const activeField = {\n\tlabel: __( 'Status' ),\n\tid: 'active',\n\ttype: 'boolean',\n\tgetValue: ( { item } ) => item._isActive,\n\trender: function Render( { item } ) {\n\t\tconst activeLabel = item._isCustom\n\t\t\t? _x( 'Active when used', 'template' )\n\t\t\t: _x( 'Active', 'template' );\n\t\tconst activeIntent = item._isCustom ? 'info' : 'success';\n\t\tconst isActive = item._isActive;\n\t\treturn (\n\t\t\t<WCBadge intent={ isActive ? activeIntent : 'default' }>\n\t\t\t\t{ isActive ? activeLabel : _x( 'Inactive', 'template' ) }\n\t\t\t</WCBadge>\n\t\t);\n\t},\n};\n\nexport const useThemeField = () => {\n\tconst activeTheme = useSelect( ( select ) =>\n\t\tselect( coreStore ).getCurrentTheme()\n\t);\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tlabel: __( 'Compatible Theme' ),\n\t\t\tid: 'theme',\n\t\t\tgetValue: ( { item } ) => item.theme,\n\t\t\trender: function Render( { item } ) {\n\t\t\t\tif ( item.theme === activeTheme.stylesheet ) {\n\t\t\t\t\treturn <WCBadge intent=\"success\">{ item.theme }</WCBadge>;\n\t\t\t\t}\n\t\t\t\treturn <WCBadge intent=\"error\">{ item.theme }</WCBadge>;\n\t\t\t},\n\t\t} ),\n\t\t[ activeTheme ]\n\t);\n};\n\nexport const slugField = {\n\tlabel: __( 'Template Type' ),\n\tid: 'slug',\n\tgetValue: ( { item } ) => item.slug,\n\trender: function Render( { item } ) {\n\t\tconst defaultTemplateTypes = useAllDefaultTemplateTypes();\n\t\tconst defaultTemplateType = defaultTemplateTypes.find(\n\t\t\t( type ) => type.slug === item.slug\n\t\t);\n\t\treturn defaultTemplateType?.title || _x( 'Custom', 'template type' );\n\t},\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport {\n\tIcon as WCIcon,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport { BlockPreview } from '@wordpress/block-editor';\nimport {\n\tEditorProvider,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport {\n\tprivateApis as corePrivateApis,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useAddedBy } from './hooks';\nimport { useDefaultTemplateTypes } from '../add-new-template/utils';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { Badge: WCBadge } = unlock( componentsPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\nconst { useStyle } = unlock( editorPrivateApis );\n\nfunction useAllDefaultTemplateTypes() {\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst { records: staticRecords } = useEntityRecordsWithPermissions(\n\t\t'root',\n\t\t'registeredTemplate'\n\t);\n\treturn [\n\t\t...defaultTemplateTypes,\n\t\t...staticRecords\n\t\t\t?.filter( ( record ) => ! record.is_custom )\n\t\t\t.map( ( record ) => {\n\t\t\t\treturn {\n\t\t\t\t\tslug: record.slug,\n\t\t\t\t\ttitle: record.title.rendered,\n\t\t\t\t\tdescription: record.description,\n\t\t\t\t};\n\t\t\t} ),\n\t];\n}\n\nfunction PreviewField( { item } ) {\n\tconst settings = usePatternSettings();\n\tconst backgroundColor = useStyle( 'color.background' ) ?? 'white';\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<EditorProvider post={ item } settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName=\"page-templates-preview-field\"\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</BlockPreview.Async>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorProvider>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nexport const descriptionField = {\n\tlabel: __( 'Description' ),\n\tid: 'description',\n\trender: window?.__experimentalTemplateActivate\n\t\t? function RenderDescription( { item } ) {\n\t\t\t\tconst defaultTemplateTypes = useAllDefaultTemplateTypes();\n\t\t\t\tconst defaultTemplateType = defaultTemplateTypes.find(\n\t\t\t\t\t( type ) => type.slug === item.slug\n\t\t\t\t);\n\t\t\t\treturn item.description\n\t\t\t\t\t? decodeEntities( item.description )\n\t\t\t\t\t: defaultTemplateType?.description;\n\t\t }\n\t\t: ( { item } ) => {\n\t\t\t\treturn item.description && decodeEntities( item.description );\n\t\t },\n\tenableSorting: false,\n\tenableGlobalSearch: true,\n};\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'fields-controls__author-avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"fields-controls__author-icon\">\n\t\t\t\t\t<WCIcon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"fields-controls__author-name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport const authorField = {\n\tlabel: __( 'Author' ),\n\tid: 'author',\n\tgetValue: ( { item } ) => item.author_text ?? item.author,\n\trender: AuthorField,\n};\n\nexport const activeField = {\n\tlabel: __( 'Status' ),\n\tid: 'active',\n\ttype: 'boolean',\n\tgetValue: ( { item } ) => item._isActive,\n\trender: function Render( { item } ) {\n\t\tconst activeLabel = item._isCustom\n\t\t\t? _x( 'Active when used', 'template' )\n\t\t\t: _x( 'Active', 'template' );\n\t\tconst activeIntent = item._isCustom ? 'info' : 'success';\n\t\tconst isActive = item._isActive;\n\t\treturn (\n\t\t\t<WCBadge intent={ isActive ? activeIntent : 'default' }>\n\t\t\t\t{ isActive ? activeLabel : _x( 'Inactive', 'template' ) }\n\t\t\t</WCBadge>\n\t\t);\n\t},\n};\n\nexport const useThemeField = () => {\n\tconst activeTheme = useSelect( ( select ) =>\n\t\tselect( coreStore ).getCurrentTheme()\n\t);\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tlabel: __( 'Compatible Theme' ),\n\t\t\tid: 'theme',\n\t\t\tgetValue: ( { item } ) => item.theme,\n\t\t\trender: function Render( { item } ) {\n\t\t\t\tif ( item.theme === activeTheme.stylesheet ) {\n\t\t\t\t\treturn <WCBadge intent=\"success\">{ item.theme }</WCBadge>;\n\t\t\t\t}\n\t\t\t\treturn <WCBadge intent=\"error\">{ item.theme }</WCBadge>;\n\t\t\t},\n\t\t} ),\n\t\t[ activeTheme ]\n\t);\n};\n\nexport const slugField = {\n\tlabel: __( 'Template Type' ),\n\tid: 'slug',\n\tgetValue: ( { item } ) => item.slug,\n\trender: function Render( { item } ) {\n\t\tconst defaultTemplateTypes = useAllDefaultTemplateTypes();\n\t\tconst defaultTemplateType = defaultTemplateTypes.find(\n\t\t\t( type ) => type.slug === item.slug\n\t\t);\n\t\treturn defaultTemplateType?.title || _x( 'Custom', 'template type' );\n\t},\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["componentsPrivateApis", "corePrivateApis", "editorPrivateApis", "usePatternSettings", "HStack", "clsx", "WCIcon", "coreStore", "Render"]
7
7
  }