@wordpress/edit-site 5.27.1 → 5.28.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 (362) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +3 -6
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/add-new-template/add-custom-generic-template-modal-content.js +1 -2
  5. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  6. package/build/components/add-new-template/add-custom-template-modal-content.js +1 -2
  7. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  8. package/build/components/block-editor/editor-canvas.js +1 -2
  9. package/build/components/block-editor/editor-canvas.js.map +1 -1
  10. package/build/components/block-editor/inserter-media-categories.js +1 -2
  11. package/build/components/block-editor/inserter-media-categories.js.map +1 -1
  12. package/build/components/block-editor/resizable-editor.js +1 -2
  13. package/build/components/block-editor/resizable-editor.js.map +1 -1
  14. package/build/components/block-editor/site-editor-canvas.js +12 -5
  15. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  16. package/build/components/block-editor/use-navigate-to-entity-record.js +32 -0
  17. package/build/components/block-editor/use-navigate-to-entity-record.js.map +1 -0
  18. package/build/components/block-editor/use-site-editor-settings.js +30 -4
  19. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  20. package/build/components/editor/index.js +13 -10
  21. package/build/components/editor/index.js.map +1 -1
  22. package/build/components/editor-canvas-container/index.js +1 -2
  23. package/build/components/editor-canvas-container/index.js.map +1 -1
  24. package/build/components/global-styles/block-preview-panel.js +1 -2
  25. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  26. package/build/components/global-styles/color-indicator-wrapper.js +1 -2
  27. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
  28. package/build/components/global-styles/font-families.js +9 -5
  29. package/build/components/global-styles/font-families.js.map +1 -1
  30. package/build/components/global-styles/font-family-item.js +1 -2
  31. package/build/components/global-styles/font-family-item.js.map +1 -1
  32. package/build/components/global-styles/font-library-modal/collection-font-details.js +1 -2
  33. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  34. package/build/components/global-styles/font-library-modal/collection-font-variant.js +13 -13
  35. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  36. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +1 -2
  37. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -1
  38. package/build/components/global-styles/font-library-modal/context.js +16 -4
  39. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  40. package/build/components/global-styles/font-library-modal/font-card.js +3 -3
  41. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
  42. package/build/components/global-styles/font-library-modal/font-collection.js +26 -40
  43. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  44. package/build/components/global-styles/font-library-modal/font-demo.js +6 -12
  45. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  46. package/build/components/global-styles/font-library-modal/fonts-grid.js +1 -2
  47. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  48. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +3 -4
  49. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  50. package/build/components/global-styles/font-library-modal/index.js +11 -5
  51. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  52. package/build/components/global-styles/font-library-modal/installed-fonts.js +14 -26
  53. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  54. package/build/components/global-styles/font-library-modal/library-font-card.js +2 -3
  55. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  56. package/build/components/global-styles/font-library-modal/library-font-details.js +1 -2
  57. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  58. package/build/components/global-styles/font-library-modal/library-font-variant.js +15 -15
  59. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  60. package/build/components/global-styles/font-library-modal/resolvers.js +1 -1
  61. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  62. package/build/components/global-styles/font-library-modal/tab-panel-layout.js +13 -4
  63. package/build/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
  64. package/build/components/global-styles/font-library-modal/upload-fonts.js +157 -6
  65. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  66. package/build/components/global-styles/font-library-modal/utils/constants.js +3 -6
  67. package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
  68. package/build/components/global-styles/font-library-modal/utils/index.js +37 -32
  69. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  70. package/build/components/global-styles/header.js +1 -2
  71. package/build/components/global-styles/header.js.map +1 -1
  72. package/build/components/global-styles/palette.js +1 -2
  73. package/build/components/global-styles/palette.js.map +1 -1
  74. package/build/components/global-styles/preview.js +1 -2
  75. package/build/components/global-styles/preview.js.map +1 -1
  76. package/build/components/global-styles/root-menu.js +1 -2
  77. package/build/components/global-styles/root-menu.js.map +1 -1
  78. package/build/components/global-styles/screen-block-list.js +1 -2
  79. package/build/components/global-styles/screen-block-list.js.map +1 -1
  80. package/build/components/global-styles/screen-block.js +1 -11
  81. package/build/components/global-styles/screen-block.js.map +1 -1
  82. package/build/components/global-styles/screen-color-palette.js +1 -2
  83. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  84. package/build/components/global-styles/screen-colors.js +1 -2
  85. package/build/components/global-styles/screen-colors.js.map +1 -1
  86. package/build/components/global-styles/screen-css.js +1 -2
  87. package/build/components/global-styles/screen-css.js.map +1 -1
  88. package/build/components/global-styles/screen-layout.js +1 -2
  89. package/build/components/global-styles/screen-layout.js.map +1 -1
  90. package/build/components/global-styles/screen-revisions/index.js +1 -2
  91. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  92. package/build/components/global-styles/screen-revisions/revisions-buttons.js +2 -3
  93. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  94. package/build/components/global-styles/screen-root.js +1 -2
  95. package/build/components/global-styles/screen-root.js.map +1 -1
  96. package/build/components/global-styles/screen-style-variations.js +1 -2
  97. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  98. package/build/components/global-styles/screen-typography-element.js +3 -6
  99. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  100. package/build/components/global-styles/screen-typography.js +1 -2
  101. package/build/components/global-styles/screen-typography.js.map +1 -1
  102. package/build/components/global-styles/subtitle.js +1 -2
  103. package/build/components/global-styles/subtitle.js.map +1 -1
  104. package/build/components/global-styles/typogrphy-elements.js +1 -2
  105. package/build/components/global-styles/typogrphy-elements.js.map +1 -1
  106. package/build/components/global-styles/ui.js +3 -4
  107. package/build/components/global-styles/ui.js.map +1 -1
  108. package/build/components/header-edit-mode/mode-switcher/index.js +1 -2
  109. package/build/components/header-edit-mode/mode-switcher/index.js.map +1 -1
  110. package/build/components/header-edit-mode/more-menu/index.js +12 -21
  111. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  112. package/build/components/header-edit-mode/plugin-more-menu-item/index.js +1 -2
  113. package/build/components/header-edit-mode/plugin-more-menu-item/index.js.map +1 -1
  114. package/build/components/header-edit-mode/tools-more-menu-group/index.js +1 -2
  115. package/build/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  116. package/build/components/keyboard-shortcut-help-modal/config.js +1 -2
  117. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  118. package/build/components/keyboard-shortcut-help-modal/index.js +1 -3
  119. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  120. package/build/components/keyboard-shortcuts/edit-mode.js +1 -2
  121. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  122. package/build/components/keyboard-shortcuts/global.js +1 -2
  123. package/build/components/keyboard-shortcuts/global.js.map +1 -1
  124. package/build/components/keyboard-shortcuts/register.js +1 -2
  125. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  126. package/build/components/layout/index.js +0 -2
  127. package/build/components/layout/index.js.map +1 -1
  128. package/build/components/media/index.js +1 -2
  129. package/build/components/media/index.js.map +1 -1
  130. package/build/components/page-pages/index.js +27 -15
  131. package/build/components/page-pages/index.js.map +1 -1
  132. package/build/components/page-patterns/dataviews-pattern-actions.js +87 -32
  133. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  134. package/build/components/page-patterns/grid-item.js +2 -6
  135. package/build/components/page-patterns/grid-item.js.map +1 -1
  136. package/build/components/page-patterns/index.js +2 -1
  137. package/build/components/page-patterns/index.js.map +1 -1
  138. package/build/components/page-patterns/search-items.js +0 -1
  139. package/build/components/page-patterns/search-items.js.map +1 -1
  140. package/build/components/page-patterns/use-patterns.js +1 -2
  141. package/build/components/page-patterns/use-patterns.js.map +1 -1
  142. package/build/components/page-templates-template-parts/actions.js +2 -4
  143. package/build/components/page-templates-template-parts/actions.js.map +1 -1
  144. package/build/components/page-templates-template-parts/index.js +8 -5
  145. package/build/components/page-templates-template-parts/index.js.map +1 -1
  146. package/build/components/pattern-modal/index.js +1 -2
  147. package/build/components/pattern-modal/index.js.map +1 -1
  148. package/build/components/plugin-template-setting-panel/index.js +1 -2
  149. package/build/components/plugin-template-setting-panel/index.js.map +1 -1
  150. package/build/components/preferences-modal/index.js +1 -2
  151. package/build/components/preferences-modal/index.js.map +1 -1
  152. package/build/components/resizable-frame/index.js +1 -2
  153. package/build/components/resizable-frame/index.js.map +1 -1
  154. package/build/components/revisions/index.js +1 -2
  155. package/build/components/revisions/index.js.map +1 -1
  156. package/build/components/routes/link.js +3 -7
  157. package/build/components/routes/link.js.map +1 -1
  158. package/build/components/sidebar/index.js +3 -4
  159. package/build/components/sidebar/index.js.map +1 -1
  160. package/build/components/sidebar-dataviews/default-views.js +4 -6
  161. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  162. package/build/components/sidebar-edit-mode/constants.js +2 -4
  163. package/build/components/sidebar-edit-mode/constants.js.map +1 -1
  164. package/build/components/sidebar-edit-mode/index.js +97 -19
  165. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  166. package/build/components/sidebar-edit-mode/settings-header/index.js +22 -73
  167. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  168. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +1 -2
  169. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  170. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +1 -2
  171. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  172. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  173. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  174. package/build/components/site-hub/index.js +1 -2
  175. package/build/components/site-hub/index.js.map +1 -1
  176. package/build/components/site-icon/index.js +3 -4
  177. package/build/components/site-icon/index.js.map +1 -1
  178. package/build/components/style-book/index.js +1 -2
  179. package/build/components/style-book/index.js.map +1 -1
  180. package/build/components/template-part-converter/convert-to-template-part.js +0 -1
  181. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  182. package/build/components/welcome-guide/template.js +2 -2
  183. package/build/components/welcome-guide/template.js.map +1 -1
  184. package/build/hooks/commands/use-edit-mode-commands.js +16 -6
  185. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  186. package/build/hooks/navigation-menu-edit.js +1 -2
  187. package/build/hooks/navigation-menu-edit.js.map +1 -1
  188. package/build/hooks/template-part-edit.js +1 -2
  189. package/build/hooks/template-part-edit.js.map +1 -1
  190. package/build/store/actions.js +7 -2
  191. package/build/store/actions.js.map +1 -1
  192. package/build/store/constants.js +1 -2
  193. package/build/store/constants.js.map +1 -1
  194. package/build/store/index.js +4 -6
  195. package/build/store/index.js.map +1 -1
  196. package/build/store/reducer.js +1 -2
  197. package/build/store/reducer.js.map +1 -1
  198. package/build/store/selectors.js +9 -18
  199. package/build/store/selectors.js.map +1 -1
  200. package/build/store/utils.js +1 -2
  201. package/build/store/utils.js.map +1 -1
  202. package/build/utils/constants.js +13 -26
  203. package/build/utils/constants.js.map +1 -1
  204. package/build-module/components/block-editor/site-editor-canvas.js +13 -6
  205. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  206. package/build-module/components/block-editor/use-navigate-to-entity-record.js +25 -0
  207. package/build-module/components/block-editor/use-navigate-to-entity-record.js.map +1 -0
  208. package/build-module/components/block-editor/use-site-editor-settings.js +29 -4
  209. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  210. package/build-module/components/editor/index.js +13 -10
  211. package/build-module/components/editor/index.js.map +1 -1
  212. package/build-module/components/global-styles/font-families.js +8 -4
  213. package/build-module/components/global-styles/font-families.js.map +1 -1
  214. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +12 -11
  215. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  216. package/build-module/components/global-styles/font-library-modal/context.js +14 -0
  217. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  218. package/build-module/components/global-styles/font-library-modal/font-card.js +3 -2
  219. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
  220. package/build-module/components/global-styles/font-library-modal/font-collection.js +28 -41
  221. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  222. package/build-module/components/global-styles/font-library-modal/font-demo.js +5 -10
  223. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  224. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +2 -2
  225. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  226. package/build-module/components/global-styles/font-library-modal/index.js +10 -3
  227. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  228. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +14 -25
  229. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  230. package/build-module/components/global-styles/font-library-modal/library-font-card.js +1 -1
  231. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  232. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +14 -13
  233. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  234. package/build-module/components/global-styles/font-library-modal/resolvers.js +1 -1
  235. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  236. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js +13 -3
  237. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
  238. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +158 -6
  239. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  240. package/build-module/components/global-styles/font-library-modal/utils/index.js +36 -31
  241. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  242. package/build-module/components/global-styles/screen-block.js +0 -9
  243. package/build-module/components/global-styles/screen-block.js.map +1 -1
  244. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  245. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  246. package/build-module/components/global-styles/screen-typography-element.js +3 -5
  247. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  248. package/build-module/components/header-edit-mode/more-menu/index.js +12 -21
  249. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  250. package/build-module/components/keyboard-shortcut-help-modal/index.js +0 -1
  251. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  252. package/build-module/components/layout/index.js +0 -2
  253. package/build-module/components/layout/index.js.map +1 -1
  254. package/build-module/components/page-pages/index.js +25 -13
  255. package/build-module/components/page-pages/index.js.map +1 -1
  256. package/build-module/components/page-patterns/dataviews-pattern-actions.js +81 -20
  257. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  258. package/build-module/components/page-patterns/grid-item.js +1 -4
  259. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  260. package/build-module/components/page-patterns/index.js +2 -1
  261. package/build-module/components/page-patterns/index.js.map +1 -1
  262. package/build-module/components/page-patterns/search-items.js +0 -1
  263. package/build-module/components/page-patterns/search-items.js.map +1 -1
  264. package/build-module/components/page-templates-template-parts/index.js +6 -3
  265. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  266. package/build-module/components/routes/link.js +3 -6
  267. package/build-module/components/routes/link.js.map +1 -1
  268. package/build-module/components/sidebar-dataviews/default-views.js +3 -3
  269. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  270. package/build-module/components/sidebar-edit-mode/index.js +98 -19
  271. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  272. package/build-module/components/sidebar-edit-mode/settings-header/index.js +24 -73
  273. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  274. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +2 -2
  275. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  276. package/build-module/components/site-icon/index.js +2 -2
  277. package/build-module/components/site-icon/index.js.map +1 -1
  278. package/build-module/components/template-part-converter/convert-to-template-part.js +0 -1
  279. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  280. package/build-module/components/welcome-guide/template.js +2 -2
  281. package/build-module/components/welcome-guide/template.js.map +1 -1
  282. package/build-module/hooks/commands/use-edit-mode-commands.js +16 -6
  283. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  284. package/build-module/store/actions.js +7 -2
  285. package/build-module/store/actions.js.map +1 -1
  286. package/build-style/style-rtl.css +398 -224
  287. package/build-style/style.css +398 -224
  288. package/package.json +42 -42
  289. package/src/components/add-new-template/style.scss +0 -12
  290. package/src/components/block-editor/site-editor-canvas.js +23 -15
  291. package/src/components/block-editor/style.scss +2 -20
  292. package/src/components/block-editor/use-navigate-to-entity-record.js +25 -0
  293. package/src/components/block-editor/use-site-editor-settings.js +35 -4
  294. package/src/components/editor/index.js +11 -10
  295. package/src/components/global-styles/font-families.js +13 -4
  296. package/src/components/global-styles/font-library-modal/collection-font-variant.js +10 -8
  297. package/src/components/global-styles/font-library-modal/context.js +14 -0
  298. package/src/components/global-styles/font-library-modal/font-card.js +10 -4
  299. package/src/components/global-styles/font-library-modal/font-collection.js +25 -47
  300. package/src/components/global-styles/font-library-modal/font-demo.js +9 -10
  301. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +2 -2
  302. package/src/components/global-styles/font-library-modal/index.js +8 -3
  303. package/src/components/global-styles/font-library-modal/installed-fonts.js +20 -34
  304. package/src/components/global-styles/font-library-modal/library-font-card.js +1 -1
  305. package/src/components/global-styles/font-library-modal/library-font-variant.js +12 -10
  306. package/src/components/global-styles/font-library-modal/resolvers.js +1 -1
  307. package/src/components/global-styles/font-library-modal/style.scss +13 -27
  308. package/src/components/global-styles/font-library-modal/tab-panel-layout.js +17 -0
  309. package/src/components/global-styles/font-library-modal/upload-fonts.js +192 -6
  310. package/src/components/global-styles/font-library-modal/utils/index.js +46 -39
  311. package/src/components/global-styles/screen-block.js +0 -12
  312. package/src/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  313. package/src/components/global-styles/screen-revisions/style.scss +21 -15
  314. package/src/components/global-styles/screen-typography-element.js +2 -4
  315. package/src/components/global-styles/style.scss +4 -0
  316. package/src/components/header-edit-mode/more-menu/index.js +10 -18
  317. package/src/components/header-edit-mode/style.scss +54 -6
  318. package/src/components/layout/style.scss +2 -7
  319. package/src/components/page/style.scss +0 -1
  320. package/src/components/page-pages/index.js +32 -23
  321. package/src/components/page-pages/style.scss +28 -27
  322. package/src/components/page-patterns/dataviews-pattern-actions.js +106 -30
  323. package/src/components/page-patterns/grid-item.js +0 -2
  324. package/src/components/page-patterns/index.js +1 -0
  325. package/src/components/page-patterns/style.scss +4 -9
  326. package/src/components/page-templates-template-parts/index.js +23 -16
  327. package/src/components/page-templates-template-parts/style.scss +16 -0
  328. package/src/components/routes/link.js +3 -12
  329. package/src/components/sidebar-dataviews/default-views.js +3 -3
  330. package/src/components/sidebar-edit-mode/index.js +122 -29
  331. package/src/components/sidebar-edit-mode/settings-header/index.js +28 -88
  332. package/src/components/sidebar-edit-mode/settings-header/style.scss +0 -87
  333. package/src/components/sidebar-edit-mode/sidebar-card/style.scss +3 -0
  334. package/src/components/sidebar-edit-mode/style.scss +4 -0
  335. package/src/components/sidebar-navigation-screen/style.scss +2 -1
  336. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +9 -3
  337. package/src/components/site-hub/style.scss +0 -1
  338. package/src/components/site-icon/index.js +1 -1
  339. package/src/components/site-icon/style.scss +9 -1
  340. package/src/components/welcome-guide/template.js +2 -2
  341. package/src/hooks/commands/use-edit-mode-commands.js +26 -14
  342. package/src/store/actions.js +20 -3
  343. package/build/components/block-editor/back-button.js +0 -47
  344. package/build/components/block-editor/back-button.js.map +0 -1
  345. package/build/components/block-editor/use-post-link-props.js +0 -27
  346. package/build/components/block-editor/use-post-link-props.js.map +0 -1
  347. package/build/components/global-styles/font-library-modal/font-variant.js +0 -51
  348. package/build/components/global-styles/font-library-modal/font-variant.js.map +0 -1
  349. package/build/components/global-styles/font-library-modal/local-fonts.js +0 -196
  350. package/build/components/global-styles/font-library-modal/local-fonts.js.map +0 -1
  351. package/build-module/components/block-editor/back-button.js +0 -39
  352. package/build-module/components/block-editor/back-button.js.map +0 -1
  353. package/build-module/components/block-editor/use-post-link-props.js +0 -20
  354. package/build-module/components/block-editor/use-post-link-props.js.map +0 -1
  355. package/build-module/components/global-styles/font-library-modal/font-variant.js +0 -42
  356. package/build-module/components/global-styles/font-library-modal/font-variant.js.map +0 -1
  357. package/build-module/components/global-styles/font-library-modal/local-fonts.js +0 -187
  358. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +0 -1
  359. package/src/components/block-editor/back-button.js +0 -48
  360. package/src/components/block-editor/use-post-link-props.js +0 -20
  361. package/src/components/global-styles/font-library-modal/font-variant.js +0 -53
  362. package/src/components/global-styles/font-library-modal/local-fonts.js +0 -239
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_coreData","_htmlEntities","_element","_date","_router","_data","_dataviews","_page","_interopRequireDefault","_link","_interopRequireWildcard","_defaultViews","_constants","_actions","_addNewPage","_media","_lockUnlock","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","useLocation","useHistory","unlock","routerPrivateApis","EMPTY_ARRAY","SUPPORTED_LAYOUTS","window","__experimentalAdminViews","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","useView","postType","params","activeView","isCustom","layout","history","selectedDefaultView","useMemo","defaultView","DEFAULT_VIEWS","find","slug","view","type","setView","useState","useEffect","editedViewRecord","useSelect","select","getEditedEntityRecord","coreStore","dataviewRecord","Number","editEntityRecord","useDispatch","customView","storedView","content","JSON","parse","DEFAULT_CONFIG_PER_VIEW_TYPE","setCustomView","useCallback","viewToSet","id","stringify","setDefaultViewAndUpdateUrl","push","STATUSES","value","label","__","DEFAULT_STATUSES","FeaturedImage","item","viewType","onClick","useLink","postId","canvas","hasMedia","featured_media","_react","createElement","className","title","rendered","size","PagePages","onSelectionChange","items","length","undefined","queryArgs","filters","forEach","filter","field","operator","OPERATOR_IN","status","author","OPERATOR_NOT_IN","author_exclude","per_page","perPage","page","_embed","order","sort","direction","orderby","search","records","pages","isResolving","isLoadingPages","totalItems","totalPages","useEntityRecords","authors","isLoadingAuthors","paginationInfo","fields","header","getValue","render","enableSorting","includes","decodeEntities","maxWidth","enableHiding","_embedded","name","ENUMERATION_TYPE","elements","map","_STATUSES$find$label","filterBy","operators","date","formattedDate","dateI18n","getSettings","formats","datetimeAbbreviated","getDate","permanentlyDeletePostAction","usePermanentlyDeletePostAction","restorePostAction","useRestorePostAction","editPostAction","useEditPostAction","actions","viewPostAction","trashPostAction","postRevisionsAction","onChangeView","newView","showAddPageModal","setShowAddPageModal","openModal","closeModal","handleNewPage","Fragment","Button","variant","onSave","onClose","DataViews","data","isLoading","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-pages/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { dateI18n, getDate, getSettings } from '@wordpress/date';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { DataViews } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport {\n\tDEFAULT_VIEWS,\n\tDEFAULT_CONFIG_PER_VIEW_TYPE,\n} from '../sidebar-dataviews/default-views';\nimport {\n\tENUMERATION_TYPE,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n\tOPERATOR_IN,\n\tOPERATOR_NOT_IN,\n} from '../../utils/constants';\n\nimport {\n\ttrashPostAction,\n\tusePermanentlyDeletePostAction,\n\tuseRestorePostAction,\n\tpostRevisionsAction,\n\tviewPostAction,\n\tuseEditPostAction,\n} from '../actions';\nimport AddNewPageModal from '../add-new-page';\nimport Media from '../media';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst SUPPORTED_LAYOUTS = window?.__experimentalAdminViews\n\t? [ LAYOUT_GRID, LAYOUT_TABLE, LAYOUT_LIST ]\n\t: [ LAYOUT_GRID, LAYOUT_TABLE ];\n\nfunction useView( postType ) {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', isCustom = 'false', layout } = params;\n\tconst history = useHistory();\n\tconst selectedDefaultView = useMemo( () => {\n\t\tconst defaultView =\n\t\t\tisCustom === 'false' &&\n\t\t\tDEFAULT_VIEWS[ postType ].find(\n\t\t\t\t( { slug } ) => slug === activeView\n\t\t\t)?.view;\n\t\tif ( isCustom === 'false' && layout ) {\n\t\t\treturn {\n\t\t\t\t...defaultView,\n\t\t\t\ttype: layout,\n\t\t\t};\n\t\t}\n\t\treturn defaultView;\n\t}, [ isCustom, activeView, layout, postType ] );\n\tconst [ view, setView ] = useState( selectedDefaultView );\n\n\tuseEffect( () => {\n\t\tif ( selectedDefaultView ) {\n\t\t\tsetView( selectedDefaultView );\n\t\t}\n\t}, [ selectedDefaultView ] );\n\tconst editedViewRecord = useSelect(\n\t\t( select ) => {\n\t\t\tif ( isCustom !== 'true' ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst dataviewRecord = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_dataviews',\n\t\t\t\tNumber( activeView )\n\t\t\t);\n\t\t\treturn dataviewRecord;\n\t\t},\n\t\t[ activeView, isCustom ]\n\t);\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst customView = useMemo( () => {\n\t\tconst storedView =\n\t\t\teditedViewRecord?.content &&\n\t\t\tJSON.parse( editedViewRecord?.content );\n\t\tif ( ! storedView ) {\n\t\t\treturn storedView;\n\t\t}\n\n\t\treturn {\n\t\t\t...storedView,\n\t\t\tlayout: {\n\t\t\t\t...( DEFAULT_CONFIG_PER_VIEW_TYPE[ storedView?.type ] || {} ),\n\t\t\t},\n\t\t};\n\t}, [ editedViewRecord?.content ] );\n\n\tconst setCustomView = useCallback(\n\t\t( viewToSet ) => {\n\t\t\teditEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_dataviews',\n\t\t\t\teditedViewRecord?.id,\n\t\t\t\t{\n\t\t\t\t\tcontent: JSON.stringify( viewToSet ),\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\t[ editEntityRecord, editedViewRecord?.id ]\n\t);\n\n\tconst setDefaultViewAndUpdateUrl = useCallback(\n\t\t( viewToSet ) => {\n\t\t\tif ( viewToSet.type !== view?.type ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: viewToSet.type,\n\t\t\t\t} );\n\t\t\t}\n\t\t\tsetView( viewToSet );\n\t\t},\n\t\t[ params, view?.type, history ]\n\t);\n\n\tif ( isCustom === 'false' ) {\n\t\treturn [ view, setDefaultViewAndUpdateUrl ];\n\t} else if ( isCustom === 'true' && customView ) {\n\t\treturn [ customView, setCustomView ];\n\t}\n\t// Loading state where no the view was not found on custom views or default views.\n\treturn [ DEFAULT_VIEWS[ postType ][ 0 ].view, setDefaultViewAndUpdateUrl ];\n}\n\n// See https://github.com/WordPress/gutenberg/issues/55886\n// We do not support custom statutes at the moment.\nconst STATUSES = [\n\t{ value: 'draft', label: __( 'Draft' ) },\n\t{ value: 'future', label: __( 'Scheduled' ) },\n\t{ value: 'pending', label: __( 'Pending Review' ) },\n\t{ value: 'private', label: __( 'Private' ) },\n\t{ value: 'publish', label: __( 'Published' ) },\n\t{ value: 'trash', label: __( 'Trash' ) },\n];\nconst DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.\n\nfunction FeaturedImage( { item, viewType } ) {\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\tconst hasMedia = !! item.featured_media;\n\treturn (\n\t\t<span\n\t\t\tclassName={ {\n\t\t\t\t'edit-site-page-pages__media-wrapper':\n\t\t\t\t\tviewType === LAYOUT_TABLE,\n\t\t\t} }\n\t\t>\n\t\t\t<button\n\t\t\t\tclassName=\"page-pages-preview-field__button\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={ onClick }\n\t\t\t\taria-label={ item.title?.rendered || __( '(no title)' ) }\n\t\t\t>\n\t\t\t\t{ hasMedia && (\n\t\t\t\t\t<Media\n\t\t\t\t\t\tclassName=\"edit-site-page-pages__featured-image\"\n\t\t\t\t\t\tid={ item.featured_media }\n\t\t\t\t\t\tsize={\n\t\t\t\t\t\t\tviewType === LAYOUT_GRID\n\t\t\t\t\t\t\t\t? [ 'large', 'full', 'medium', 'thumbnail' ]\n\t\t\t\t\t\t\t\t: [ 'thumbnail', 'medium', 'large', 'full' ]\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</button>\n\t\t</span>\n\t);\n}\n\nexport default function PagePages() {\n\tconst postType = 'page';\n\tconst [ view, setView ] = useView( postType );\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\tconst { isCustom = 'false' } = params;\n\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( isCustom === 'false' && view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ].id : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, view?.type, isCustom ]\n\t);\n\n\tconst queryArgs = useMemo( () => {\n\t\tconst filters = {};\n\t\tview.filters.forEach( ( filter ) => {\n\t\t\tif (\n\t\t\t\tfilter.field === 'status' &&\n\t\t\t\tfilter.operator === OPERATOR_IN\n\t\t\t) {\n\t\t\t\tfilters.status = filter.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IN\n\t\t\t) {\n\t\t\t\tfilters.author = filter.value;\n\t\t\t} else if (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_NOT_IN\n\t\t\t) {\n\t\t\t\tfilters.author_exclude = filter.value;\n\t\t\t}\n\t\t} );\n\t\t// We want to provide a different default item for the status filter\n\t\t// than the REST API provides.\n\t\tif ( ! filters.status || filters.status === '' ) {\n\t\t\tfilters.status = DEFAULT_STATUSES;\n\t\t}\n\n\t\treturn {\n\t\t\tper_page: view.perPage,\n\t\t\tpage: view.page,\n\t\t\t_embed: 'author',\n\t\t\torder: view.sort?.direction,\n\t\t\torderby: view.sort?.field,\n\t\t\tsearch: view.search,\n\t\t\t...filters,\n\t\t};\n\t}, [ view ] );\n\tconst {\n\t\trecords: pages,\n\t\tisResolving: isLoadingPages,\n\t\ttotalItems,\n\t\ttotalPages,\n\t} = useEntityRecords( 'postType', postType, queryArgs );\n\n\tconst { records: authors, isResolving: isLoadingAuthors } =\n\t\tuseEntityRecords( 'root', 'user' );\n\n\tconst paginationInfo = useMemo(\n\t\t() => ( {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t} ),\n\t\t[ totalItems, totalPages ]\n\t);\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tid: 'featured-image',\n\t\t\t\theader: __( 'Featured Image' ),\n\t\t\t\tgetValue: ( { item } ) => item.featured_media,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<FeaturedImage item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Title' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn [ LAYOUT_TABLE, LAYOUT_GRID ].includes(\n\t\t\t\t\t\tview.type\n\t\t\t\t\t) ? (\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tparams={ {\n\t\t\t\t\t\t\t\tpostId: item.id,\n\t\t\t\t\t\t\t\tpostType: item.type,\n\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities( item.title?.rendered ) ||\n\t\t\t\t\t\t\t\t__( '(no title)' ) }\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tdecodeEntities( item.title?.rendered ) ||\n\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item._embedded?.author[ 0 ]?.name,\n\t\t\t\ttype: ENUMERATION_TYPE,\n\t\t\t\telements:\n\t\t\t\t\tauthors?.map( ( { id, name } ) => ( {\n\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t} ) ) || [],\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Status' ),\n\t\t\t\tid: 'status',\n\t\t\t\tgetValue: ( { item } ) =>\n\t\t\t\t\tSTATUSES.find( ( { value } ) => value === item.status )\n\t\t\t\t\t\t?.label ?? item.status,\n\t\t\t\ttype: ENUMERATION_TYPE,\n\t\t\t\telements: STATUSES,\n\t\t\t\tenableSorting: false,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IN ],\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Date' ),\n\t\t\t\tid: 'date',\n\t\t\t\tgetValue: ( { item } ) => item.date,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\tconst formattedDate = dateI18n(\n\t\t\t\t\t\tgetSettings().formats.datetimeAbbreviated,\n\t\t\t\t\t\tgetDate( item.date )\n\t\t\t\t\t);\n\t\t\t\t\treturn <time>{ formattedDate }</time>;\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t[ authors, view.type ]\n\t);\n\n\tconst permanentlyDeletePostAction = usePermanentlyDeletePostAction();\n\tconst restorePostAction = useRestorePostAction();\n\tconst editPostAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\tviewPostAction,\n\t\t\ttrashPostAction,\n\t\t\trestorePostAction,\n\t\t\tpermanentlyDeletePostAction,\n\t\t\teditPostAction,\n\t\t\tpostRevisionsAction,\n\t\t],\n\t\t[ permanentlyDeletePostAction, restorePostAction, editPostAction ]\n\t);\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...DEFAULT_CONFIG_PER_VIEW_TYPE[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView ]\n\t);\n\n\tconst [ showAddPageModal, setShowAddPageModal ] = useState( false );\n\tconst openModal = useCallback( () => {\n\t\tif ( ! showAddPageModal ) {\n\t\t\tsetShowAddPageModal( true );\n\t\t}\n\t}, [ showAddPageModal ] );\n\tconst closeModal = useCallback( () => {\n\t\tif ( showAddPageModal ) {\n\t\t\tsetShowAddPageModal( false );\n\t\t}\n\t}, [ showAddPageModal ] );\n\tconst handleNewPage = useCallback(\n\t\t( { type, id } ) => {\n\t\t\thistory.push( {\n\t\t\t\tpostId: id,\n\t\t\t\tpostType: type,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\t\t\tcloseModal();\n\t\t},\n\t\t[ history ]\n\t);\n\n\t// TODO: we need to handle properly `data={ data || EMPTY_ARRAY }` for when `isLoading`.\n\treturn (\n\t\t<Page\n\t\t\ttitle={ __( 'Pages' ) }\n\t\t\tactions={\n\t\t\t\t<>\n\t\t\t\t\t<Button variant=\"primary\" onClick={ openModal }>\n\t\t\t\t\t\t{ __( 'Add new page' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t{ showAddPageModal && (\n\t\t\t\t\t\t<AddNewPageModal\n\t\t\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ pages || EMPTY_ARRAY }\n\t\t\t\tisLoading={ isLoadingPages || isLoadingAuthors }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\tsupportedLayouts={ SUPPORTED_LAYOUTS }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_coreData","_htmlEntities","_element","_date","_router","_data","_dataviews","_page","_link","_interopRequireWildcard","_defaultViews","_constants","_actions","_addNewPage","_media","_lockUnlock","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","useLocation","useHistory","unlock","routerPrivateApis","EMPTY_ARRAY","SUPPORTED_LAYOUTS","window","__experimentalAdminViews","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","useView","postType","params","activeView","isCustom","layout","history","selectedDefaultView","useMemo","defaultView","DEFAULT_VIEWS","find","slug","view","type","DEFAULT_CONFIG_PER_VIEW_TYPE","setView","useState","useEffect","editedViewRecord","useSelect","select","getEditedEntityRecord","coreStore","dataviewRecord","Number","editEntityRecord","useDispatch","customView","storedView","content","JSON","parse","setCustomView","useCallback","viewToSet","id","stringify","setDefaultViewAndUpdateUrl","push","STATUSES","value","label","__","DEFAULT_STATUSES","FeaturedImage","item","viewType","onClick","useLink","postId","canvas","hasMedia","featured_media","size","media","_react","createElement","className","classNames","title","rendered","PagePages","onSelectionChange","items","length","undefined","queryArgs","filters","forEach","filter","field","operator","OPERATOR_IN","status","author","OPERATOR_NOT_IN","author_exclude","per_page","perPage","page","_embed","order","sort","direction","orderby","search","records","pages","isResolving","isLoadingPages","totalItems","totalPages","useEntityRecords","authors","isLoadingAuthors","paginationInfo","fields","header","getValue","render","enableSorting","width","includes","decodeEntities","maxWidth","enableHiding","_embedded","name","ENUMERATION_TYPE","elements","map","_STATUSES$find$label","filterBy","operators","date","formattedDate","dateI18n","getSettings","formats","datetimeAbbreviated","getDate","permanentlyDeletePostAction","usePermanentlyDeletePostAction","restorePostAction","useRestorePostAction","editPostAction","useEditPostAction","actions","viewPostAction","trashPostAction","postRevisionsAction","onChangeView","newView","showAddPageModal","setShowAddPageModal","openModal","closeModal","handleNewPage","Fragment","Button","variant","onSave","onClose","DataViews","data","isLoading","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-pages/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { dateI18n, getDate, getSettings } from '@wordpress/date';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { DataViews } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport {\n\tDEFAULT_VIEWS,\n\tDEFAULT_CONFIG_PER_VIEW_TYPE,\n} from '../sidebar-dataviews/default-views';\nimport {\n\tENUMERATION_TYPE,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n\tOPERATOR_IN,\n\tOPERATOR_NOT_IN,\n} from '../../utils/constants';\n\nimport {\n\ttrashPostAction,\n\tusePermanentlyDeletePostAction,\n\tuseRestorePostAction,\n\tpostRevisionsAction,\n\tviewPostAction,\n\tuseEditPostAction,\n} from '../actions';\nimport AddNewPageModal from '../add-new-page';\nimport Media from '../media';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst SUPPORTED_LAYOUTS = window?.__experimentalAdminViews\n\t? [ LAYOUT_GRID, LAYOUT_TABLE, LAYOUT_LIST ]\n\t: [ LAYOUT_GRID, LAYOUT_TABLE ];\n\nfunction useView( postType ) {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', isCustom = 'false', layout } = params;\n\tconst history = useHistory();\n\tconst selectedDefaultView = useMemo( () => {\n\t\tconst defaultView =\n\t\t\tisCustom === 'false' &&\n\t\t\tDEFAULT_VIEWS[ postType ].find(\n\t\t\t\t( { slug } ) => slug === activeView\n\t\t\t)?.view;\n\t\tif ( isCustom === 'false' && layout ) {\n\t\t\treturn {\n\t\t\t\t...defaultView,\n\t\t\t\ttype: layout,\n\t\t\t\tlayout: {\n\t\t\t\t\t...( DEFAULT_CONFIG_PER_VIEW_TYPE[ layout ] || {} ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\treturn defaultView;\n\t}, [ isCustom, activeView, layout, postType ] );\n\tconst [ view, setView ] = useState( selectedDefaultView );\n\n\tuseEffect( () => {\n\t\tif ( selectedDefaultView ) {\n\t\t\tsetView( selectedDefaultView );\n\t\t}\n\t}, [ selectedDefaultView ] );\n\tconst editedViewRecord = useSelect(\n\t\t( select ) => {\n\t\t\tif ( isCustom !== 'true' ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst dataviewRecord = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_dataviews',\n\t\t\t\tNumber( activeView )\n\t\t\t);\n\t\t\treturn dataviewRecord;\n\t\t},\n\t\t[ activeView, isCustom ]\n\t);\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst customView = useMemo( () => {\n\t\tconst storedView =\n\t\t\teditedViewRecord?.content &&\n\t\t\tJSON.parse( editedViewRecord?.content );\n\t\tif ( ! storedView ) {\n\t\t\treturn storedView;\n\t\t}\n\n\t\treturn {\n\t\t\t...storedView,\n\t\t\tlayout: {\n\t\t\t\t...( DEFAULT_CONFIG_PER_VIEW_TYPE[ storedView?.type ] || {} ),\n\t\t\t},\n\t\t};\n\t}, [ editedViewRecord?.content ] );\n\n\tconst setCustomView = useCallback(\n\t\t( viewToSet ) => {\n\t\t\teditEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_dataviews',\n\t\t\t\teditedViewRecord?.id,\n\t\t\t\t{\n\t\t\t\t\tcontent: JSON.stringify( viewToSet ),\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\t[ editEntityRecord, editedViewRecord?.id ]\n\t);\n\n\tconst setDefaultViewAndUpdateUrl = useCallback(\n\t\t( viewToSet ) => {\n\t\t\tif ( viewToSet.type !== view?.type ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: viewToSet.type,\n\t\t\t\t} );\n\t\t\t}\n\t\t\tsetView( viewToSet );\n\t\t},\n\t\t[ params, view?.type, history ]\n\t);\n\n\tif ( isCustom === 'false' ) {\n\t\treturn [ view, setDefaultViewAndUpdateUrl ];\n\t} else if ( isCustom === 'true' && customView ) {\n\t\treturn [ customView, setCustomView ];\n\t}\n\t// Loading state where no the view was not found on custom views or default views.\n\treturn [ DEFAULT_VIEWS[ postType ][ 0 ].view, setDefaultViewAndUpdateUrl ];\n}\n\n// See https://github.com/WordPress/gutenberg/issues/55886\n// We do not support custom statutes at the moment.\nconst STATUSES = [\n\t{ value: 'draft', label: __( 'Draft' ) },\n\t{ value: 'future', label: __( 'Scheduled' ) },\n\t{ value: 'pending', label: __( 'Pending Review' ) },\n\t{ value: 'private', label: __( 'Private' ) },\n\t{ value: 'publish', label: __( 'Published' ) },\n\t{ value: 'trash', label: __( 'Trash' ) },\n];\nconst DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.\n\nfunction FeaturedImage( { item, viewType } ) {\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\tconst hasMedia = !! item.featured_media;\n\tconst size =\n\t\tviewType === LAYOUT_GRID\n\t\t\t? [ 'large', 'full', 'medium', 'thumbnail' ]\n\t\t\t: [ 'thumbnail', 'medium', 'large', 'full' ];\n\tconst media = hasMedia ? (\n\t\t<Media\n\t\t\tclassName=\"edit-site-page-pages__featured-image\"\n\t\t\tid={ item.featured_media }\n\t\t\tsize={ size }\n\t\t/>\n\t) : null;\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn media;\n\t}\n\treturn (\n\t\t<button\n\t\t\tclassName={ classNames( 'page-pages-preview-field__button', {\n\t\t\t\t'edit-site-page-pages__media-wrapper':\n\t\t\t\t\tviewType === LAYOUT_TABLE,\n\t\t\t} ) }\n\t\t\ttype=\"button\"\n\t\t\tonClick={ onClick }\n\t\t\taria-label={ item.title?.rendered || __( '(no title)' ) }\n\t\t>\n\t\t\t{ media }\n\t\t</button>\n\t);\n}\n\nexport default function PagePages() {\n\tconst postType = 'page';\n\tconst [ view, setView ] = useView( postType );\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\tconst { isCustom = 'false' } = params;\n\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( isCustom === 'false' && view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ].id : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, view?.type, isCustom ]\n\t);\n\n\tconst queryArgs = useMemo( () => {\n\t\tconst filters = {};\n\t\tview.filters.forEach( ( filter ) => {\n\t\t\tif (\n\t\t\t\tfilter.field === 'status' &&\n\t\t\t\tfilter.operator === OPERATOR_IN\n\t\t\t) {\n\t\t\t\tfilters.status = filter.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IN\n\t\t\t) {\n\t\t\t\tfilters.author = filter.value;\n\t\t\t} else if (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_NOT_IN\n\t\t\t) {\n\t\t\t\tfilters.author_exclude = filter.value;\n\t\t\t}\n\t\t} );\n\t\t// We want to provide a different default item for the status filter\n\t\t// than the REST API provides.\n\t\tif ( ! filters.status || filters.status === '' ) {\n\t\t\tfilters.status = DEFAULT_STATUSES;\n\t\t}\n\n\t\treturn {\n\t\t\tper_page: view.perPage,\n\t\t\tpage: view.page,\n\t\t\t_embed: 'author',\n\t\t\torder: view.sort?.direction,\n\t\t\torderby: view.sort?.field,\n\t\t\tsearch: view.search,\n\t\t\t...filters,\n\t\t};\n\t}, [ view ] );\n\tconst {\n\t\trecords: pages,\n\t\tisResolving: isLoadingPages,\n\t\ttotalItems,\n\t\ttotalPages,\n\t} = useEntityRecords( 'postType', postType, queryArgs );\n\n\tconst { records: authors, isResolving: isLoadingAuthors } =\n\t\tuseEntityRecords( 'root', 'user' );\n\n\tconst paginationInfo = useMemo(\n\t\t() => ( {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t} ),\n\t\t[ totalItems, totalPages ]\n\t);\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tid: 'featured-image',\n\t\t\t\theader: __( 'Featured Image' ),\n\t\t\t\tgetValue: ( { item } ) => item.featured_media,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<FeaturedImage item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t\twidth: '1%',\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Title' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn [ LAYOUT_TABLE, LAYOUT_GRID ].includes(\n\t\t\t\t\t\tview.type\n\t\t\t\t\t) ? (\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tparams={ {\n\t\t\t\t\t\t\t\tpostId: item.id,\n\t\t\t\t\t\t\t\tpostType: item.type,\n\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities( item.title?.rendered ) ||\n\t\t\t\t\t\t\t\t__( '(no title)' ) }\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tdecodeEntities( item.title?.rendered ) ||\n\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 300,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item._embedded?.author[ 0 ]?.name,\n\t\t\t\ttype: ENUMERATION_TYPE,\n\t\t\t\telements:\n\t\t\t\t\tauthors?.map( ( { id, name } ) => ( {\n\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t} ) ) || [],\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Status' ),\n\t\t\t\tid: 'status',\n\t\t\t\tgetValue: ( { item } ) =>\n\t\t\t\t\tSTATUSES.find( ( { value } ) => value === item.status )\n\t\t\t\t\t\t?.label ?? item.status,\n\t\t\t\ttype: ENUMERATION_TYPE,\n\t\t\t\telements: STATUSES,\n\t\t\t\tenableSorting: false,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IN ],\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Date' ),\n\t\t\t\tid: 'date',\n\t\t\t\tgetValue: ( { item } ) => item.date,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\tconst formattedDate = dateI18n(\n\t\t\t\t\t\tgetSettings().formats.datetimeAbbreviated,\n\t\t\t\t\t\tgetDate( item.date )\n\t\t\t\t\t);\n\t\t\t\t\treturn <time>{ formattedDate }</time>;\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\t[ authors, view.type ]\n\t);\n\n\tconst permanentlyDeletePostAction = usePermanentlyDeletePostAction();\n\tconst restorePostAction = useRestorePostAction();\n\tconst editPostAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\tviewPostAction,\n\t\t\ttrashPostAction,\n\t\t\trestorePostAction,\n\t\t\tpermanentlyDeletePostAction,\n\t\t\teditPostAction,\n\t\t\tpostRevisionsAction,\n\t\t],\n\t\t[ permanentlyDeletePostAction, restorePostAction, editPostAction ]\n\t);\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...DEFAULT_CONFIG_PER_VIEW_TYPE[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView ]\n\t);\n\n\tconst [ showAddPageModal, setShowAddPageModal ] = useState( false );\n\tconst openModal = useCallback( () => {\n\t\tif ( ! showAddPageModal ) {\n\t\t\tsetShowAddPageModal( true );\n\t\t}\n\t}, [ showAddPageModal ] );\n\tconst closeModal = useCallback( () => {\n\t\tif ( showAddPageModal ) {\n\t\t\tsetShowAddPageModal( false );\n\t\t}\n\t}, [ showAddPageModal ] );\n\tconst handleNewPage = useCallback(\n\t\t( { type, id } ) => {\n\t\t\thistory.push( {\n\t\t\t\tpostId: id,\n\t\t\t\tpostType: type,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\t\t\tcloseModal();\n\t\t},\n\t\t[ history ]\n\t);\n\n\t// TODO: we need to handle properly `data={ data || EMPTY_ARRAY }` for when `isLoading`.\n\treturn (\n\t\t<Page\n\t\t\ttitle={ __( 'Pages' ) }\n\t\t\tactions={\n\t\t\t\t<>\n\t\t\t\t\t<Button variant=\"primary\" onClick={ openModal }>\n\t\t\t\t\t\t{ __( 'Add new page' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t{ showAddPageModal && (\n\t\t\t\t\t\t<AddNewPageModal\n\t\t\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ pages || EMPTY_ARRAY }\n\t\t\t\tisLoading={ isLoadingPages || isLoadingAuthors }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\tsupportedLayouts={ SUPPORTED_LAYOUTS }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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"}
@@ -41,7 +41,7 @@ const {
41
41
  CreatePatternModalContents,
42
42
  useDuplicatePatternProps
43
43
  } = (0, _lockUnlock.unlock)(_patterns.privateApis);
44
- const exportJSONaction = {
44
+ const exportJSONaction = exports.exportJSONaction = {
45
45
  id: 'export-pattern',
46
46
  label: (0, _i18n.__)('Export as JSON'),
47
47
  isEligible: item => item.type === _constants.PATTERN_TYPES.user,
@@ -55,8 +55,7 @@ const exportJSONaction = {
55
55
  return (0, _blob.downloadBlob)(`${(0, _changeCase.paramCase)(item.title || item.name)}.json`, JSON.stringify(json, null, 2), 'application/json');
56
56
  }
57
57
  };
58
- exports.exportJSONaction = exportJSONaction;
59
- const renameAction = {
58
+ const renameAction = exports.renameAction = {
60
59
  id: 'rename-pattern',
61
60
  label: (0, _i18n.__)('Rename'),
62
61
  isEligible: item => {
@@ -130,13 +129,12 @@ const renameAction = {
130
129
  }, (0, _i18n.__)('Save')))));
131
130
  }
132
131
  };
133
- exports.renameAction = renameAction;
134
132
  const canDeleteOrReset = item => {
135
133
  const isTemplatePart = item.type === _constants.TEMPLATE_PART_POST_TYPE;
136
134
  const isUserPattern = item.type === _constants.PATTERN_TYPES.user;
137
135
  return isUserPattern || isTemplatePart && item.isCustom;
138
136
  };
139
- const deleteAction = {
137
+ const deleteAction = exports.deleteAction = {
140
138
  id: 'delete-pattern',
141
139
  label: (0, _i18n.__)('Delete'),
142
140
  isEligible: item => {
@@ -145,11 +143,12 @@ const deleteAction = {
145
143
  return canDeleteOrReset(item) && !hasThemeFile;
146
144
  },
147
145
  hideModalHeader: true,
146
+ supportsBulk: true,
148
147
  RenderModal: ({
149
148
  items,
150
- closeModal
149
+ closeModal,
150
+ onPerform
151
151
  }) => {
152
- const [item] = items;
153
152
  const {
154
153
  __experimentalDeleteReusableBlock
155
154
  } = (0, _data.useDispatch)(_reusableBlocks.store);
@@ -158,31 +157,91 @@ const deleteAction = {
158
157
  createSuccessNotice
159
158
  } = (0, _data.useDispatch)(_notices.store);
160
159
  const {
161
- removeTemplate
162
- } = (0, _data.useDispatch)(_store.store);
160
+ removeTemplates
161
+ } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
163
162
  const deletePattern = async () => {
164
- try {
165
- await __experimentalDeleteReusableBlock(item.id);
166
- createSuccessNotice((0, _i18n.sprintf)(
167
- // translators: %s: The pattern's title e.g. 'Call to action'.
168
- (0, _i18n.__)('"%s" deleted.'), item.title), {
169
- type: 'snackbar',
170
- id: 'edit-site-patterns-success'
171
- });
172
- } catch (error) {
173
- const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while deleting the pattern.');
174
- createErrorNotice(errorMessage, {
163
+ const promiseResult = await Promise.allSettled(items.map(item => {
164
+ return __experimentalDeleteReusableBlock(item.id);
165
+ }));
166
+ // If all the promises were fulfilled with success.
167
+ if (promiseResult.every(({
168
+ status
169
+ }) => status === 'fulfilled')) {
170
+ let successMessage;
171
+ if (promiseResult.length === 1) {
172
+ successMessage = (0, _i18n.sprintf)( /* translators: The posts's title. */
173
+ (0, _i18n.__)('"%s" deleted.'), items[0].title);
174
+ } else {
175
+ successMessage = (0, _i18n.__)('The patterns were deleted.');
176
+ }
177
+ createSuccessNotice(successMessage, {
175
178
  type: 'snackbar',
176
- id: 'edit-site-patterns-error'
179
+ id: 'edit-site-page-trashed'
177
180
  });
181
+ } else {
182
+ // If there was at lease one failure.
183
+ let errorMessage;
184
+ // If we were trying to delete a single pattern.
185
+ if (promiseResult.length === 1) {
186
+ if (promiseResult[0].reason?.message) {
187
+ errorMessage = promiseResult[0].reason.message;
188
+ } else {
189
+ errorMessage = (0, _i18n.__)('An error occurred while deleting the pattern.');
190
+ }
191
+ // If we were trying to delete multiple patterns.
192
+ } else {
193
+ const errorMessages = new Set();
194
+ const failedPromises = promiseResult.filter(({
195
+ status
196
+ }) => status === 'rejected');
197
+ for (const failedPromise of failedPromises) {
198
+ if (failedPromise.reason?.message) {
199
+ errorMessages.add(failedPromise.reason.message);
200
+ }
201
+ }
202
+ if (errorMessages.size === 0) {
203
+ errorMessage = (0, _i18n.__)('An error occurred while deleting the patterns.');
204
+ } else if (errorMessages.size === 1) {
205
+ errorMessage = (0, _i18n.sprintf)( /* translators: %s: an error message */
206
+ (0, _i18n.__)('An error occurred while deleting the patterns: %s'), [...errorMessages][0]);
207
+ } else {
208
+ errorMessage = (0, _i18n.sprintf)( /* translators: %s: a list of comma separated error messages */
209
+ (0, _i18n.__)('Some errors occurred while deleting the patterns: %s'), [...errorMessages].join(','));
210
+ }
211
+ createErrorNotice(errorMessage, {
212
+ type: 'snackbar'
213
+ });
214
+ }
178
215
  }
179
216
  };
180
- const deleteItem = () => item.type === _constants.TEMPLATE_PART_POST_TYPE ? removeTemplate(item) : deletePattern();
217
+ const deleteItem = () => {
218
+ if (items[0].type === _constants.TEMPLATE_PART_POST_TYPE) {
219
+ removeTemplates(items);
220
+ } else {
221
+ deletePattern();
222
+ }
223
+ if (onPerform) {
224
+ onPerform();
225
+ }
226
+ closeModal();
227
+ };
228
+ let questionMessage;
229
+ if (items.length === 1) {
230
+ questionMessage = (0, _i18n.sprintf)(
231
+ // translators: %s: The page's title.
232
+ (0, _i18n.__)('Are you sure you want to delete "%s"?'), (0, _htmlEntities.decodeEntities)(items[0].title || items[0].name));
233
+ } else if (items.length > 1 && items[0].type === _constants.TEMPLATE_PART_POST_TYPE) {
234
+ questionMessage = (0, _i18n.sprintf)(
235
+ // translators: %d: The number of template parts (2 or more).
236
+ (0, _i18n.__)('Are you sure you want to delete %d template parts?'), items.length);
237
+ } else {
238
+ questionMessage = (0, _i18n.sprintf)(
239
+ // translators: %d: The number of patterns (2 or more).
240
+ (0, _i18n.__)('Are you sure you want to delete %d patterns?'), items.length);
241
+ }
181
242
  return (0, _react.createElement)(_components.__experimentalVStack, {
182
243
  spacing: "5"
183
- }, (0, _react.createElement)(_components.__experimentalText, null, (0, _i18n.sprintf)(
184
- // translators: %s: The pattern or template part's title e.g. 'Call to action'.
185
- (0, _i18n.__)('Are you sure you want to delete "%s"?'), (0, _htmlEntities.decodeEntities)(item.title || item.name))), (0, _react.createElement)(_components.__experimentalHStack, {
244
+ }, (0, _react.createElement)(_components.__experimentalText, null, questionMessage), (0, _react.createElement)(_components.__experimentalHStack, {
186
245
  justify: "right"
187
246
  }, (0, _react.createElement)(_components.Button, {
188
247
  variant: "tertiary",
@@ -193,8 +252,7 @@ const deleteAction = {
193
252
  }, (0, _i18n.__)('Delete'))));
194
253
  }
195
254
  };
196
- exports.deleteAction = deleteAction;
197
- const resetAction = {
255
+ const resetAction = exports.resetAction = {
198
256
  id: 'reset-action',
199
257
  label: (0, _i18n.__)('Clear customizations'),
200
258
  isEligible: item => {
@@ -224,8 +282,7 @@ const resetAction = {
224
282
  }, (0, _i18n.__)('Clear'))));
225
283
  }
226
284
  };
227
- exports.resetAction = resetAction;
228
- const duplicatePatternAction = {
285
+ const duplicatePatternAction = exports.duplicatePatternAction = {
229
286
  id: 'duplicate-pattern',
230
287
  label: (0, _i18n._x)('Duplicate', 'action label'),
231
288
  isEligible: item => item.type !== _constants.TEMPLATE_PART_POST_TYPE,
@@ -262,8 +319,7 @@ const duplicatePatternAction = {
262
319
  });
263
320
  }
264
321
  };
265
- exports.duplicatePatternAction = duplicatePatternAction;
266
- const duplicateTemplatePartAction = {
322
+ const duplicateTemplatePartAction = exports.duplicateTemplatePartAction = {
267
323
  id: 'duplicate-template-part',
268
324
  label: (0, _i18n._x)('Duplicate', 'action label'),
269
325
  isEligible: item => item.type === _constants.TEMPLATE_PART_POST_TYPE,
@@ -306,5 +362,4 @@ const duplicateTemplatePartAction = {
306
362
  });
307
363
  }
308
364
  };
309
- exports.duplicateTemplatePartAction = duplicateTemplatePartAction;
310
365
  //# sourceMappingURL=dataviews-pattern-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_changeCase","require","_url","_blob","_i18n","_components","_coreData","_data","_element","_notices","_htmlEntities","_reusableBlocks","_router","_patterns","_lockUnlock","_store","_constants","_createTemplatePartModal","useHistory","unlock","routerPrivateApis","CreatePatternModalContents","useDuplicatePatternProps","patternsPrivateApis","exportJSONaction","id","label","__","isEligible","item","type","PATTERN_TYPES","user","callback","json","__file","title","name","content","patternPost","raw","syncStatus","wp_pattern_sync_status","downloadBlob","kebabCase","JSON","stringify","exports","renameAction","isTemplatePart","TEMPLATE_PART_POST_TYPE","isUserPattern","isCustomPattern","isCustom","hasThemeFile","templatePart","has_theme_file","RenderModal","items","closeModal","setTitle","useState","editEntityRecord","saveEditedEntityRecord","useDispatch","coreStore","createSuccessNotice","createErrorNotice","noticesStore","onRename","event","preventDefault","throwOnError","error","fallbackErrorMessage","errorMessage","message","code","_react","createElement","onSubmit","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","required","__experimentalHStack","justify","Button","variant","onClick","canDeleteOrReset","deleteAction","hideModalHeader","__experimentalDeleteReusableBlock","reusableBlocksStore","removeTemplate","editSiteStore","deletePattern","sprintf","deleteItem","__experimentalText","decodeEntities","resetAction","duplicatePatternAction","_x","modalHeader","categoryId","PATTERN_DEFAULT_CATEGORY","getQueryArgs","window","location","href","isThemePattern","theme","history","onPatternSuccess","pattern","push","categoryType","postType","postId","duplicatedProps","onSuccess","onClose","confirmLabel","duplicateTemplatePartAction","onTemplatePartSuccess","CreateTemplatePartModalContents","blocks","defaultArea","area","defaultTitle","onCreate","onError"],"sources":["@wordpress/edit-site/src/components/page-patterns/dataviews-pattern-actions.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { getQueryArgs } from '@wordpress/url';\nimport { downloadBlob } from '@wordpress/blob';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { CreateTemplatePartModalContents } from '../create-template-part-modal';\n\nconst { useHistory } = unlock( routerPrivateApis );\nconst { CreatePatternModalContents, useDuplicatePatternProps } =\n\tunlock( patternsPrivateApis );\n\nexport const exportJSONaction = {\n\tid: 'export-pattern',\n\tlabel: __( 'Export as JSON' ),\n\tisEligible: ( item ) => item.type === PATTERN_TYPES.user,\n\tcallback: ( [ item ] ) => {\n\t\tconst json = {\n\t\t\t__file: item.type,\n\t\t\ttitle: item.title || item.name,\n\t\t\tcontent: item.patternPost.content.raw,\n\t\t\tsyncStatus: item.patternPost.wp_pattern_sync_status,\n\t\t};\n\t\treturn downloadBlob(\n\t\t\t`${ kebabCase( item.title || item.name ) }.json`,\n\t\t\tJSON.stringify( json, null, 2 ),\n\t\t\t'application/json'\n\t\t);\n\t},\n};\n\nexport const renameAction = {\n\tid: 'rename-pattern',\n\tlabel: __( 'Rename' ),\n\tisEligible: ( item ) => {\n\t\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\t\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\t\tconst isCustomPattern =\n\t\t\tisUserPattern || ( isTemplatePart && item.isCustom );\n\t\tconst hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;\n\t\treturn isCustomPattern && ! hasThemeFile;\n\t},\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst [ title, setTitle ] = useState( () => item.title );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tuseDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tasync function onRename( event ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\ttitle,\n\t\t\t\t} );\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetTitle( '' );\n\t\t\t\tcloseModal();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t\t? __( 'Template part renamed.' )\n\t\t\t\t\t\t: __( 'Pattern renamed.' ),\n\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tconst fallbackErrorMessage =\n\t\t\t\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'An error occurred while renaming the template part.'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'An error occurred while renaming the pattern.' );\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\t\treturn (\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\nconst canDeleteOrReset = ( item ) => {\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\treturn isUserPattern || ( isTemplatePart && item.isCustom );\n};\n\nexport const deleteAction = {\n\tid: 'delete-pattern',\n\tlabel: __( 'Delete' ),\n\tisEligible: ( item ) => {\n\t\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\t\tconst hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;\n\t\treturn canDeleteOrReset( item ) && ! hasThemeFile;\n\t},\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst { __experimentalDeleteReusableBlock } =\n\t\t\tuseDispatch( reusableBlocksStore );\n\t\tconst { createErrorNotice, createSuccessNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { removeTemplate } = useDispatch( editSiteStore );\n\n\t\tconst deletePattern = async () => {\n\t\t\ttry {\n\t\t\t\tawait __experimentalDeleteReusableBlock( item.id );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: The pattern's title e.g. 'Call to action'.\n\t\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\t\titem.title\n\t\t\t\t\t),\n\t\t\t\t\t{ type: 'snackbar', id: 'edit-site-patterns-success' }\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: __( 'An error occurred while deleting the pattern.' );\n\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-patterns-error',\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\t\tconst deleteItem = () =>\n\t\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t\t? removeTemplate( item )\n\t\t\t\t: deletePattern();\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: The pattern or template part's title e.g. 'Call to action'.\n\t\t\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\t\t\tdecodeEntities( item.title || item.name )\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button variant=\"primary\" onClick={ deleteItem }>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport const resetAction = {\n\tid: 'reset-action',\n\tlabel: __( 'Clear customizations' ),\n\tisEligible: ( item ) => {\n\t\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\t\tconst hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;\n\t\treturn canDeleteOrReset( item ) && hasThemeFile;\n\t},\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst { removeTemplate } = useDispatch( editSiteStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Are you sure you want to clear these customizations?'\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => removeTemplate( item ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport const duplicatePatternAction = {\n\tid: 'duplicate-pattern',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible: ( item ) => item.type !== TEMPLATE_PART_POST_TYPE,\n\tmodalHeader: _x( 'Duplicate pattern', 'action label' ),\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst { categoryId = PATTERN_DEFAULT_CATEGORY } = getQueryArgs(\n\t\t\twindow.location.href\n\t\t);\n\t\tconst isThemePattern = item.type === PATTERN_TYPES.theme;\n\t\tconst history = useHistory();\n\t\tfunction onPatternSuccess( { pattern } ) {\n\t\t\thistory.push( {\n\t\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\t\tcategoryId,\n\t\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\t\tpostId: pattern.id,\n\t\t\t} );\n\t\t\tcloseModal();\n\t\t}\n\t\tconst duplicatedProps = useDuplicatePatternProps( {\n\t\t\tpattern: isThemePattern ? item : item.patternPost,\n\t\t\tonSuccess: onPatternSuccess,\n\t\t} );\n\t\treturn (\n\t\t\t<CreatePatternModalContents\n\t\t\t\tonClose={ closeModal }\n\t\t\t\tconfirmLabel={ _x( 'Duplicate', 'action label' ) }\n\t\t\t\t{ ...duplicatedProps }\n\t\t\t/>\n\t\t);\n\t},\n};\n\nexport const duplicateTemplatePartAction = {\n\tid: 'duplicate-template-part',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible: ( item ) => item.type === TEMPLATE_PART_POST_TYPE,\n\tmodalHeader: _x( 'Duplicate template part', 'action label' ),\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\t\tconst { categoryId = PATTERN_DEFAULT_CATEGORY } = getQueryArgs(\n\t\t\twindow.location.href\n\t\t);\n\t\tconst history = useHistory();\n\t\tasync function onTemplatePartSuccess( templatePart ) {\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new template part's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'edit-site-patterns-success' }\n\t\t\t);\n\t\t\thistory.push( {\n\t\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\t\tpostId: templatePart?.id,\n\t\t\t\tcategoryType: TEMPLATE_PART_POST_TYPE,\n\t\t\t\tcategoryId,\n\t\t\t} );\n\t\t\tcloseModal();\n\t\t}\n\t\treturn (\n\t\t\t<CreateTemplatePartModalContents\n\t\t\t\tblocks={ item.blocks }\n\t\t\t\tdefaultArea={ item.templatePart.area }\n\t\t\t\tdefaultTitle={ sprintf(\n\t\t\t\t\t/* translators: %s: Existing template part title */\n\t\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\t\titem.title\n\t\t\t\t) }\n\t\t\t\tonCreate={ onTemplatePartSuccess }\n\t\t\t\tonError={ closeModal }\n\t\t\t\tconfirmLabel={ _x( 'Duplicate', 'action label' ) }\n\t\t\t/>\n\t\t);\n\t},\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_changeCase","require","_url","_blob","_i18n","_components","_coreData","_data","_element","_notices","_htmlEntities","_reusableBlocks","_router","_patterns","_lockUnlock","_store","_constants","_createTemplatePartModal","useHistory","unlock","routerPrivateApis","CreatePatternModalContents","useDuplicatePatternProps","patternsPrivateApis","exportJSONaction","exports","id","label","__","isEligible","item","type","PATTERN_TYPES","user","callback","json","__file","title","name","content","patternPost","raw","syncStatus","wp_pattern_sync_status","downloadBlob","kebabCase","JSON","stringify","renameAction","isTemplatePart","TEMPLATE_PART_POST_TYPE","isUserPattern","isCustomPattern","isCustom","hasThemeFile","templatePart","has_theme_file","RenderModal","items","closeModal","setTitle","useState","editEntityRecord","saveEditedEntityRecord","useDispatch","coreStore","createSuccessNotice","createErrorNotice","noticesStore","onRename","event","preventDefault","throwOnError","error","fallbackErrorMessage","errorMessage","message","code","_react","createElement","onSubmit","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","onChange","required","__experimentalHStack","justify","Button","variant","onClick","canDeleteOrReset","deleteAction","hideModalHeader","supportsBulk","onPerform","__experimentalDeleteReusableBlock","reusableBlocksStore","removeTemplates","editSiteStore","deletePattern","promiseResult","Promise","allSettled","map","every","status","successMessage","length","sprintf","reason","errorMessages","Set","failedPromises","filter","failedPromise","add","size","join","deleteItem","questionMessage","decodeEntities","__experimentalText","resetAction","removeTemplate","duplicatePatternAction","_x","modalHeader","categoryId","PATTERN_DEFAULT_CATEGORY","getQueryArgs","window","location","href","isThemePattern","theme","history","onPatternSuccess","pattern","push","categoryType","postType","postId","duplicatedProps","onSuccess","onClose","confirmLabel","duplicateTemplatePartAction","onTemplatePartSuccess","CreateTemplatePartModalContents","blocks","defaultArea","area","defaultTitle","onCreate","onError"],"sources":["@wordpress/edit-site/src/components/page-patterns/dataviews-pattern-actions.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { getQueryArgs } from '@wordpress/url';\nimport { downloadBlob } from '@wordpress/blob';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { CreateTemplatePartModalContents } from '../create-template-part-modal';\n\nconst { useHistory } = unlock( routerPrivateApis );\nconst { CreatePatternModalContents, useDuplicatePatternProps } =\n\tunlock( patternsPrivateApis );\n\nexport const exportJSONaction = {\n\tid: 'export-pattern',\n\tlabel: __( 'Export as JSON' ),\n\tisEligible: ( item ) => item.type === PATTERN_TYPES.user,\n\tcallback: ( [ item ] ) => {\n\t\tconst json = {\n\t\t\t__file: item.type,\n\t\t\ttitle: item.title || item.name,\n\t\t\tcontent: item.patternPost.content.raw,\n\t\t\tsyncStatus: item.patternPost.wp_pattern_sync_status,\n\t\t};\n\t\treturn downloadBlob(\n\t\t\t`${ kebabCase( item.title || item.name ) }.json`,\n\t\t\tJSON.stringify( json, null, 2 ),\n\t\t\t'application/json'\n\t\t);\n\t},\n};\n\nexport const renameAction = {\n\tid: 'rename-pattern',\n\tlabel: __( 'Rename' ),\n\tisEligible: ( item ) => {\n\t\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\t\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\t\tconst isCustomPattern =\n\t\t\tisUserPattern || ( isTemplatePart && item.isCustom );\n\t\tconst hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;\n\t\treturn isCustomPattern && ! hasThemeFile;\n\t},\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst [ title, setTitle ] = useState( () => item.title );\n\t\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\t\tuseDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tasync function onRename( event ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\ttitle,\n\t\t\t\t} );\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetTitle( '' );\n\t\t\t\tcloseModal();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveEditedEntityRecord( 'postType', item.type, item.id, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t\t? __( 'Template part renamed.' )\n\t\t\t\t\t\t: __( 'Pattern renamed.' ),\n\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tconst fallbackErrorMessage =\n\t\t\t\t\titem.type === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'An error occurred while renaming the template part.'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'An error occurred while renaming the pattern.' );\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\t\treturn (\n\t\t\t<form onSubmit={ onRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n\nconst canDeleteOrReset = ( item ) => {\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\treturn isUserPattern || ( isTemplatePart && item.isCustom );\n};\n\nexport const deleteAction = {\n\tid: 'delete-pattern',\n\tlabel: __( 'Delete' ),\n\tisEligible: ( item ) => {\n\t\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\t\tconst hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;\n\t\treturn canDeleteOrReset( item ) && ! hasThemeFile;\n\t},\n\thideModalHeader: true,\n\tsupportsBulk: true,\n\tRenderModal: ( { items, closeModal, onPerform } ) => {\n\t\tconst { __experimentalDeleteReusableBlock } =\n\t\t\tuseDispatch( reusableBlocksStore );\n\t\tconst { createErrorNotice, createSuccessNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst { removeTemplates } = unlock( useDispatch( editSiteStore ) );\n\n\t\tconst deletePattern = async () => {\n\t\t\tconst promiseResult = await Promise.allSettled(\n\t\t\t\titems.map( ( item ) => {\n\t\t\t\t\treturn __experimentalDeleteReusableBlock( item.id );\n\t\t\t\t} )\n\t\t\t);\n\t\t\t// If all the promises were fulfilled with success.\n\t\t\tif (\n\t\t\t\tpromiseResult.every( ( { status } ) => status === 'fulfilled' )\n\t\t\t) {\n\t\t\t\tlet successMessage;\n\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\tsuccessMessage = sprintf(\n\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\t\titems[ 0 ].title\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tsuccessMessage = __( 'The patterns were deleted.' );\n\t\t\t\t}\n\t\t\t\tcreateSuccessNotice( successMessage, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tid: 'edit-site-page-trashed',\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\t// If there was at lease one failure.\n\t\t\t\tlet errorMessage;\n\t\t\t\t// If we were trying to delete a single pattern.\n\t\t\t\tif ( promiseResult.length === 1 ) {\n\t\t\t\t\tif ( promiseResult[ 0 ].reason?.message ) {\n\t\t\t\t\t\terrorMessage = promiseResult[ 0 ].reason.message;\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t'An error occurred while deleting the pattern.'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// If we were trying to delete multiple patterns.\n\t\t\t\t} else {\n\t\t\t\t\tconst errorMessages = new Set();\n\t\t\t\t\tconst failedPromises = promiseResult.filter(\n\t\t\t\t\t\t( { status } ) => status === 'rejected'\n\t\t\t\t\t);\n\t\t\t\t\tfor ( const failedPromise of failedPromises ) {\n\t\t\t\t\t\tif ( failedPromise.reason?.message ) {\n\t\t\t\t\t\t\terrorMessages.add( failedPromise.reason.message );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( errorMessages.size === 0 ) {\n\t\t\t\t\t\terrorMessage = __(\n\t\t\t\t\t\t\t'An error occurred while deleting the patterns.'\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( errorMessages.size === 1 ) {\n\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: %s: an error message */\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'An error occurred while deleting the patterns: %s'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t[ ...errorMessages ][ 0 ]\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\terrorMessage = sprintf(\n\t\t\t\t\t\t\t/* translators: %s: a list of comma separated error messages */\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Some errors occurred while deleting the patterns: %s'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t[ ...errorMessages ].join( ',' )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tconst deleteItem = () => {\n\t\t\tif ( items[ 0 ].type === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\tremoveTemplates( items );\n\t\t\t} else {\n\t\t\t\tdeletePattern();\n\t\t\t}\n\t\t\tif ( onPerform ) {\n\t\t\t\tonPerform();\n\t\t\t}\n\t\t\tcloseModal();\n\t\t};\n\t\tlet questionMessage;\n\t\tif ( items.length === 1 ) {\n\t\t\tquestionMessage = sprintf(\n\t\t\t\t// translators: %s: The page's title.\n\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\tdecodeEntities( items[ 0 ].title || items[ 0 ].name )\n\t\t\t);\n\t\t} else if (\n\t\t\titems.length > 1 &&\n\t\t\titems[ 0 ].type === TEMPLATE_PART_POST_TYPE\n\t\t) {\n\t\t\tquestionMessage = sprintf(\n\t\t\t\t// translators: %d: The number of template parts (2 or more).\n\t\t\t\t__( 'Are you sure you want to delete %d template parts?' ),\n\t\t\t\titems.length\n\t\t\t);\n\t\t} else {\n\t\t\tquestionMessage = sprintf(\n\t\t\t\t// translators: %d: The number of patterns (2 or more).\n\t\t\t\t__( 'Are you sure you want to delete %d patterns?' ),\n\t\t\t\titems.length\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>{ questionMessage }</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button variant=\"primary\" onClick={ deleteItem }>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport const resetAction = {\n\tid: 'reset-action',\n\tlabel: __( 'Clear customizations' ),\n\tisEligible: ( item ) => {\n\t\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\t\tconst hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;\n\t\treturn canDeleteOrReset( item ) && hasThemeFile;\n\t},\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst { removeTemplate } = useDispatch( editSiteStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Are you sure you want to clear these customizations?'\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () => removeTemplate( item ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport const duplicatePatternAction = {\n\tid: 'duplicate-pattern',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible: ( item ) => item.type !== TEMPLATE_PART_POST_TYPE,\n\tmodalHeader: _x( 'Duplicate pattern', 'action label' ),\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst { categoryId = PATTERN_DEFAULT_CATEGORY } = getQueryArgs(\n\t\t\twindow.location.href\n\t\t);\n\t\tconst isThemePattern = item.type === PATTERN_TYPES.theme;\n\t\tconst history = useHistory();\n\t\tfunction onPatternSuccess( { pattern } ) {\n\t\t\thistory.push( {\n\t\t\t\tcategoryType: PATTERN_TYPES.theme,\n\t\t\t\tcategoryId,\n\t\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\t\tpostId: pattern.id,\n\t\t\t} );\n\t\t\tcloseModal();\n\t\t}\n\t\tconst duplicatedProps = useDuplicatePatternProps( {\n\t\t\tpattern: isThemePattern ? item : item.patternPost,\n\t\t\tonSuccess: onPatternSuccess,\n\t\t} );\n\t\treturn (\n\t\t\t<CreatePatternModalContents\n\t\t\t\tonClose={ closeModal }\n\t\t\t\tconfirmLabel={ _x( 'Duplicate', 'action label' ) }\n\t\t\t\t{ ...duplicatedProps }\n\t\t\t/>\n\t\t);\n\t},\n};\n\nexport const duplicateTemplatePartAction = {\n\tid: 'duplicate-template-part',\n\tlabel: _x( 'Duplicate', 'action label' ),\n\tisEligible: ( item ) => item.type === TEMPLATE_PART_POST_TYPE,\n\tmodalHeader: _x( 'Duplicate template part', 'action label' ),\n\tRenderModal: ( { items, closeModal } ) => {\n\t\tconst [ item ] = items;\n\t\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\t\tconst { categoryId = PATTERN_DEFAULT_CATEGORY } = getQueryArgs(\n\t\t\twindow.location.href\n\t\t);\n\t\tconst history = useHistory();\n\t\tasync function onTemplatePartSuccess( templatePart ) {\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The new template part's title e.g. 'Call to action (copy)'.\n\t\t\t\t\t__( '\"%s\" duplicated.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'edit-site-patterns-success' }\n\t\t\t);\n\t\t\thistory.push( {\n\t\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\t\tpostId: templatePart?.id,\n\t\t\t\tcategoryType: TEMPLATE_PART_POST_TYPE,\n\t\t\t\tcategoryId,\n\t\t\t} );\n\t\t\tcloseModal();\n\t\t}\n\t\treturn (\n\t\t\t<CreateTemplatePartModalContents\n\t\t\t\tblocks={ item.blocks }\n\t\t\t\tdefaultArea={ item.templatePart.area }\n\t\t\t\tdefaultTitle={ sprintf(\n\t\t\t\t\t/* translators: %s: Existing template part title */\n\t\t\t\t\t__( '%s (Copy)' ),\n\t\t\t\t\titem.title\n\t\t\t\t) }\n\t\t\t\tonCreate={ onTemplatePartSuccess }\n\t\t\t\tonError={ closeModal }\n\t\t\t\tconfirmLabel={ _x( 'Duplicate', 'action label' ) }\n\t\t\t/>\n\t\t);\n\t},\n};\n"],"mappings":"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"}
@@ -136,10 +136,7 @@ function GridItem({
136
136
  return (0, _react.createElement)("li", {
137
137
  className: patternClassNames
138
138
  }, (0, _react.createElement)("button", {
139
- className: previewClassNames
140
- // Even though still incomplete, passing ids helps performance.
141
- // @see https://reakit.io/docs/composite/#performance.
142
- ,
139
+ className: previewClassNames,
143
140
  id: `edit-site-patterns-${item.name}`,
144
141
  type: "button",
145
142
  ...props,
@@ -222,6 +219,5 @@ function GridItem({
222
219
  onCancel: () => setIsDeleteDialogOpen(false)
223
220
  }, confirmPrompt));
224
221
  }
225
- var _default = (0, _element.memo)(GridItem);
226
- exports.default = _default;
222
+ var _default = exports.default = (0, _element.memo)(GridItem);
227
223
  //# sourceMappingURL=grid-item.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_changeCase","_blockEditor","_components","_data","_element","_i18n","_icons","_notices","_reusableBlocks","_blob","_renameMenuItem","_duplicateMenuItem","_constants","_store","_link","_lockUnlock","useGlobalStyle","unlock","blockEditorPrivateApis","templatePartIcons","header","footer","uncategorized","GridItem","categoryId","item","props","descriptionId","useId","isDeleteDialogOpen","setIsDeleteDialogOpen","useState","backgroundColor","removeTemplate","useDispatch","editSiteStore","__experimentalDeleteReusableBlock","reusableBlocksStore","createErrorNotice","createSuccessNotice","noticesStore","isUserPattern","type","PATTERN_TYPES","user","isNonUserPattern","theme","isTemplatePart","TEMPLATE_PART_POST_TYPE","onClick","useLink","postType","postId","id","name","categoryType","isEmpty","blocks","length","patternClassNames","classnames","previewClassNames","deletePattern","sprintf","__","title","error","errorMessage","message","code","deleteItem","exportAsJSON","json","__file","content","patternPost","raw","syncStatus","wp_pattern_sync_status","downloadBlob","kebabCase","JSON","stringify","isCustomPattern","isCustom","hasThemeFile","templatePart","has_theme_file","ariaDescriptions","push","description","itemIcon","PATTERN_SYNC_TYPES","full","symbol","undefined","confirmButtonText","confirmPrompt","additionalStyles","css","_react","createElement","className","map","_","index","join","BlockPreview","viewportWidth","ariaDescription","key","hidden","__experimentalHStack","justify","alignment","spacing","Tooltip","placement","text","Icon","icon","Flex","as","gap","__experimentalHeading","level","Button","variant","tabIndex","lockSmall","size","DropdownMenu","moreVertical","label","popoverProps","toggleProps","describedBy","onClose","MenuGroup","default","MenuItem","isDestructive","__experimentalConfirmDialog","onConfirm","onCancel","_default","memo","exports"],"sources":["@wordpress/edit-site/src/components/page-patterns/grid-item.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useId, memo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tIcon,\n\theader,\n\tfooter,\n\tsymbolFilled as uncategorized,\n\tsymbol,\n\tmoreVertical,\n\tlockSmall,\n} from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { downloadBlob } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport RenameMenuItem from './rename-menu-item';\nimport DuplicateMenuItem from './duplicate-menu-item';\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n} from '../../utils/constants';\nimport { store as editSiteStore } from '../../store';\nimport { useLink } from '../routes/link';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst templatePartIcons = { header, footer, uncategorized };\n\nfunction GridItem( { categoryId, item, ...props } ) {\n\tconst descriptionId = useId();\n\tconst [ isDeleteDialogOpen, setIsDeleteDialogOpen ] = useState( false );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\n\tconst { removeTemplate } = useDispatch( editSiteStore );\n\tconst { __experimentalDeleteReusableBlock } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isNonUserPattern = item.type === PATTERN_TYPES.theme;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcategoryId,\n\t\tcategoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme,\n\t} );\n\n\tconst isEmpty = ! item.blocks?.length;\n\tconst patternClassNames = classnames( 'edit-site-patterns__pattern', {\n\t\t'is-placeholder': isEmpty,\n\t} );\n\tconst previewClassNames = classnames( 'edit-site-patterns__preview', {\n\t\t'is-inactive': isNonUserPattern,\n\t} );\n\n\tconst deletePattern = async () => {\n\t\ttry {\n\t\t\tawait __experimentalDeleteReusableBlock( item.id );\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The pattern's title e.g. 'Call to action'.\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'edit-site-patterns-success' }\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while deleting the pattern.' );\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'edit-site-patterns-error',\n\t\t\t} );\n\t\t}\n\t};\n\tconst deleteItem = () =>\n\t\tisTemplatePart ? removeTemplate( item ) : deletePattern();\n\tconst exportAsJSON = () => {\n\t\tconst json = {\n\t\t\t__file: item.type,\n\t\t\ttitle: item.title || item.name,\n\t\t\tcontent: item.patternPost.content.raw,\n\t\t\tsyncStatus: item.patternPost.wp_pattern_sync_status,\n\t\t};\n\n\t\treturn downloadBlob(\n\t\t\t`${ kebabCase( item.title || item.name ) }.json`,\n\t\t\tJSON.stringify( json, null, 2 ),\n\t\t\t'application/json'\n\t\t);\n\t};\n\n\t// Only custom patterns or custom template parts can be renamed or deleted.\n\tconst isCustomPattern =\n\t\tisUserPattern || ( isTemplatePart && item.isCustom );\n\tconst hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;\n\tconst ariaDescriptions = [];\n\n\tif ( isCustomPattern ) {\n\t\t// User patterns don't have descriptions, but can be edited and deleted, so include some help text.\n\t\tariaDescriptions.push(\n\t\t\t__( 'Press Enter to edit, or Delete to delete the pattern.' )\n\t\t);\n\t} else if ( item.description ) {\n\t\tariaDescriptions.push( item.description );\n\t}\n\n\tif ( isNonUserPattern ) {\n\t\tariaDescriptions.push(\n\t\t\t__( 'Theme & plugin patterns cannot be edited.' )\n\t\t);\n\t}\n\n\tlet itemIcon;\n\tif ( ! isUserPattern && templatePartIcons[ categoryId ] ) {\n\t\titemIcon = templatePartIcons[ categoryId ];\n\t} else {\n\t\titemIcon =\n\t\t\titem.syncStatus === PATTERN_SYNC_TYPES.full ? symbol : undefined;\n\t}\n\n\tconst confirmButtonText = hasThemeFile ? __( 'Clear' ) : __( 'Delete' );\n\tconst confirmPrompt = hasThemeFile\n\t\t? __( 'Are you sure you want to clear these customizations?' )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: The pattern or template part's title e.g. 'Call to action'.\n\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\titem.title || item.name\n\t\t );\n\n\tconst additionalStyles = ! backgroundColor\n\t\t? [ { css: 'body { background: #fff; }' } ]\n\t\t: undefined;\n\n\treturn (\n\t\t<li className={ patternClassNames }>\n\t\t\t<button\n\t\t\t\tclassName={ previewClassNames }\n\t\t\t\t// Even though still incomplete, passing ids helps performance.\n\t\t\t\t// @see https://reakit.io/docs/composite/#performance.\n\t\t\t\tid={ `edit-site-patterns-${ item.name }` }\n\t\t\t\ttype=\"button\"\n\t\t\t\t{ ...props }\n\t\t\t\tonClick={\n\t\t\t\t\titem.type !== PATTERN_TYPES.theme ? onClick : undefined\n\t\t\t\t}\n\t\t\t\taria-disabled={\n\t\t\t\t\titem.type !== PATTERN_TYPES.theme ? 'false' : 'true'\n\t\t\t\t}\n\t\t\t\taria-label={ item.title }\n\t\t\t\taria-describedby={\n\t\t\t\t\tariaDescriptions.length\n\t\t\t\t\t\t? ariaDescriptions\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( _, index ) =>\n\t\t\t\t\t\t\t\t\t\t`${ descriptionId }-${ index }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ' ' )\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\tblocks={ item.blocks }\n\t\t\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</button>\n\t\t\t{ ariaDescriptions.map( ( ariaDescription, index ) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\thidden\n\t\t\t\t\tid={ `${ descriptionId }-${ index }` }\n\t\t\t\t>\n\t\t\t\t\t{ ariaDescription }\n\t\t\t\t</div>\n\t\t\t) ) }\n\t\t\t<HStack\n\t\t\t\tclassName=\"edit-site-patterns__footer\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tjustify=\"left\"\n\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t\t>\n\t\t\t\t\t{ itemIcon && ! isNonUserPattern && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t'Editing this pattern will also update anywhere it is used'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-icon\"\n\t\t\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t\t<Flex as=\"span\" gap={ 0 } justify=\"left\">\n\t\t\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Heading level={ 5 }>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t</HStack>\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\tclassName=\"edit-site-patterns__dropdown\"\n\t\t\t\t\tpopoverProps={ { placement: 'bottom-end' } }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t/* translators: %s: pattern name */\n\t\t\t\t\t\t\t__( 'Action menu for %s pattern' ),\n\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t),\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{ isCustomPattern && ! hasThemeFile && (\n\t\t\t\t\t\t\t\t<RenameMenuItem\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\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<DuplicateMenuItem\n\t\t\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tlabel={ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ item.type === PATTERN_TYPES.user && (\n\t\t\t\t\t\t\t\t<MenuItem onClick={ () => exportAsJSON() }>\n\t\t\t\t\t\t\t\t\t{ __( 'Export as JSON' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t{ isCustomPattern && (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tisDestructive={ ! hasThemeFile }\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tsetIsDeleteDialogOpen( true )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasThemeFile\n\t\t\t\t\t\t\t\t\t\t? __( 'Clear customizations' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Delete' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\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</HStack>\n\n\t\t\t{ isDeleteDialogOpen && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tconfirmButtonText={ confirmButtonText }\n\t\t\t\t\tonConfirm={ deleteItem }\n\t\t\t\t\tonCancel={ () => setIsDeleteDialogOpen( false ) }\n\t\t\t\t>\n\t\t\t\t\t{ confirmPrompt }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\nexport default memo( GridItem );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_changeCase","_blockEditor","_components","_data","_element","_i18n","_icons","_notices","_reusableBlocks","_blob","_renameMenuItem","_duplicateMenuItem","_constants","_store","_link","_lockUnlock","useGlobalStyle","unlock","blockEditorPrivateApis","templatePartIcons","header","footer","uncategorized","GridItem","categoryId","item","props","descriptionId","useId","isDeleteDialogOpen","setIsDeleteDialogOpen","useState","backgroundColor","removeTemplate","useDispatch","editSiteStore","__experimentalDeleteReusableBlock","reusableBlocksStore","createErrorNotice","createSuccessNotice","noticesStore","isUserPattern","type","PATTERN_TYPES","user","isNonUserPattern","theme","isTemplatePart","TEMPLATE_PART_POST_TYPE","onClick","useLink","postType","postId","id","name","categoryType","isEmpty","blocks","length","patternClassNames","classnames","previewClassNames","deletePattern","sprintf","__","title","error","errorMessage","message","code","deleteItem","exportAsJSON","json","__file","content","patternPost","raw","syncStatus","wp_pattern_sync_status","downloadBlob","kebabCase","JSON","stringify","isCustomPattern","isCustom","hasThemeFile","templatePart","has_theme_file","ariaDescriptions","push","description","itemIcon","PATTERN_SYNC_TYPES","full","symbol","undefined","confirmButtonText","confirmPrompt","additionalStyles","css","_react","createElement","className","map","_","index","join","BlockPreview","viewportWidth","ariaDescription","key","hidden","__experimentalHStack","justify","alignment","spacing","Tooltip","placement","text","Icon","icon","Flex","as","gap","__experimentalHeading","level","Button","variant","tabIndex","lockSmall","size","DropdownMenu","moreVertical","label","popoverProps","toggleProps","describedBy","onClose","MenuGroup","default","MenuItem","isDestructive","__experimentalConfirmDialog","onConfirm","onCancel","_default","exports","memo"],"sources":["@wordpress/edit-site/src/components/page-patterns/grid-item.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useId, memo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tIcon,\n\theader,\n\tfooter,\n\tsymbolFilled as uncategorized,\n\tsymbol,\n\tmoreVertical,\n\tlockSmall,\n} from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { downloadBlob } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport RenameMenuItem from './rename-menu-item';\nimport DuplicateMenuItem from './duplicate-menu-item';\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n} from '../../utils/constants';\nimport { store as editSiteStore } from '../../store';\nimport { useLink } from '../routes/link';\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst templatePartIcons = { header, footer, uncategorized };\n\nfunction GridItem( { categoryId, item, ...props } ) {\n\tconst descriptionId = useId();\n\tconst [ isDeleteDialogOpen, setIsDeleteDialogOpen ] = useState( false );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\n\tconst { removeTemplate } = useDispatch( editSiteStore );\n\tconst { __experimentalDeleteReusableBlock } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isNonUserPattern = item.type === PATTERN_TYPES.theme;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcategoryId,\n\t\tcategoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme,\n\t} );\n\n\tconst isEmpty = ! item.blocks?.length;\n\tconst patternClassNames = classnames( 'edit-site-patterns__pattern', {\n\t\t'is-placeholder': isEmpty,\n\t} );\n\tconst previewClassNames = classnames( 'edit-site-patterns__preview', {\n\t\t'is-inactive': isNonUserPattern,\n\t} );\n\n\tconst deletePattern = async () => {\n\t\ttry {\n\t\t\tawait __experimentalDeleteReusableBlock( item.id );\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: The pattern's title e.g. 'Call to action'.\n\t\t\t\t\t__( '\"%s\" deleted.' ),\n\t\t\t\t\titem.title\n\t\t\t\t),\n\t\t\t\t{ type: 'snackbar', id: 'edit-site-patterns-success' }\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while deleting the pattern.' );\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: 'edit-site-patterns-error',\n\t\t\t} );\n\t\t}\n\t};\n\tconst deleteItem = () =>\n\t\tisTemplatePart ? removeTemplate( item ) : deletePattern();\n\tconst exportAsJSON = () => {\n\t\tconst json = {\n\t\t\t__file: item.type,\n\t\t\ttitle: item.title || item.name,\n\t\t\tcontent: item.patternPost.content.raw,\n\t\t\tsyncStatus: item.patternPost.wp_pattern_sync_status,\n\t\t};\n\n\t\treturn downloadBlob(\n\t\t\t`${ kebabCase( item.title || item.name ) }.json`,\n\t\t\tJSON.stringify( json, null, 2 ),\n\t\t\t'application/json'\n\t\t);\n\t};\n\n\t// Only custom patterns or custom template parts can be renamed or deleted.\n\tconst isCustomPattern =\n\t\tisUserPattern || ( isTemplatePart && item.isCustom );\n\tconst hasThemeFile = isTemplatePart && item.templatePart.has_theme_file;\n\tconst ariaDescriptions = [];\n\n\tif ( isCustomPattern ) {\n\t\t// User patterns don't have descriptions, but can be edited and deleted, so include some help text.\n\t\tariaDescriptions.push(\n\t\t\t__( 'Press Enter to edit, or Delete to delete the pattern.' )\n\t\t);\n\t} else if ( item.description ) {\n\t\tariaDescriptions.push( item.description );\n\t}\n\n\tif ( isNonUserPattern ) {\n\t\tariaDescriptions.push(\n\t\t\t__( 'Theme & plugin patterns cannot be edited.' )\n\t\t);\n\t}\n\n\tlet itemIcon;\n\tif ( ! isUserPattern && templatePartIcons[ categoryId ] ) {\n\t\titemIcon = templatePartIcons[ categoryId ];\n\t} else {\n\t\titemIcon =\n\t\t\titem.syncStatus === PATTERN_SYNC_TYPES.full ? symbol : undefined;\n\t}\n\n\tconst confirmButtonText = hasThemeFile ? __( 'Clear' ) : __( 'Delete' );\n\tconst confirmPrompt = hasThemeFile\n\t\t? __( 'Are you sure you want to clear these customizations?' )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: The pattern or template part's title e.g. 'Call to action'.\n\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\titem.title || item.name\n\t\t );\n\n\tconst additionalStyles = ! backgroundColor\n\t\t? [ { css: 'body { background: #fff; }' } ]\n\t\t: undefined;\n\n\treturn (\n\t\t<li className={ patternClassNames }>\n\t\t\t<button\n\t\t\t\tclassName={ previewClassNames }\n\t\t\t\tid={ `edit-site-patterns-${ item.name }` }\n\t\t\t\ttype=\"button\"\n\t\t\t\t{ ...props }\n\t\t\t\tonClick={\n\t\t\t\t\titem.type !== PATTERN_TYPES.theme ? onClick : undefined\n\t\t\t\t}\n\t\t\t\taria-disabled={\n\t\t\t\t\titem.type !== PATTERN_TYPES.theme ? 'false' : 'true'\n\t\t\t\t}\n\t\t\t\taria-label={ item.title }\n\t\t\t\taria-describedby={\n\t\t\t\t\tariaDescriptions.length\n\t\t\t\t\t\t? ariaDescriptions\n\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t( _, index ) =>\n\t\t\t\t\t\t\t\t\t\t`${ descriptionId }-${ index }`\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.join( ' ' )\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\tblocks={ item.blocks }\n\t\t\t\t\t\tadditionalStyles={ additionalStyles }\n\t\t\t\t\t\tviewportWidth={ item.viewportWidth }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</button>\n\t\t\t{ ariaDescriptions.map( ( ariaDescription, index ) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\thidden\n\t\t\t\t\tid={ `${ descriptionId }-${ index }` }\n\t\t\t\t>\n\t\t\t\t\t{ ariaDescription }\n\t\t\t\t</div>\n\t\t\t) ) }\n\t\t\t<HStack\n\t\t\t\tclassName=\"edit-site-patterns__footer\"\n\t\t\t\tjustify=\"space-between\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tjustify=\"left\"\n\t\t\t\t\tspacing={ 3 }\n\t\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t\t>\n\t\t\t\t\t{ itemIcon && ! isNonUserPattern && (\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t'Editing this pattern will also update anywhere it is used'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-icon\"\n\t\t\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t\t<Flex as=\"span\" gap={ 0 } justify=\"left\">\n\t\t\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Heading level={ 5 }>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t</HStack>\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\tclassName=\"edit-site-patterns__dropdown\"\n\t\t\t\t\tpopoverProps={ { placement: 'bottom-end' } }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tclassName: 'edit-site-patterns__button',\n\t\t\t\t\t\tdescribedBy: sprintf(\n\t\t\t\t\t\t\t/* translators: %s: pattern name */\n\t\t\t\t\t\t\t__( 'Action menu for %s pattern' ),\n\t\t\t\t\t\t\titem.title\n\t\t\t\t\t\t),\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{ isCustomPattern && ! hasThemeFile && (\n\t\t\t\t\t\t\t\t<RenameMenuItem\n\t\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\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<DuplicateMenuItem\n\t\t\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tlabel={ __( 'Duplicate' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ item.type === PATTERN_TYPES.user && (\n\t\t\t\t\t\t\t\t<MenuItem onClick={ () => exportAsJSON() }>\n\t\t\t\t\t\t\t\t\t{ __( 'Export as JSON' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t{ isCustomPattern && (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tisDestructive={ ! hasThemeFile }\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tsetIsDeleteDialogOpen( true )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasThemeFile\n\t\t\t\t\t\t\t\t\t\t? __( 'Clear customizations' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Delete' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\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</HStack>\n\n\t\t\t{ isDeleteDialogOpen && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tconfirmButtonText={ confirmButtonText }\n\t\t\t\t\tonConfirm={ deleteItem }\n\t\t\t\t\tonCancel={ () => setIsDeleteDialogOpen( false ) }\n\t\t\t\t>\n\t\t\t\t\t{ confirmPrompt }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n\nexport default memo( GridItem );\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,YAAA,GAAAF,OAAA;AAIA,IAAAG,WAAA,GAAAH,OAAA;AAWA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AASA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAV,OAAA;AAKA,IAAAW,eAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,kBAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,UAAA,GAAAb,OAAA;AAKA,IAAAc,MAAA,GAAAd,OAAA;AACA,IAAAe,KAAA,GAAAf,OAAA;AACA,IAAAgB,WAAA,GAAAhB,OAAA;AApDA;AACA;AACA;;AAIA;AACA;AACA;;AAgCA;AACA;AACA;;AAYA,MAAM;EAAEiB;AAAe,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAE3D,MAAMC,iBAAiB,GAAG;EAAEC,MAAM,EAANA,aAAM;EAAEC,MAAM,EAANA,aAAM;EAAEC,aAAa,EAAbA;AAAc,CAAC;AAE3D,SAASC,QAAQA,CAAE;EAAEC,UAAU;EAAEC,IAAI;EAAE,GAAGC;AAAM,CAAC,EAAG;EACnD,MAAMC,aAAa,GAAG,IAAAC,cAAK,EAAC,CAAC;EAC7B,MAAM,CAAEC,kBAAkB,EAAEC,qBAAqB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EACvE,MAAM,CAAEC,eAAe,CAAE,GAAGhB,cAAc,CAAE,kBAAmB,CAAC;EAEhE,MAAM;IAAEiB;EAAe,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAc,CAAC;EACvD,MAAM;IAAEC;EAAkC,CAAC,GAC1C,IAAAF,iBAAW,EAAEG,qBAAoB,CAAC;EACnC,MAAM;IAAEC,iBAAiB;IAAEC;EAAoB,CAAC,GAC/C,IAAAL,iBAAW,EAAEM,cAAa,CAAC;EAE5B,MAAMC,aAAa,GAAGhB,IAAI,CAACiB,IAAI,KAAKC,wBAAa,CAACC,IAAI;EACtD,MAAMC,gBAAgB,GAAGpB,IAAI,CAACiB,IAAI,KAAKC,wBAAa,CAACG,KAAK;EAC1D,MAAMC,cAAc,GAAGtB,IAAI,CAACiB,IAAI,KAAKM,kCAAuB;EAE5D,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAAE;IAC5BC,QAAQ,EAAE1B,IAAI,CAACiB,IAAI;IACnBU,MAAM,EAAEX,aAAa,GAAGhB,IAAI,CAAC4B,EAAE,GAAG5B,IAAI,CAAC6B,IAAI;IAC3C9B,UAAU;IACV+B,YAAY,EAAER,cAAc,GAAGtB,IAAI,CAACiB,IAAI,GAAGC,wBAAa,CAACG;EAC1D,CAAE,CAAC;EAEH,MAAMU,OAAO,GAAG,CAAE/B,IAAI,CAACgC,MAAM,EAAEC,MAAM;EACrC,MAAMC,iBAAiB,GAAG,IAAAC,mBAAU,EAAE,6BAA6B,EAAE;IACpE,gBAAgB,EAAEJ;EACnB,CAAE,CAAC;EACH,MAAMK,iBAAiB,GAAG,IAAAD,mBAAU,EAAE,6BAA6B,EAAE;IACpE,aAAa,EAAEf;EAChB,CAAE,CAAC;EAEH,MAAMiB,aAAa,GAAG,MAAAA,CAAA,KAAY;IACjC,IAAI;MACH,MAAM1B,iCAAiC,CAAEX,IAAI,CAAC4B,EAAG,CAAC;MAClDd,mBAAmB,CAClB,IAAAwB,aAAO;MACN;MACA,IAAAC,QAAE,EAAE,eAAgB,CAAC,EACrBvC,IAAI,CAACwC,KACN,CAAC,EACD;QAAEvB,IAAI,EAAE,UAAU;QAAEW,EAAE,EAAE;MAA6B,CACtD,CAAC;IACF,CAAC,CAAC,OAAQa,KAAK,EAAG;MACjB,MAAMC,YAAY,GACjBD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACG,IAAI,KAAK,eAAe,GAC5CH,KAAK,CAACE,OAAO,GACb,IAAAJ,QAAE,EAAE,+CAAgD,CAAC;MACzD1B,iBAAiB,CAAE6B,YAAY,EAAE;QAChCzB,IAAI,EAAE,UAAU;QAChBW,EAAE,EAAE;MACL,CAAE,CAAC;IACJ;EACD,CAAC;EACD,MAAMiB,UAAU,GAAGA,CAAA,KAClBvB,cAAc,GAAGd,cAAc,CAAER,IAAK,CAAC,GAAGqC,aAAa,CAAC,CAAC;EAC1D,MAAMS,YAAY,GAAGA,CAAA,KAAM;IAC1B,MAAMC,IAAI,GAAG;MACZC,MAAM,EAAEhD,IAAI,CAACiB,IAAI;MACjBuB,KAAK,EAAExC,IAAI,CAACwC,KAAK,IAAIxC,IAAI,CAAC6B,IAAI;MAC9BoB,OAAO,EAAEjD,IAAI,CAACkD,WAAW,CAACD,OAAO,CAACE,GAAG;MACrCC,UAAU,EAAEpD,IAAI,CAACkD,WAAW,CAACG;IAC9B,CAAC;IAED,OAAO,IAAAC,kBAAY,EACjB,GAAG,IAAAC,qBAAS,EAAEvD,IAAI,CAACwC,KAAK,IAAIxC,IAAI,CAAC6B,IAAK,CAAG,OAAM,EAChD2B,IAAI,CAACC,SAAS,CAAEV,IAAI,EAAE,IAAI,EAAE,CAAE,CAAC,EAC/B,kBACD,CAAC;EACF,CAAC;;EAED;EACA,MAAMW,eAAe,GACpB1C,aAAa,IAAMM,cAAc,IAAItB,IAAI,CAAC2D,QAAU;EACrD,MAAMC,YAAY,GAAGtC,cAAc,IAAItB,IAAI,CAAC6D,YAAY,CAACC,cAAc;EACvE,MAAMC,gBAAgB,GAAG,EAAE;EAE3B,IAAKL,eAAe,EAAG;IACtB;IACAK,gBAAgB,CAACC,IAAI,CACpB,IAAAzB,QAAE,EAAE,uDAAwD,CAC7D,CAAC;EACF,CAAC,MAAM,IAAKvC,IAAI,CAACiE,WAAW,EAAG;IAC9BF,gBAAgB,CAACC,IAAI,CAAEhE,IAAI,CAACiE,WAAY,CAAC;EAC1C;EAEA,IAAK7C,gBAAgB,EAAG;IACvB2C,gBAAgB,CAACC,IAAI,CACpB,IAAAzB,QAAE,EAAE,2CAA4C,CACjD,CAAC;EACF;EAEA,IAAI2B,QAAQ;EACZ,IAAK,CAAElD,aAAa,IAAItB,iBAAiB,CAAEK,UAAU,CAAE,EAAG;IACzDmE,QAAQ,GAAGxE,iBAAiB,CAAEK,UAAU,CAAE;EAC3C,CAAC,MAAM;IACNmE,QAAQ,GACPlE,IAAI,CAACoD,UAAU,KAAKe,6BAAkB,CAACC,IAAI,GAAGC,aAAM,GAAGC,SAAS;EAClE;EAEA,MAAMC,iBAAiB,GAAGX,YAAY,GAAG,IAAArB,QAAE,EAAE,OAAQ,CAAC,GAAG,IAAAA,QAAE,EAAE,QAAS,CAAC;EACvE,MAAMiC,aAAa,GAAGZ,YAAY,GAC/B,IAAArB,QAAE,EAAE,sDAAuD,CAAC,GAC5D,IAAAD,aAAO;EACP;EACA,IAAAC,QAAE,EAAE,uCAAwC,CAAC,EAC7CvC,IAAI,CAACwC,KAAK,IAAIxC,IAAI,CAAC6B,IACnB,CAAC;EAEJ,MAAM4C,gBAAgB,GAAG,CAAElE,eAAe,GACvC,CAAE;IAAEmE,GAAG,EAAE;EAA6B,CAAC,CAAE,GACzCJ,SAAS;EAEZ,OACC,IAAAK,MAAA,CAAAC,aAAA;IAAIC,SAAS,EAAG3C;EAAmB,GAClC,IAAAyC,MAAA,CAAAC,aAAA;IACCC,SAAS,EAAGzC,iBAAmB;IAC/BR,EAAE,EAAI,sBAAsB5B,IAAI,CAAC6B,IAAM,EAAG;IAC1CZ,IAAI,EAAC,QAAQ;IAAA,GACRhB,KAAK;IACVuB,OAAO,EACNxB,IAAI,CAACiB,IAAI,KAAKC,wBAAa,CAACG,KAAK,GAAGG,OAAO,GAAG8C,SAC9C;IACD,iBACCtE,IAAI,CAACiB,IAAI,KAAKC,wBAAa,CAACG,KAAK,GAAG,OAAO,GAAG,MAC9C;IACD,cAAarB,IAAI,CAACwC,KAAO;IACzB,oBACCuB,gBAAgB,CAAC9B,MAAM,GACpB8B,gBAAgB,CACfe,GAAG,CACH,CAAEC,CAAC,EAAEC,KAAK,KACR,GAAG9E,aAAe,IAAI8E,KAAO,EAChC,CAAC,CACAC,IAAI,CAAE,GAAI,CAAC,GACZX;EACH,GAECvC,OAAO,IAAIT,cAAc,IAAI,IAAAiB,QAAE,EAAE,qBAAsB,CAAC,EACxDR,OAAO,IAAI,CAAET,cAAc,IAAI,IAAAiB,QAAE,EAAE,eAAgB,CAAC,EACpD,CAAER,OAAO,IACV,IAAA4C,MAAA,CAAAC,aAAA,EAACpG,YAAA,CAAA0G,YAAY;IACZlD,MAAM,EAAGhC,IAAI,CAACgC,MAAQ;IACtByC,gBAAgB,EAAGA,gBAAkB;IACrCU,aAAa,EAAGnF,IAAI,CAACmF;EAAe,CACpC,CAEK,CAAC,EACPpB,gBAAgB,CAACe,GAAG,CAAE,CAAEM,eAAe,EAAEJ,KAAK,KAC/C,IAAAL,MAAA,CAAAC,aAAA;IACCS,GAAG,EAAGL,KAAO;IACbM,MAAM;IACN1D,EAAE,EAAI,GAAG1B,aAAe,IAAI8E,KAAO;EAAG,GAEpCI,eACE,CACJ,CAAC,EACH,IAAAT,MAAA,CAAAC,aAAA,EAACnG,WAAA,CAAA8G,oBAAM;IACNV,SAAS,EAAC,4BAA4B;IACtCW,OAAO,EAAC;EAAe,GAEvB,IAAAb,MAAA,CAAAC,aAAA,EAACnG,WAAA,CAAA8G,oBAAM;IACNE,SAAS,EAAC,QAAQ;IAClBD,OAAO,EAAC,MAAM;IACdE,OAAO,EAAG,CAAG;IACbb,SAAS,EAAC;EAAmC,GAE3CX,QAAQ,IAAI,CAAE9C,gBAAgB,IAC/B,IAAAuD,MAAA,CAAAC,aAAA,EAACnG,WAAA,CAAAkH,OAAO;IACPC,SAAS,EAAC,KAAK;IACfC,IAAI,EAAG,IAAAtD,QAAE,EACR,2DACD;EAAG,GAEH,IAAAoC,MAAA,CAAAC,aAAA,EAAC/F,MAAA,CAAAiH,IAAI;IACJjB,SAAS,EAAC,kCAAkC;IAC5CkB,IAAI,EAAG7B;EAAU,CACjB,CACO,CACT,EACD,IAAAS,MAAA,CAAAC,aAAA,EAACnG,WAAA,CAAAuH,IAAI;IAACC,EAAE,EAAC,MAAM;IAACC,GAAG,EAAG,CAAG;IAACV,OAAO,EAAC;EAAM,GACrCxF,IAAI,CAACiB,IAAI,KAAKC,wBAAa,CAACG,KAAK,GAClCrB,IAAI,CAACwC,KAAK,GAEV,IAAAmC,MAAA,CAAAC,aAAA,EAACnG,WAAA,CAAA0H,qBAAO;IAACC,KAAK,EAAG;EAAG,GACnB,IAAAzB,MAAA,CAAAC,aAAA,EAACnG,WAAA,CAAA4H,MAAM;IACNC,OAAO,EAAC,MAAM;IACd9E,OAAO,EAAGA;IACV;IACA;IAAA;IACA+E,QAAQ,EAAC;EAAI,GAEXvG,IAAI,CAACwC,KAAK,IAAIxC,IAAI,CAAC6B,IACd,CACA,CACT,EACC7B,IAAI,CAACiB,IAAI,KAAKC,wBAAa,CAACG,KAAK,IAClC,IAAAsD,MAAA,CAAAC,aAAA,EAACnG,WAAA,CAAAkH,OAAO;IACPC,SAAS,EAAC,KAAK;IACfC,IAAI,EAAG,IAAAtD,QAAE,EAAE,gCAAiC;EAAG,GAE/C,IAAAoC,MAAA,CAAAC,aAAA,EAAC/F,MAAA,CAAAiH,IAAI;IACJjB,SAAS,EAAC,uCAAuC;IACjDkB,IAAI,EAAGS,gBAAW;IAClBC,IAAI,EAAG;EAAI,CACX,CACO,CAEL,CACC,CAAC,EACT,IAAA9B,MAAA,CAAAC,aAAA,EAACnG,WAAA,CAAAiI,YAAY;IACZX,IAAI,EAAGY,mBAAc;IACrBC,KAAK,EAAG,IAAArE,QAAE,EAAE,SAAU,CAAG;IACzBsC,SAAS,EAAC,8BAA8B;IACxCgC,YAAY,EAAG;MAAEjB,SAAS,EAAE;IAAa,CAAG;IAC5CkB,WAAW,EAAG;MACbjC,SAAS,EAAE,4BAA4B;MACvCkC,WAAW,EAAE,IAAAzE,aAAO,GACnB;MACA,IAAAC,QAAE,EAAE,4BAA6B,CAAC,EAClCvC,IAAI,CAACwC,KACN;IACD;EAAG,GAED,CAAE;IAAEwE;EAAQ,CAAC,KACd,IAAArC,MAAA,CAAAC,aAAA,EAACnG,WAAA,CAAAwI,SAAS,QACPvD,eAAe,IAAI,CAAEE,YAAY,IAClC,IAAAe,MAAA,CAAAC,aAAA,EAAC3F,eAAA,CAAAiI,OAAc;IACdlH,IAAI,EAAGA,IAAM;IACbgH,OAAO,EAAGA;EAAS,CACnB,CACD,EACD,IAAArC,MAAA,CAAAC,aAAA,EAAC1F,kBAAA,CAAAgI,OAAiB;IACjBnH,UAAU,EAAGA,UAAY;IACzBC,IAAI,EAAGA,IAAM;IACbgH,OAAO,EAAGA,OAAS;IACnBJ,KAAK,EAAG,IAAArE,QAAE,EAAE,WAAY;EAAG,CAC3B,CAAC,EACAvC,IAAI,CAACiB,IAAI,KAAKC,wBAAa,CAACC,IAAI,IACjC,IAAAwD,MAAA,CAAAC,aAAA,EAACnG,WAAA,CAAA0I,QAAQ;IAAC3F,OAAO,EAAGA,CAAA,KAAMsB,YAAY,CAAC;EAAG,GACvC,IAAAP,QAAE,EAAE,gBAAiB,CACd,CACV,EAECmB,eAAe,IAChB,IAAAiB,MAAA,CAAAC,aAAA,EAACnG,WAAA,CAAA0I,QAAQ;IACRC,aAAa,EAAG,CAAExD,YAAc;IAChCpC,OAAO,EAAGA,CAAA,KACTnB,qBAAqB,CAAE,IAAK;EAC5B,GAECuD,YAAY,GACX,IAAArB,QAAE,EAAE,sBAAuB,CAAC,GAC5B,IAAAA,QAAE,EAAE,QAAS,CACP,CAED,CAEC,CACP,CAAC,EAEPnC,kBAAkB,IACnB,IAAAuE,MAAA,CAAAC,aAAA,EAACnG,WAAA,CAAA4I,2BAAa;IACb9C,iBAAiB,EAAGA,iBAAmB;IACvC+C,SAAS,EAAGzE,UAAY;IACxB0E,QAAQ,EAAGA,CAAA,KAAMlH,qBAAqB,CAAE,KAAM;EAAG,GAE/CmE,aACY,CAEb,CAAC;AAEP;AAAC,IAAAgD,QAAA,GAAAC,OAAA,CAAAP,OAAA,GAEc,IAAAQ,aAAI,EAAE5H,QAAS,CAAC"}
@@ -247,7 +247,8 @@ function DataviewsPatterns() {
247
247
  type: _constants.ENUMERATION_TYPE,
248
248
  elements: SYNC_FILTERS,
249
249
  filterBy: {
250
- operators: [_constants.OPERATOR_IN]
250
+ operators: [_constants.OPERATOR_IN],
251
+ isPrimary: true
251
252
  },
252
253
  enableSorting: false
253
254
  });